head	1.13;
access;
symbols
	netbsd-11-0-RC6:1.13
	netbsd-11-0-RC5:1.13
	netbsd-11-0-RC4:1.13
	netbsd-11-0-RC3:1.13
	netbsd-11-0-RC2:1.13
	netbsd-11-0-RC1:1.13
	perseant-exfatfs-base-20250801:1.13
	netbsd-11:1.13.0.2
	netbsd-11-base:1.13
	netbsd-10-1-RELEASE:1.6
	perseant-exfatfs-base-20240630:1.9
	perseant-exfatfs:1.9.0.2
	perseant-exfatfs-base:1.9
	netbsd-10-0-RELEASE:1.6
	netbsd-10-0-RC6:1.6
	netbsd-10-0-RC5:1.6
	netbsd-10-0-RC4:1.6
	netbsd-10-0-RC3:1.6
	netbsd-10-0-RC2:1.6
	netbsd-10-0-RC1:1.6
	netbsd-10:1.6.0.6
	netbsd-10-base:1.6
	cjep_sun2x-base1:1.6
	cjep_sun2x:1.6.0.4
	cjep_sun2x-base:1.6
	cjep_staticlib_x-base1:1.6
	cjep_staticlib_x:1.6.0.2
	cjep_staticlib_x-base:1.6;
locks; strict;
comment	@# @;


1.13
date	2025.06.28.22.39.28;	author rillig;	state Exp;
branches;
next	1.12;
commitid	CDDpACH2g2jV3I0G;

1.12
date	2025.03.30.09.51.50;	author rillig;	state Exp;
branches;
next	1.11;
commitid	veGmSzVhPiW2G4PF;

1.11
date	2024.08.06.17.46.01;	author rillig;	state Exp;
branches;
next	1.10;
commitid	aC6PdWQrVs87VMkF;

1.10
date	2024.07.04.20.18.40;	author rillig;	state Exp;
branches;
next	1.9;
commitid	75IS4XOhTa8VOygF;

1.9
date	2024.04.23.22.51.28;	author rillig;	state Exp;
branches
	1.9.2.1;
next	1.8;
commitid	4KO7gVEQREzhZj7F;

1.8
date	2023.11.19.21.47.52;	author rillig;	state Exp;
branches;
next	1.7;
commitid	Af4ieJ6RMFvXDgNE;

1.7
date	2023.06.01.20.56.35;	author rillig;	state Exp;
branches;
next	1.6;
commitid	j3tIvMRlxolKQhrE;

1.6
date	2021.01.22.00.12.01;	author rillig;	state Exp;
branches;
next	1.5;
commitid	dn6ro0QYjaafBEEC;

1.5
date	2020.11.15.14.07.53;	author rillig;	state Exp;
branches;
next	1.4;
commitid	9mJf8QxpSpxVpZvC;

1.4
date	2020.11.07.14.40.51;	author rillig;	state Exp;
branches;
next	1.3;
commitid	iDRumlXeA0SZRXuC;

1.3
date	2020.08.20.17.45.47;	author rillig;	state Exp;
branches;
next	1.2;
commitid	lI6ajHLKaFDRqPkC;

1.2
date	2020.08.20.17.23.43;	author rillig;	state Exp;
branches;
next	1.1;
commitid	DqIR8uYUqaFjjPkC;

1.1
date	2020.08.16.12.07.51;	author rillig;	state Exp;
branches;
next	;
commitid	coEgPk3hgfeYGhkC;

1.9.2.1
date	2025.08.02.05.58.31;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;


desc
@@


1.13
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: cond-func-defined.mk:24: Missing ")" after argument "A" for "defined"
make: cond-func-defined.mk:34: Missing ")" after argument "DEF" for "defined"
make: Fatal errors encountered -- cannot continue
make: stopped making "all" in unit-tests
exit status 1
@


1.12
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 2
a2 2
make: cond-func-defined.mk:24: Missing ')' after argument 'A' for 'defined'
make: cond-func-defined.mk:34: Missing ')' after argument 'DEF' for 'defined'
@


