summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2008-10-17 14:01:49 -0600
committerEric Blake <ebb9@byu.net>2008-10-17 14:01:49 -0600
commit7fdde10b5fface462425ece68017b298623365a5 (patch)
tree17822b6deba6a9d99b8573557f2caa7915525a94
parent29f8f14acdea1c7ebc2f739dceca962c84ba8c56 (diff)
downloadautoconf-7fdde10b5fface462425ece68017b298623365a5.tar.gz
Sort AS_VAR_* interfaces.
* lib/m4sugar/m4sh.m4 (AS_VAR_GET): Reduce output to one line. (AS_VAR_TEST_SET, AS_VAR_SET, AS_VAR_SET_IF, AS_VAR_POPDEF): Sort, no code changes. Signed-off-by: Eric Blake <ebb9@byu.net>
-rw-r--r--ChangeLog7
-rw-r--r--lib/m4sugar/m4sh.m495
2 files changed, 56 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ba96866..39a3b341 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-17 Eric Blake <ebb9@byu.net>
+
+ Sort AS_VAR_* interfaces.
+ * lib/m4sugar/m4sh.m4 (AS_VAR_GET): Reduce output to one line.
+ (AS_VAR_TEST_SET, AS_VAR_SET, AS_VAR_SET_IF, AS_VAR_POPDEF): Sort,
+ no code changes.
+
2008-10-16 Eric Blake <ebb9@byu.net>
Allow comments before functions emitted by m4sh.
diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
index c3878642..d0b1b8c4 100644
--- a/lib/m4sugar/m4sh.m4
+++ b/lib/m4sugar/m4sh.m4
@@ -1515,9 +1515,9 @@ esac[]dnl
-## ------------------------------------ ##
-## Common m4/sh character translation. ##
-## ------------------------------------ ##
+## --------------------------------------- ##
+## 6. Common m4/sh character translation. ##
+## --------------------------------------- ##
# The point of this section is to provide high level macros comparable
# to m4's `translit' primitive, but m4/sh polymorphic.
@@ -1608,9 +1608,9 @@ AS_REQUIRE([_AS_TR_CPP_PREPARE])dnl
-## --------------------------------------------------- ##
-## Common m4/sh handling of variables (indirections). ##
-## --------------------------------------------------- ##
+## ------------------------------------------------------ ##
+## 7. Common m4/sh handling of variables (indirections). ##
+## ------------------------------------------------------ ##
# The purpose of this section is to provide a uniform API for
@@ -1619,18 +1619,12 @@ AS_REQUIRE([_AS_TR_CPP_PREPARE])dnl
# AS_VAR_SET(var, val)
# or
# AS_VAR_SET(as_$var, val)
-# and expect the right thing to happen.
+# and expect the right thing to happen. In the descriptions below,
+# a literal name matches the regex [a-zA-Z_][a-zA-Z0-9_]*, an
+# indirect name is a shell expression that produces a literal name
+# when passed through eval, and a polymorphic name is either type.
-# AS_VAR_SET(VARIABLE, VALUE)
-# ---------------------------
-# Set the VALUE of the shell VARIABLE.
-# If the variable contains indirections (e.g. `ac_cv_func_$ac_func')
-# perform whenever possible at m4 level, otherwise sh level.
-m4_define([AS_VAR_SET],
-[AS_LITERAL_IF([$1],
- [$1=$2],
- [eval "$1=AS_ESCAPE([$2])"])])
# AS_VAR_GET(VARIABLE)
@@ -1643,26 +1637,8 @@ m4_define([AS_VAR_SET],
m4_define([AS_VAR_GET],
[AS_LITERAL_IF([$1],
[$$1],
- [`eval 'as_val=${'m4_bpatsubst([$1], [[\\`]], [\\\&])'}
- AS_ECHO(["$as_val"])'`])])
-
-
-# AS_VAR_TEST_SET(VARIABLE)
-# -------------------------
-# Expands into the `test' expression which is true if VARIABLE
-# is set. Polymorphic. Should be dnl'ed.
-m4_define([AS_VAR_TEST_SET],
-[AS_LITERAL_IF([$1],
- [test "${$1+set}" = set],
- [{ as_var=$1; eval "test \"\${$as_var+set}\" = set"; }])])
-
-
-# AS_VAR_SET_IF(VARIABLE, IF-TRUE, IF-FALSE)
-# ------------------------------------------
-# Implement a shell `if-then-else' depending whether VARIABLE is set
-# or not. Polymorphic.
-m4_define([AS_VAR_SET_IF],
-[AS_IF([AS_VAR_TEST_SET([$1])], [$2], [$3])])
+ [`eval 'as_val=${'m4_bpatsubst([$1], [[\\`]], [\\\&])'};dnl
+AS_ECHO(["$as_val"])'`])])
# AS_VAR_IF(VARIABLE, VALUE, IF-TRUE, IF-FALSE)
@@ -1689,8 +1665,7 @@ m4_define([AS_VAR_IF],
# AS_VAR_PUSHDEF([header], [ac_cv_header_$1])
#
# and then in the body of the macro, use `header' as is. It is of
-# first importance to use `AS_VAR_*' to access this variable. Don't
-# quote its name: it must be used right away by m4.
+# first importance to use `AS_VAR_*' to access this variable.
#
# If the value `$1' was a literal (e.g. `stdlib.h'), then `header' is
# in fact the value `ac_cv_header_stdlib_h'. If `$1' was indirect,
@@ -1702,6 +1677,13 @@ m4_define([AS_VAR_IF],
# AS_VAR_POPDEF([header])
+# AS_VAR_POPDEF(VARNAME)
+# ----------------------
+# Free the shell variable accessor VARNAME. To be dnl'ed.
+m4_define([AS_VAR_POPDEF],
+[m4_popdef([$1])])
+
+
# AS_VAR_PUSHDEF(VARNAME, VALUE)
# ------------------------------
# Define the m4 macro VARNAME to an accessor to the shell variable
@@ -1714,16 +1696,37 @@ m4_define([AS_VAR_PUSHDEF],
m4_pushdef([$1], [$as_[$1]])])])
-# AS_VAR_POPDEF(VARNAME)
-# ----------------------
-# Free the shell variable accessor VARNAME. To be dnl'ed.
-m4_define([AS_VAR_POPDEF],
-[m4_popdef([$1])])
+# AS_VAR_SET(VARIABLE, VALUE)
+# ---------------------------
+# Set the contents of the polymorphic shell VARIABLE to the shell
+# expansion of VALUE.
+m4_define([AS_VAR_SET],
+[AS_LITERAL_IF([$1],
+ [$1=$2],
+ [eval "$1=AS_ESCAPE([$2])"])])
+
+
+# AS_VAR_SET_IF(VARIABLE, IF-TRUE, IF-FALSE)
+# ------------------------------------------
+# Implement a shell `if-then-else' depending whether VARIABLE is set
+# or not. Polymorphic.
+m4_define([AS_VAR_SET_IF],
+[AS_IF([AS_VAR_TEST_SET([$1])], [$2], [$3])])
+
+
+# AS_VAR_TEST_SET(VARIABLE)
+# -------------------------
+# Expands into the `test' expression which is true if VARIABLE
+# is set. Polymorphic. Should be dnl'ed.
+m4_define([AS_VAR_TEST_SET],
+[AS_LITERAL_IF([$1],
+ [test "${$1+set}" = set],
+ [{ as_var=$1; eval "test \"\${$as_var+set}\" = set"; }])])
-## ----------------- ##
-## Setting M4sh up. ##
-## ----------------- ##
+## -------------------- ##
+## 8. Setting M4sh up. ##
+## -------------------- ##
# AS_INIT_GENERATED