On 08/16/2014 08:35 AM, Eric Blake wrote: > > existing: >> define(`_forloop', `$4'`ifelse($1, `$3', `', `define(`$1', >> incr($1))$0($@)')')
Oops, I think the bug is on YOUR end, for mis-transcribing what is already in the manual. The manual actually says: define(`_forloop', `$4`'ifelse($1, `$3', `', `define(`$1', incr($1))$0($@)')') Note that it uses "`$4`'ifelse...", where you typed "`$4'`ifelse...". Where the manual uses `', you incorrectly used '` as the separator between the parameter expansion and the ifelse macro name. > > proposed: >> define(`_forloop', `$4'``''`ifelse($1, `$3', `', `define(`$1', >> incr($1))$0($@)')') > > you are merely adding an empty quote to separate $4 from ifelse. Which > seems simple enough to do. I'll turn it into a formal patch soon enough. Your proposed text matches what the manual already has, but with more typing. Remember, m4 does string concatenation, so it is joining the strings "$4", "`'", and "ifelse...", for the end result of "$4`'ifelse..." that matches what the manual already has. No patch necessary after all. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature