Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/usr.bin/make



Module Name:    src
Committed By:   rillig
Date:           Mon Dec 28 00:46:25 UTC 2020

Modified Files:
        src/usr.bin/make: enum.h main.c make.h nonints.h parse.c var.c
        src/usr.bin/make/unit-tests: varmod-defined.exp varmod-indirect.exp
            varname-dot-shell.exp

Log Message:
make(1): replace global preserveUndefined with VARE_KEEP_UNDEF

Controlling the expansion of variable expressions using a global
variable and a VARE flag was inconsistent.

Converting the global variable into a flag had to prerequisites:

1.  The unintended duplicate variable assignment had to be fixed, as
done in parse.c 1.520 from 2020-12-27.  Without this fix, it would have
been necessary to add more flags to Var_Exists and Var_SetWithFlags, and
this would have become too complex.

2.  There had to be a unit test demonstrating that VARE_KEEP_DOLLAR only
applies to the top-level expression and is not passed to the
subexpressions, while VARE_KEEP_UNDEF applies to all subexpressions as
well.  This test is in var-op-expand.mk 1.10 from 2020-12-28, at least
for the ':@word@' modifier.  In ParseModifierPartSubst, VARE_KEEP_UNDEF
is not passed down either, in the same way.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/usr.bin/make/enum.h
cvs rdiff -u -r1.505 -r1.506 src/usr.bin/make/main.c
cvs rdiff -u -r1.239 -r1.240 src/usr.bin/make/make.h
cvs rdiff -u -r1.185 -r1.186 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.520 -r1.521 src/usr.bin/make/parse.c
cvs rdiff -u -r1.773 -r1.774 src/usr.bin/make/var.c
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/varmod-defined.exp
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/varmod-indirect.exp
cvs rdiff -u -r1.8 -r1.9 src/usr.bin/make/unit-tests/varname-dot-shell.exp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index