From b7b83d6398e8e552dd1b9d70d18d7262753e03d4 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Tue, 11 Jan 2000 07:31:42 +0000 Subject: * Change $(call...) to not expand arguments by default. * Unify the way arguments are passed to builtin functions in function.c. --- tests/ChangeLog | 6 ++++++ tests/scripts/functions/call | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/ChangeLog b/tests/ChangeLog index 5a6ba71..e613d8d 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2000-01-11 Paul D. Smith + + * scripts/functions/call: Add a test for PR/1517 and PR/1527: make + sure $(call ...) doesn't eval its arguments and that you can + invoke foreach from it without infinitely looping. + 1999-12-15 Paul D. Smith * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure diff --git a/tests/scripts/functions/call b/tests/scripts/functions/call index 3303d5b..8b6aa36 100644 --- a/tests/scripts/functions/call +++ b/tests/scripts/functions/call @@ -9,7 +9,7 @@ open(MAKEFILE, "> $makefile"); # The Contents of the MAKEFILE ... print MAKEFILE <<'EOMAKE'; -# Simple, just reverse something +# Simple, just reverse two things # reverse = $2 $1 @@ -21,9 +21,19 @@ map = $(foreach a,$2,$(call $1,$a)) # my-notdir = $(call notdir,$(1)) +# Test using non-expanded builtins +# +my-foreach = $(foreach $(1),$(2),$(3)) +my-if = $(if $(1),$(2),$(3)) + all: ; @echo '$(call reverse,bar,foo)'; \ echo '$(call map,origin,MAKE reverse map)'; \ - echo '$(call my-notdir,a/b c/d e/f)' + echo '$(call my-notdir,a/b c/d e/f)'; \ + echo '$(call my-foreach)'; \ + echo '$(call my-foreach,a,,,)'; \ + echo '$(call my-foreach,a,x y z,$(a)$(a))'; \ + echo '$(call my-if,a,b,c)'; \ + echo '$(call my-if,,$(warning don't print this),ok)' EOMAKE @@ -32,7 +42,7 @@ EOMAKE close(MAKEFILE); &run_make_with_options($makefile, "", &get_logfile); -$answer = "foo bar\ndefault file file\nb d f\n"; +$answer = "foo bar\ndefault file file\nb d f\n\n\nxx yy zz\nb\nok\n"; &compare_output($answer, &get_logfile(1)); 1; -- cgit v1.2.3