11.5Srillig# $NetBSD: lint.mk,v 1.5 2023/11/19 21:47:52 rillig Exp $
21.2Srillig#
31.4Srillig# Demonstrates stricter checks that are only enabled in lint mode, using the
41.4Srillig# option -dL.
51.2Srillig
61.4Srillig# Before main.c 1.421 from 2020-11-01, make exited successfully even though
71.4Srillig# the error message had been issued as PARSE_FATAL.  This was because back
81.4Srillig# then, make checked for parse errors only after parsing each top-level
91.5Srillig# makefile, in Parse_File.  After that, when expanding expressions
101.4Srillig# in shell commands, the parse errors were not checked again.
111.2Srillig
121.2Srillig# Ouch: as of 2020-08-03, the variable is malformed and parsing stops
131.2Srillig# for a moment, but is continued after the wrongly-guessed end of the
141.2Srillig# variable, which echoes "y@:Q}".
151.2Srillig
161.3Srillig.MAKEFLAGS: -dL
171.3Srillig
181.2Srilligall: mod-loop-varname
191.2Srillig
201.2Srilligmod-loop-varname:
211.2Srillig	@echo ${VAR:Uvalue:@${:Ubar:S,b,v,}@x${var}y@:Q}
221.2Srillig	@echo ${VAR:Uvalue:@!@x$!y@:Q}	# surprisingly allowed
23