| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: varmisc.mk,v 1.27 2020/11/06 23:11:11 rillig Exp $ | | 1 | # $NetBSD: varmisc.mk,v 1.28 2020/11/07 00:07:02 rillig Exp $ |
2 | # | | 2 | # |
3 | # Miscellaneous variable tests. | | 3 | # Miscellaneous variable tests. |
4 | | | 4 | |
5 | all: unmatched_var_paren D_true U_true D_false U_false Q_lhs Q_rhs NQ_none \ | | 5 | all: unmatched_var_paren D_true U_true D_false U_false Q_lhs Q_rhs NQ_none \ |
6 | strftime cmpv manok | | 6 | strftime cmpv manok |
7 | all: save-dollars | | 7 | all: save-dollars |
8 | all: export-appended | | 8 | all: export-appended |
9 | all: parse-dynamic | | 9 | all: parse-dynamic |
10 | all: varerror-unclosed | | 10 | all: varerror-unclosed |
11 | | | 11 | |
12 | unmatched_var_paren: | | 12 | unmatched_var_paren: |
13 | @echo ${foo::=foo-text} | | 13 | @echo ${foo::=foo-text} |
14 | | | 14 | |
| @@ -77,27 +77,27 @@ MAN+= ${MAN$s} | | | @@ -77,27 +77,27 @@ MAN+= ${MAN$s} |
77 | manok: | | 77 | manok: |
78 | @echo MAN=${MAN} | | 78 | @echo MAN=${MAN} |
79 | | | 79 | |
80 | # This is an expanded variant of the above .for loop. | | 80 | # This is an expanded variant of the above .for loop. |
81 | # Between 2020-06-28 and 2020-07-02 this paragraph generated a wrong | | 81 | # Between 2020-06-28 and 2020-07-02 this paragraph generated a wrong |
82 | # error message "Variable VARNAME is recursive". | | 82 | # error message "Variable VARNAME is recursive". |
83 | # When evaluating the !empty expression, the ${:U1} was not expanded and | | 83 | # When evaluating the !empty expression, the ${:U1} was not expanded and |
84 | # thus resulted in the seeming definition VARNAME=${VARNAME}, which is | | 84 | # thus resulted in the seeming definition VARNAME=${VARNAME}, which is |
85 | # obviously recursive. | | 85 | # obviously recursive. |
86 | VARNAME= ${VARNAME${:U1}} | | 86 | VARNAME= ${VARNAME${:U1}} |
87 | .if defined(VARNAME${:U2}) && !empty(VARNAME${:U2}) | | 87 | .if defined(VARNAME${:U2}) && !empty(VARNAME${:U2}) |
88 | .endif | | 88 | .endif |
89 | | | 89 | |
90 | # begin .MAKE.SAVE_DOLLARS; see Var_Set_with_flags and ParseBoolean. | | 90 | # begin .MAKE.SAVE_DOLLARS; see Var_SetWithFlags and ParseBoolean. |
91 | SD_VALUES= 0 1 2 False True false true Yes No yes no On Off ON OFF on off | | 91 | SD_VALUES= 0 1 2 False True false true Yes No yes no On Off ON OFF on off |
92 | SD_4_DOLLARS= $$$$ | | 92 | SD_4_DOLLARS= $$$$ |
93 | | | 93 | |
94 | .for val in ${SD_VALUES} | | 94 | .for val in ${SD_VALUES} |
95 | .MAKE.SAVE_DOLLARS:= ${val} # Must be := since a simple = has no effect. | | 95 | .MAKE.SAVE_DOLLARS:= ${val} # Must be := since a simple = has no effect. |
96 | SD.${val}:= ${SD_4_DOLLARS} | | 96 | SD.${val}:= ${SD_4_DOLLARS} |
97 | .endfor | | 97 | .endfor |
98 | .MAKE.SAVE_DOLLARS:= yes | | 98 | .MAKE.SAVE_DOLLARS:= yes |
99 | | | 99 | |
100 | save-dollars: | | 100 | save-dollars: |
101 | .for val in ${SD_VALUES} | | 101 | .for val in ${SD_VALUES} |
102 | @printf '%s: %-8s = %s\n' $@ ${val} ${SD.${val}:Q} | | 102 | @printf '%s: %-8s = %s\n' $@ ${val} ${SD.${val}:Q} |
103 | .endfor | | 103 | .endfor |