Source-Changes-HG archive

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

[src/trunk]: src/usr.bin/make/unit-tests tests/make: document history of bug ...



details:   https://anonhg.NetBSD.org/src/rev/714752dd0545
branches:  trunk
changeset: 368861:714752dd0545
user:      rillig <rillig%NetBSD.org@localhost>
date:      Mon Aug 08 19:53:28 2022 +0000

description:
tests/make: document history of bug in parsing unbalanced expressions

The bug was introduced in var.c 1.323, which merged two flags that
sounded as if they had been exact opposites: VAR_NOSUBST (later named
VARE_NOSUBST) and VARE_WANTRES.

Before that commit, the branch where make only counted braces instead of
properly parsing the nested expression was only taken in the modifiers
':@var@body@' and '::=', but not in ':S' and ':C'.

After merging the two flags, the modifier parts of ':S' and ':C' had to
be balanced as well, otherwise parsing would fail in cases where the
expression was only parsed, not evaluated.

diffstat:

 usr.bin/make/unit-tests/parse-var.mk |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (21 lines):

diff -r b3fe26bf8517 -r 714752dd0545 usr.bin/make/unit-tests/parse-var.mk
--- a/usr.bin/make/unit-tests/parse-var.mk      Mon Aug 08 18:55:18 2022 +0000
+++ b/usr.bin/make/unit-tests/parse-var.mk      Mon Aug 08 19:53:28 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: parse-var.mk,v 1.3 2022/08/08 18:23:30 rillig Exp $
+# $NetBSD: parse-var.mk,v 1.4 2022/08/08 19:53:28 rillig Exp $
 #
 # Tests for parsing variable expressions.
 
@@ -14,8 +14,9 @@
 .endif
 
 
-# Before var.c 1.1028 from 2022-08-08, the exact way of parsing an expression
-# depended on whether the expression was actually evaluated or merely parsed.
+# Since var.c 1.323 from 202-07-26 18:11 and before var.c 1.1028 from
+# 2022-08-08, the exact way of parsing an expression depended on whether the
+# expression was actually evaluated or merely parsed.
 #
 # If it was evaluated, nested expressions were parsed correctly, parsing each
 # modifier according to its exact definition (see varmod.mk).



Home | Main Index | Thread Index | Old Index