Module Name: src Committed By: rillig Date: Sat Jan 8 22:24:20 UTC 2022
Modified Files: src/usr.bin/make: parse.c src/usr.bin/make/unit-tests: opt-debug-parse.exp opt-debug-parse.mk Log Message: make: fix line number in debug log after returning from a file The parser returns to the next line, not to the current line. To generate a diff of this commit: cvs rdiff -u -r1.640 -r1.641 src/usr.bin/make/parse.c cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/opt-debug-parse.exp cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/opt-debug-parse.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.640 src/usr.bin/make/parse.c:1.641 --- src/usr.bin/make/parse.c:1.640 Sat Jan 8 21:28:59 2022 +++ src/usr.bin/make/parse.c Sat Jan 8 22:24:20 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.640 2022/01/08 21:28:59 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.641 2022/01/08 22:24:20 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -106,7 +106,7 @@ #include "pathnames.h" /* "@(#)parse.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: parse.c,v 1.640 2022/01/08 21:28:59 rillig Exp $"); +MAKE_RCSID("$NetBSD: parse.c,v 1.641 2022/01/08 22:24:20 rillig Exp $"); /* * A file being read. @@ -2263,7 +2263,7 @@ ParseEOF(void) curFile = CurFile(); DEBUG2(PARSE, "ParseEOF: returning to file %s, line %d\n", - curFile->name.str, curFile->lineno); + curFile->name.str, curFile->readLines + 1); SetParseFile(curFile->name.str); return true; Index: src/usr.bin/make/unit-tests/opt-debug-parse.exp diff -u src/usr.bin/make/unit-tests/opt-debug-parse.exp:1.4 src/usr.bin/make/unit-tests/opt-debug-parse.exp:1.5 --- src/usr.bin/make/unit-tests/opt-debug-parse.exp:1.4 Sat Jan 8 22:13:43 2022 +++ src/usr.bin/make/unit-tests/opt-debug-parse.exp Sat Jan 8 22:24:20 2022 @@ -3,14 +3,14 @@ SetFilenameVars: ${.PARSEDIR} = `<curdir Parsing line 17: .info trace with multi-line .for loop head make: "opt-debug-parse.mk" line 17: trace with multi-line .for loop head in .include from opt-debug-parse.mk:18 -ParseEOF: returning to file opt-debug-parse.mk, line 18 +ParseEOF: returning to file opt-debug-parse.mk, line 19 SetFilenameVars: ${.PARSEDIR} = `<curdir>' ${.PARSEFILE} = `opt-debug-parse.mk' -Parsing line 23: .include "/dev/null" +Parsing line 24: .include "/dev/null" Parse_PushInput: file /dev/null, line 1 SetFilenameVars: ${.PARSEDIR} = `/dev' ${.PARSEFILE} = `null' SetFilenameVars: ${.INCLUDEDFROMDIR} = `<curdir>' ${.INCLUDEDFROMFILE} = `opt-debug-parse.mk' -ParseEOF: returning to file opt-debug-parse.mk, line 23 +ParseEOF: returning to file opt-debug-parse.mk, line 25 SetFilenameVars: ${.PARSEDIR} = `<curdir>' ${.PARSEFILE} = `opt-debug-parse.mk' -Parsing line 25: .MAKEFLAGS: -d0 +Parsing line 26: .MAKEFLAGS: -d0 ParseDependency(.MAKEFLAGS: -d0) exit status 0 Index: src/usr.bin/make/unit-tests/opt-debug-parse.mk diff -u src/usr.bin/make/unit-tests/opt-debug-parse.mk:1.3 src/usr.bin/make/unit-tests/opt-debug-parse.mk:1.4 --- src/usr.bin/make/unit-tests/opt-debug-parse.mk:1.3 Sat Jan 8 22:13:43 2022 +++ src/usr.bin/make/unit-tests/opt-debug-parse.mk Sat Jan 8 22:24:20 2022 @@ -1,4 +1,4 @@ -# $NetBSD: opt-debug-parse.mk,v 1.3 2022/01/08 22:13:43 rillig Exp $ +# $NetBSD: opt-debug-parse.mk,v 1.4 2022/01/08 22:24:20 rillig Exp $ # # Tests for the -dp command line option, which adds debug logging about # makefile parsing. @@ -16,10 +16,11 @@ value .info trace with multi-line .for loop head .endfor -# FIXME: The .exp file says 'in .include from opt-debug-parse.mk:19', which is +# FIXME: The .exp file says 'in .include from opt-debug-parse.mk:18', which is # completely wrong. It should rather say 'in .for loop from :13'. -# XXX: The debug log should return to "line 24" instead of "line 23". +# Before parse.c 1.461 from 2022-01-08, the debug log said it returned to +# the line of the '.include' instead of the line following it. .include "/dev/null" .MAKEFLAGS: -d0