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:03:49 -0500

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]