2025年6月11日(水) 23:10 Chet Ramey <chet.ra...@case.edu>:
> On 6/3/25 4:35 PM, Robert Elz wrote:
> > A function name should remain a shell "word" - including being possibly
> > partly or fully a quoted word, after all, if it contains operator chars,
> > white space, or quoting chars, then it will need to be quoted to be
> > invoked, it seems eminently sensible to require such a thing to be
> > quoted when defined as well.
>
> That wouldn't have been backwards compatible, so I didn't add quote
> removal.

Are there actual cases where the quote removal would change the
behavior of existing scripts that worked in Bash <= 5.2? In my
understanding, in Bash <= 5.2, any function names that could be
affected by quote removal haven't been allowed, so there shouldn't be
compatibility issues caused by turning on the quote removal.

$ bash-5.2 --norc
$ a\b\c() { echo yes; }
bash-5.2: `a\b\c': not a valid identifier
$ 'abc'() { echo yes; }
bash-5.2: `'abc'': not a valid identifier
$ "abc"() { echo yes; }
bash-5.2: `"abc"': not a valid identifier

--
Koichi

Reply via email to