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(1): move VAR_JUNK and VAR_KEEP away from V...



details:   https://anonhg.NetBSD.org/src/rev/6b1ec94eb151
branches:  trunk
changeset: 955162:6b1ec94eb151
user:      rillig <rillig%NetBSD.org@localhost>
date:      Tue Sep 22 06:13:38 2020 +0000

description:
make(1): move VAR_JUNK and VAR_KEEP away from VarFlags

These two flags have nothing to do with a variable.  They are only used
while evaluating a variable expression.

While here, rename the flags and make their documentation more precise.

diffstat:

 usr.bin/make/enum.h                           |  24 ++++++-
 usr.bin/make/unit-tests/counter.exp           |  60 ++++++++--------
 usr.bin/make/unit-tests/vardebug.exp          |  64 +++++++++---------
 usr.bin/make/unit-tests/varname-dot-shell.exp |   4 +-
 usr.bin/make/var.c                            |  92 ++++++++++++++++----------
 5 files changed, 144 insertions(+), 100 deletions(-)

diffs (truncated from 593 to 300 lines):

diff -r fa4675d0b6fb -r 6b1ec94eb151 usr.bin/make/enum.h
--- a/usr.bin/make/enum.h       Tue Sep 22 06:06:18 2020 +0000
+++ b/usr.bin/make/enum.h       Tue Sep 22 06:13:38 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: enum.h,v 1.10 2020/09/12 14:41:00 rillig Exp $ */
+/*     $NetBSD: enum.h,v 1.11 2020/09/22 06:13:38 rillig Exp $ */
 
 /*
  Copyright (c) 2020 Roland Illig <rillig%NetBSD.org@localhost>
@@ -108,6 +108,17 @@
        enum { typnam ## _ ## ToStringSize = sizeof joined }
 
 /* Declare the necessary data structures for calling Enum_FlagsToString
+ * for an enum with 2 flags. */
+#define ENUM_FLAGS_RTTI_2(typnam, v1, v2) \
+       ENUM__FLAGS_RTTI(typnam, \
+           ENUM__SPECS_2( \
+               ENUM__SPEC_1(v1), \
+               ENUM__SPEC_1(v2)), \
+           ENUM__JOIN_2( \
+               ENUM__JOIN_STR_1(v1), \
+               ENUM__JOIN_STR_1(v2)))
+
+/* Declare the necessary data structures for calling Enum_FlagsToString
  * for an enum with 3 flags. */
 #define ENUM_FLAGS_RTTI_3(typnam, v1, v2, v3) \
        ENUM__FLAGS_RTTI(typnam, \
@@ -119,6 +130,17 @@
                ENUM__JOIN_STR_1(v3)))
 
 /* Declare the necessary data structures for calling Enum_FlagsToString
+ * for an enum with 6 flags. */
+#define ENUM_FLAGS_RTTI_6(typnam, v1, v2, v3, v4, v5, v6) \
+       ENUM__FLAGS_RTTI(typnam, \
+           ENUM__SPECS_2( \
+               ENUM__SPEC_4(v1, v2, v3, v4), \
+               ENUM__SPEC_2(v5, v6)), \
+           ENUM__JOIN_2( \
+               ENUM__JOIN_STR_4(v1, v2, v3, v4), \
+               ENUM__JOIN_STR_2(v5, v6)))
+
+/* Declare the necessary data structures for calling Enum_FlagsToString
  * for an enum with 8 flags. */
 #define ENUM_FLAGS_RTTI_8(typnam, v1, v2, v3, v4, v5, v6, v7, v8) \
        ENUM__FLAGS_RTTI(typnam, \
diff -r fa4675d0b6fb -r 6b1ec94eb151 usr.bin/make/unit-tests/counter.exp
--- a/usr.bin/make/unit-tests/counter.exp       Tue Sep 22 06:06:18 2020 +0000
+++ b/usr.bin/make/unit-tests/counter.exp       Tue Sep 22 06:13:38 2020 +0000
@@ -4,85 +4,85 @@
 Global:A = 
 Var_Parse: ${NEXT} with VARE_WANTRES|VARE_ASSIGN
 Var_Parse: ${COUNTER::=${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
-Applying ${COUNTER::...} to "" (VARE_WANTRES|VARE_ASSIGN, none)
+Applying ${COUNTER::...} to "" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Var_Parse: ${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES
 Modifier part: " a"
 Global:COUNTER =  a
-Result of ${COUNTER::=${COUNTER} a} is "" (VARE_WANTRES|VARE_ASSIGN, none)
+Result of ${COUNTER::=${COUNTER} a} is "" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Var_Parse: ${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
 Var_Parse: ${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
-Applying ${COUNTER:[...} to " a" (VARE_WANTRES|VARE_ASSIGN, none)
+Applying ${COUNTER:[...} to " a" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Modifier part: "#"
-Result of ${COUNTER:[#]} is "1" (VARE_WANTRES|VARE_ASSIGN, none)
+Result of ${COUNTER:[#]} is "1" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Global:A = ${COUNTER::= a a}1
 Global:B = 
 Var_Parse: ${NEXT} with VARE_WANTRES|VARE_ASSIGN
 Var_Parse: ${COUNTER::=${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
-Applying ${COUNTER::...} to " a" (VARE_WANTRES|VARE_ASSIGN, none)
+Applying ${COUNTER::...} to " a" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Var_Parse: ${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES
 Modifier part: " a a"
 Global:COUNTER =  a a
-Result of ${COUNTER::=${COUNTER} a} is "" (VARE_WANTRES|VARE_ASSIGN, none)
+Result of ${COUNTER::=${COUNTER} a} is "" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Var_Parse: ${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
 Var_Parse: ${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
-Applying ${COUNTER:[...} to " a a" (VARE_WANTRES|VARE_ASSIGN, none)
+Applying ${COUNTER:[...} to " a a" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Modifier part: "#"
-Result of ${COUNTER:[#]} is "2" (VARE_WANTRES|VARE_ASSIGN, none)
+Result of ${COUNTER:[#]} is "2" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Global:B = ${COUNTER::= a a a}2
 Global:C = 
 Var_Parse: ${NEXT} with VARE_WANTRES|VARE_ASSIGN
 Var_Parse: ${COUNTER::=${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
-Applying ${COUNTER::...} to " a a" (VARE_WANTRES|VARE_ASSIGN, none)
+Applying ${COUNTER::...} to " a a" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Var_Parse: ${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES
 Modifier part: " a a a"
 Global:COUNTER =  a a a
-Result of ${COUNTER::=${COUNTER} a} is "" (VARE_WANTRES|VARE_ASSIGN, none)
+Result of ${COUNTER::=${COUNTER} a} is "" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Var_Parse: ${COUNTER} a}${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
 Var_Parse: ${COUNTER:[#]} with VARE_WANTRES|VARE_ASSIGN
-Applying ${COUNTER:[...} to " a a a" (VARE_WANTRES|VARE_ASSIGN, none)
+Applying ${COUNTER:[...} to " a a a" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Modifier part: "#"
-Result of ${COUNTER:[#]} is "3" (VARE_WANTRES|VARE_ASSIGN, none)
+Result of ${COUNTER:[#]} is "3" (VARE_WANTRES|VARE_ASSIGN, none, none)
 Global:C = ${COUNTER::= a a a a}3
 Global:RELEVANT = no
 Global:RELEVANT = yes (run-time part)
-Result of ${RELEVANT::=yes (run-time part)} is "" (VARE_WANTRES, none)
+Result of ${RELEVANT::=yes (run-time part)} is "" (VARE_WANTRES, none, none)
 Var_Parse: ${A:Q} B=${B:Q} C=${C:Q} COUNTER=${COUNTER:[#]:Q} with VARE_WANTRES
 Var_Parse: ${COUNTER::= a a}1 with VARE_WANTRES
-Applying ${COUNTER::...} to " a a a" (VARE_WANTRES, none)
+Applying ${COUNTER::...} to " a a a" (VARE_WANTRES, none, none)
 Modifier part: " a a"
 Global:COUNTER =  a a
-Result of ${COUNTER::= a a} is "" (VARE_WANTRES, none)
-Applying ${A:Q} to "1" (VARE_WANTRES, none)
+Result of ${COUNTER::= a a} is "" (VARE_WANTRES, none, none)
+Applying ${A:Q} to "1" (VARE_WANTRES, none, none)
 QuoteMeta: [1]
-Result of ${A:Q} is "1" (VARE_WANTRES, none)
+Result of ${A:Q} is "1" (VARE_WANTRES, none, none)
 Var_Parse: ${B:Q} C=${C:Q} COUNTER=${COUNTER:[#]:Q} with VARE_WANTRES
 Var_Parse: ${COUNTER::= a a a}2 with VARE_WANTRES
-Applying ${COUNTER::...} to " a a" (VARE_WANTRES, none)
+Applying ${COUNTER::...} to " a a" (VARE_WANTRES, none, none)
 Modifier part: " a a a"
 Global:COUNTER =  a a a
-Result of ${COUNTER::= a a a} is "" (VARE_WANTRES, none)
-Applying ${B:Q} to "2" (VARE_WANTRES, none)
+Result of ${COUNTER::= a a a} is "" (VARE_WANTRES, none, none)
+Applying ${B:Q} to "2" (VARE_WANTRES, none, none)
 QuoteMeta: [2]
-Result of ${B:Q} is "2" (VARE_WANTRES, none)
+Result of ${B:Q} is "2" (VARE_WANTRES, none, none)
 Var_Parse: ${C:Q} COUNTER=${COUNTER:[#]:Q} with VARE_WANTRES
 Var_Parse: ${COUNTER::= a a a a}3 with VARE_WANTRES
-Applying ${COUNTER::...} to " a a a" (VARE_WANTRES, none)
+Applying ${COUNTER::...} to " a a a" (VARE_WANTRES, none, none)
 Modifier part: " a a a a"
 Global:COUNTER =  a a a a
-Result of ${COUNTER::= a a a a} is "" (VARE_WANTRES, none)
-Applying ${C:Q} to "3" (VARE_WANTRES, none)
+Result of ${COUNTER::= a a a a} is "" (VARE_WANTRES, none, none)
+Applying ${C:Q} to "3" (VARE_WANTRES, none, none)
 QuoteMeta: [3]
-Result of ${C:Q} is "3" (VARE_WANTRES, none)
+Result of ${C:Q} is "3" (VARE_WANTRES, none, none)
 Var_Parse: ${COUNTER:[#]:Q} with VARE_WANTRES
-Applying ${COUNTER:[...} to " a a a a" (VARE_WANTRES, none)
+Applying ${COUNTER:[...} to " a a a a" (VARE_WANTRES, none, none)
 Modifier part: "#"
-Result of ${COUNTER:[#]} is "4" (VARE_WANTRES, none)
-Applying ${COUNTER:Q} to "4" (VARE_WANTRES, none)
+Result of ${COUNTER:[#]} is "4" (VARE_WANTRES, none, none)
+Applying ${COUNTER:Q} to "4" (VARE_WANTRES, none, none)
 QuoteMeta: [4]
-Result of ${COUNTER:Q} is "4" (VARE_WANTRES, none)
+Result of ${COUNTER:Q} is "4" (VARE_WANTRES, none, none)
 A=1 B=2 C=3 COUNTER=4
 Var_Parse: ${RELEVANT::=no} with VARE_WANTRES
-Applying ${RELEVANT::...} to "yes (run-time part)" (VARE_WANTRES, none)
+Applying ${RELEVANT::...} to "yes (run-time part)" (VARE_WANTRES, none, none)
 Modifier part: "no"
 Global:RELEVANT = no
 exit status 0
diff -r fa4675d0b6fb -r 6b1ec94eb151 usr.bin/make/unit-tests/vardebug.exp
--- a/usr.bin/make/unit-tests/vardebug.exp      Tue Sep 22 06:06:18 2020 +0000
+++ b/usr.bin/make/unit-tests/vardebug.exp      Tue Sep 22 06:13:38 2020 +0000
@@ -4,75 +4,75 @@
 Global:delete VAR
 Global:delete VAR (not found)
 Var_Parse: ${:U} with VARE_WANTRES
-Applying ${:U} to "" (VARE_WANTRES, VAR_JUNK)
-Result of ${:U} is "" (VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:U} to "" (VARE_WANTRES, none, VEF_UNDEF)
+Result of ${:U} is "" (VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 Var_Set("${:U}", "empty name", ...) name expands to empty string - ignored
 Var_Parse: ${:U} with VARE_WANTRES
-Applying ${:U} to "" (VARE_WANTRES, VAR_JUNK)
-Result of ${:U} is "" (VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:U} to "" (VARE_WANTRES, none, VEF_UNDEF)
+Result of ${:U} is "" (VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 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)
+Applying ${VAR:M...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 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)
+Result of ${VAR:M[2]} is "2" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 Var_Parse: ${VAR:N[2]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:N...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
+Applying ${VAR:N...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 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)
+Result of ${VAR:N[2]} is "1 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 Var_Parse: ${VAR:S,2,two,} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:S...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
+Applying ${VAR:S...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 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)
+Result of ${VAR:S,2,two,} is "1 two 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 Var_Parse: ${VAR:Q} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:Q} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
+Applying ${VAR:Q} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 QuoteMeta: [1\ 2\ 3]
-Result of ${VAR:Q} is "1\ 2\ 3" (VARE_UNDEFERR|VARE_WANTRES, none)
+Result of ${VAR:Q} is "1\ 2\ 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 Var_Parse: ${VAR:tu:tl:Q} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${VAR:t...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
-Result of ${VAR:tu} is "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
-Applying ${VAR:t...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
-Result of ${VAR:tl} is "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
-Applying ${VAR:Q} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none)
+Applying ${VAR:t...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
+Result of ${VAR:tu} is "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
+Applying ${VAR:t...} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
+Result of ${VAR:tl} is "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
+Applying ${VAR:Q} to "1 2 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 QuoteMeta: [1\ 2\ 3]
-Result of ${VAR:Q} is "1\ 2\ 3" (VARE_UNDEFERR|VARE_WANTRES, none)
+Result of ${VAR:Q} is "1\ 2\ 3" (VARE_UNDEFERR|VARE_WANTRES, none, none)
 Var_Parse: ${:Uvalue:${:UM*e}:Mvalu[e]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK)
-Result of ${:Uvalue} is "value" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF)
+Result of ${:Uvalue} is "value" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 Var_Parse: ${:UM*e}:Mvalu[e]} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK)
-Result of ${:UM*e} is "M*e" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF)
+Result of ${:UM*e} is "M*e" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 Indirect modifier "M*e" from "${:UM*e}"
-Applying ${:M...} to "value" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:M...} to "value" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF)
 Pattern[] for [value] is [*e]
 ModifyWords: split "value" into 1 words
 VarMatch [value] [*e]
-Result of ${:M*e} is "value" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
-Applying ${:M...} to "value" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Result of ${:M*e} is "value" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF)
+Applying ${:M...} to "value" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 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, VAR_JUNK|VAR_KEEP)
+Result of ${:Mvalu[e]} is "value" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 Var_Parse: ${:UVAR} with VARE_WANTRES
-Applying ${:U...} to "" (VARE_WANTRES, VAR_JUNK)
-Result of ${:UVAR} is "VAR" (VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:U...} to "" (VARE_WANTRES, none, VEF_UNDEF)
+Result of ${:UVAR} is "VAR" (VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 Global:delete VAR
 Var_Parse: ${:Uvariable:unknown} with VARE_UNDEFERR|VARE_WANTRES
-Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK)
-Result of ${:Uvariable} is "variable" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
-Applying ${:u...} to "variable" (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Applying ${:U...} to "" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF)
+Result of ${:Uvariable} is "variable" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
+Applying ${:u...} to "variable" (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 make: Unknown modifier 'u'
-Result of ${:unknown} is error (VARE_UNDEFERR|VARE_WANTRES, VAR_JUNK|VAR_KEEP)
+Result of ${:unknown} is error (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_DEF)
 make: "vardebug.mk" line 44: Malformed conditional (${:Uvariable:unknown})
 Var_Parse: ${UNDEFINED} with VARE_UNDEFERR|VARE_WANTRES
 make: "vardebug.mk" line 53: Malformed conditional (${UNDEFINED})
diff -r fa4675d0b6fb -r 6b1ec94eb151 usr.bin/make/unit-tests/varname-dot-shell.exp
--- a/usr.bin/make/unit-tests/varname-dot-shell.exp     Tue Sep 22 06:06:18 2020 +0000
+++ b/usr.bin/make/unit-tests/varname-dot-shell.exp     Tue Sep 22 06:13:38 2020 +0000
@@ -13,7 +13,7 @@
 ParseReadLine (24): 'all:'
 ParseReadLine (25): '  @echo ${.SHELL:M*}'
 Var_Parse: ${.SHELL:M*} with VARE_WANTRES
-Applying ${.SHELL:M...} to "(details omitted)" (VARE_WANTRES, VAR_READONLY)
+Applying ${.SHELL:M...} to "(details omitted)" (VARE_WANTRES, VAR_READONLY, none)
 Pattern[.SHELL] for [(details omitted)] is [*]
-Result of ${.SHELL:M*} is "(details omitted)" (VARE_WANTRES, VAR_READONLY)
+Result of ${.SHELL:M*} is "(details omitted)" (VARE_WANTRES, VAR_READONLY, none)
 exit status 0
diff -r fa4675d0b6fb -r 6b1ec94eb151 usr.bin/make/var.c
--- a/usr.bin/make/var.c        Tue Sep 22 06:06:18 2020 +0000
+++ b/usr.bin/make/var.c        Tue Sep 22 06:13:38 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: var.c,v 1.526 2020/09/22 06:06:18 rillig Exp $ */
+/*     $NetBSD: var.c,v 1.527 2020/09/22 06:13:38 rillig Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -121,7 +121,7 @@
 #include    "metachar.h"
 



Home | Main Index | Thread Index | Old Index