bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make_argv_ref_token: Assertion `!chain->next && chain->type == CHAIN


From: Eric Blake
Subject: Re: make_argv_ref_token: Assertion `!chain->next && chain->type == CHAIN_ARGV && !chain->u.u_a.skip_last' failed.
Date: Thu, 6 Mar 2008 22:10:53 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Andreas Schwab <schwab <at> suse.de> writes:

> 
> m4 1.4.10b fails on the attached input when called via autoconf.

Thanks for the report.  I'm still investigating, but I'm betting it has 
something to do with this (somewhat ugly) chunk of code, or a later use of 
phpshift:

dnl autoconf undefines the builtin "shift" :-(
dnl If possible, we use the builtin shift anyway, otherwise we use
dnl the ubercool definition I have tested so far with FreeBSD/GNU m4
ifdef([builtin],[builtin(define, phpshift, [builtin(shift, $@)])],[
define([phpshift],[ifelse(index(address@hidden,[,]),-1,,[substr(address@hidden,incr(index(address@hidden,
[,])))])])
])
dnl

[Why didn't they just use:

m4_define([phpshift], m4_defn([m4_shift]))

instead? It achieves the same goal, but more efficiently and with less quoting 
errors]

Once I confirm my suspicions, I will add a test case so we don't regress in the 
future.

-- 
Eric Blake







reply via email to

[Prev in Thread] Current Thread [Next in Thread]