From: Eric Blake Date: Sat, 27 Feb 2010 18:43:21 +0000 (-0700) Subject: Use new AS_LITERAL_IF argument when appropriate. X-Git-Tag: v2.66~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73720645e99acbf8164e05c209ea0eb122f14fc1;p=thirdparty%2Fautoconf.git Use new AS_LITERAL_IF argument when appropriate. * lib/m4sugar/m4sh.m4 (AS_VAR_SET): Reduce m4 overhead. (AS_VAR_IF, AS_VAR_TEST_SET): Provide shorter variant for simple references. Suggested by Bruno Haible. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index df9424ee..39c24777 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-07-02 Eric Blake + Use new AS_LITERAL_IF argument when appropriate. + * lib/m4sugar/m4sh.m4 (AS_VAR_SET): Reduce m4 overhead. + (AS_VAR_IF, AS_VAR_TEST_SET): Provide shorter variant for simple + references. + Suggested by Bruno Haible. + Add tests for AS_BOX. * tests/m4sugar.at (m4@&t@_text_box): New test. * tests/m4sh.at (AS@&t@_BOX): Likewise. diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 index d218eb29..8c01cc94 100644 --- a/lib/m4sugar/m4sh.m4 +++ b/lib/m4sugar/m4sh.m4 @@ -1964,7 +1964,9 @@ m4_define([AS_VAR_IF], [AS_LITERAL_WORD_IF([$1], [AS_IF([test "x$$1" = x""$2]], [AS_VAR_COPY([as_val], [$1]) - AS_IF([test "x$as_val" = x""$2]]), [$3], [$4])]) + AS_IF([test "x$as_val" = x""$2]], + [AS_IF([eval test \"x\$"$1"\" = x"_AS_ESCAPE([$2], [`], [\"$])"]]), +[$3], [$4])]) # AS_VAR_PUSHDEF and AS_VAR_POPDEF @@ -2029,7 +2031,7 @@ m4_pushdef([$1], [$as_[$1]])], m4_define([AS_VAR_SET], [AS_LITERAL_WORD_IF([$1], [$1=$2], - [eval "$1=AS_ESCAPE([$2])"])]) + [eval "$1=_AS_ESCAPE([$2], [`], [\"$])"])]) # AS_VAR_SET_IF(VARIABLE, IF-TRUE, IF-FALSE) @@ -2047,7 +2049,8 @@ m4_define([AS_VAR_SET_IF], m4_define([AS_VAR_TEST_SET], [AS_LITERAL_WORD_IF([$1], [test "${$1+set}" = set], - [{ as_var=$1; eval "test \"\${$as_var+set}\" = set"; }])]) + [{ as_var=$1; eval "test \"\${$as_var+set}\" = set"; }], + [eval "test \"\${$1+set}\"" = set])]) ## -------------------- ##