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: Sat Mar 29 16:44:14 UTC 2025
Modified Files:
src/usr.bin/make: var.c
src/usr.bin/make/unit-tests: moderrs.exp moderrs.mk vardebug.exp
vardebug.mk varmod-edge.exp varmod-edge.mk varmod-indirect.exp
varmod-indirect.mk
Log Message:
make: stop parsing after seeing an unknown modifier in an expression
Previously, after an expression such as ${VAR:Z::::}, make detected the
unknown modifier ":Z" and then continued parsing, which produced
unnecessary follow-up error messages. It was also necessary to
distinguish the error cases when logging the result of an applied
modifier in -dv mode.
Unify the error handling cases of a syntax error, an evaluation error
and an unknown modifier, to avoid the unnecessary follow-up error
messages.
The test in varmod-edge.mk now produces ":}" from the erroneous
expression, which may be misleading and thus will be looked at in a
follow-up commit.
The general idea of this patch was reviewed by sjg, I made a few
nonsubstantial changes after the review.
To generate a diff of this commit:
cvs rdiff -u -r1.1149 -r1.1150 src/usr.bin/make/var.c
cvs rdiff -u -r1.49 -r1.50 src/usr.bin/make/unit-tests/moderrs.exp
cvs rdiff -u -r1.43 -r1.44 src/usr.bin/make/unit-tests/moderrs.mk
cvs rdiff -u -r1.40 -r1.41 src/usr.bin/make/unit-tests/vardebug.exp
cvs rdiff -u -r1.16 -r1.17 src/usr.bin/make/unit-tests/vardebug.mk
cvs rdiff -u -r1.30 -r1.31 src/usr.bin/make/unit-tests/varmod-edge.exp
cvs rdiff -u -r1.34 -r1.35 src/usr.bin/make/unit-tests/varmod-edge.mk
cvs rdiff -u -r1.32 -r1.33 src/usr.bin/make/unit-tests/varmod-indirect.exp
cvs rdiff -u -r1.21 -r1.22 src/usr.bin/make/unit-tests/varmod-indirect.mk
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