1.11
log
@make: add details to error messages about missing ')'
@
text
@d1 2
a2 2
make: "cond-func-defined.mk" line 24: Missing ')' after argument 'A' for 'defined'
make: "cond-func-defined.mk" line 34: Missing ')' after argument 'DEF' for 'defined'
@


1.10
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 2
a2 2
make: "cond-func-defined.mk" line 24: Missing closing parenthesis for defined()
make: "cond-func-defined.mk" line 34: Missing closing parenthesis for defined()
@


1.9
log
@make: clean up comments, code and tests
@
text
@d4 1
a4 1
make: stopped in unit-tests
@


1.9.2.1
log
@Sync with HEAD
@
text
@d1 2
a2 2
make: cond-func-defined.mk:24: Missing ")" after argument "A" for "defined"
make: cond-func-defined.mk:34: Missing ")" after argument "DEF" for "defined"
d4 1
a4 1
make: stopped making "all" in unit-tests
@


1.8
log
@tests/make: replace 'variable expression' with 'expression'

Each expression is based on a variable, there's no need for the
verbosity.  The wording in make's diagnostics will be changed in a
follow-up commit.
@
text
@a2 3
make: "cond-func-defined.mk" line 47: In .for loops, expressions for the loop variables are
make: "cond-func-defined.mk" line 49: substituted at evaluation time.  There is no actual variable
make: "cond-func-defined.mk" line 51: involved, even if it feels like it.
@


1.7
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
@d3 1
a3 1
make: "cond-func-defined.mk" line 47: In .for loops, variable expressions for the loop variables are
@


1.6
log
@make(1): remove "warning" from missing closing parenthesis

This only affects the diagnostics for parse errors that involve a
missing closing parenthesis.  Whether or not this is a parse error is
still the same.

It may look redundant to pass both the CondParser and the parsing
position pp to the functions, but that's necessary since during parsing,
not every code path updates the main parsing position immediately.
@
text
@d1 5
a5 5
make: "cond-func-defined.mk" line 23: Missing closing parenthesis for defined()
make: "cond-func-defined.mk" line 33: Missing closing parenthesis for defined()
make: "cond-func-defined.mk" line 45: In .for loops, variable expressions for the loop variables are
make: "cond-func-defined.mk" line 46: substituted at evaluation time.  There is no actual variable
make: "cond-func-defined.mk" line 47: involved, even if it feels like it.
@


1.5
log
@make(1): clean up some tests

Fix some mistakes in comments.

Improve some comments to be easier understandable.

Inline variables that are irrelevant for the test at hand (RUN,
MAKE_CMD).

Remove references to functions and constants that have since been removed
or renamed.
@
text
@d1 2
a2 4
make: "cond-func-defined.mk" line 23: warning: Missing closing parenthesis for defined()
make: "cond-func-defined.mk" line 23: Malformed conditional (!defined(A B))
make: "cond-func-defined.mk" line 33: warning: Missing closing parenthesis for defined()
make: "cond-func-defined.mk" line 33: Malformed conditional (defined(DEF)
@


1.4
log
@make(1): add test for parse error in function defined()
@
text
@d5 3
@


1.3
log
@make(1): add test for parsing functions in .if conditions
@
text
@d3 2
@


1.2
log
@make(1): add test for the function defined(...)
@
text
@d1 2
a2 2
make: "cond-func-defined.mk" line 25: warning: Missing closing parenthesis for defined()
make: "cond-func-defined.mk" line 25: Malformed conditional (!defined(A B))
@


1.1
log
@make(1): add dummies for fine-grained tests, one per single feature

The test names have been derived from the current manual page.

All these tests are dummies right now, and the code from the existing
tests will be moved into the new tests step by step.

This is done to prevent modmisc, escape, varmod-edge and varmisc from
growing without any bounds, and to reduce the side-effects of one test
to the others.
@
text
@d1 5
a5 1
exit status 0
@

