Module Name: src Committed By: rillig Date: Wed Dec 20 08:50:10 UTC 2023
Modified Files: src/usr.bin/make: var.c src/usr.bin/make/unit-tests: deptgt-makeflags.exp var-readonly.exp vardebug.exp varname-dot-shell.exp varname-dot-suffixes.exp varname-dot-suffixes.mk varname-empty.exp Log Message: make: fix confusing debug logging when deleting a variable Be clear when deleting a variable is ignored and state the reason, instead of only providing a keyword as a hint for insiders. To generate a diff of this commit: cvs rdiff -u -r1.1084 -r1.1085 src/usr.bin/make/var.c cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/unit-tests/deptgt-makeflags.exp cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/var-readonly.exp cvs rdiff -u -r1.31 -r1.32 src/usr.bin/make/unit-tests/vardebug.exp cvs rdiff -u -r1.18 -r1.19 src/usr.bin/make/unit-tests/varname-dot-shell.exp cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/varname-dot-suffixes.exp cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/varname-dot-suffixes.mk cvs rdiff -u -r1.20 -r1.21 src/usr.bin/make/unit-tests/varname-empty.exp 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.1084 src/usr.bin/make/var.c:1.1085 --- src/usr.bin/make/var.c:1.1084 Tue Dec 19 19:33:39 2023 +++ src/usr.bin/make/var.c Wed Dec 20 08:50:10 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.1084 2023/12/19 19:33:39 rillig Exp $ */ +/* $NetBSD: var.c,v 1.1085 2023/12/20 08:50:10 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -139,7 +139,7 @@ #include "metachar.h" /* "@(#)var.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: var.c,v 1.1084 2023/12/19 19:33:39 rillig Exp $"); +MAKE_RCSID("$NetBSD: var.c,v 1.1085 2023/12/20 08:50:10 rillig Exp $"); /* * Variables are defined using one of the VAR=value assignments. Their @@ -503,15 +503,14 @@ Var_Delete(GNode *scope, const char *var Var *v; if (he == NULL) { - DEBUG2(VAR, "%s: delete %s (not found)\n", + DEBUG2(VAR, "%s: ignoring delete '%s' as it is not found\n", scope->name, varname); return; } - DEBUG2(VAR, "%s: delete %s\n", scope->name, varname); v = he->value; if (v->readOnly) { - DEBUG2(VAR, "%s: delete %s (readOnly)\n", + DEBUG2(VAR, "%s: ignoring delete '%s' as it is read-only\n", scope->name, varname); return; } @@ -522,6 +521,7 @@ Var_Delete(GNode *scope, const char *var return; } + DEBUG2(VAR, "%s: delete %s\n", scope->name, varname); if (v->exported) unsetenv(v->name.str); if (strcmp(v->name.str, ".MAKE.EXPORTED") == 0) Index: src/usr.bin/make/unit-tests/deptgt-makeflags.exp diff -u src/usr.bin/make/unit-tests/deptgt-makeflags.exp:1.7 src/usr.bin/make/unit-tests/deptgt-makeflags.exp:1.8 --- src/usr.bin/make/unit-tests/deptgt-makeflags.exp:1.7 Sat Mar 26 14:17:46 2022 +++ src/usr.bin/make/unit-tests/deptgt-makeflags.exp Wed Dec 20 08:50:10 2023 @@ -1,4 +1,4 @@ -Global: delete DOLLAR (not found) +Global: ignoring delete 'DOLLAR' as it is not found Command: DOLLAR = $$$$ Global: .MAKEOVERRIDES = VAR DOLLAR CondParser_Eval: ${DOLLAR} != "\$\$" Index: src/usr.bin/make/unit-tests/var-readonly.exp diff -u src/usr.bin/make/unit-tests/var-readonly.exp:1.2 src/usr.bin/make/unit-tests/var-readonly.exp:1.3 --- src/usr.bin/make/unit-tests/var-readonly.exp:1.2 Wed Dec 20 08:42:10 2023 +++ src/usr.bin/make/unit-tests/var-readonly.exp Wed Dec 20 08:50:10 2023 @@ -1,5 +1,4 @@ -Global: delete N -Global: delete N (readOnly) +Global: ignoring delete 'N' as it is read-only Global: .MAKEFLAGS = -r -k -d v -d Global: .MAKEFLAGS = -r -k -d v -d 0 exit status 0 Index: src/usr.bin/make/unit-tests/vardebug.exp diff -u src/usr.bin/make/unit-tests/vardebug.exp:1.31 src/usr.bin/make/unit-tests/vardebug.exp:1.32 --- src/usr.bin/make/unit-tests/vardebug.exp:1.31 Sun Dec 10 20:17:23 2023 +++ src/usr.bin/make/unit-tests/vardebug.exp Wed Dec 20 08:50:10 2023 @@ -1,10 +1,10 @@ -Global: delete FROM_CMDLINE (not found) +Global: ignoring delete 'FROM_CMDLINE' as it is not found Command: FROM_CMDLINE = # (empty) Global: .MAKEOVERRIDES = FROM_CMDLINE Global: VAR = added Global: VAR = overwritten Global: delete VAR -Global: delete VAR (not found) +Global: ignoring delete 'VAR' as it is not found Var_SetExpand: variable name "${:U}" expands to empty string, with value "empty name" - ignored Var_AppendExpand: variable name "${:U}" expands to empty string, with value "empty name" - ignored Global: ignoring 'FROM_CMDLINE' = 'overwritten' due to a command line variable of the same name @@ -59,7 +59,7 @@ Result of ${:unknown} is error (eval-def make: "vardebug.mk" line 46: Malformed conditional (${:Uvariable:unknown}) Var_Parse: ${UNDEFINED} (eval-defined) make: "vardebug.mk" line 56: Malformed conditional (${UNDEFINED}) -Global: delete .SHELL (not found) +Global: ignoring delete '.SHELL' as it is not found Command: .SHELL = </path/to/shell> Command: .SHELL = overwritten ignored (read-only) Global: .MAKEFLAGS = -r -k -d v -d Index: src/usr.bin/make/unit-tests/varname-dot-shell.exp diff -u src/usr.bin/make/unit-tests/varname-dot-shell.exp:1.18 src/usr.bin/make/unit-tests/varname-dot-shell.exp:1.19 --- src/usr.bin/make/unit-tests/varname-dot-shell.exp:1.18 Sun Dec 10 20:17:23 2023 +++ src/usr.bin/make/unit-tests/varname-dot-shell.exp Wed Dec 20 08:50:10 2023 @@ -1,7 +1,7 @@ Parsing line 10: ORIG_SHELL:= ${.SHELL} Global: ORIG_SHELL = # (empty) Var_Parse: ${.SHELL} (eval-keep-dollar-and-undefined) -Global: delete .SHELL (not found) +Global: ignoring delete '.SHELL' as it is not found Command: .SHELL = (details omitted) Global: ORIG_SHELL = (details omitted) Parsing line 12: .SHELL= overwritten @@ -18,7 +18,7 @@ Var_Parse: ${.SHELL} != ${ORIG_SHELL} (e Var_Parse: ${ORIG_SHELL} (eval-defined) Comparing "(details omitted)" != "(details omitted)" Parsing line 27: .undef .SHELL -Global: delete .SHELL (not found) +Global: ignoring delete '.SHELL' as it is not found Parsing line 28: .SHELL= newly overwritten Global: ignoring '.SHELL' = 'newly overwritten' due to a command line variable of the same name CondParser_Eval: ${.SHELL} != ${ORIG_SHELL} Index: src/usr.bin/make/unit-tests/varname-dot-suffixes.exp diff -u src/usr.bin/make/unit-tests/varname-dot-suffixes.exp:1.5 src/usr.bin/make/unit-tests/varname-dot-suffixes.exp:1.6 --- src/usr.bin/make/unit-tests/varname-dot-suffixes.exp:1.5 Tue Aug 23 19:22:01 2022 +++ src/usr.bin/make/unit-tests/varname-dot-suffixes.exp Wed Dec 20 08:50:10 2023 @@ -1,4 +1,4 @@ -Global: delete .SUFFIXES (not found) +Global: ignoring delete '.SUFFIXES' as it is not found Global: .MAKEFLAGS = -r -k -d v -d Global: .MAKEFLAGS = -r -k -d v -d 0 Global: .SUFFIXES = set ignored (read-only) @@ -32,7 +32,7 @@ ModifyWord_Loop: in "1", replace ".SUFFI Command: .SUFFIXES = 2 ignored (read-only) Var_Parse: ${.SUFFIXES} (eval-defined) ModifyWord_Loop: in "2", replace ".SUFFIXES" with "${.SUFFIXES}" to ".c .o .1 .err .tar.gz" -Command: delete .SUFFIXES (not found) +Command: ignoring delete '.SUFFIXES' as it is not found Result of ${1 2:@.SUFFIXES@${.SUFFIXES}@} is ".c .o .1 .err .tar.gz .c .o .1 .err .tar.gz" (eval-defined, defined) Global: .MAKEFLAGS = -r -k -d v -d 0 -d v -d 0 -d v -d Global: .MAKEFLAGS = -r -k -d v -d 0 -d v -d 0 -d v -d 0 Index: src/usr.bin/make/unit-tests/varname-dot-suffixes.mk diff -u src/usr.bin/make/unit-tests/varname-dot-suffixes.mk:1.3 src/usr.bin/make/unit-tests/varname-dot-suffixes.mk:1.4 --- src/usr.bin/make/unit-tests/varname-dot-suffixes.mk:1.3 Fri Apr 15 09:33:20 2022 +++ src/usr.bin/make/unit-tests/varname-dot-suffixes.mk Wed Dec 20 08:50:10 2023 @@ -1,4 +1,4 @@ -# $NetBSD: varname-dot-suffixes.mk,v 1.3 2022/04/15 09:33:20 rillig Exp $ +# $NetBSD: varname-dot-suffixes.mk,v 1.4 2023/12/20 08:50:10 rillig Exp $ # # Tests for the special "variable" .SUFFIXES, which lists the suffixes that # have been registered for use in suffix transformation rules. Suffixes are @@ -51,7 +51,7 @@ # Deleting .SUFFIXES has no effect since there is no actual variable of that # name. .MAKEFLAGS: -dv -# expect: Global: delete .SUFFIXES (not found) +# expect: Global: ignoring delete '.SUFFIXES' as it is not found .undef .SUFFIXES .MAKEFLAGS: -d0 .if ${.SUFFIXES} != ".c .o .1 .err .tar.gz" @@ -96,8 +96,7 @@ _:= ${preserve:L:_=.SUFFIXES} .MAKEFLAGS: -dv # expect: Command: .SUFFIXES = 1 ignored (read-only) # expect: Command: .SUFFIXES = 2 ignored (read-only) -# XXX: Missing space after ':' -# expect: Command: delete .SUFFIXES (not found) +# expect: Command: ignoring delete '.SUFFIXES' as it is not found .if ${1 2:L:@.SUFFIXES@${.SUFFIXES}@} != ".c .o .1 .err .tar.gz .c .o .1 .err .tar.gz" . error .endif Index: src/usr.bin/make/unit-tests/varname-empty.exp diff -u src/usr.bin/make/unit-tests/varname-empty.exp:1.20 src/usr.bin/make/unit-tests/varname-empty.exp:1.21 --- src/usr.bin/make/unit-tests/varname-empty.exp:1.20 Sat Mar 26 14:34:07 2022 +++ src/usr.bin/make/unit-tests/varname-empty.exp Wed Dec 20 08:50:10 2023 @@ -6,8 +6,8 @@ Global: .TARGETS = # (empty) Internal: MAKEFILE = varname-empty.mk Global: .MAKE.MAKEFILES = varname-empty.mk Global: .PARSEFILE = varname-empty.mk -Global: delete .INCLUDEDFROMDIR (not found) -Global: delete .INCLUDEDFROMFILE (not found) +Global: ignoring delete '.INCLUDEDFROMDIR' as it is not found +Global: ignoring delete '.INCLUDEDFROMFILE' as it is not found Var_SetExpand: variable name "" expands to empty string, with value "default" - ignored Var_SetExpand: variable name "" expands to empty string, with value "assigned" - ignored SetVar: variable name is empty - ignored