head 1.10; access; symbols netbsd-10-2-RELEASE:1.4 netbsd-11-0-RELEASE:1.10 netbsd-11-0-RC7:1.10 netbsd-11-0-RC6:1.10 netbsd-11-0-RC5:1.10 netbsd-11-0-RC4:1.10 netbsd-11-0-RC3:1.10 netbsd-11-0-RC2:1.10 netbsd-11-0-RC1:1.10 perseant-exfatfs-base-20250801:1.10 netbsd-11:1.10.0.2 netbsd-11-base:1.10 netbsd-10-1-RELEASE:1.4 perseant-exfatfs-base-20240630:1.5 perseant-exfatfs:1.5.0.2 perseant-exfatfs-base:1.5 netbsd-10-0-RELEASE:1.4 netbsd-10-0-RC6:1.4 netbsd-10-0-RC5:1.4 netbsd-10-0-RC4:1.4 netbsd-10-0-RC3:1.4 netbsd-10-0-RC2:1.4 netbsd-10-0-RC1:1.4 netbsd-10:1.4.0.2 netbsd-10-base:1.4 cjep_sun2x-base1:1.2 cjep_sun2x:1.2.0.4 cjep_sun2x-base:1.2 cjep_staticlib_x-base1:1.2 cjep_staticlib_x:1.2.0.2 cjep_staticlib_x-base:1.2; locks; strict; comment @# @; 1.10 date 2025.06.28.22.39.28; author rillig; state Exp; branches; next 1.9; commitid CDDpACH2g2jV3I0G; 1.9 date 2025.03.30.09.51.50; author rillig; state Exp; branches; next 1.8; commitid veGmSzVhPiW2G4PF; 1.8 date 2025.01.11.21.21.33; author rillig; state Exp; branches; next 1.7; commitid NtFvbDJHnW9G17FF; 1.7 date 2024.08.06.18.00.17; author rillig; state Exp; branches; next 1.6; commitid 1R0ZDok3menTZMkF; 1.6 date 2024.07.06.21.21.10; author rillig; state Exp; branches; next 1.5; commitid LsFFr28ufjag6PgF; 1.5 date 2023.06.01.20.56.35; author rillig; state Exp; branches 1.5.2.1; next 1.4; commitid j3tIvMRlxolKQhrE; 1.4 date 2021.12.10.19.14.35; author rillig; state Exp; branches; next 1.3; commitid tlg2L0iH4mkEA8kD; 1.3 date 2021.12.09.23.57.19; author rillig; state Exp; branches; next 1.2; commitid WXAtuWj8g7Mwb2kD; 1.2 date 2020.09.10.22.44.08; author rillig; state Exp; branches; next 1.1; commitid jyFYB0Oruzv3pynC; 1.1 date 2020.08.16.12.07.51; author rillig; state Exp; branches; next ; commitid coEgPk3hgfeYGhkC; 1.5.2.1 date 2025.08.02.05.58.31; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; desc @@ 1.10 log @make: consistently use double quotes in error messages Previously, some error messages used single quotes, very few used backticks or parentheses, most already used double quotes. While here, reword a few error messages to be clearer or more consistent with related error messages. @ text @make: cond-op-or.mk:36: Variable "UNDEF" is undefined make: cond-op-or.mk:41: Variable "UNDEF" is undefined make: cond-op-or.mk:44: Variable "UNDEF" is undefined make: cond-op-or.mk:60: Unknown operator "|" make: cond-op-or.mk:66: Unknown operator "|" make: cond-op-or.mk:72: Unknown operator "|" make: cond-op-or.mk:78: Unknown operator "|" make: cond-op-or.mk:87: Unknown operator "|" make: Fatal errors encountered -- cannot continue make: stopped in unit-tests exit status 1 @ 1.9 log @make: use '"filename" line 123' for locations instead of 'filename:123' The format 'filename:123' is commonly used for identifying a location in a file. Text editors recognize it and allow quick navigation through it. The previous format was specific to make and would have required custom support in editors. The new format was already used in stack traces, except for the first line. Now all lines use the same format. @ text @d4 5 a8 5 make: cond-op-or.mk:60: Unknown operator '|' make: cond-op-or.mk:66: Unknown operator '|' make: cond-op-or.mk:72: Unknown operator '|' make: cond-op-or.mk:78: Unknown operator '|' make: cond-op-or.mk:87: Unknown operator '|' @ 1.8 log @make: replace "Malformed conditional" with "Variable is undefined" Evaluating a conditional such as ".if ${UNDEF}" produced a "Malformed conditional" error, even though the form of the conditional was correct, it was the content of the variable that was wrong. Replace this message with the more accurate "Variable is undefined", revealing which of the possibly many variables is actually undefined. @ text @d1 8 a8 8 make: "cond-op-or.mk" line 36: Variable "UNDEF" is undefined make: "cond-op-or.mk" line 41: Variable "UNDEF" is undefined make: "cond-op-or.mk" line 44: Variable "UNDEF" is undefined make: "cond-op-or.mk" line 60: Unknown operator '|' make: "cond-op-or.mk" line 66: Unknown operator '|' make: "cond-op-or.mk" line 72: Unknown operator '|' make: "cond-op-or.mk" line 78: Unknown operator '|' make: "cond-op-or.mk" line 87: Unknown operator '|' @ 1.7 log @make: in error message about conditionals, use single quotes Single quotes are used less often in the conditionals themselves, which leads to fewer confusions. @ text @d1 3 a3 3 make: "cond-op-or.mk" line 36: Malformed conditional '1 && (!${DEF} || ${UNDEF})' make: "cond-op-or.mk" line 41: Malformed conditional '1 && (!${UNDEF} || ${UNDEF})' make: "cond-op-or.mk" line 44: Malformed conditional '1 && (${UNDEF} || ${UNDEF})' @ 1.6 log @make: error out on conditions containing the operators '&' and '|' These abbreviated variants of the '&&' and '||' operators were never documented, so error out in non-lint mode as well. @ text @d1 3 a3 3 make: "cond-op-or.mk" line 36: Malformed conditional (1 && (!${DEF} || ${UNDEF})) make: "cond-op-or.mk" line 41: Malformed conditional (1 && (!${UNDEF} || ${UNDEF})) make: "cond-op-or.mk" line 44: Malformed conditional (1 && (${UNDEF} || ${UNDEF})) @ 1.5 log @tests/make: force line-based diagnostics to be listed in the tests This way, contradictions between the intended output and the actual output are closer together and have a better chance of being spotted. @ text @d1 8 a8 4 make: "cond-op-or.mk" line 47: Malformed conditional (1 && (!${DEF} || ${UNDEF})) make: "cond-op-or.mk" line 50: Malformed conditional (1 && (${UNDEF} || ${UNDEF})) make: "cond-op-or.mk" line 53: Malformed conditional (1 && (!${UNDEF} || ${UNDEF})) make: "cond-op-or.mk" line 75: Malformed conditional (0 ||| 0) @ 1.5.2.1 log @Sync with HEAD @ text @d1 4 a4 8 make: cond-op-or.mk:36: Variable "UNDEF" is undefined make: cond-op-or.mk:41: Variable "UNDEF" is undefined make: cond-op-or.mk:44: Variable "UNDEF" is undefined make: cond-op-or.mk:60: Unknown operator "|" make: cond-op-or.mk:66: Unknown operator "|" make: cond-op-or.mk:72: Unknown operator "|" make: cond-op-or.mk:78: Unknown operator "|" make: cond-op-or.mk:87: Unknown operator "|" @ 1.4 log @tests/make: add more comprehensive tests for short-circuit evaluation @ text @d1 4 a4 4 make: "cond-op-or.mk" line 46: Malformed conditional (1 && (!${DEF} || ${UNDEF})) make: "cond-op-or.mk" line 48: Malformed conditional (1 && (${UNDEF} || ${UNDEF})) make: "cond-op-or.mk" line 50: Malformed conditional (1 && (!${UNDEF} || ${UNDEF})) make: "cond-op-or.mk" line 71: Malformed conditional (0 ||| 0) @ 1.3 log @tests/make: prevent the bug from cond.c 1.283 from happening again @ text @d1 4 a4 1 make: "cond-op-or.mk" line 51: Malformed conditional (0 ||| 0) @ 1.2 log @make(1): add tests for the |, ||, ||| operators @ text @d1 1 a1 1 make: "cond-op-or.mk" line 43: Malformed conditional (0 ||| 0) @ 1.1 log @make(1): add dummies for fine-grained tests, one per single feature The test names have been derived from the current manual page. All these tests are dummies right now, and the code from the existing tests will be moved into the new tests step by step. This is done to prevent modmisc, escape, varmod-edge and varmisc from growing without any bounds, and to reduce the side-effects of one test to the others. @ text @d1 4 a4 1 exit status 0 @