varmisc.mk (bmake-20201101) | : | varmisc.mk (bmake-20201117) | ||
---|---|---|---|---|
# $Id: varmisc.mk,v 1.20 2020/10/26 17:43:57 sjg Exp $ | # $Id: varmisc.mk,v 1.21 2020/11/11 23:08:50 sjg Exp $ | |||
# $NetBSD: varmisc.mk,v 1.26 2020/10/24 08:50:17 rillig Exp $ | # $NetBSD: varmisc.mk,v 1.28 2020/11/07 00:07:02 rillig Exp $ | |||
# | # | |||
# Miscellaneous variable tests. | # Miscellaneous variable tests. | |||
all: unmatched_var_paren D_true U_true D_false U_false Q_lhs Q_rhs NQ_none \ | all: unmatched_var_paren D_true U_true D_false U_false Q_lhs Q_rhs NQ_none \ | |||
strftime cmpv manok | strftime cmpv manok | |||
all: save-dollars | all: save-dollars | |||
all: export-appended | all: export-appended | |||
all: parse-dynamic | all: parse-dynamic | |||
all: varerror-unclosed | all: varerror-unclosed | |||
skipping to change at line 91 | skipping to change at line 91 | |||
# This is an expanded variant of the above .for loop. | # This is an expanded variant of the above .for loop. | |||
# Between 2020-06-28 and 2020-07-02 this paragraph generated a wrong | # Between 2020-06-28 and 2020-07-02 this paragraph generated a wrong | |||
# error message "Variable VARNAME is recursive". | # error message "Variable VARNAME is recursive". | |||
# When evaluating the !empty expression, the ${:U1} was not expanded and | # When evaluating the !empty expression, the ${:U1} was not expanded and | |||
# thus resulted in the seeming definition VARNAME=${VARNAME}, which is | # thus resulted in the seeming definition VARNAME=${VARNAME}, which is | |||
# obviously recursive. | # obviously recursive. | |||
VARNAME= ${VARNAME${:U1}} | VARNAME= ${VARNAME${:U1}} | |||
.if defined(VARNAME${:U2}) && !empty(VARNAME${:U2}) | .if defined(VARNAME${:U2}) && !empty(VARNAME${:U2}) | |||
.endif | .endif | |||
# begin .MAKE.SAVE_DOLLARS; see Var_Set_with_flags and s2Boolean. | # begin .MAKE.SAVE_DOLLARS; see Var_SetWithFlags and ParseBoolean. | |||
SD_VALUES= 0 1 2 False True false true Yes No yes no On Off ON OFF on off | SD_VALUES= 0 1 2 False True false true Yes No yes no On Off ON OFF on off | |||
SD_4_DOLLARS= $$$$ | SD_4_DOLLARS= $$$$ | |||
.for val in ${SD_VALUES} | .for val in ${SD_VALUES} | |||
.MAKE.SAVE_DOLLARS:= ${val} # Must be := since a simple = has no effect. | .MAKE.SAVE_DOLLARS:= ${val} # Must be := since a simple = has no effect. | |||
SD.${val}:= ${SD_4_DOLLARS} | SD.${val}:= ${SD_4_DOLLARS} | |||
.endfor | .endfor | |||
.MAKE.SAVE_DOLLARS:= yes | .MAKE.SAVE_DOLLARS:= yes | |||
save-dollars: | save-dollars: | |||
End of changes. 2 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added |