Module Name: src Committed By: rillig Date: Tue Feb 23 00:04:48 UTC 2021
Modified Files: src/usr.bin/make: var.c src/usr.bin/make/unit-tests: moderrs.exp varmod-assign.exp varmod-edge.exp varmod-edge.mk varmod-sysv.exp Log Message: make: add quotes around variable name in an error message To generate a diff of this commit: cvs rdiff -u -r1.841 -r1.842 src/usr.bin/make/var.c cvs rdiff -u -r1.23 -r1.24 src/usr.bin/make/unit-tests/moderrs.exp cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/varmod-assign.exp \ src/usr.bin/make/unit-tests/varmod-sysv.exp cvs rdiff -u -r1.11 -r1.12 src/usr.bin/make/unit-tests/varmod-edge.exp cvs rdiff -u -r1.14 -r1.15 src/usr.bin/make/unit-tests/varmod-edge.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.841 src/usr.bin/make/var.c:1.842 --- src/usr.bin/make/var.c:1.841 Mon Feb 22 23:46:03 2021 +++ src/usr.bin/make/var.c Tue Feb 23 00:04:48 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.841 2021/02/22 23:46:03 rillig Exp $ */ +/* $NetBSD: var.c,v 1.842 2021/02/23 00:04:48 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -140,7 +140,7 @@ #include "metachar.h" /* "@(#)var.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: var.c,v 1.841 2021/02/22 23:46:03 rillig Exp $"); +MAKE_RCSID("$NetBSD: var.c,v 1.842 2021/02/23 00:04:48 rillig Exp $"); typedef enum VarFlags { VFL_NONE = 0, @@ -2234,7 +2234,7 @@ ParseModifierPartSubst( if (*p != delim) { *pp = p; - Error("Unfinished modifier for %s ('%c' missing)", + Error("Unfinished modifier for \"%s\" ('%c' missing)", st->expr->var->name.str, delim); *out_part = NULL; return VPR_ERR; Index: src/usr.bin/make/unit-tests/moderrs.exp diff -u src/usr.bin/make/unit-tests/moderrs.exp:1.23 src/usr.bin/make/unit-tests/moderrs.exp:1.24 --- src/usr.bin/make/unit-tests/moderrs.exp:1.23 Sun Nov 1 14:36:25 2020 +++ src/usr.bin/make/unit-tests/moderrs.exp Tue Feb 23 00:04:48 2021 @@ -20,15 +20,15 @@ VAR:S,V,v,=Thevariable unfinished-indirect: want: Unfinished modifier for VAR (',' missing) -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) VAR:S,V,v= unfinished-loop: want: Unfinished modifier for UNDEF ('@' missing) -make: Unfinished modifier for UNDEF ('@' missing) +make: Unfinished modifier for "UNDEF" ('@' missing) want: Unfinished modifier for UNDEF ('@' missing) -make: Unfinished modifier for UNDEF ('@' missing) +make: Unfinished modifier for "UNDEF" ('@' missing) 1 2 3 @@ -39,10 +39,10 @@ make: Unclosed variable specification (e words: want: Unfinished modifier for UNDEF (']' missing) -make: Unfinished modifier for UNDEF (']' missing) +make: Unfinished modifier for "UNDEF" (']' missing) want: Unfinished modifier for UNDEF (']' missing) -make: Unfinished modifier for UNDEF (']' missing) +make: Unfinished modifier for "UNDEF" (']' missing) 13= make: Bad modifier `:[123451234512345123451234512345]' for UNDEF @@ -50,22 +50,22 @@ make: Bad modifier `:[123451234512345123 exclam: want: Unfinished modifier for VARNAME ('!' missing) -make: Unfinished modifier for VARNAME ('!' missing) +make: Unfinished modifier for "VARNAME" ('!' missing) want: Unfinished modifier for ! ('!' missing) -make: Unfinished modifier for ! ('!' missing) +make: Unfinished modifier for "!" ('!' missing) mod-subst-delimiter: make: Missing delimiter for :S modifier 1: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 2: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 3: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 4: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 5: make: Unclosed variable specification (expecting '}') for "VAR" (value "TheVariable") modifier S 6: TheVariable @@ -74,13 +74,13 @@ make: Unclosed variable specification (e mod-regex-delimiter: make: Missing delimiter for :C modifier 1: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 2: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 3: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 4: -make: Unfinished modifier for VAR (',' missing) +make: Unfinished modifier for "VAR" (',' missing) 5: make: Unclosed variable specification (expecting '}') for "VAR" (value "TheVariable") modifier C 6: TheVariable @@ -114,13 +114,13 @@ make: Bad modifier `:t' for FIB M*} mod-ifelse-parse: -make: Unfinished modifier for FIB (':' missing) +make: Unfinished modifier for "FIB" (':' missing) -make: Unfinished modifier for FIB (':' missing) +make: Unfinished modifier for "FIB" (':' missing) -make: Unfinished modifier for FIB ('}' missing) +make: Unfinished modifier for "FIB" ('}' missing) -make: Unfinished modifier for FIB ('}' missing) +make: Unfinished modifier for "FIB" ('}' missing) then Index: src/usr.bin/make/unit-tests/varmod-assign.exp diff -u src/usr.bin/make/unit-tests/varmod-assign.exp:1.6 src/usr.bin/make/unit-tests/varmod-assign.exp:1.7 --- src/usr.bin/make/unit-tests/varmod-assign.exp:1.6 Sun Oct 18 21:36:22 2020 +++ src/usr.bin/make/unit-tests/varmod-assign.exp Tue Feb 23 00:04:48 2021 @@ -18,7 +18,7 @@ mod-assign-empty: VAR=overwritten make: Unknown modifier ':' sysv:y -make: Unfinished modifier for ASSIGN ('}' missing) +make: Unfinished modifier for "ASSIGN" ('}' missing) ok=word make: " echo word; false " returned non-zero status Index: src/usr.bin/make/unit-tests/varmod-sysv.exp diff -u src/usr.bin/make/unit-tests/varmod-sysv.exp:1.6 src/usr.bin/make/unit-tests/varmod-sysv.exp:1.7 --- src/usr.bin/make/unit-tests/varmod-sysv.exp:1.6 Sat Dec 5 13:01:33 2020 +++ src/usr.bin/make/unit-tests/varmod-sysv.exp Tue Feb 23 00:04:48 2021 @@ -1,4 +1,4 @@ -make: Unfinished modifier for word214 ('=' missing) +make: Unfinished modifier for "word214" ('=' missing) make: "varmod-sysv.mk" line 214: Malformed conditional (${word214:L:from${:D=}to}) make: Fatal errors encountered -- cannot continue make: stopped in unit-tests Index: src/usr.bin/make/unit-tests/varmod-edge.exp diff -u src/usr.bin/make/unit-tests/varmod-edge.exp:1.11 src/usr.bin/make/unit-tests/varmod-edge.exp:1.12 --- src/usr.bin/make/unit-tests/varmod-edge.exp:1.11 Mon Feb 22 23:59:43 2021 +++ src/usr.bin/make/unit-tests/varmod-edge.exp Tue Feb 23 00:04:48 2021 @@ -12,7 +12,7 @@ make: "varmod-edge.mk" line 166: ok M-12 make: "varmod-edge.mk" line 166: ok eq-ext make: "varmod-edge.mk" line 166: ok eq-q make: "varmod-edge.mk" line 166: ok eq-bs -make: Unfinished modifier for INP.eq-esc ('=' missing) +make: Unfinished modifier for "INP.eq-esc" ('=' missing) make: "varmod-edge.mk" line 166: ok eq-esc make: "varmod-edge.mk" line 166: ok colon make: "varmod-edge.mk" line 165: Unknown modifier ':' @@ -20,8 +20,8 @@ make: "varmod-edge.mk" line 165: Unknown make: "varmod-edge.mk" line 166: ok colons make: "varmod-edge.mk" line 175: Unknown modifier 'Z' make: "varmod-edge.mk" line 175: Malformed conditional (${:Z}) -make: Unfinished modifier for (',' missing) -make: "varmod-edge.mk" line 184: Malformed conditional (${:S,}) +make: Unfinished modifier for "" (',' missing) +make: "varmod-edge.mk" line 188: Malformed conditional (${:S,}) make: Fatal errors encountered -- cannot continue make: stopped in unit-tests exit status 1 Index: src/usr.bin/make/unit-tests/varmod-edge.mk diff -u src/usr.bin/make/unit-tests/varmod-edge.mk:1.14 src/usr.bin/make/unit-tests/varmod-edge.mk:1.15 --- src/usr.bin/make/unit-tests/varmod-edge.mk:1.14 Mon Feb 22 23:59:43 2021 +++ src/usr.bin/make/unit-tests/varmod-edge.mk Tue Feb 23 00:04:48 2021 @@ -1,4 +1,4 @@ -# $NetBSD: varmod-edge.mk,v 1.14 2021/02/22 23:59:43 rillig Exp $ +# $NetBSD: varmod-edge.mk,v 1.15 2021/02/23 00:04:48 rillig Exp $ # # Tests for edge cases in variable modifiers. # @@ -179,7 +179,11 @@ EXP.colons= # empty .endif # Even in expressions based on an unnamed variable, there may be errors. -# XXX: The error message should not contain two spaces in a row. +# +# Before var.c 1.842 from 2021-02-23, the error message did not surround the +# variable name with quotes, leading to the rather confusing "Unfinished +# modifier for (',' missing)", having two spaces in a row. +# # XXX: The error message should report the filename:lineno. .if ${:S,} . error