head	1.6;
access;
symbols
	netbsd-11-0-RC4:1.6
	netbsd-11-0-RC3:1.6
	netbsd-11-0-RC2:1.6
	netbsd-11-0-RC1:1.6
	perseant-exfatfs-base-20250801:1.6
	netbsd-11:1.6.0.2
	netbsd-11-base:1.6
	netbsd-10-1-RELEASE:1.2
	perseant-exfatfs-base-20240630:1.3
	perseant-exfatfs:1.3.0.2
	perseant-exfatfs-base:1.3
	netbsd-10-0-RELEASE:1.2
	netbsd-10-0-RC6:1.2
	netbsd-10-0-RC5:1.2
	netbsd-10-0-RC4:1.2
	netbsd-10-0-RC3:1.2
	netbsd-10-0-RC2:1.2
	netbsd-10-0-RC1:1.2
	netbsd-10:1.2.0.2
	netbsd-10-base:1.2;
locks; strict;
comment	@# @;


1.6
date	2025.03.30.09.51.50;	author rillig;	state Exp;
branches;
next	1.5;
commitid	veGmSzVhPiW2G4PF;

1.5
date	2024.07.04.20.18.40;	author rillig;	state Exp;
branches;
next	1.4;
commitid	75IS4XOhTa8VOygF;

1.4
date	2024.07.04.17.47.54;	author rillig;	state Exp;
branches;
next	1.3;
commitid	mjDGVMgldk7QYxgF;

1.3
date	2023.06.01.20.56.35;	author rillig;	state Exp;
branches
	1.3.2.1;
next	1.2;
commitid	j3tIvMRlxolKQhrE;

1.2
date	2021.09.01.22.44.50;	author rillig;	state Exp;
branches;
next	1.1;
commitid	uW6eXywZNQ33Xi7D;

1.1
date	2021.08.30.17.08.13;	author rillig;	state Exp;
branches;
next	;
commitid	aRKEYAVHUYBRU07D;

1.3.2.1
date	2025.08.02.05.58.34;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;


desc
@@


1.6
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
@make: directive-for-if.mk:51: if-less endif
	in .for loop from directive-for-if.mk:46 with directive = if
make: directive-for-if.mk:51: if-less endif
	in .for loop from directive-for-if.mk:46 with directive = ifdef
make: directive-for-if.mk:51: if-less endif
	in .for loop from directive-for-if.mk:46 with directive = ifndef
VAR1
VAR3
make: Fatal errors encountered -- cannot continue
make: stopped making "." in unit-tests
exit status 1
@


1.5
log
@make: on error, print the targets to be made

This helps to understand situations with several nested sub-makes in
varying directories.
@
text
@d1 1
a1 1
make: "directive-for-if.mk" line 51: if-less endif
d3 1
a3 1
make: "directive-for-if.mk" line 51: if-less endif
d5 1
a5 1
make: "directive-for-if.mk" line 51: if-less endif
@


1.4
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
@d10 1
a10 1
make: stopped in unit-tests
@


1.3
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
@d2 1
d4 1
d6 1
@


1.3.2.1
log
@Sync with HEAD
@
text
@d1 3
a3 6
make: directive-for-if.mk:51: if-less endif
	in .for loop from directive-for-if.mk:46 with directive = if
make: directive-for-if.mk:51: if-less endif
	in .for loop from directive-for-if.mk:46 with directive = ifdef
make: directive-for-if.mk:51: if-less endif
	in .for loop from directive-for-if.mk:46 with directive = ifndef
d7 1
a7 1
make: stopped making "." in unit-tests
@


1.2
log
@tests/make: fix test directive-for-if

The additional lines 'VAR1' and 'VAR3' were supposed to be there from
the beginning.  I somehow managed to commit an inconsistent state of the
.mk and the .exp file.
@
text
@d1 3
a3 3
make: "directive-for-if.mk" line 48: if-less endif
make: "directive-for-if.mk" line 48: if-less endif
make: "directive-for-if.mk" line 48: if-less endif
@


1.1
log
@tests/make: explain where "${var}" in .for loops comes from
@
text
@d4 2
@

