head 1.9; access; symbols netbsd-11-0-RELEASE:1.9 netbsd-11-0-RC7:1.9 netbsd-11-0-RC6:1.9 netbsd-11-0-RC5:1.9 netbsd-11-0-RC4:1.9 netbsd-11-0-RC3:1.9 netbsd-11-0-RC2:1.9 netbsd-11-0-RC1:1.9 perseant-exfatfs-base-20250801:1.9 netbsd-11:1.9.0.2 netbsd-11-base:1.9 netbsd-10-1-RELEASE:1.1 perseant-exfatfs-base-20240630:1.6 perseant-exfatfs:1.6.0.2 perseant-exfatfs-base:1.6 netbsd-10-0-RELEASE:1.1 netbsd-10-0-RC6:1.1 netbsd-10-0-RC5:1.1 netbsd-10-0-RC4:1.1 netbsd-10-0-RC3:1.1 netbsd-10-0-RC2:1.1 netbsd-10-0-RC1:1.1 netbsd-10:1.1.0.6 netbsd-10-base:1.1 cjep_sun2x-base1:1.1 cjep_sun2x:1.1.0.4 cjep_sun2x-base:1.1 cjep_staticlib_x-base1:1.1 cjep_staticlib_x:1.1.0.2 cjep_staticlib_x-base:1.1; locks; strict; comment @# @; 1.9 date 2025.06.28.22.39.28; author rillig; state Exp; branches; next 1.8; commitid CDDpACH2g2jV3I0G; 1.8 date 2025.03.30.09.51.50; author rillig; state Exp; branches; next 1.7; commitid veGmSzVhPiW2G4PF; 1.7 date 2024.07.04.17.47.54; author rillig; state Exp; branches; next 1.6; commitid mjDGVMgldk7QYxgF; 1.6 date 2023.11.19.09.45.19; author rillig; state Exp; branches 1.6.2.1; next 1.5; commitid WwqvGUzmyk4tEcNE; 1.5 date 2023.08.20.20.48.32; author rillig; state Exp; branches; next 1.4; commitid 7q4T2mqOfC1hfzBE; 1.4 date 2023.08.19.11.09.02; author rillig; state Exp; branches; next 1.3; commitid Wc8jar4Kqapz2oBE; 1.3 date 2023.08.19.10.52.13; author rillig; state Exp; branches; next 1.2; commitid BookaqSA0CGHYnBE; 1.2 date 2023.08.19.10.33.32; author rillig; state Exp; branches; next 1.1; commitid SQtUMDbpmCd6SnBE; 1.1 date 2020.10.02.20.34.59; author rillig; state Exp; branches; next ; commitid T0bzSy3bGskOYmqC; 1.6.2.1 date 2025.08.02.05.58.33; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; desc @@ 1.9 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: directive-export-gmake.mk:71: Invalid line "export VAR=${:U1}", expanded to "export VAR=1" in .for loop from directive-export-gmake.mk:67 with value = 1 make: directive-export-gmake.mk:85: 16:00:00 make: directive-export-gmake.mk:92: Variable/Value missing from "export" make: Fatal errors encountered -- cannot continue make: stopped in unit-tests exit status 1 @ 1.8 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 @d1 1 a1 1 make: directive-export-gmake.mk:71: Invalid line 'export VAR=${:U1}', expanded to 'export VAR=1' @ 1.7 log @make: add more context information to error messages In case of a parse error or evaluation error, print the variable value in addition to the variable name, to see the effects of previous expression modifiers. In nested make calls, print the current directory at the bottom of a stack trace, as that information is otherwise hard to get in a parallel build spanning multiple directories. @ text @d1 1 a1 1 make: "directive-export-gmake.mk" line 71: Invalid line 'export VAR=${:U1}', expanded to 'export VAR=1' d3 2 a4 2 make: "directive-export-gmake.mk" line 85: 16:00:00 make: "directive-export-gmake.mk" line 92: Variable/Value missing from "export" @ 1.6 log @tests/make: test and explain exporting of variables @ text @d2 1 @ 1.6.2.1 log @Sync with HEAD @ text @d1 3 a3 4 make: directive-export-gmake.mk:71: Invalid line "export VAR=${:U1}", expanded to "export VAR=1" in .for loop from directive-export-gmake.mk:67 with value = 1 make: directive-export-gmake.mk:85: 16:00:00 make: directive-export-gmake.mk:92: Variable/Value missing from "export" @ 1.5 log @tests/make: show a difference between 'export' and '.export' @ text @d3 1 @ 1.4 log @make: show realistic invalid line in error message Previously, the error message 'Invalid line' showed only the expanded line, which might or might not show the actual problem. To be more helpful, add the unexpanded line to the error message in case they differ. Remove the special handling of invalid lines that result from merge conflicts. RCS is not commonly used anymore, and mentioning CVS was too specific. By echoing the whole line, the patterns '<<<<<<' and '>>>>>>' are clear enough to hint at the problem. @ text @d2 1 @ 1.3 log @make: add more details to error message about invalid lines @ text @d1 1 a1 1 make: "directive-export-gmake.mk" line 73: Invalid line 'export VAR=1' @ 1.2 log @tests/make: provide instructions for reproducing bug in gmtime The test is not enabled because its results differ too much between the platforms. @ text @d1 1 a1 1 make: "directive-export-gmake.mk" line 74: Invalid line type @ 1.1 log @make(1): add tests for parsing and exporting variables Once again, there are a few surprises deeply hidden inside the edge cases. @ text @d1 4 a4 1 exit status 0 @