bug-bash
[Top][All Lists]
Advanced

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

Re: git amend commit with backticks on cli causes tty to crash


From: Eduardo Bustamante
Subject: Re: git amend commit with backticks on cli causes tty to crash
Date: Fri, 21 Jul 2023 13:10:04 -0700

On Fri, Jul 21, 2023 at 9:14 AM Dale R. Worley <worley@alum.mit.edu> wrote:
> (...)
> Also, you don't state explicitly what you think the error is.  I assume
> you mean that "Press [ctrl-d] again and tab (tty 5) crashes." should not
> be happening.
>
> But it looks to me like you're sending ctrl-d into a shell.  That, of
> course, is EOF, and usually tells the shell to exit.  If it's a login
> shell, the whole login session ends.

One thing that comes to mind is that there was a behavior change in 5.2
around how EOF is handled while the parser is looking for a matching quote.

For example, with Bash 5.1 (note: <Return> indicates pressing the Return
key in the prompt)

bash-5.1# echo '<Return>
> <Ctrl-d>
bash: unexpected EOF while looking for matching `''
bash: syntax error: unexpected end of file
bash-5.1#
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-musl)


And Bash 5.2

bash-5.2#
GNU bash, version 5.2.15(1)-release (x86_64-pc-linux-musl)
bash-5.2# echo '<Return>
> <Ctrl-d>
bash: unexpected EOF while looking for matching `''
> <Ctrl-d>
exit


In 5.1, when you input a command that has an unpaired quote and then input
Ctrl-d you get a syntax error and return to the primary prompt.
When you do the same in 5.2, the first Ctrl-d will show an unexpected EOF
message but you will remain in the secondary prompt. A second Ctrl-d will
then cause Bash to exit.

This change was discussed in
https://mail.gnu.org/archive/html/bug-bash/2023-02/msg00145.html


reply via email to

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