Re: printf %q represents null argument as empty string.

2013-01-12 Thread John Kearney
Am 12.01.2013 20:40, schrieb Chet Ramey: > On 1/12/13 9:48 AM, John Kearney wrote: > >> anyway now we have a point I disagree that >> "${@}" >> >> should expand to 0 or more words, from the documentation it should be 1 >> or more. At least that is how I read that paragragh. IT says it will >> spli

Re: printf %q represents null argument as empty string.

2013-01-12 Thread Chet Ramey
On 1/12/13 9:48 AM, John Kearney wrote: > anyway now we have a point I disagree that > "${@}" > > should expand to 0 or more words, from the documentation it should be 1 > or more. At least that is how I read that paragragh. IT says it will > split the word not make the word vanish. > so I had t

Re: printf %q represents null argument as empty string.

2013-01-12 Thread John Kearney
Am 12.01.2013 15:34, schrieb Dan Douglas: > On Friday, January 11, 2013 10:39:19 PM Dan Douglas wrote: >> On Saturday, January 12, 2013 02:35:34 AM John Kearney wrote: >> BTW, your wrappers won't work. A wrapper would need to implement format > Hrmf I should have clarified that I only meant A comp

Re: printf %q represents null argument as empty string.

2013-01-12 Thread Dan Douglas
On Friday, January 11, 2013 10:39:19 PM Dan Douglas wrote: > On Saturday, January 12, 2013 02:35:34 AM John Kearney wrote: > BTW, your wrappers won't work. A wrapper would need to implement format Hrmf I should have clarified that I only meant A complete printf wrapper would be difficult. A sing

Re: printf %q represents null argument as empty string.

2013-01-11 Thread Dan Douglas
On Saturday, January 12, 2013 02:35:34 AM John Kearney wrote: > so there is always at least one word or one arg, just because its "${@}" > should not affect this behavior. ... > printf "%q" "${@}" > becomes > printf "%q" "" > > which is correct as '' No, "${@}" doesn't always become at least one

Re: printf %q represents null argument as empty string.

2013-01-11 Thread John Kearney
Am 11.01.2013 22:05, schrieb Dan Douglas: > On Friday, January 11, 2013 09:39:00 PM John Kearney wrote: >> Am 11.01.2013 19:38, schrieb Dan Douglas: >>> $ set --; printf %q\\n "$@" >>> '' >>> >>> printf should perhaps only output '' when there is actually a > corresponding >>> empty argume

Re: printf %q represents null argument as empty string.

2013-01-11 Thread Dan Douglas
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 "

Re: printf %q represents null argument as empty string.

2013-01-11 Thread Chet Ramey
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

Re: printf %q represents null argument as empty string.

2013-01-11 Thread Dan Douglas
On Friday, January 11, 2013 09:39:00 PM John Kearney wrote: > Am 11.01.2013 19:38, schrieb Dan Douglas: > > $ set --; printf %q\\n "$@" > > '' > > > > printf should perhaps only output '' when there is actually a corresponding > > empty argument, else eval "$(printf %q ...)" and similar ma

Re: printf %q represents null argument as empty string.

2013-01-11 Thread John Kearney
Am 11.01.2013 19:38, schrieb Dan Douglas: > $ set --; printf %q\\n "$@" > '' > > printf should perhaps only output '' when there is actually a corresponding > empty argument, else eval "$(printf %q ...)" and similar may give different > results than expected. Other shells don't output '',

printf %q represents null argument as empty string.

2013-01-11 Thread Dan Douglas
$ set --; printf %q\\n "$@" '' printf should perhaps only output '' when there is actually a corresponding empty argument, else eval "$(printf %q ...)" and similar may give different results than expected. Other shells don't output '', even mksh's ${var@Q} expansion. Zsh's ${(q)var} does