Module Name: src Committed By: rillig Date: Sat Aug 8 13:03:13 UTC 2020
Modified Files: src/usr.bin/make: var.c src/usr.bin/make/unit-tests: modmisc.exp modmisc.mk Log Message: make(1): add test for unknown sub-modifier of the :S modifier To generate a diff of this commit: cvs rdiff -u -r1.423 -r1.424 src/usr.bin/make/var.c cvs rdiff -u -r1.36 -r1.37 src/usr.bin/make/unit-tests/modmisc.exp cvs rdiff -u -r1.34 -r1.35 src/usr.bin/make/unit-tests/modmisc.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/var.c diff -u src/usr.bin/make/var.c:1.423 src/usr.bin/make/var.c:1.424 --- src/usr.bin/make/var.c:1.423 Sat Aug 8 13:00:07 2020 +++ src/usr.bin/make/var.c Sat Aug 8 13:03:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.423 2020/08/08 13:00:07 rillig Exp $ */ +/* $NetBSD: var.c,v 1.424 2020/08/08 13:03:13 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.423 2020/08/08 13:00:07 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.424 2020/08/08 13:03:13 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.423 2020/08/08 13:00:07 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.424 2020/08/08 13:03:13 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1297,7 +1297,7 @@ ModifyWord_Subst(const char *word, SepBu return; } - /* unanchored */ + /* unanchored case, may match more than once */ while ((match = Str_FindSubstring(word, args->lhs)) != NULL) { SepBuf_AddBytesBetween(buf, word, match); SepBuf_AddBytes(buf, args->rhs, args->rhsLen); Index: src/usr.bin/make/unit-tests/modmisc.exp diff -u src/usr.bin/make/unit-tests/modmisc.exp:1.36 src/usr.bin/make/unit-tests/modmisc.exp:1.37 --- src/usr.bin/make/unit-tests/modmisc.exp:1.36 Fri Aug 7 20:10:35 2020 +++ src/usr.bin/make/unit-tests/modmisc.exp Sat Aug 8 13:03:13 2020 @@ -27,6 +27,8 @@ mod-subst: 12345 mod-subst-chain: A B c. +make: Unknown modifier 'i' +. mod-regex: :a b b c: :a b b c: Index: src/usr.bin/make/unit-tests/modmisc.mk diff -u src/usr.bin/make/unit-tests/modmisc.mk:1.34 src/usr.bin/make/unit-tests/modmisc.mk:1.35 --- src/usr.bin/make/unit-tests/modmisc.mk:1.34 Fri Aug 7 20:10:35 2020 +++ src/usr.bin/make/unit-tests/modmisc.mk Sat Aug 8 13:03:13 2020 @@ -1,4 +1,4 @@ -# $Id: modmisc.mk,v 1.34 2020/08/07 20:10:35 rillig Exp $ +# $Id: modmisc.mk,v 1.35 2020/08/08 13:03:13 rillig Exp $ # # miscellaneous modifier tests @@ -148,6 +148,11 @@ mod-subst: mod-subst-chain: @echo $@: @echo ${:Ua b c:S,a,A,S,b,B,}. + # There is no 'i' modifier for the :S or :C modifiers. + # The error message is "make: Unknown modifier 'i'", which is + # kind of correct, although it is mixing the terms for variable + # modifiers with the matching modifiers. + @echo ${:Uvalue:S,a,x,i}. mod-regex: @echo $@: