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: be more verbose in -dv debug logging



details:   https://anonhg.NetBSD.org/src/rev/9820eade08db
branches:  trunk
changeset: 954340:9820eade08db
user:      rillig <rillig%NetBSD.org@localhost>
date:      Mon Apr 05 13:14:54 2021 +0000

description:
make: be more verbose in -dv debug logging

The previous log output was too brief to be understandable.  Give more
hints by describing each part of the expression when evaluating a
modifier.  Distinguish between parse-only mode and eval mode since in
parse-only mode most of the details are irrelevant.

diffstat:

 usr.bin/make/unit-tests/directive-export-impl.exp  |  16 +++++-----
 usr.bin/make/unit-tests/directive-unexport-env.exp |   4 +-
 usr.bin/make/unit-tests/var-eval-short.exp         |   6 ++--
 usr.bin/make/unit-tests/var-op-append.exp          |   2 +-
 usr.bin/make/unit-tests/vardebug.exp               |  32 +++++++++++-----------
 usr.bin/make/unit-tests/varmod-assign.exp          |   2 +-
 usr.bin/make/unit-tests/varmod-defined.exp         |   4 +-
 usr.bin/make/unit-tests/varmod-indirect.exp        |  16 +++++-----
 usr.bin/make/unit-tests/varmod-match-escape.exp    |  16 +++++-----
 usr.bin/make/unit-tests/varname-empty.exp          |  14 ++++----
 usr.bin/make/unit-tests/varname.exp                |   4 +-
 usr.bin/make/var.c                                 |  23 +++++++++++----
 12 files changed, 74 insertions(+), 65 deletions(-)

diffs (truncated from 422 to 300 lines):

diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/directive-export-impl.exp
--- a/usr.bin/make/unit-tests/directive-export-impl.exp Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/directive-export-impl.exp Mon Apr 05 13:14:54 2021 +0000
@@ -5,19 +5,19 @@
 ParseReadLine (32): ': ${UT_VAR:N*}'
 Var_Parse: ${UT_VAR:N*} (eval-defined)
 Var_Parse: ${REF}> (eval-defined)
-Applying ${UT_VAR:N...} to "<>" (eval-defined, regular)
+Evaluating modifier ${UT_VAR:N...} on value "<>" (eval-defined, regular)
 Pattern for ':N' is "*"
 ModifyWords: split "<>" into 1 words
 Result of ${UT_VAR:N*} is "" (eval-defined, regular)
 ParseDependency(: )
 CondParser_Eval: ${:!echo "\$UT_VAR"!} != "<>"
 Var_Parse: ${:!echo "\$UT_VAR"!} != "<>" (eval-defined)
-Applying ${:!...} to "" (eval-defined, undefined)
+Evaluating modifier ${:!...} on value "" (eval-defined, undefined)
 Modifier part: "echo "$UT_VAR""
 Var_Parse: ${.MAKE.EXPORTED:O:u} (eval)
-Applying ${.MAKE.EXPORTED:O} to "UT_VAR" (eval, regular)
+Evaluating modifier ${.MAKE.EXPORTED:O} on value "UT_VAR" (eval, regular)
 Result of ${.MAKE.EXPORTED:O} is "UT_VAR" (eval, regular)
-Applying ${.MAKE.EXPORTED:u} to "UT_VAR" (eval, regular)
+Evaluating modifier ${.MAKE.EXPORTED:u} on value "UT_VAR" (eval, regular)
 Result of ${.MAKE.EXPORTED:u} is "UT_VAR" (eval, regular)
 Var_Parse: ${UT_VAR} (eval)
 Var_Parse: ${REF}> (eval)
@@ -26,7 +26,7 @@
 ParseReadLine (50): ': ${UT_VAR:N*}'
 Var_Parse: ${UT_VAR:N*} (eval-defined)
 Var_Parse: ${REF}> (eval-defined)
-Applying ${UT_VAR:N...} to "<>" (eval-defined, regular)
+Evaluating modifier ${UT_VAR:N...} on value "<>" (eval-defined, regular)
 Pattern for ':N' is "*"
 ModifyWords: split "<>" into 1 words
 Result of ${UT_VAR:N*} is "" (eval-defined, regular)
@@ -35,12 +35,12 @@
 Global:REF = defined
 CondParser_Eval: ${:!echo "\$UT_VAR"!} != "<defined>"
 Var_Parse: ${:!echo "\$UT_VAR"!} != "<defined>" (eval-defined)
-Applying ${:!...} to "" (eval-defined, undefined)
+Evaluating modifier ${:!...} on value "" (eval-defined, undefined)
 Modifier part: "echo "$UT_VAR""
 Var_Parse: ${.MAKE.EXPORTED:O:u} (eval)
-Applying ${.MAKE.EXPORTED:O} to "UT_VAR" (eval, regular)
+Evaluating modifier ${.MAKE.EXPORTED:O} on value "UT_VAR" (eval, regular)
 Result of ${.MAKE.EXPORTED:O} is "UT_VAR" (eval, regular)
-Applying ${.MAKE.EXPORTED:u} to "UT_VAR" (eval, regular)
+Evaluating modifier ${.MAKE.EXPORTED:u} on value "UT_VAR" (eval, regular)
 Result of ${.MAKE.EXPORTED:u} is "UT_VAR" (eval, regular)
 Var_Parse: ${UT_VAR} (eval)
 Var_Parse: ${REF}> (eval)
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/directive-unexport-env.exp
--- a/usr.bin/make/unit-tests/directive-unexport-env.exp        Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/directive-unexport-env.exp        Mon Apr 05 13:14:54 2021 +0000
@@ -5,9 +5,9 @@
 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} (eval)
-Applying ${.MAKE.EXPORTED:O} to "UT_EXPORTED" (eval, regular)
+Evaluating modifier ${.MAKE.EXPORTED:O} on value "UT_EXPORTED" (eval, regular)
 Result of ${.MAKE.EXPORTED:O} is "UT_EXPORTED" (eval, regular)
-Applying ${.MAKE.EXPORTED:u} to "UT_EXPORTED" (eval, regular)
+Evaluating modifier ${.MAKE.EXPORTED:u} on value "UT_EXPORTED" (eval, regular)
 Result of ${.MAKE.EXPORTED:u} is "UT_EXPORTED" (eval, regular)
 Unexporting "UT_EXPORTED"
 Global:delete .MAKE.EXPORTED
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/var-eval-short.exp
--- a/usr.bin/make/unit-tests/var-eval-short.exp        Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/var-eval-short.exp        Mon Apr 05 13:14:54 2021 +0000
@@ -6,7 +6,7 @@
 make: "var-eval-short.mk" line 93: Malformed conditional (0 && ${:Uword:localtime=${FAIL}})
 CondParser_Eval: 0 && ${0:?${FAIL}then:${FAIL}else}
 Var_Parse: ${0:?${FAIL}then:${FAIL}else} (parse-only)
-Applying ${0:?...} to "" (parse-only, undefined)
+Parsing modifier ${0:?...}
 Modifier part: "${FAIL}then"
 Modifier part: "${FAIL}else"
 Result of ${0:?${FAIL}then:${FAIL}else} is "" (parse-only, defined)
@@ -14,9 +14,9 @@
 Global:DEFINED = defined
 CondParser_Eval: 0 && ${DEFINED:L:?${FAIL}then:${FAIL}else}
 Var_Parse: ${DEFINED:L:?${FAIL}then:${FAIL}else} (parse-only)
-Applying ${DEFINED:L} to "defined" (parse-only, regular)
+Parsing modifier ${DEFINED:L}
 Result of ${DEFINED:L} is "defined" (parse-only, regular)
-Applying ${DEFINED:?...} to "defined" (parse-only, regular)
+Parsing modifier ${DEFINED:?...}
 Modifier part: "${FAIL}then"
 Modifier part: "${FAIL}else"
 Result of ${DEFINED:?${FAIL}then:${FAIL}else} is "defined" (parse-only, regular)
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/var-op-append.exp
--- a/usr.bin/make/unit-tests/var-op-append.exp Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/var-op-append.exp Mon Apr 05 13:14:54 2021 +0000
@@ -1,5 +1,5 @@
 Var_Parse: ${:U\$\$\$\$\$\$\$\$} (eval)
-Applying ${:U...} to "" (eval, undefined)
+Evaluating modifier ${:U...} on value "" (eval, undefined)
 Result of ${:U\$\$\$\$\$\$\$\$} is "$$$$$$$$" (eval, defined)
 Global:VAR.$$$$$$$$ = dollars
 Global:.MAKEFLAGS =  -r -k -d v -d
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/vardebug.exp
--- a/usr.bin/make/unit-tests/vardebug.exp      Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/vardebug.exp      Mon Apr 05 13:14:54 2021 +0000
@@ -6,11 +6,11 @@
 Global:delete VAR
 Global:delete VAR (not found)
 Var_Parse: ${:U} (eval)
-Applying ${:U} to "" (eval, undefined)
+Evaluating modifier ${:U} on value "" (eval, undefined)
 Result of ${:U} is "" (eval, defined)
 Var_Set("${:U}", "empty name", ...) name expands to empty string - ignored
 Var_Parse: ${:U} (eval)
-Applying ${:U} to "" (eval, undefined)
+Evaluating modifier ${:U} on value "" (eval, undefined)
 Result of ${:U} is "" (eval, defined)
 Var_Append("${:U}", "empty name", ...) name expands to empty string - ignored
 Global:FROM_CMDLINE = overwritten ignored!
@@ -18,54 +18,54 @@
 Global:VAR = 1 2
 Global:VAR = 1 2 3
 Var_Parse: ${VAR:M[2]} (eval-defined)
-Applying ${VAR:M...} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:M...} on value "1 2 3" (eval-defined, regular)
 Pattern for ':M' is "[2]"
 ModifyWords: split "1 2 3" into 3 words
 Result of ${VAR:M[2]} is "2" (eval-defined, regular)
 Var_Parse: ${VAR:N[2]} (eval-defined)
-Applying ${VAR:N...} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:N...} on value "1 2 3" (eval-defined, regular)
 Pattern for ':N' is "[2]"
 ModifyWords: split "1 2 3" into 3 words
 Result of ${VAR:N[2]} is "1 3" (eval-defined, regular)
 Var_Parse: ${VAR:S,2,two,} (eval-defined)
-Applying ${VAR:S...} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:S...} on value "1 2 3" (eval-defined, 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" (eval-defined, regular)
 Var_Parse: ${VAR:Q} (eval-defined)
-Applying ${VAR:Q} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:Q} on value "1 2 3" (eval-defined, regular)
 Result of ${VAR:Q} is "1\ 2\ 3" (eval-defined, regular)
 Var_Parse: ${VAR:tu:tl:Q} (eval-defined)
-Applying ${VAR:t...} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:t...} on value "1 2 3" (eval-defined, regular)
 Result of ${VAR:tu} is "1 2 3" (eval-defined, regular)
-Applying ${VAR:t...} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:t...} on value "1 2 3" (eval-defined, regular)
 Result of ${VAR:tl} is "1 2 3" (eval-defined, regular)
-Applying ${VAR:Q} to "1 2 3" (eval-defined, regular)
+Evaluating modifier ${VAR:Q} on value "1 2 3" (eval-defined, regular)
 Result of ${VAR:Q} is "1\ 2\ 3" (eval-defined, regular)
 Var_Parse: ${:Uvalue:${:UM*e}:Mvalu[e]} (eval-defined)
-Applying ${:U...} to "" (eval-defined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-defined, undefined)
 Result of ${:Uvalue} is "value" (eval-defined, defined)
 Var_Parse: ${:UM*e}:Mvalu[e]} (eval-defined)
-Applying ${:U...} to "" (eval-defined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-defined, undefined)
 Result of ${:UM*e} is "M*e" (eval-defined, defined)
 Indirect modifier "M*e" from "${:UM*e}"
-Applying ${:M...} to "value" (eval-defined, defined)
+Evaluating modifier ${:M...} on value "value" (eval-defined, defined)
 Pattern for ':M' is "*e"
 ModifyWords: split "value" into 1 words
 Result of ${:M*e} is "value" (eval-defined, defined)
-Applying ${:M...} to "value" (eval-defined, defined)
+Evaluating modifier ${:M...} on value "value" (eval-defined, defined)
 Pattern for ':M' is "valu[e]"
 ModifyWords: split "value" into 1 words
 Result of ${:Mvalu[e]} is "value" (eval-defined, defined)
 Var_Parse: ${:UVAR} (eval)
-Applying ${:U...} to "" (eval, undefined)
+Evaluating modifier ${:U...} on value "" (eval, undefined)
 Result of ${:UVAR} is "VAR" (eval, defined)
 Global:delete VAR
 Var_Parse: ${:Uvariable:unknown} (eval-defined)
-Applying ${:U...} to "" (eval-defined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-defined, undefined)
 Result of ${:Uvariable} is "variable" (eval-defined, defined)
-Applying ${:u...} to "variable" (eval-defined, defined)
+Evaluating modifier ${:u...} on value "variable" (eval-defined, defined)
 make: "vardebug.mk" line 44: Unknown modifier "unknown"
 Result of ${:unknown} is error (eval-defined, defined)
 make: "vardebug.mk" line 44: Malformed conditional (${:Uvariable:unknown})
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/varmod-assign.exp
--- a/usr.bin/make/unit-tests/varmod-assign.exp Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/varmod-assign.exp Mon Apr 05 13:14:54 2021 +0000
@@ -4,7 +4,7 @@
 Global:VAR.${param} = initial-value
 Var_Parse: ${${VARNAME}::=assigned-value} (eval-defined)
 Var_Parse: ${VARNAME}::=assigned-value} (eval-defined)
-Applying ${VAR.${param}::...} to "initial-value" (eval-defined, regular)
+Evaluating modifier ${VAR.${param}::...} on value "initial-value" (eval-defined, regular)
 Modifier part: "assigned-value"
 Global:VAR.${param} = assigned-value
 Result of ${VAR.${param}::=assigned-value} is "" (eval-defined, regular)
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/varmod-defined.exp
--- a/usr.bin/make/unit-tests/varmod-defined.exp        Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/varmod-defined.exp        Mon Apr 05 13:14:54 2021 +0000
@@ -3,12 +3,12 @@
 Var_Parse: ${8_DOLLARS} (eval-keep-dollar-and-undefined)
 Global:VAR = $$$$$$$$
 Var_Parse: ${VAR:D${8_DOLLARS}} (eval-keep-dollar-and-undefined)
-Applying ${VAR:D...} to "$$$$$$$$" (eval-keep-dollar-and-undefined, regular)
+Evaluating modifier ${VAR:D...} on value "$$$$$$$$" (eval-keep-dollar-and-undefined, regular)
 Var_Parse: ${8_DOLLARS}} (eval-keep-dollar-and-undefined)
 Result of ${VAR:D${8_DOLLARS}} is "$$$$$$$$" (eval-keep-dollar-and-undefined, regular)
 Global:VAR = $$$$$$$$
 Var_Parse: ${VAR:@var@${8_DOLLARS}@} (eval-keep-dollar-and-undefined)
-Applying ${VAR:@...} to "$$$$$$$$" (eval-keep-dollar-and-undefined, regular)
+Evaluating modifier ${VAR:@...} on value "$$$$$$$$" (eval-keep-dollar-and-undefined, regular)
 Modifier part: "var"
 Modifier part: "${8_DOLLARS}"
 ModifyWords: split "$$$$$$$$" into 1 words
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/varmod-indirect.exp
--- a/usr.bin/make/unit-tests/varmod-indirect.exp       Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/varmod-indirect.exp       Mon Apr 05 13:14:54 2021 +0000
@@ -17,39 +17,39 @@
 ParseReadLine (169): '_:=      before ${UNDEF:${:US,a,a,}} after'
 Var_Parse: ${UNDEF:${:US,a,a,}} after (eval-keep-dollar-and-undefined)
 Var_Parse: ${:US,a,a,}} after (eval-keep-dollar-and-undefined)
-Applying ${:U...} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${:US,a,a,} is "S,a,a," (eval-keep-dollar-and-undefined, defined)
 Indirect modifier "S,a,a," from "${:US,a,a,}"
-Applying ${UNDEF:S...} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${UNDEF:S...} on value "" (eval-keep-dollar-and-undefined, undefined)
 Modifier part: "a"
 Modifier part: "a"
 ModifyWords: split "" into 1 words
 Result of ${UNDEF:S,a,a,} is "" (eval-keep-dollar-and-undefined, undefined)
 Var_Parse: ${:US,a,a,}} after (eval-keep-dollar-and-undefined)
-Applying ${:U...} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${:US,a,a,} is "S,a,a," (eval-keep-dollar-and-undefined, defined)
 Global:_ = before ${UNDEF:S,a,a,} after
 ParseReadLine (179): '_:=      before ${UNDEF:${:U}} after'
 Var_Parse: ${UNDEF:${:U}} after (eval-keep-dollar-and-undefined)
 Var_Parse: ${:U}} after (eval-keep-dollar-and-undefined)
-Applying ${:U} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${:U} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${:U} is "" (eval-keep-dollar-and-undefined, defined)
 Indirect modifier "" from "${:U}"
 Var_Parse: ${:U}} after (eval-keep-dollar-and-undefined)
-Applying ${:U} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${:U} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${:U} is "" (eval-keep-dollar-and-undefined, defined)
 Global:_ = before ${UNDEF:} after
 ParseReadLine (184): '_:=      before ${UNDEF:${:UZ}} after'
 Var_Parse: ${UNDEF:${:UZ}} after (eval-keep-dollar-and-undefined)
 Var_Parse: ${:UZ}} after (eval-keep-dollar-and-undefined)
-Applying ${:U...} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${:UZ} is "Z" (eval-keep-dollar-and-undefined, defined)
 Indirect modifier "Z" from "${:UZ}"
-Applying ${UNDEF:Z} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${UNDEF:Z} on value "" (eval-keep-dollar-and-undefined, undefined)
 make: "varmod-indirect.mk" line 184: Unknown modifier "Z"
 Result of ${UNDEF:Z} is error (eval-keep-dollar-and-undefined, undefined)
 Var_Parse: ${:UZ}} after (eval-keep-dollar-and-undefined)
-Applying ${:U...} to "" (eval-keep-dollar-and-undefined, undefined)
+Evaluating modifier ${:U...} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${:UZ} is "Z" (eval-keep-dollar-and-undefined, defined)
 Global:_ = before ${UNDEF:Z} after
 ParseReadLine (186): '.MAKEFLAGS: -d0'
diff -r ba6bb7a66064 -r 9820eade08db usr.bin/make/unit-tests/varmod-match-escape.exp
--- a/usr.bin/make/unit-tests/varmod-match-escape.exp   Mon Apr 05 12:51:35 2021 +0000
+++ b/usr.bin/make/unit-tests/varmod-match-escape.exp   Mon Apr 05 13:14:54 2021 +0000
@@ -1,17 +1,17 @@
 Global:SPECIALS = \: : \\ * \*
 CondParser_Eval: ${SPECIALS:M${:U}\:} != ${SPECIALS:M\:${:U}}
 Var_Parse: ${SPECIALS:M${:U}\:} != ${SPECIALS:M\:${:U}} (eval-defined)
-Applying ${SPECIALS:M...} to "\: : \\ * \*" (eval-defined, regular)
+Evaluating modifier ${SPECIALS:M...} on value "\: : \\ * \*" (eval-defined, regular)
 Var_Parse: ${:U}\: (eval-defined)
-Applying ${:U} to "" (eval-defined, undefined)
+Evaluating modifier ${:U} on value "" (eval-defined, undefined)
 Result of ${:U} is "" (eval-defined, defined)
 Pattern for ':M' is "\:"
 ModifyWords: split "\: : \\ * \*" into 5 words
 Result of ${SPECIALS:M${:U}\:} is ":" (eval-defined, regular)
 Var_Parse: ${SPECIALS:M\:${:U}} (eval-defined)
-Applying ${SPECIALS:M...} to "\: : \\ * \*" (eval-defined, regular)
+Evaluating modifier ${SPECIALS:M...} on value "\: : \\ * \*" (eval-defined, regular)
 Var_Parse: ${:U} (eval-defined)
-Applying ${:U} to "" (eval-defined, undefined)
+Evaluating modifier ${:U} on value "" (eval-defined, undefined)
 Result of ${:U} is "" (eval-defined, defined)
 Pattern for ':M' is ":"
 ModifyWords: split "\: : \\ * \*" into 5 words
@@ -20,17 +20,17 @@
 Global:VALUES = : :: :\:
 CondParser_Eval: ${VALUES:M\:${:U\:}} != ${VALUES:M${:U\:}\:}
 Var_Parse: ${VALUES:M\:${:U\:}} != ${VALUES:M${:U\:}\:} (eval-defined)
-Applying ${VALUES:M...} to ": :: :\:" (eval-defined, regular)
+Evaluating modifier ${VALUES:M...} on value ": :: :\:" (eval-defined, regular)
 Var_Parse: ${:U:} (eval-defined)



Home | Main Index | Thread Index | Old Index