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

Reply via email to