Module Name:    src
Committed By:   rillig
Date:           Sun Jul 19 14:23:02 UTC 2020

Modified Files:
        src/usr.bin/make/unit-tests: sysv.exp sysv.mk

Log Message:
make(1): add test for ampersand in SysV substitution modifier


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/sysv.exp
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/sysv.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/unit-tests/sysv.exp
diff -u src/usr.bin/make/unit-tests/sysv.exp:1.4 src/usr.bin/make/unit-tests/sysv.exp:1.5
--- src/usr.bin/make/unit-tests/sysv.exp:1.4	Fri Jul  3 19:29:25 2020
+++ src/usr.bin/make/unit-tests/sysv.exp	Sun Jul 19 14:23:02 2020
@@ -13,4 +13,6 @@ asam.c
 a.c.c
 
 ax:Q b c d eb
+bcd.e
+a.bcd.e
 exit status 0

Index: src/usr.bin/make/unit-tests/sysv.mk
diff -u src/usr.bin/make/unit-tests/sysv.mk:1.5 src/usr.bin/make/unit-tests/sysv.mk:1.6
--- src/usr.bin/make/unit-tests/sysv.mk:1.5	Fri Jul  3 19:29:25 2020
+++ src/usr.bin/make/unit-tests/sysv.mk	Sun Jul 19 14:23:02 2020
@@ -1,4 +1,6 @@
-# $Id: sysv.mk,v 1.5 2020/07/03 19:29:25 rillig Exp $
+# $Id: sysv.mk,v 1.6 2020/07/19 14:23:02 rillig Exp $
+
+all: foo fun sam bla words ampersand
 
 FOO ?=
 FOOBAR = ${FOO:=bar}
@@ -11,8 +13,6 @@ FUN = ${B}${S}fun
 SUN = the Sun
 
 # we expect nothing when FOO is empty
-all: foo fun sam bla words
-
 foo:
 	@echo FOOBAR = ${FOOBAR}
 .if empty(FOO)
@@ -46,3 +46,11 @@ bla:
 # It is part of the replacement string.
 words:
 	@echo a${a b c d e:L:%a=x:Q}b
+
+# As of 2020-07-19, an ampersand can be used in the replacement part
+# of a SysV substitution modifier.  This can either be an intentional
+# feature or an implementation mistake, as it is not mentioned in the
+# manual page.
+ampersand:
+	@echo ${:U${a.bcd.e:L:a.%=%}:Q}
+	@echo ${:U${a.bcd.e:L:a.%=&}:Q}

Reply via email to