autoconf-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] Ditch _AS_LINENO_PREPARE from _AS_PREPARE


From: Eric Blake
Subject: Re: [PATCH] Ditch _AS_LINENO_PREPARE from _AS_PREPARE
Date: Mon, 03 Nov 2008 06:20:52 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080914 Thunderbird/2.0.0.17 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Paolo Bonzini on 10/30/2008 11:54 AM:
>> then any instances of $LINENO in text will be turned into \$LINENO.
> 
> Then you should not do it. :-(  But we have to warn.  Again, however,
> this luckily is not a regression.

I like your idea of catching ourselves in advance, to avoid a rather
difficult failure to diagnose (since the failure would only be on systems
with deficient LINENO shells).
> 
> and make \$LINENO forbidden, as in the attached patch (proof of concept,
> totally untested, includes the above hunk).

Have you had a chance to test this patch yet?  It looks mostly sane...

>  # Forbidden tokens and exceptions.
> +_m4_pattern_forbid([\\\$LINENO], [something ought to be written here])
>  m4_pattern_forbid([^_?AS_])

I'm assuming you'd fix that.

>  # m4_pattern_allow(ERE)
>  # ---------------------
>  # ... that token also matches the allowed extended regular expression ERE.
>  # Both used via traces.
> -m4_define([m4_pattern_allow], [])
> +m4_define([m4_pattern_allow], [_$0([\b$1\b], m4_shift($@))])
> +m4_define([_m4_pattern_allow], [])

Independent of your patch, but at least the m4sugar side of this ought to
mention the use of a second parameter as the warning issued when this is
encountered.  Also, your use of m4_shift always produces a second
argument, even if m4_pattern_allow was only called with one; does the
trace-parsing side of autom4te treat an empty argument the same as a
missing one?

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkkO+rQACgkQ84KuGfSFAYD7QgCgoHoCH6gqjoyizALQ1tLvXdOD
GfwAoKyFCG0j1vwNp3KVpxJSgb2A8P5Q
=N7QA
-----END PGP SIGNATURE-----




reply via email to

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