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