URL:
  <https://savannah.gnu.org/bugs/?67957>

                 Summary: Syntax error messages permanently change after
interrupting process/command substitution parsing
                   Group: The GNU Bourne-Again SHell
               Submitter: None
               Submitted: Sun 25 Jan 2026 01:19:57 AM UTC
                Category: None
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Unlocked


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Sun 25 Jan 2026 01:19:57 AM UTC By: Anonymous
When starting a process substitution (either ``<('' or ``>('') or a
bash-5.3-style command substitution (``${'' or ``${|'') and then accept the
line, it will ask for further input (the PS2 prompt shows).

If this prompt is then aborted using Ctrl-C, you return to the PS1 again, as
if you've never entered the initial substitution.

However, error reporting for syntax errors is now permanently changed as if
the syntax error occurred inside the process/command substitution and never
found a closing parenthesis/brace. Here's a simple interactive session
demonstrating the odd behavior:

```bash5.3
$ env -i bash --norc --noprofile
bash-5.3$ declare -p BASH_VERSINFO
declare -ar BASH_VERSINFO=([0]="5" [1]="3" [2]="0" [3]="1" [4]="release"
[5]="x86_64-redhat-linux-gnu")
bash-5.3$ ;
bash: syntax error near unexpected token `;'
bash-5.3$ <(
> ^C
bash-5.3$ # (Probably) All syntax error messages are now permanently
different.
bash-5.3$ ;
bash: syntax error near unexpected token `;' while looking for matching `)'
bash-5.3$ ${
> ^C
bash-5.3$ ;
bash: syntax error near unexpected token `;' while looking for matching `}'
bash-5.3$ <()
bash-5.3$ ;
bash: syntax error near unexpected token `;' while looking for matching `}'
bash-5.3$ ${ }
bash-5.3$ ;
bash: syntax error near unexpected token `;' while looking for matching `}'
bash-5.3$ }
bash: syntax error near unexpected token `}'
bash-5.3$ ;
bash: syntax error near unexpected token `;' while looking for matching `}'
bash-5.3$
```

Information from bashbug(1) (running on Fedora 43):
```
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -O2 -flto=auto -ffat-lto-objects -fexceptions -g
-grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64
-mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
-fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer -std=gnu17
uname output: Linux fedora 6.18.5-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Sun
Jan 11 17:09:32 UTC 2026 x86_64 GNU/Linux
Machine Type: x86_64-redhat-linux-gnu

Bash Version: 5.3
Patch Level: 0
Release Status: release
```

I also seems like you cannot close the unmatched parenthesis/brace, at least
not using trivial attempts.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67957>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to