History log of /src/usr.bin/make/unit-tests/include-main.exp |
Revision | | Date | Author | Comments |
1.15 |
| 30-Mar-2025 |
rillig | 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.
|
1.14 |
| 31-Oct-2024 |
rillig | make: in the debug log, always qualify line number with filename
Previously, to find out the filename corresponding to a line number from a 'Parsing' line, it was necessary to find the preceding 'SetFilenameVars' line, which was unnecessarily time-consuming and distracting.
The 'filename:line' format matches the one used in PrintStackTrace, and it differs from the one used in PrintLocation, as the former format is more common in other tools.
Most of the affected unit tests only use the 'Parsing' lines to give additional context to their debug log, so no structural changes there.
|
1.13 |
| 01-Jun-2023 |
rillig | branches: 1.13.2; 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.
|
1.12 |
| 19-Jan-2023 |
rillig | tests/make: rename files that are not test cases
|
1.11 |
| 09-Jan-2022 |
rillig | make: remove redundant lines from stack traces
These lines repeated the information from the .for loop line above them.
|
1.10 |
| 08-Jan-2022 |
rillig | make: add details about .for loop variables to stack traces
The stack traces are enabled with the debug logging option '-dp'.
|
1.9 |
| 08-Jan-2022 |
rillig | make: fix stack traces in -dp mode (since 2021-01-26)
Previously, the stack traces omitted some lines that seemed to be redundant. As a result, the stack traces contained confusing line numbers.
|
1.8 |
| 28-Dec-2021 |
rillig | make: make debug logging a bit more human-friendly
The previous log format "ParseReadLine (%d): '%s'" focused on the implementation, it was not immediately obvious to a casual reader that the number in parentheses was the line number. Additionally, having both a colon and quotes in a log message is uncommon. The quotes have been added in parse.c 1.127 from 2007-01-01.
The new log format "Parsing line %d: %s" is meant to be easier readable by humans. The quotes are not needed since ParseReadLine always strips trailing whitespace, leaving no room for ambiguities. The other log messages follow common punctuation rules, which makes the beginning of the line equally unambiguous. Before var.c 1.911 from 2021-04-05, variable assignments were logged with the format "%s:%s = %s", without a space after the colon.
|
1.7 |
| 04-Apr-2021 |
rillig | make: remove filler word 'Do' from function names for parsing
No functional change, except for debug logging.
|
1.6 |
| 26-Jan-2021 |
rillig | make(1): in -dp mode, print stack trace with each diagnostic
This makes it easier to track down where a warning or an error originated from. This information could be further enriched for .for loops, to also include the variable names and their values. For now, it's good enough to replace the large comment describing how a stack trace _could_ be generated with actual code that implements that idea.
The syntax of the locations is <filename>:<lineno>, which intentionally differs from the traditional "<filename>" line <lineno>, since the former is more widely supported by editors and IDEs.
Having this stacktrace information is especially intended for complicated systems built upon make, such as pkgsrc.
|
1.5 |
| 14-Sep-2020 |
rillig | make(1): describe how Parse_Error might print stack traces
In deeply nested include chains and .for loops this may be a useful feature. It's a little tricky to generate an intuitive stack trace, though not impossible. This explanation also serves as a detailed documentation about how the .include and .for directives are implemented.
|
1.4 |
| 05-Sep-2020 |
rillig | make(1): fix .INCLUDEDFROMDIR/.INCLUDEDFROMFILE
|
1.3 |
| 05-Sep-2020 |
rillig | make(1): add test for .INCLUDEDFILE combined with .for loops
The .for loops are implemented as a special kind of .include, therefore they affect the .INCLUDEDFROM variable.
|
1.2 |
| 05-Sep-2020 |
rillig | make(1): make test for .INCLUDEDFROMDIR simpler
The .info and .warning directives provide exactly the early expansion that this test needs. No more .for for getting a snapshot of a variable.
|
1.1 |
| 17-May-2020 |
rillig | usr.bin/make: demonstrate actual behavior of .INCLUDEDFROMFILE
|
1.13.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|