mirror of
https://github.com/mirror/make.git
synced 2026-09-02 04:38:12 +08:00
[SV 46433] Show recipe line offsets in line number messages.
While displaying line numbers, show the relevant line number inside the recipe not just the first line of the entire recipe. Sample changes suggested by Brian Vandenberg <phantall@gmail.com> * gnumake.h (gmk_floc): Add an 'offset' to track the recipe offset. * read.c (eval, eval_makefile, eval_buffer): Initialize 'offset'. (record_files, install_pattern_rule): Ditto. * job.c (new_job, job_next_command): Update 'offset' based on the line of the recipe we're expanding or invoking. (child_error): Add 'offset' when showing the line number. * function.c (func_shell_base): Ditto. * output.c (error, fatal): Ditto. * NEWS: Mention the new ability. * tests/scripts/features/errors: Check the line number on errors. * tests/scripts/functions/warning: Check the line number on warnings. * tests/scripts/features/output-sync, tests/scripts/features/parallelism, tests/scripts/functions/shell, tests/scripts/functions/error: Update line numbers.
This commit is contained in:
@@ -1657,7 +1657,7 @@ print_variable (const void *item, void *arg)
|
||||
fputs (" private", stdout);
|
||||
if (v->fileinfo.filenm)
|
||||
printf (_(" (from '%s', line %lu)"),
|
||||
v->fileinfo.filenm, v->fileinfo.lineno);
|
||||
v->fileinfo.filenm, v->fileinfo.lineno + v->fileinfo.offset);
|
||||
putchar ('\n');
|
||||
fputs (prefix, stdout);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user