Subject: bug#59150: 28.1; Comint shell silently send ^L

From: Eli Zaretskii <[email-masked]>
Date: Wed, 09 Nov 2022 19:06:56 +0200

> Date: Wed, 09 Nov 2022 10:26:53 -0600
> From: LdBeth <[email-masked]>
> 
> 
> 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.