In GNU make, after a "$(foreach x,...)" loop, the make variable $(x):

  - is restored to its original variable it had before the 'foreach'
    loop, if it was already set;

  - re-unset otherwise.

This behaviour is checked by the recent spy test 't/spy-foreach.sh'.

This means that, in most situations, there's no actual need to use
a "namespace safe" variable name for the iterating variable in a
"$(foreach ...)" loop, because that variable won't linger in the
environment after the loop anyway.

* lib/am/compile.am, lib/am/header-vars.am, lib/am/parallel-tests.am,
lib/am/serial-tests.am: Adjust to use simpler variables names in their
foreach loops; for example, simply 'v' instead of 'am__v', etc.

Signed-off-by: Stefano Lattarini <stefano.lattar...@gmail.com>
---
 lib/am/compile.am        | 4 ++--
 lib/am/header-vars.am    | 6 +++---
 lib/am/parallel-tests.am | 8 ++++----
 lib/am/serial-tests.am   | 2 +-
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/am/compile.am b/lib/am/compile.am
index f874550..af96a3c 100644
--- a/lib/am/compile.am
+++ b/lib/am/compile.am
@@ -21,8 +21,8 @@ AM_DEFAULT_INCLUDES = \
 ## unaesthetic in non-VPATH builds, so get rid of it if it is not
 ## actually needed.
     $(call am.util.uniq, -I. -I$(srcdir) \
-      $(foreach am__h, $(AM_CONFIG_HEADERS), \
-        $(patsubst %/,%,-I$(dir $(am__h)))))))
+      $(foreach h, $(AM_CONFIG_HEADERS), \
+        $(patsubst %/,%,-I$(dir $h))))))
 else !%?STDINC%
 AM_DEFAULT_INCLUDES =
 endif !%?STDINC%
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index 69a6f92..11ad708 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -138,9 +138,9 @@ am.vpath.rewrite = \
 ## hack with $(subst \ , ...).
 am.make.dry-run := \
   $(strip $(if $(strip \
-    $(foreach am__v, $(subst \ ,,$(strip $(MAKEFLAGS))), \
-      $(if $(or $(findstring =,$(am__v)),$(filter --%,$(am__v))),, \
-        $(findstring n,$(am__v))))), \
+    $(foreach v, $(subst \ ,,$(strip $(MAKEFLAGS))), \
+      $(if $(or $(findstring =,$v),$(filter --%,$v)),, \
+        $(findstring n,$v)))), \
     true, false))
 
 # An empty string.  It can be very useful to "fool" the make parser w.r.t.
diff --git a/lib/am/parallel-tests.am b/lib/am/parallel-tests.am
index 22e1f10..a318281 100644
--- a/lib/am/parallel-tests.am
+++ b/lib/am/parallel-tests.am
@@ -87,10 +87,10 @@ am__tpfx = \
 ## FIXME: this will pick up the default from the environment; are we sure
 ## FIXME: we want that?
 !TEST_EXTENSIONS ?= .test
-!$(foreach am__e,$(filter-out .%,$(TEST_EXTENSIONS)),\
-!     $(call am.error,invalid test extension: '$(am__e)'))
-!$(foreach am__e,$(TEST_EXTENSIONS), \
-!  $(eval $(call am__handle_per_suffix_test,$(am__e))))
+!$(foreach e,$(filter-out .%,$(TEST_EXTENSIONS)),\
+!     $(call am.error,invalid test extension: '$e'))
+!$(foreach e,$(TEST_EXTENSIONS), \
+!  $(eval $(call am__handle_per_suffix_test,$e)))
 ## It is *imperative* that the "empty" suffix goes last.  Otherwise, a
 ## declaration like "TESTS = all.test" would cause GNU make to mistakenly
 ## try to build the 'all.log' and 'all.trs' files from a non-existent
diff --git a/lib/am/serial-tests.am b/lib/am/serial-tests.am
index 7a8f071..8850dbb 100644
--- a/lib/am/serial-tests.am
+++ b/lib/am/serial-tests.am
@@ -23,7 +23,7 @@ if %?HANDLE-EXEEXT%
 am__check_cook_with_exeext_1 = \
     $(if $(filter $(am.all-progs), $1), $1$(EXEEXT), $1)
 am__check_cook_with_exeext = $(strip \
-  $(if $(EXEEXT), $(foreach am__t, $1, $(call $(0)_1, $(am__t))), $1))
+  $(if $(EXEEXT), $(foreach t, $1, $(call $(0)_1, $t)), $1))
 else !%?HANDLE-EXEEXT%
 am__check_cook_with_exeext = $(strip $1)
 endif !%?HANDLE-EXEEXT%
-- 
1.7.12.rc0


Reply via email to