GNU bug report logs - #59150
28.1; Comint shell silently send ^L

Previous Next

Package: emacs;

Reported by: LdBeth <andpuke <at> foxmail.com>

Date: Wed, 9 Nov 2022 16:43:02 UTC

Severity: normal

Found in version 28.1

To reply to this bug, email your comments to 59150 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#59150; Package emacs. (Wed, 09 Nov 2022 16:43:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to LdBeth <andpuke <at> foxmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 09 Nov 2022 16:43:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: LdBeth <andpuke <at> foxmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.1; Comint shell silently send ^L
Date: Wed, 09 Nov 2022 10:26:53 -0600
To produce this bug, set login shell to ksh93u+ (which is the default
ksh on macOS and available on some package managers), I'm not sure if
other versions of ksh can reproduce this.

However I believe this might also affect all other command line
programs that does not translate Control L as "refresh" command.

Also I have only tried the Emacs GUI on macOS.

Procedures to reproduce the issue:

1. Start M-x shell, resize the window by dragging mouse several times

2. then several "> " occurs:

$ > > > > > > > > >

3. then type a command like "ls", and press enter key

4. the shell would respond:

^L^L^L^L^Lls: not found


I guess it is somewhere in shell.el has configured the behavior so
whenever window size has changed the shell prompt is refreshed.

However this does not work out for shell programs not like bash, and
the popup minibuffer like `ivy' or `which-key' would also cause
sending "^L".

This would annoying when have the shell opened as a split window while
editing files, although I believe set default shell to bash
is a workaround, I think this is still a bug of Emacs and worth to be
reported.

ldbeth




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59150; Package emacs. (Wed, 09 Nov 2022 17:08:01 GMT) Full text and rfc822 format available.

Message #8 received at 59150 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: LdBeth <andpuke <at> foxmail.com>
Cc: 59150 <at> debbugs.gnu.org
Subject: Re: bug#59150: 28.1; Comint shell silently send ^L
Date: Wed, 09 Nov 2022 19:06:56 +0200
> Date: Wed, 09 Nov 2022 10:26:53 -0600
> From: LdBeth <andpuke <at> foxmail.com>
> 
> 
> To produce this bug, set login shell to ksh93u+ (which is the default
> ksh on macOS and available on some package managers), I'm not sure if
> other versions of ksh can reproduce this.
> 
> However I believe this might also affect all other command line
> programs that does not translate Control L as "refresh" command.
> 
> Also I have only tried the Emacs GUI on macOS.
> 
> Procedures to reproduce the issue:
> 
> 1. Start M-x shell, resize the window by dragging mouse several times
> 
> 2. then several "> " occurs:
> 
> $ > > > > > > > > >
> 
> 3. then type a command like "ls", and press enter key
> 
> 4. the shell would respond:
> 
> ^L^L^L^L^Lls: not found
> 
> 
> I guess it is somewhere in shell.el has configured the behavior so
> whenever window size has changed the shell prompt is refreshed.
> 
> However this does not work out for shell programs not like bash, and
> the popup minibuffer like `ivy' or `which-key' would also cause
> sending "^L".
> 
> This would annoying when have the shell opened as a split window while
> editing files, although I believe set default shell to bash
> is a workaround, I think this is still a bug of Emacs and worth to be
> reported.

This is not a bug, this is Emacs communicating to the shell that the
size of the terminal has changed.

You can customize this behavior via the option
window-adjust-process-window-size-function.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59150; Package emacs. (Wed, 09 Nov 2022 23:02:01 GMT) Full text and rfc822 format available.

Message #11 received at 59150 <at> debbugs.gnu.org (full text, mbox):

From: LdBeth <andpuke <at> foxmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: LdBeth <andpuke <at> foxmail.com>, 59150 <at> debbugs.gnu.org
Subject: Re: bug#59150: 28.1; Comint shell silently send ^L
Date: Wed, 09 Nov 2022 17:01:17 -0600
>>>>> In <83fsest5u7.fsf <at> gnu.org> 
>>>>>	Eli Zaretskii <eliz <at> gnu.org> wrote:

Eli_Zaretskii> This is not a bug, this is Emacs communicating to the shell that the
Eli_Zaretskii> size of the terminal has changed.

Eli_Zaretskii> You can customize this behavior via the option
Eli_Zaretskii> window-adjust-process-window-size-function.

Ah, I'm able to find the same issue has already discussed with keyword "ksh, ioctl":
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00002.html

Will try this workaround, thanks for your help!

ldbeth




This bug report was last modified 1 year and 167 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.