2019-06-17 12:14:29 +0100, Geoff Clare:
[...]
> The standard clearly requires pathname expansion to be performed,
> using the pattern \*x
> 
> If some shells don't bother to actually read the directory and do
> any matching operations, depending on the pattern contents, because
> they know that the outcome will be the same regardless of the contents
> of the directory, then that's an acceptable internal optimisation, but
> it doesn't affect what the standard requires the outcome of pathname
> expansion to be.
[...]

So you're saying bash5 is the only compliant implementation
here, right?

That:

touch '*x'
file='\*x' IFS=
printf %s $file

MUST output "*x" as *x is a file (the file) that matches the \*x
pattern.

And:

BEL='\a' IFS=
printf %b $BEL

MUST output "a" if there's a file called "a" in the current
directory because that "a" file matches the "\a" pattern.

And all other implementations (including all the certified ones,
including kre's) should be deemed non-compliant?

-- 
Stephane

Reply via email to