Re: more m4p bugs
Eric Blake <[email protected]> Sun, 18 May 2025 21:11:24 -0500
| Newsgroups | gmane.comp.gnu.m4.general |
|---|---|
| Message-ID | <4rs247mrr7wyjvyrlmdzgw34umw7dseauucnu2beqdiob6f7z5@2mdoena335hn> |
On Sun, May 18, 2025 at 07:52:56AM -0400, Nikolaos Chatzikonstantinou wrote:
> >
> I fixed this with 0225f85. I got argument collection wrong twice, but
> the second time I was much further from the truth. At the time your
> example len((1, 2)) threw me off. I didn't realize I was just trimming
> whitespace too aggressively, and I wrote a bad patch for it that had
> special treatment of '(' when in argument collection. Your comment
> example with (( and )) also helped me discover that I had an
> "off-by-one" error in comment parsing (I had forgotten to include the
> final delimiter).
There's still an issue with argument collection where you are
accidentally expanding a $@ that only exists as a result of whatever
gets substituted into $1 and so on (tested at commit 852a0f):
$ m4
define(b,`.$1$2.')dnl
b($,1)
.$1.
b($,@)
.$@.
$ m4p
define(b,`.$1$2.')dnl
b($,1)
.$1.
b($,@)
.$,@.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org