On Friday, January 11, 2013 04:37:56 PM Chet Ramey wrote:
> On 1/11/13 4:05 PM, Dan Douglas wrote:
> 
> > 
> > I don't understand what you mean. The issue I'm speaking of is that printf 
> > %q 
> > produces a quoted empty string both when given no args and when given one 
> > empty arg. A quoted "$@" with no positional parameters present expands to 
> > zero 
> > words (and correspondingly for "${arr[@]}"). Why do you think "x${@}x" is 
> > special? (Note that expansion didn't even work correctly a few patchsets 
> > ago.)
> > 
> > Also as pointed out, every other shell with a printf %q feature disagrees 
> > with 
> > Bash. Are you saying that something in the manual says that it should do 
> > otherwise? I'm aware you could write a wrapper, I just don't see any 
> > utility 
> > in the default behavior.
> 
> This is how bash behaves:
> 
>       The format is reused as necessary to consume all  of  the  argu-
>         ments.  If the format requires more arguments than are supplied,
>         the extra format specifications behave as if  a  zero  value  or
>         null  string,  as  appropriate,  had  been supplied.
> 
> This is how Posix specifies printf to work.  I know it doesn't have %q,
> but bash doesn't really differentiate between %q and %s.
> 
> Chet

Ah so I'm confusing the very same thing as the "no argument along with %()T" you
pointed out to me on earlier... so this would have to be yet another special 
case.
Funny that never crossed my mind.
-- 
Dan Douglas

Reply via email to