help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ^L showing up in Emacs M-x shell-mode, with ksh but not bash


From: Nicholas Papadonis
Subject: Re: ^L showing up in Emacs M-x shell-mode, with ksh but not bash
Date: Tue, 5 Nov 2019 12:18:28 -0500

It's on Debian 9.

On Tue, Nov 5, 2019 at 12:13 PM Perry Smith <pedz@easesoftware.com> wrote:

> I think you said that you created a new user and this still happens?
>
> My guess is that this is something to do with your .profile, .kshrc, etc.
> Don’t
> forget about the profile and rc files in /etc.  I don’t recall which ones
> ksh93 loads.
>
> What OS is this on?
>
> > On Nov 5, 2019, at 11:03 AM, Nicholas Papadonis <
> nick.papadonis.ml@gmail.com> wrote:
> >
> > The "^L"s are coming from this trace.
> >
> > Is anyone running ksh93 in Emacs shell-mode?
> >
> > )        = ? ERESTARTNOHAND (To be restarted if no handler)
> > --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
> > rt_sigaction(SIGWINCH, {sa_handler=0x55e35c5a23b0, sa_mask=[],
> > sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7ffb3cb91060},
> > {sa_handler=0x55e35c5a23b0, sa_mask=[],
> sa_flags=SA_RESTORER|SA_INTERRUPT,
> > sa_restorer=0x7ffb3cb91060}, 8) = 0
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=102, ws_xpixel=0, ws_ypixel=0})
> = 0
> > rt_sigprocmask(SIG_UNBLOCK, [WINCH], NULL, 8) = 0
> > rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system
> call)
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=102, ws_xpixel=0, ws_ypixel=0})
> = 0
> > poll([], 0, 50)                         = 0 (Timeout)
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=102, ws_xpixel=0, ws_ypixel=0})
> = 0
> > lseek(3, 0, SEEK_END)                   = 2
> > lseek(3, 0, SEEK_CUR)                   = 2
> > lseek(3, 2, SEEK_SET)                   = 2
> > read(3, "", 65536)                      = 0
> > lseek(3, 2, SEEK_SET)                   = 2
> > read(3, "", 65536)                      = 0
> > select(1, [0], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout)
> > write(2, ">  ", 3)                      = 3
> > select(1, [0], NULL, NULL, NULL)        = ? ERESTARTNOHAND (To be
> restarted
> > if no handler)
> > --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
> > rt_sigaction(SIGWINCH, {sa_handler=0x55e35c5a23b0, sa_mask=[],
> > sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7ffb3cb91060},
> > {sa_handler=0x55e35c5a23b0, sa_mask=[],
> sa_flags=SA_RESTORER|SA_INTERRUPT,
> > sa_restorer=0x7ffb3cb91060}, 8) = 0
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=103, ws_xpixel=0, ws_ypixel=0})
> = 0
> > rt_sigprocmask(SIG_UNBLOCK, [WINCH], NULL, 8) = 0
> > rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system
> call)
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=103, ws_xpixel=0, ws_ypixel=0})
> = 0
> > poll([], 0, 50)                         = 0 (Timeout)
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=103, ws_xpixel=0, ws_ypixel=0})
> = 0
> > select(1, [0], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout)
> > write(2, ">  ", 3)                      = 3
> > select(1, [0], NULL, NULL, NULL)        = ? ERESTARTNOHAND (To be
> restarted
> > if no handler)
> > --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
> > rt_sigaction(SIGWINCH, {sa_handler=0x55e35c5a23b0, sa_mask=[],
> > sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7ffb3cb91060},
> > {sa_handler=0x55e35c5a23b0, sa_mask=[],
> sa_flags=SA_RESTORER|SA_INTERRUPT,
> > sa_restorer=0x7ffb3cb91060}, 8) = 0
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=104, ws_xpixel=0, ws_ypixel=0})
> = 0
> > rt_sigprocmask(SIG_UNBLOCK, [WINCH], NULL, 8) = 0
> > rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system
> call)
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=104, ws_xpixel=0, ws_ypixel=0})
> = 0
> > poll([], 0, 50)                         = 0 (Timeout)
> > ioctl(2, TIOCGWINSZ, {ws_row=10, ws_col=104, ws_xpixel=0, ws_ypixel=0})
> = 0
> > select(1, [0], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout)
> > write(2, ">  ", 3)                      = 3
> > select(1, [0], NULL, NULL, NULL)        = 1 (in [0])
> > recvfrom(0, 0x7ffb3d814320, 65536, MSG_PEEK, NULL, NULL) = -1 ENOTSOCK
> > (Socket operation on non-socket)
> > read(0, "\n", 1)                        = 1
> > lseek(3, 0, SEEK_END)                   = 2
> > lseek(3, 0, SEEK_END)                   = 2
> > lseek(3, 0, SEEK_CUR)                   = 2
> > stat("/usr/bin/\f\f\f", 0x7ffc17e88250) = -1 ENOENT (No such file or
> > directory)
> > stat("/usr/sbin/\f\f\f", 0x7ffc17e88250) = -1 ENOENT (No such file or
> > directory)
> > stat("/bin/\f\f\f", 0x7ffc17e88250)     = -1 ENOENT (No such file or
> > directory)
> > stat("/sbin/\f\f\f", 0x7ffc17e88250)    = -1 ENOENT (No such file or
> > directory)
> > stat("/usr/local/bin/\f\f\f", 0x7ffc17e88250) = -1 ENOENT (No such file
> or
> > directory)
> > stat("/usr/local/sbin/\f\f\f", 0x7ffc17e88250) = -1 ENOENT (No such file
> or
> > directory)
> > stat("/usr/bin/\f\f\f", 0x7ffc17e88170) = -1 ENOENT (No such file or
> > directory)
> > stat("/usr/sbin/\f\f\f", 0x7ffc17e88170) = -1 ENOENT (No such file or
> > directory)
> > stat("/bin/\f\f\f", 0x7ffc17e88170)     = -1 ENOENT (No such file or
> > directory)
> > stat("/sbin/\f\f\f", 0x7ffc17e88170)    = -1 ENOENT (No such file or
> > directory)
> > stat("/usr/local/bin/\f\f\f", 0x7ffc17e88170) = -1 ENOENT (No such file
> or
> > directory)
> > stat("/usr/local/sbin/\f\f\f", 0x7ffc17e88170) = -1 ENOENT (No such file
> or
> > directory)
> > write(2, "\f\f: not found [No such file or d"..., 42) = 42
> > lseek(3, 0, SEEK_END)                   = 2
> > lseek(3, 2, SEEK_SET)                   = 2
> > lseek(3, 2, SEEK_SET)                   = 2
> > read(3, "", 65536)                      = 0
> > write(2, "[debian:~]$ ", 12)            = 12
> > select(1, [0], NULL, NULL, NULL
> >
> >
> > On Tue, Nov 5, 2019 at 11:58 AM Nicholas Papadonis <
> > nick.papadonis.ml@gmail.com> wrote:
> >
> >> This is what the child ksh M-x shell process is doing when I resize the
> >> window.  As you can see the write of ">  " near the end.  Hopefully some
> >> folks have more insight into this.
> >>
> >> select(1, [0], NULL, NULL, NULL)        = ? ERESTARTNOHAND (To be
> >> restarted if no handler)
> >> --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
> >> rt_sigaction(SIGWINCH, {sa_handler=0x55e35c5a23b0, sa_mask=[],
> >> sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7ffb3cb91060},
> >> {sa_handler=0x55e35c5a23b0, sa_mask=[],
> sa_flags=SA_RESTORER|SA_INTERRUPT,
> >> sa_restorer=0x7ffb3cb91060}, 8) = 0
> >> ioctl(2, TIOCGWINSZ, {ws_row=9, ws_col=102, ws_xpixel=0, ws_ypixel=0})
> = 0
> >> rt_sigprocmask(SIG_UNBLOCK, [WINCH], NULL, 8) = 0
> >> rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system
> >> call)
> >> ioctl(2, TIOCGWINSZ, {ws_row=9, ws_col=102, ws_xpixel=0, ws_ypixel=0})
> = 0
> >> poll([], 0, 50)                         = 0 (Timeout)
> >> ioctl(2, TIOCGWINSZ, {ws_row=9, ws_col=102, ws_xpixel=0, ws_ypixel=0})
> = 0
> >> lseek(3, 0, SEEK_END)                   = 2
> >> lseek(3, 0, SEEK_CUR)                   = 2
> >> lseek(3, 2, SEEK_SET)                   = 2
> >> read(3, "", 65536)                      = 0
> >> lseek(3, 2, SEEK_SET)                   = 2
> >> read(3, "", 65536)                      = 0
> >> select(1, [0], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout)
> >> write(2, ">  ", 3)                      = 3
> >> select(1, [0], NULL, NULL, NULL
> >>
> >>
> >> On Mon, Nov 4, 2019 at 8:57 PM Kurtis Rader <krader@skepticism.us>
> wrote:
> >>
> >>> On Mon, Nov 4, 2019 at 4:19 PM Nicholas Papadonis <
> >>> nick.papadonis.ml@gmail.com> wrote:
> >>>
> >>>> When Emacs is invoked in an X-session and when I resize a M-x
> shell-mode
> >>>> *shell* window by more then a single line of text, $PS2 is being
> output in
> >>>> the shell mode window.  When I type <return> then a number of "^L"s
> are
> >>>> also output in the shell mode window.
> >>>>
> >>>> I'm using /bin/ksh93 in Debian.
> >>>>
> >>>> This behavior does not occur with bash.
> >>>>
> >>>> Does anyone know why this is happening?  Also, more ways to debug it?
> >>>>
> >>>
> >>> No idea what's happening, but I wouldn't leap to the conclusion that
> $PS2
> >>> is being displayed. Given the presence of the [ctrl-L] chars it's just
> as
> >>> likely that both chars are being sent to the shell. Possibly
> >>> bracketed-paste mode is enabled by the emacs shell mode. If you start
> the
> >>> shell, then in a different window strace it what appears in the trace
> when
> >>> you resize the window? Also, you might want to try the current
> development
> >>> version that you'll find at https://github.com/att/ast/
> >>> <https://github.com/att/ast/pull/1427>. It's easy to build if you're
> >>> willing to install Meson.
> >>>
> >>> P.S., You might want to take a look at https://asciinema.org for
> >>> capturing terminal sessions for playback.
> >>>
> >>> --
> >>> Kurtis Rader
> >>> Caretaker of the exceptional canines Junior and Hank
> >>>
> >>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]