Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make make: change debug log for variable evaluation ...
details: https://anonhg.NetBSD.org/src/rev/bec78fec64b7
branches: trunk
changeset: 960346:bec78fec64b7
user: rillig <rillig%NetBSD.org@localhost>
date: Mon Mar 15 15:39:13 2021 +0000
description:
make: change debug log for variable evaluation flags to lowercase
This makes them easier distinguishable from variable names since the
latter are usually uppercase.
No functional change outside debug mode.
diffstat:
usr.bin/make/nonints.h | 4 +-
usr.bin/make/unit-tests/deptgt-makeflags.exp | 2 +-
usr.bin/make/unit-tests/directive-export-impl.exp | 56 +++++++-------
usr.bin/make/unit-tests/directive-unexport-env.exp | 10 +-
usr.bin/make/unit-tests/var-eval-short.exp | 16 ++--
usr.bin/make/unit-tests/var-op-append.exp | 6 +-
usr.bin/make/unit-tests/vardebug.exp | 88 +++++++++++-----------
usr.bin/make/unit-tests/varmod-defined.exp | 18 ++--
usr.bin/make/unit-tests/varmod-indirect.exp | 52 ++++++------
usr.bin/make/unit-tests/varmod-match-escape.exp | 48 ++++++------
usr.bin/make/unit-tests/varname-dot-shell.exp | 14 +-
usr.bin/make/unit-tests/varname-empty.exp | 42 +++++-----
usr.bin/make/unit-tests/varname.exp | 20 ++--
usr.bin/make/var.c | 57 +++++---------
14 files changed, 209 insertions(+), 224 deletions(-)
diffs (truncated from 753 to 300 lines):
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/nonints.h
--- a/usr.bin/make/nonints.h Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/nonints.h Mon Mar 15 15:39:13 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: nonints.h,v 1.205 2021/03/15 12:15:03 rillig Exp $ */
+/* $NetBSD: nonints.h,v 1.206 2021/03/15 15:39:13 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -341,7 +341,7 @@
* int (since that is the default representation of Boolean in make),
* even for initializers consisting entirely of constants.
*/
- Boolean : 1;
+ Boolean : 0;
} VarEvalFlags;
#define VARE_PARSE_ONLY (VarEvalFlags) { FALSE, FALSE, FALSE, FALSE }
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/unit-tests/deptgt-makeflags.exp
--- a/usr.bin/make/unit-tests/deptgt-makeflags.exp Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/unit-tests/deptgt-makeflags.exp Mon Mar 15 15:39:13 2021 +0000
@@ -2,7 +2,7 @@
Command:DOLLAR = $$$$
Global:.MAKEOVERRIDES = VAR DOLLAR
CondParser_Eval: ${DOLLAR} != "\$\$"
-Var_Parse: ${DOLLAR} != "\$\$" with VARE_UNDEFERR|VARE_WANTRES
+Var_Parse: ${DOLLAR} != "\$\$" (eval-defined)
lhs = "$$", rhs = "$$", op = !=
Global:.MAKEFLAGS = -r -k -D VAR -D VAR -d cv -d
Global:.MAKEFLAGS = -r -k -D VAR -D VAR -d cv -d 0
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/unit-tests/directive-export-impl.exp
--- a/usr.bin/make/unit-tests/directive-export-impl.exp Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/unit-tests/directive-export-impl.exp Mon Mar 15 15:39:13 2021 +0000
@@ -3,48 +3,48 @@
ParseReadLine (28): '.export UT_VAR'
Global:.MAKE.EXPORTED = UT_VAR
ParseReadLine (32): ': ${UT_VAR:N*}'
-Var_Parse: ${UT_VAR:N*} with VARE_UNDEFERR|VARE_WANTRES
-Var_Parse: ${REF}> with VARE_UNDEFERR|VARE_WANTRES
-Applying ${UT_VAR:N...} to "<>" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
+Var_Parse: ${UT_VAR:N*} (eval-defined)
+Var_Parse: ${REF}> (eval-defined)
+Applying ${UT_VAR:N...} to "<>" (eval-defined, VFL_EXPORTED|VFL_REEXPORT, regular)
Pattern[UT_VAR] for [<>] is [*]
ModifyWords: split "<>" into 1 words
-Result of ${UT_VAR:N*} is "" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
+Result of ${UT_VAR:N*} is "" (eval-defined, VFL_EXPORTED|VFL_REEXPORT, regular)
ParseDoDependency(: )
CondParser_Eval: ${:!echo "\$UT_VAR"!} != "<>"
-Var_Parse: ${:!echo "\$UT_VAR"!} != "<>" with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:!...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, undefined)
+Var_Parse: ${:!echo "\$UT_VAR"!} != "<>" (eval-defined)
+Applying ${:!...} to "" (eval-defined, none, undefined)
Modifier part: "echo "$UT_VAR""
-Var_Parse: ${.MAKE.EXPORTED:O:u} with VARE_WANTRES
-Applying ${.MAKE.EXPORTED:O} to "UT_VAR" (VARE_WANTRES, none, regular)
-Result of ${.MAKE.EXPORTED:O} is "UT_VAR" (VARE_WANTRES, none, regular)
-Applying ${.MAKE.EXPORTED:u} to "UT_VAR" (VARE_WANTRES, none, regular)
-Result of ${.MAKE.EXPORTED:u} is "UT_VAR" (VARE_WANTRES, none, regular)
-Var_Parse: ${UT_VAR} with VARE_WANTRES
-Var_Parse: ${REF}> with VARE_WANTRES
-Result of ${:!echo "\$UT_VAR"!} is "<>" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Var_Parse: ${.MAKE.EXPORTED:O:u} (eval)
+Applying ${.MAKE.EXPORTED:O} to "UT_VAR" (eval, none, regular)
+Result of ${.MAKE.EXPORTED:O} is "UT_VAR" (eval, none, regular)
+Applying ${.MAKE.EXPORTED:u} to "UT_VAR" (eval, none, regular)
+Result of ${.MAKE.EXPORTED:u} is "UT_VAR" (eval, none, regular)
+Var_Parse: ${UT_VAR} (eval)
+Var_Parse: ${REF}> (eval)
+Result of ${:!echo "\$UT_VAR"!} is "<>" (eval-defined, none, defined)
lhs = "<>", rhs = "<>", op = !=
ParseReadLine (49): ': ${UT_VAR:N*}'
-Var_Parse: ${UT_VAR:N*} with VARE_UNDEFERR|VARE_WANTRES
-Var_Parse: ${REF}> with VARE_UNDEFERR|VARE_WANTRES
-Applying ${UT_VAR:N...} to "<>" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
+Var_Parse: ${UT_VAR:N*} (eval-defined)
+Var_Parse: ${REF}> (eval-defined)
+Applying ${UT_VAR:N...} to "<>" (eval-defined, VFL_EXPORTED|VFL_REEXPORT, regular)
Pattern[UT_VAR] for [<>] is [*]
ModifyWords: split "<>" into 1 words
-Result of ${UT_VAR:N*} is "" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
+Result of ${UT_VAR:N*} is "" (eval-defined, VFL_EXPORTED|VFL_REEXPORT, regular)
ParseDoDependency(: )
ParseReadLine (53): 'REF= defined'
Global:REF = defined
CondParser_Eval: ${:!echo "\$UT_VAR"!} != "<defined>"
-Var_Parse: ${:!echo "\$UT_VAR"!} != "<defined>" with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:!...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, undefined)
+Var_Parse: ${:!echo "\$UT_VAR"!} != "<defined>" (eval-defined)
+Applying ${:!...} to "" (eval-defined, none, undefined)
Modifier part: "echo "$UT_VAR""
-Var_Parse: ${.MAKE.EXPORTED:O:u} with VARE_WANTRES
-Applying ${.MAKE.EXPORTED:O} to "UT_VAR" (VARE_WANTRES, none, regular)
-Result of ${.MAKE.EXPORTED:O} is "UT_VAR" (VARE_WANTRES, none, regular)
-Applying ${.MAKE.EXPORTED:u} to "UT_VAR" (VARE_WANTRES, none, regular)
-Result of ${.MAKE.EXPORTED:u} is "UT_VAR" (VARE_WANTRES, none, regular)
-Var_Parse: ${UT_VAR} with VARE_WANTRES
-Var_Parse: ${REF}> with VARE_WANTRES
-Result of ${:!echo "\$UT_VAR"!} is "<defined>" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Var_Parse: ${.MAKE.EXPORTED:O:u} (eval)
+Applying ${.MAKE.EXPORTED:O} to "UT_VAR" (eval, none, regular)
+Result of ${.MAKE.EXPORTED:O} is "UT_VAR" (eval, none, regular)
+Applying ${.MAKE.EXPORTED:u} to "UT_VAR" (eval, none, regular)
+Result of ${.MAKE.EXPORTED:u} is "UT_VAR" (eval, none, regular)
+Var_Parse: ${UT_VAR} (eval)
+Var_Parse: ${REF}> (eval)
+Result of ${:!echo "\$UT_VAR"!} is "<defined>" (eval-defined, none, defined)
lhs = "<defined>", rhs = "<defined>", op = !=
ParseReadLine (61): 'all:'
ParseDoDependency(all:)
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/unit-tests/directive-unexport-env.exp
--- a/usr.bin/make/unit-tests/directive-unexport-env.exp Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/unit-tests/directive-unexport-env.exp Mon Mar 15 15:39:13 2021 +0000
@@ -4,11 +4,11 @@
Global:UT_UNEXPORTED = value
Global:.MAKE.EXPORTED = UT_EXPORTED
make: "directive-unexport-env.mk" line 21: The directive .unexport-env does not take arguments
-Var_Parse: ${.MAKE.EXPORTED:O:u} with VARE_WANTRES
-Applying ${.MAKE.EXPORTED:O} to "UT_EXPORTED" (VARE_WANTRES, none, regular)
-Result of ${.MAKE.EXPORTED:O} is "UT_EXPORTED" (VARE_WANTRES, none, regular)
-Applying ${.MAKE.EXPORTED:u} to "UT_EXPORTED" (VARE_WANTRES, none, regular)
-Result of ${.MAKE.EXPORTED:u} is "UT_EXPORTED" (VARE_WANTRES, none, regular)
+Var_Parse: ${.MAKE.EXPORTED:O:u} (eval)
+Applying ${.MAKE.EXPORTED:O} to "UT_EXPORTED" (eval, none, regular)
+Result of ${.MAKE.EXPORTED:O} is "UT_EXPORTED" (eval, none, regular)
+Applying ${.MAKE.EXPORTED:u} to "UT_EXPORTED" (eval, none, regular)
+Result of ${.MAKE.EXPORTED:u} is "UT_EXPORTED" (eval, none, regular)
Unexporting "UT_EXPORTED"
Global:delete .MAKE.EXPORTED
Global:.MAKEFLAGS = -r -k -d v -d
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/unit-tests/var-eval-short.exp
--- a/usr.bin/make/unit-tests/var-eval-short.exp Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/unit-tests/var-eval-short.exp Mon Mar 15 15:39:13 2021 +0000
@@ -3,21 +3,21 @@
make: "var-eval-short.mk" line 91: Invalid time value: ${FAIL}}
make: "var-eval-short.mk" line 91: Malformed conditional (0 && ${:Uword:localtime=${FAIL}})
CondParser_Eval: 0 && ${0:?${FAIL}then:${FAIL}else}
-Var_Parse: ${0:?${FAIL}then:${FAIL}else} with none
-Applying ${0:?...} to "" (none, none, undefined)
+Var_Parse: ${0:?${FAIL}then:${FAIL}else} (parse-only)
+Applying ${0:?...} to "" (parse-only, none, undefined)
Modifier part: "${FAIL}then"
Modifier part: "${FAIL}else"
-Result of ${0:?${FAIL}then:${FAIL}else} is "" (none, none, defined)
+Result of ${0:?${FAIL}then:${FAIL}else} is "" (parse-only, none, defined)
ParseReadLine (156): 'DEFINED= defined'
Global:DEFINED = defined
CondParser_Eval: 0 && ${DEFINED:L:?${FAIL}then:${FAIL}else}
-Var_Parse: ${DEFINED:L:?${FAIL}then:${FAIL}else} with none
-Applying ${DEFINED:L} to "defined" (none, none, regular)
-Result of ${DEFINED:L} is "defined" (none, none, regular)
-Applying ${DEFINED:?...} to "defined" (none, none, regular)
+Var_Parse: ${DEFINED:L:?${FAIL}then:${FAIL}else} (parse-only)
+Applying ${DEFINED:L} to "defined" (parse-only, none, regular)
+Result of ${DEFINED:L} is "defined" (parse-only, none, regular)
+Applying ${DEFINED:?...} to "defined" (parse-only, none, regular)
Modifier part: "${FAIL}then"
Modifier part: "${FAIL}else"
-Result of ${DEFINED:?${FAIL}then:${FAIL}else} is "defined" (none, none, regular)
+Result of ${DEFINED:?${FAIL}then:${FAIL}else} is "defined" (parse-only, none, regular)
ParseReadLine (159): '.MAKEFLAGS: -d0'
ParseDoDependency(.MAKEFLAGS: -d0)
Global:.MAKEFLAGS = -r -k -d cpv -d
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/unit-tests/var-op-append.exp
--- a/usr.bin/make/unit-tests/var-op-append.exp Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/unit-tests/var-op-append.exp Mon Mar 15 15:39:13 2021 +0000
@@ -1,6 +1,6 @@
-Var_Parse: ${:U\$\$\$\$\$\$\$\$} with VARE_WANTRES
-Applying ${:U...} to "" (VARE_WANTRES, none, undefined)
-Result of ${:U\$\$\$\$\$\$\$\$} is "$$$$$$$$" (VARE_WANTRES, none, defined)
+Var_Parse: ${:U\$\$\$\$\$\$\$\$} (eval)
+Applying ${:U...} to "" (eval, none, undefined)
+Result of ${:U\$\$\$\$\$\$\$\$} is "$$$$$$$$" (eval, none, defined)
Global:VAR.$$$$$$$$ = dollars
Global:.MAKEFLAGS = -r -k -d v -d
Global:.MAKEFLAGS = -r -k -d v -d 0
diff -r 47a57bd87aa2 -r bec78fec64b7 usr.bin/make/unit-tests/vardebug.exp
--- a/usr.bin/make/unit-tests/vardebug.exp Mon Mar 15 12:15:03 2021 +0000
+++ b/usr.bin/make/unit-tests/vardebug.exp Mon Mar 15 15:39:13 2021 +0000
@@ -5,76 +5,76 @@
Global:VAR = overwritten
Global:delete VAR
Global:delete VAR (not found)
-Var_Parse: ${:U} with VARE_WANTRES
-Applying ${:U} to "" (VARE_WANTRES, none, undefined)
-Result of ${:U} is "" (VARE_WANTRES, none, defined)
+Var_Parse: ${:U} (eval)
+Applying ${:U} to "" (eval, none, undefined)
+Result of ${:U} is "" (eval, none, defined)
Var_Set("${:U}", "empty name", ...) name expands to empty string - ignored
-Var_Parse: ${:U} with VARE_WANTRES
-Applying ${:U} to "" (VARE_WANTRES, none, undefined)
-Result of ${:U} is "" (VARE_WANTRES, none, defined)
+Var_Parse: ${:U} (eval)
+Applying ${:U} to "" (eval, none, undefined)
+Result of ${:U} is "" (eval, none, defined)
Var_Append("${:U}", "empty name", ...) name expands to empty string - ignored
Global:FROM_CMDLINE = overwritten ignored!
Global:VAR = 1
Global:VAR = 1 2
Global:VAR = 1 2 3
-Var_Parse: ${VAR:M[2]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:M...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
+Var_Parse: ${VAR:M[2]} (eval-defined)
+Applying ${VAR:M...} to "1 2 3" (eval-defined, none, regular)
Pattern[VAR] for [1 2 3] is [[2]]
ModifyWords: split "1 2 3" into 3 words
VarMatch [1] [[2]]
VarMatch [2] [[2]]
VarMatch [3] [[2]]
-Result of ${VAR:M[2]} is "2" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Var_Parse: ${VAR:N[2]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:N...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
+Result of ${VAR:M[2]} is "2" (eval-defined, none, regular)
+Var_Parse: ${VAR:N[2]} (eval-defined)
+Applying ${VAR:N...} to "1 2 3" (eval-defined, none, regular)
Pattern[VAR] for [1 2 3] is [[2]]
ModifyWords: split "1 2 3" into 3 words
-Result of ${VAR:N[2]} is "1 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Var_Parse: ${VAR:S,2,two,} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:S...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
+Result of ${VAR:N[2]} is "1 3" (eval-defined, none, regular)
+Var_Parse: ${VAR:S,2,two,} (eval-defined)
+Applying ${VAR:S...} to "1 2 3" (eval-defined, none, regular)
Modifier part: "2"
Modifier part: "two"
ModifyWords: split "1 2 3" into 3 words
-Result of ${VAR:S,2,two,} is "1 two 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Var_Parse: ${VAR:Q} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:Q} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Result of ${VAR:Q} is "1\ 2\ 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Var_Parse: ${VAR:tu:tl:Q} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:t...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Result of ${VAR:tu} is "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Applying ${VAR:t...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Result of ${VAR:tl} is "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Applying ${VAR:Q} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Result of ${VAR:Q} is "1\ 2\ 3" (VARE_UNDEFERR|VARE_WANTRES, none, regular)
-Var_Parse: ${:Uvalue:${:UM*e}:Mvalu[e]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, undefined)
-Result of ${:Uvalue} is "value" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
-Var_Parse: ${:UM*e}:Mvalu[e]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, undefined)
-Result of ${:UM*e} is "M*e" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Result of ${VAR:S,2,two,} is "1 two 3" (eval-defined, none, regular)
+Var_Parse: ${VAR:Q} (eval-defined)
+Applying ${VAR:Q} to "1 2 3" (eval-defined, none, regular)
+Result of ${VAR:Q} is "1\ 2\ 3" (eval-defined, none, regular)
+Var_Parse: ${VAR:tu:tl:Q} (eval-defined)
+Applying ${VAR:t...} to "1 2 3" (eval-defined, none, regular)
+Result of ${VAR:tu} is "1 2 3" (eval-defined, none, regular)
+Applying ${VAR:t...} to "1 2 3" (eval-defined, none, regular)
+Result of ${VAR:tl} is "1 2 3" (eval-defined, none, regular)
+Applying ${VAR:Q} to "1 2 3" (eval-defined, none, regular)
+Result of ${VAR:Q} is "1\ 2\ 3" (eval-defined, none, regular)
+Var_Parse: ${:Uvalue:${:UM*e}:Mvalu[e]} (eval-defined)
+Applying ${:U...} to "" (eval-defined, none, undefined)
+Result of ${:Uvalue} is "value" (eval-defined, none, defined)
+Var_Parse: ${:UM*e}:Mvalu[e]} (eval-defined)
+Applying ${:U...} to "" (eval-defined, none, undefined)
+Result of ${:UM*e} is "M*e" (eval-defined, none, defined)
Indirect modifier "M*e" from "${:UM*e}"
-Applying ${:M...} to "value" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Applying ${:M...} to "value" (eval-defined, none, defined)
Pattern[] for [value] is [*e]
ModifyWords: split "value" into 1 words
VarMatch [value] [*e]
-Result of ${:M*e} is "value" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
-Applying ${:M...} to "value" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Result of ${:M*e} is "value" (eval-defined, none, defined)
+Applying ${:M...} to "value" (eval-defined, none, defined)
Pattern[] for [value] is [valu[e]]
ModifyWords: split "value" into 1 words
VarMatch [value] [valu[e]]
-Result of ${:Mvalu[e]} is "value" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
-Var_Parse: ${:UVAR} with VARE_WANTRES
-Applying ${:U...} to "" (VARE_WANTRES, none, undefined)
-Result of ${:UVAR} is "VAR" (VARE_WANTRES, none, defined)
+Result of ${:Mvalu[e]} is "value" (eval-defined, none, defined)
+Var_Parse: ${:UVAR} (eval)
+Applying ${:U...} to "" (eval, none, undefined)
+Result of ${:UVAR} is "VAR" (eval, none, defined)
Global:delete VAR
-Var_Parse: ${:Uvariable:unknown} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, undefined)
-Result of ${:Uvariable} is "variable" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
-Applying ${:u...} to "variable" (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Var_Parse: ${:Uvariable:unknown} (eval-defined)
+Applying ${:U...} to "" (eval-defined, none, undefined)
+Result of ${:Uvariable} is "variable" (eval-defined, none, defined)
+Applying ${:u...} to "variable" (eval-defined, none, defined)
make: "vardebug.mk" line 44: Unknown modifier "unknown"
-Result of ${:unknown} is error (VARE_UNDEFERR|VARE_WANTRES, none, defined)
+Result of ${:unknown} is error (eval-defined, none, defined)
make: "vardebug.mk" line 44: Malformed conditional (${:Uvariable:unknown})
-Var_Parse: ${UNDEFINED} with VARE_UNDEFERR|VARE_WANTRES
+Var_Parse: ${UNDEFINED} (eval-defined)
make: "vardebug.mk" line 53: Malformed conditional (${UNDEFINED})
Global:delete .SHELL (not found)
Command:.SHELL = </path/to/shell>
Home |
Main Index |
Thread Index |
Old Index