On 5/10/25 11:18 AM, Sam James wrote:
Hi,Since the following commit on devel commit c3ca11424d2ae66cafa2f931b008dfb728e209a5 Author: Chet Ramey <chet.ra...@case.edu> Date: Wed Feb 12 11:18:16 2025 -0500 fix issue with redirections to bash input file descriptor; new minimal chmod builtin; posix mode change for kill builtin return status; perform additional validation on brace expansion sequence expressions
The rationale for this change is to identify brace expansions that contain multiple expressions, some valid and some not. The examples added to the tests show what I mean: echo {{1,2,3}..{7,8,9}} Here the sequence expansion is invalid and shouldn't be evaluated as such, but the rest of the brace expansion is valid and should produce {1..7} {1..8} {1..9} {2..7} {2..8} {2..9} {3..7} {3..8} {3..9} Bash versions through bash-5.2 produced 1..7 1..8 1..9 2..7 2..8 2..9 3..7 3..8 3..9 So the additional validation on sequence expressions means that they have to follow the documented rules for those expansions, which was a little lax before the change.
the following behaves differently: $ echo {a,../a.cfg} {a,../a.cfg} # with devel
The problem here is that additional validation: the code always treated the `../a.cfg' as a potential sequence expression, but left it alone and just expanded the comma if it didn't qualify as valid. After the change, it still tries to treat that as a potential sequence expression, but now marks it as invalid, so the entire brace expansion fails. We can fix this particular issue by noting the comma and treating it as the separator, and not trying to treat the ../a.cfg as a sequence expression and validate it. This forces the comma to have higher precedence, which I think is the right thing and is still backwards compatible even with the additional validation.
Does this constitute a valid sequence expression? The documentation implies that even if not, an unquoted comma may be fine.
I think it is not. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/
OpenPGP_signature.asc
Description: OpenPGP digital signature