pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/bmake



Module Name:    pkgsrc
Committed By:   jperkin
Date:           Tue Sep 17 11:52:35 UTC 2024

Modified Files:
        pkgsrc/devel/bmake: Makefile
        pkgsrc/devel/bmake/files: ChangeLog Makefile VERSION _strtol.h
            aclocal.m4 arch.c bmake.1 boot-strap bsd.after-import.mk buf.c
            buf.h compat.c cond.c configure.in dir.c dir.h dirname.c for.c
            getopt.c hash.c hash.h install-sh job.c job.h lst.c lst.h
            machine.sh main.c make-conf.h make.1 make.c make.h make_malloc.c
            make_malloc.h makefile.in meta.c meta.h metachar.c metachar.h
            mkdeps.sh os.sh parse.c pathnames.h ranlib.h realpath.c setenv.c
            sigact.h sigaction.c sigcompat.c str.c str.h stresep.c strlcpy.c
            suff.c targ.c trace.c trace.h util.c var.c wait.h
        pkgsrc/devel/bmake/files/PSD.doc: Makefile tutorial.ms
        pkgsrc/devel/bmake/files/filemon: filemon.h filemon_dev.c
            filemon_ktrace.c
        pkgsrc/devel/bmake/files/missing/sys: cdefs.h
        pkgsrc/devel/bmake/files/mk: ChangeLog README auto.dep.mk auto.obj.mk
            autoconf.mk autodep.mk cc-wrap.mk ccm.dep.mk compiler.mk cython.mk
            dep.mk dirdeps-cache-update.mk dirdeps-options.mk
            dirdeps-targets.mk dirdeps.mk doc.mk dpadd.mk files.mk final.mk
            gendirdeps.mk host-target.mk host.libnames.mk inc.mk init.mk
            install-mk install-new.mk install-sh java.mk jobs.mk ldorder.mk
            lib.mk libnames.mk libs.mk links.mk man.mk manifest.mk
            meta.autodep.mk meta.stage.mk meta.subdir.mk meta.sys.mk
            meta2deps.py meta2deps.sh mk-files.txt mkopt.sh newlog.sh nls.mk
            obj.mk options.mk own.mk posix.mk prlist.mk prog.mk progs.mk
            rst2htm.mk scripts.mk srctop.mk stage-install.sh subdir.mk
            suffixes.mk sys.clean-env.mk sys.debug.mk sys.dependfile.mk
            sys.dirdeps.mk sys.mk sys.vars.mk target-flags.mk warnings.mk
            whats.mk yacc.mk
        pkgsrc/devel/bmake/files/mk/sys: AIX.mk Darwin.mk Generic.mk HP-UX.mk
            IRIX.mk Linux.mk NetBSD.mk OSF1.mk OpenBSD.mk SCO_SV.mk SunOS.mk
            UnixWare.mk
        pkgsrc/devel/bmake/files/unit-tests: Makefile Makefile.config.in
            archive-suffix.mk archive.mk cmd-errors-jobs.exp cmd-errors-jobs.mk
            cmd-errors-lint.exp cmd-errors-lint.mk cmd-errors.exp cmd-errors.mk
            cmd-interrupt.exp cmd-interrupt.mk cmdline-redirect-stdin.mk
            cmdline-undefined.mk cmdline.exp cmdline.mk comment.mk
            compat-error.mk cond-cmp-numeric-eq.exp cond-cmp-numeric-eq.mk
            cond-cmp-numeric-ge.mk cond-cmp-numeric-gt.mk
            cond-cmp-numeric-le.mk cond-cmp-numeric-lt.mk
            cond-cmp-numeric-ne.mk cond-cmp-numeric.exp cond-cmp-numeric.mk
            cond-cmp-string.exp cond-cmp-string.mk cond-cmp-unary.mk
            cond-eof.exp cond-eof.mk cond-func-commands.mk
            cond-func-defined.exp cond-func-defined.mk cond-func-empty.exp
            cond-func-empty.mk cond-func-exists.mk cond-func-make-main.mk
            cond-func-make.mk cond-func-target.mk cond-func.exp cond-func.mk
            cond-late.exp cond-late.mk cond-op-and-lint.mk cond-op-and.exp
            cond-op-and.mk cond-op-not.exp cond-op-not.mk cond-op-or-lint.mk
            cond-op-or.exp cond-op-or.mk cond-op-parentheses.exp
            cond-op-parentheses.mk cond-op.exp cond-op.mk cond-short.mk
            cond-token-number.exp cond-token-number.mk cond-token-plain.exp
            cond-token-plain.mk cond-token-string.exp cond-token-string.mk
            cond-token-var.exp cond-token-var.mk cond-undef-lint.exp
            cond-undef-lint.mk counter-append.mk counter.mk
            dep-colon-bug-cross-file.mk dep-colon.mk dep-double-colon-indep.mk
            dep-double-colon.mk dep-duplicate.mk dep-exclam.mk dep-none.mk
            dep-op-missing.mk dep-percent.mk dep-var.mk dep-wildcards.mk dep.mk
            depsrc-end.mk depsrc-exec.mk depsrc-ignore.mk depsrc-made.mk
            depsrc-make.mk depsrc-meta.mk depsrc-nometa.mk depsrc-nometa_cmp.mk
            depsrc-nopath.mk depsrc-notmain.mk depsrc-optional.mk
            depsrc-phony.mk depsrc-precious.mk depsrc-recursive.mk
            depsrc-silent.mk depsrc-use.mk depsrc-usebefore-double-colon.mk
            depsrc-usebefore.mk depsrc-wait.mk depsrc.mk
            deptgt-begin-fail-indirect.mk deptgt-begin-fail.mk deptgt-begin.mk
            deptgt-default.mk deptgt-delete_on_error.mk deptgt-end-fail-all.mk
            deptgt-end-fail-indirect.mk deptgt-end-fail.mk deptgt-end-jobs.mk
            deptgt-end.mk deptgt-error.mk deptgt-ignore.mk deptgt-interrupt.mk
            deptgt-main.mk deptgt-makeflags.mk deptgt-no_parallel.mk
            deptgt-nopath.mk deptgt-notparallel.mk deptgt-objdir.mk
            deptgt-order.mk deptgt-path-suffix.mk deptgt-path.mk
            deptgt-phony.mk deptgt-posix.mk deptgt-precious.mk deptgt-shell.mk
            deptgt-silent-jobs.mk deptgt-silent.mk deptgt-stale.mk
            deptgt-suffixes.mk deptgt.exp deptgt.mk dir-expand-path.mk dir.mk
            directive-dinclude.mk directive-elif.mk directive-elifdef.mk
            directive-elifmake.mk directive-elifndef.mk directive-elifnmake.mk
            directive-else.mk directive-endfor.mk directive-endif.mk
            directive-error.mk directive-export-env.mk
            directive-export-gmake.mk directive-export-impl.mk
            directive-export-literal.mk directive-export.mk
            directive-for-break.mk directive-for-empty.mk
            directive-for-errors.exp directive-for-errors.mk
            directive-for-escape.exp directive-for-escape.mk
            directive-for-generating-endif.mk directive-for-if.mk
            directive-for-lines.mk directive-for-null.mk directive-for.exp
            directive-for.mk directive-hyphen-include.mk directive-if-nested.mk
            directive-if.exp directive-if.mk directive-ifdef.mk
            directive-ifmake.mk directive-ifndef.mk directive-ifnmake.mk
            directive-include-fatal.exp directive-include-fatal.mk
            directive-include-guard.exp directive-include-guard.mk
            directive-include.exp directive-include.mk directive-info.mk
            directive-misspellings.mk directive-sinclude.mk directive-undef.exp
            directive-undef.mk directive-unexport-env.mk directive-unexport.mk
            directive-warning.mk directive.mk dollar.mk doterror.mk dotwait.mk
            error.mk escape.mk export-all.mk export-env.mk export-variants.mk
            export.mk gnode-submake.mk hanoi-include.mk impsrc.mk
            include-main.mk include-sub.inc include-subsub.inc job-flags.mk
            job-output-long-lines.mk job-output-null.mk
            jobs-empty-commands-error.mk jobs-empty-commands.mk
            jobs-error-indirect.mk jobs-error-nested-make.mk
            jobs-error-nested.mk lint.exp lint.mk make-exported.mk
            meta-cmd-cmp.mk meta-ignore.inc moderrs.exp moderrs.mk modmisc.mk
            objdir-writable.mk opt-backwards.mk opt-chdir.mk opt-debug-all.mk
            opt-debug-archive.mk opt-debug-cond.mk opt-debug-curdir.mk
            opt-debug-dir.mk opt-debug-errors-jobs.mk opt-debug-errors.mk
            opt-debug-file.mk opt-debug-for.mk opt-debug-graph1.mk
            opt-debug-graph2.mk opt-debug-graph3.mk opt-debug-hash.mk
            opt-debug-jobs.mk opt-debug-lint.exp opt-debug-lint.mk
            opt-debug-loud.mk opt-debug-making.mk opt-debug-meta.mk
            opt-debug-no-rm.mk opt-debug-parse.mk opt-debug-suff.mk
            opt-debug-targets.mk opt-debug-var.mk opt-debug-varraw.mk
            opt-debug-x-trace.mk opt-debug.mk opt-define.mk opt-env.mk
            opt-file.mk opt-ignore.mk opt-include-dir.mk opt-jobs-internal.mk
            opt-jobs-no-action.mk opt-jobs.mk opt-keep-going-indirect.mk
            opt-keep-going-multiple.mk opt-keep-going.mk opt-m-include-dir.mk
            opt-no-action-at-all.mk opt-no-action-runflags.mk
            opt-no-action-touch.mk opt-no-action.mk opt-query.mk opt-raw.mk
            opt-silent.mk opt-touch-jobs.mk opt-touch.mk opt-tracefile.mk
            opt-var-expanded.mk opt-var-literal.mk opt-version.mk
            opt-warnings-as-errors.mk opt-where-am-i.mk
            opt-x-reduce-exported.mk opt.mk order.mk parse-var.mk parse.mk
            phony-end.mk posix.mk posix1.mk recursive.mk sh-dots.mk
            sh-errctl.mk sh-flags.mk sh-jobs-error.mk sh-jobs.mk
            sh-leading-at.mk sh-leading-hyphen.mk sh-leading-plus.mk
            sh-meta-chars.mk sh-multi-line.mk sh-single-line.mk sh.mk
            shell-csh.mk shell-custom.mk shell-ksh.mk shell-sh.mk
            suff-add-later.mk suff-clear-regular.mk suff-clear-single.mk
            suff-incomplete.mk suff-lookup.mk suff-main-several.mk suff-main.mk
            suff-phony.mk suff-rebuild.mk suff-self.mk suff-transform-debug.mk
            suff-transform-endless.mk suff-transform-expand.mk
            suff-transform-select.mk suff-use.mk sunshcmd.mk ternary.mk
            unexport-env.mk unexport.mk use-inference.mk var-eval-short.exp
            var-eval-short.mk var-op-append.mk var-op-assign.mk
            var-op-default.mk var-op-expand.exp var-op-expand.mk
            var-op-shell.mk var-op-sunsh.mk var-op.mk var-readonly.mk
            var-recursive.exp var-recursive.mk var-scope-cmdline.mk
            var-scope-env.mk var-scope-global.mk var-scope-local-legacy.mk
            var-scope-local.mk var-scope.mk varcmd.mk vardebug.exp vardebug.mk
            varfind.mk varmisc.exp varmisc.mk varmod-assign-shell.exp
            varmod-assign-shell.mk varmod-assign.exp varmod-assign.mk
            varmod-defined.mk varmod-edge.exp varmod-edge.mk
            varmod-exclam-shell.mk varmod-extension.mk varmod-gmtime.exp
            varmod-gmtime.mk varmod-hash.exp varmod-hash.mk varmod-head.mk
            varmod-ifelse.exp varmod-ifelse.mk varmod-indirect.exp
            varmod-indirect.mk varmod-l-name-to-value.mk varmod-localtime.exp
            varmod-localtime.mk varmod-loop-delete.exp varmod-loop-delete.mk
            varmod-loop-varname.exp varmod-loop-varname.mk varmod-loop.mk
            varmod-match-escape.exp varmod-match-escape.mk varmod-match.exp
            varmod-match.mk varmod-mtime.exp varmod-mtime.mk varmod-no-match.mk
            varmod-order-numeric.mk varmod-order-reverse.mk
            varmod-order-shuffle.mk varmod-order-string.mk varmod-order.exp
            varmod-order.mk varmod-path.mk varmod-quote-dollar.mk
            varmod-quote.mk varmod-range.exp varmod-range.mk varmod-remember.mk
            varmod-root.mk varmod-select-words.exp varmod-select-words.mk
            varmod-shell.exp varmod-shell.mk varmod-subst-regex.exp
            varmod-subst-regex.mk varmod-subst.exp varmod-subst.mk
            varmod-sun-shell.exp varmod-sun-shell.mk varmod-sysv.exp
            varmod-sysv.mk varmod-tail.mk varmod-to-abs.mk varmod-to-lower.mk
            varmod-to-many-words.mk varmod-to-one-word.mk
            varmod-to-separator.exp varmod-to-separator.mk varmod-to-title.mk
            varmod-to-upper.mk varmod-undefined.mk varmod-unique.mk varmod.exp
            varmod.mk varname-dollar.mk varname-dot-alltargets.mk
            varname-dot-curdir.mk varname-dot-includedfromdir.mk
            varname-dot-includedfromfile.mk varname-dot-includes.mk
            varname-dot-libs.mk varname-dot-make-dependfile.mk
            varname-dot-make-expand_variables.mk varname-dot-make-exported.mk
            varname-dot-make-jobs-prefix.mk varname-dot-make-jobs.mk
            varname-dot-make-level.mk varname-dot-make-makefile_preference.mk
            varname-dot-make-makefiles.mk varname-dot-make-meta-bailiwick.mk
            varname-dot-make-meta-created.mk varname-dot-make-meta-files.mk
            varname-dot-make-meta-ignore_filter.mk
            varname-dot-make-meta-ignore_paths.mk
            varname-dot-make-meta-ignore_patterns.mk
            varname-dot-make-meta-prefix.mk varname-dot-make-mode.mk
            varname-dot-make-path_filemon.mk varname-dot-make-pid.mk
            varname-dot-make-ppid.mk varname-dot-make-save_dollars.mk
            varname-dot-makeflags.mk varname-dot-makeoverrides.mk
            varname-dot-newline.mk varname-dot-objdir.mk
            varname-dot-parsedir.mk varname-dot-parsefile.mk
            varname-dot-path.mk varname-dot-shell.mk varname-dot-suffixes.mk
            varname-dot-targets.mk varname-empty.mk varname-make.mk
            varname-make_print_var_on_error-jobs.mk
            varname-make_print_var_on_error.mk varname-makefile.mk
            varname-makeflags.mk varname-pwd.mk varname-vpath.mk varname.exp
            varname.mk varparse-dynamic.exp varparse-dynamic.mk
            varparse-errors.exp varparse-errors.mk varparse-mod.mk
            varparse-undef-partial.mk

Log Message:
bmake: Update to 20240909.

2024-09-16  Simon J Gerraty  <sjg%beast.crufty.net@localhost>

        * VERSION (_MAKE_VERSION): 20240909

        * arch.c: fix NetBSD PR 58597

2024-09-01  Simon J Gerraty  <sjg%beast.crufty.net@localhost>

        * Makefile: use SUBDIR.${MK_TESTS} so that we skip
        unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS

        * VERSION (_MAKE_VERSION): 20240901
        Merge with NetBSD make, pick up
        o reduce line length in error messages
        o var.c: simplify printing of an evaluation stack element

2024-08-29  Simon J Gerraty  <sjg%beast.crufty.net@localhost>

        * VERSION (_MAKE_VERSION): 20240828
        Merge with NetBSD make, pick up
        o add more context to error message about recursive variables
        o treat recursive variables non-fatally - continue parsing to end
        of makefile

2024-08-12  Simon J Gerraty  <sjg%beast.crufty.net@localhost>

        * VERSION (_MAKE_VERSION): 20240808
        Merge with NetBSD make, pick up
        o improve some error messages for better clarify and readability

2024-07-22  Simon J Gerraty  <sjg%beast.crufty.net@localhost>

        * VERSION (_MAKE_VERSION): 20240722
        Merge with NetBSD make, pick up
        o job.c: remove dead code

2024-07-21  Simon J Gerraty  <sjg%beast.crufty.net@localhost>

        * VERSION (_MAKE_VERSION): 20240720
        Merge with NetBSD make, pick up
        o compat.c: do not run commands that have parse or evaluation errors.
        o var.c: remove wrong error message about an undefined variable


To generate a diff of this commit:
cvs rdiff -u -r1.81 -r1.82 pkgsrc/devel/bmake/Makefile
cvs rdiff -u -r1.15 -r1.16 pkgsrc/devel/bmake/files/ChangeLog \
    pkgsrc/devel/bmake/files/boot-strap
cvs rdiff -u -r1.6 -r1.7 pkgsrc/devel/bmake/files/Makefile \
    pkgsrc/devel/bmake/files/bsd.after-import.mk \
    pkgsrc/devel/bmake/files/getopt.c pkgsrc/devel/bmake/files/install-sh \
    pkgsrc/devel/bmake/files/make-conf.h pkgsrc/devel/bmake/files/mkdeps.sh \
    pkgsrc/devel/bmake/files/setenv.c pkgsrc/devel/bmake/files/wait.h
cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/bmake/files/VERSION \
    pkgsrc/devel/bmake/files/metachar.c pkgsrc/devel/bmake/files/metachar.h
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/bmake/files/_strtol.h \
    pkgsrc/devel/bmake/files/lst.c pkgsrc/devel/bmake/files/sigact.h \
    pkgsrc/devel/bmake/files/sigaction.c pkgsrc/devel/bmake/files/str.h
cvs rdiff -u -r1.7 -r1.8 pkgsrc/devel/bmake/files/aclocal.m4 \
    pkgsrc/devel/bmake/files/buf.h pkgsrc/devel/bmake/files/hash.h \
    pkgsrc/devel/bmake/files/lst.h pkgsrc/devel/bmake/files/meta.c \
    pkgsrc/devel/bmake/files/ranlib.h
cvs rdiff -u -r1.10 -r1.11 pkgsrc/devel/bmake/files/arch.c \
    pkgsrc/devel/bmake/files/for.c
cvs rdiff -u -r1.13 -r1.14 pkgsrc/devel/bmake/files/bmake.1 \
    pkgsrc/devel/bmake/files/compat.c pkgsrc/devel/bmake/files/var.c
cvs rdiff -u -r1.8 -r1.9 pkgsrc/devel/bmake/files/buf.c \
    pkgsrc/devel/bmake/files/dir.h pkgsrc/devel/bmake/files/hash.c \
    pkgsrc/devel/bmake/files/pathnames.h pkgsrc/devel/bmake/files/str.c \
    pkgsrc/devel/bmake/files/suff.c pkgsrc/devel/bmake/files/trace.h
cvs rdiff -u -r1.11 -r1.12 pkgsrc/devel/bmake/files/cond.c \
    pkgsrc/devel/bmake/files/job.h
cvs rdiff -u -r1.17 -r1.18 pkgsrc/devel/bmake/files/configure.in
cvs rdiff -u -r1.9 -r1.10 pkgsrc/devel/bmake/files/dir.c \
    pkgsrc/devel/bmake/files/make.1 pkgsrc/devel/bmake/files/make.c \
    pkgsrc/devel/bmake/files/sigcompat.c pkgsrc/devel/bmake/files/targ.c \
    pkgsrc/devel/bmake/files/trace.c
cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/bmake/files/dirname.c \
    pkgsrc/devel/bmake/files/make_malloc.c \
    pkgsrc/devel/bmake/files/make_malloc.h \
    pkgsrc/devel/bmake/files/makefile.in pkgsrc/devel/bmake/files/meta.h \
    pkgsrc/devel/bmake/files/realpath.c pkgsrc/devel/bmake/files/stresep.c \
    pkgsrc/devel/bmake/files/strlcpy.c
cvs rdiff -u -r1.22 -r1.23 pkgsrc/devel/bmake/files/job.c
cvs rdiff -u -r1.14 -r1.15 pkgsrc/devel/bmake/files/machine.sh \
    pkgsrc/devel/bmake/files/os.sh pkgsrc/devel/bmake/files/parse.c
cvs rdiff -u -r1.18 -r1.19 pkgsrc/devel/bmake/files/main.c \
    pkgsrc/devel/bmake/files/util.c
cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/bmake/files/make.h
cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/bmake/files/PSD.doc/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/devel/bmake/files/PSD.doc/tutorial.ms
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/bmake/files/filemon/filemon.h \
    pkgsrc/devel/bmake/files/filemon/filemon_dev.c \
    pkgsrc/devel/bmake/files/filemon/filemon_ktrace.c
cvs rdiff -u -r1.7 -r1.8 pkgsrc/devel/bmake/files/missing/sys/cdefs.h
cvs rdiff -u -r1.2 -r1.3 pkgsrc/devel/bmake/files/mk/ChangeLog
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/bmake/files/mk/README \
    pkgsrc/devel/bmake/files/mk/auto.dep.mk \
    pkgsrc/devel/bmake/files/mk/auto.obj.mk \
    pkgsrc/devel/bmake/files/mk/autoconf.mk \
    pkgsrc/devel/bmake/files/mk/autodep.mk \
    pkgsrc/devel/bmake/files/mk/compiler.mk \
    pkgsrc/devel/bmake/files/mk/cython.mk pkgsrc/devel/bmake/files/mk/dep.mk \
    pkgsrc/devel/bmake/files/mk/dirdeps-options.mk \
    pkgsrc/devel/bmake/files/mk/dirdeps-targets.mk \
    pkgsrc/devel/bmake/files/mk/dirdeps.mk pkgsrc/devel/bmake/files/mk/doc.mk \
    pkgsrc/devel/bmake/files/mk/dpadd.mk pkgsrc/devel/bmake/files/mk/files.mk \
    pkgsrc/devel/bmake/files/mk/final.mk \
    pkgsrc/devel/bmake/files/mk/gendirdeps.mk \
    pkgsrc/devel/bmake/files/mk/host-target.mk \
    pkgsrc/devel/bmake/files/mk/host.libnames.mk \
    pkgsrc/devel/bmake/files/mk/inc.mk pkgsrc/devel/bmake/files/mk/init.mk \
    pkgsrc/devel/bmake/files/mk/install-mk \
    pkgsrc/devel/bmake/files/mk/install-new.mk \
    pkgsrc/devel/bmake/files/mk/java.mk \
    pkgsrc/devel/bmake/files/mk/ldorder.mk pkgsrc/devel/bmake/files/mk/lib.mk \
    pkgsrc/devel/bmake/files/mk/libnames.mk \
    pkgsrc/devel/bmake/files/mk/libs.mk pkgsrc/devel/bmake/files/mk/links.mk \
    pkgsrc/devel/bmake/files/mk/man.mk \
    pkgsrc/devel/bmake/files/mk/manifest.mk \
    pkgsrc/devel/bmake/files/mk/meta.autodep.mk \
    pkgsrc/devel/bmake/files/mk/meta.stage.mk \
    pkgsrc/devel/bmake/files/mk/meta.subdir.mk \
    pkgsrc/devel/bmake/files/mk/meta.sys.mk \
    pkgsrc/devel/bmake/files/mk/meta2deps.py \
    pkgsrc/devel/bmake/files/mk/meta2deps.sh \
    pkgsrc/devel/bmake/files/mk/mk-files.txt \
    pkgsrc/devel/bmake/files/mk/mkopt.sh pkgsrc/devel/bmake/files/mk/nls.mk \
    pkgsrc/devel/bmake/files/mk/obj.mk pkgsrc/devel/bmake/files/mk/options.mk \
    pkgsrc/devel/bmake/files/mk/own.mk pkgsrc/devel/bmake/files/mk/prlist.mk \
    pkgsrc/devel/bmake/files/mk/prog.mk pkgsrc/devel/bmake/files/mk/progs.mk \
    pkgsrc/devel/bmake/files/mk/rst2htm.mk \
    pkgsrc/devel/bmake/files/mk/scripts.mk \
    pkgsrc/devel/bmake/files/mk/srctop.mk \
    pkgsrc/devel/bmake/files/mk/stage-install.sh \
    pkgsrc/devel/bmake/files/mk/subdir.mk \
    pkgsrc/devel/bmake/files/mk/sys.clean-env.mk \
    pkgsrc/devel/bmake/files/mk/sys.debug.mk \
    pkgsrc/devel/bmake/files/mk/sys.dependfile.mk \
    pkgsrc/devel/bmake/files/mk/sys.mk \
    pkgsrc/devel/bmake/files/mk/sys.vars.mk \
    pkgsrc/devel/bmake/files/mk/target-flags.mk \
    pkgsrc/devel/bmake/files/mk/warnings.mk \
    pkgsrc/devel/bmake/files/mk/whats.mk pkgsrc/devel/bmake/files/mk/yacc.mk
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/bmake/files/mk/cc-wrap.mk \
    pkgsrc/devel/bmake/files/mk/ccm.dep.mk \
    pkgsrc/devel/bmake/files/mk/dirdeps-cache-update.mk \
    pkgsrc/devel/bmake/files/mk/install-sh \
    pkgsrc/devel/bmake/files/mk/jobs.mk pkgsrc/devel/bmake/files/mk/newlog.sh \
    pkgsrc/devel/bmake/files/mk/posix.mk \
    pkgsrc/devel/bmake/files/mk/suffixes.mk \
    pkgsrc/devel/bmake/files/mk/sys.dirdeps.mk
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/bmake/files/mk/sys/AIX.mk \
    pkgsrc/devel/bmake/files/mk/sys/Darwin.mk \
    pkgsrc/devel/bmake/files/mk/sys/Generic.mk \
    pkgsrc/devel/bmake/files/mk/sys/HP-UX.mk \
    pkgsrc/devel/bmake/files/mk/sys/IRIX.mk \
    pkgsrc/devel/bmake/files/mk/sys/Linux.mk \
    pkgsrc/devel/bmake/files/mk/sys/NetBSD.mk \
    pkgsrc/devel/bmake/files/mk/sys/OSF1.mk \
    pkgsrc/devel/bmake/files/mk/sys/OpenBSD.mk \
    pkgsrc/devel/bmake/files/mk/sys/SunOS.mk \
    pkgsrc/devel/bmake/files/mk/sys/UnixWare.mk
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/bmake/files/mk/sys/SCO_SV.mk
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/bmake/files/unit-tests/Makefile \
    pkgsrc/devel/bmake/files/unit-tests/Makefile.config.in \
    pkgsrc/devel/bmake/files/unit-tests/cond-late.mk \
    pkgsrc/devel/bmake/files/unit-tests/dollar.mk \
    pkgsrc/devel/bmake/files/unit-tests/include-main.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-edge.mk
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/devel/bmake/files/unit-tests/archive-suffix.mk \
    pkgsrc/devel/bmake/files/unit-tests/archive.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.exp \
    pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.exp \
    pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmd-errors.exp \
    pkgsrc/devel/bmake/files/unit-tests/cmd-errors.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.exp \
    pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmdline-redirect-stdin.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmdline-undefined.mk \
    pkgsrc/devel/bmake/files/unit-tests/cmdline.exp \
    pkgsrc/devel/bmake/files/unit-tests/cmdline.mk \
    pkgsrc/devel/bmake/files/unit-tests/compat-error.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ge.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-gt.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-le.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-lt.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ne.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-cmp-unary.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-eof.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-eof.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-commands.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-exists.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-make-main.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-make.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func-target.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-func.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-func.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-and-lint.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-and.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-and.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-not.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-not.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-or-lint.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-or.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-or.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-op.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-op.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-short.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-number.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-number.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-string.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-string.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-var.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-token-var.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.exp \
    pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.mk \
    pkgsrc/devel/bmake/files/unit-tests/counter-append.mk \
    pkgsrc/devel/bmake/files/unit-tests/counter.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-colon-bug-cross-file.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-colon.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-double-colon-indep.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-double-colon.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-duplicate.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-exclam.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-none.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-op-missing.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-percent.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-var.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep-wildcards.mk \
    pkgsrc/devel/bmake/files/unit-tests/dep.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-end.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-exec.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-ignore.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-made.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-make.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-meta.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa_cmp.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-nopath.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-notmain.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-optional.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-phony.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-precious.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-recursive.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-silent.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-use.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore-double-colon.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc-wait.mk \
    pkgsrc/devel/bmake/files/unit-tests/depsrc.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail-indirect.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-begin.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-default.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-delete_on_error.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-all.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-indirect.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-end-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-end.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-error.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-ignore.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-interrupt.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-main.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-makeflags.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-no_parallel.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-nopath.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-notparallel.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-objdir.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-order.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-path-suffix.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-path.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-phony.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-posix.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-precious.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-silent-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-silent.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-stale.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt-suffixes.mk \
    pkgsrc/devel/bmake/files/unit-tests/deptgt.exp \
    pkgsrc/devel/bmake/files/unit-tests/deptgt.mk \
    pkgsrc/devel/bmake/files/unit-tests/dir-expand-path.mk \
    pkgsrc/devel/bmake/files/unit-tests/dir.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-dinclude.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-elif.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-elifdef.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-elifmake.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-elifndef.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-elifnmake.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-else.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-endfor.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-endif.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-error.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-export-env.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-export-gmake.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-export-impl.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-export-literal.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-export.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-break.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-empty.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-generating-endif.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-if.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-lines.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for-null.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-for.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-for.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-hyphen-include.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-if-nested.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-if.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-if.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-ifdef.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-ifmake.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-ifndef.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-ifnmake.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-include.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-include.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-info.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-misspellings.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-sinclude.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-undef.exp \
    pkgsrc/devel/bmake/files/unit-tests/directive-undef.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-unexport-env.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-unexport.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive-warning.mk \
    pkgsrc/devel/bmake/files/unit-tests/directive.mk \
    pkgsrc/devel/bmake/files/unit-tests/export-variants.mk \
    pkgsrc/devel/bmake/files/unit-tests/gnode-submake.mk \
    pkgsrc/devel/bmake/files/unit-tests/hanoi-include.mk \
    pkgsrc/devel/bmake/files/unit-tests/include-sub.inc \
    pkgsrc/devel/bmake/files/unit-tests/include-subsub.inc \
    pkgsrc/devel/bmake/files/unit-tests/job-flags.mk \
    pkgsrc/devel/bmake/files/unit-tests/job-output-long-lines.mk \
    pkgsrc/devel/bmake/files/unit-tests/job-output-null.mk \
    pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands-error.mk \
    pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands.mk \
    pkgsrc/devel/bmake/files/unit-tests/jobs-error-indirect.mk \
    pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested-make.mk \
    pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested.mk \
    pkgsrc/devel/bmake/files/unit-tests/lint.exp \
    pkgsrc/devel/bmake/files/unit-tests/lint.mk \
    pkgsrc/devel/bmake/files/unit-tests/make-exported.mk \
    pkgsrc/devel/bmake/files/unit-tests/meta-cmd-cmp.mk \
    pkgsrc/devel/bmake/files/unit-tests/meta-ignore.inc \
    pkgsrc/devel/bmake/files/unit-tests/objdir-writable.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-backwards.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-chdir.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-all.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-archive.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-cond.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-curdir.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-dir.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-file.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-for.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph1.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph2.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph3.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-hash.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.exp \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-loud.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-making.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-meta.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-no-rm.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-parse.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-suff.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-targets.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-var.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-varraw.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug-x-trace.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-debug.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-define.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-env.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-file.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-ignore.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-include-dir.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-jobs-internal.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-jobs-no-action.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-indirect.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-multiple.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-keep-going.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-m-include-dir.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-no-action-at-all.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-no-action-runflags.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-no-action-touch.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-no-action.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-query.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-raw.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-silent.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-touch-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-touch.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-tracefile.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-var-expanded.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-var-literal.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-version.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-warnings-as-errors.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-where-am-i.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt-x-reduce-exported.mk \
    pkgsrc/devel/bmake/files/unit-tests/opt.mk \
    pkgsrc/devel/bmake/files/unit-tests/parse-var.mk \
    pkgsrc/devel/bmake/files/unit-tests/parse.mk \
    pkgsrc/devel/bmake/files/unit-tests/recursive.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-dots.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-errctl.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-flags.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-jobs-error.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-leading-at.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-leading-hyphen.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-leading-plus.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-meta-chars.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-multi-line.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh-single-line.mk \
    pkgsrc/devel/bmake/files/unit-tests/sh.mk \
    pkgsrc/devel/bmake/files/unit-tests/shell-csh.mk \
    pkgsrc/devel/bmake/files/unit-tests/shell-custom.mk \
    pkgsrc/devel/bmake/files/unit-tests/shell-ksh.mk \
    pkgsrc/devel/bmake/files/unit-tests/shell-sh.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-add-later.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-clear-regular.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-clear-single.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-incomplete.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-lookup.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-main-several.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-main.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-phony.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-rebuild.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-self.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-transform-debug.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-transform-endless.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-transform-expand.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-transform-select.mk \
    pkgsrc/devel/bmake/files/unit-tests/suff-use.mk \
    pkgsrc/devel/bmake/files/unit-tests/use-inference.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-eval-short.exp \
    pkgsrc/devel/bmake/files/unit-tests/var-eval-short.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op-append.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op-assign.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op-default.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op-expand.exp \
    pkgsrc/devel/bmake/files/unit-tests/var-op-expand.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op-sunsh.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-op.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-readonly.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-recursive.exp \
    pkgsrc/devel/bmake/files/unit-tests/var-recursive.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-scope-cmdline.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-scope-env.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-scope-global.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-scope-local-legacy.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-scope-local.mk \
    pkgsrc/devel/bmake/files/unit-tests/var-scope.mk \
    pkgsrc/devel/bmake/files/unit-tests/vardebug.exp \
    pkgsrc/devel/bmake/files/unit-tests/vardebug.mk \
    pkgsrc/devel/bmake/files/unit-tests/varfind.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-assign.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-assign.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-defined.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-exclam-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-extension.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-hash.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-hash.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-head.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-l-name-to-value.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-loop.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-match.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-match.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-no-match.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-order-numeric.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-order-reverse.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-order-shuffle.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-order-string.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-order.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-order.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-path.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-quote-dollar.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-quote.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-range.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-range.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-remember.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-root.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-shell.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-subst.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-subst.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-tail.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-abs.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-lower.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-many-words.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-one-word.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-title.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-to-upper.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-undefined.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod-unique.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmod.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dollar.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-alltargets.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-curdir.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromdir.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromfile.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-includes.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-libs.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-dependfile.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-expand_variables.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-exported.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs-prefix.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-level.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefile_preference.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefiles.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-bailiwick.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-created.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-files.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_filter.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_paths.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_patterns.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-prefix.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-mode.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-path_filemon.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-pid.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-ppid.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-save_dollars.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeflags.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeoverrides.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-newline.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-objdir.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsedir.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsefile.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-path.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-shell.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-suffixes.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-dot-targets.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-empty.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-make.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error-jobs.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-makefile.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-makeflags.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-pwd.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname-vpath.mk \
    pkgsrc/devel/bmake/files/unit-tests/varname.exp \
    pkgsrc/devel/bmake/files/unit-tests/varname.mk \
    pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.exp \
    pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.mk \
    pkgsrc/devel/bmake/files/unit-tests/varparse-errors.exp \
    pkgsrc/devel/bmake/files/unit-tests/varparse-errors.mk \
    pkgsrc/devel/bmake/files/unit-tests/varparse-mod.mk \
    pkgsrc/devel/bmake/files/unit-tests/varparse-undef-partial.mk
cvs rdiff -u -r1.2 -r1.3 pkgsrc/devel/bmake/files/unit-tests/comment.mk \
    pkgsrc/devel/bmake/files/unit-tests/cond-late.exp \
    pkgsrc/devel/bmake/files/unit-tests/moderrs.exp \
    pkgsrc/devel/bmake/files/unit-tests/sunshcmd.mk \
    pkgsrc/devel/bmake/files/unit-tests/ternary.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmisc.exp \
    pkgsrc/devel/bmake/files/unit-tests/varmod-edge.exp
cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/bmake/files/unit-tests/doterror.mk \
    pkgsrc/devel/bmake/files/unit-tests/dotwait.mk \
    pkgsrc/devel/bmake/files/unit-tests/error.mk \
    pkgsrc/devel/bmake/files/unit-tests/escape.mk \
    pkgsrc/devel/bmake/files/unit-tests/export-all.mk \
    pkgsrc/devel/bmake/files/unit-tests/export-env.mk \
    pkgsrc/devel/bmake/files/unit-tests/export.mk \
    pkgsrc/devel/bmake/files/unit-tests/impsrc.mk \
    pkgsrc/devel/bmake/files/unit-tests/moderrs.mk \
    pkgsrc/devel/bmake/files/unit-tests/modmisc.mk \
    pkgsrc/devel/bmake/files/unit-tests/order.mk \
    pkgsrc/devel/bmake/files/unit-tests/phony-end.mk \
    pkgsrc/devel/bmake/files/unit-tests/posix.mk \
    pkgsrc/devel/bmake/files/unit-tests/posix1.mk \
    pkgsrc/devel/bmake/files/unit-tests/unexport-env.mk \
    pkgsrc/devel/bmake/files/unit-tests/unexport.mk \
    pkgsrc/devel/bmake/files/unit-tests/varcmd.mk \
    pkgsrc/devel/bmake/files/unit-tests/varmisc.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/bmake/Makefile
diff -u pkgsrc/devel/bmake/Makefile:1.81 pkgsrc/devel/bmake/Makefile:1.82
--- pkgsrc/devel/bmake/Makefile:1.81    Mon Jul 15 09:10:05 2024
+++ pkgsrc/devel/bmake/Makefile Tue Sep 17 11:52:26 2024
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.81 2024/07/15 09:10:05 jperkin Exp $
+# $NetBSD: Makefile,v 1.82 2024/09/17 11:52:26 jperkin Exp $
 
-PKGNAME=       bmake-20240711
+PKGNAME=       bmake-20240909
 CATEGORIES=    devel
 MASTER_SITES=  https://www.crufty.net/ftp/pub/sjg/
 

Index: pkgsrc/devel/bmake/files/ChangeLog
diff -u pkgsrc/devel/bmake/files/ChangeLog:1.15 pkgsrc/devel/bmake/files/ChangeLog:1.16
--- pkgsrc/devel/bmake/files/ChangeLog:1.15     Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/ChangeLog  Tue Sep 17 11:52:26 2024
@@ -1,3 +1,46 @@
+2024-09-16  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * VERSION (_MAKE_VERSION): 20240909
+
+       * arch.c: fix NetBSD PR 58597
+
+2024-09-01  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * Makefile: use SUBDIR.${MK_TESTS} so that we skip
+       unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS
+
+       * VERSION (_MAKE_VERSION): 20240901
+       Merge with NetBSD make, pick up
+       o reduce line length in error messages
+       o var.c: simplify printing of an evaluation stack element
+
+2024-08-29  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * VERSION (_MAKE_VERSION): 20240828
+       Merge with NetBSD make, pick up
+       o add more context to error message about recursive variables
+       o treat recursive variables non-fatally - continue parsing to end
+       of makefile
+
+2024-08-12  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * VERSION (_MAKE_VERSION): 20240808
+       Merge with NetBSD make, pick up
+       o improve some error messages for better clarify and readability
+
+2024-07-22  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * VERSION (_MAKE_VERSION): 20240722
+       Merge with NetBSD make, pick up
+       o job.c: remove dead code
+
+2024-07-21  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * VERSION (_MAKE_VERSION): 20240720
+       Merge with NetBSD make, pick up
+       o compat.c: do not run commands that have parse or evaluation errors.
+       o var.c: remove wrong error message about an undefined variable
+
 2024-07-13  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
 
        * cleanup redundant differences from NetBSD make
Index: pkgsrc/devel/bmake/files/boot-strap
diff -u pkgsrc/devel/bmake/files/boot-strap:1.15 pkgsrc/devel/bmake/files/boot-strap:1.16
--- pkgsrc/devel/bmake/files/boot-strap:1.15    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/boot-strap Tue Sep 17 11:52:26 2024
@@ -133,7 +133,7 @@
 #      Simon J. Gerraty <sjg%crufty.net@localhost>
 
 # RCSid:
-#      $Id: boot-strap,v 1.15 2024/07/15 09:10:06 jperkin Exp $
+#      $Id: boot-strap,v 1.16 2024/09/17 11:52:26 jperkin Exp $
 #
 #      @(#) Copyright (c) 2001 Simon J. Gerraty
 #

Index: pkgsrc/devel/bmake/files/Makefile
diff -u pkgsrc/devel/bmake/files/Makefile:1.6 pkgsrc/devel/bmake/files/Makefile:1.7
--- pkgsrc/devel/bmake/files/Makefile:1.6       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/Makefile   Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-#      $Id: Makefile,v 1.6 2024/07/15 09:10:06 jperkin Exp $
+#      $Id: Makefile,v 1.7 2024/09/17 11:52:26 jperkin Exp $
 
 PROG=  bmake
 
@@ -76,10 +76,6 @@ COPTS.filemon_ktrace.c += -Wno-error=unu
 
 .PATH: ${srcdir}
 
-.if make(obj) || make(clean)
-SUBDIR+= unit-tests
-.endif
-
 # start-delete1 for bsd.after-import.mk
 # we skip a lot of this when building as part of FreeBSD etc.
 
@@ -111,7 +107,8 @@ WITH_INSTALL_AS_USER=
 OPTIONS_DEFAULT_YES+= \
        AUTOCONF_MK \
        INSTALL_MK \
-       PROG_LINK
+       PROG_LINK \
+       TESTS
 
 OPTIONS_DEFAULT_NO+= \
        PROG_VERSION
@@ -132,6 +129,10 @@ EXTRACT_MAN=no
 MAN= ${PROG}.1
 MAN1= ${MAN}
 
+.if make(obj) || make(clean)
+SUBDIR.${MK_TESTS} += unit-tests
+.endif
+
 .if ${PROG} != "make"
 CLEANFILES+= my.history
 .if make(${MAN}) || !exists(${srcdir}/${MAN})
Index: pkgsrc/devel/bmake/files/bsd.after-import.mk
diff -u pkgsrc/devel/bmake/files/bsd.after-import.mk:1.6 pkgsrc/devel/bmake/files/bsd.after-import.mk:1.7
--- pkgsrc/devel/bmake/files/bsd.after-import.mk:1.6    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/bsd.after-import.mk        Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-# $Id: bsd.after-import.mk,v 1.6 2024/07/15 09:10:06 jperkin Exp $
+# $Id: bsd.after-import.mk,v 1.7 2024/09/17 11:52:26 jperkin Exp $
 
 # This makefile is for use when integrating bmake into a BSD build
 # system.  Use this makefile after importing bmake.
Index: pkgsrc/devel/bmake/files/getopt.c
diff -u pkgsrc/devel/bmake/files/getopt.c:1.6 pkgsrc/devel/bmake/files/getopt.c:1.7
--- pkgsrc/devel/bmake/files/getopt.c:1.6       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/getopt.c   Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: getopt.c,v 1.6 2024/07/15 09:10:06 jperkin Exp $       */
+/*     $NetBSD: getopt.c,v 1.7 2024/09/17 11:52:26 jperkin Exp $       */
 
 /*
  * Copyright (c) 1987, 1993, 1994
Index: pkgsrc/devel/bmake/files/install-sh
diff -u pkgsrc/devel/bmake/files/install-sh:1.6 pkgsrc/devel/bmake/files/install-sh:1.7
--- pkgsrc/devel/bmake/files/install-sh:1.6     Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/install-sh Tue Sep 17 11:52:26 2024
@@ -56,7 +56,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: install-sh,v 1.6 2024/07/15 09:10:06 jperkin Exp $
+#      $Id: install-sh,v 1.7 2024/09/17 11:52:26 jperkin Exp $
 #
 #      @(#) Copyright (c) 1993-2023 Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/make-conf.h
diff -u pkgsrc/devel/bmake/files/make-conf.h:1.6 pkgsrc/devel/bmake/files/make-conf.h:1.7
--- pkgsrc/devel/bmake/files/make-conf.h:1.6    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/make-conf.h        Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: make-conf.h,v 1.6 2024/07/15 09:10:06 jperkin Exp $    */
+/*     $NetBSD: make-conf.h,v 1.7 2024/09/17 11:52:26 jperkin Exp $    */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
Index: pkgsrc/devel/bmake/files/mkdeps.sh
diff -u pkgsrc/devel/bmake/files/mkdeps.sh:1.6 pkgsrc/devel/bmake/files/mkdeps.sh:1.7
--- pkgsrc/devel/bmake/files/mkdeps.sh:1.6      Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/mkdeps.sh  Tue Sep 17 11:52:26 2024
@@ -40,7 +40,7 @@
 #
 
 # RCSid:
-#      $Id: mkdeps.sh,v 1.6 2024/07/15 09:10:06 jperkin Exp $
+#      $Id: mkdeps.sh,v 1.7 2024/09/17 11:52:26 jperkin Exp $
 #
 #      @(#) Copyright (c) 1993 Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/setenv.c
diff -u pkgsrc/devel/bmake/files/setenv.c:1.6 pkgsrc/devel/bmake/files/setenv.c:1.7
--- pkgsrc/devel/bmake/files/setenv.c:1.6       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/setenv.c   Tue Sep 17 11:52:26 2024
@@ -38,7 +38,7 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 /*static char *sccsid = "from: @(#)setenv.c    5.6 (Berkeley) 6/4/91";*/
-static char *rcsid = "$Id: setenv.c,v 1.6 2024/07/15 09:10:06 jperkin Exp $";
+static char *rcsid = "$Id: setenv.c,v 1.7 2024/09/17 11:52:26 jperkin Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 #include <stddef.h>
Index: pkgsrc/devel/bmake/files/wait.h
diff -u pkgsrc/devel/bmake/files/wait.h:1.6 pkgsrc/devel/bmake/files/wait.h:1.7
--- pkgsrc/devel/bmake/files/wait.h:1.6 Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/wait.h     Tue Sep 17 11:52:27 2024
@@ -6,7 +6,7 @@
  */
 /*
  * RCSid:
- *     $Id: wait.h,v 1.6 2024/07/15 09:10:07 jperkin Exp $
+ *     $Id: wait.h,v 1.7 2024/09/17 11:52:27 jperkin Exp $
  *
  *      @(#)Copyright (c) 1994, Simon J. Gerraty.
  *      

Index: pkgsrc/devel/bmake/files/VERSION
diff -u pkgsrc/devel/bmake/files/VERSION:1.4 pkgsrc/devel/bmake/files/VERSION:1.5
--- pkgsrc/devel/bmake/files/VERSION:1.4        Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/VERSION    Tue Sep 17 11:52:26 2024
@@ -1,2 +1,2 @@
 # keep this compatible with sh and make
-_MAKE_VERSION=20240711
+_MAKE_VERSION=20240909
Index: pkgsrc/devel/bmake/files/metachar.c
diff -u pkgsrc/devel/bmake/files/metachar.c:1.4 pkgsrc/devel/bmake/files/metachar.c:1.5
--- pkgsrc/devel/bmake/files/metachar.c:1.4     Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/metachar.c Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: metachar.c,v 1.4 2024/07/15 09:10:06 jperkin Exp $     */
+/*     $NetBSD: metachar.c,v 1.5 2024/09/17 11:52:26 jperkin Exp $     */
 
 /*
  * Copyright (c) 2015 The NetBSD Foundation, Inc.
@@ -39,7 +39,7 @@
 
 #include "metachar.h"
 
-MAKE_RCSID("$NetBSD: metachar.c,v 1.4 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: metachar.c,v 1.5 2024/09/17 11:52:26 jperkin Exp $");
 
 /*
  * The following array is used to make a fast determination of which
Index: pkgsrc/devel/bmake/files/metachar.h
diff -u pkgsrc/devel/bmake/files/metachar.h:1.4 pkgsrc/devel/bmake/files/metachar.h:1.5
--- pkgsrc/devel/bmake/files/metachar.h:1.4     Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/metachar.h Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: metachar.h,v 1.4 2024/07/15 09:10:06 jperkin Exp $     */
+/*     $NetBSD: metachar.h,v 1.5 2024/09/17 11:52:26 jperkin Exp $     */
 
 /*
  * Copyright (c) 2015 The NetBSD Foundation, Inc.

Index: pkgsrc/devel/bmake/files/_strtol.h
diff -u pkgsrc/devel/bmake/files/_strtol.h:1.1 pkgsrc/devel/bmake/files/_strtol.h:1.2
--- pkgsrc/devel/bmake/files/_strtol.h:1.1      Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/_strtol.h  Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: _strtol.h,v 1.1 2024/07/15 09:10:06 jperkin Exp $ */
+/* $NetBSD: _strtol.h,v 1.2 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*-
  * Copyright (c) 1990, 1993
Index: pkgsrc/devel/bmake/files/lst.c
diff -u pkgsrc/devel/bmake/files/lst.c:1.1 pkgsrc/devel/bmake/files/lst.c:1.2
--- pkgsrc/devel/bmake/files/lst.c:1.1  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/lst.c      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: lst.c,v 1.1 2024/07/15 09:10:06 jperkin Exp $ */
+/* $NetBSD: lst.c,v 1.2 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -34,7 +34,7 @@
 
 #include "make.h"
 
-MAKE_RCSID("$NetBSD: lst.c,v 1.1 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: lst.c,v 1.2 2024/09/17 11:52:26 jperkin Exp $");
 
 static ListNode *
 LstNodeNew(ListNode *prev, ListNode *next, void *datum)
Index: pkgsrc/devel/bmake/files/sigact.h
diff -u pkgsrc/devel/bmake/files/sigact.h:1.1 pkgsrc/devel/bmake/files/sigact.h:1.2
--- pkgsrc/devel/bmake/files/sigact.h:1.1       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/sigact.h   Tue Sep 17 11:52:26 2024
@@ -20,7 +20,7 @@
  */
 /*
  * RCSid:
- *      $Id: sigact.h,v 1.1 2024/07/15 09:10:06 jperkin Exp $
+ *      $Id: sigact.h,v 1.2 2024/09/17 11:52:26 jperkin Exp $
  */
 #ifndef _SIGACT_H
 #define _SIGACT_H
Index: pkgsrc/devel/bmake/files/sigaction.c
diff -u pkgsrc/devel/bmake/files/sigaction.c:1.1 pkgsrc/devel/bmake/files/sigaction.c:1.2
--- pkgsrc/devel/bmake/files/sigaction.c:1.1    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/sigaction.c        Tue Sep 17 11:52:26 2024
@@ -121,7 +121,7 @@
  *
  */
 #ifndef lint
-static char *RCSid = "$Id: sigaction.c,v 1.1 2024/07/15 09:10:06 jperkin Exp $";
+static char *RCSid = "$Id: sigaction.c,v 1.2 2024/09/17 11:52:26 jperkin Exp $";
 #endif
 
 #undef _ANSI_SOURCE            /* causes problems */
Index: pkgsrc/devel/bmake/files/str.h
diff -u pkgsrc/devel/bmake/files/str.h:1.1 pkgsrc/devel/bmake/files/str.h:1.2
--- pkgsrc/devel/bmake/files/str.h:1.1  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/str.h      Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: str.h,v 1.1 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: str.h,v 1.2 2024/09/17 11:52:27 jperkin Exp $  */
 
 /*
  Copyright (c) 2021 Roland Illig <rillig%NetBSD.org@localhost>

Index: pkgsrc/devel/bmake/files/aclocal.m4
diff -u pkgsrc/devel/bmake/files/aclocal.m4:1.7 pkgsrc/devel/bmake/files/aclocal.m4:1.8
--- pkgsrc/devel/bmake/files/aclocal.m4:1.7     Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/aclocal.m4 Tue Sep 17 11:52:26 2024
@@ -1,5 +1,5 @@
 dnl RCSid:
-dnl    $Id: aclocal.m4,v 1.7 2024/07/15 09:10:06 jperkin Exp $
+dnl    $Id: aclocal.m4,v 1.8 2024/09/17 11:52:26 jperkin Exp $
 dnl
 
 dnl 
Index: pkgsrc/devel/bmake/files/buf.h
diff -u pkgsrc/devel/bmake/files/buf.h:1.7 pkgsrc/devel/bmake/files/buf.h:1.8
--- pkgsrc/devel/bmake/files/buf.h:1.7  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/buf.h      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: buf.h,v 1.7 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: buf.h,v 1.8 2024/09/17 11:52:26 jperkin Exp $  */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
Index: pkgsrc/devel/bmake/files/hash.h
diff -u pkgsrc/devel/bmake/files/hash.h:1.7 pkgsrc/devel/bmake/files/hash.h:1.8
--- pkgsrc/devel/bmake/files/hash.h:1.7 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/hash.h     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: hash.h,v 1.7 2024/07/15 09:10:06 jperkin Exp $ */
+/*     $NetBSD: hash.h,v 1.8 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
Index: pkgsrc/devel/bmake/files/lst.h
diff -u pkgsrc/devel/bmake/files/lst.h:1.7 pkgsrc/devel/bmake/files/lst.h:1.8
--- pkgsrc/devel/bmake/files/lst.h:1.7  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/lst.h      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: lst.h,v 1.7 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: lst.h,v 1.8 2024/09/17 11:52:26 jperkin Exp $  */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
Index: pkgsrc/devel/bmake/files/meta.c
diff -u pkgsrc/devel/bmake/files/meta.c:1.7 pkgsrc/devel/bmake/files/meta.c:1.8
--- pkgsrc/devel/bmake/files/meta.c:1.7 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/meta.c     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.7 2024/07/15 09:10:06 jperkin Exp $ */
+/*      $NetBSD: meta.c,v 1.8 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Implement 'meta' mode.
Index: pkgsrc/devel/bmake/files/ranlib.h
diff -u pkgsrc/devel/bmake/files/ranlib.h:1.7 pkgsrc/devel/bmake/files/ranlib.h:1.8
--- pkgsrc/devel/bmake/files/ranlib.h:1.7       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/ranlib.h   Tue Sep 17 11:52:26 2024
@@ -1,5 +1,5 @@
 /*     @(#)ranlib.h 1.6 88/08/19 SMI; from UCB 4.1 83/05/03    */
-/*     $Id: ranlib.h,v 1.7 2024/07/15 09:10:06 jperkin Exp $   */
+/*     $Id: ranlib.h,v 1.8 2024/09/17 11:52:26 jperkin Exp $   */
 
 /*
  * Structure of the __.SYMDEF table of contents for an archive.

Index: pkgsrc/devel/bmake/files/arch.c
diff -u pkgsrc/devel/bmake/files/arch.c:1.10 pkgsrc/devel/bmake/files/arch.c:1.11
--- pkgsrc/devel/bmake/files/arch.c:1.10        Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/arch.c     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: arch.c,v 1.10 2024/07/15 09:10:06 jperkin Exp $        */
+/*     $NetBSD: arch.c,v 1.11 2024/09/17 11:52:26 jperkin Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -147,7 +147,7 @@ struct ar_hdr {
 #include "dir.h"
 
 /*     "@(#)arch.c     8.2 (Berkeley) 1/2/94"  */
-MAKE_RCSID("$NetBSD: arch.c,v 1.10 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: arch.c,v 1.11 2024/09/17 11:52:26 jperkin Exp $");
 
 typedef struct List ArchList;
 typedef struct ListNode ArchListNode;
@@ -314,8 +314,7 @@ Arch_ParseArchive(char **pp, GNodeList *
 
                if (*cp == '\0') {
                        Parse_Error(PARSE_FATAL,
-                           "No closing parenthesis "
-                           "in archive specification");
+                           "Missing ')' in archive specification");
                        return false;
                }
 
@@ -416,7 +415,7 @@ Arch_ParseArchive(char **pp, GNodeList *
 static struct ar_hdr *
 ArchStatMember(const char *archive, const char *member, bool addToCache)
 {
-#define AR_MAX_NAME_LEN (sizeof arh.ar_name - 1)
+#define AR_MAX_NAME_LEN (sizeof arh.AR_NAME - 1)
        FILE *arch;
        size_t size;            /* Size of archive member */
        char magic[SARMAG];
Index: pkgsrc/devel/bmake/files/for.c
diff -u pkgsrc/devel/bmake/files/for.c:1.10 pkgsrc/devel/bmake/files/for.c:1.11
--- pkgsrc/devel/bmake/files/for.c:1.10 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/for.c      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: for.c,v 1.10 2024/07/15 09:10:06 jperkin Exp $ */
+/*     $NetBSD: for.c,v 1.11 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1992, The Regents of the University of California.
@@ -58,7 +58,7 @@
 #include "make.h"
 
 /*     "@(#)for.c      8.1 (Berkeley) 6/6/93"  */
-MAKE_RCSID("$NetBSD: for.c,v 1.10 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: for.c,v 1.11 2024/09/17 11:52:26 jperkin Exp $");
 
 
 typedef struct ForLoop {

Index: pkgsrc/devel/bmake/files/bmake.1
diff -u pkgsrc/devel/bmake/files/bmake.1:1.13 pkgsrc/devel/bmake/files/bmake.1:1.14
--- pkgsrc/devel/bmake/files/bmake.1:1.13       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/bmake.1    Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-.\"    $NetBSD: bmake.1,v 1.13 2024/07/15 09:10:06 jperkin Exp $
+.\"    $NetBSD: bmake.1,v 1.14 2024/09/17 11:52:26 jperkin Exp $
 .\"
 .\" Copyright (c) 1990, 1993
 .\"    The Regents of the University of California.  All rights reserved.
Index: pkgsrc/devel/bmake/files/compat.c
diff -u pkgsrc/devel/bmake/files/compat.c:1.13 pkgsrc/devel/bmake/files/compat.c:1.14
--- pkgsrc/devel/bmake/files/compat.c:1.13      Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/compat.c   Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: compat.c,v 1.13 2024/07/15 09:10:06 jperkin Exp $      */
+/*     $NetBSD: compat.c,v 1.14 2024/09/17 11:52:26 jperkin Exp $      */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -94,7 +94,7 @@
 #include "pathnames.h"
 
 /*     "@(#)compat.c   8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: compat.c,v 1.13 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: compat.c,v 1.14 2024/09/17 11:52:26 jperkin Exp $");
 
 static GNode *curTarg = NULL;
 static pid_t compatChild;
@@ -251,13 +251,18 @@ Compat_RunCommand(const char *cmdp, GNod
        const char *cmd = cmdp;
        char cmd_file[MAXPATHLEN];
        size_t cmd_len;
+       int parseErrorsBefore;
 
        silent = (gn->type & OP_SILENT) != OP_NONE;
        errCheck = !(gn->type & OP_IGNORE);
        doIt = false;
 
+       parseErrorsBefore = parseErrors;
        cmdStart = Var_SubstInTarget(cmd, gn);
-       /* TODO: handle errors */
+       if (parseErrors != parseErrorsBefore) {
+               free(cmdStart);
+               return false;
+       }
 
        if (cmdStart[0] == '\0') {
                free(cmdStart);
Index: pkgsrc/devel/bmake/files/var.c
diff -u pkgsrc/devel/bmake/files/var.c:1.13 pkgsrc/devel/bmake/files/var.c:1.14
--- pkgsrc/devel/bmake/files/var.c:1.13 Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/var.c      Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: var.c,v 1.13 2024/07/15 09:10:07 jperkin Exp $ */
+/*     $NetBSD: var.c,v 1.14 2024/09/17 11:52:27 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -143,7 +143,7 @@
 #endif
 
 /*     "@(#)var.c      8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.13 2024/07/15 09:10:07 jperkin Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.14 2024/09/17 11:52:27 jperkin Exp $");
 
 /*
  * Variables are defined using one of the VAR=value assignments.  Their
@@ -290,7 +290,6 @@ typedef struct {
        EvalStackElement *elems;
        size_t len;
        size_t cap;
-       Buffer details;
 } EvalStack;
 
 /* Whether we have replaced the original environ (which we cannot free). */
@@ -383,15 +382,12 @@ EvalStack_Pop(void)
        evalStack.len--;
 }
 
-const char *
-EvalStack_Details(void)
+void
+EvalStack_PrintDetails(void)
 {
        size_t i;
-       Buffer *buf = &evalStack.details;
-
 
-       buf->len = 0;
-       for (i = 0; i < evalStack.len; i++) {
+       for (i = evalStack.len; i > 0; i--) {
                static const char descr[][42] = {
                        "in target",
                        "while evaluating variable",
@@ -401,19 +397,16 @@ EvalStack_Details(void)
                        "while evaluating",
                        "while parsing",
                };
-               EvalStackElement *elem = evalStack.elems + i;
+               EvalStackElement *elem = evalStack.elems + i - 1;
                EvalStackElementKind kind = elem->kind;
-               Buf_AddStr(buf, descr[kind]);
-               Buf_AddStr(buf, " \"");
-               Buf_AddStr(buf, elem->str);
-               if (elem->value != NULL
-                   && (kind == VSK_VARNAME || kind == VSK_EXPR)) {
-                       Buf_AddStr(buf, "\" with value \"");
-                       Buf_AddStr(buf, elem->value->str);
-               }
-               Buf_AddStr(buf, "\": ");
+               const char* value = elem->value != NULL
+                   && (kind == VSK_VARNAME || kind == VSK_EXPR)
+                   ? elem->value->str : NULL;
+
+               debug_printf("\t%s \"%s%s%s\"\n", descr[kind], elem->str,
+                   value != NULL ? "\" with value \"" : "",
+                   value != NULL ? value : "");
        }
-       return buf->len > 0 ? buf->data : "";
 }
 
 static Var *
@@ -4594,11 +4587,13 @@ Var_Parse(const char **pp, GNode *scope,
 
        expr.name = v->name.str;
        if (v->inUse && VarEvalMode_ShouldEval(emode)) {
-               if (scope->fname != NULL) {
-                       fprintf(stderr, "In a command near ");
-                       PrintLocation(stderr, false, scope);
-               }
-               Fatal("Variable %s is recursive.", v->name.str);
+               Parse_Error(PARSE_FATAL, "Variable %s is recursive.",
+                   v->name.str);
+               FStr_Done(&val);
+               if (*p != '\0')
+                       p++;
+               *pp = p;
+               return FStr_InitRefer(var_Error);
        }
 
        /*
@@ -4699,8 +4694,7 @@ VarSubstDollarDollar(const char **pp, Bu
 }
 
 static void
-VarSubstExpr(const char **pp, Buffer *buf, GNode *scope,
-            VarEvalMode emode, bool *inout_errorReported)
+VarSubstExpr(const char **pp, Buffer *buf, GNode *scope, VarEvalMode emode)
 {
        const char *p = *pp;
        const char *nested_p = p;
@@ -4708,28 +4702,8 @@ VarSubstExpr(const char **pp, Buffer *bu
        /* TODO: handle errors */
 
        if (val.str == var_Error || val.str == varUndefined) {
-               if (!VarEvalMode_ShouldKeepUndef(emode)) {
-                       p = nested_p;
-               } else if (val.str == var_Error) {
-
-                       /*
-                        * FIXME: The condition 'val.str == var_Error' doesn't
-                        * mean there was an undefined variable.  It could
-                        * equally well be a parse error; see
-                        * unit-tests/varmod-order.mk.
-                        */
-
-                       /*
-                        * If variable is undefined, complain and skip the
-                        * variable. The complaint will stop us from doing
-                        * anything when the file is parsed.
-                        */
-                       if (!*inout_errorReported) {
-                               Parse_Error(PARSE_FATAL,
-                                   "Undefined variable \"%.*s\"",
-                                   (int)(nested_p - p), p);
-                               *inout_errorReported = true;
-                       }
+               if (!VarEvalMode_ShouldKeepUndef(emode)
+                   || val.str == var_Error) {
                        p = nested_p;
                } else {
                        /*
@@ -4783,20 +4757,13 @@ Var_Subst(const char *str, GNode *scope,
        const char *p = str;
        Buffer res;
 
-       /*
-        * Set true if an error has already been reported, to prevent a
-        * plethora of messages when recursing
-        */
-       static bool errorReported;
-
        Buf_Init(&res);
-       errorReported = false;
 
        while (*p != '\0') {
                if (p[0] == '$' && p[1] == '$')
                        VarSubstDollarDollar(&p, &res, emode);
                else if (p[0] == '$')
-                       VarSubstExpr(&p, &res, scope, emode, &errorReported);
+                       VarSubstExpr(&p, &res, scope, emode);
                else
                        VarSubstPlain(&p, &res);
        }

Index: pkgsrc/devel/bmake/files/buf.c
diff -u pkgsrc/devel/bmake/files/buf.c:1.8 pkgsrc/devel/bmake/files/buf.c:1.9
--- pkgsrc/devel/bmake/files/buf.c:1.8  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/buf.c      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: buf.c,v 1.8 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: buf.c,v 1.9 2024/09/17 11:52:26 jperkin Exp $  */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -75,7 +75,7 @@
 #include "make.h"
 
 /*     "@(#)buf.c      8.1 (Berkeley) 6/6/93"  */
-MAKE_RCSID("$NetBSD: buf.c,v 1.8 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: buf.c,v 1.9 2024/09/17 11:52:26 jperkin Exp $");
 
 /* Make space in the buffer for adding at least 16 more bytes. */
 void
Index: pkgsrc/devel/bmake/files/dir.h
diff -u pkgsrc/devel/bmake/files/dir.h:1.8 pkgsrc/devel/bmake/files/dir.h:1.9
--- pkgsrc/devel/bmake/files/dir.h:1.8  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/dir.h      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: dir.h,v 1.8 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: dir.h,v 1.9 2024/09/17 11:52:26 jperkin Exp $  */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
Index: pkgsrc/devel/bmake/files/hash.c
diff -u pkgsrc/devel/bmake/files/hash.c:1.8 pkgsrc/devel/bmake/files/hash.c:1.9
--- pkgsrc/devel/bmake/files/hash.c:1.8 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/hash.c     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: hash.c,v 1.8 2024/07/15 09:10:06 jperkin Exp $ */
+/*     $NetBSD: hash.c,v 1.9 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -74,7 +74,7 @@
 #include "make.h"
 
 /*     "@(#)hash.c     8.1 (Berkeley) 6/6/93"  */
-MAKE_RCSID("$NetBSD: hash.c,v 1.8 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: hash.c,v 1.9 2024/09/17 11:52:26 jperkin Exp $");
 
 /*
  * The ratio of # entries to # buckets at which we rebuild the table to
Index: pkgsrc/devel/bmake/files/pathnames.h
diff -u pkgsrc/devel/bmake/files/pathnames.h:1.8 pkgsrc/devel/bmake/files/pathnames.h:1.9
--- pkgsrc/devel/bmake/files/pathnames.h:1.8    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/pathnames.h        Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: pathnames.h,v 1.8 2024/07/15 09:10:06 jperkin Exp $    */
+/*     $NetBSD: pathnames.h,v 1.9 2024/09/17 11:52:26 jperkin Exp $    */
 
 /*
  * Copyright (c) 1990, 1993
@@ -29,7 +29,7 @@
  * SUCH DAMAGE.
  *
  *     from: @(#)pathnames.h   5.2 (Berkeley) 6/1/90
- *     $Id: pathnames.h,v 1.8 2024/07/15 09:10:06 jperkin Exp $
+ *     $Id: pathnames.h,v 1.9 2024/09/17 11:52:26 jperkin Exp $
  */
 
 #if HAVE_CONFIG_H
Index: pkgsrc/devel/bmake/files/str.c
diff -u pkgsrc/devel/bmake/files/str.c:1.8 pkgsrc/devel/bmake/files/str.c:1.9
--- pkgsrc/devel/bmake/files/str.c:1.8  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/str.c      Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: str.c,v 1.8 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: str.c,v 1.9 2024/09/17 11:52:27 jperkin Exp $  */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -71,7 +71,7 @@
 #include "make.h"
 
 /*     "@(#)str.c      5.8 (Berkeley) 6/1/90"  */
-MAKE_RCSID("$NetBSD: str.c,v 1.8 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: str.c,v 1.9 2024/09/17 11:52:27 jperkin Exp $");
 
 
 static HashTable interned_strings;
Index: pkgsrc/devel/bmake/files/suff.c
diff -u pkgsrc/devel/bmake/files/suff.c:1.8 pkgsrc/devel/bmake/files/suff.c:1.9
--- pkgsrc/devel/bmake/files/suff.c:1.8 Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/suff.c     Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: suff.c,v 1.8 2024/07/15 09:10:07 jperkin Exp $ */
+/*     $NetBSD: suff.c,v 1.9 2024/09/17 11:52:27 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -115,7 +115,7 @@
 #include "dir.h"
 
 /*     "@(#)suff.c     8.4 (Berkeley) 3/21/94" */
-MAKE_RCSID("$NetBSD: suff.c,v 1.8 2024/07/15 09:10:07 jperkin Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.9 2024/09/17 11:52:27 jperkin Exp $");
 
 typedef List SuffixList;
 typedef ListNode SuffixListNode;
Index: pkgsrc/devel/bmake/files/trace.h
diff -u pkgsrc/devel/bmake/files/trace.h:1.8 pkgsrc/devel/bmake/files/trace.h:1.9
--- pkgsrc/devel/bmake/files/trace.h:1.8        Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/trace.h    Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: trace.h,v 1.8 2024/07/15 09:10:07 jperkin Exp $        */
+/*     $NetBSD: trace.h,v 1.9 2024/09/17 11:52:27 jperkin Exp $        */
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.

Index: pkgsrc/devel/bmake/files/cond.c
diff -u pkgsrc/devel/bmake/files/cond.c:1.11 pkgsrc/devel/bmake/files/cond.c:1.12
--- pkgsrc/devel/bmake/files/cond.c:1.11        Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/cond.c     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: cond.c,v 1.11 2024/07/15 09:10:06 jperkin Exp $        */
+/*     $NetBSD: cond.c,v 1.12 2024/09/17 11:52:26 jperkin Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -91,7 +91,7 @@
 #include "dir.h"
 
 /*     "@(#)cond.c     8.2 (Berkeley) 1/2/94"  */
-MAKE_RCSID("$NetBSD: cond.c,v 1.11 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: cond.c,v 1.12 2024/09/17 11:52:26 jperkin Exp $");
 
 /*
  * Conditional expressions conform to this grammar:
@@ -242,7 +242,6 @@ ParseWord(const char **pp, bool doEval)
                p++;
        }
 
-       cpp_skip_hspace(&p);
        *pp = p;
 
        return Buf_DoneData(&word);
@@ -252,12 +251,14 @@ ParseWord(const char **pp, bool doEval)
 static char *
 ParseFuncArg(CondParser *par, const char **pp, bool doEval, const char *func)
 {
-       const char *p = *pp;
+       const char *p = *pp, *argStart, *argEnd;
        char *res;
 
        p++;                    /* skip the '(' */
        cpp_skip_hspace(&p);
+       argStart = p;
        res = ParseWord(&p, doEval);
+       argEnd = p;
        cpp_skip_hspace(&p);
 
        if (*p++ != ')') {
@@ -266,7 +267,8 @@ ParseFuncArg(CondParser *par, const char
                        len++;
 
                Parse_Error(PARSE_FATAL,
-                   "Missing closing parenthesis for %.*s()", len, func);
+                   "Missing ')' after argument '%.*s' for '%.*s'",
+                   (int)(argEnd - argStart), argStart, len, func);
                par->printedError = true;
                free(res);
                return NULL;
@@ -734,6 +736,7 @@ CondParser_ComparisonOrLeaf(CondParser *
         */
        arg = ParseWord(&p, doEval);
        assert(arg[0] != '\0');
+       cpp_skip_hspace(&p);
 
        if (*p == '=' || *p == '!' || *p == '<' || *p == '>') {
                free(arg);
@@ -939,7 +942,7 @@ CondEvalExpression(const char *cond, boo
                rval = CR_ERROR;
 
        if (rval == CR_ERROR && eprint && !par.printedError)
-               Parse_Error(PARSE_FATAL, "Malformed conditional (%s)", cond);
+               Parse_Error(PARSE_FATAL, "Malformed conditional '%s'", cond);
 
        return rval;
 }
Index: pkgsrc/devel/bmake/files/job.h
diff -u pkgsrc/devel/bmake/files/job.h:1.11 pkgsrc/devel/bmake/files/job.h:1.12
--- pkgsrc/devel/bmake/files/job.h:1.11 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/job.h      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: job.h,v 1.11 2024/07/15 09:10:06 jperkin Exp $ */
+/*     $NetBSD: job.h,v 1.12 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.

Index: pkgsrc/devel/bmake/files/configure.in
diff -u pkgsrc/devel/bmake/files/configure.in:1.17 pkgsrc/devel/bmake/files/configure.in:1.18
--- pkgsrc/devel/bmake/files/configure.in:1.17  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/configure.in       Tue Sep 17 11:52:26 2024
@@ -1,6 +1,6 @@
 dnl
 dnl RCSid:
-dnl    $Id: configure.in,v 1.17 2024/07/15 09:10:06 jperkin Exp $
+dnl    $Id: configure.in,v 1.18 2024/09/17 11:52:26 jperkin Exp $
 dnl
 dnl Process this file with autoconf to produce a configure script
 dnl

Index: pkgsrc/devel/bmake/files/dir.c
diff -u pkgsrc/devel/bmake/files/dir.c:1.9 pkgsrc/devel/bmake/files/dir.c:1.10
--- pkgsrc/devel/bmake/files/dir.c:1.9  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/dir.c      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: dir.c,v 1.9 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: dir.c,v 1.10 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -132,7 +132,7 @@
 #include "job.h"
 
 /*     "@(#)dir.c      8.2 (Berkeley) 1/2/94"  */
-MAKE_RCSID("$NetBSD: dir.c,v 1.9 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: dir.c,v 1.10 2024/09/17 11:52:26 jperkin Exp $");
 
 /*
  * A search path is a list of CachedDir structures. A CachedDir has in it the
Index: pkgsrc/devel/bmake/files/make.1
diff -u pkgsrc/devel/bmake/files/make.1:1.9 pkgsrc/devel/bmake/files/make.1:1.10
--- pkgsrc/devel/bmake/files/make.1:1.9 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/make.1     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-.\"    $NetBSD: make.1,v 1.9 2024/07/15 09:10:06 jperkin Exp $
+.\"    $NetBSD: make.1,v 1.10 2024/09/17 11:52:26 jperkin Exp $
 .\"
 .\" Copyright (c) 1990, 1993
 .\"    The Regents of the University of California.  All rights reserved.
Index: pkgsrc/devel/bmake/files/make.c
diff -u pkgsrc/devel/bmake/files/make.c:1.9 pkgsrc/devel/bmake/files/make.c:1.10
--- pkgsrc/devel/bmake/files/make.c:1.9 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/make.c     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: make.c,v 1.9 2024/07/15 09:10:06 jperkin Exp $ */
+/*     $NetBSD: make.c,v 1.10 2024/09/17 11:52:26 jperkin Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -104,7 +104,7 @@
 #include "job.h"
 
 /*     "@(#)make.c     8.1 (Berkeley) 6/6/93"  */
-MAKE_RCSID("$NetBSD: make.c,v 1.9 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: make.c,v 1.10 2024/09/17 11:52:26 jperkin Exp $");
 
 /* Sequence # to detect recursion. */
 static unsigned int checked_seqno = 1;
Index: pkgsrc/devel/bmake/files/sigcompat.c
diff -u pkgsrc/devel/bmake/files/sigcompat.c:1.9 pkgsrc/devel/bmake/files/sigcompat.c:1.10
--- pkgsrc/devel/bmake/files/sigcompat.c:1.9    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/sigcompat.c        Tue Sep 17 11:52:26 2024
@@ -104,7 +104,7 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 /*static char *sccsid = "from: @(#)sigcompat.c 5.3 (Berkeley) 2/24/91";*/
-static char *rcsid = "$Id: sigcompat.c,v 1.9 2024/07/15 09:10:06 jperkin Exp $";
+static char *rcsid = "$Id: sigcompat.c,v 1.10 2024/09/17 11:52:26 jperkin Exp $";
 #endif                         /* LIBC_SCCS and not lint */
 
 #undef signal
Index: pkgsrc/devel/bmake/files/targ.c
diff -u pkgsrc/devel/bmake/files/targ.c:1.9 pkgsrc/devel/bmake/files/targ.c:1.10
--- pkgsrc/devel/bmake/files/targ.c:1.9 Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/targ.c     Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: targ.c,v 1.9 2024/07/15 09:10:07 jperkin Exp $ */
+/*     $NetBSD: targ.c,v 1.10 2024/09/17 11:52:27 jperkin Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -107,7 +107,7 @@
 #include "dir.h"
 
 /*     "@(#)targ.c     8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: targ.c,v 1.9 2024/07/15 09:10:07 jperkin Exp $");
+MAKE_RCSID("$NetBSD: targ.c,v 1.10 2024/09/17 11:52:27 jperkin Exp $");
 
 /*
  * All target nodes that appeared on the left-hand side of one of the
Index: pkgsrc/devel/bmake/files/trace.c
diff -u pkgsrc/devel/bmake/files/trace.c:1.9 pkgsrc/devel/bmake/files/trace.c:1.10
--- pkgsrc/devel/bmake/files/trace.c:1.9        Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/trace.c    Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: trace.c,v 1.9 2024/07/15 09:10:07 jperkin Exp $        */
+/*     $NetBSD: trace.c,v 1.10 2024/09/17 11:52:27 jperkin Exp $       */
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -48,7 +48,7 @@
 #include "job.h"
 #include "trace.h"
 
-MAKE_RCSID("$NetBSD: trace.c,v 1.9 2024/07/15 09:10:07 jperkin Exp $");
+MAKE_RCSID("$NetBSD: trace.c,v 1.10 2024/09/17 11:52:27 jperkin Exp $");
 
 static FILE *trfile;
 static pid_t trpid;

Index: pkgsrc/devel/bmake/files/dirname.c
diff -u pkgsrc/devel/bmake/files/dirname.c:1.5 pkgsrc/devel/bmake/files/dirname.c:1.6
--- pkgsrc/devel/bmake/files/dirname.c:1.5      Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/dirname.c  Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: dirname.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $      */
+/*     $NetBSD: dirname.c,v 1.6 2024/09/17 11:52:26 jperkin Exp $      */
 
 /*-
  * Copyright (c) 1997, 2002 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: dirname.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $");
+__RCSID("$NetBSD: dirname.c,v 1.6 2024/09/17 11:52:26 jperkin Exp $");
 #endif /* !LIBC_SCCS && !lint */
 
 #include <sys/param.h>
Index: pkgsrc/devel/bmake/files/make_malloc.c
diff -u pkgsrc/devel/bmake/files/make_malloc.c:1.5 pkgsrc/devel/bmake/files/make_malloc.c:1.6
--- pkgsrc/devel/bmake/files/make_malloc.c:1.5  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/make_malloc.c      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: make_malloc.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: make_malloc.c,v 1.6 2024/09/17 11:52:26 jperkin Exp $  */
 
 /*
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
 
 #include "make.h"
 
-MAKE_RCSID("$NetBSD: make_malloc.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: make_malloc.c,v 1.6 2024/09/17 11:52:26 jperkin Exp $");
 
 #ifndef USE_EMALLOC
 
Index: pkgsrc/devel/bmake/files/make_malloc.h
diff -u pkgsrc/devel/bmake/files/make_malloc.h:1.5 pkgsrc/devel/bmake/files/make_malloc.h:1.6
--- pkgsrc/devel/bmake/files/make_malloc.h:1.5  Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/make_malloc.h      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: make_malloc.h,v 1.5 2024/07/15 09:10:06 jperkin Exp $  */
+/*     $NetBSD: make_malloc.h,v 1.6 2024/09/17 11:52:26 jperkin Exp $  */
 
 /*
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
Index: pkgsrc/devel/bmake/files/makefile.in
diff -u pkgsrc/devel/bmake/files/makefile.in:1.5 pkgsrc/devel/bmake/files/makefile.in:1.6
--- pkgsrc/devel/bmake/files/makefile.in:1.5    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/makefile.in        Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-# $Id: makefile.in,v 1.5 2024/07/15 09:10:06 jperkin Exp $
+# $Id: makefile.in,v 1.6 2024/09/17 11:52:26 jperkin Exp $
 
 # a simple makefile for those who don't like anything beyond:
 # ./configure; make; make install
Index: pkgsrc/devel/bmake/files/meta.h
diff -u pkgsrc/devel/bmake/files/meta.h:1.5 pkgsrc/devel/bmake/files/meta.h:1.6
--- pkgsrc/devel/bmake/files/meta.h:1.5 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/meta.h     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.h,v 1.5 2024/07/15 09:10:06 jperkin Exp $ */
+/*      $NetBSD: meta.h,v 1.6 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Things needed for 'meta' mode.
Index: pkgsrc/devel/bmake/files/realpath.c
diff -u pkgsrc/devel/bmake/files/realpath.c:1.5 pkgsrc/devel/bmake/files/realpath.c:1.6
--- pkgsrc/devel/bmake/files/realpath.c:1.5     Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/realpath.c Tue Sep 17 11:52:26 2024
@@ -1,5 +1,5 @@
-/* $Id: realpath.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $ */
-/* from: $NetBSD: realpath.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $   */
+/* $Id: realpath.c,v 1.6 2024/09/17 11:52:26 jperkin Exp $ */
+/* from: $NetBSD: realpath.c,v 1.6 2024/09/17 11:52:26 jperkin Exp $   */
 
 /*
  * Copyright (c) 1989, 1991, 1993, 1995
Index: pkgsrc/devel/bmake/files/stresep.c
diff -u pkgsrc/devel/bmake/files/stresep.c:1.5 pkgsrc/devel/bmake/files/stresep.c:1.6
--- pkgsrc/devel/bmake/files/stresep.c:1.5      Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/stresep.c  Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: stresep.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $      */
+/*     $NetBSD: stresep.c,v 1.6 2024/09/17 11:52:27 jperkin Exp $      */
 
 /*-
  * Copyright (c) 1990, 1993
Index: pkgsrc/devel/bmake/files/strlcpy.c
diff -u pkgsrc/devel/bmake/files/strlcpy.c:1.5 pkgsrc/devel/bmake/files/strlcpy.c:1.6
--- pkgsrc/devel/bmake/files/strlcpy.c:1.5      Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/strlcpy.c  Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: strlcpy.c,v 1.5 2024/07/15 09:10:06 jperkin Exp $      */
+/*     $NetBSD: strlcpy.c,v 1.6 2024/09/17 11:52:27 jperkin Exp $      */
 /*     $OpenBSD: strlcpy.c,v 1.7 2003/04/12 21:56:39 millert Exp $     */
 
 /*

Index: pkgsrc/devel/bmake/files/job.c
diff -u pkgsrc/devel/bmake/files/job.c:1.22 pkgsrc/devel/bmake/files/job.c:1.23
--- pkgsrc/devel/bmake/files/job.c:1.22 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/job.c      Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: job.c,v 1.22 2024/07/15 09:10:06 jperkin Exp $ */
+/*     $NetBSD: job.c,v 1.23 2024/09/17 11:52:26 jperkin Exp $ */
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -154,7 +154,7 @@
 #include "trace.h"
 
 /*     "@(#)job.c      8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: job.c,v 1.22 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: job.c,v 1.23 2024/09/17 11:52:26 jperkin Exp $");
 
 /*
  * A shell defines how the commands are run.  All commands for a target are
@@ -1695,6 +1695,8 @@ JobStart(GNode *gn, bool special)
                 * virtual targets.
                 */
 
+               int parseErrorsBefore;
+
                /*
                 * We're serious here, but if the commands were bogus, we're
                 * also dead...
@@ -1704,7 +1706,10 @@ JobStart(GNode *gn, bool special)
                        DieHorribly();
                }
 
+               parseErrorsBefore = parseErrors;
                JobWriteShellCommands(job, gn, &run);
+               if (parseErrors != parseErrorsBefore)
+                       run = false;
                (void)fflush(job->cmdFILE);
        } else if (!GNode_ShouldExecute(gn)) {
                /*
@@ -1953,31 +1958,12 @@ again:
 static void
 JobRun(GNode *targ)
 {
-#if 0
-       /*
-        * Unfortunately it is too complicated to run .BEGIN, .END, and
-        * .INTERRUPT job in the parallel job module.  As of 2020-09-25,
-        * unit-tests/deptgt-end-jobs.mk hangs in an endless loop.
-        *
-        * Running these jobs in compat mode also guarantees that these
-        * jobs do not overlap with other unrelated jobs.
-        */
-       GNodeList lst = LST_INIT;
-       Lst_Append(&lst, targ);
-       (void)Make_Run(&lst);
-       Lst_Done(&lst);
-       JobStart(targ, true);
-       while (jobTokensRunning != 0) {
-               Job_CatchOutput();
-       }
-#else
+       /* Don't let these special jobs overlap with other unrelated jobs. */
        Compat_Make(targ, targ);
-       /* XXX: Replace with GNode_IsError(gn) */
-       if (targ->made == ERROR) {
+       if (GNode_IsError(targ)) {
                PrintOnError(targ, "\n\nStop.\n");
                exit(1);
        }
-#endif
 }
 
 /*
@@ -2921,11 +2907,6 @@ Job_RunTarget(const char *target, const 
                Var_Set(gn, ALLSRC, fname);
 
        JobRun(gn);
-       /* XXX: Replace with GNode_IsError(gn) */
-       if (gn->made == ERROR) {
-               PrintOnError(gn, "\n\nStop.\n");
-               exit(1);
-       }
        return true;
 }
 

Index: pkgsrc/devel/bmake/files/machine.sh
diff -u pkgsrc/devel/bmake/files/machine.sh:1.14 pkgsrc/devel/bmake/files/machine.sh:1.15
--- pkgsrc/devel/bmake/files/machine.sh:1.14    Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/machine.sh Tue Sep 17 11:52:26 2024
@@ -4,7 +4,7 @@
 # and $TARGET_HOST for its objdir
 
 # RCSid:
-#      $Id: machine.sh,v 1.14 2024/07/15 09:10:06 jperkin Exp $
+#      $Id: machine.sh,v 1.15 2024/09/17 11:52:26 jperkin Exp $
 #
 #      @(#) Copyright (c) 1994-2023 Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/os.sh
diff -u pkgsrc/devel/bmake/files/os.sh:1.14 pkgsrc/devel/bmake/files/os.sh:1.15
--- pkgsrc/devel/bmake/files/os.sh:1.14 Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/os.sh      Tue Sep 17 11:52:26 2024
@@ -17,7 +17,7 @@
 #      Simon J. Gerraty <sjg%crufty.net@localhost>
 
 # RCSid:
-#      $Id: os.sh,v 1.14 2024/07/15 09:10:06 jperkin Exp $
+#      $Id: os.sh,v 1.15 2024/09/17 11:52:26 jperkin Exp $
 #
 #      @(#) Copyright (c) 1994 Simon J. Gerraty
 #
@@ -227,6 +227,7 @@ x86*64|amd64) MACHINE32_ARCH=i386;;
 *) MACHINE32_ARCH=$MACHINE_ARCH;;
 esac
 HOST_ARCH32=${HOST_ARCH32:-$MACHINE32_ARCH}
+export HOST_ARCH HOST_ARCH32
 # we mount server:/share/arch/$SHARE_ARCH as /usr/local
 SHARE_ARCH_DEFAULT=$OS/$OSMAJOR.X/$HOST_ARCH
 SHARE_ARCH=${SHARE_ARCH:-$SHARE_ARCH_DEFAULT}
Index: pkgsrc/devel/bmake/files/parse.c
diff -u pkgsrc/devel/bmake/files/parse.c:1.14 pkgsrc/devel/bmake/files/parse.c:1.15
--- pkgsrc/devel/bmake/files/parse.c:1.14       Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/parse.c    Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: parse.c,v 1.14 2024/07/15 09:10:06 jperkin Exp $       */
+/*     $NetBSD: parse.c,v 1.15 2024/09/17 11:52:26 jperkin Exp $       */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -110,7 +110,7 @@
 #include "pathnames.h"
 
 /*     "@(#)parse.c    8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: parse.c,v 1.14 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: parse.c,v 1.15 2024/09/17 11:52:26 jperkin Exp $");
 
 /* Detects a multiple-inclusion guard in a makefile. */
 typedef enum {
@@ -400,6 +400,8 @@ PrintStackTrace(bool includingInnermost)
        const IncludedFile *entries;
        size_t i, n;
 
+       EvalStack_PrintDetails();
+
        n = includes.len;
        if (n == 0)
                return;
@@ -530,7 +532,6 @@ ParseVErrorInternal(FILE *f, bool useVar
        PrintLocation(f, useVars, gn);
        if (level == PARSE_WARNING)
                (void)fprintf(f, "warning: ");
-       fprintf(f, "%s", EvalStack_Details());
        (void)vfprintf(f, fmt, ap);
        (void)fprintf(f, "\n");
        (void)fflush(f);

Index: pkgsrc/devel/bmake/files/main.c
diff -u pkgsrc/devel/bmake/files/main.c:1.18 pkgsrc/devel/bmake/files/main.c:1.19
--- pkgsrc/devel/bmake/files/main.c:1.18        Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/main.c     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: main.c,v 1.18 2024/07/15 09:10:06 jperkin Exp $        */
+/*     $NetBSD: main.c,v 1.19 2024/09/17 11:52:26 jperkin Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -111,7 +111,7 @@
 #include "trace.h"
 
 /*     "@(#)main.c     8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.18 2024/07/15 09:10:06 jperkin Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.19 2024/09/17 11:52:26 jperkin Exp $");
 #if defined(MAKE_NATIVE)
 __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
            "The Regents of the University of California.  "
Index: pkgsrc/devel/bmake/files/util.c
diff -u pkgsrc/devel/bmake/files/util.c:1.18 pkgsrc/devel/bmake/files/util.c:1.19
--- pkgsrc/devel/bmake/files/util.c:1.18        Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/util.c     Tue Sep 17 11:52:27 2024
@@ -1,9 +1,9 @@
-/*     $NetBSD: util.c,v 1.18 2024/07/15 09:10:07 jperkin Exp $        */
+/*     $NetBSD: util.c,v 1.19 2024/09/17 11:52:27 jperkin Exp $        */
 
 /*
  * Missing stuff from OS's
  *
- *     $Id: util.c,v 1.18 2024/07/15 09:10:07 jperkin Exp $
+ *     $Id: util.c,v 1.19 2024/09/17 11:52:27 jperkin Exp $
  */
 
 #include <sys/param.h>
@@ -13,7 +13,7 @@
 
 #include "make.h"
 
-MAKE_RCSID("$NetBSD: util.c,v 1.18 2024/07/15 09:10:07 jperkin Exp $");
+MAKE_RCSID("$NetBSD: util.c,v 1.19 2024/09/17 11:52:27 jperkin Exp $");
 
 #if !defined(MAKE_NATIVE) && !defined(HAVE_STRERROR)
 extern int errno, sys_nerr;

Index: pkgsrc/devel/bmake/files/make.h
diff -u pkgsrc/devel/bmake/files/make.h:1.12 pkgsrc/devel/bmake/files/make.h:1.13
--- pkgsrc/devel/bmake/files/make.h:1.12        Mon Jul 15 09:10:06 2024
+++ pkgsrc/devel/bmake/files/make.h     Tue Sep 17 11:52:26 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: make.h,v 1.12 2024/07/15 09:10:06 jperkin Exp $        */
+/*     $NetBSD: make.h,v 1.13 2024/09/17 11:52:26 jperkin Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -1064,7 +1064,7 @@ void Global_Append(const char *, const c
 void Global_Delete(const char *);
 void Global_Set_ReadOnly(const char *, const char *);
 
-const char *EvalStack_Details(void);
+void EvalStack_PrintDetails(void);
 
 /* util.c */
 typedef void (*SignalProc)(int);

Index: pkgsrc/devel/bmake/files/PSD.doc/Makefile
diff -u pkgsrc/devel/bmake/files/PSD.doc/Makefile:1.5 pkgsrc/devel/bmake/files/PSD.doc/Makefile:1.6
--- pkgsrc/devel/bmake/files/PSD.doc/Makefile:1.5       Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/PSD.doc/Makefile   Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.5 2024/07/15 09:10:07 jperkin Exp $
+#      $NetBSD: Makefile,v 1.6 2024/09/17 11:52:27 jperkin Exp $
 #      @(#)Makefile    8.1 (Berkeley) 8/14/93
 
 SECTION=reference/ref1

Index: pkgsrc/devel/bmake/files/PSD.doc/tutorial.ms
diff -u pkgsrc/devel/bmake/files/PSD.doc/tutorial.ms:1.6 pkgsrc/devel/bmake/files/PSD.doc/tutorial.ms:1.7
--- pkgsrc/devel/bmake/files/PSD.doc/tutorial.ms:1.6    Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/PSD.doc/tutorial.ms        Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-.\"    $NetBSD: tutorial.ms,v 1.6 2024/07/15 09:10:07 jperkin Exp $
+.\"    $NetBSD: tutorial.ms,v 1.7 2024/09/17 11:52:27 jperkin Exp $
 .\" Copyright (c) 1988, 1989, 1993
 .\"    The Regents of the University of California.  All rights reserved.
 .\"

Index: pkgsrc/devel/bmake/files/filemon/filemon.h
diff -u pkgsrc/devel/bmake/files/filemon/filemon.h:1.3 pkgsrc/devel/bmake/files/filemon/filemon.h:1.4
--- pkgsrc/devel/bmake/files/filemon/filemon.h:1.3      Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/filemon/filemon.h  Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: filemon.h,v 1.3 2024/07/15 09:10:07 jperkin Exp $      */
+/*     $NetBSD: filemon.h,v 1.4 2024/09/17 11:52:27 jperkin Exp $      */
 
 /*
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
Index: pkgsrc/devel/bmake/files/filemon/filemon_dev.c
diff -u pkgsrc/devel/bmake/files/filemon/filemon_dev.c:1.3 pkgsrc/devel/bmake/files/filemon/filemon_dev.c:1.4
--- pkgsrc/devel/bmake/files/filemon/filemon_dev.c:1.3  Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/filemon/filemon_dev.c      Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: filemon_dev.c,v 1.3 2024/07/15 09:10:07 jperkin Exp $  */
+/*     $NetBSD: filemon_dev.c,v 1.4 2024/09/17 11:52:27 jperkin Exp $  */
 
 /*
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
Index: pkgsrc/devel/bmake/files/filemon/filemon_ktrace.c
diff -u pkgsrc/devel/bmake/files/filemon/filemon_ktrace.c:1.3 pkgsrc/devel/bmake/files/filemon/filemon_ktrace.c:1.4
--- pkgsrc/devel/bmake/files/filemon/filemon_ktrace.c:1.3       Mon Jul 15 09:10:07 2024
+++ pkgsrc/devel/bmake/files/filemon/filemon_ktrace.c   Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: filemon_ktrace.c,v 1.3 2024/07/15 09:10:07 jperkin Exp $       */
+/*     $NetBSD: filemon_ktrace.c,v 1.4 2024/09/17 11:52:27 jperkin Exp $       */
 
 /*
  * Copyright (c) 2019 The NetBSD Foundation, Inc.

Index: pkgsrc/devel/bmake/files/missing/sys/cdefs.h
diff -u pkgsrc/devel/bmake/files/missing/sys/cdefs.h:1.7 pkgsrc/devel/bmake/files/missing/sys/cdefs.h:1.8
--- pkgsrc/devel/bmake/files/missing/sys/cdefs.h:1.7    Mon Jul 15 09:10:08 2024
+++ pkgsrc/devel/bmake/files/missing/sys/cdefs.h        Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-/*     $NetBSD: cdefs.h,v 1.7 2024/07/15 09:10:08 jperkin Exp $        */
+/*     $NetBSD: cdefs.h,v 1.8 2024/09/17 11:52:27 jperkin Exp $        */
 
 /*
  * Copyright (c) 1991, 1993

Index: pkgsrc/devel/bmake/files/mk/ChangeLog
diff -u pkgsrc/devel/bmake/files/mk/ChangeLog:1.2 pkgsrc/devel/bmake/files/mk/ChangeLog:1.3
--- pkgsrc/devel/bmake/files/mk/ChangeLog:1.2   Mon Jul 15 09:10:08 2024
+++ pkgsrc/devel/bmake/files/mk/ChangeLog       Tue Sep 17 11:52:27 2024
@@ -1,3 +1,16 @@
+2024-08-31  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
+         and handle subdir with '-' in its name.
+
+2024-08-23  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
+
+       * install-mk (MK_VERSION): 20240820
+
+       * links.mk: Allow a filter to be applied to SYMLINKS etc.
+       It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
+       Also only claim we are making a symlink if the value changed.
+
 2024-06-22  Simon J Gerraty  <sjg%beast.crufty.net@localhost>
 
        * install-mk (MK_VERSION): 20240616

Index: pkgsrc/devel/bmake/files/mk/README
diff -u pkgsrc/devel/bmake/files/mk/README:1.3 pkgsrc/devel/bmake/files/mk/README:1.4
--- pkgsrc/devel/bmake/files/mk/README:1.3      Mon Jul 15 09:10:08 2024
+++ pkgsrc/devel/bmake/files/mk/README  Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-#      $Id: README,v 1.3 2024/07/15 09:10:08 jperkin Exp $
+#      $Id: README,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 
 This directory contains some macro's derrived from the NetBSD bsd.*.mk
 macros.  They have the same names but without the bsd., separate macro
@@ -6,7 +6,7 @@ files are needed to ensure we can make t
 builing things outside of /usr/src.  Nearly all the comments below
 apply.
 
-#      $NetBSD: README,v 1.3 2024/07/15 09:10:08 jperkin Exp $
+#      $NetBSD: README,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #      @(#)bsd.README  5.1 (Berkeley) 5/11/90
 
 This is the README file for the new make "include" files for the BSD
Index: pkgsrc/devel/bmake/files/mk/auto.dep.mk
diff -u pkgsrc/devel/bmake/files/mk/auto.dep.mk:1.3 pkgsrc/devel/bmake/files/mk/auto.dep.mk:1.4
--- pkgsrc/devel/bmake/files/mk/auto.dep.mk:1.3 Mon Jul 15 09:10:08 2024
+++ pkgsrc/devel/bmake/files/mk/auto.dep.mk     Tue Sep 17 11:52:27 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: auto.dep.mk,v 1.3 2024/07/15 09:10:08 jperkin Exp $
+#      $Id: auto.dep.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2010-2021, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/auto.obj.mk
diff -u pkgsrc/devel/bmake/files/mk/auto.obj.mk:1.3 pkgsrc/devel/bmake/files/mk/auto.obj.mk:1.4
--- pkgsrc/devel/bmake/files/mk/auto.obj.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/auto.obj.mk     Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: auto.obj.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: auto.obj.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2004, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/autoconf.mk
diff -u pkgsrc/devel/bmake/files/mk/autoconf.mk:1.3 pkgsrc/devel/bmake/files/mk/autoconf.mk:1.4
--- pkgsrc/devel/bmake/files/mk/autoconf.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/autoconf.mk     Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: autoconf.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: autoconf.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 1996-2024, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/autodep.mk
diff -u pkgsrc/devel/bmake/files/mk/autodep.mk:1.3 pkgsrc/devel/bmake/files/mk/autodep.mk:1.4
--- pkgsrc/devel/bmake/files/mk/autodep.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/autodep.mk      Tue Sep 17 11:52:27 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: autodep.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: autodep.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 1999-2024, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/compiler.mk
diff -u pkgsrc/devel/bmake/files/mk/compiler.mk:1.3 pkgsrc/devel/bmake/files/mk/compiler.mk:1.4
--- pkgsrc/devel/bmake/files/mk/compiler.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/compiler.mk     Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: compiler.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: compiler.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2019, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/cython.mk
diff -u pkgsrc/devel/bmake/files/mk/cython.mk:1.3 pkgsrc/devel/bmake/files/mk/cython.mk:1.4
--- pkgsrc/devel/bmake/files/mk/cython.mk:1.3   Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/cython.mk       Tue Sep 17 11:52:27 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: cython.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: cython.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2014, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/dep.mk
diff -u pkgsrc/devel/bmake/files/mk/dep.mk:1.3 pkgsrc/devel/bmake/files/mk/dep.mk:1.4
--- pkgsrc/devel/bmake/files/mk/dep.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/dep.mk  Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-# $Id: dep.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: dep.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 
 # should be set properly in sys.mk
 _this ?= ${.PARSEFILE:S,bsd.,,}
Index: pkgsrc/devel/bmake/files/mk/dirdeps-options.mk
diff -u pkgsrc/devel/bmake/files/mk/dirdeps-options.mk:1.3 pkgsrc/devel/bmake/files/mk/dirdeps-options.mk:1.4
--- pkgsrc/devel/bmake/files/mk/dirdeps-options.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/dirdeps-options.mk      Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: dirdeps-options.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: dirdeps-options.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2018-2022, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/dirdeps-targets.mk
diff -u pkgsrc/devel/bmake/files/mk/dirdeps-targets.mk:1.3 pkgsrc/devel/bmake/files/mk/dirdeps-targets.mk:1.4
--- pkgsrc/devel/bmake/files/mk/dirdeps-targets.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/dirdeps-targets.mk      Tue Sep 17 11:52:27 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#       $Id: dirdeps-targets.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#       $Id: dirdeps-targets.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #       @(#) Copyright (c) 2019-2020 Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/dirdeps.mk
diff -u pkgsrc/devel/bmake/files/mk/dirdeps.mk:1.3 pkgsrc/devel/bmake/files/mk/dirdeps.mk:1.4
--- pkgsrc/devel/bmake/files/mk/dirdeps.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/dirdeps.mk      Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-# $Id: dirdeps.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: dirdeps.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 
 # SPDX-License-Identifier: BSD-2-Clause
 #
Index: pkgsrc/devel/bmake/files/mk/doc.mk
diff -u pkgsrc/devel/bmake/files/mk/doc.mk:1.3 pkgsrc/devel/bmake/files/mk/doc.mk:1.4
--- pkgsrc/devel/bmake/files/mk/doc.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/doc.mk  Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-# $Id: doc.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: doc.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 
 # should be set properly in sys.mk
 _this ?= ${.PARSEFILE:S,bsd.,,}
Index: pkgsrc/devel/bmake/files/mk/dpadd.mk
diff -u pkgsrc/devel/bmake/files/mk/dpadd.mk:1.3 pkgsrc/devel/bmake/files/mk/dpadd.mk:1.4
--- pkgsrc/devel/bmake/files/mk/dpadd.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/dpadd.mk        Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: dpadd.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: dpadd.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2004-2023, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/files.mk
diff -u pkgsrc/devel/bmake/files/mk/files.mk:1.3 pkgsrc/devel/bmake/files/mk/files.mk:1.4
--- pkgsrc/devel/bmake/files/mk/files.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/files.mk        Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: files.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: files.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2017, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/final.mk
diff -u pkgsrc/devel/bmake/files/mk/final.mk:1.3 pkgsrc/devel/bmake/files/mk/final.mk:1.4
--- pkgsrc/devel/bmake/files/mk/final.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/final.mk        Tue Sep 17 11:52:27 2024
@@ -1,4 +1,4 @@
-# $Id: final.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: final.mk,v 1.4 2024/09/17 11:52:27 jperkin Exp $
 
 .if !target(__${.PARSEFILE}__)
 __${.PARSEFILE}__: .NOTMAIN
Index: pkgsrc/devel/bmake/files/mk/gendirdeps.mk
diff -u pkgsrc/devel/bmake/files/mk/gendirdeps.mk:1.3 pkgsrc/devel/bmake/files/mk/gendirdeps.mk:1.4
--- pkgsrc/devel/bmake/files/mk/gendirdeps.mk:1.3       Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/gendirdeps.mk   Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-# $Id: gendirdeps.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: gendirdeps.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 # SPDX-License-Identifier: BSD-2-Clause
 #
Index: pkgsrc/devel/bmake/files/mk/host-target.mk
diff -u pkgsrc/devel/bmake/files/mk/host-target.mk:1.3 pkgsrc/devel/bmake/files/mk/host-target.mk:1.4
--- pkgsrc/devel/bmake/files/mk/host-target.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/host-target.mk  Tue Sep 17 11:52:28 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: host-target.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: host-target.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2007-2023 Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/host.libnames.mk
diff -u pkgsrc/devel/bmake/files/mk/host.libnames.mk:1.3 pkgsrc/devel/bmake/files/mk/host.libnames.mk:1.4
--- pkgsrc/devel/bmake/files/mk/host.libnames.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/host.libnames.mk        Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-# $Id: host.libnames.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: host.libnames.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2007-2009, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/inc.mk
diff -u pkgsrc/devel/bmake/files/mk/inc.mk:1.3 pkgsrc/devel/bmake/files/mk/inc.mk:1.4
--- pkgsrc/devel/bmake/files/mk/inc.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/inc.mk  Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: inc.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: inc.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2008, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/init.mk
diff -u pkgsrc/devel/bmake/files/mk/init.mk:1.3 pkgsrc/devel/bmake/files/mk/init.mk:1.4
--- pkgsrc/devel/bmake/files/mk/init.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/init.mk Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: init.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: init.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2002-2024, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/install-mk
diff -u pkgsrc/devel/bmake/files/mk/install-mk:1.3 pkgsrc/devel/bmake/files/mk/install-mk:1.4
--- pkgsrc/devel/bmake/files/mk/install-mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/install-mk      Tue Sep 17 11:52:28 2024
@@ -59,7 +59,7 @@
 #       Simon J. Gerraty <sjg%crufty.net@localhost>
 
 # RCSid:
-#      $Id: install-mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: install-mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 1994-2024 Simon J. Gerraty
 #
@@ -74,7 +74,7 @@
 #      sjg%crufty.net@localhost
 #
 
-MK_VERSION=20240616
+MK_VERSION=20240820
 OWNER=
 GROUP=
 MODE=444
Index: pkgsrc/devel/bmake/files/mk/install-new.mk
diff -u pkgsrc/devel/bmake/files/mk/install-new.mk:1.3 pkgsrc/devel/bmake/files/mk/install-new.mk:1.4
--- pkgsrc/devel/bmake/files/mk/install-new.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/install-new.mk  Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: install-new.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: install-new.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2009, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/java.mk
diff -u pkgsrc/devel/bmake/files/mk/java.mk:1.3 pkgsrc/devel/bmake/files/mk/java.mk:1.4
--- pkgsrc/devel/bmake/files/mk/java.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/java.mk Tue Sep 17 11:52:28 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: java.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: java.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 #      @(#) Copyright (c) 1998-2001, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/ldorder.mk
diff -u pkgsrc/devel/bmake/files/mk/ldorder.mk:1.3 pkgsrc/devel/bmake/files/mk/ldorder.mk:1.4
--- pkgsrc/devel/bmake/files/mk/ldorder.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/ldorder.mk      Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: ldorder.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: ldorder.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2015, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/lib.mk
diff -u pkgsrc/devel/bmake/files/mk/lib.mk:1.3 pkgsrc/devel/bmake/files/mk/lib.mk:1.4
--- pkgsrc/devel/bmake/files/mk/lib.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/lib.mk  Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-# $Id: lib.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: lib.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 # should be set properly in sys.mk
 _this ?= ${.PARSEFILE:S,bsd.,,}
Index: pkgsrc/devel/bmake/files/mk/libnames.mk
diff -u pkgsrc/devel/bmake/files/mk/libnames.mk:1.3 pkgsrc/devel/bmake/files/mk/libnames.mk:1.4
--- pkgsrc/devel/bmake/files/mk/libnames.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/libnames.mk     Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: libnames.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: libnames.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2007-2009, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/libs.mk
diff -u pkgsrc/devel/bmake/files/mk/libs.mk:1.3 pkgsrc/devel/bmake/files/mk/libs.mk:1.4
--- pkgsrc/devel/bmake/files/mk/libs.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/libs.mk Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: libs.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: libs.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2006, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/links.mk
diff -u pkgsrc/devel/bmake/files/mk/links.mk:1.3 pkgsrc/devel/bmake/files/mk/links.mk:1.4
--- pkgsrc/devel/bmake/files/mk/links.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/links.mk        Tue Sep 17 11:52:28 2024
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: links.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: links.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
-#      @(#) Copyright (c) 2005, Simon J. Gerraty
+#      @(#) Copyright (c) 2005-2024, Simon J. Gerraty
 #
 #      This file is provided in the hope that it will
 #      be of use.  There is absolutely NO WARRANTY.
@@ -16,37 +16,37 @@
 #
 
 # some platforms need something special
-LN?= ln
-ECHO?= echo
+LN ?= ln
+ECHO ?= echo
 
-LINKS?=
-SYMLINKS?=
+LINKS ?=
+SYMLINKS ?=
 
-__SYMLINK_SCRIPT= \
-               ${ECHO} "$$t -> $$l"; \
+__SYMLINK_SCRIPT = \
                case `'ls' -l $$t 2> /dev/null` in \
                *"> $$l") ;; \
                *) \
+                       ${ECHO} "$$t -> $$l"; \
                        mkdir -p `dirname $$t`; \
                        rm -f $$t; \
                        ${LN} -s $$l $$t;; \
                esac
 
 
-__LINK_SCRIPT= \
+__LINK_SCRIPT = \
                ${ECHO} "$$t -> $$l"; \
                mkdir -p `dirname $$t`; \
                rm -f $$t; \
                ${LN} $$l $$t
 
-_SYMLINKS_SCRIPT= \
+_SYMLINKS_SCRIPT = \
        while test $$\# -ge 2; do \
                l=$$1; shift; \
                t=${DESTDIR}$$1; shift; \
                ${__SYMLINK_SCRIPT}; \
        done; :;
 
-_LINKS_SCRIPT= \
+_LINKS_SCRIPT = \
        while test $$\# -ge 2; do \
                l=${DESTDIR}$$1; shift; \
                t=${DESTDIR}$$1; shift; \
@@ -54,21 +54,21 @@ _LINKS_SCRIPT= \
        done; :;
 
 _SYMLINKS_USE: .USE
-       @set ${$@_SYMLINKS:U${SYMLINKS}}; ${_SYMLINKS_SCRIPT}
+       @set ${$@_SYMLINKS:U${SYMLINKS}:${SYMLINKS_FILTER:U:ts:}}; ${_SYMLINKS_SCRIPT}
 
 _LINKS_USE:    .USE
-       @set ${$@_LINKS:U${LINKS}}; ${_LINKS_SCRIPT}
+       @set ${$@_LINKS:U${LINKS}:${LINKS_FILTER:U:ts:}}; ${_LINKS_SCRIPT}
 
 
 # sometimes we want to ensure DESTDIR is ignored
-_BUILD_SYMLINKS_SCRIPT= \
+_BUILD_SYMLINKS_SCRIPT = \
        while test $$\# -ge 2; do \
                l=$$1; shift; \
                t=$$1; shift; \
                ${__SYMLINK_SCRIPT}; \
        done; :;
 
-_BUILD_LINKS_SCRIPT= \
+_BUILD_LINKS_SCRIPT = \
        while test $$\# -ge 2; do \
                l=$$1; shift; \
                t=$$1; shift; \
@@ -76,7 +76,7 @@ _BUILD_LINKS_SCRIPT= \
        done; :;
 
 _BUILD_SYMLINKS_USE:   .USE
-       @set ${$@_SYMLINKS:U${SYMLINKS}}; ${_BUILD_SYMLINKS_SCRIPT}
+       @set ${$@_SYMLINKS:U${SYMLINKS}:${BUILD_SYMLINKS_FILTER:U:ts:}}; ${_BUILD_SYMLINKS_SCRIPT}
 
 _BUILD_LINKS_USE:      .USE
-       @set ${$@_LINKS:U${LINKS}}; ${_BUILD_LINKS_SCRIPT}
+       @set ${$@_LINKS:U${LINKS}:${BUILD_LINKS_FILTER:U:ts:}}; ${_BUILD_LINKS_SCRIPT}
Index: pkgsrc/devel/bmake/files/mk/man.mk
diff -u pkgsrc/devel/bmake/files/mk/man.mk:1.3 pkgsrc/devel/bmake/files/mk/man.mk:1.4
--- pkgsrc/devel/bmake/files/mk/man.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/man.mk  Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-# $Id: man.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: man.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 # should be set properly in sys.mk
 _this ?= ${.PARSEFILE:S,bsd.,,}
Index: pkgsrc/devel/bmake/files/mk/manifest.mk
diff -u pkgsrc/devel/bmake/files/mk/manifest.mk:1.3 pkgsrc/devel/bmake/files/mk/manifest.mk:1.4
--- pkgsrc/devel/bmake/files/mk/manifest.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/manifest.mk     Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: manifest.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: manifest.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2014, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/meta.autodep.mk
diff -u pkgsrc/devel/bmake/files/mk/meta.autodep.mk:1.3 pkgsrc/devel/bmake/files/mk/meta.autodep.mk:1.4
--- pkgsrc/devel/bmake/files/mk/meta.autodep.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/meta.autodep.mk Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: meta.autodep.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: meta.autodep.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 #
 #      @(#) Copyright (c) 2010, Simon J. Gerraty
Index: pkgsrc/devel/bmake/files/mk/meta.stage.mk
diff -u pkgsrc/devel/bmake/files/mk/meta.stage.mk:1.3 pkgsrc/devel/bmake/files/mk/meta.stage.mk:1.4
--- pkgsrc/devel/bmake/files/mk/meta.stage.mk:1.3       Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/meta.stage.mk   Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: meta.stage.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: meta.stage.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2011-2017, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/meta.subdir.mk
diff -u pkgsrc/devel/bmake/files/mk/meta.subdir.mk:1.3 pkgsrc/devel/bmake/files/mk/meta.subdir.mk:1.4
--- pkgsrc/devel/bmake/files/mk/meta.subdir.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/meta.subdir.mk  Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: meta.subdir.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: meta.subdir.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 #
 #      @(#) Copyright (c) 2010, Simon J. Gerraty
Index: pkgsrc/devel/bmake/files/mk/meta.sys.mk
diff -u pkgsrc/devel/bmake/files/mk/meta.sys.mk:1.3 pkgsrc/devel/bmake/files/mk/meta.sys.mk:1.4
--- pkgsrc/devel/bmake/files/mk/meta.sys.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/meta.sys.mk     Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: meta.sys.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: meta.sys.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 #
 #      @(#) Copyright (c) 2010-2023, Simon J. Gerraty
Index: pkgsrc/devel/bmake/files/mk/meta2deps.py
diff -u pkgsrc/devel/bmake/files/mk/meta2deps.py:1.3 pkgsrc/devel/bmake/files/mk/meta2deps.py:1.4
--- pkgsrc/devel/bmake/files/mk/meta2deps.py:1.3        Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/meta2deps.py    Tue Sep 17 11:52:28 2024
@@ -39,7 +39,7 @@ We only pay attention to a subset of the
 SPDX-License-Identifier: BSD-2-Clause
 
 RCSid:
-       $Id: meta2deps.py,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+       $Id: meta2deps.py,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
        Copyright (c) 2011-2020, Simon J. Gerraty
        Copyright (c) 2011-2017, Juniper Networks, Inc.
Index: pkgsrc/devel/bmake/files/mk/meta2deps.sh
diff -u pkgsrc/devel/bmake/files/mk/meta2deps.sh:1.3 pkgsrc/devel/bmake/files/mk/meta2deps.sh:1.4
--- pkgsrc/devel/bmake/files/mk/meta2deps.sh:1.3        Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/meta2deps.sh    Tue Sep 17 11:52:28 2024
@@ -77,7 +77,7 @@
 
 
 # RCSid:
-#      $Id: meta2deps.sh,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: meta2deps.sh,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 # SPDX-License-Identifier: BSD-2-Clause
 #
Index: pkgsrc/devel/bmake/files/mk/mk-files.txt
diff -u pkgsrc/devel/bmake/files/mk/mk-files.txt:1.3 pkgsrc/devel/bmake/files/mk/mk-files.txt:1.4
--- pkgsrc/devel/bmake/files/mk/mk-files.txt:1.3        Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/mk-files.txt    Tue Sep 17 11:52:28 2024
@@ -597,5 +597,5 @@ where you unpacked the tar file, you can
 .. _`netbsd-meta-mode`: https://www.crufty.net/sjg/docs/netbsd-meta-mode.htm
 
 :Author: sjg%crufty.net@localhost
-:Revision: $Id: mk-files.txt,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+:Revision: $Id: mk-files.txt,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 :Copyright: Crufty.NET
Index: pkgsrc/devel/bmake/files/mk/mkopt.sh
diff -u pkgsrc/devel/bmake/files/mk/mkopt.sh:1.3 pkgsrc/devel/bmake/files/mk/mkopt.sh:1.4
--- pkgsrc/devel/bmake/files/mk/mkopt.sh:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/mkopt.sh        Tue Sep 17 11:52:28 2024
@@ -2,7 +2,7 @@
 
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: mkopt.sh,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: mkopt.sh,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2014-2022, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/nls.mk
diff -u pkgsrc/devel/bmake/files/mk/nls.mk:1.3 pkgsrc/devel/bmake/files/mk/nls.mk:1.4
--- pkgsrc/devel/bmake/files/mk/nls.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/nls.mk  Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: nls.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $NetBSD: nls.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 .if !target(.MAIN)
 # init.mk not included
Index: pkgsrc/devel/bmake/files/mk/obj.mk
diff -u pkgsrc/devel/bmake/files/mk/obj.mk:1.3 pkgsrc/devel/bmake/files/mk/obj.mk:1.4
--- pkgsrc/devel/bmake/files/mk/obj.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/obj.mk  Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: obj.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: obj.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 1999-2010, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/options.mk
diff -u pkgsrc/devel/bmake/files/mk/options.mk:1.3 pkgsrc/devel/bmake/files/mk/options.mk:1.4
--- pkgsrc/devel/bmake/files/mk/options.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/options.mk      Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: options.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: options.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2012, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/own.mk
diff -u pkgsrc/devel/bmake/files/mk/own.mk:1.3 pkgsrc/devel/bmake/files/mk/own.mk:1.4
--- pkgsrc/devel/bmake/files/mk/own.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/own.mk  Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-# $Id: own.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: own.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 # should be set properly in sys.mk
 _this ?= ${.PARSEFILE:S,bsd.,,}
Index: pkgsrc/devel/bmake/files/mk/prlist.mk
diff -u pkgsrc/devel/bmake/files/mk/prlist.mk:1.3 pkgsrc/devel/bmake/files/mk/prlist.mk:1.4
--- pkgsrc/devel/bmake/files/mk/prlist.mk:1.3   Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/prlist.mk       Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: prlist.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: prlist.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2006, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/prog.mk
diff -u pkgsrc/devel/bmake/files/mk/prog.mk:1.3 pkgsrc/devel/bmake/files/mk/prog.mk:1.4
--- pkgsrc/devel/bmake/files/mk/prog.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/prog.mk Tue Sep 17 11:52:28 2024
@@ -1,4 +1,4 @@
-#      $Id: prog.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: prog.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 # should be set properly in sys.mk
 _this ?= ${.PARSEFILE:S,bsd.,,}
Index: pkgsrc/devel/bmake/files/mk/progs.mk
diff -u pkgsrc/devel/bmake/files/mk/progs.mk:1.3 pkgsrc/devel/bmake/files/mk/progs.mk:1.4
--- pkgsrc/devel/bmake/files/mk/progs.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/progs.mk        Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: progs.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: progs.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2006, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/rst2htm.mk
diff -u pkgsrc/devel/bmake/files/mk/rst2htm.mk:1.3 pkgsrc/devel/bmake/files/mk/rst2htm.mk:1.4
--- pkgsrc/devel/bmake/files/mk/rst2htm.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/rst2htm.mk      Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: rst2htm.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: rst2htm.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2009, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/scripts.mk
diff -u pkgsrc/devel/bmake/files/mk/scripts.mk:1.3 pkgsrc/devel/bmake/files/mk/scripts.mk:1.4
--- pkgsrc/devel/bmake/files/mk/scripts.mk:1.3  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/scripts.mk      Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: scripts.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: scripts.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2006, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/srctop.mk
diff -u pkgsrc/devel/bmake/files/mk/srctop.mk:1.3 pkgsrc/devel/bmake/files/mk/srctop.mk:1.4
--- pkgsrc/devel/bmake/files/mk/srctop.mk:1.3   Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/srctop.mk       Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: srctop.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: srctop.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2012, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/stage-install.sh
diff -u pkgsrc/devel/bmake/files/mk/stage-install.sh:1.3 pkgsrc/devel/bmake/files/mk/stage-install.sh:1.4
--- pkgsrc/devel/bmake/files/mk/stage-install.sh:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/stage-install.sh        Tue Sep 17 11:52:28 2024
@@ -37,7 +37,7 @@
 #
 
 # RCSid:
-#      $Id: stage-install.sh,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: stage-install.sh,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      SPDX-License-Identifier: BSD-2-Clause
 #
Index: pkgsrc/devel/bmake/files/mk/subdir.mk
diff -u pkgsrc/devel/bmake/files/mk/subdir.mk:1.3 pkgsrc/devel/bmake/files/mk/subdir.mk:1.4
--- pkgsrc/devel/bmake/files/mk/subdir.mk:1.3   Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/subdir.mk       Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-#      $Id: subdir.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: subdir.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2002-2024, Simon J. Gerraty
 #
@@ -29,7 +29,7 @@ _this ?= ${.PARSEFILE:S,bsd.,,}
 .if !target(__${_this}__)
 __${_this}__: .NOTMAIN
 
-.if defined(SUBDIR)
+.if defined(SUBDIR) || defined(SUBDIR.yes)
 
 .if ${.MAKE.LEVEL} == 0 && ${MK_DIRDEPS_BUILD:Uno} == "yes"
 .include <meta.subdir.mk>
@@ -52,7 +52,7 @@ MISSING_DIR=echo "Skipping ===> ${.CURDI
 # our target should be of the form ${_target}-${_dir}
 _SUBDIR_USE: .USE
        @Exists() { test -f $$1; }; \
-       _dir=${.TARGET:C/^.*-//} \
+       _dir=${.TARGET:C/^[^-]*-//} \
        _target=${.TARGET:C/-.*//:S/real//:S/.depend/depend/}; \
        if ! Exists ${.CURDIR}/$$_dir/[mM]akefile; then \
                ${MISSING_DIR}; \
@@ -95,9 +95,11 @@ SUBDIR_TARGETS += \
        tags \
        etags
 
-.if ${SUBDIR} == "@auto"
+.if ${SUBDIR:U} == "@auto"
 SUBDIR = ${echo ${.CURDIR}/*/[Mm]akefile:L:sh:H:T:O:N\*}
 .endif
+# allow for things like SUBDIR.${MK_TESTS}
+SUBDIR += ${SUBDIR.yes:U}
 
 __subdirs =
 .for d in ${SUBDIR}
Index: pkgsrc/devel/bmake/files/mk/sys.clean-env.mk
diff -u pkgsrc/devel/bmake/files/mk/sys.clean-env.mk:1.3 pkgsrc/devel/bmake/files/mk/sys.clean-env.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys.clean-env.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/sys.clean-env.mk        Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: sys.clean-env.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: sys.clean-env.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2009, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/sys.debug.mk
diff -u pkgsrc/devel/bmake/files/mk/sys.debug.mk:1.3 pkgsrc/devel/bmake/files/mk/sys.debug.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys.debug.mk:1.3        Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/sys.debug.mk    Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: sys.debug.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: sys.debug.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2009, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/sys.dependfile.mk
diff -u pkgsrc/devel/bmake/files/mk/sys.dependfile.mk:1.3 pkgsrc/devel/bmake/files/mk/sys.dependfile.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys.dependfile.mk:1.3   Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/sys.dependfile.mk       Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: sys.dependfile.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: sys.dependfile.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2012-2023, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/sys.mk
diff -u pkgsrc/devel/bmake/files/mk/sys.mk:1.3 pkgsrc/devel/bmake/files/mk/sys.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys.mk:1.3      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/sys.mk  Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: sys.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: sys.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2003-2023, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/sys.vars.mk
diff -u pkgsrc/devel/bmake/files/mk/sys.vars.mk:1.3 pkgsrc/devel/bmake/files/mk/sys.vars.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys.vars.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/sys.vars.mk     Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: sys.vars.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: sys.vars.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2003-2023, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/target-flags.mk
diff -u pkgsrc/devel/bmake/files/mk/target-flags.mk:1.3 pkgsrc/devel/bmake/files/mk/target-flags.mk:1.4
--- pkgsrc/devel/bmake/files/mk/target-flags.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/target-flags.mk Tue Sep 17 11:52:28 2024
@@ -39,7 +39,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: target-flags.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: target-flags.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 1998-2002, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/warnings.mk
diff -u pkgsrc/devel/bmake/files/mk/warnings.mk:1.3 pkgsrc/devel/bmake/files/mk/warnings.mk:1.4
--- pkgsrc/devel/bmake/files/mk/warnings.mk:1.3 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/warnings.mk     Tue Sep 17 11:52:28 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: warnings.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: warnings.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2002-2023, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/whats.mk
diff -u pkgsrc/devel/bmake/files/mk/whats.mk:1.3 pkgsrc/devel/bmake/files/mk/whats.mk:1.4
--- pkgsrc/devel/bmake/files/mk/whats.mk:1.3    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/whats.mk        Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: whats.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: whats.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2014-2020, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/yacc.mk
diff -u pkgsrc/devel/bmake/files/mk/yacc.mk:1.3 pkgsrc/devel/bmake/files/mk/yacc.mk:1.4
--- pkgsrc/devel/bmake/files/mk/yacc.mk:1.3     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/yacc.mk Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: yacc.mk,v 1.3 2024/07/15 09:10:09 jperkin Exp $
+# $Id: yacc.mk,v 1.4 2024/09/17 11:52:28 jperkin Exp $
 
 #
 #      @(#) Copyright (c) 1999-2011, Simon J. Gerraty

Index: pkgsrc/devel/bmake/files/mk/cc-wrap.mk
diff -u pkgsrc/devel/bmake/files/mk/cc-wrap.mk:1.1 pkgsrc/devel/bmake/files/mk/cc-wrap.mk:1.2
--- pkgsrc/devel/bmake/files/mk/cc-wrap.mk:1.1  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/cc-wrap.mk      Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: cc-wrap.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+# $Id: cc-wrap.mk,v 1.2 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2022, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/ccm.dep.mk
diff -u pkgsrc/devel/bmake/files/mk/ccm.dep.mk:1.1 pkgsrc/devel/bmake/files/mk/ccm.dep.mk:1.2
--- pkgsrc/devel/bmake/files/mk/ccm.dep.mk:1.1  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/ccm.dep.mk      Tue Sep 17 11:52:27 2024
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: ccm.dep.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: ccm.dep.mk,v 1.2 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2024, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/dirdeps-cache-update.mk
diff -u pkgsrc/devel/bmake/files/mk/dirdeps-cache-update.mk:1.1 pkgsrc/devel/bmake/files/mk/dirdeps-cache-update.mk:1.2
--- pkgsrc/devel/bmake/files/mk/dirdeps-cache-update.mk:1.1     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/dirdeps-cache-update.mk Tue Sep 17 11:52:27 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: dirdeps-cache-update.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+# $Id: dirdeps-cache-update.mk,v 1.2 2024/09/17 11:52:27 jperkin Exp $
 #
 #      @(#) Copyright (c) 2020, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/install-sh
diff -u pkgsrc/devel/bmake/files/mk/install-sh:1.1 pkgsrc/devel/bmake/files/mk/install-sh:1.2
--- pkgsrc/devel/bmake/files/mk/install-sh:1.1  Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/install-sh      Tue Sep 17 11:52:28 2024
@@ -56,7 +56,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
 # RCSid:
-#      $Id: install-sh,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: install-sh,v 1.2 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 1993-2023 Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/jobs.mk
diff -u pkgsrc/devel/bmake/files/mk/jobs.mk:1.1 pkgsrc/devel/bmake/files/mk/jobs.mk:1.2
--- pkgsrc/devel/bmake/files/mk/jobs.mk:1.1     Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/jobs.mk Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: jobs.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+# $Id: jobs.mk,v 1.2 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2012-2023, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/newlog.sh
diff -u pkgsrc/devel/bmake/files/mk/newlog.sh:1.1 pkgsrc/devel/bmake/files/mk/newlog.sh:1.2
--- pkgsrc/devel/bmake/files/mk/newlog.sh:1.1   Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/newlog.sh       Tue Sep 17 11:52:28 2024
@@ -76,7 +76,7 @@
 #
 
 # RCSid:
-#      $Id: newlog.sh,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+#      $Id: newlog.sh,v 1.2 2024/09/17 11:52:28 jperkin Exp $
 #
 #      SPDX-License-Identifier: BSD-2-Clause
 #
Index: pkgsrc/devel/bmake/files/mk/posix.mk
diff -u pkgsrc/devel/bmake/files/mk/posix.mk:1.1 pkgsrc/devel/bmake/files/mk/posix.mk:1.2
--- pkgsrc/devel/bmake/files/mk/posix.mk:1.1    Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/posix.mk        Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: posix.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+# $Id: posix.mk,v 1.2 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2022, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/suffixes.mk
diff -u pkgsrc/devel/bmake/files/mk/suffixes.mk:1.1 pkgsrc/devel/bmake/files/mk/suffixes.mk:1.2
--- pkgsrc/devel/bmake/files/mk/suffixes.mk:1.1 Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/suffixes.mk     Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: suffixes.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+# $Id: suffixes.mk,v 1.2 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2024, Simon J. Gerraty
 #
Index: pkgsrc/devel/bmake/files/mk/sys.dirdeps.mk
diff -u pkgsrc/devel/bmake/files/mk/sys.dirdeps.mk:1.1 pkgsrc/devel/bmake/files/mk/sys.dirdeps.mk:1.2
--- pkgsrc/devel/bmake/files/mk/sys.dirdeps.mk:1.1      Mon Jul 15 09:10:09 2024
+++ pkgsrc/devel/bmake/files/mk/sys.dirdeps.mk  Tue Sep 17 11:52:28 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# $Id: sys.dirdeps.mk,v 1.1 2024/07/15 09:10:09 jperkin Exp $
+# $Id: sys.dirdeps.mk,v 1.2 2024/09/17 11:52:28 jperkin Exp $
 #
 #      @(#) Copyright (c) 2012-2023, Simon J. Gerraty
 #

Index: pkgsrc/devel/bmake/files/mk/sys/AIX.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/AIX.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/AIX.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/AIX.mk:1.3  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/AIX.mk      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: AIX.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $NetBSD: AIX.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      5.11 (Berkeley) 3/13/91
 
 OS ?=          AIX
Index: pkgsrc/devel/bmake/files/mk/sys/Darwin.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/Darwin.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/Darwin.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/Darwin.mk:1.3       Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/Darwin.mk   Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: Darwin.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $NetBSD: Darwin.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      8.2 (Berkeley) 3/21/94
 
 OS ?=          Darwin
Index: pkgsrc/devel/bmake/files/mk/sys/Generic.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/Generic.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/Generic.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/Generic.mk:1.3      Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/Generic.mk  Tue Sep 17 11:52:29 2024
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 #
-#      $Id: Generic.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $Id: Generic.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #
 
 .LIBS:         .a
Index: pkgsrc/devel/bmake/files/mk/sys/HP-UX.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/HP-UX.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/HP-UX.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/HP-UX.mk:1.3        Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/HP-UX.mk    Tue Sep 17 11:52:29 2024
@@ -1,5 +1,5 @@
-#      $Id: HP-UX.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
-#      $NetBSD: HP-UX.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $Id: HP-UX.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
+#      $NetBSD: HP-UX.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      5.11 (Berkeley) 3/13/91
 
 OS ?=          HP-UX
Index: pkgsrc/devel/bmake/files/mk/sys/IRIX.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/IRIX.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/IRIX.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/IRIX.mk:1.3 Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/IRIX.mk     Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: IRIX.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $NetBSD: IRIX.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      8.2 (Berkeley) 3/21/94
 
 .ifndef ROOT_GROUP
Index: pkgsrc/devel/bmake/files/mk/sys/Linux.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/Linux.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/Linux.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/Linux.mk:1.3        Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/Linux.mk    Tue Sep 17 11:52:29 2024
@@ -1,5 +1,5 @@
-#      $Id: Linux.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
-#      $NetBSD: Linux.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $Id: Linux.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
+#      $NetBSD: Linux.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      5.11 (Berkeley) 3/13/91
 
 OS ?=          Linux
Index: pkgsrc/devel/bmake/files/mk/sys/NetBSD.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/NetBSD.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/NetBSD.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/NetBSD.mk:1.3       Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/NetBSD.mk   Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: NetBSD.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $NetBSD: NetBSD.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      8.2 (Berkeley) 3/21/94
 
 OS ?=          NetBSD
Index: pkgsrc/devel/bmake/files/mk/sys/OSF1.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/OSF1.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/OSF1.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/OSF1.mk:1.3 Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/OSF1.mk     Tue Sep 17 11:52:29 2024
@@ -1,5 +1,5 @@
-#      $Id: OSF1.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
-#      $NetBSD: OSF1.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $Id: OSF1.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
+#      $NetBSD: OSF1.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      5.11 (Berkeley) 3/13/91
 
 OS ?=          OSF1
Index: pkgsrc/devel/bmake/files/mk/sys/OpenBSD.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/OpenBSD.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/OpenBSD.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/OpenBSD.mk:1.3      Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/OpenBSD.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: OpenBSD.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $NetBSD: OpenBSD.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      8.2 (Berkeley) 3/21/94
 
 OS ?=          OpenBSD
Index: pkgsrc/devel/bmake/files/mk/sys/SunOS.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/SunOS.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/SunOS.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/SunOS.mk:1.3        Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/SunOS.mk    Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-#      $Id: SunOS.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $Id: SunOS.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 
 .if ${.PARSEFILE} == "sys.mk"
 .include <host-target.mk>
Index: pkgsrc/devel/bmake/files/mk/sys/UnixWare.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/UnixWare.mk:1.3 pkgsrc/devel/bmake/files/mk/sys/UnixWare.mk:1.4
--- pkgsrc/devel/bmake/files/mk/sys/UnixWare.mk:1.3     Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/UnixWare.mk Tue Sep 17 11:52:29 2024
@@ -1,6 +1,6 @@
-#      $Id: UnixWare.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $Id: UnixWare.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      based on "Id: SunOS.5.sys.mk,v 1.6 2003/09/30 16:42:23 sjg Exp "
-#      $NetBSD: UnixWare.mk,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+#      $NetBSD: UnixWare.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #      @(#)sys.mk      5.11 (Berkeley) 3/13/91
 
 OS ?=          UnixWare

Index: pkgsrc/devel/bmake/files/mk/sys/SCO_SV.mk
diff -u pkgsrc/devel/bmake/files/mk/sys/SCO_SV.mk:1.1 pkgsrc/devel/bmake/files/mk/sys/SCO_SV.mk:1.2
--- pkgsrc/devel/bmake/files/mk/sys/SCO_SV.mk:1.1       Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/mk/sys/SCO_SV.mk   Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $Id: SCO_SV.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $Id: SCO_SV.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 
 OS = SCO_SV
 OS_DEF_FLAG := -D${OS}

Index: pkgsrc/devel/bmake/files/unit-tests/Makefile
diff -u pkgsrc/devel/bmake/files/unit-tests/Makefile:1.3 pkgsrc/devel/bmake/files/unit-tests/Makefile:1.4
--- pkgsrc/devel/bmake/files/unit-tests/Makefile:1.3    Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/Makefile        Tue Sep 17 11:52:29 2024
@@ -1,6 +1,6 @@
-# $Id: Makefile,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+# $Id: Makefile,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #
-# $NetBSD: Makefile,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: Makefile,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #
 # Unit tests for make(1)
 #
@@ -887,6 +887,7 @@ test:       ${OUTFILES} .PHONY
          if [ "$$have_lua" = "yes" -a -s ${.CURDIR}/check-expect.lua ]; then \
            (cd ${.CURDIR} && "$$lua" ./check-expect.lua *.mk); \
          fi; \
+         rm -rf ${TMPDIR}; \
        fi
 
 accept:
Index: pkgsrc/devel/bmake/files/unit-tests/Makefile.config.in
diff -u pkgsrc/devel/bmake/files/unit-tests/Makefile.config.in:1.3 pkgsrc/devel/bmake/files/unit-tests/Makefile.config.in:1.4
--- pkgsrc/devel/bmake/files/unit-tests/Makefile.config.in:1.3  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/Makefile.config.in      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $Id: Makefile.config.in,v 1.3 2024/07/15 09:10:10 jperkin Exp $
+# $Id: Makefile.config.in,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 
 srcdir= @srcdir@
 EGREP= @egrep@
Index: pkgsrc/devel/bmake/files/unit-tests/cond-late.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-late.mk:1.3 pkgsrc/devel/bmake/files/unit-tests/cond-late.mk:1.4
--- pkgsrc/devel/bmake/files/unit-tests/cond-late.mk:1.3        Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-late.mk    Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-late.mk,v 1.3 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-late.mk,v 1.4 2024/09/17 11:52:29 jperkin Exp $
 #
 # Using the :? modifier, expressions can contain conditional
 # expressions that are evaluated late, at expansion time.
@@ -34,7 +34,7 @@ cond-literal:
 
 .if make(do-parse-time)
 VAR=   ${${UNDEF} != "no":?:}
-# expect+1: while evaluating variable "VAR" with value "${${UNDEF} != "no":?:}": while evaluating condition " != "no"": Bad condition
+# expect+1: Bad condition
 .  if empty(VAR:Mpattern)
 .  endif
 .endif
Index: pkgsrc/devel/bmake/files/unit-tests/dollar.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dollar.mk:1.3 pkgsrc/devel/bmake/files/unit-tests/dollar.mk:1.4
--- pkgsrc/devel/bmake/files/unit-tests/dollar.mk:1.3   Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dollar.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dollar.mk,v 1.3 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: dollar.mk,v 1.4 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test the various places where a dollar sign can appear and
 # see what happens.  There are lots of surprises here.
Index: pkgsrc/devel/bmake/files/unit-tests/include-main.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/include-main.mk:1.3 pkgsrc/devel/bmake/files/unit-tests/include-main.mk:1.4
--- pkgsrc/devel/bmake/files/unit-tests/include-main.mk:1.3     Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/include-main.mk Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: include-main.mk,v 1.3 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: include-main.mk,v 1.4 2024/09/17 11:52:32 jperkin Exp $
 #
 # Until 2020-09-05, the .INCLUDEDFROMFILE magic variable did not behave
 # as described in the manual page.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-edge.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-edge.mk:1.3 pkgsrc/devel/bmake/files/unit-tests/varmod-edge.mk:1.4
--- pkgsrc/devel/bmake/files/unit-tests/varmod-edge.mk:1.3      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-edge.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-edge.mk,v 1.3 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-edge.mk,v 1.4 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for edge cases in variable modifiers.
 #
@@ -56,7 +56,7 @@ EXP=  \(\{}\):
 INP=   (parentheses)
 MOD=   ${INP:M${:U*)}}
 EXP=   (parentheses)}
-# expect+1: while evaluating variable "MOD" with value "${INP:M${:U*)}}": while evaluating variable "INP" with value "(parentheses)": while evaluating "${:U*)" with value "*)": Unclosed expression, 
expecting '}' for modifier "U*)"
+# expect+1: Unclosed expression, expecting '}' for modifier "U*)"
 .if ${MOD} != ${EXP}
 .  warning expected "${EXP}", got "${MOD}"
 .endif
@@ -84,7 +84,7 @@ EXP=  [
 INP=   [ [[ [[[
 MOD=   ${INP:M${:U[[}}
 EXP=   [
-# expect+1: while evaluating variable "MOD" with value "${INP:M${:U[[}}": while evaluating variable "INP" with value "[ [[ [[[": Unfinished character list in pattern '[[' of modifier ':M'
+# expect+1: Unfinished character list in pattern '[[' of modifier ':M'
 .if ${MOD} != ${EXP}
 .  warning expected "${EXP}", got "${MOD}"
 .endif
@@ -174,7 +174,7 @@ EXP=        file.c file.ext
 INP=   file.c file...
 MOD=   ${INP:a\=b}
 EXP=   # empty
-# expect+1: while evaluating variable "MOD" with value "${INP:a\=b}": while evaluating variable "INP" with value "file.c file...": Unfinished modifier ('=' missing)
+# expect+1: Unfinished modifier ('=' missing)
 .if ${MOD} != ${EXP}
 .  warning expected "${EXP}", got "${MOD}"
 .endif
@@ -189,8 +189,8 @@ EXP=        value
 INP=   value
 MOD=   ${INP::::}
 EXP=   # empty
-# expect+2: while evaluating variable "MOD" with value "${INP::::}": while evaluating variable "INP" with value "value": Unknown modifier ":"
-# expect+1: while evaluating variable "MOD" with value "${INP::::}": while evaluating variable "INP" with value "": Unknown modifier ":"
+# expect+2: Unknown modifier ":"
+# expect+1: Unknown modifier ":"
 .if ${MOD} != ${EXP}
 .  warning expected "${EXP}", got "${MOD}"
 .endif
@@ -198,8 +198,8 @@ EXP=        # empty
 # Even in expressions based on an unnamed variable, there may be errors.
 # XXX: The error message should mention the variable name of the expression,
 # even though that name is empty in this case.
-# expect+2: Malformed conditional (${:Z})
-# expect+1: while evaluating "${:Z}" with value "": Unknown modifier "Z"
+# expect+2: Malformed conditional '${:Z}'
+# expect+1: Unknown modifier "Z"
 .if ${:Z}
 .  error
 .else
@@ -212,8 +212,8 @@ EXP=        # empty
 # variable name with quotes, leading to the rather confusing "Unfinished
 # modifier for  (',' missing)", having two spaces in a row.
 #
-# expect+2: while evaluating "${:S,}" with value "": Unfinished modifier (',' missing)
-# expect+1: Malformed conditional (${:S,})
+# expect+2: Unfinished modifier (',' missing)
+# expect+1: Malformed conditional '${:S,}'
 .if ${:S,}
 .  error
 .else

Index: pkgsrc/devel/bmake/files/unit-tests/archive-suffix.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/archive-suffix.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/archive-suffix.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/archive-suffix.mk:1.1   Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/archive-suffix.mk       Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: archive-suffix.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: archive-suffix.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Between 2020-08-23 and 2020-08-30, the below code produced an assertion
 # failure in Var_SetWithFlags, triggered by Compat_Make, when setting the
Index: pkgsrc/devel/bmake/files/unit-tests/archive.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/archive.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/archive.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/archive.mk:1.1  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/archive.mk      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: archive.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: archive.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Very basic demonstration of handling archives, based on the description
 # in PSD.doc/tutorial.ms.
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.exp:1.1 Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.exp     Tue Sep 17 11:52:29 2024
@@ -1,9 +1,67 @@
-: undefined--eol
-make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
-: unclosed-expression-
-make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
-: unclosed-modifier-
-make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
-: unknown-modifier--eol
-: end-eol
-exit status 2
+begin undefined-direct
+: undefined-direct--eol
+end undefined-direct with status 0
+
+begin undefined-indirect
+: undefined-direct--eol
+end undefined-indirect with status 0
+
+begin parse-error-direct
+make: Unclosed variable "UNCLOSED"
+       in target "parse-error-unclosed-expression"
+make: Unclosed expression, expecting '}'
+       while evaluating variable "UNCLOSED" with value ""
+       in target "parse-error-unclosed-modifier"
+make: Unknown modifier "Z"
+       while evaluating variable "UNKNOWN" with value ""
+       in target "parse-error-unknown-modifier"
+end parse-error-direct with status 2
+
+begin parse-error-indirect
+make: Unclosed variable "UNCLOSED"
+       in target "parse-error-unclosed-expression"
+make: Unclosed expression, expecting '}'
+       while evaluating variable "UNCLOSED" with value ""
+       in target "parse-error-unclosed-modifier"
+make: Unknown modifier "Z"
+       while evaluating variable "UNKNOWN" with value ""
+       in target "parse-error-unknown-modifier"
+end parse-error-indirect with status 2
+
+begin begin-direct
+(exit 13) # .BEGIN
+*** Error code 13 (continuing)
+
+
+Stop.
+make: stopped making "begin-direct" in unit-tests
+end begin-direct with status 1
+
+begin begin-indirect
+(exit 13) # before-begin
+*** Error code 13 (continuing)
+
+
+Stop.
+make: stopped making "begin-indirect" in unit-tests
+end begin-indirect with status 1
+
+begin end-direct
+(exit 13) # .END
+*** Error code 13 (continuing)
+
+
+Stop.
+make: stopped making "end-direct" in unit-tests
+end end-direct with status 1
+
+begin end-indirect
+(exit 13) # before-end
+*** Error code 13 (continuing)
+
+
+Stop.
+make: stopped making "end-indirect" in unit-tests
+end end-indirect with status 1
+
+exit status 0
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.mk:1.1  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-errors-jobs.mk      Tue Sep 17 11:52:29 2024
@@ -1,38 +1,105 @@
-# $NetBSD: cmd-errors-jobs.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmd-errors-jobs.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Demonstrate how errors in expressions affect whether the commands
 # are actually executed in jobs mode.
 
-.MAKEFLAGS: -j1
+RUN=   @ run() {                                       \
+               echo "begin $$*"                        \
+               && ${MAKE} -f ${MAKEFILE} -j1 "$$*"     \
+               && echo "end $$* with status $$?"       \
+               || echo "end $$* with status $$?"       \
+               && echo;                                \
+       } && run
+
+all:
+       ${RUN} undefined-direct
+       ${RUN} undefined-indirect
+       ${RUN} parse-error-direct
+       ${RUN} parse-error-indirect
+       ${RUN} begin-direct
+       ${RUN} begin-indirect
+       ${RUN} end-direct
+       ${RUN} end-indirect
 
-all: undefined unclosed-expression unclosed-modifier unknown-modifier end
 
 # Undefined variables in expressions are not an error.  They expand to empty
 # strings.
-# expect: : undefined--eol
-undefined:
+# expect: : undefined-direct--eol
+# expect: end undefined-direct with status 0
+# expect: : undefined-direct--eol
+# expect: end undefined-indirect with status 0
+undefined-indirect: undefined-direct
+undefined-direct:
        : $@-${UNDEFINED}-eol
 
-unclosed-expression:
-# expect: make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unclosed-expression-
-       : $@-${UNCLOSED
-
-unclosed-modifier:
-# expect: make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unclosed-modifier-
-       : $@-${UNCLOSED:
-
-unknown-modifier:
-# expect: make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unknown-modifier--eol
-       : $@-${UNKNOWN:Z}-eol
-
-# expect: : end-eol
-end:
-       : $@-eol
 
-# expect: exit status 2
+parse-error-indirect: parse-error-direct
+parse-error-direct: parse-error-unclosed-expression
+parse-error-direct: parse-error-unclosed-modifier
+parse-error-direct: parse-error-unknown-modifier
+
+parse-error-unclosed-expression:
+       : unexpected $@-${UNCLOSED
+
+parse-error-unclosed-modifier:
+       : unexpected $@-${UNCLOSED:
+
+parse-error-unknown-modifier:
+       : unexpected $@-${UNKNOWN:Z}-eol
+
+# expect-not: : unexpected
+# expect: make: Unclosed variable "UNCLOSED"
+# expect: make: Unclosed expression, expecting '}'
+# expect: make: Unknown modifier "Z"
+# expect: end parse-error-direct with status 2
+# expect: make: Unclosed variable "UNCLOSED"
+# expect: make: Unclosed expression, expecting '}'
+# expect: make: Unknown modifier "Z"
+# expect: end parse-error-indirect with status 2
+
+
+.if make(begin-direct)
+begin-direct:
+.BEGIN:
+       (exit 13) # $@
+.endif
+# expect: begin begin-direct
+# expect: make: stopped making "begin-direct" in unit-tests
+# expect: end begin-direct with status 1
+
+
+.if make(begin-indirect)
+begin-indirect:
+.BEGIN: before-begin
+       : Making $@
+before-begin:
+       (exit 13) # $@
+.endif
+# expect: begin begin-indirect
+# expect: *** Error code 13 (continuing)
+# expect: make: stopped making "begin-indirect" in unit-tests
+# expect: end begin-indirect with status 1
+
+
+.if make(end-direct)
+end-direct:
+.END:
+       (exit 13) # $@
+.endif
+# expect: begin end-direct
+# expect: *** Error code 13 (continuing)
+# expect: Stop.
+# expect: make: stopped making "end-direct" in unit-tests
+# expect: end end-direct with status 1
+
+.if make(end-indirect)
+end-indirect:
+.END: before-end
+       : Making $@
+before-end:
+       (exit 13) # $@
+.endif
+# expect: begin end-indirect
+# expect: *** Error code 13 (continuing)
+# expect: make: stopped making "end-indirect" in unit-tests
+# expect: end end-indirect with status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.exp:1.1 Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.exp     Tue Sep 17 11:52:29 2024
@@ -1,9 +1,11 @@
 : undefined 
-make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
-: unclosed-expression 
-make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
-: unclosed-modifier 
-make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
-: unknown-modifier 
+make: Unclosed variable "UNCLOSED"
+       in target "unclosed-expression"
+make: Unclosed expression, expecting '}'
+       while evaluating variable "UNCLOSED" with value ""
+       in target "unclosed-modifier"
+make: Unknown modifier "Z"
+       while evaluating variable "UNKNOWN" with value ""
+       in target "unknown-modifier"
 : end
 exit status 2
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.mk:1.1  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-errors-lint.mk      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cmd-errors-lint.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmd-errors-lint.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Demonstrate how errors in expressions affect whether the commands
 # are actually executed.
@@ -14,21 +14,18 @@ undefined:
        : $@ ${UNDEFINED}
 
 unclosed-expression:
-# expect: make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unclosed-expression
+# expect: make: Unclosed variable "UNCLOSED"
+# expect-not: : unclosed-expression
        : $@ ${UNCLOSED
 
 unclosed-modifier:
-# expect: make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unclosed-modifier
+# expect: make: Unclosed expression, expecting '}'
+# expect-not: : unclosed-modifier
        : $@ ${UNCLOSED:
 
 unknown-modifier:
-# expect: make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unknown-modifier
+# expect: make: Unknown modifier "Z"
+# expect-not: : unknown-modifier
        : $@ ${UNKNOWN:Z}
 
 end:
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-errors.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-errors.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-errors.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-errors.exp:1.1      Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-errors.exp  Tue Sep 17 11:52:29 2024
@@ -1,9 +1,11 @@
 : undefined--eol
-make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
-: unclosed-expression-
-make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
-: unclosed-modifier-
-make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
-: unknown-modifier--eol
+make: Unclosed variable "UNCLOSED"
+       in target "unclosed-expression"
+make: Unclosed expression, expecting '}'
+       while evaluating variable "UNCLOSED" with value ""
+       in target "unclosed-modifier"
+make: Unknown modifier "Z"
+       while evaluating variable "UNKNOWN" with value ""
+       in target "unknown-modifier"
 : end-eol
 exit status 2
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-errors.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-errors.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-errors.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-errors.mk:1.1       Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-errors.mk   Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cmd-errors.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmd-errors.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Demonstrate how errors in expressions affect whether the commands
 # are actually executed in compat mode.
@@ -12,21 +12,18 @@ undefined:
        : $@-${UNDEFINED}-eol
 
 unclosed-expression:
-# expect: make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unclosed-expression-
+# expect: make: Unclosed variable "UNCLOSED"
+# expect-not: : unclosed-expression-
        : $@-${UNCLOSED
 
 unclosed-modifier:
-# expect: make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unclosed-modifier-
+# expect: make: Unclosed expression, expecting '}'
+# expect-not: : unclosed-modifier-
        : $@-${UNCLOSED:
 
 unknown-modifier:
-# expect: make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
-# XXX: This command is executed even though it contains parse errors.
-# expect: : unknown-modifier--eol
+# expect: make: Unknown modifier "Z"
+# expect-not: : unknown-modifier--eol
        : $@-${UNKNOWN:Z}-eol
 
 end:
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.exp:1.1   Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.exp       Tue Sep 17 11:52:29 2024
@@ -5,4 +5,5 @@ interrupt-ordinary: ok
 interrupt-phony: ok
 > cmd-interrupt-precious
 interrupt-precious: ok
+interrupt-compat expected-fail
 exit status 0
Index: pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.mk:1.1    Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmd-interrupt.mk        Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cmd-interrupt.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmd-interrupt.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for interrupting a command.
 #
@@ -17,10 +17,16 @@
 # See also:
 #      CompatDeleteTarget
 
-all: clean-before interrupt-ordinary interrupt-phony interrupt-precious clean-after
+all: clean-before
+all: interrupt-ordinary
+all: interrupt-phony
+all: interrupt-precious
+all: interrupt-compat
+all: clean-after
 
 clean-before clean-after: .PHONY
-       @rm -f cmd-interrupt-ordinary cmd-interrupt-phony cmd-interrupt-precious
+       @rm -f cmd-interrupt-ordinary cmd-interrupt-phony
+       @rm -f cmd-interrupt-precious cmd-interrupt-compat
 
 interrupt-ordinary:
        @${.MAKE} ${MAKEFLAGS} -f ${MAKEFILE} cmd-interrupt-ordinary || true
@@ -37,6 +43,10 @@ interrupt-precious: .PRECIOUS
        # The ././ is necessary to work around the file cache.
        @echo ${.TARGET}: ${exists(././cmd-interrupt-precious) :? ok : error }
 
+interrupt-compat:
+       @${MAKE} -f ${MAKEFILE} cmd-interrupt-compat || true
+       @echo ${.TARGET} ${exists(././cmd-interrupt-compat) :? expected-fail : unexpected-ok }
+
 cmd-interrupt-ordinary:
        > ${.TARGET}
        @kill -INT ${.MAKE.PID}
@@ -48,3 +58,11 @@ cmd-interrupt-phony: .PHONY
 cmd-interrupt-precious: .PRECIOUS
        > ${.TARGET}
        @kill -INT ${.MAKE.PID}
+
+# When the make process (and not the process group) is interrupted in compat
+# mode, it first tries to interrupt the process group of the currently running
+# child command, but that fails since there is no such process group, rather
+# the child command runs in the same process group as make itself.  The child
+# command then continues, and after sleeping a bit creates the target file.
+cmd-interrupt-compat:
+       @kill -INT ${.MAKE.PID} && sleep 1 && > ${.TARGET}
Index: pkgsrc/devel/bmake/files/unit-tests/cmdline-redirect-stdin.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmdline-redirect-stdin.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmdline-redirect-stdin.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmdline-redirect-stdin.mk:1.1   Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmdline-redirect-stdin.mk       Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cmdline-redirect-stdin.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmdline-redirect-stdin.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Demonstrate that the '!=' assignment operator can read individual lines
 # from make's stdin.
Index: pkgsrc/devel/bmake/files/unit-tests/cmdline-undefined.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmdline-undefined.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmdline-undefined.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmdline-undefined.mk:1.1        Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmdline-undefined.mk    Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cmdline-undefined.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmdline-undefined.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for undefined variables in expressions in the command line.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cmdline.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cmdline.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cmdline.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmdline.exp:1.1 Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmdline.exp     Tue Sep 17 11:52:29 2024
@@ -1,7 +1,7 @@
 makeobjdir-direct:
-show-objdir: <tmpdir>/6a8899d2-d227-4b55-9b6b-f3c8eeb83fd5
+show-objdir: <tmpdir>/cmdline/6a8899d2-d227-4b55-9b6b-f3c8eeb83fd5
 makeobjdir-indirect:
-show-objdir: <tmpdir>/a7b41170-53f8-4cc2-bc5c-e4c3dd93ec45/
+show-objdir: <tmpdir>/cmdline/a7b41170-53f8-4cc2-bc5c-e4c3dd93ec45/
 space-and-comment:
 value # no comment $
 value # no comment $
Index: pkgsrc/devel/bmake/files/unit-tests/cmdline.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cmdline.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cmdline.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cmdline.mk:1.1  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cmdline.mk      Tue Sep 17 11:52:29 2024
@@ -1,8 +1,8 @@
-# $NetBSD: cmdline.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: cmdline.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for command line parsing and related special variables.
 
-TMPBASE?=      ${TMPDIR:U/tmp/uid${.MAKE.UID}}
+TMPBASE?=      ${TMPDIR:U/tmp/uid${.MAKE.UID}}/cmdline
 SUB1=          a7b41170-53f8-4cc2-bc5c-e4c3dd93ec45    # just a random UUID
 SUB2=          6a8899d2-d227-4b55-9b6b-f3c8eeb83fd5    # just a random UUID
 MAKE_CMD=      env TMPBASE=${TMPBASE}/${SUB1} ${.MAKE} -f ${MAKEFILE} -r
@@ -12,6 +12,7 @@ DIR12=                ${TMPBASE}/${SUB1}/${SUB2}
 all: prepare-dirs
 all: makeobjdir-direct makeobjdir-indirect
 all: space-and-comment
+all: cleanup
 
 prepare-dirs:
        @rm -rf ${DIR2} ${DIR12}
@@ -56,3 +57,6 @@ space-and-comment: .PHONY
        @env -i MAKEFLAGS="' VAR= value # no comment '" \
            ${MAKE} -r -f /dev/null -v VAR \
        | sed 's,$$,$$,'
+
+cleanup:
+       @rm -rf ${TMPBASE}
Index: pkgsrc/devel/bmake/files/unit-tests/compat-error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/compat-error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/compat-error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/compat-error.mk:1.1     Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/compat-error.mk Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: compat-error.mk,v 1.1 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: compat-error.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Test detailed error handling in compat mode.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.exp:1.1     Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.exp Tue Sep 17 11:52:29 2024
@@ -1,5 +1,5 @@
-make: "cond-cmp-numeric-eq.mk" line 68: Malformed conditional (!(12345 = 12345))
-make: "cond-cmp-numeric-eq.mk" line 76: Malformed conditional (!(12345 === 12345))
+make: "cond-cmp-numeric-eq.mk" line 68: Malformed conditional '!(12345 = 12345)'
+make: "cond-cmp-numeric-eq.mk" line 76: Malformed conditional '!(12345 === 12345)'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-eq.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-eq.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric-eq.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons with the == operator in .if conditions.
 
@@ -64,7 +64,7 @@
 .endif
 
 # There is no = operator for numbers.
-# expect+1: Malformed conditional (!(12345 = 12345))
+# expect+1: Malformed conditional '!(12345 = 12345)'
 .if !(12345 = 12345)
 .  error
 .else
@@ -72,7 +72,7 @@
 .endif
 
 # There is no === operator for numbers either.
-# expect+1: Malformed conditional (!(12345 === 12345))
+# expect+1: Malformed conditional '!(12345 === 12345)'
 .if !(12345 === 12345)
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ge.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ge.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ge.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ge.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ge.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-ge.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric-ge.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons with the >= operator in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-gt.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-gt.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-gt.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-gt.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-gt.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-gt.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric-gt.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons with the > operator in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-le.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-le.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-le.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-le.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-le.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-le.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric-le.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons with the <= operator in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-lt.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-lt.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-lt.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-lt.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-lt.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-lt.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric-lt.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons with the < operator in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ne.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ne.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ne.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ne.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric-ne.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-ne.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric-ne.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons with the != operator in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.exp:1.1        Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.exp    Tue Sep 17 11:52:29 2024
@@ -5,7 +5,7 @@ make: "cond-cmp-numeric.mk" line 21: Com
 CondParser_Eval: !(${:UNaN} == NaN)
 Comparing "NaN" == "NaN"
 CondParser_Eval: 123 ! 123
-make: "cond-cmp-numeric.mk" line 38: Malformed conditional (123 ! 123)
+make: "cond-cmp-numeric.mk" line 38: Malformed conditional '123 ! 123'
 CondParser_Eval: ${:U 123} < 124
 Comparing 123.000000 < 124.000000
 CondParser_Eval: ${:U123 } < 124
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.mk:1.1 Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-numeric.mk     Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-numeric.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for numeric comparisons in .if conditions.
 #
@@ -34,7 +34,7 @@
 # whether the operator is valid, leaving the rest of the work to the
 # evaluation functions EvalCompareNum and EvalCompareStr.  Ensure that this
 # parse error is properly reported.
-# expect+1: Malformed conditional (123 ! 123)
+# expect+1: Malformed conditional '123 ! 123'
 .if 123 ! 123
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.exp:1.1 Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.exp     Tue Sep 17 11:52:29 2024
@@ -1,7 +1,7 @@
-make: "cond-cmp-string.mk" line 19: Malformed conditional (str != str)
-make: "cond-cmp-string.mk" line 44: Malformed conditional ("string" != "str""ing")
-make: "cond-cmp-string.mk" line 52: Malformed conditional (!("value" = "value"))
-make: "cond-cmp-string.mk" line 60: Malformed conditional (!("value" === "value"))
+make: "cond-cmp-string.mk" line 19: Malformed conditional 'str != str'
+make: "cond-cmp-string.mk" line 44: Malformed conditional '"string" != "str""ing"'
+make: "cond-cmp-string.mk" line 52: Malformed conditional '!("value" = "value")'
+make: "cond-cmp-string.mk" line 60: Malformed conditional '!("value" === "value")'
 make: "cond-cmp-string.mk" line 118: Comparison with '<' requires both operands 'string' and 'string' to be numeric
 make: "cond-cmp-string.mk" line 126: Comparison with '<=' requires both operands 'string' and 'string' to be numeric
 make: "cond-cmp-string.mk" line 134: Comparison with '>' requires both operands 'string' and 'string' to be numeric
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.mk:1.1  Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-string.mk      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-string.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-string.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for string comparisons in .if conditions.
 
@@ -15,7 +15,7 @@
 
 # The left-hand side of the comparison must be enclosed in quotes.
 # This one is not enclosed in quotes and thus generates an error message.
-# expect+1: Malformed conditional (str != str)
+# expect+1: Malformed conditional 'str != str'
 .if str != str
 .  error
 .endif
@@ -40,7 +40,7 @@
 
 # It is not possible to concatenate two string literals to form a single
 # string.  In C, Python and the shell this is possible, but not in make.
-# expect+1: Malformed conditional ("string" != "str""ing")
+# expect+1: Malformed conditional '"string" != "str""ing"'
 .if "string" != "str""ing"
 .  error
 .else
@@ -48,7 +48,7 @@
 .endif
 
 # There is no = operator for strings.
-# expect+1: Malformed conditional (!("value" = "value"))
+# expect+1: Malformed conditional '!("value" = "value")'
 .if !("value" = "value")
 .  error
 .else
@@ -56,7 +56,7 @@
 .endif
 
 # There is no === operator for strings either.
-# expect+1: Malformed conditional (!("value" === "value"))
+# expect+1: Malformed conditional '!("value" === "value")'
 .if !("value" === "value")
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-cmp-unary.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-cmp-unary.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-cmp-unary.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-cmp-unary.mk:1.1   Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-cmp-unary.mk       Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-unary.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-cmp-unary.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for unary comparisons in .if conditions, that is, comparisons with
 # a single operand.  If the operand is a number, it is compared to zero,
Index: pkgsrc/devel/bmake/files/unit-tests/cond-eof.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-eof.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-eof.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-eof.exp:1.1        Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-eof.exp    Tue Sep 17 11:52:29 2024
@@ -1,6 +1,6 @@
-make: "cond-eof.mk" line 17: Malformed conditional (0 ${SIDE_EFFECT} ${SIDE_EFFECT2})
-make: "cond-eof.mk" line 20: Malformed conditional (1 ${SIDE_EFFECT} ${SIDE_EFFECT2})
-make: "cond-eof.mk" line 23: Malformed conditional ((0) ${SIDE_EFFECT} ${SIDE_EFFECT2})
+make: "cond-eof.mk" line 17: Malformed conditional '0 ${SIDE_EFFECT} ${SIDE_EFFECT2}'
+make: "cond-eof.mk" line 20: Malformed conditional '1 ${SIDE_EFFECT} ${SIDE_EFFECT2}'
+make: "cond-eof.mk" line 23: Malformed conditional '(0) ${SIDE_EFFECT} ${SIDE_EFFECT2}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-eof.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-eof.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-eof.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-eof.mk:1.1 Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-eof.mk     Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-eof.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-eof.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for parsing the end of '.if' conditions, which are represented as the
 # token TOK_EOF.
@@ -13,12 +13,12 @@ SIDE_EFFECT2=       ${:!echo 'side effect 2' 1
 # These syntax errors are an edge case that does not occur during normal
 # operation.  Still, it is easy to avoid evaluating these expressions, just in
 # case they have side effects.
-# expect+1: Malformed conditional (0 ${SIDE_EFFECT} ${SIDE_EFFECT2})
+# expect+1: Malformed conditional '0 ${SIDE_EFFECT} ${SIDE_EFFECT2}'
 .if 0 ${SIDE_EFFECT} ${SIDE_EFFECT2}
 .endif
-# expect+1: Malformed conditional (1 ${SIDE_EFFECT} ${SIDE_EFFECT2})
+# expect+1: Malformed conditional '1 ${SIDE_EFFECT} ${SIDE_EFFECT2}'
 .if 1 ${SIDE_EFFECT} ${SIDE_EFFECT2}
 .endif
-# expect+1: Malformed conditional ((0) ${SIDE_EFFECT} ${SIDE_EFFECT2})
+# expect+1: Malformed conditional '(0) ${SIDE_EFFECT} ${SIDE_EFFECT2}'
 .if (0) ${SIDE_EFFECT} ${SIDE_EFFECT2}
 .endif
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-commands.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-commands.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-commands.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-commands.mk:1.1       Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-commands.mk   Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-commands.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-commands.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the commands() function in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.exp:1.1       Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.exp   Tue Sep 17 11:52:29 2024
@@ -1,5 +1,5 @@
-make: "cond-func-defined.mk" line 24: Missing closing parenthesis for defined()
-make: "cond-func-defined.mk" line 34: Missing closing parenthesis for defined()
+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'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.mk:1.1        Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-defined.mk    Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-defined.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-defined.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the defined() function in .if conditions.
 
@@ -20,7 +20,7 @@ ${:UA B}=     variable name with spaces
 .endif
 
 # The argument of a function must not directly contain whitespace.
-# expect+1: Missing closing parenthesis for defined()
+# expect+1: Missing ')' after argument 'A' for 'defined'
 .if !defined(A B)
 .  error
 .endif
@@ -30,7 +30,7 @@ ${:UA B}=     variable name with spaces
 .  error
 .endif
 
-# expect+1: Missing closing parenthesis for defined()
+# expect+1: Missing ')' after argument 'DEF' for 'defined'
 .if defined(DEF
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.exp:1.1 Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.exp     Tue Sep 17 11:52:29 2024
@@ -1,5 +1,5 @@
 make: "cond-func-empty.mk" line 168: Unclosed variable "WORD"
-make: "cond-func-empty.mk" line 168: Malformed conditional (empty(WORD)
+make: "cond-func-empty.mk" line 168: Malformed conditional 'empty(WORD'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.mk:1.1  Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-empty.mk      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-empty.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-empty.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the empty() function in .if conditions, which tests an
 # expression for emptiness.
@@ -164,7 +164,7 @@ ${:U WORD }=        variable name with spaces
 .endif
 
 # expect+2: Unclosed variable "WORD"
-# expect+1: Malformed conditional (empty(WORD)
+# expect+1: Malformed conditional 'empty(WORD'
 .if empty(WORD
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-exists.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-exists.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-exists.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-exists.mk:1.1 Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-exists.mk     Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-exists.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-exists.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the exists() function in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-make-main.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-make-main.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-make-main.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-make-main.mk:1.1      Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-make-main.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-make-main.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-make-main.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Test how accurately the make() function in .if conditions reflects
 # what is actually made.
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-make.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-make.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-make.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-make.mk:1.1   Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-make.mk       Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-make.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-make.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the make() function in .if conditions, which tests whether
 # the argument has been passed as a target via the command line or later
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func-target.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func-target.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func-target.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func-target.mk:1.1 Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func-target.mk     Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-target.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func-target.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the target() function in .if conditions.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func.exp:1.1       Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func.exp   Tue Sep 17 11:52:29 2024
@@ -1,12 +1,13 @@
-make: "cond-func.mk" line 37: Missing closing parenthesis for defined()
-make: "cond-func.mk" line 53: Missing closing parenthesis for defined()
-make: "cond-func.mk" line 57: Missing closing parenthesis for defined()
+make: "cond-func.mk" line 37: Missing ')' after argument 'A' for 'defined'
+make: "cond-func.mk" line 53: Missing ')' after argument 'A' for 'defined'
+make: "cond-func.mk" line 57: Missing ')' after argument 'A' for 'defined'
 make: "cond-func.mk" line 91: Unknown operator '&'
 make: "cond-func.mk" line 107: A plain function name is parsed as defined(...).
 make: "cond-func.mk" line 115: A plain function name is parsed as defined(...).
 make: "cond-func.mk" line 126: Symbols may start with a function name.
 make: "cond-func.mk" line 132: Symbols may start with a function name.
-make: "cond-func.mk" line 138: Missing closing parenthesis for defined()
+make: "cond-func.mk" line 138: Missing ')' after argument '' for 'defined'
+make: "cond-func.mk" line 145: Missing ')' after argument '${:UVARNAME}.param' for 'defined'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-func.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-func.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-func.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-func.mk:1.1        Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-func.mk    Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func.mk,v 1.1 2024/07/15 09:10:11 jperkin Exp $
+# $NetBSD: cond-func.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for those parts of the functions in .if conditions that are common
 # among several functions.
@@ -33,7 +33,7 @@ ${VARNAME_UNBALANCED_BRACES}= variable n
 .endif
 
 # The argument of a function must not directly contain whitespace.
-# expect+1: Missing closing parenthesis for defined()
+# expect+1: Missing ')' after argument 'A' for 'defined'
 .if !defined(A B)
 .  error
 .endif
@@ -49,11 +49,11 @@ ${VARNAME_UNBALANCED_BRACES}=       variable n
 #
 # It's not entirely clear why these characters are forbidden.
 # The most plausible reason seems to be typo detection.
-# expect+1: Missing closing parenthesis for defined()
+# expect+1: Missing ')' after argument 'A' for 'defined'
 .if !defined(A&B)
 .  error
 .endif
-# expect+1: Missing closing parenthesis for defined()
+# expect+1: Missing ')' after argument 'A' for 'defined'
 .if !defined(A|B)
 .  error
 .endif
@@ -134,9 +134,16 @@ defined-var=       # defined but empty
 .  error
 .endif
 
-# expect+1: Missing closing parenthesis for defined()
+# expect+1: Missing ')' after argument '' for 'defined'
 .if defined(
 .  error
 .else
 .  error
 .endif
+
+# expect+1: Missing ')' after argument '${:UVARNAME}.param' for 'defined'
+.if defined(${:UVARNAME}.param extra)
+.  error
+.else
+.  error
+.endif
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-and-lint.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-and-lint.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-and-lint.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-and-lint.mk:1.1 Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-and-lint.mk     Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op-and-lint.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op-and-lint.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the && operator in .if conditions, in lint mode.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-and.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-and.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-and.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-and.exp:1.1     Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-and.exp Tue Sep 17 11:52:29 2024
@@ -1,6 +1,6 @@
-make: "cond-op-and.mk" line 36: Malformed conditional (0 || (${DEF} && ${UNDEF}))
-make: "cond-op-and.mk" line 41: Malformed conditional (0 || (${UNDEF} && ${UNDEF}))
-make: "cond-op-and.mk" line 44: Malformed conditional (0 || (!${UNDEF} && ${UNDEF}))
+make: "cond-op-and.mk" line 36: Malformed conditional '0 || (${DEF} && ${UNDEF})'
+make: "cond-op-and.mk" line 41: Malformed conditional '0 || (${UNDEF} && ${UNDEF})'
+make: "cond-op-and.mk" line 44: Malformed conditional '0 || (!${UNDEF} && ${UNDEF})'
 make: "cond-op-and.mk" line 60: Unknown operator '&'
 make: "cond-op-and.mk" line 66: Unknown operator '&'
 make: "cond-op-and.mk" line 72: Unknown operator '&'
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-and.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-and.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-and.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-and.mk:1.1      Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-and.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op-and.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op-and.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the && operator in .if conditions.
 
@@ -32,15 +32,15 @@
 # Test combinations of outer '||' with inner '&&', to ensure that the operands
 # of the inner '&&' are only evaluated if necessary.
 DEF=   defined
-# expect+1: Malformed conditional (0 || (${DEF} && ${UNDEF}))
+# expect+1: Malformed conditional '0 || (${DEF} && ${UNDEF})'
 .if 0 || (${DEF} && ${UNDEF})
 .endif
 .if 0 || (!${DEF} && ${UNDEF})
 .endif
-# expect+1: Malformed conditional (0 || (${UNDEF} && ${UNDEF}))
+# expect+1: Malformed conditional '0 || (${UNDEF} && ${UNDEF})'
 .if 0 || (${UNDEF} && ${UNDEF})
 .endif
-# expect+1: Malformed conditional (0 || (!${UNDEF} && ${UNDEF}))
+# expect+1: Malformed conditional '0 || (!${UNDEF} && ${UNDEF})'
 .if 0 || (!${UNDEF} && ${UNDEF})
 .endif
 .if 1 || (${DEF} && ${UNDEF})
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-not.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-not.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-not.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-not.exp:1.1     Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-not.exp Tue Sep 17 11:52:29 2024
@@ -3,7 +3,7 @@ make: "cond-op-not.mk" line 39: Not spac
 make: "cond-op-not.mk" line 44: Not 0 evaluates to true.
 make: "cond-op-not.mk" line 53: Not 1 evaluates to false.
 make: "cond-op-not.mk" line 60: Not word evaluates to false.
-make: "cond-op-not.mk" line 65: Malformed conditional (!)
+make: "cond-op-not.mk" line 65: Malformed conditional '!'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-not.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-not.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-not.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-not.mk:1.1      Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-not.mk  Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op-not.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op-not.mk,v 1.2 2024/09/17 11:52:29 jperkin Exp $
 #
 # Tests for the ! operator in .if conditions, which negates its argument.
 
@@ -61,7 +61,7 @@
 .endif
 
 # A single exclamation mark is a parse error.
-# expect+1: Malformed conditional (!)
+# expect+1: Malformed conditional '!'
 .if !
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-or-lint.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-or-lint.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-or-lint.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-or-lint.mk:1.1  Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-or-lint.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op-or-lint.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op-or-lint.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the || operator in .if conditions, in lint mode.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-or.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-or.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-or.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-or.exp:1.1      Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-or.exp  Tue Sep 17 11:52:30 2024
@@ -1,6 +1,6 @@
-make: "cond-op-or.mk" line 36: Malformed conditional (1 && (!${DEF} || ${UNDEF}))
-make: "cond-op-or.mk" line 41: Malformed conditional (1 && (!${UNDEF} || ${UNDEF}))
-make: "cond-op-or.mk" line 44: Malformed conditional (1 && (${UNDEF} || ${UNDEF}))
+make: "cond-op-or.mk" line 36: Malformed conditional '1 && (!${DEF} || ${UNDEF})'
+make: "cond-op-or.mk" line 41: Malformed conditional '1 && (!${UNDEF} || ${UNDEF})'
+make: "cond-op-or.mk" line 44: Malformed conditional '1 && (${UNDEF} || ${UNDEF})'
 make: "cond-op-or.mk" line 60: Unknown operator '|'
 make: "cond-op-or.mk" line 66: Unknown operator '|'
 make: "cond-op-or.mk" line 72: Unknown operator '|'
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-or.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-or.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-or.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-or.mk:1.1       Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-or.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op-or.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op-or.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the || operator in .if conditions.
 
@@ -32,15 +32,15 @@
 # Test combinations of outer '&&' with inner '||', to ensure that the operands
 # of the inner '||' are only evaluated if necessary.
 DEF=   defined
-# expect+1: Malformed conditional (1 && (!${DEF} || ${UNDEF}))
+# expect+1: Malformed conditional '1 && (!${DEF} || ${UNDEF})'
 .if 1 && (!${DEF} || ${UNDEF})
 .endif
 .if 1 && (${DEF} || ${UNDEF})
 .endif
-# expect+1: Malformed conditional (1 && (!${UNDEF} || ${UNDEF}))
+# expect+1: Malformed conditional '1 && (!${UNDEF} || ${UNDEF})'
 .if 1 && (!${UNDEF} || ${UNDEF})
 .endif
-# expect+1: Malformed conditional (1 && (${UNDEF} || ${UNDEF}))
+# expect+1: Malformed conditional '1 && (${UNDEF} || ${UNDEF})'
 .if 1 && (${UNDEF} || ${UNDEF})
 .endif
 .if 0 && (!${DEF} || ${UNDEF})
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.exp:1.1     Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.exp Tue Sep 17 11:52:30 2024
@@ -1,7 +1,7 @@
 make: "cond-op-parentheses.mk" line 22: Comparison with '>' requires both operands '3' and '(2' to be numeric
-make: "cond-op-parentheses.mk" line 25: Malformed conditional ((3) > 2)
-make: "cond-op-parentheses.mk" line 44: Malformed conditional (()
-make: "cond-op-parentheses.mk" line 58: Malformed conditional ())
+make: "cond-op-parentheses.mk" line 25: Malformed conditional '(3) > 2'
+make: "cond-op-parentheses.mk" line 44: Malformed conditional '('
+make: "cond-op-parentheses.mk" line 58: Malformed conditional ')'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.mk:1.1      Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op-parentheses.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op-parentheses.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op-parentheses.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for parentheses in .if conditions, which group expressions to override
 # the precedence of the operators '!', '&&' and '||'.  Parentheses cannot be
@@ -21,7 +21,7 @@
 # expect+1: Comparison with '>' requires both operands '3' and '(2' to be numeric
 .if 3 > (2)
 .endif
-# expect+1: Malformed conditional ((3) > 2)
+# expect+1: Malformed conditional '(3) > 2'
 .if (3) > 2
 .endif
 
@@ -40,7 +40,7 @@
 .endif
 
 # An unbalanced opening parenthesis is a parse error.
-# expect+1: Malformed conditional (()
+# expect+1: Malformed conditional '('
 .if (
 .  error
 .else
@@ -54,7 +54,7 @@
 # TOK_TRUE, TOK_FALSE or TOK_ERROR.  In cond.c 1.241, the return type of that
 # function was changed to a properly restricted enum type, to prevent this bug
 # from occurring again.
-# expect+1: Malformed conditional ())
+# expect+1: Malformed conditional ')'
 .if )
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op.exp:1.1 Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op.exp     Tue Sep 17 11:52:30 2024
@@ -1,7 +1,7 @@
-make: "cond-op.mk" line 51: Malformed conditional ("!word" == !word)
-make: "cond-op.mk" line 72: Malformed conditional (0 ${ERR::=evaluated})
+make: "cond-op.mk" line 51: Malformed conditional '"!word" == !word'
+make: "cond-op.mk" line 72: Malformed conditional '0 ${ERR::=evaluated}'
 make: "cond-op.mk" line 77: A misplaced expression after 0 is not evaluated.
-make: "cond-op.mk" line 82: Malformed conditional (1 ${ERR::=evaluated})
+make: "cond-op.mk" line 82: Malformed conditional '1 ${ERR::=evaluated}'
 make: "cond-op.mk" line 87: A misplaced expression after 1 is not evaluated.
 make: "cond-op.mk" line 93: A B C   =>   (A || B) && C   A || B && C   A || (B && C)
 make: "cond-op.mk" line 108: 0 0 0   =>   0               0             0
@@ -12,10 +12,10 @@ make: "cond-op.mk" line 108: 1 0 0   => 
 make: "cond-op.mk" line 108: 1 0 1   =>   1               1             1
 make: "cond-op.mk" line 108: 1 1 0   =>   0               1             1
 make: "cond-op.mk" line 108: 1 1 1   =>   1               1             1
-make: "cond-op.mk" line 120: Malformed conditional (1 &&)
-make: "cond-op.mk" line 129: Malformed conditional (0 &&)
-make: "cond-op.mk" line 138: Malformed conditional (1 ||)
-make: "cond-op.mk" line 148: Malformed conditional (0 ||)
+make: "cond-op.mk" line 120: Malformed conditional '1 &&'
+make: "cond-op.mk" line 129: Malformed conditional '0 &&'
+make: "cond-op.mk" line 138: Malformed conditional '1 ||'
+make: "cond-op.mk" line 148: Malformed conditional '0 ||'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-op.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-op.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-op.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-op.mk:1.1  Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-op.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-op.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-op.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for operators like &&, ||, ! in .if conditions.
 #
@@ -47,7 +47,7 @@
 # appear unquoted.  If any, it must be enclosed in quotes.
 # In any case, it is not interpreted as a negation of an unquoted string.
 # See CondParser_String.
-# expect+1: Malformed conditional ("!word" == !word)
+# expect+1: Malformed conditional '"!word" == !word'
 .if "!word" == !word
 .  error
 .endif
@@ -68,7 +68,7 @@
 # next token, even though in this position of the condition, only comparison
 # operators, TOK_AND, TOK_OR or TOK_RPAREN are allowed.
 .undef ERR
-# expect+1: Malformed conditional (0 ${ERR::=evaluated})
+# expect+1: Malformed conditional '0 ${ERR::=evaluated}'
 .if 0 ${ERR::=evaluated}
 .  error
 .endif
@@ -78,7 +78,7 @@
 .endif
 
 .undef ERR
-# expect+1: Malformed conditional (1 ${ERR::=evaluated})
+# expect+1: Malformed conditional '1 ${ERR::=evaluated}'
 .if 1 ${ERR::=evaluated}
 .  error
 .endif
@@ -116,7 +116,7 @@
 # This condition is obviously malformed.  It is properly detected and also
 # was properly detected before 2021-01-19, but only because the left hand
 # side of the '&&' evaluated to true.
-# expect+1: Malformed conditional (1 &&)
+# expect+1: Malformed conditional '1 &&'
 .if 1 &&
 .  error
 .else
@@ -125,7 +125,7 @@
 
 # This obviously malformed condition was not detected as such before cond.c
 # 1.238 from 2021-01-19.
-# expect+1: Malformed conditional (0 &&)
+# expect+1: Malformed conditional '0 &&'
 .if 0 &&
 .  error
 .else
@@ -134,7 +134,7 @@
 
 # This obviously malformed condition was not detected as such before cond.c
 # 1.238 from 2021-01-19.
-# expect+1: Malformed conditional (1 ||)
+# expect+1: Malformed conditional '1 ||'
 .if 1 ||
 .  error
 .else
@@ -144,7 +144,7 @@
 # This condition is obviously malformed.  It is properly detected and also
 # was properly detected before 2021-01-19, but only because the left hand
 # side of the '||' evaluated to false.
-# expect+1: Malformed conditional (0 ||)
+# expect+1: Malformed conditional '0 ||'
 .if 0 ||
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-short.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-short.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-short.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-short.mk:1.1       Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-short.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-short.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-short.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Demonstrates that in conditions, the right-hand side of an && or ||
 # is only evaluated if it can actually influence the result.
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-number.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-number.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-number.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-number.exp:1.1       Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-number.exp   Tue Sep 17 11:52:30 2024
@@ -1,7 +1,7 @@
-make: "cond-token-number.mk" line 16: Malformed conditional (-0)
-make: "cond-token-number.mk" line 27: Malformed conditional (+0)
-make: "cond-token-number.mk" line 38: Malformed conditional (!-1)
-make: "cond-token-number.mk" line 49: Malformed conditional (!+1)
+make: "cond-token-number.mk" line 16: Malformed conditional '-0'
+make: "cond-token-number.mk" line 27: Malformed conditional '+0'
+make: "cond-token-number.mk" line 38: Malformed conditional '!-1'
+make: "cond-token-number.mk" line 49: Malformed conditional '!+1'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-number.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-number.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-number.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-number.mk:1.1        Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-number.mk    Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-token-number.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-token-number.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for number tokens in .if conditions.
 #
@@ -12,7 +12,7 @@
 # accepted by the condition parser.
 #
 # See the ch_isdigit call in CondParser_String.
-# expect+1: Malformed conditional (-0)
+# expect+1: Malformed conditional '-0'
 .if -0
 .  error
 .else
@@ -23,7 +23,7 @@
 # accepted by the condition parser.
 #
 # See the ch_isdigit call in CondParser_String.
-# expect+1: Malformed conditional (+0)
+# expect+1: Malformed conditional '+0'
 .if +0
 .  error
 .else
@@ -34,7 +34,7 @@
 # accepted by the condition parser.
 #
 # See the ch_isdigit call in CondParser_String.
-# expect+1: Malformed conditional (!-1)
+# expect+1: Malformed conditional '!-1'
 .if !-1
 .  error
 .else
@@ -45,7 +45,7 @@
 # accepted by the condition parser.
 #
 # See the ch_isdigit call in CondParser_String.
-# expect+1: Malformed conditional (!+1)
+# expect+1: Malformed conditional '!+1'
 .if !+1
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.exp:1.1        Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.exp    Tue Sep 17 11:52:30 2024
@@ -41,7 +41,7 @@ make: "cond-token-plain.mk" line 144: Nu
 CondParser_Eval: "" ==
 make: "cond-token-plain.mk" line 151: Missing right-hand side of operator '=='
 CondParser_Eval: == ""
-make: "cond-token-plain.mk" line 160: Malformed conditional (== "")
+make: "cond-token-plain.mk" line 160: Malformed conditional '== ""'
 CondParser_Eval: \\
 make: "cond-token-plain.mk" line 176: The variable '\\' is not defined.
 CondParser_Eval: \\
@@ -49,15 +49,15 @@ make: "cond-token-plain.mk" line 182: No
 CondParser_Eval: "unquoted\"quoted" != unquoted"quoted
 Comparing "unquoted"quoted" != "unquoted"quoted"
 CondParser_Eval: $$$$$$$$ != ""
-make: "cond-token-plain.mk" line 197: Malformed conditional ($$$$$$$$ != "")
+make: "cond-token-plain.mk" line 197: Malformed conditional '$$$$$$$$ != ""'
 CondParser_Eval: left == right
-make: "cond-token-plain.mk" line 206: Malformed conditional (left == right)
+make: "cond-token-plain.mk" line 206: Malformed conditional 'left == right'
 CondParser_Eval: ${0:?:} || left == right
 CondParser_Eval: 0
-make: "cond-token-plain.mk" line 212: Malformed conditional (${0:?:} || left == right)
+make: "cond-token-plain.mk" line 212: Malformed conditional '${0:?:} || left == right'
 CondParser_Eval: left == right || ${0:?:}
-make: "cond-token-plain.mk" line 217: Malformed conditional (left == right || ${0:?:})
-make: "cond-token-plain.mk" line 236: Malformed conditional (VAR.${IF_COUNT::+=1} != "")
+make: "cond-token-plain.mk" line 217: Malformed conditional 'left == right || ${0:?:}'
+make: "cond-token-plain.mk" line 236: Malformed conditional 'VAR.${IF_COUNT::+=1} != ""'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.mk:1.1 Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-plain.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-token-plain.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-token-plain.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for plain tokens (that is, string literals without quotes)
 # in .if conditions.  These are also called bare words.
@@ -156,7 +156,7 @@ VAR=        defined
 
 # If the left-hand side is missing, it's a parse error as well, but without
 # a specific error message.
-# expect+1: Malformed conditional (== "")
+# expect+1: Malformed conditional '== ""'
 .if == ""
 .  error
 .else
@@ -193,7 +193,7 @@ ${:U\\\\}=  backslash
 
 # FIXME: In CondParser_String, Var_Parse returns var_Error without a
 # corresponding error message.
-# expect+1: Malformed conditional ($$$$$$$$ != "")
+# expect+1: Malformed conditional '$$$$$$$$ != ""'
 .if $$$$$$$$ != ""
 .  error
 .else
@@ -202,18 +202,18 @@ ${:U\\\\}=        backslash
 
 # In a condition in an .if directive, the left-hand side must not be an
 # unquoted string literal.
-# expect+1: Malformed conditional (left == right)
+# expect+1: Malformed conditional 'left == right'
 .if left == right
 .endif
 # Before cond.c 1.276 from 2021-09-21, an expression containing the
 # modifier ':?:' allowed unquoted string literals for the rest of the
 # condition.  This was an unintended implementation mistake.
-# expect+1: Malformed conditional (${0:?:} || left == right)
+# expect+1: Malformed conditional '${0:?:} || left == right'
 .if ${0:?:} || left == right
 .endif
 # This affected only the comparisons after the expression, so the following
 # was still a syntax error.
-# expect+1: Malformed conditional (left == right || ${0:?:})
+# expect+1: Malformed conditional 'left == right || ${0:?:}'
 .if left == right || ${0:?:}
 .endif
 
@@ -232,7 +232,7 @@ ${:U\\\\}=  backslash
 # for the second time.  The right-hand side of a comparison may be a bare
 # word, but that side has no risk of being parsed more than once.
 #
-# expect+1: Malformed conditional (VAR.${IF_COUNT::+=1} != "")
+# expect+1: Malformed conditional 'VAR.${IF_COUNT::+=1} != ""'
 .if VAR.${IF_COUNT::+=1} != ""
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-string.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-string.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-string.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-string.exp:1.1       Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-string.exp   Tue Sep 17 11:52:30 2024
@@ -1,7 +1,8 @@
-make: "cond-token-string.mk" line 15: while evaluating "${:Uvalue:Z}"" with value "value": Unknown modifier "Z"
-make: "cond-token-string.mk" line 15: Malformed conditional ("" != "${:Uvalue:Z}")
+make: "cond-token-string.mk" line 15: Unknown modifier "Z"
+       while evaluating "${:Uvalue:Z}"" with value "value"
+make: "cond-token-string.mk" line 15: Malformed conditional '"" != "${:Uvalue:Z}"'
 make: "cond-token-string.mk" line 25: xvalue is not defined.
-make: "cond-token-string.mk" line 32: Malformed conditional (x${:Uvalue} == "")
+make: "cond-token-string.mk" line 32: Malformed conditional 'x${:Uvalue} == ""'
 make: "cond-token-string.mk" line 42: Expected.
 CondParser_Eval: "UNDEF"
 make: "cond-token-string.mk" line 52: The string literal "UNDEF" is not empty.
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-string.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-string.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-string.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-string.mk:1.1        Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-string.mk    Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-token-string.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-token-string.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for quoted string literals in .if conditions.
 #
@@ -10,8 +10,8 @@
 
 # Cover the code in CondParser_String that frees the memory after parsing
 # an expression based on an undefined variable.
-# expect+2: Malformed conditional ("" != "${:Uvalue:Z}")
-# expect+1: while evaluating "${:Uvalue:Z}"" with value "value": Unknown modifier "Z"
+# expect+2: Malformed conditional '"" != "${:Uvalue:Z}"'
+# expect+1: Unknown modifier "Z"
 .if "" != "${:Uvalue:Z}"
 .  error
 .else
@@ -28,7 +28,7 @@
 # The 'x' produces a "Malformed conditional" since the left-hand side of a
 # comparison in an .if directive must be either an expression, a
 # quoted string literal or a number that starts with a digit.
-# expect+1: Malformed conditional (x${:Uvalue} == "")
+# expect+1: Malformed conditional 'x${:Uvalue} == ""'
 .if x${:Uvalue} == ""
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-var.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-var.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-var.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-var.exp:1.1  Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-var.exp      Tue Sep 17 11:52:30 2024
@@ -1,7 +1,7 @@
 make: "cond-token-var.mk" line 21: ok
-make: "cond-token-var.mk" line 28: Malformed conditional (${UNDEF} == ${DEF})
-make: "cond-token-var.mk" line 34: Malformed conditional (${DEF} == ${UNDEF})
-make: "cond-token-var.mk" line 44: Malformed conditional (${UNDEF})
+make: "cond-token-var.mk" line 28: Malformed conditional '${UNDEF} == ${DEF}'
+make: "cond-token-var.mk" line 34: Malformed conditional '${DEF} == ${UNDEF}'
+make: "cond-token-var.mk" line 44: Malformed conditional '${UNDEF}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-token-var.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-token-var.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-token-var.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-token-var.mk:1.1   Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-token-var.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-token-var.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-token-var.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for expressions in .if conditions.
 #
@@ -24,13 +24,13 @@ DEF=        defined
 .endif
 
 # A variable that appears on the left-hand side must be defined.
-# expect+1: Malformed conditional (${UNDEF} == ${DEF})
+# expect+1: Malformed conditional '${UNDEF} == ${DEF}'
 .if ${UNDEF} == ${DEF}
 .  error
 .endif
 
 # A variable that appears on the right-hand side must be defined.
-# expect+1: Malformed conditional (${DEF} == ${UNDEF})
+# expect+1: Malformed conditional '${DEF} == ${UNDEF}'
 .if ${DEF} == ${UNDEF}
 .  error
 .endif
@@ -40,7 +40,7 @@ DEF=  defined
 .endif
 
 # An undefined variable on its own generates a parse error.
-# expect+1: Malformed conditional (${UNDEF})
+# expect+1: Malformed conditional '${UNDEF}'
 .if ${UNDEF}
 .endif
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.exp:1.1 Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.exp     Tue Sep 17 11:52:30 2024
@@ -1,10 +1,10 @@
 make: "cond-undef-lint.mk" line 25: Variable "UNDEF" is undefined
-make: "cond-undef-lint.mk" line 25: Malformed conditional (${UNDEF})
+make: "cond-undef-lint.mk" line 25: Malformed conditional '${UNDEF}'
 make: "cond-undef-lint.mk" line 43: Variable "UNDEF" is undefined
 make: "cond-undef-lint.mk" line 43: Variable "VAR." is undefined
-make: "cond-undef-lint.mk" line 43: Malformed conditional (${VAR.${UNDEF}})
+make: "cond-undef-lint.mk" line 43: Malformed conditional '${VAR.${UNDEF}}'
 make: "cond-undef-lint.mk" line 56: Variable "VAR.defined" is undefined
-make: "cond-undef-lint.mk" line 56: Malformed conditional (${VAR.${DEF}})
+make: "cond-undef-lint.mk" line 56: Malformed conditional '${VAR.${DEF}}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.mk:1.1  Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-undef-lint.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: cond-undef-lint.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: cond-undef-lint.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for defined and undefined variables in .if conditions, in lint mode.
 #
@@ -20,7 +20,7 @@ DEF=          defined
 .endif
 
 # Since the condition fails to evaluate, neither of the branches is taken.
-# expect+2: Malformed conditional (${UNDEF})
+# expect+2: Malformed conditional '${UNDEF}'
 # expect+1: Variable "UNDEF" is undefined
 .if ${UNDEF}
 .  error
@@ -39,7 +39,7 @@ DEF=          defined
 # of the expression must not be evaluated at all.
 # expect+3: Variable "UNDEF" is undefined
 # expect+2: Variable "VAR." is undefined
-# expect+1: Malformed conditional (${VAR.${UNDEF}})
+# expect+1: Malformed conditional '${VAR.${UNDEF}}'
 .if ${VAR.${UNDEF}}
 .  error
 .else
@@ -52,7 +52,7 @@ DEF=          defined
 # debatable.  Or would any practical use of CFLAGS.${OPSYS} be via an indirect
 # expression, as in the next example?
 # expect+2: Variable "VAR.defined" is undefined
-# expect+1: Malformed conditional (${VAR.${DEF}})
+# expect+1: Malformed conditional '${VAR.${DEF}}'
 .if ${VAR.${DEF}}
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/counter-append.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/counter-append.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/counter-append.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/counter-append.mk:1.1   Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/counter-append.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: counter-append.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: counter-append.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Demonstrates how to let make count the number of times a variable
 # is actually accessed, using the ::+= variable modifier.
Index: pkgsrc/devel/bmake/files/unit-tests/counter.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/counter.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/counter.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/counter.mk:1.1  Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/counter.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: counter.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: counter.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Demonstrates how to let make count the number of times a variable
 # is actually accessed, using the ::= variable modifier.
Index: pkgsrc/devel/bmake/files/unit-tests/dep-colon-bug-cross-file.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-colon-bug-cross-file.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-colon-bug-cross-file.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-colon-bug-cross-file.mk:1.1 Mon Jul 15 09:10:12 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-colon-bug-cross-file.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-colon-bug-cross-file.mk,v 1.1 2024/07/15 09:10:12 jperkin Exp $
+# $NetBSD: dep-colon-bug-cross-file.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Until 2020-09-25, the very last dependency group of a top-level makefile
 # was not finished properly.  This made it possible to add further commands
Index: pkgsrc/devel/bmake/files/unit-tests/dep-colon.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-colon.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-colon.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-colon.mk:1.1        Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-colon.mk    Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-colon.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-colon.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the : operator in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/dep-double-colon-indep.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-double-colon-indep.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-double-colon-indep.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-double-colon-indep.mk:1.1   Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-double-colon-indep.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-double-colon-indep.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-double-colon-indep.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the :: operator in dependency declarations, which allows multiple
 # dependency groups with the same target.  Each group is evaluated on its own,
Index: pkgsrc/devel/bmake/files/unit-tests/dep-double-colon.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-double-colon.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-double-colon.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-double-colon.mk:1.1 Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-double-colon.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-double-colon.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-double-colon.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the '::' operator in dependency declarations, which allows
 # several dependency groups for a single node, each having its own attributes
Index: pkgsrc/devel/bmake/files/unit-tests/dep-duplicate.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-duplicate.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-duplicate.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-duplicate.mk:1.1    Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-duplicate.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-duplicate.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-duplicate.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test for a target whose commands are defined twice.  This generates a
 # warning, not an error, so ensure that the correct commands are kept.
Index: pkgsrc/devel/bmake/files/unit-tests/dep-exclam.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-exclam.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-exclam.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-exclam.mk:1.1       Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-exclam.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-exclam.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-exclam.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the ! operator in dependency declarations, which always re-creates
 # the target, whether or not it is out of date.
Index: pkgsrc/devel/bmake/files/unit-tests/dep-none.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-none.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-none.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-none.mk:1.1 Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-none.mk     Tue Sep 17 11:52:30 2024
@@ -1,3 +1,3 @@
-# $NetBSD: dep-none.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-none.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test for a Makefile that declares no target at all.
Index: pkgsrc/devel/bmake/files/unit-tests/dep-op-missing.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-op-missing.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-op-missing.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-op-missing.mk:1.1   Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-op-missing.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-op-missing.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-op-missing.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test for a missing dependency operator, in a line with trailing whitespace.
 
Index: pkgsrc/devel/bmake/files/unit-tests/dep-percent.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-percent.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-percent.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-percent.mk:1.1      Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-percent.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-percent.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-percent.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test for transformation rules of the form '%.o: %.c', which are supported
 # by GNU make but not this make.
Index: pkgsrc/devel/bmake/files/unit-tests/dep-var.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-var.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-var.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-var.mk:1.1  Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-var.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-var.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-var.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for variable references in dependency declarations.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/dep-wildcards.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep-wildcards.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep-wildcards.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep-wildcards.mk:1.1    Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep-wildcards.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep-wildcards.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep-wildcards.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for wildcards such as *.c in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/dep.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dep.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dep.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dep.mk:1.1      Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dep.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dep.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: dep.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for dependency declarations, such as "target: sources".
 
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-end.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-end.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-end.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-end.mk:1.1       Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-end.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-end.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: depsrc-end.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Demonstrate an edge case in which .BEGIN depends on .END, which sounds a bit
 # paradox but works since these special nodes are not in the dependency
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-exec.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-exec.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-exec.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-exec.mk:1.1      Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-exec.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-exec.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: depsrc-exec.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .EXEC in dependency declarations,
 # which always executes the commands, even if the target is up to date.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-ignore.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-ignore.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-ignore.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-ignore.mk:1.1    Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-ignore.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-ignore.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: depsrc-ignore.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .IGNORE in dependency declarations,
 # which ignores any command failures for that target.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-made.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-made.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-made.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-made.mk:1.1      Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-made.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-made.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: depsrc-made.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .MADE in dependency declarations,
 # which marks all its dependencies as already made, so their commands
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-make.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-make.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-make.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-make.mk:1.1      Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-make.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-make.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: depsrc-make.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .MAKE in dependency declarations, which
 # executes the commands of the target even if the -n or -t command line
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-meta.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-meta.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-meta.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-meta.mk:1.1      Mon Jul 15 09:10:13 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-meta.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-meta.mk,v 1.1 2024/07/15 09:10:13 jperkin Exp $
+# $NetBSD: depsrc-meta.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .META in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa.mk:1.1    Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-nometa.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-nometa.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .NOMETA in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa_cmp.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa_cmp.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa_cmp.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa_cmp.mk:1.1        Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-nometa_cmp.mk    Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-nometa_cmp.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-nometa_cmp.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .NOMETA_CMP in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-nopath.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-nopath.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-nopath.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-nopath.mk:1.1    Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-nopath.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-nopath.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-nopath.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .NOPATH in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-notmain.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-notmain.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-notmain.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-notmain.mk:1.1   Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-notmain.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-notmain.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-notmain.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .NOTMAIN in dependency declarations,
 # which prevents the associated target from becoming the default target
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-optional.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-optional.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-optional.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-optional.mk:1.1  Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-optional.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-optional.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-optional.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .OPTIONAL in dependency declarations,
 # which ignores the target if make cannot find out how to create it.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-phony.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-phony.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-phony.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-phony.mk:1.1     Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-phony.mk Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-phony.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-phony.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .PHONY in dependency declarations,
 # which executes the commands for the target even if a file of the same
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-precious.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-precious.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-precious.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-precious.mk:1.1  Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-precious.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-precious.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-precious.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .PRECIOUS in dependency declarations, which
 # is only relevant if the commands for the target fail or are interrupted.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-recursive.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-recursive.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-recursive.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-recursive.mk:1.1 Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-recursive.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-recursive.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-recursive.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .RECURSIVE in dependency declarations,
 # which executes the commands of the target even if the -n or -t command
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-silent.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-silent.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-silent.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-silent.mk:1.1    Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-silent.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-silent.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-silent.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .SILENT in dependency declarations,
 # which hides the commands, no matter whether they are prefixed with
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-use.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-use.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-use.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-use.mk:1.1       Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-use.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-use.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-use.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .USE in dependency declarations,
 # which allows to append common commands to other targets.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore-double-colon.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore-double-colon.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore-double-colon.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore-double-colon.mk:1.1    Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore-double-colon.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-usebefore-double-colon.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-usebefore-double-colon.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .USEBEFORE in dependency declarations,
 # combined with the double-colon dependency operator.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore.mk:1.1 Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-usebefore.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-usebefore.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-usebefore.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .USEBEFORE in dependency declarations,
 # which allows to prepend common commands to other targets.
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc-wait.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc-wait.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc-wait.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc-wait.mk:1.1      Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc-wait.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc-wait.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc-wait.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special source .WAIT in dependency declarations,
 # which adds a sequence point between the nodes to its left and the nodes
Index: pkgsrc/devel/bmake/files/unit-tests/depsrc.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/depsrc.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/depsrc.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/depsrc.mk:1.1   Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/depsrc.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: depsrc.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: depsrc.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for special sources (those starting with a dot, followed by
 # uppercase letters) in dependency declarations, such as '.PHONY'.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail-indirect.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail-indirect.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail-indirect.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail-indirect.mk:1.1       Mon Jul 15 09:10:14 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail-indirect.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-begin-fail-indirect.mk,v 1.1 2024/07/15 09:10:14 jperkin Exp $
+# $NetBSD: deptgt-begin-fail-indirect.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test for a .BEGIN target whose dependency results in an error.
 # This stops make immediately and does not build the main targets.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail.mk:1.1        Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-begin-fail.mk    Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-begin-fail.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-begin-fail.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test for a .BEGIN target whose command results in an error.
 # This stops make immediately and does not build the main targets.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-begin.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-begin.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-begin.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-begin.mk:1.1     Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-begin.mk Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-begin.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-begin.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .BEGIN in dependency declarations,
 # which is a container for commands that are run before any other
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-default.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-default.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-default.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-default.mk:1.1   Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-default.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-default.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-default.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .DEFAULT in dependency declarations, which
 # attaches its associated commands to all targets that don't specify any way
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-delete_on_error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-delete_on_error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-delete_on_error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-delete_on_error.mk:1.1   Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-delete_on_error.mk       Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-delete_on_error.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-delete_on_error.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .DELETE_ON_ERROR in dependency declarations,
 # which controls whether the target is deleted if a shell command fails or
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-all.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-all.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-all.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-all.mk:1.1      Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-all.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-end-fail-all.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-end-fail-all.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Test whether the commands from the .END target are run even if there is
 # an error before.  The manual page says "after everything else is done",
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-indirect.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-indirect.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-indirect.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-indirect.mk:1.1 Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail-indirect.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-end-fail-indirect.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-end-fail-indirect.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for an error in a dependency of the .END node.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail.mk:1.1  Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-end-fail.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-end-fail.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-end-fail.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for an errors in the main target, its dependencies,
 # the .END node and its dependencies.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-end-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-end-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-end-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-end-jobs.mk:1.1  Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-end-jobs.mk      Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-end-jobs.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-end-jobs.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .END in dependency declarations,
 # which is run after making the desired targets.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-end.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-end.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-end.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-end.mk:1.1       Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-end.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-end.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-end.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .END in dependency declarations,
 # which is run after making the desired targets.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-error.mk:1.1     Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-error.mk Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-error.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-error.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .ERROR in dependency declarations, which
 # is made when another target fails.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-ignore.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-ignore.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-ignore.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-ignore.mk:1.1    Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-ignore.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-ignore.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-ignore.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .IGNORE in dependency declarations, which
 # does not stop if a command from this target exits with a non-zero status.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-interrupt.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-interrupt.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-interrupt.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-interrupt.mk:1.1 Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-interrupt.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-interrupt.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-interrupt.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .INTERRUPT in dependency declarations, which
 # collects commands to be run when make is interrupted while building another
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-main.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-main.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-main.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-main.mk:1.1      Mon Jul 15 09:10:15 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-main.mk  Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-main.mk,v 1.1 2024/07/15 09:10:15 jperkin Exp $
+# $NetBSD: deptgt-main.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .MAIN in dependency declarations, which defines
 # the main target.  This main target is built if no target has been specified
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-makeflags.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-makeflags.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-makeflags.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-makeflags.mk:1.1 Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-makeflags.mk     Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-makeflags.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-makeflags.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .MAKEFLAGS in dependency declarations,
 # which adds command line options later, at parse time.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-no_parallel.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-no_parallel.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-no_parallel.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-no_parallel.mk:1.1       Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-no_parallel.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-no_parallel.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-no_parallel.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .NO_PARALLEL in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-nopath.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-nopath.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-nopath.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-nopath.mk:1.1    Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-nopath.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-nopath.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-nopath.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .NOPATH in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-notparallel.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-notparallel.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-notparallel.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-notparallel.mk:1.1       Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-notparallel.mk   Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-notparallel.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-notparallel.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .NOTPARALLEL in dependency declarations, which
 # prevents the job module from doing anything in parallel, by setting the
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-objdir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-objdir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-objdir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-objdir.mk:1.1    Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-objdir.mk        Tue Sep 17 11:52:30 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-objdir.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-objdir.mk,v 1.2 2024/09/17 11:52:30 jperkin Exp $
 #
 # Tests for the special target .OBJDIR in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-order.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-order.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-order.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-order.mk:1.1     Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-order.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-order.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-order.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .ORDER in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-path-suffix.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-path-suffix.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-path-suffix.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-path-suffix.mk:1.1       Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-path-suffix.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-path-suffix.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-path-suffix.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .PATH.suffix in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-path.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-path.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-path.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-path.mk:1.1      Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-path.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-path.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-path.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .PATH in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-phony.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-phony.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-phony.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-phony.mk:1.1     Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-phony.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-phony.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-phony.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .PHONY in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-posix.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-posix.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-posix.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-posix.mk:1.1     Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-posix.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-posix.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-posix.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target '.POSIX', which enables POSIX mode.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-precious.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-precious.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-precious.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-precious.mk:1.1  Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-precious.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-precious.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-precious.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .PRECIOUS in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-shell.mk:1.1     Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-shell.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-shell.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-shell.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .SHELL in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-silent-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-silent-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-silent-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-silent-jobs.mk:1.1       Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-silent-jobs.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-silent-jobs.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-silent-jobs.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Ensure that the special dependency target '.SILENT' only affects the amount
 # of output, but not the kind of error handling.
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-silent.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-silent.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-silent.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-silent.mk:1.1    Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-silent.mk        Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-silent.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-silent.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .SILENT in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-stale.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-stale.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-stale.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-stale.mk:1.1     Mon Jul 15 09:10:16 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-stale.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-stale.mk,v 1.1 2024/07/15 09:10:16 jperkin Exp $
+# $NetBSD: deptgt-stale.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .STALE in dependency declarations.
 
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt-suffixes.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt-suffixes.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt-suffixes.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt-suffixes.mk:1.1  Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt-suffixes.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt-suffixes.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: deptgt-suffixes.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the special target .SUFFIXES in dependency declarations.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt.exp:1.1  Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt.exp      Tue Sep 17 11:52:31 2024
@@ -8,8 +8,10 @@ ParseDependency(: empty-source)
 Parsing line 39:       : command for empty targets list
 Parsing line 40: .MAKEFLAGS: -d0
 ParseDependency(.MAKEFLAGS: -d0)
-make: "deptgt.mk" line 45: while evaluating "${:U:Z}:" with value "": Unknown modifier "Z"
-make: "deptgt.mk" line 49: while parsing "${:U:Z}:": Unknown modifier "Z"
+make: "deptgt.mk" line 45: Unknown modifier "Z"
+       while evaluating "${:U:Z}:" with value ""
+make: "deptgt.mk" line 49: Unknown modifier "Z"
+       while parsing "${:U:Z}:"
 make: "deptgt.mk" line 52: warning: Extra target 'ordinary' ignored
 make: "deptgt.mk" line 55: warning: Extra target (ordinary) ignored
 make: "deptgt.mk" line 58: warning: Special and mundane targets don't mix. Mundane ones ignored
Index: pkgsrc/devel/bmake/files/unit-tests/deptgt.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/deptgt.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/deptgt.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/deptgt.mk:1.1   Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/deptgt.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: deptgt.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for special targets like .BEGIN or .SUFFIXES in dependency
 # declarations.
@@ -41,11 +41,11 @@ ${:U}: empty-source
 
 # In a dependency declaration, the whole line is expanded before interpreting
 # the line.
-# expect+1: while evaluating "${:U:Z}:" with value "": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 ${:U:Z}:
 # After expanding the line as a whole, each target is parsed but not
 # evaluated, separately, in ParseDependencyTargetWord.
-# expect+1: while parsing "${:U:Z}:": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 $${:U:Z}:
 
 # expect+1: warning: Extra target 'ordinary' ignored
Index: pkgsrc/devel/bmake/files/unit-tests/dir-expand-path.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dir-expand-path.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dir-expand-path.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dir-expand-path.mk:1.1  Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dir-expand-path.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dir-expand-path.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: dir-expand-path.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for filename expansion in the search path.
 
Index: pkgsrc/devel/bmake/files/unit-tests/dir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/dir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/dir.mk:1.1      Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dir.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dir.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: dir.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for dir.c.
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-dinclude.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-dinclude.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-dinclude.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-dinclude.mk:1.1       Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-dinclude.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-dinclude.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-dinclude.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .dinclude directive, which includes another file,
 # silently skipping it if it cannot be opened.  This is primarily used for
Index: pkgsrc/devel/bmake/files/unit-tests/directive-elif.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-elif.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-elif.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-elif.mk:1.1   Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-elif.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-elif.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-elif.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .elif directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-elifdef.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-elifdef.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-elifdef.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-elifdef.mk:1.1        Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-elifdef.mk    Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-elifdef.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-elifdef.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .elifdef directive, which is seldom used.  Instead of writing
 # '.elifdef VAR', the usual form is the more general '.elif defined(VAR)'.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-elifmake.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-elifmake.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-elifmake.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-elifmake.mk:1.1       Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-elifmake.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-elifmake.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-elifmake.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .elifmake directive.
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-elifndef.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-elifndef.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-elifndef.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-elifndef.mk:1.1       Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-elifndef.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-elifndef.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-elifndef.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .elifndef directive, which is an obscure form of writing the
 # more usual '.elif !defined(VAR)'.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-elifnmake.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-elifnmake.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-elifnmake.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-elifnmake.mk:1.1      Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-elifnmake.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-elifnmake.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-elifnmake.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .elifnmake directive.
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-else.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-else.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-else.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-else.mk:1.1   Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-else.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-else.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-else.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .else directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-endfor.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-endfor.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-endfor.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-endfor.mk:1.1 Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-endfor.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-endfor.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-endfor.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test for the directive .endfor, which ends a .for loop.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-endif.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-endif.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-endif.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-endif.mk:1.1  Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-endif.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-endif.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-endif.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .endif directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-error.mk:1.1  Mon Jul 15 09:10:17 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-error.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-error.mk,v 1.1 2024/07/15 09:10:17 jperkin Exp $
+# $NetBSD: directive-error.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .error directive, which prints an error message and exits
 # immediately, unlike other "fatal" parse errors, which continue to parse
Index: pkgsrc/devel/bmake/files/unit-tests/directive-export-env.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-export-env.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-export-env.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-export-env.mk:1.1     Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-export-env.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-export-env.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-export-env.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .export-env directive.
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-export-gmake.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-export-gmake.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-export-gmake.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-export-gmake.mk:1.1   Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-export-gmake.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-export-gmake.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-export-gmake.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the export directive (without leading dot), as in GNU make.
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-export-impl.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-export-impl.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-export-impl.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-export-impl.mk:1.1    Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-export-impl.mk        Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-export-impl.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-export-impl.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test for the implementation of exporting variables to child processes.
 # This involves marking variables for export, actually exporting them,
Index: pkgsrc/devel/bmake/files/unit-tests/directive-export-literal.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-export-literal.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-export-literal.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-export-literal.mk:1.1 Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-export-literal.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-export-literal.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-export-literal.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .export-literal directive, which exports a variable value
 # without expanding it.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-export.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-export.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-export.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-export.mk:1.1 Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-export.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-export.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-export.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .export directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-break.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-break.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-break.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-break.mk:1.1      Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-break.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-break.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-break.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for .break in .for loops, which immediately terminates processing of
 # the surrounding .for loop.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-empty.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-empty.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-empty.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-empty.mk:1.1      Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-empty.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-empty.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-empty.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for .for loops containing conditions of the form 'empty(var:...)'.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.exp:1.1    Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.exp        Tue Sep 17 11:52:31 2024
@@ -8,7 +8,8 @@ make: "directive-for-errors.mk" line 44:
 make: "directive-for-errors.mk" line 52: no iteration variables in for
 make: "directive-for-errors.mk" line 64: Wrong number of words (5) in .for substitution list with 3 variables
 make: "directive-for-errors.mk" line 78: missing `in' in for
-make: "directive-for-errors.mk" line 89: while evaluating "${:U3:Z} 4" with value "3": Unknown modifier "Z"
+make: "directive-for-errors.mk" line 89: Unknown modifier "Z"
+       while evaluating "${:U3:Z} 4" with value "3"
 make: "directive-for-errors.mk" line 93: warning: Should not be reached.
 make: "directive-for-errors.mk" line 93: warning: Should not be reached.
 make: "directive-for-errors.mk" line 93: warning: Should not be reached.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.mk:1.1     Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-errors.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-errors.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-errors.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for error handling in .for loops.
 
@@ -85,7 +85,7 @@ ${:U\\}=      backslash       # see whether the "va
 #
 # XXX: As of 2020-12-31, Var_Subst doesn't report any errors, therefore
 # the loop body is expanded as if no error had happened.
-# expect+1: while evaluating "${:U3:Z} 4" with value "3": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 .for i in 1 2 ${:U3:Z} 4
 # expect+3: warning: Should not be reached.
 # expect+2: warning: Should not be reached.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.exp:1.1    Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.exp        Tue Sep 17 11:52:31 2024
@@ -1,13 +1,15 @@
 For: end for 1
 For: loop body with chars = !"#$%&'()*+,-./0-9:;<=>?@A-Z[\]_^a-z{|}~:
 .  info ${:U!"#$%&'()*+,-./0-9\:;<=>?@A-Z[\\]_^a-z{|\}~}
-make: "directive-for-escape.mk" line 21: while evaluating "${:U!"" with value "!"": Unclosed expression, expecting '}' for modifier "U!""
+make: "directive-for-escape.mk" line 21: Unclosed expression, expecting '}' for modifier "U!""
+       while evaluating "${:U!"" with value "!""
        in .for loop from directive-for-escape.mk:20 with chars = !"#$%&'()*+,-./0-9:;<=>?@A-Z[\]_^a-z{|}~
 make: "directive-for-escape.mk" line 21: !"
 For: end for 1
 For: loop body with chars = !"\\#$%&'()*+,-./0-9:;<=>?@A-Z[\]_^a-z{|}~:
 .  info ${:U!"\\\\#$%&'()*+,-./0-9\:;<=>?@A-Z[\\]_^a-z{|\}~}
-make: "directive-for-escape.mk" line 33: while evaluating "${:U!"\\\\" with value "!"\\": Unclosed expression, expecting '}' for modifier "U!"\\\\"
+make: "directive-for-escape.mk" line 33: Unclosed expression, expecting '}' for modifier "U!"\\\\"
+       while evaluating "${:U!"\\\\" with value "!"\\"
        in .for loop from directive-for-escape.mk:32 with chars = !"\\#$%&'()*+,-./0-9:;<=>?@A-Z[\]_^a-z{|}~
 make: "directive-for-escape.mk" line 33: !"\\
 For: end for 1
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.mk:1.1     Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-escape.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-escape.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-escape.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test escaping of special characters in the iteration values of a .for loop.
 # These values get expanded later using the :U variable modifier, and this
@@ -15,7 +15,7 @@ ASCII=        !"\#$$%&'()*+,-./0-9:;<=>?@A-Z[\]
 # XXX: As of 2020-12-31, the '#' is not preserved in the expanded body of
 # the loop.  Not only would it need the escaping for the variable modifier
 # ':U' but also the escaping for the line-end comment.
-# expect+3: while evaluating "${:U!"" with value "!"": Unclosed expression, expecting '}' for modifier "U!""
+# expect+3: Unclosed expression, expecting '}' for modifier "U!""
 # expect+2: !"
 .for chars in ${ASCII}
 .  info ${chars}
@@ -27,7 +27,7 @@ ASCII=        !"\#$$%&'()*+,-./0-9:;<=>?@A-Z[\]
 # This means that a '#' sign cannot be passed in the value of a .for loop
 # at all.
 ASCII.2020-12-31=      !"\\\#$$%&'()*+,-./0-9:;<=>?@A-Z[\]_^a-z{|}~
-# expect+3: while evaluating "${:U!"\\\\" with value "!"\\": Unclosed expression, expecting '}' for modifier "U!"\\\\"
+# expect+3: Unclosed expression, expecting '}' for modifier "U!"\\\\"
 # expect+2: !"\\
 .for chars in ${ASCII.2020-12-31}
 .  info ${chars}
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-generating-endif.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-generating-endif.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-generating-endif.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-generating-endif.mk:1.1   Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-generating-endif.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-generating-endif.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-generating-endif.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test whether a .for loop can be used to generate multiple .endif
 # directives to close nested .if directives.  Depending on the exact
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-if.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-if.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-if.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-if.mk:1.1 Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-if.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-if.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-if.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test for a .for directive that contains an .if directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-lines.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-lines.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-lines.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-lines.mk:1.1      Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-lines.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-lines.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-lines.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the line numbers that are reported in .for loops.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for-null.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for-null.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for-null.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for-null.mk:1.1       Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for-null.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for-null.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for-null.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test for parsing a .for loop that accidentally contains a null byte.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for.exp:1.1   Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for.exp       Tue Sep 17 11:52:31 2024
@@ -17,7 +17,8 @@ make: "directive-for.mk" line 158: }{ }{
 make: "directive-for.mk" line 166: invalid character ':' in .for loop variable name
 make: "directive-for.mk" line 173: invalid character '$' in .for loop variable name
 make: "directive-for.mk" line 185: invalid character '$' in .for loop variable name
-make: "directive-for.mk" line 210: while evaluating "${:Uword2:Z}-after word3" with value "word2": Unknown modifier "Z"
+make: "directive-for.mk" line 210: Unknown modifier "Z"
+       while evaluating "${:Uword2:Z}-after word3" with value "word2"
 make: "directive-for.mk" line 214: XXX: Should not reach word1
 make: "directive-for.mk" line 214: XXX: Should not reach before--after
 make: "directive-for.mk" line 214: XXX: Should not reach word3
Index: pkgsrc/devel/bmake/files/unit-tests/directive-for.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-for.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-for.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-for.mk:1.1    Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-for.mk        Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-for.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .for directive.
 #
@@ -206,7 +206,7 @@ INDIRECT=   ${DIRECT}
 # XXX: A parse error or evaluation error in the items of the .for loop
 # should skip the whole loop.  As of 2023-05-09, the loop is expanded as
 # usual.
-# expect+1: while evaluating "${:Uword2:Z}-after word3" with value "word2": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 .for var in word1 before-${:Uword2:Z}-after word3
 # expect+3: XXX: Should not reach word1
 # expect+2: XXX: Should not reach before--after
Index: pkgsrc/devel/bmake/files/unit-tests/directive-hyphen-include.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-hyphen-include.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-hyphen-include.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-hyphen-include.mk:1.1 Mon Jul 15 09:10:18 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-hyphen-include.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-hyphen-include.mk,v 1.1 2024/07/15 09:10:18 jperkin Exp $
+# $NetBSD: directive-hyphen-include.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .-include directive, which includes another file,
 # silently skipping it if it cannot be opened.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-if-nested.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-if-nested.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-if-nested.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-if-nested.mk:1.1      Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-if-nested.mk  Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-if-nested.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-if-nested.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for deeply nested .if directives.  By default, memory for 128 nested
 # .if directives is pre-allocated, any deeper nesting is reallocated.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-if.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-if.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-if.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-if.exp:1.1    Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-if.exp        Tue Sep 17 11:52:31 2024
@@ -5,7 +5,7 @@ make: "directive-if.mk" line 45: This is
 make: "directive-if.mk" line 47: if-less else
 make: "directive-if.mk" line 49: This is not conditional.
 make: "directive-if.mk" line 51: if-less endif
-make: "directive-if.mk" line 55: Malformed conditional ()
+make: "directive-if.mk" line 55: Malformed conditional ''
 make: "directive-if.mk" line 66: Quotes in plain words are probably a mistake.
 make: "directive-if.mk" line 76: Don't do this, always put a space after a directive.
 make: "directive-if.mk" line 81: Don't do this, always put a space after a directive.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-if.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-if.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-if.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-if.mk:1.1     Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-if.mk Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-if.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-if.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .if directive.
 #
@@ -51,7 +51,7 @@
 .endif
 
 # Missing condition.
-# expect+1: Malformed conditional ()
+# expect+1: Malformed conditional ''
 .if
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/directive-ifdef.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-ifdef.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-ifdef.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-ifdef.mk:1.1  Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-ifdef.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-ifdef.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-ifdef.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .ifdef directive, which evaluates bare words by calling
 # 'defined(word)'.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-ifmake.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-ifmake.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-ifmake.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-ifmake.mk:1.1 Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-ifmake.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-ifmake.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-ifmake.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .ifmake directive, which provides a shortcut for asking
 # whether a certain target is requested to be made from the command line.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-ifndef.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-ifndef.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-ifndef.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-ifndef.mk:1.1 Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-ifndef.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-ifndef.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-ifndef.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .ifndef directive, which can be used for multiple-inclusion
 # guards.  In contrast to C, where #ifndef and #define nicely line up the
Index: pkgsrc/devel/bmake/files/unit-tests/directive-ifnmake.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-ifnmake.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-ifnmake.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-ifnmake.mk:1.1        Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-ifnmake.mk    Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-ifnmake.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-ifnmake.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .ifnmake directive, which evaluates to true if its argument
 # is _not_ listed in the command-line targets to be created.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.exp:1.1 Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.exp     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-make: "directive-include-fatal.mk" line 14: Malformed conditional (${UNDEF})
+make: "directive-include-fatal.mk" line 14: Malformed conditional '${UNDEF}'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.mk:1.1  Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-include-fatal.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-include-fatal.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-include-fatal.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test for the .include directive combined with fatal errors.
 #
@@ -10,7 +10,7 @@
 # the "fatals" counter.
 
 # Using an undefined variable in a condition generates a fatal error.
-# expect+1: Malformed conditional (${UNDEF})
+# expect+1: Malformed conditional '${UNDEF}'
 .if ${UNDEF}
 .endif
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.exp:1.1 Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.exp     Tue Sep 17 11:52:31 2024
@@ -95,8 +95,10 @@ Parse_PushInput: file target-already-def
 Skipping 'target-already-defined.tmp' because 'target-already-defined' is defined
 Parse_PushInput: file target-name-exclamation.tmp, line 1
 Parse_PushInput: file target-name-exclamation.tmp, line 1
-Parse_PushInput: file target-name-parenthesized.tmp, line 1
-Parse_PushInput: file target-name-parenthesized.tmp, line 1
+Parse_PushInput: file target-name-leading-space.tmp, line 1
+Parse_PushInput: file target-name-leading-space.tmp, line 1
+Parse_PushInput: file target-name-trailing-space.tmp, line 1
+Parse_PushInput: file target-name-trailing-space.tmp, line 1
 Parse_PushInput: file target-call-parenthesized.tmp, line 1
 Parse_PushInput: file target-call-parenthesized.tmp, line 1
 Parse_PushInput: file multiline.tmp, line 1
Index: pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.mk:1.1  Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-include-guard.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-include-guard.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-include-guard.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for multiple-inclusion guards in makefiles.
 #
@@ -581,15 +581,25 @@ LINES.target-name-exclamation= \
 # expect: Parse_PushInput: file target-name-exclamation.tmp, line 1
 # expect: Parse_PushInput: file target-name-exclamation.tmp, line 1
 
-# If the guard target name is enclosed in spaces, it does not have an effect,
+# If the guard target name has leading spaces, it does not have an effect,
 # as that form is not common in practice.
-CASES+=        target-name-parenthesized
-LINES.target-name-parenthesized= \
-       '.if !target( target-name-parenthesized )' \
-       'target-name-parenthesized: .NOTMAIN' \
+CASES+=        target-name-leading-space
+LINES.target-name-leading-space= \
+       '.if !target( target-name-leading-space)' \
+       'target-name-leading-space: .NOTMAIN' \
        '.endif'
-# expect: Parse_PushInput: file target-name-parenthesized.tmp, line 1
-# expect: Parse_PushInput: file target-name-parenthesized.tmp, line 1
+# expect: Parse_PushInput: file target-name-leading-space.tmp, line 1
+# expect: Parse_PushInput: file target-name-leading-space.tmp, line 1
+
+# If the guard target name has trailing spaces, it does not have an effect,
+# as that form is not common in practice.
+CASES+=        target-name-trailing-space
+LINES.target-name-trailing-space= \
+       '.if !target(target-name-trailing-space )' \
+       'target-name-trailing-space: .NOTMAIN' \
+       '.endif'
+# expect: Parse_PushInput: file target-name-trailing-space.tmp, line 1
+# expect: Parse_PushInput: file target-name-trailing-space.tmp, line 1
 
 # If the guard target condition is enclosed in parentheses, it does not have
 # an effect, as that form is not common in practice.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-include.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-include.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-include.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-include.exp:1.1       Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-include.exp   Tue Sep 17 11:52:31 2024
@@ -4,7 +4,8 @@ CondParser_Eval: ${.MAKE.MAKEFILES:T} !=
 Comparing "directive-include.mk null" != "directive-include.mk null"
 make: "directive-include.mk" line 26: Could not find nonexistent.mk
 make: "directive-include.mk" line 49: Could not find "
-make: "directive-include.mk" line 56: while evaluating "${:U123:Z}.mk" with value "123": Unknown modifier "Z"
+make: "directive-include.mk" line 56: Unknown modifier "Z"
+       while evaluating "${:U123:Z}.mk" with value "123"
 make: "directive-include.mk" line 56: Could not find nonexistent.mk
 make: "directive-include.mk" line 61: Cannot open /nonexistent
 make: "directive-include.mk" line 66: Invalid line 'include'
Index: pkgsrc/devel/bmake/files/unit-tests/directive-include.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-include.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-include.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-include.mk:1.1        Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-include.mk    Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-include.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-include.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .include directive, which includes another file.
 
@@ -52,7 +52,7 @@ DQUOT=        "
 # expression is skipped and the file is included nevertheless.
 # FIXME: Add proper error handling, no file must be included here.
 # expect+2: Could not find nonexistent.mk
-# expect+1: while evaluating "${:U123:Z}.mk" with value "123": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 .include "nonexistent${:U123:Z}.mk"
 
 # The traditional include directive is seldom used.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-info.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-info.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-info.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-info.mk:1.1   Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-info.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-info.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-info.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .info directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-misspellings.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-misspellings.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-misspellings.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-misspellings.mk:1.1   Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-misspellings.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-misspellings.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-misspellings.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for misspelled directives.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-sinclude.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-sinclude.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-sinclude.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-sinclude.mk:1.1       Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-sinclude.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-sinclude.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-sinclude.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .sinclude directive, which includes another file,
 # silently skipping it if it cannot be opened.
Index: pkgsrc/devel/bmake/files/unit-tests/directive-undef.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-undef.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-undef.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-undef.exp:1.1 Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-undef.exp     Tue Sep 17 11:52:31 2024
@@ -1,5 +1,6 @@
 make: "directive-undef.mk" line 30: The .undef directive requires an argument
-make: "directive-undef.mk" line 88: while evaluating variable "VARNAMES" with value "VARNAMES": Unknown modifier "Z"
+make: "directive-undef.mk" line 88: Unknown modifier "Z"
+       while evaluating variable "VARNAMES" with value "VARNAMES"
 make: "directive-undef.mk" line 105: warning: UT_EXPORTED is still listed in .MAKE.EXPORTED even though spaceit is not exported anymore.
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
Index: pkgsrc/devel/bmake/files/unit-tests/directive-undef.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-undef.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-undef.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-undef.mk:1.1  Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-undef.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-undef.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-undef.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .undef directive.
 #
@@ -84,7 +84,7 @@ ${DOLLAR}=    dollar
 #
 # As of var.c 1.762, this doesn't happen though because the error handling
 # in Var_Parse and Var_Subst is not done properly.
-# expect+1: while evaluating variable "VARNAMES" with value "VARNAMES": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 .undef ${VARNAMES:L:Z}
 
 
Index: pkgsrc/devel/bmake/files/unit-tests/directive-unexport-env.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-unexport-env.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-unexport-env.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-unexport-env.mk:1.1   Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-unexport-env.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-unexport-env.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-unexport-env.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .unexport-env directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-unexport.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-unexport.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-unexport.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-unexport.mk:1.1       Mon Jul 15 09:10:19 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-unexport.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-unexport.mk,v 1.1 2024/07/15 09:10:19 jperkin Exp $
+# $NetBSD: directive-unexport.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .unexport directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive-warning.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive-warning.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive-warning.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive-warning.mk:1.1        Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive-warning.mk    Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive-warning.mk,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: directive-warning.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the .warning directive.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/directive.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/directive.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/directive.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/directive.mk:1.1        Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/directive.mk    Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: directive.mk,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: directive.mk,v 1.2 2024/09/17 11:52:31 jperkin Exp $
 #
 # Tests for the preprocessing directives, such as .if or .info.
 
Index: pkgsrc/devel/bmake/files/unit-tests/export-variants.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/export-variants.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/export-variants.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/export-variants.mk:1.1  Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/export-variants.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: export-variants.mk,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: export-variants.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Test whether exported variables apply to each variant of running
 # external commands:
Index: pkgsrc/devel/bmake/files/unit-tests/gnode-submake.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/gnode-submake.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/gnode-submake.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/gnode-submake.mk:1.1    Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/gnode-submake.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: gnode-submake.mk,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: gnode-submake.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Test whether OP_SUBMAKE is determined correctly.  If it is, this node's
 # shell commands are connected to the make process via pipes, to coordinate
Index: pkgsrc/devel/bmake/files/unit-tests/hanoi-include.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/hanoi-include.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/hanoi-include.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/hanoi-include.mk:1.1    Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/hanoi-include.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: hanoi-include.mk,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: hanoi-include.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Implements the Towers of Hanoi puzzle, demonstrating a bunch of more or less
 # useful programming techniques:
Index: pkgsrc/devel/bmake/files/unit-tests/include-sub.inc
diff -u pkgsrc/devel/bmake/files/unit-tests/include-sub.inc:1.1 pkgsrc/devel/bmake/files/unit-tests/include-sub.inc:1.2
--- pkgsrc/devel/bmake/files/unit-tests/include-sub.inc:1.1     Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/include-sub.inc Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: include-sub.inc,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: include-sub.inc,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 
 .if ${.INCLUDEDFROMFILE} == "include-main.mk"
 .  info sub-before-ok
Index: pkgsrc/devel/bmake/files/unit-tests/include-subsub.inc
diff -u pkgsrc/devel/bmake/files/unit-tests/include-subsub.inc:1.1 pkgsrc/devel/bmake/files/unit-tests/include-subsub.inc:1.2
--- pkgsrc/devel/bmake/files/unit-tests/include-subsub.inc:1.1  Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/include-subsub.inc      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: include-subsub.inc,v 1.1 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: include-subsub.inc,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 
 .if ${.INCLUDEDFROMFILE} == "include-sub.inc"
 .MAKEFLAGS: -dp
Index: pkgsrc/devel/bmake/files/unit-tests/job-flags.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/job-flags.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/job-flags.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/job-flags.mk:1.1        Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/job-flags.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: job-flags.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: job-flags.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for Job.flags, which are controlled by special source dependencies
 # like .SILENT or .IGNORE, as well as the command line options -s or -i.
Index: pkgsrc/devel/bmake/files/unit-tests/job-output-long-lines.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/job-output-long-lines.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/job-output-long-lines.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/job-output-long-lines.mk:1.1    Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/job-output-long-lines.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: job-output-long-lines.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: job-output-long-lines.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # The jobs may produce long lines of output.  A practical case are the echoed
 # command lines from compiler invocations, with their many -D options.
Index: pkgsrc/devel/bmake/files/unit-tests/job-output-null.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/job-output-null.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/job-output-null.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/job-output-null.mk:1.1  Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/job-output-null.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: job-output-null.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: job-output-null.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Test how null bytes in the output of a command are handled.  Make processes
 # them using null-terminated strings, which may cut off some of the output.
Index: pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands-error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands-error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands-error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands-error.mk:1.1        Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands-error.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: jobs-empty-commands-error.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: jobs-empty-commands-error.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # In jobs mode, the shell commands for creating a target are written to a
 # temporary file first, which is then run by the shell.  In chains of
Index: pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands.mk:1.1      Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/jobs-empty-commands.mk  Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: jobs-empty-commands.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: jobs-empty-commands.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # In jobs mode, the shell commands for creating a target are written to a
 # temporary file first, which is then run by the shell.  In chains of
Index: pkgsrc/devel/bmake/files/unit-tests/jobs-error-indirect.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/jobs-error-indirect.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/jobs-error-indirect.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/jobs-error-indirect.mk:1.1      Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/jobs-error-indirect.mk  Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: jobs-error-indirect.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: jobs-error-indirect.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Ensure that in jobs mode, when a command fails, the current directory is
 # printed, to aid in debugging.
Index: pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested-make.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested-make.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested-make.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested-make.mk:1.1   Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested-make.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: jobs-error-nested-make.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: jobs-error-nested-make.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Ensure that in jobs mode, when a command fails, the current directory is
 # printed, to aid in debugging, even if the target is marked as .MAKE.
Index: pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested.mk:1.1        Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/jobs-error-nested.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: jobs-error-nested.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: jobs-error-nested.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Ensure that in jobs mode, when a command fails, the current directory is
 # printed, to aid in debugging.
Index: pkgsrc/devel/bmake/files/unit-tests/lint.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/lint.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/lint.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/lint.exp:1.1    Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/lint.exp        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-make: in target "mod-loop-varname": while evaluating variable "VAR" with value "value": In the :@ modifier, the variable name "${:Ubar:S,b,v,}" must not contain a dollar
-y@:Q}
-xvaluey
+make: In the :@ modifier, the variable name "${:Ubar:S,b,v,}" must not contain a dollar
+       while evaluating variable "VAR" with value "value"
+       in target "mod-loop-varname"
 exit status 2
Index: pkgsrc/devel/bmake/files/unit-tests/lint.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/lint.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/lint.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/lint.mk:1.1     Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/lint.mk Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: lint.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: lint.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Demonstrates stricter checks that are only enabled in lint mode, using the
 # option -dL.
Index: pkgsrc/devel/bmake/files/unit-tests/make-exported.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/make-exported.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/make-exported.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/make-exported.mk:1.1    Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/make-exported.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: make-exported.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: make-exported.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # As of 2020-08-09, the code in Var_Export is shared between the .export
 # directive and the .MAKE.EXPORTED variable.  This leads to non-obvious
Index: pkgsrc/devel/bmake/files/unit-tests/meta-cmd-cmp.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/meta-cmd-cmp.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/meta-cmd-cmp.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/meta-cmd-cmp.mk:1.1     Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/meta-cmd-cmp.mk Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: meta-cmd-cmp.mk,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: meta-cmd-cmp.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests META_MODE command line comparison
 #
Index: pkgsrc/devel/bmake/files/unit-tests/meta-ignore.inc
diff -u pkgsrc/devel/bmake/files/unit-tests/meta-ignore.inc:1.1 pkgsrc/devel/bmake/files/unit-tests/meta-ignore.inc:1.2
--- pkgsrc/devel/bmake/files/unit-tests/meta-ignore.inc:1.1     Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/meta-ignore.inc Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: meta-ignore.inc,v 1.1 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: meta-ignore.inc,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 
 # common logic for testing .MAKE.META.IGNORE_*
 
Index: pkgsrc/devel/bmake/files/unit-tests/objdir-writable.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/objdir-writable.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/objdir-writable.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/objdir-writable.mk:1.1  Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/objdir-writable.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: objdir-writable.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: objdir-writable.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 
 # test checking for writable objdir
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-backwards.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-backwards.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-backwards.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-backwards.mk:1.1    Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-backwards.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-backwards.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-backwards.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -B command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-chdir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-chdir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-chdir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-chdir.mk:1.1        Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-chdir.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-chdir.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-chdir.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -C command line option, which changes the directory at the
 # beginning.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-all.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-all.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-all.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-all.mk:1.1    Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-all.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-all.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-all.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dA command line option, which enables all debug options
 # except for -dL (lint), since that option is not related to debug logging
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-archive.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-archive.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-archive.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-archive.mk:1.1        Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-archive.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-archive.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-archive.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -da command line option, which adds debug logging for the
 # archive handling.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-cond.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-cond.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-cond.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-cond.mk:1.1   Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-cond.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-cond.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-cond.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dc command line option, which adds debug logging for the
 # evaluation of conditional expressions, such as in .if directives and
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-curdir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-curdir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-curdir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-curdir.mk:1.1 Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-curdir.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-curdir.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-curdir.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dC command line option, which does nothing, as of 2020-09-05,
 # as the string "DEBUG(CWD" does not occur in the source code.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-dir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-dir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-dir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-dir.mk:1.1    Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-dir.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-dir.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-dir.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dd command line option, which adds debug logging for
 # directory searching and caching.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors-jobs.mk:1.1    Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors-jobs.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-errors-jobs.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-errors-jobs.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -de command line option, which adds debug logging for
 # failed commands and targets; since 2021-04-27 also in jobs mode.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors.mk:1.1 Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-errors.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-errors.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-errors.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -de command line option, which adds debug logging for
 # failed commands and targets.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-file.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-file.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-file.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-file.mk:1.1   Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-file.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-file.mk,v 1.1 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: opt-debug-file.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dF command line option, which redirects the debug log
 # to a file instead of writing it to stderr.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-for.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-for.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-for.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-for.mk:1.1    Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-for.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-for.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-for.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -df command line option, which adds debug logging for
 # parsing and evaluating .for loops.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph1.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph1.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph1.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph1.mk:1.1 Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph1.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-graph1.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-graph1.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dg1 command line option, which prints the input
 # graph before making anything.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph2.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph2.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph2.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph2.mk:1.1 Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph2.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-graph2.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-graph2.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dg2 command line option, which prints the input
 # graph after making everything, or before exiting on error.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph3.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph3.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph3.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph3.mk:1.1 Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-graph3.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-graph3.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-graph3.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dg3 command line option, which prints the input
 # graph before exiting on error.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-hash.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-hash.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-hash.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-hash.mk:1.1   Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-hash.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-hash.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-hash.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dh command line option, which adds debug logging for
 # hash tables.  Even more detailed logging is available by compiling
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-jobs.mk:1.1   Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-jobs.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-jobs.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-jobs.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dj command line option, which adds debug logging about
 # running jobs in multiple shells.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.exp:1.1  Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.exp      Tue Sep 17 11:52:32 2024
@@ -1,10 +1,13 @@
 make: "opt-debug-lint.mk" line 21: Variable "X" is undefined
-make: "opt-debug-lint.mk" line 21: Malformed conditional ($X)
+make: "opt-debug-lint.mk" line 21: Malformed conditional '$X'
 make: "opt-debug-lint.mk" line 45: Variable "UNDEF" is undefined
-make: "opt-debug-lint.mk" line 45: Malformed conditional (${UNDEF})
-make: "opt-debug-lint.mk" line 67: while evaluating variable "value" with value "value": Missing delimiter ':' after modifier "L"
-make: "opt-debug-lint.mk" line 67: while evaluating variable "value" with value "value": Missing delimiter ':' after modifier "P"
-make: "opt-debug-lint.mk" line 76: while evaluating variable "value" with value "": Unknown modifier "${"
+make: "opt-debug-lint.mk" line 45: Malformed conditional '${UNDEF}'
+make: "opt-debug-lint.mk" line 67: Missing delimiter ':' after modifier "L"
+       while evaluating variable "value" with value "value"
+make: "opt-debug-lint.mk" line 67: Missing delimiter ':' after modifier "P"
+       while evaluating variable "value" with value "value"
+make: "opt-debug-lint.mk" line 76: Unknown modifier "${"
+       while evaluating variable "value" with value ""
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.mk:1.1   Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-lint.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-lint.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-lint.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dL command line option, which runs additional checks
 # to catch common mistakes, such as unclosed expressions.
@@ -16,7 +16,7 @@
 #
 # See also:
 #      cond-undef-lint.mk
-# expect+2: Malformed conditional ($X)
+# expect+2: Malformed conditional '$X'
 # expect+1: Variable "X" is undefined
 .if $X
 .  error
@@ -40,7 +40,7 @@
 # hoping for the caller to print an error message.  This resulted in the
 # well-known "Malformed conditional" error message, even though the
 # conditional was well-formed and the only error was an undefined variable.
-# expect+2: Malformed conditional (${UNDEF})
+# expect+2: Malformed conditional '${UNDEF}'
 # expect+1: Variable "UNDEF" is undefined
 .if ${UNDEF}
 .  error
@@ -62,8 +62,8 @@ ${UNDEF}: ${UNDEF}
 
 # Since 2020-10-03, in lint mode the variable modifier must be separated
 # by colons.  See varparse-mod.mk.
-# expect+2: while evaluating variable "value" with value "value": Missing delimiter ':' after modifier "L"
-# expect+1: while evaluating variable "value" with value "value": Missing delimiter ':' after modifier "P"
+# expect+2: Missing delimiter ':' after modifier "L"
+# expect+1: Missing delimiter ':' after modifier "P"
 .if ${value:LPL} != "value"
 .  error
 .endif
@@ -72,7 +72,7 @@ ${UNDEF}: ${UNDEF}
 # variable modifier had to be separated by colons.  This was wrong though
 # since make always fell back trying to parse the indirect modifier as a
 # SysV modifier.
-# expect+1: while evaluating variable "value" with value "": Unknown modifier "${"
+# expect+1: Unknown modifier "${"
 .if ${value:${:UL}PL} != "LPL}"                # FIXME: "LPL}" is unexpected here.
 .  error ${value:${:UL}PL}
 .endif
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-loud.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-loud.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-loud.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-loud.mk:1.1   Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-loud.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-loud.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-loud.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dl command line option, which prints the commands before
 # running them, ignoring the command line option for silent mode (-s) as
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-making.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-making.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-making.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-making.mk:1.1 Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-making.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-making.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-making.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dm command line option, which adds debug logging about
 # making targets, including modification dates.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-meta.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-meta.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-meta.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-meta.mk:1.1   Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-meta.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-meta.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-meta.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dM command line option, which adds debug logging about
 # "meta" mode decisions about targets.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-no-rm.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-no-rm.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-no-rm.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-no-rm.mk:1.1  Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-no-rm.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-no-rm.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-no-rm.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dn command line option, which prevents the temporary
 # command scripts from being removed from the temporary directory.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-parse.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-parse.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-parse.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-parse.mk:1.1  Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-parse.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-parse.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-parse.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dp command line option, which adds debug logging about
 # makefile parsing.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-suff.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-suff.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-suff.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-suff.mk:1.1   Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-suff.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-suff.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-suff.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -ds command line option, which adds debug logging about
 # suffix-transformation rules such as .c.o.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-targets.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-targets.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-targets.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-targets.mk:1.1        Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-targets.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-targets.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-targets.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dt command line option, which adds debug logging about
 # target list maintenance.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-var.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-var.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-var.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-var.mk:1.1    Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-var.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-var.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-var.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dv command line option, which adds debug logging about
 # variable assignment and evaluation.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-varraw.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-varraw.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-varraw.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-varraw.mk:1.1 Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-varraw.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-varraw.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-varraw.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dV command line option, which forces the -V option to
 # print the raw values of variables.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug-x-trace.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug-x-trace.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug-x-trace.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug-x-trace.mk:1.1        Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug-x-trace.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-x-trace.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug-x-trace.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -dx command line option, which runs shell commands with
 # the -x option, thereby printing the actual commands as they are
Index: pkgsrc/devel/bmake/files/unit-tests/opt-debug.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-debug.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-debug.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-debug.mk:1.1        Mon Jul 15 09:10:23 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-debug.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug.mk,v 1.1 2024/07/15 09:10:23 jperkin Exp $
+# $NetBSD: opt-debug.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -d command line option, which controls debug logging.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-define.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-define.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-define.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-define.mk:1.1       Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-define.mk   Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-define.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-define.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -D command line option, which defines global variables to the
 # value 1, like in the C preprocessor.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-env.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-env.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-env.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-env.mk:1.1  Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-env.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-env.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-env.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -e command line option, which looks up environment variables
 # before those from the global scope.  It has no influence on variables from
Index: pkgsrc/devel/bmake/files/unit-tests/opt-file.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-file.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-file.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-file.mk:1.1 Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-file.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-file.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-file.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -f command line option, which adds a makefile to the list of
 # files that are parsed.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-ignore.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-ignore.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-ignore.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-ignore.mk:1.1       Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-ignore.mk   Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-ignore.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-ignore.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -i command line option, which ignores the exit status of the
 # shell commands, and just continues with the next command, even from the same
Index: pkgsrc/devel/bmake/files/unit-tests/opt-include-dir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-include-dir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-include-dir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-include-dir.mk:1.1  Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-include-dir.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-include-dir.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-include-dir.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -I command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-jobs-internal.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-jobs-internal.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-jobs-internal.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-jobs-internal.mk:1.1        Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-jobs-internal.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-jobs-internal.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-jobs-internal.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the (intentionally undocumented) -J command line option.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/opt-jobs-no-action.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-jobs-no-action.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-jobs-no-action.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-jobs-no-action.mk:1.1       Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-jobs-no-action.mk   Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-jobs-no-action.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-jobs-no-action.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the combination of the options -j and -n, which prints the
 # commands instead of actually running them.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-jobs.mk:1.1 Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-jobs.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-jobs.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-jobs.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -j command line option, which creates the targets in parallel.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-indirect.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-indirect.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-indirect.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-indirect.mk:1.1  Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-indirect.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-keep-going-indirect.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-keep-going-indirect.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -k command line option, which stops building a target as soon
 # as an error is detected, but continues building the other, independent
Index: pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-multiple.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-multiple.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-multiple.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-multiple.mk:1.1  Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-keep-going-multiple.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-keep-going-multiple.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-keep-going-multiple.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -k command line option, which stops building a target as soon
 # as an error is detected, but continues building the other, independent
Index: pkgsrc/devel/bmake/files/unit-tests/opt-keep-going.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-keep-going.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-keep-going.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-keep-going.mk:1.1   Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-keep-going.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-keep-going.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-keep-going.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -k command line option, which stops building a target as soon
 # as an error is detected, but continues building the other, independent
Index: pkgsrc/devel/bmake/files/unit-tests/opt-m-include-dir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-m-include-dir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-m-include-dir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-m-include-dir.mk:1.1        Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-m-include-dir.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-m-include-dir.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-m-include-dir.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -m command line option, which adds a directory to the
 # search path for the .include <...> directive.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-no-action-at-all.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-no-action-at-all.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-no-action-at-all.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-no-action-at-all.mk:1.1     Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-no-action-at-all.mk Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-no-action-at-all.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-no-action-at-all.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -N command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-no-action-runflags.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-no-action-runflags.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-no-action-runflags.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-no-action-runflags.mk:1.1   Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-no-action-runflags.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-no-action-runflags.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-no-action-runflags.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -n command line option, which runs almost no commands,
 # combined with the RunFlags '@', '-', '+' for individual commands.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-no-action-touch.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-no-action-touch.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-no-action-touch.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-no-action-touch.mk:1.1      Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-no-action-touch.mk  Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-no-action-touch.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-no-action-touch.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for combining the command line options -n (no action) and -t (touch).
 # This combination is unusual and probably doesn't ever happen in practice,
Index: pkgsrc/devel/bmake/files/unit-tests/opt-no-action.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-no-action.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-no-action.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-no-action.mk:1.1    Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-no-action.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-no-action.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-no-action.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -n command line option, which runs almost no commands.
 # It just outputs them, to be inspected by human readers.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-query.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-query.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-query.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-query.mk:1.1        Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-query.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-query.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-query.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -q command line option.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/opt-raw.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-raw.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-raw.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-raw.mk:1.1  Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-raw.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-raw.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-raw.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -r command line option, which skips the system-defined default
 # rules from <sys.mk>.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-silent.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-silent.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-silent.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-silent.mk:1.1       Mon Jul 15 09:10:24 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-silent.mk   Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-silent.mk,v 1.1 2024/07/15 09:10:24 jperkin Exp $
+# $NetBSD: opt-silent.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -s command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-touch-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-touch-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-touch-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-touch-jobs.mk:1.1   Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-touch-jobs.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-touch-jobs.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-touch-jobs.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -t command line option in jobs mode.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-touch.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-touch.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-touch.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-touch.mk:1.1        Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-touch.mk    Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-touch.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-touch.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -t command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-tracefile.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-tracefile.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-tracefile.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-tracefile.mk:1.1    Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-tracefile.mk        Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-tracefile.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-tracefile.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the command line option '-T', which in jobs mode appends a trace
 # record to a trace log whenever a job is started or completed.
Index: pkgsrc/devel/bmake/files/unit-tests/opt-var-expanded.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-var-expanded.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-var-expanded.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-var-expanded.mk:1.1 Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-var-expanded.mk     Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-var-expanded.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-var-expanded.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -v command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-var-literal.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-var-literal.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-var-literal.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-var-literal.mk:1.1  Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-var-literal.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-var-literal.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-var-literal.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -V command line option.
 
Index: pkgsrc/devel/bmake/files/unit-tests/opt-version.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-version.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-version.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-version.mk:1.1      Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-version.mk  Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-version.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-version.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the command line option '--version', which may be expected to
 # output the version number of make.  NetBSD's make does not have a version
Index: pkgsrc/devel/bmake/files/unit-tests/opt-warnings-as-errors.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-warnings-as-errors.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-warnings-as-errors.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-warnings-as-errors.mk:1.1   Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-warnings-as-errors.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-warnings-as-errors.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-warnings-as-errors.mk,v 1.2 2024/09/17 11:52:32 jperkin Exp $
 #
 # Tests for the -W command line option, which turns warnings into errors.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/opt-where-am-i.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-where-am-i.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-where-am-i.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-where-am-i.mk:1.1   Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-where-am-i.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-where-am-i.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-where-am-i.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the -w command line option, which outputs the current directory
 # at the beginning and end of running make.  This is useful when building
Index: pkgsrc/devel/bmake/files/unit-tests/opt-x-reduce-exported.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt-x-reduce-exported.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt-x-reduce-exported.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt-x-reduce-exported.mk:1.1    Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt-x-reduce-exported.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt-x-reduce-exported.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt-x-reduce-exported.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the -X command line option, which prevents variables passed on the
 # command line from being exported to the environment of child commands.
Index: pkgsrc/devel/bmake/files/unit-tests/opt.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/opt.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/opt.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/opt.mk:1.1      Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/opt.mk  Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: opt.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: opt.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the command line options.
 
Index: pkgsrc/devel/bmake/files/unit-tests/parse-var.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/parse-var.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/parse-var.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/parse-var.mk:1.1        Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/parse-var.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: parse-var.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: parse-var.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for parsing expressions.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/parse.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/parse.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/parse.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/parse.mk:1.1    Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/parse.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: parse.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: parse.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Test those parts of the parsing that do not belong in any of the other
 # categories.
Index: pkgsrc/devel/bmake/files/unit-tests/recursive.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/recursive.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/recursive.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/recursive.mk:1.1        Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/recursive.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: recursive.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: recursive.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # In -dL mode, a variable may get expanded before it makes sense.
 # This would stop make from doing anything since the "recursive" error
Index: pkgsrc/devel/bmake/files/unit-tests/sh-dots.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-dots.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-dots.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-dots.mk:1.1  Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-dots.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-dots.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: sh-dots.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the special shell command line "...", which does not run the
 # commands below it but appends them to the list of commands that are run
Index: pkgsrc/devel/bmake/files/unit-tests/sh-errctl.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-errctl.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-errctl.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-errctl.mk:1.1        Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-errctl.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-errctl.mk,v 1.1 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: sh-errctl.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Test a shell with error control.  This only works in jobs mode; in compat
 # mode, the default shell is always used, see InitShellNameAndPath.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-flags.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-flags.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-flags.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-flags.mk:1.1 Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-flags.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-flags.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-flags.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the effective RunFlags of a shell command (run/skip, echo/silent,
 # error check, trace), which are controlled by 12 different switches.  These
Index: pkgsrc/devel/bmake/files/unit-tests/sh-jobs-error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-jobs-error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-jobs-error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-jobs-error.mk:1.1    Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-jobs-error.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-jobs-error.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-jobs-error.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for error handling in the "run in jobs mode" part of the "Shell
 # Commands" section from the manual page.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-jobs.mk:1.1  Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-jobs.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-jobs.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-jobs.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the "run in jobs mode" part of the "Shell Commands" section
 # from the manual page.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-leading-at.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-leading-at.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-leading-at.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-leading-at.mk:1.1    Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-leading-at.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-leading-at.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-leading-at.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for shell commands preceded by an '@', to suppress printing
 # the command to stdout.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-leading-hyphen.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-leading-hyphen.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-leading-hyphen.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-leading-hyphen.mk:1.1        Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-leading-hyphen.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-leading-hyphen.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-leading-hyphen.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for shell commands preceded by a '-', to ignore the exit status of
 # the command line.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-leading-plus.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-leading-plus.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-leading-plus.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-leading-plus.mk:1.1  Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-leading-plus.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-leading-plus.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-leading-plus.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for shell commands preceded by a '+', to run them even if
 # the command line option -n is given.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-meta-chars.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-meta-chars.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-meta-chars.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-meta-chars.mk:1.1    Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-meta-chars.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-meta-chars.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-meta-chars.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for running shell commands that contain meta-characters.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/sh-multi-line.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-multi-line.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-multi-line.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-multi-line.mk:1.1    Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-multi-line.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-multi-line.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-multi-line.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for multi-line shell commands, to ensure that the line breaks
 # are preserved.
Index: pkgsrc/devel/bmake/files/unit-tests/sh-single-line.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh-single-line.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh-single-line.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh-single-line.mk:1.1   Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh-single-line.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh-single-line.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh-single-line.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for running single-line shell commands.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/sh.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sh.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/sh.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/sh.mk:1.1       Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sh.mk   Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sh.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: sh.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for running shell commands from the targets, or from the != variable
 # assignment operator or the :sh variable modifier.
Index: pkgsrc/devel/bmake/files/unit-tests/shell-csh.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/shell-csh.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/shell-csh.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/shell-csh.mk:1.1        Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/shell-csh.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: shell-csh.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: shell-csh.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for using a C shell for running the commands.
 
Index: pkgsrc/devel/bmake/files/unit-tests/shell-custom.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/shell-custom.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/shell-custom.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/shell-custom.mk:1.1     Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/shell-custom.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: shell-custom.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: shell-custom.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for using a custom shell for running the commands.
 
Index: pkgsrc/devel/bmake/files/unit-tests/shell-ksh.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/shell-ksh.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/shell-ksh.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/shell-ksh.mk:1.1        Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/shell-ksh.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: shell-ksh.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: shell-ksh.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for using a korn shell for running the commands.
 
Index: pkgsrc/devel/bmake/files/unit-tests/shell-sh.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/shell-sh.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/shell-sh.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/shell-sh.mk:1.1 Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/shell-sh.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: shell-sh.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: shell-sh.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for using a bourne shell for running the commands.
 # This is the default shell, so there's nothing surprising.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-add-later.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-add-later.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-add-later.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-add-later.mk:1.1   Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-add-later.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-add-later.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: suff-add-later.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # https://gnats.netbsd.org/49086, issue 5:
 # Adding more suffixes does not turn existing rules into suffix rules.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-clear-regular.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-clear-regular.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-clear-regular.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-clear-regular.mk:1.1       Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-clear-regular.mk   Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-clear-regular.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: suff-clear-regular.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # https://gnats.netbsd.org/49086, issue 4:
 # Suffix rules do not become regular rules when .SUFFIXES is cleared.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-clear-single.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-clear-single.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-clear-single.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-clear-single.mk:1.1        Mon Jul 15 09:10:26 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-clear-single.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-clear-single.mk,v 1.1 2024/07/15 09:10:26 jperkin Exp $
+# $NetBSD: suff-clear-single.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # https://gnats.netbsd.org/49086, issue 3:
 # Single suffix rules remain active after .SUFFIXES is cleared.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-incomplete.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-incomplete.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-incomplete.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-incomplete.mk:1.1  Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-incomplete.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-incomplete.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-incomplete.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests incomplete transformation rules, which are ignored.
 
Index: pkgsrc/devel/bmake/files/unit-tests/suff-lookup.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-lookup.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-lookup.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-lookup.mk:1.1      Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-lookup.mk  Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-lookup.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-lookup.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrate name resolution for suffixes.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/suff-main-several.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-main-several.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-main-several.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-main-several.mk:1.1        Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-main-several.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-main-several.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-main-several.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrate that an inference rule is considered the main target if its
 # suffixes are not known at the point of declaration.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-main.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-main.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-main.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-main.mk:1.1        Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-main.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-main.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-main.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrate that an inference rule is considered the main target if its
 # suffixes are not known at the point of declaration.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-phony.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-phony.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-phony.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-phony.mk:1.1       Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-phony.mk   Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-phony.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-phony.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Test that .PHONY targets are not resolved using suffix rules.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/suff-rebuild.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-rebuild.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-rebuild.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-rebuild.mk:1.1     Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-rebuild.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-rebuild.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-rebuild.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrates what happens to transformation rules (called inference rules
 # by POSIX) when all suffixes are deleted.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-self.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-self.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-self.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-self.mk:1.1        Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-self.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-self.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-self.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # See what happens if someone defines a self-referencing suffix
 # transformation rule.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-transform-debug.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-transform-debug.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-transform-debug.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-transform-debug.mk:1.1     Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-transform-debug.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-transform-debug.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-transform-debug.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Test how the debug output of transformation rules looks.
 
Index: pkgsrc/devel/bmake/files/unit-tests/suff-transform-endless.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-transform-endless.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-transform-endless.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-transform-endless.mk:1.1   Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-transform-endless.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-transform-endless.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-transform-endless.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 
 # https://gnats.netbsd.org/49086, issue 6:
 # Transformation search can end up in an infinite loop.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-transform-expand.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-transform-expand.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-transform-expand.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-transform-expand.mk:1.1    Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-transform-expand.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-transform-expand.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-transform-expand.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # https://gnats.netbsd.org/49086, issue 11:
 # Sources from transformation rules are expanded incorrectly.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-transform-select.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-transform-select.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-transform-select.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-transform-select.mk:1.1    Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-transform-select.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-transform-select.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-transform-select.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # https://gnats.netbsd.org/49086, issue 10:
 # Explicit dependencies affect transformation rule selection.
Index: pkgsrc/devel/bmake/files/unit-tests/suff-use.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/suff-use.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/suff-use.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/suff-use.mk:1.1 Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/suff-use.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: suff-use.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: suff-use.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # This test combines a .USE node with suffix rules, trying to add an
 # additional command before and after successful compilation of a .c file.
Index: pkgsrc/devel/bmake/files/unit-tests/use-inference.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/use-inference.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/use-inference.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/use-inference.mk:1.1    Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/use-inference.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: use-inference.mk,v 1.1 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: use-inference.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrate that .USE rules do not have an effect on inference rules.
 # At least not in the special case where the inference rule does not
Index: pkgsrc/devel/bmake/files/unit-tests/var-eval-short.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/var-eval-short.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/var-eval-short.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-eval-short.exp:1.1  Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-eval-short.exp      Tue Sep 17 11:52:33 2024
@@ -1,5 +1,6 @@
-make: "var-eval-short.mk" line 46: while parsing "${:Uword:@${FAIL}@expr@}": In the :@ modifier, the variable name "${FAIL}" must not contain a dollar
-make: "var-eval-short.mk" line 46: Malformed conditional (0 && ${:Uword:@${FAIL}@expr@})
+make: "var-eval-short.mk" line 46: In the :@ modifier, the variable name "${FAIL}" must not contain a dollar
+       while parsing "${:Uword:@${FAIL}@expr@}"
+make: "var-eval-short.mk" line 46: Malformed conditional '0 && ${:Uword:@${FAIL}@expr@}'
 Parsing line 159: .if 0 && ${0:?${FAIL}then:${FAIL}else}
 CondParser_Eval: 0 && ${0:?${FAIL}then:${FAIL}else}
 Var_Parse: ${0:?${FAIL}then:${FAIL}else} (parse)
Index: pkgsrc/devel/bmake/files/unit-tests/var-eval-short.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-eval-short.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-eval-short.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-eval-short.mk:1.1   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-eval-short.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-eval-short.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-eval-short.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for each variable modifier to ensure that they only do the minimum
 # necessary computations.  If the result of the expression is irrelevant,
@@ -41,8 +41,8 @@ FAIL= ${:!echo unexpected 1>&2!}
 # after the loop, when undefining the temporary global loop variable.
 # Since var.c 1.907 from 2021-04-04, a '$' is no longer allowed in the
 # variable name.
-# expect+2: while parsing "${:Uword:@${FAIL}@expr@}": In the :@ modifier, the variable name "${FAIL}" must not contain a dollar
-# expect+1: Malformed conditional (0 && ${:Uword:@${FAIL}@expr@})
+# expect+2: In the :@ modifier, the variable name "${FAIL}" must not contain a dollar
+# expect+1: Malformed conditional '0 && ${:Uword:@${FAIL}@expr@}'
 .if 0 && ${:Uword:@${FAIL}@expr@}
 .endif
 
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-append.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-append.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-append.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-append.mk:1.1    Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-append.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op-append.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op-append.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the '+=' variable assignment operator, which appends to a
 # variable, creating it if necessary.
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-assign.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-assign.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-assign.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-assign.mk:1.1    Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-assign.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op-assign.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op-assign.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the = variable assignment operator, which overwrites an existing
 # variable or creates it.
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-default.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-default.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-default.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-default.mk:1.1   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-default.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op-default.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op-default.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the ?= variable assignment operator, which only assigns
 # if the variable is still undefined.
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-expand.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-expand.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-expand.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-expand.exp:1.1   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-expand.exp       Tue Sep 17 11:52:33 2024
@@ -1,6 +1,10 @@
-make: "var-op-expand.mk" line 274: while evaluating variable "indirect" with value "${later:s,value,replaced,} ok ${later:value=sysv}": while evaluating variable "later" with value "": Unknown 
modifier "s,value,replaced,"
+make: "var-op-expand.mk" line 274: Unknown modifier "s,value,replaced,"
+       while evaluating variable "later" with value ""
+       while evaluating variable "indirect" with value "${later:s,value,replaced,} ok ${later:value=sysv}"
 make: "var-op-expand.mk" line 278: warning: XXX Neither branch should be taken.
-make: "var-op-expand.mk" line 283: while evaluating variable "indirect" with value "${later:s,value,replaced,} ok ${later:value=sysv}": while evaluating variable "later" with value 
"lowercase-value": Unknown modifier "s,value,replaced,"
+make: "var-op-expand.mk" line 283: Unknown modifier "s,value,replaced,"
+       while evaluating variable "later" with value "lowercase-value"
+       while evaluating variable "indirect" with value "${later:s,value,replaced,} ok ${later:value=sysv}"
 make: "var-op-expand.mk" line 285: warning: XXX Neither branch should be taken.
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-expand.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-expand.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-expand.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-expand.mk:1.1    Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-expand.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op-expand.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op-expand.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the := variable assignment operator, which expands its
 # right-hand side.
@@ -270,7 +270,7 @@ later=      lowercase-value
 .undef later
 INDIRECT:=     ${LATER:S,value,replaced,} OK ${LATER:value=sysv}
 indirect:=     ${INDIRECT:tl}
-# expect+1: while evaluating variable "indirect" with value "${later:s,value,replaced,} ok ${later:value=sysv}": while evaluating variable "later" with value "": Unknown modifier "s,value,replaced,"
+# expect+1: Unknown modifier "s,value,replaced,"
 .if ${indirect} != " ok "
 .  error
 .else
@@ -279,7 +279,7 @@ indirect:=  ${INDIRECT:tl}
 .endif
 LATER= uppercase-value
 later= lowercase-value
-# expect+1: while evaluating variable "indirect" with value "${later:s,value,replaced,} ok ${later:value=sysv}": while evaluating variable "later" with value "lowercase-value": Unknown modifier 
"s,value,replaced,"
+# expect+1: Unknown modifier "s,value,replaced,"
 .if ${indirect} != "uppercase-replaced ok uppercase-sysv"
 # expect+1: warning: XXX Neither branch should be taken.
 .  warning     XXX Neither branch should be taken.
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-shell.mk:1.1     Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-shell.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op-shell.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op-shell.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the != variable assignment operator, which runs its right-hand
 # side through the shell.
Index: pkgsrc/devel/bmake/files/unit-tests/var-op-sunsh.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op-sunsh.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op-sunsh.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op-sunsh.mk:1.1     Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op-sunsh.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op-sunsh.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op-sunsh.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the :sh= variable assignment operator, which runs its right-hand
 # side through the shell.  It is a seldom-used alternative to the !=
Index: pkgsrc/devel/bmake/files/unit-tests/var-op.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-op.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-op.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-op.mk:1.1   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-op.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-op.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-op.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the variable assignment operators.
 
Index: pkgsrc/devel/bmake/files/unit-tests/var-readonly.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-readonly.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-readonly.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-readonly.mk:1.1     Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-readonly.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-readonly.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-readonly.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 
 # the answer
 N = 42
Index: pkgsrc/devel/bmake/files/unit-tests/var-recursive.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/var-recursive.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/var-recursive.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-recursive.exp:1.1   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-recursive.exp       Tue Sep 17 11:52:33 2024
@@ -1,22 +1,27 @@
-make: "var-recursive.mk" line 21: still there
-make: Variable DIRECT is recursive.
-       in var-recursive.mk:22
+make: "var-recursive.mk" line 11: Variable DIRECT is recursive.
+       while evaluating variable "DIRECT" with value "${DIRECT}"
        in directory <curdir>
-
-make: stopped in unit-tests
-make: Variable INDIRECT1 is recursive.
-       in var-recursive.mk:29
+make: "var-recursive.mk" line 11: <>
+make: "var-recursive.mk" line 19: Variable INDIRECT1 is recursive.
+       while evaluating variable "INDIRECT2" with value "${INDIRECT1}"
+       while evaluating variable "INDIRECT1" with value "${INDIRECT2}"
        in directory <curdir>
-
-make: stopped in unit-tests
-make: "var-recursive.mk" line 37: ok
-make: Variable V is recursive.
-       in var-recursive.mk:45
+make: "var-recursive.mk" line 19: <>
+make: "var-recursive.mk" line 26: <ok>
+make: "var-recursive.mk" line 34: Variable MODIFIERS is recursive.
+       while evaluating variable "MODIFIERS" with value "${MODIFIERS:Mpattern}"
        in directory <curdir>
-
-make: stopped in unit-tests
-: OK
-In a command near "var-recursive.mk" line 57: make[1]: Variable VAR is recursive.
-
-make: stopped making "target" in unit-tests
+make: "var-recursive.mk" line 34: <Mpattern}>
+make: "var-recursive.mk" line 43: Variable V is recursive.
+       while evaluating variable "V" with value "$V"
+       in directory <curdir>
+make: "var-recursive.mk" line 43: <>
+make: Fatal errors encountered -- cannot continue
+make: stopped making "loadtime" in unit-tests
+sub-exit status 1
+: before-recursive
+make: Variable VAR is recursive.
+       while evaluating variable "VAR" with value "${VAR}"
+       in target "runtime"
+sub-exit status 2
 exit status 0
Index: pkgsrc/devel/bmake/files/unit-tests/var-recursive.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-recursive.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-recursive.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-recursive.mk:1.1    Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-recursive.mk        Tue Sep 17 11:52:33 2024
@@ -1,63 +1,64 @@
-# $NetBSD: var-recursive.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-recursive.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
-# Tests for expressions that refer to themselves and thus
-# cannot be evaluated.
+# Tests for expressions that refer to themselves and thus cannot be
+# evaluated, as that would lead to an endless loop.
 
-TESTS= direct indirect conditional short target
+.if make(loadtime)
 
-# Since make exits immediately when it detects a recursive expression,
-# the actual tests are run in sub-makes.
-TEST?= # none
-.if ${TEST} == ""
-all:
-.for test in ${TESTS}
-       @${.MAKE} -f ${MAKEFILE} TEST=${test} || :
-.endfor
-
-.elif ${TEST} == direct
-
-DIRECT=        ${DIRECT}       # Defining a recursive variable is not yet an error.
-# expect+1: still there
-.  info still there    # Therefore this line is printed.
-.  info ${DIRECT}      # But expanding the variable is an error.
+DIRECT=        ${DIRECT}       # Defining a recursive variable is not an error.
+# expect+2: Variable DIRECT is recursive.
+# expect+1: <>
+.  info <${DIRECT}>    # But expanding such a variable is an error.
 
-.elif ${TEST} == indirect
 
 # The chain of variables that refer to each other may be long.
 INDIRECT1=     ${INDIRECT2}
 INDIRECT2=     ${INDIRECT1}
-.  info ${INDIRECT1}
+# expect+2: Variable INDIRECT1 is recursive.
+# expect+1: <>
+.  info <${INDIRECT1}>
 
-.elif ${TEST} == conditional
 
 # The variable refers to itself, but only in the branch of a condition that
-# is never satisfied and is thus not evaluated.
+# is not satisfied and is thus not evaluated.
 CONDITIONAL=   ${1:?ok:${CONDITIONAL}}
-# expect+1: ok
-.  info ${CONDITIONAL}
+# expect+1: <ok>
+.  info <${CONDITIONAL}>
+
+
+# An expression with modifiers is skipped halfway.  This can lead to wrong
+# follow-up error messages, but recursive variables occur seldom.
+MODIFIERS=     ${MODIFIERS:Mpattern}
+# expect+2: Variable MODIFIERS is recursive.
+# expect+1: <Mpattern}>
+.  info <${MODIFIERS}>
 
-.elif ${TEST} == short
 
 # Short variable names can be expanded using the short-hand $V notation,
 # which takes a different code path in Var_Parse for parsing the variable
 # name.  Ensure that these are checked as well.
 V=     $V
-.  info $V
+# expect+2: Variable V is recursive.
+# expect+1: <>
+.  info <$V>
 
-.elif ${TEST} == target
+.elif make(runtime)
 
-# If a recursive variable is accessed in a command of a target, the makefiles
-# are not parsed anymore, so there is no location information from the
-# .includes and .for directives.  In such a case, use the location of the last
-# command of the target to provide at least a hint to the location.
 VAR=   ${VAR}
-target:
-       : OK
-       : ${VAR}
-       : OK
+runtime:
+# expect: : before-recursive
+       : before-recursive
+# expect: make: Variable VAR is recursive.
+# expect-not: recursive-line-before
+# expect-not: recursive-line-after
+       : recursive-line-before <${VAR}> recursive-line-after
+# expect-not: after-recursive
+       : after-recursive
 
 .else
-.  error Unknown test "${TEST}"
-.endif
 
 all:
+       @${MAKE} -f ${MAKEFILE} loadtime || echo "sub-exit status $$?"
+       @${MAKE} -f ${MAKEFILE} runtime || echo "sub-exit status $$?"
+
+.endif
Index: pkgsrc/devel/bmake/files/unit-tests/var-scope-cmdline.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-scope-cmdline.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-scope-cmdline.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-scope-cmdline.mk:1.1        Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-scope-cmdline.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-scope-cmdline.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-scope-cmdline.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for variables specified on the command line.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/var-scope-env.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-scope-env.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-scope-env.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-scope-env.mk:1.1    Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-scope-env.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-scope-env.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-scope-env.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for variables specified in the process environment.
 
Index: pkgsrc/devel/bmake/files/unit-tests/var-scope-global.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-scope-global.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-scope-global.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-scope-global.mk:1.1 Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-scope-global.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-scope-global.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-scope-global.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for global variables, which are the most common variables.
 
Index: pkgsrc/devel/bmake/files/unit-tests/var-scope-local-legacy.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-scope-local-legacy.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-scope-local-legacy.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-scope-local-legacy.mk:1.1   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-scope-local-legacy.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-scope-local-legacy.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-scope-local-legacy.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for legacy target-local variables, such as ${<F} or ${@D}.
 
Index: pkgsrc/devel/bmake/files/unit-tests/var-scope-local.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-scope-local.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-scope-local.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-scope-local.mk:1.1  Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-scope-local.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-scope-local.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-scope-local.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for target-local variables, such as ${.TARGET} or $@.  These variables
 # are relatively short-lived as they are created just before making the
Index: pkgsrc/devel/bmake/files/unit-tests/var-scope.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/var-scope.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/var-scope.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/var-scope.mk:1.1        Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/var-scope.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: var-scope.mk,v 1.1 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: var-scope.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Tests for the different variable scopes (local, command-line, global,
 # environment), and which of them takes precedence over the others.
Index: pkgsrc/devel/bmake/files/unit-tests/vardebug.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/vardebug.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/vardebug.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/vardebug.exp:1.1        Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/vardebug.exp    Tue Sep 17 11:52:33 2024
@@ -54,11 +54,12 @@ Var_Parse: ${:Uvariable:unknown} (eval-d
 Evaluating modifier ${:U...} on value "" (eval-defined, undefined)
 Result of ${:Uvariable} is "variable" (eval-defined, defined)
 Evaluating modifier ${:u...} on value "variable" (eval-defined, defined)
-make: "vardebug.mk" line 63: while evaluating "${:Uvariable:unknown}" with value "variable": Unknown modifier "unknown"
+make: "vardebug.mk" line 63: Unknown modifier "unknown"
+       while evaluating "${:Uvariable:unknown}" with value "variable"
 Result of ${:unknown} is error (eval-defined, defined)
-make: "vardebug.mk" line 63: Malformed conditional (${:Uvariable:unknown})
+make: "vardebug.mk" line 63: Malformed conditional '${:Uvariable:unknown}'
 Var_Parse: ${UNDEFINED} (eval-defined)
-make: "vardebug.mk" line 73: Malformed conditional (${UNDEFINED})
+make: "vardebug.mk" line 73: Malformed conditional '${UNDEFINED}'
 Global: ignoring delete '.SHELL' as it is not found
 Command: .SHELL = </path/to/shell>
 Command: ignoring '.SHELL = overwritten' as it is read-only
Index: pkgsrc/devel/bmake/files/unit-tests/vardebug.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/vardebug.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/vardebug.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/vardebug.mk:1.1 Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/vardebug.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: vardebug.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: vardebug.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrates the debugging output for var.c.
 
@@ -58,8 +58,8 @@ VAR+=         3
 # When ApplyModifiers results in an error, this appears in the debug log
 # as "is error", without surrounding quotes.
 # expect: Result of ${:unknown} is error (eval-defined, defined)
-# expect+2: Malformed conditional (${:Uvariable:unknown})
-# expect+1: while evaluating "${:Uvariable:unknown}" with value "variable": Unknown modifier "unknown"
+# expect+2: Malformed conditional '${:Uvariable:unknown}'
+# expect+1: Unknown modifier "unknown"
 .if ${:Uvariable:unknown}
 .endif
 
@@ -69,7 +69,7 @@ VAR+=         3
 # There is a specialized error message for "Undefined variable", but as of
 # 2020-08-08, that is not covered by any unit tests.  It might even be
 # unreachable.
-# expect+1: Malformed conditional (${UNDEFINED})
+# expect+1: Malformed conditional '${UNDEFINED}'
 .if ${UNDEFINED}
 .endif
 
Index: pkgsrc/devel/bmake/files/unit-tests/varfind.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varfind.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varfind.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varfind.mk:1.1  Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varfind.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varfind.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varfind.mk,v 1.2 2024/09/17 11:52:33 jperkin Exp $
 #
 # Demonstrates variable name aliases in VarFind.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.exp:1.1     Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.exp Tue Sep 17 11:52:34 2024
@@ -4,7 +4,7 @@ Var_Parse: ${ASSIGNED::!=echo output; ${
 Evaluating modifier ${ASSIGNED::...} on value "previous" (eval-keep-dollar-and-undefined, regular)
 Modifier part: "echo output; (exit 13)"
 Capturing the output of command "echo output; (exit 13)"
-make: "varmod-assign-shell.mk" line 26: warning: while evaluating variable "ASSIGNED" with value "previous": Command "echo output; (exit 13)" exited with status 13
+make: "varmod-assign-shell.mk" line 26: warning: Command "echo output; (exit 13)" exited with status 13
 Result of ${ASSIGNED::!=echo output; ${:U(exit 13)}} is "" (eval-keep-dollar-and-undefined, regular)
 Global: _ = # (empty)
 Global: .MAKEFLAGS =  -r -k -d v -d
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.mk:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-assign-shell.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-assign-shell.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-assign-shell.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the variable modifier '::!=', which assigns the output of a shell
 # command to the variable, but only if the command exited successfully.  This
@@ -22,7 +22,7 @@ DIRECT!=      echo output; (exit 13)
 
 ASSIGNED=      previous
 .MAKEFLAGS: -dv                        # to see the "Capturing" debug output
-# expect+1: warning: while evaluating variable "ASSIGNED" with value "previous": Command "echo output; (exit 13)" exited with status 13
+# expect+1: warning: Command "echo output; (exit 13)" exited with status 13
 _:=            ${ASSIGNED::!=echo output; ${:U(exit 13)}}
 .MAKEFLAGS: -d0
 
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-assign.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-assign.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-assign.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-assign.exp:1.1   Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-assign.exp       Tue Sep 17 11:52:34 2024
@@ -37,18 +37,22 @@ Global: .MAKEOVERRIDES =  FIRST LAST LAS
 Result of ${CMD_NEW_VAR::=new-value} is "" (eval, undefined)
 Global: .MAKEFLAGS =  -r -k -d v -d 0 -d v -d
 Global: .MAKEFLAGS =  -r -k -d v -d 0 -d v -d 0
-make: in target "mod-assign-empty": while evaluating "${::=value}" with value "": Bad modifier ":"
-mod-assign-empty: value}
-make: in target "mod-assign-empty": while evaluating "${:Uvalue::=overwritten}" with value "value": Bad modifier ":"
-mod-assign-empty: overwritten}
-mod-assign-empty: VAR=overwritten
-make: in target "mod-assign-parse": while evaluating variable "ASSIGN" with value "": Unknown modifier ":x"
-
+make: Bad modifier ":"
+       while evaluating "${::=value}" with value ""
+       in target "mod-assign-empty-1"
+make: Bad modifier ":"
+       while evaluating "${:Uvalue::=overwritten}" with value "value"
+       in target "mod-assign-empty-2"
+mod-assign-empty-3: VAR=overwritten
+make: Unknown modifier ":x"
+       while evaluating variable "ASSIGN" with value ""
+       in target "mod-assign-parse-1"
 sysv:y
-make: in target "mod-assign-parse": while evaluating variable "ASSIGN" with value "": Unfinished modifier ('}' missing)
-
+make: Unfinished modifier ('}' missing)
+       while evaluating variable "ASSIGN" with value ""
+       in target "mod-assign-parse-3"
 ok=word
-make: warning: in target "mod-assign-shell-error": while evaluating variable "SH_ERR" with value "previous": Command " echo word; (exit 13) " exited with status 13
+make: warning: Command " echo word; (exit 13) " exited with status 13
 err=previous
 Command: TARGET_CMD_VAR = cmd-value
 Global: TARGET_GLOBAL_VAR = global-value
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-assign.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-assign.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-assign.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-assign.mk:1.1    Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-assign.mk        Tue Sep 17 11:52:34 2024
@@ -1,12 +1,12 @@
-# $NetBSD: varmod-assign.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-assign.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the obscure ::= variable modifiers, which perform variable
 # assignments during evaluation, just like the = operator in C.
 
 .if !make(target)
 
-all:   mod-assign-empty
-all:   mod-assign-parse
+all:   mod-assign-empty-{1,2,3}
+all:   mod-assign-parse-{1,2,3}
 all:   mod-assign-shell-error
 
 # In the following loop expression,
@@ -71,33 +71,38 @@ SINK4:=     ${0:?${THEN4::=then4${IT4::=t4}}
 .  error
 .endif
 
-mod-assign-empty:
+mod-assign-empty-1:
        # Assigning to the empty variable would obviously not work since that
-       # variable is write-protected.  Therefore it is rejected early with a
-       # "Bad modifier" message.
+       # variable is write-protected.
+# expect: make: Bad modifier ":"
        @echo $@: ${::=value}
 
+mod-assign-empty-2:
        # In this variant, it is not as obvious that the name of the
-       # expression is empty.  Assigning to it is rejected as well, with the
-       # same "Bad modifier" message.
+       # expression is empty.
+# expect: make: Bad modifier ":"
        @echo $@: ${:Uvalue::=overwritten}
 
+mod-assign-empty-3:
        # The :L modifier sets the value of the expression to its variable
        # name.  The name of the expression is "VAR", therefore assigning to
        # that variable works.
+# expect: mod-assign-empty-3: VAR=overwritten
        @echo $@: ${VAR:L::=overwritten} VAR=${VAR}
 
-mod-assign-parse:
+mod-assign-parse-1:
        # The modifier for assignment operators starts with a ':'.
        # An 'x' after that is an invalid modifier.
-       # expect: make: in target "mod-assign-parse": while evaluating variable "ASSIGN" with value "": Unknown modifier ":x"
+# expect: make: Unknown modifier ":x"
        @echo ${ASSIGN::x}
 
+mod-assign-parse-2:
        # When parsing an assignment operator fails because the operator is
        # incomplete, make falls back to the SysV modifier.
        @echo ${SYSV::=sysv\:x}${SYSV::x=:y}
 
-# expect: make: in target "mod-assign-parse": while evaluating variable "ASSIGN" with value "": Unfinished modifier ('}' missing)
+mod-assign-parse-3:
+# expect: make: Unfinished modifier ('}' missing)
        @echo ${ASSIGN::=value  # missing closing brace
 
 mod-assign-shell-error:
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-defined.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-defined.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-defined.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-defined.mk:1.1   Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-defined.mk       Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-defined.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-defined.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :D variable modifier, which returns the given string
 # if the variable is defined.  It is closely related to the :U modifier.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-exclam-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-exclam-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-exclam-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-exclam-shell.mk:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-exclam-shell.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-exclam-shell.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-exclam-shell.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :!cmd! variable modifier, which evaluates the modifier
 # argument, independent of the value or the name of the original variable.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-extension.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-extension.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-extension.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-extension.mk:1.1 Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-extension.mk     Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-extension.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-extension.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :E variable modifier, which returns the filename extension
 # of each word in the variable.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.exp:1.1   Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.exp       Tue Sep 17 11:52:34 2024
@@ -1,13 +1,18 @@
-make: "varmod-gmtime.mk" line 61: while evaluating "${:L:gmtime=-1} != """ with value "": Invalid time value "-1"
-make: "varmod-gmtime.mk" line 61: Malformed conditional (${:L:gmtime=-1} != "")
-make: "varmod-gmtime.mk" line 72: while evaluating "${:L:gmtime= 1} != """ with value "": Invalid time value " 1"
-make: "varmod-gmtime.mk" line 72: Malformed conditional (${:L:gmtime= 1} != "")
-make: "varmod-gmtime.mk" line 120: while evaluating "${:L:gmtime=10000000000000000000000000000000} != """ with value "": Invalid time value "10000000000000000000000000000000"
-make: "varmod-gmtime.mk" line 120: Malformed conditional (${:L:gmtime=10000000000000000000000000000000} != "")
-make: "varmod-gmtime.mk" line 133: while evaluating "${:L:gmtime=error} != """ with value "": Invalid time value "error"
-make: "varmod-gmtime.mk" line 133: Malformed conditional (${:L:gmtime=error} != "")
-make: "varmod-gmtime.mk" line 144: while evaluating variable "%Y" with value "%Y": Invalid time value "100000S,1970,bad,"
-make: "varmod-gmtime.mk" line 144: Malformed conditional (${%Y:L:gmtime=100000S,1970,bad,} != "bad")
+make: "varmod-gmtime.mk" line 61: Invalid time value "-1"
+       while evaluating "${:L:gmtime=-1} != """ with value ""
+make: "varmod-gmtime.mk" line 61: Malformed conditional '${:L:gmtime=-1} != ""'
+make: "varmod-gmtime.mk" line 72: Invalid time value " 1"
+       while evaluating "${:L:gmtime= 1} != """ with value ""
+make: "varmod-gmtime.mk" line 72: Malformed conditional '${:L:gmtime= 1} != ""'
+make: "varmod-gmtime.mk" line 120: Invalid time value "10000000000000000000000000000000"
+       while evaluating "${:L:gmtime=10000000000000000000000000000000} != """ with value ""
+make: "varmod-gmtime.mk" line 120: Malformed conditional '${:L:gmtime=10000000000000000000000000000000} != ""'
+make: "varmod-gmtime.mk" line 133: Invalid time value "error"
+       while evaluating "${:L:gmtime=error} != """ with value ""
+make: "varmod-gmtime.mk" line 133: Malformed conditional '${:L:gmtime=error} != ""'
+make: "varmod-gmtime.mk" line 144: Invalid time value "100000S,1970,bad,"
+       while evaluating variable "%Y" with value "%Y"
+make: "varmod-gmtime.mk" line 144: Malformed conditional '${%Y:L:gmtime=100000S,1970,bad,} != "bad"'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.mk:1.1    Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-gmtime.mk        Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-gmtime.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-gmtime.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :gmtime variable modifier, which formats a timestamp
 # using strftime(3) in UTC.
@@ -56,8 +56,8 @@
 # 1970.  Going back 50 years in the past is not a practical use case for
 # make.  Therefore, since var.c 1.631, negative time stamps produce a
 # parse error.
-# expect+2: while evaluating "${:L:gmtime=-1} != """ with value "": Invalid time value "-1"
-# expect+1: Malformed conditional (${:L:gmtime=-1} != "")
+# expect+2: Invalid time value "-1"
+# expect+1: Malformed conditional '${:L:gmtime=-1} != ""'
 .if ${:L:gmtime=-1} != ""
 .  error
 .else
@@ -67,8 +67,8 @@
 
 # Spaces were allowed before var.c 1.631 from 2020-10-31 21:40:20, not
 # because it would make sense but just as a side-effect from using strtoul.
-# expect+2: while evaluating "${:L:gmtime= 1} != """ with value "": Invalid time value " 1"
-# expect+1: Malformed conditional (${:L:gmtime= 1} != "")
+# expect+2: Invalid time value " 1"
+# expect+1: Malformed conditional '${:L:gmtime= 1} != ""'
 .if ${:L:gmtime= 1} != ""
 .  error
 .else
@@ -115,8 +115,8 @@
 #
 # Since var.c 1.631 from 2020-10-31, the overflow is detected and produces a
 # parse error.
-# expect+2: while evaluating "${:L:gmtime=10000000000000000000000000000000} != """ with value "": Invalid time value "10000000000000000000000000000000"
-# expect+1: Malformed conditional (${:L:gmtime=10000000000000000000000000000000} != "")
+# expect+2: Invalid time value "10000000000000000000000000000000"
+# expect+1: Malformed conditional '${:L:gmtime=10000000000000000000000000000000} != ""'
 .if ${:L:gmtime=10000000000000000000000000000000} != ""
 .  error
 .else
@@ -128,8 +128,8 @@
 # stopped after the '=', and the remaining string was parsed for more variable
 # modifiers.  Because of the unknown modifier 'e' from the 'error', the whole
 # variable value was discarded and thus not printed.
-# expect+2: while evaluating "${:L:gmtime=error} != """ with value "": Invalid time value "error"
-# expect+1: Malformed conditional (${:L:gmtime=error} != "")
+# expect+2: Invalid time value "error"
+# expect+1: Malformed conditional '${:L:gmtime=error} != ""'
 .if ${:L:gmtime=error} != ""
 .  error
 .else
@@ -139,8 +139,8 @@
 # Before var.c 1.1050 from 2023-05-09, the timestamp could be directly
 # followed by the next modifier, without a ':' separator.  This was the same
 # bug as for the ':L' and ':P' modifiers.
-# expect+2: while evaluating variable "%Y" with value "%Y": Invalid time value "100000S,1970,bad,"
-# expect+1: Malformed conditional (${%Y:L:gmtime=100000S,1970,bad,} != "bad")
+# expect+2: Invalid time value "100000S,1970,bad,"
+# expect+1: Malformed conditional '${%Y:L:gmtime=100000S,1970,bad,} != "bad"'
 .if ${%Y:L:gmtime=100000S,1970,bad,} != "bad"
 .  error
 .endif
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-hash.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-hash.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-hash.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-hash.exp:1.1     Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-hash.exp Tue Sep 17 11:52:34 2024
@@ -1,9 +1,12 @@
-make: in target "all": while evaluating variable "12345" with value "12345": Unknown modifier "has"
-
+make: Unknown modifier "has"
+       while evaluating variable "12345" with value "12345"
+       in target "step-1"
 26bb0f5f
 12345
-make: in target "all": while evaluating variable "12345" with value "12345": Unknown modifier "hasX"
-
-make: in target "all": while evaluating variable "12345" with value "12345": Unknown modifier "hashed"
-
+make: Unknown modifier "hasX"
+       while evaluating variable "12345" with value "12345"
+       in target "step-4"
+make: Unknown modifier "hashed"
+       while evaluating variable "12345" with value "12345"
+       in target "step-5"
 exit status 2
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-hash.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-hash.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-hash.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-hash.mk:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-hash.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-hash.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-hash.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :hash variable modifier, which computes a 32-bit hash from
 # the value of the expression.
@@ -56,9 +56,14 @@ VECTORS+=    de41416c abcdefghijklmnopqrstu
 .  endif
 .endfor
 
-all:
+all: step-{1,2,3,4,5}
+step-1:
        @echo ${12345:L:has}                    # modifier name too short
+step-2:
        @echo ${12345:L:hash}                   # ok
+step-3:
        @echo ${12345:L:hash=SHA-256}           # :hash does not accept '='
+step-4:
        @echo ${12345:L:hasX}                   # misspelled
+step-5:
        @echo ${12345:L:hashed}                 # modifier name too long
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-head.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-head.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-head.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-head.mk:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-head.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-head.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-head.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :H variable modifier, which returns the dirname of
 # each of the words in the variable value.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.exp:1.1   Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.exp       Tue Sep 17 11:52:34 2024
@@ -1,14 +1,19 @@
-make: "varmod-ifelse.mk" line 29: while evaluating condition "bare words == "literal"": Bad condition
-make: "varmod-ifelse.mk" line 29: Malformed conditional (${${:Ubare words} == "literal":?bad:bad})
-make: "varmod-ifelse.mk" line 40: while evaluating condition " == """: Bad condition
-make: "varmod-ifelse.mk" line 49: while evaluating condition " == """: Bad condition
-make: "varmod-ifelse.mk" line 49: Malformed conditional (${${UNDEF} == "":?bad-cond:bad-cond})
-make: "varmod-ifelse.mk" line 73: while evaluating condition "1 == == 2": Bad condition
-make: "varmod-ifelse.mk" line 73: Malformed conditional (${1 == == 2:?yes:no} != "")
+make: "varmod-ifelse.mk" line 29: Bad condition
+       while evaluating condition "bare words == "literal""
+make: "varmod-ifelse.mk" line 29: Malformed conditional '${${:Ubare words} == "literal":?bad:bad}'
+make: "varmod-ifelse.mk" line 40: Bad condition
+       while evaluating condition " == """
+make: "varmod-ifelse.mk" line 49: Bad condition
+       while evaluating condition " == """
+make: "varmod-ifelse.mk" line 49: Malformed conditional '${${UNDEF} == "":?bad-cond:bad-cond}'
+make: "varmod-ifelse.mk" line 73: Bad condition
+       while evaluating condition "1 == == 2"
+make: "varmod-ifelse.mk" line 73: Malformed conditional '${1 == == 2:?yes:no} != ""'
 CondParser_Eval: "${1 == == 2:?yes:no}" != ""
 CondParser_Eval: 1 == == 2
 Comparing 1.000000 == 0.000000
-make: "varmod-ifelse.mk" line 97: while evaluating condition "1 == == 2": Bad condition
+make: "varmod-ifelse.mk" line 97: Bad condition
+       while evaluating condition "1 == == 2"
 Comparing "" != ""
 make: "varmod-ifelse.mk" line 101: warning: Oops, the parse error should have been propagated.
 CondParser_Eval: ${ ${:U\$}{VAR} == value:?ok:bad} != "ok"
@@ -16,16 +21,21 @@ CondParser_Eval: ${VAR} == value
 Comparing "value" == "value"
 Comparing "ok" != "ok"
 make: "varmod-ifelse.mk" line 163: no.
-make: "varmod-ifelse.mk" line 167: while evaluating condition "string == "literal" || no >= 10": Comparison with '>=' requires both operands 'no' and '10' to be numeric
-make: "varmod-ifelse.mk" line 167: while evaluating condition "string == "literal" || no >= 10": Bad condition
+make: "varmod-ifelse.mk" line 167: Comparison with '>=' requires both operands 'no' and '10' to be numeric
+       while evaluating condition "string == "literal" || no >= 10"
+make: "varmod-ifelse.mk" line 167: Bad condition
+       while evaluating condition "string == "literal" || no >= 10"
 make: "varmod-ifelse.mk" line 167: .
-make: "varmod-ifelse.mk" line 174: while evaluating condition "string == "literal" &&  >= 10": Bad condition
+make: "varmod-ifelse.mk" line 174: Bad condition
+       while evaluating condition "string == "literal" &&  >= 10"
 make: "varmod-ifelse.mk" line 174: .
-make: "varmod-ifelse.mk" line 177: while evaluating condition "string == "literal" ||  >= 10": Bad condition
+make: "varmod-ifelse.mk" line 177: Bad condition
+       while evaluating condition "string == "literal" ||  >= 10"
 make: "varmod-ifelse.mk" line 177: .
 make: "varmod-ifelse.mk" line 185: <true>
 make: "varmod-ifelse.mk" line 188: <false>
-make: "varmod-ifelse.mk" line 192: while evaluating condition "        ": Bad condition
+make: "varmod-ifelse.mk" line 192: Bad condition
+       while evaluating condition "    "
 make: "varmod-ifelse.mk" line 192: <>
 CondParser_Eval: 0 && ${1:?${:Uthen0:S,}},,}:${:Uelse0:S,}},,}} != "not evaluated"
 CondParser_Eval: 1 && ${0:?${:Uthen1:S,}},,}:${:Uelse1:S,}},,}} != "else1"
@@ -46,8 +56,12 @@ make: "varmod-ifelse.mk" line 293: no
 CondParser_Eval: ${DELAYED} == "two"
 Comparing "two" == "two"
 make: "varmod-ifelse.mk" line 296: yes
-make: "varmod-ifelse.mk" line 318: while evaluating then-branch of condition "1": while evaluating "${:X-then}:${:X-else}}" with value "": Unknown modifier "X-then"
-make: "varmod-ifelse.mk" line 318: while evaluating else-branch of condition "1": while parsing "${:X-else}}": Unknown modifier "X-else"
+make: "varmod-ifelse.mk" line 318: Unknown modifier "X-then"
+       while evaluating "${:X-then}:${:X-else}}" with value ""
+       while evaluating then-branch of condition "1"
+make: "varmod-ifelse.mk" line 318: Unknown modifier "X-else"
+       while parsing "${:X-else}}"
+       while evaluating else-branch of condition "1"
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.mk:1.1    Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-ifelse.mk        Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-ifelse.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-ifelse.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the ${cond:?then:else} variable modifier, which evaluates either
 # the then-expression or the else-expression, depending on the condition.
@@ -24,8 +24,8 @@
 # Evaluating the variable name lazily would require additional code in
 # Var_Parse and ParseVarname, it would be more useful and predictable
 # though.
-# expect+2: while evaluating condition "bare words == "literal"": Bad condition
-# expect+1: Malformed conditional (${${:Ubare words} == "literal":?bad:bad})
+# expect+2: Bad condition
+# expect+1: Malformed conditional '${${:Ubare words} == "literal":?bad:bad}'
 .if ${${:Ubare words} == "literal":?bad:bad}
 .  error
 .else
@@ -36,7 +36,7 @@
 # Because of the early expansion, the whole condition evaluates to
 # ' == ""' though, which cannot be parsed because the left-hand side looks
 # empty.
-# expect+1: while evaluating condition " == """: Bad condition
+# expect+1: Bad condition
 COND:= ${${UNDEF} == "":?bad-assign:bad-assign}
 
 # In a condition, undefined variables generate a "Malformed conditional"
@@ -44,8 +44,8 @@ COND:=        ${${UNDEF} == "":?bad-assign:bad-
 # "Undefined variable" error message is generated.
 # The difference to the ':=' variable assignment is the additional
 # "Malformed conditional" error message.
-# expect+2: while evaluating condition " == """: Bad condition
-# expect+1: Malformed conditional (${${UNDEF} == "":?bad-cond:bad-cond})
+# expect+2: Bad condition
+# expect+1: Malformed conditional '${${UNDEF} == "":?bad-cond:bad-cond}'
 .if ${${UNDEF} == "":?bad-cond:bad-cond}
 .  error
 .else
@@ -68,8 +68,8 @@ COND:=        ${${UNDEF} == "":?bad-assign:bad-
 # conditional therefore returns a parse error from Var_Parse, and this parse
 # error propagates to CondEvalExpression, where the "Malformed conditional"
 # comes from.
-# expect+2: while evaluating condition "1 == == 2": Bad condition
-# expect+1: Malformed conditional (${1 == == 2:?yes:no} != "")
+# expect+2: Bad condition
+# expect+1: Malformed conditional '${1 == == 2:?yes:no} != ""'
 .if ${1 == == 2:?yes:no} != ""
 .  error
 .else
@@ -93,7 +93,7 @@ COND:=        ${${UNDEF} == "":?bad-assign:bad-
 # condition should be detected as being malformed before any comparison is
 # done since there is no well-formed comparison in the condition at all.
 .MAKEFLAGS: -dc
-# expect+1: while evaluating condition "1 == == 2": Bad condition
+# expect+1: Bad condition
 .if "${1 == == 2:?yes:no}" != ""
 .  error
 .else
@@ -161,18 +161,18 @@ STRING=           string
 NUMBER=                no              # not really a number
 # expect+1: no.
 .info ${${STRING} == "literal" && ${NUMBER} >= 10:?yes:no}.
-# expect+3: while evaluating condition "string == "literal" || no >= 10": Comparison with '>=' requires both operands 'no' and '10' to be numeric
-# expect+2: while evaluating condition "string == "literal" || no >= 10": Bad condition
+# expect+3: Comparison with '>=' requires both operands 'no' and '10' to be numeric
+# expect+2: Bad condition
 # expect+1: .
 .info ${${STRING} == "literal" || ${NUMBER} >= 10:?yes:no}.
 
 # The following situation occasionally occurs with MKINET6 or similar
 # variables.
 NUMBER=                # empty, not really a number either
-# expect+2: while evaluating condition "string == "literal" &&  >= 10": Bad condition
+# expect+2: Bad condition
 # expect+1: .
 .info ${${STRING} == "literal" && ${NUMBER} >= 10:?yes:no}.
-# expect+2: while evaluating condition "string == "literal" ||  >= 10": Bad condition
+# expect+2: Bad condition
 # expect+1: .
 .info ${${STRING} == "literal" || ${NUMBER} >= 10:?yes:no}.
 
@@ -187,7 +187,7 @@ EMPTY=              # empty
 # expect+1: <false>
 .info <${${ASTERISK}   :?true:false}>
 # syntax error since the condition is completely blank.
-# expect+2: while evaluating condition "       ": Bad condition
+# expect+2: Bad condition
 # expect+1: <>
 .info <${${EMPTY}      :?true:false}>
 
@@ -313,7 +313,7 @@ BOTH=       <${YES}> <${NO}>
 .endif
 
 
-# expect+2: while evaluating then-branch of condition "1": while evaluating "${:X-then}:${:X-else}}" with value "": Unknown modifier "X-then"
-# expect+1: while evaluating else-branch of condition "1": while parsing "${:X-else}}": Unknown modifier "X-else"
+# expect+2: Unknown modifier "X-then"
+# expect+1: Unknown modifier "X-else"
 .if ${1:?${:X-then}:${:X-else}}
 .endif
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.exp:1.1 Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.exp     Tue Sep 17 11:52:34 2024
@@ -1,5 +1,7 @@
-make: "varmod-indirect.mk" line 19: while evaluating variable "value" with value "value": Unknown modifier "${"
-make: "varmod-indirect.mk" line 52: while evaluating variable "value" with value "value": Unknown modifier "${"
+make: "varmod-indirect.mk" line 19: Unknown modifier "${"
+       while evaluating variable "value" with value "value"
+make: "varmod-indirect.mk" line 52: Unknown modifier "${"
+       while evaluating variable "value" with value "value"
 make: "varmod-indirect.mk" line 54: warning: FIXME: this expression should have resulted in a parse error rather than returning the unparsed portion of the expression.
 make: "varmod-indirect.mk" line 143: before
 make: "varmod-indirect.mk" line 143: after
@@ -7,7 +9,8 @@ make: "varmod-indirect.mk" line 151: bef
 make: "varmod-indirect.mk" line 151: after
 make: "varmod-indirect.mk" line 159: before
 make: "varmod-indirect.mk" line 159: after
-make: "varmod-indirect.mk" line 164: while evaluating variable "UNDEF" with value "": Unknown modifier "Z"
+make: "varmod-indirect.mk" line 164: Unknown modifier "Z"
+       while evaluating variable "UNDEF" with value ""
 make: "varmod-indirect.mk" line 167: before
 make: "varmod-indirect.mk" line 167: after
 Parsing line 176: _:=  before ${UNDEF} after
@@ -31,7 +34,8 @@ Parsing line 195: _:= before ${UNDEF:${:
 Var_Parse: ${UNDEF:${:UZ}} after (eval-keep-dollar-and-undefined)
 Indirect modifier "Z" from "${:UZ}"
 Evaluating modifier ${UNDEF:Z} on value "" (eval-keep-dollar-and-undefined, undefined)
-make: "varmod-indirect.mk" line 195: while evaluating variable "UNDEF" with value "": Unknown modifier "Z"
+make: "varmod-indirect.mk" line 195: Unknown modifier "Z"
+       while evaluating variable "UNDEF" with value ""
 Result of ${UNDEF:Z} is error (eval-keep-dollar-and-undefined, undefined)
 Global: _ = before ${UNDEF:Z} after
 Parsing line 197: .MAKEFLAGS: -d0
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.mk:1.1  Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-indirect.mk      Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-indirect.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-indirect.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for indirect variable modifiers, such as in ${VAR:${M_modifiers}}.
 # These can be used for very basic purposes like converting a string to either
@@ -15,7 +15,7 @@
 # The following expression generates a parse error since its indirect
 # modifier contains more than a sole expression.
 #
-# expect+1: while evaluating variable "value" with value "value": Unknown modifier "${"
+# expect+1: Unknown modifier "${"
 .if ${value:L:${:US}${:U,value,replacement,}} != "S,value,replacement,}"
 .  warning unexpected
 .endif
@@ -47,7 +47,7 @@
 # error.  Because of this parse error, this feature cannot be used reasonably
 # in practice.
 #
-# expect+2: while evaluating variable "value" with value "value": Unknown modifier "${"
+# expect+2: Unknown modifier "${"
 #.MAKEFLAGS: -dvc
 .if ${value:L:${:UM*}S,value,replaced,} == "M*S,value,replaced,}"
 # expect+1: warning: FIXME: this expression should have resulted in a parse error rather than returning the unparsed portion of the expression.
@@ -160,7 +160,7 @@ M_NoPrimes= ${PRIMES:${M_ListToSkip}}
 .endfor
 
 # An error in an indirect modifier.
-# expect+1: while evaluating variable "UNDEF" with value "": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 .for var in before ${UNDEF:${:UZ}} after
 # expect+2: before
 # expect+1: after
@@ -191,7 +191,7 @@ _:= before ${UNDEF:${:U}} after
 # XXX: This expands to ${UNDEF:Z}, which will behave differently if the
 # variable '_' is used in a context where the expression ${_} is
 # parsed but not evaluated.
-# expect+1: while evaluating variable "UNDEF" with value "": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 _:=    before ${UNDEF:${:UZ}} after
 
 .MAKEFLAGS: -d0
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-l-name-to-value.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-l-name-to-value.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-l-name-to-value.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-l-name-to-value.mk:1.1   Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-l-name-to-value.mk       Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-l-name-to-value.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-l-name-to-value.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :L modifier, which returns the variable name as the new value.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.exp:1.1        Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.exp    Tue Sep 17 11:52:34 2024
@@ -1,13 +1,18 @@
-make: "varmod-localtime.mk" line 61: while evaluating "${:L:localtime=-1} != """ with value "": Invalid time value "-1"
-make: "varmod-localtime.mk" line 61: Malformed conditional (${:L:localtime=-1} != "")
-make: "varmod-localtime.mk" line 72: while evaluating "${:L:localtime= 1} != """ with value "": Invalid time value " 1"
-make: "varmod-localtime.mk" line 72: Malformed conditional (${:L:localtime= 1} != "")
-make: "varmod-localtime.mk" line 120: while evaluating "${:L:localtime=10000000000000000000000000000000} != """ with value "": Invalid time value "10000000000000000000000000000000"
-make: "varmod-localtime.mk" line 120: Malformed conditional (${:L:localtime=10000000000000000000000000000000} != "")
-make: "varmod-localtime.mk" line 133: while evaluating "${:L:localtime=error} != """ with value "": Invalid time value "error"
-make: "varmod-localtime.mk" line 133: Malformed conditional (${:L:localtime=error} != "")
-make: "varmod-localtime.mk" line 144: while evaluating variable "%Y" with value "%Y": Invalid time value "100000S,1970,bad,"
-make: "varmod-localtime.mk" line 144: Malformed conditional (${%Y:L:localtime=100000S,1970,bad,} != "bad")
+make: "varmod-localtime.mk" line 61: Invalid time value "-1"
+       while evaluating "${:L:localtime=-1} != """ with value ""
+make: "varmod-localtime.mk" line 61: Malformed conditional '${:L:localtime=-1} != ""'
+make: "varmod-localtime.mk" line 72: Invalid time value " 1"
+       while evaluating "${:L:localtime= 1} != """ with value ""
+make: "varmod-localtime.mk" line 72: Malformed conditional '${:L:localtime= 1} != ""'
+make: "varmod-localtime.mk" line 120: Invalid time value "10000000000000000000000000000000"
+       while evaluating "${:L:localtime=10000000000000000000000000000000} != """ with value ""
+make: "varmod-localtime.mk" line 120: Malformed conditional '${:L:localtime=10000000000000000000000000000000} != ""'
+make: "varmod-localtime.mk" line 133: Invalid time value "error"
+       while evaluating "${:L:localtime=error} != """ with value ""
+make: "varmod-localtime.mk" line 133: Malformed conditional '${:L:localtime=error} != ""'
+make: "varmod-localtime.mk" line 144: Invalid time value "100000S,1970,bad,"
+       while evaluating variable "%Y" with value "%Y"
+make: "varmod-localtime.mk" line 144: Malformed conditional '${%Y:L:localtime=100000S,1970,bad,} != "bad"'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.mk:1.1 Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-localtime.mk     Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-localtime.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-localtime.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :localtime variable modifier, which formats a timestamp
 # using strftime(3) in local time.
@@ -56,8 +56,8 @@
 # 1970.  Going back 50 years in the past is not a practical use case for
 # make.  Therefore, since var.c 1.631, negative time stamps produce a
 # parse error.
-# expect+2: while evaluating "${:L:localtime=-1} != """ with value "": Invalid time value "-1"
-# expect+1: Malformed conditional (${:L:localtime=-1} != "")
+# expect+2: Invalid time value "-1"
+# expect+1: Malformed conditional '${:L:localtime=-1} != ""'
 .if ${:L:localtime=-1} != ""
 .  error
 .else
@@ -67,8 +67,8 @@
 
 # Spaces were allowed before var.c 1.631 from 2020-10-31 21:40:20, not
 # because it would make sense but just as a side-effect from using strtoul.
-# expect+2: while evaluating "${:L:localtime= 1} != """ with value "": Invalid time value " 1"
-# expect+1: Malformed conditional (${:L:localtime= 1} != "")
+# expect+2: Invalid time value " 1"
+# expect+1: Malformed conditional '${:L:localtime= 1} != ""'
 .if ${:L:localtime= 1} != ""
 .  error
 .else
@@ -115,8 +115,8 @@
 #
 # Since var.c 1.631 from 2020-10-31, the overflow is detected and produces a
 # parse error.
-# expect+2: while evaluating "${:L:localtime=10000000000000000000000000000000} != """ with value "": Invalid time value "10000000000000000000000000000000"
-# expect+1: Malformed conditional (${:L:localtime=10000000000000000000000000000000} != "")
+# expect+2: Invalid time value "10000000000000000000000000000000"
+# expect+1: Malformed conditional '${:L:localtime=10000000000000000000000000000000} != ""'
 .if ${:L:localtime=10000000000000000000000000000000} != ""
 .  error
 .else
@@ -128,8 +128,8 @@
 # stopped after the '=', and the remaining string was parsed for more variable
 # modifiers.  Because of the unknown modifier 'e' from the 'error', the whole
 # variable value was discarded and thus not printed.
-# expect+2: while evaluating "${:L:localtime=error} != """ with value "": Invalid time value "error"
-# expect+1: Malformed conditional (${:L:localtime=error} != "")
+# expect+2: Invalid time value "error"
+# expect+1: Malformed conditional '${:L:localtime=error} != ""'
 .if ${:L:localtime=error} != ""
 .  error
 .else
@@ -139,8 +139,8 @@
 # Before var.c 1.1050 from 2023-05-09, the timestamp could be directly
 # followed by the next modifier, without a ':' separator.  This was the same
 # bug as for the ':L' and ':P' modifiers.
-# expect+2: while evaluating variable "%Y" with value "%Y": Invalid time value "100000S,1970,bad,"
-# expect+1: Malformed conditional (${%Y:L:localtime=100000S,1970,bad,} != "bad")
+# expect+2: Invalid time value "100000S,1970,bad,"
+# expect+1: Malformed conditional '${%Y:L:localtime=100000S,1970,bad,} != "bad"'
 .if ${%Y:L:localtime=100000S,1970,bad,} != "bad"
 .  error
 .endif
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.exp:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.exp  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,6 @@
-make: "varmod-loop-delete.mk" line 20: while evaluating variable "VAR" with value "${:U:@VAR@@} rest of the value": while evaluating "${:U:@VAR@@} rest of the value" with value "": Cannot delete 
variable "VAR" while it is used
+make: "varmod-loop-delete.mk" line 20: Cannot delete variable "VAR" while it is used
+       while evaluating "${:U:@VAR@@} rest of the value" with value ""
+       while evaluating variable "VAR" with value "${:U:@VAR@@} rest of the value"
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.mk:1.1       Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-loop-delete.mk   Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-loop-delete.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-loop-delete.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the variable modifier ':@', which as a side effect allows to
 # delete an arbitrary variable.
@@ -16,7 +16,7 @@ VAR=  ${:U:@VAR@@} rest of the value
 
 # In an assignment, the scope is 'Global'.  Since the variable 'VAR' is
 # defined in the global scope, it deletes itself.
-# expect+1: while evaluating variable "VAR" with value "${:U:@VAR@@} rest of the value": while evaluating "${:U:@VAR@@} rest of the value" with value "": Cannot delete variable "VAR" while it is used
+# expect+1: Cannot delete variable "VAR" while it is used
 EVAL:= ${VAR}
 .if ${EVAL} != " rest of the value"
 .  error
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.exp:1.1     Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.exp Tue Sep 17 11:52:34 2024
@@ -1,11 +1,15 @@
-make: "varmod-loop-varname.mk" line 18: while evaluating "${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+"" with value "one two three": In the :@ modifier, the variable name 
"${:Ubar:S,b,v,}" must not contain a dollar
-make: "varmod-loop-varname.mk" line 18: Malformed conditional (${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+")
-make: "varmod-loop-varname.mk" line 89: while evaluating variable "1 2 3" with value "1 2 3": In the :@ modifier, the variable name "v$" must not contain a dollar
-make: "varmod-loop-varname.mk" line 89: Malformed conditional (${1 2 3:L:@v$@($v)@} != "(1) (2) (3)")
-make: "varmod-loop-varname.mk" line 96: while evaluating variable "1 2 3" with value "1 2 3": In the :@ modifier, the variable name "v$$" must not contain a dollar
-make: "varmod-loop-varname.mk" line 96: Malformed conditional (${1 2 3:L:@v$$@($v)@} != "() () ()")
-make: "varmod-loop-varname.mk" line 103: while evaluating variable "1 2 3" with value "1 2 3": In the :@ modifier, the variable name "v$$$" must not contain a dollar
-make: "varmod-loop-varname.mk" line 103: Malformed conditional (${1 2 3:L:@v$$$@($v)@} != "() () ()")
+make: "varmod-loop-varname.mk" line 18: In the :@ modifier, the variable name "${:Ubar:S,b,v,}" must not contain a dollar
+       while evaluating "${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+"" with value "one two three"
+make: "varmod-loop-varname.mk" line 18: Malformed conditional '${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+"'
+make: "varmod-loop-varname.mk" line 89: In the :@ modifier, the variable name "v$" must not contain a dollar
+       while evaluating variable "1 2 3" with value "1 2 3"
+make: "varmod-loop-varname.mk" line 89: Malformed conditional '${1 2 3:L:@v$@($v)@} != "(1) (2) (3)"'
+make: "varmod-loop-varname.mk" line 96: In the :@ modifier, the variable name "v$$" must not contain a dollar
+       while evaluating variable "1 2 3" with value "1 2 3"
+make: "varmod-loop-varname.mk" line 96: Malformed conditional '${1 2 3:L:@v$$@($v)@} != "() () ()"'
+make: "varmod-loop-varname.mk" line 103: In the :@ modifier, the variable name "v$$$" must not contain a dollar
+       while evaluating variable "1 2 3" with value "1 2 3"
+make: "varmod-loop-varname.mk" line 103: Malformed conditional '${1 2 3:L:@v$$$@($v)@} != "() () ()"'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.mk:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-loop-varname.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-loop-varname.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-loop-varname.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the first part of the variable modifier ':@var@...@', which
 # contains the variable name to use during the loop.
@@ -13,8 +13,8 @@
 # dynamically.  There was no practical use-case for this.
 # Since var.c 1.907 from 2021-04-04, a '$' is no longer allowed in the
 # variable name.
-# expect+2: while evaluating "${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+"" with value "one two three": In the :@ modifier, the variable name "${:Ubar:S,b,v,}" must not 
contain a dollar
-# expect+1: Malformed conditional (${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+")
+# expect+2: In the :@ modifier, the variable name "${:Ubar:S,b,v,}" must not contain a dollar
+# expect+1: Malformed conditional '${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+"'
 .if ${:Uone two three:@${:Ubar:S,b,v,}@+${var}+@} != "+one+ +two+ +three+"
 .  error
 .else
@@ -84,22 +84,22 @@ RES3=               3
 # There's no point in allowing a dollar sign in that position.
 # Since var.c 1.907 from 2021-04-04, a '$' is no longer allowed in the
 # variable name.
-# expect+2: while evaluating variable "1 2 3" with value "1 2 3": In the :@ modifier, the variable name "v$" must not contain a dollar
-# expect+1: Malformed conditional (${1 2 3:L:@v$@($v)@} != "(1) (2) (3)")
+# expect+2: In the :@ modifier, the variable name "v$" must not contain a dollar
+# expect+1: Malformed conditional '${1 2 3:L:@v$@($v)@} != "(1) (2) (3)"'
 .if ${1 2 3:L:@v$@($v)@} != "(1) (2) (3)"
 .  error
 .else
 .  error
 .endif
-# expect+2: while evaluating variable "1 2 3" with value "1 2 3": In the :@ modifier, the variable name "v$$" must not contain a dollar
-# expect+1: Malformed conditional (${1 2 3:L:@v$$@($v)@} != "() () ()")
+# expect+2: In the :@ modifier, the variable name "v$$" must not contain a dollar
+# expect+1: Malformed conditional '${1 2 3:L:@v$$@($v)@} != "() () ()"'
 .if ${1 2 3:L:@v$$@($v)@} != "() () ()"
 .  error
 .else
 .  error
 .endif
-# expect+2: while evaluating variable "1 2 3" with value "1 2 3": In the :@ modifier, the variable name "v$$$" must not contain a dollar
-# expect+1: Malformed conditional (${1 2 3:L:@v$$$@($v)@} != "() () ()")
+# expect+2: In the :@ modifier, the variable name "v$$$" must not contain a dollar
+# expect+1: Malformed conditional '${1 2 3:L:@v$$$@($v)@} != "() () ()"'
 .if ${1 2 3:L:@v$$$@($v)@} != "() () ()"
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-loop.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-loop.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-loop.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-loop.mk:1.1      Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-loop.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-loop.mk,v 1.1 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmod-loop.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the expression modifier ':@var@body@', which replaces each word of
 # the expression with the expanded body, which may contain references to the
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.exp:1.1     Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.exp Tue Sep 17 11:52:34 2024
@@ -33,10 +33,13 @@ Comparing ":" != "::"
 make: "varmod-match-escape.mk" line 43: warning: XXX: Oops
 Global: .MAKEFLAGS =  -r -k -d cv -d
 Global: .MAKEFLAGS =  -r -k -d cv -d 0
-make: "varmod-match-escape.mk" line 69: while evaluating "${:U\$:M\$} != """ with value "$": Dollar followed by nothing
-make: "varmod-match-escape.mk" line 110: while evaluating variable "WORDS" with value "A A] A]] B B] B]] ] ]] ]]] a a] a]]": Unfinished character list in pattern '[A-]' of modifier ':M'
+make: "varmod-match-escape.mk" line 69: Dollar followed by nothing
+       while evaluating "${:U\$:M\$} != """ with value "$"
+make: "varmod-match-escape.mk" line 110: Unfinished character list in pattern '[A-]' of modifier ':M'
+       while evaluating variable "WORDS" with value "A A] A]] B B] B]] ] ]] ]]] a a] a]]"
        in .for loop from varmod-match-escape.mk:107 with pattern = [A-]
-make: "varmod-match-escape.mk" line 110: while evaluating variable "WORDS" with value "A A] A]] B B] B]] ] ]] ]]] a a] a]]": Unfinished character list in pattern '[^A-]' of modifier ':M'
+make: "varmod-match-escape.mk" line 110: Unfinished character list in pattern '[^A-]' of modifier ':M'
+       while evaluating variable "WORDS" with value "A A] A]] B B] B]] ] ]] ]]] a a] a]]"
        in .for loop from varmod-match-escape.mk:107 with pattern = [^A-]
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.mk:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-match-escape.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-match-escape.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-match-escape.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # As of 2020-08-01, the :M and :N modifiers interpret backslashes differently,
 # depending on whether there was an expression somewhere before the
@@ -65,7 +65,7 @@ VALUES=               : :: :\:
 
 # In lint mode, the case of a lonely '$' is covered with an error message.
 .MAKEFLAGS: -dL
-# expect+1: while evaluating "${:U\$:M\$} != """ with value "$": Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${:U\$:M\$} != ""
 .  error
 .endif
@@ -105,8 +105,8 @@ EXP.[^A-]]= a
 EXP.[^A-]]]=   a]
 
 .for pattern in [A-] [A-]] [A-]]] [^A-] [^A-]] [^A-]]]
-# expect+2: while evaluating variable "WORDS" with value "A A] A]] B B] B]] ] ]] ]]] a a] a]]": Unfinished character list in pattern '[A-]' of modifier ':M'
-# expect+1: while evaluating variable "WORDS" with value "A A] A]] B B] B]] ] ]] ]]] a a] a]]": Unfinished character list in pattern '[^A-]' of modifier ':M'
+# expect+2: Unfinished character list in pattern '[A-]' of modifier ':M'
+# expect+1: Unfinished character list in pattern '[^A-]' of modifier ':M'
 .  if ${WORDS:M${pattern}} != ${EXP.${pattern}}
 .    warning ${pattern}: ${WORDS:M${pattern}} != ${EXP.${pattern}}
 .  endif
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-match.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-match.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-match.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-match.exp:1.1    Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-match.exp        Tue Sep 17 11:52:34 2024
@@ -1,14 +1,24 @@
-make: "varmod-match.mk" line 289: while evaluating variable "WORDS" with value "a a[": Unfinished character list in pattern 'a[' of modifier ':M'
-make: "varmod-match.mk" line 297: while evaluating variable "WORDS" with value "a a[ aX": Unfinished character list in pattern 'a[^' of modifier ':M'
-make: "varmod-match.mk" line 305: while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 [x1-3": Unfinished character list in pattern '[-x1-3' of modifier ':M'
-make: "varmod-match.mk" line 313: while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 00 01 10 11 000 001 010 011 100 101 110 111 [x1-3": Unfinished character list in pattern '*[-x1-3' 
of modifier ':M'
-make: "varmod-match.mk" line 322: while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 [x1-3": Unfinished character list in pattern '[^-x1-3' of modifier ':M'
-make: "varmod-match.mk" line 336: while evaluating variable "WORDS" with value "\\ \a x\": Unfinished character list in pattern '?[\' of modifier ':M'
-make: "varmod-match.mk" line 344: while evaluating variable "WORDS" with value "[x- x x- y": Unfinished character range in pattern '[x-' of modifier ':M'
-make: "varmod-match.mk" line 356: while evaluating variable "WORDS" with value "[x- x x- y yyyyy": Unfinished character range in pattern '[^x-' of modifier ':M'
-make: "varmod-match.mk" line 364: while evaluating variable " : :: " with value " : :: ": Unfinished character list in pattern '[' of modifier ':M'
-make: "varmod-match.mk" line 364: while evaluating variable " : :: " with value "": Unknown modifier "]"
-make: "varmod-match.mk" line 364: Malformed conditional (${ ${:U\:} ${:U\:\:} :L:M[:]} != ":")
+make: "varmod-match.mk" line 289: Unfinished character list in pattern 'a[' of modifier ':M'
+       while evaluating variable "WORDS" with value "a a["
+make: "varmod-match.mk" line 297: Unfinished character list in pattern 'a[^' of modifier ':M'
+       while evaluating variable "WORDS" with value "a a[ aX"
+make: "varmod-match.mk" line 305: Unfinished character list in pattern '[-x1-3' of modifier ':M'
+       while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 [x1-3"
+make: "varmod-match.mk" line 313: Unfinished character list in pattern '*[-x1-3' of modifier ':M'
+       while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 00 01 10 11 000 001 010 011 100 101 110 111 [x1-3"
+make: "varmod-match.mk" line 322: Unfinished character list in pattern '[^-x1-3' of modifier ':M'
+       while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 [x1-3"
+make: "varmod-match.mk" line 336: Unfinished character list in pattern '?[\' of modifier ':M'
+       while evaluating variable "WORDS" with value "\\ \a x\"
+make: "varmod-match.mk" line 344: Unfinished character range in pattern '[x-' of modifier ':M'
+       while evaluating variable "WORDS" with value "[x- x x- y"
+make: "varmod-match.mk" line 356: Unfinished character range in pattern '[^x-' of modifier ':M'
+       while evaluating variable "WORDS" with value "[x- x x- y yyyyy"
+make: "varmod-match.mk" line 364: Unfinished character list in pattern '[' of modifier ':M'
+       while evaluating variable " : :: " with value " : :: "
+make: "varmod-match.mk" line 364: Unknown modifier "]"
+       while evaluating variable " : :: " with value ""
+make: "varmod-match.mk" line 364: Malformed conditional '${ ${:U\:} ${:U\:\:} :L:M[:]} != ":"'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-match.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-match.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-match.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-match.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-match.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-match.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-match.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the ':M' modifier, which keeps only those words that match the
 # given pattern.
@@ -285,7 +285,7 @@ ${:U*}=             asterisk
 
 #      [       Incomplete empty character list, never matches.
 WORDS=         a a[
-# expect+1: while evaluating variable "WORDS" with value "a a[": Unfinished character list in pattern 'a[' of modifier ':M'
+# expect+1: Unfinished character list in pattern 'a[' of modifier ':M'
 .if ${WORDS:Ma[} != ""
 .  error
 .endif
@@ -293,7 +293,7 @@ WORDS=              a a[
 #      [^      Incomplete negated empty character list, matches any single
 #              character.
 WORDS=         a a[ aX
-# expect+1: while evaluating variable "WORDS" with value "a a[ aX": Unfinished character list in pattern 'a[^' of modifier ':M'
+# expect+1: Unfinished character list in pattern 'a[^' of modifier ':M'
 .if ${WORDS:Ma[^} != "a[ aX"
 .  error
 .endif
@@ -301,7 +301,7 @@ WORDS=              a a[ aX
 #      [-x1-3  Incomplete character list, matches those elements that can be
 #              parsed without lookahead.
 WORDS=         - + x xx 0 1 2 3 4 [x1-3
-# expect+1: while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 [x1-3": Unfinished character list in pattern '[-x1-3' of modifier ':M'
+# expect+1: Unfinished character list in pattern '[-x1-3' of modifier ':M'
 .if ${WORDS:M[-x1-3} != "- x 1 2 3"
 .  error
 .endif
@@ -309,7 +309,7 @@ WORDS=              - + x xx 0 1 2 3 4 [x1-3
 #      *[-x1-3 Incomplete character list after a wildcard, matches those
 #              words that end with one of the characters from the list.
 WORDS=         - + x xx 0 1 2 3 4 00 01 10 11 000 001 010 011 100 101 110 111 [x1-3
-# expect+1: while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 00 01 10 11 000 001 010 011 100 101 110 111 [x1-3": Unfinished character list in pattern '*[-x1-3' of modifier ':M'
+# expect+1: Unfinished character list in pattern '*[-x1-3' of modifier ':M'
 .if ${WORDS:M*[-x1-3} != "- x xx 1 2 3 01 11 001 011 101 111 [x1-3"
 .  warning ${WORDS:M*[-x1-3}
 .endif
@@ -318,7 +318,7 @@ WORDS=              - + x xx 0 1 2 3 4 00 01 10 11 0
 #              Incomplete negated character list, matches any character
 #              except those elements that can be parsed without lookahead.
 WORDS=         - + x xx 0 1 2 3 4 [x1-3
-# expect+1: while evaluating variable "WORDS" with value "- + x xx 0 1 2 3 4 [x1-3": Unfinished character list in pattern '[^-x1-3' of modifier ':M'
+# expect+1: Unfinished character list in pattern '[^-x1-3' of modifier ':M'
 .if ${WORDS:M[^-x1-3} != "+ 0 4"
 .  error
 .endif
@@ -332,7 +332,7 @@ WORDS=              - + x xx 0 1 2 3 4 [x1-3
 #              '\', as there is no following space that could be escaped.
 WORDS=         \\ \a ${:Ux\\}
 PATTERN=       ${:U?[\\}
-# expect+1: while evaluating variable "WORDS" with value "\\ \a x\": Unfinished character list in pattern '?[\' of modifier ':M'
+# expect+1: Unfinished character list in pattern '?[\' of modifier ':M'
 .if ${WORDS:M${PATTERN}} != "\\\\ x\\"
 .  error
 .endif
@@ -340,7 +340,7 @@ PATTERN=    ${:U?[\\}
 #      [x-     Incomplete character list containing an incomplete character
 #              range, matches only the 'x'.
 WORDS=         [x- x x- y
-# expect+1: while evaluating variable "WORDS" with value "[x- x x- y": Unfinished character range in pattern '[x-' of modifier ':M'
+# expect+1: Unfinished character range in pattern '[x-' of modifier ':M'
 .if ${WORDS:M[x-} != "x"
 .  error
 .endif
@@ -352,15 +352,15 @@ WORDS=            [x- x x- y
 #              XXX: Even matches strings that are longer than a single
 #              character.
 WORDS=         [x- x x- y yyyyy
-# expect+1: while evaluating variable "WORDS" with value "[x- x x- y yyyyy": Unfinished character range in pattern '[^x-' of modifier ':M'
+# expect+1: Unfinished character range in pattern '[^x-' of modifier ':M'
 .if ${WORDS:M[^x-} != "[x- y yyyyy"
 .  error
 .endif
 
 #      [:]     matches never since the ':' starts the next modifier
-# expect+3: while evaluating variable " : :: " with value " : :: ": Unfinished character list in pattern '[' of modifier ':M'
-# expect+2: while evaluating variable " : :: " with value "": Unknown modifier "]"
-# expect+1: Malformed conditional (${ ${:U\:} ${:U\:\:} :L:M[:]} != ":")
+# expect+3: Unfinished character list in pattern '[' of modifier ':M'
+# expect+2: Unknown modifier "]"
+# expect+1: Malformed conditional '${ ${:U\:} ${:U\:\:} :L:M[:]} != ":"'
 .if ${ ${:U\:} ${:U\:\:} :L:M[:]} != ":"
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.exp:1.1    Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.exp        Tue Sep 17 11:52:34 2024
@@ -1,14 +1,20 @@
-make: "varmod-mtime.mk" line 47: while evaluating variable "no/such/file" with value "no/such/file": Invalid argument '123x' for modifier ':mtime'
-make: "varmod-mtime.mk" line 47: Malformed conditional (${no/such/file:L:mtime=123x})
-make: "varmod-mtime.mk" line 70: while evaluating variable "no/such/file1 no/such/file2" with value "no/such/file1 no/such/file2": Cannot determine mtime for 'no/such/file1': <ENOENT>
-make: "varmod-mtime.mk" line 70: while evaluating variable "no/such/file1 no/such/file2" with value "no/such/file1 no/such/file2": Cannot determine mtime for 'no/such/file2': <ENOENT>
-make: "varmod-mtime.mk" line 70: Malformed conditional (${no/such/file1 no/such/file2:L:mtime=error})
-make: "varmod-mtime.mk" line 81: while evaluating variable "MAKEFILE" with value "varmod-mtime.mk": Invalid argument 'errorhandler-no' for modifier ':mtime'
-make: "varmod-mtime.mk" line 81: Malformed conditional (${MAKEFILE:mtime=errorhandler-no} > 0)
-make: "varmod-mtime.mk" line 90: while evaluating variable "MAKEFILE" with value "varmod-mtime.mk": Invalid argument 'warn' for modifier ':mtime'
-make: "varmod-mtime.mk" line 90: Malformed conditional (${MAKEFILE:mtime=warn} > 0)
-make: "varmod-mtime.mk" line 115: while evaluating variable "anything" with value "anything": Unknown modifier "mtim"
-make: "varmod-mtime.mk" line 115: Malformed conditional (${anything:L:mtim})
+make: "varmod-mtime.mk" line 47: Invalid argument '123x' for modifier ':mtime'
+       while evaluating variable "no/such/file" with value "no/such/file"
+make: "varmod-mtime.mk" line 47: Malformed conditional '${no/such/file:L:mtime=123x}'
+make: "varmod-mtime.mk" line 70: Cannot determine mtime for 'no/such/file1': <ENOENT>
+       while evaluating variable "no/such/file1 no/such/file2" with value "no/such/file1 no/such/file2"
+make: "varmod-mtime.mk" line 70: Cannot determine mtime for 'no/such/file2': <ENOENT>
+       while evaluating variable "no/such/file1 no/such/file2" with value "no/such/file1 no/such/file2"
+make: "varmod-mtime.mk" line 70: Malformed conditional '${no/such/file1 no/such/file2:L:mtime=error}'
+make: "varmod-mtime.mk" line 81: Invalid argument 'errorhandler-no' for modifier ':mtime'
+       while evaluating variable "MAKEFILE" with value "varmod-mtime.mk"
+make: "varmod-mtime.mk" line 81: Malformed conditional '${MAKEFILE:mtime=errorhandler-no} > 0'
+make: "varmod-mtime.mk" line 90: Invalid argument 'warn' for modifier ':mtime'
+       while evaluating variable "MAKEFILE" with value "varmod-mtime.mk"
+make: "varmod-mtime.mk" line 90: Malformed conditional '${MAKEFILE:mtime=warn} > 0'
+make: "varmod-mtime.mk" line 115: Unknown modifier "mtim"
+       while evaluating variable "anything" with value "anything"
+make: "varmod-mtime.mk" line 115: Malformed conditional '${anything:L:mtim}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-mtime.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-mtime.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-mtime.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the ':mtime' variable modifier, which maps each word of the
 # expression to that file's modification time.
@@ -42,8 +42,8 @@ not_found_mtime:=     ${no/such/file:L:mtime
 
 
 # The fallback timestamp must only be an integer, without trailing characters.
-# expect+2: while evaluating variable "no/such/file" with value "no/such/file": Invalid argument '123x' for modifier ':mtime'
-# expect+1: Malformed conditional (${no/such/file:L:mtime=123x})
+# expect+2: Invalid argument '123x' for modifier ':mtime'
+# expect+1: Malformed conditional '${no/such/file:L:mtime=123x}'
 .if ${no/such/file:L:mtime=123x}
 .  error
 .else
@@ -64,9 +64,9 @@ _!=   rm -f ${COOKIE}
 # If the optional argument of the ':mtime' modifier is the word 'error', the
 # modifier fails with an error message, once for each affected file.
 #
-# expect+3: while evaluating variable "no/such/file1 no/such/file2" with value "no/such/file1 no/such/file2": Cannot determine mtime for 'no/such/file1': <ENOENT>
-# expect+2: while evaluating variable "no/such/file1 no/such/file2" with value "no/such/file1 no/such/file2": Cannot determine mtime for 'no/such/file2': <ENOENT>
-# expect+1: Malformed conditional (${no/such/file1 no/such/file2:L:mtime=error})
+# expect+3: Cannot determine mtime for 'no/such/file1': <ENOENT>
+# expect+2: Cannot determine mtime for 'no/such/file2': <ENOENT>
+# expect+1: Malformed conditional '${no/such/file1 no/such/file2:L:mtime=error}'
 .if ${no/such/file1 no/such/file2:L:mtime=error}
 .  error
 .else
@@ -76,8 +76,8 @@ _!=   rm -f ${COOKIE}
 
 # Only the word 'error' is a special argument to the ':mtime' modifier, all
 # other words result in a parse error.
-# expect+2: while evaluating variable "MAKEFILE" with value "varmod-mtime.mk": Invalid argument 'errorhandler-no' for modifier ':mtime'
-# expect+1: Malformed conditional (${MAKEFILE:mtime=errorhandler-no} > 0)
+# expect+2: Invalid argument 'errorhandler-no' for modifier ':mtime'
+# expect+1: Malformed conditional '${MAKEFILE:mtime=errorhandler-no} > 0'
 .if ${MAKEFILE:mtime=errorhandler-no} > 0
 .else
 .  error
@@ -85,8 +85,8 @@ _!=   rm -f ${COOKIE}
 
 
 # Only the word 'error' can be used as a fallback argument to the modifier.
-# expect+2: while evaluating variable "MAKEFILE" with value "varmod-mtime.mk": Invalid argument 'warn' for modifier ':mtime'
-# expect+1: Malformed conditional (${MAKEFILE:mtime=warn} > 0)
+# expect+2: Invalid argument 'warn' for modifier ':mtime'
+# expect+1: Malformed conditional '${MAKEFILE:mtime=warn} > 0'
 .if ${MAKEFILE:mtime=warn} > 0
 .  error
 .else
@@ -110,8 +110,8 @@ end:=       ${%s:L:gmtime}
 
 
 # If there is a typo in the modifier name, it does not match.
-# expect+2: while evaluating variable "anything" with value "anything": Unknown modifier "mtim"
-# expect+1: Malformed conditional (${anything:L:mtim})
+# expect+2: Unknown modifier "mtim"
+# expect+1: Malformed conditional '${anything:L:mtim}'
 .if ${anything:L:mtim}
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-no-match.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-no-match.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-no-match.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-no-match.mk:1.1  Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-no-match.mk      Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-no-match.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-no-match.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the expression modifier ':N', which filters words that do not
 # match the given pattern.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-order-numeric.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-order-numeric.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-order-numeric.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-order-numeric.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-order-numeric.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-order-numeric.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-order-numeric.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the variable modifiers ':On', which returns the words, sorted in
 # ascending numeric order, and for ':Orn' and ':Onr', which additionally
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-order-reverse.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-order-reverse.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-order-reverse.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-order-reverse.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-order-reverse.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-order-reverse.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-order-reverse.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :Or variable modifier, which returns the words, sorted in
 # descending order.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-order-shuffle.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-order-shuffle.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-order-shuffle.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-order-shuffle.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-order-shuffle.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-order-shuffle.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-order-shuffle.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :Ox variable modifier, which returns the words of the
 # variable, shuffled.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-order-string.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-order-string.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-order-string.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-order-string.mk:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-order-string.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-order-string.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-order-string.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :O variable modifier, which returns the words, sorted in
 # ascending order.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-order.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-order.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-order.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-order.exp:1.1    Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-order.exp        Tue Sep 17 11:52:34 2024
@@ -1,26 +1,37 @@
-make: "varmod-order.mk" line 17: while evaluating variable "WORDS" with value "one two three four five six seven eight nine ten": Bad modifier ":OX"
-make: "varmod-order.mk" line 17: Undefined variable "${WORDS:OX"
-make: "varmod-order.mk" line 23: while evaluating variable "WORDS" with value "one two three four five six seven eight nine ten": Bad modifier ":OxXX"
-make: "varmod-order.mk" line 23: Undefined variable "${WORDS:Ox"
-make: "varmod-order.mk" line 27: while evaluating variable "WORDS" with value "eight five four nine one seven six ten three two": Unclosed expression, expecting '}' for modifier "O"
-make: "varmod-order.mk" line 29: while evaluating variable "NUMBERS" with value "1 2 3 4 5 6 7 8 9 10": Unclosed expression, expecting '}' for modifier "On"
-make: "varmod-order.mk" line 31: while evaluating variable "NUMBERS" with value "10 9 8 7 6 5 4 3 2 1": Unclosed expression, expecting '}' for modifier "Onr"
-make: "varmod-order.mk" line 38: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Oxn"
-make: "varmod-order.mk" line 38: Malformed conditional (${NUMBERS:Oxn})
-make: "varmod-order.mk" line 48: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":On_typo"
-make: "varmod-order.mk" line 48: Malformed conditional (${NUMBERS:On_typo})
-make: "varmod-order.mk" line 58: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Onr_typo"
-make: "varmod-order.mk" line 58: Malformed conditional (${NUMBERS:Onr_typo})
-make: "varmod-order.mk" line 68: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Orn_typo"
-make: "varmod-order.mk" line 68: Malformed conditional (${NUMBERS:Orn_typo})
-make: "varmod-order.mk" line 80: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Onn"
-make: "varmod-order.mk" line 80: Malformed conditional (${NUMBERS:Onn})
-make: "varmod-order.mk" line 90: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Onrr"
-make: "varmod-order.mk" line 90: Malformed conditional (${NUMBERS:Onrr})
-make: "varmod-order.mk" line 100: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Orrn"
-make: "varmod-order.mk" line 100: Malformed conditional (${NUMBERS:Orrn})
-make: "varmod-order.mk" line 115: while evaluating variable "SWITCH" with value "On": Bad modifier ":On=Off"
-make: "varmod-order.mk" line 115: Malformed conditional (${SWITCH:On=Off} != "Off")
+make: "varmod-order.mk" line 14: Bad modifier ":OX"
+       while evaluating variable "WORDS" with value "one two three four five six seven eight nine ten"
+make: "varmod-order.mk" line 17: Bad modifier ":OxXX"
+       while evaluating variable "WORDS" with value "one two three four five six seven eight nine ten"
+make: "varmod-order.mk" line 20: Unclosed expression, expecting '}' for modifier "O"
+       while evaluating variable "WORDS" with value "eight five four nine one seven six ten three two"
+make: "varmod-order.mk" line 22: Unclosed expression, expecting '}' for modifier "On"
+       while evaluating variable "NUMBERS" with value "1 2 3 4 5 6 7 8 9 10"
+make: "varmod-order.mk" line 24: Unclosed expression, expecting '}' for modifier "Onr"
+       while evaluating variable "NUMBERS" with value "10 9 8 7 6 5 4 3 2 1"
+make: "varmod-order.mk" line 31: Bad modifier ":Oxn"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 31: Malformed conditional '${NUMBERS:Oxn}'
+make: "varmod-order.mk" line 41: Bad modifier ":On_typo"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 41: Malformed conditional '${NUMBERS:On_typo}'
+make: "varmod-order.mk" line 51: Bad modifier ":Onr_typo"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 51: Malformed conditional '${NUMBERS:Onr_typo}'
+make: "varmod-order.mk" line 61: Bad modifier ":Orn_typo"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 61: Malformed conditional '${NUMBERS:Orn_typo}'
+make: "varmod-order.mk" line 73: Bad modifier ":Onn"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 73: Malformed conditional '${NUMBERS:Onn}'
+make: "varmod-order.mk" line 83: Bad modifier ":Onrr"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 83: Malformed conditional '${NUMBERS:Onrr}'
+make: "varmod-order.mk" line 93: Bad modifier ":Orrn"
+       while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2"
+make: "varmod-order.mk" line 93: Malformed conditional '${NUMBERS:Orrn}'
+make: "varmod-order.mk" line 108: Bad modifier ":On=Off"
+       while evaluating variable "SWITCH" with value "On"
+make: "varmod-order.mk" line 108: Malformed conditional '${SWITCH:On=Off} != "Off"'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-order.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-order.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-order.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-order.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-order.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-order.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-order.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :O variable modifier and its variants, which either sort the
 # words of the value or shuffle them.
@@ -10,31 +10,24 @@ NUMBERS=    8 5 4 9 1 7 6 10 3 2    # in Engli
 .  error ${WORDS:O}
 .endif
 
-# Unknown modifier "OX"
-# FIXME: The error message "Undefined variable" is wrong.
-# expect+2: Undefined variable "${WORDS:OX"
-# expect+1: while evaluating variable "WORDS" with value "one two three four five six seven eight nine ten": Bad modifier ":OX"
+# expect+1: Bad modifier ":OX"
 _:=    ${WORDS:OX}
 
-# Unknown modifier "OxXX"
-# FIXME: The error message "Undefined variable" is wrong.
-# expect+2: Undefined variable "${WORDS:Ox"
-# expect+1: while evaluating variable "WORDS" with value "one two three four five six seven eight nine ten": Bad modifier ":OxXX"
+# expect+1: Bad modifier ":OxXX"
 _:=    ${WORDS:OxXX}
 
-# Missing closing brace, to cover the error handling code.
-# expect+1: while evaluating variable "WORDS" with value "eight five four nine one seven six ten three two": Unclosed expression, expecting '}' for modifier "O"
+# expect+1: Unclosed expression, expecting '}' for modifier "O"
 _:=    ${WORDS:O
-# expect+1: while evaluating variable "NUMBERS" with value "1 2 3 4 5 6 7 8 9 10": Unclosed expression, expecting '}' for modifier "On"
+# expect+1: Unclosed expression, expecting '}' for modifier "On"
 _:=    ${NUMBERS:On
-# expect+1: while evaluating variable "NUMBERS" with value "10 9 8 7 6 5 4 3 2 1": Unclosed expression, expecting '}' for modifier "Onr"
+# expect+1: Unclosed expression, expecting '}' for modifier "Onr"
 _:=    ${NUMBERS:Onr
 
 # Shuffling numerically doesn't make sense, so don't allow 'x' and 'n' to be
 # combined.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Oxn"
-# expect+1: Malformed conditional (${NUMBERS:Oxn})
+# expect+2: Bad modifier ":Oxn"
+# expect+1: Malformed conditional '${NUMBERS:Oxn}'
 .if ${NUMBERS:Oxn}
 .  error
 .else
@@ -43,8 +36,8 @@ _:=   ${NUMBERS:Onr
 
 # Extra characters after ':On' are detected and diagnosed.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":On_typo"
-# expect+1: Malformed conditional (${NUMBERS:On_typo})
+# expect+2: Bad modifier ":On_typo"
+# expect+1: Malformed conditional '${NUMBERS:On_typo}'
 .if ${NUMBERS:On_typo}
 .  error
 .else
@@ -53,8 +46,8 @@ _:=   ${NUMBERS:Onr
 
 # Extra characters after ':Onr' are detected and diagnosed.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Onr_typo"
-# expect+1: Malformed conditional (${NUMBERS:Onr_typo})
+# expect+2: Bad modifier ":Onr_typo"
+# expect+1: Malformed conditional '${NUMBERS:Onr_typo}'
 .if ${NUMBERS:Onr_typo}
 .  error
 .else
@@ -63,8 +56,8 @@ _:=   ${NUMBERS:Onr
 
 # Extra characters after ':Orn' are detected and diagnosed.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Orn_typo"
-# expect+1: Malformed conditional (${NUMBERS:Orn_typo})
+# expect+2: Bad modifier ":Orn_typo"
+# expect+1: Malformed conditional '${NUMBERS:Orn_typo}'
 .if ${NUMBERS:Orn_typo}
 .  error
 .else
@@ -75,8 +68,8 @@ _:=   ${NUMBERS:Onr
 # criteria are fixed, not computed, therefore allowing this redundancy does
 # not make sense.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Onn"
-# expect+1: Malformed conditional (${NUMBERS:Onn})
+# expect+2: Bad modifier ":Onn"
+# expect+1: Malformed conditional '${NUMBERS:Onn}'
 .if ${NUMBERS:Onn}
 .  error
 .else
@@ -85,8 +78,8 @@ _:=   ${NUMBERS:Onr
 
 # Repeating the 'r' is not supported as well, for the same reasons as above.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Onrr"
-# expect+1: Malformed conditional (${NUMBERS:Onrr})
+# expect+2: Bad modifier ":Onrr"
+# expect+1: Malformed conditional '${NUMBERS:Onrr}'
 .if ${NUMBERS:Onrr}
 .  error
 .else
@@ -95,8 +88,8 @@ _:=   ${NUMBERS:Onr
 
 # Repeating the 'r' is not supported as well, for the same reasons as above.
 #
-# expect+2: while evaluating variable "NUMBERS" with value "8 5 4 9 1 7 6 10 3 2": Bad modifier ":Orrn"
-# expect+1: Malformed conditional (${NUMBERS:Orrn})
+# expect+2: Bad modifier ":Orrn"
+# expect+1: Malformed conditional '${NUMBERS:Orrn}'
 .if ${NUMBERS:Orrn}
 .  error
 .else
@@ -110,8 +103,8 @@ _:= ${NUMBERS:Onr
 # ':H' modifier but instead replaces a trailing 'H' with 'new' in each word.
 # There is no such fallback for the ':O' modifiers.
 SWITCH=        On
-# expect+2: while evaluating variable "SWITCH" with value "On": Bad modifier ":On=Off"
-# expect+1: Malformed conditional (${SWITCH:On=Off} != "Off")
+# expect+2: Bad modifier ":On=Off"
+# expect+1: Malformed conditional '${SWITCH:On=Off} != "Off"'
 .if ${SWITCH:On=Off} != "Off"
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-path.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-path.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-path.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-path.mk:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-path.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-path.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-path.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :P variable modifier, which looks up the path for a given
 # target.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-quote-dollar.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-quote-dollar.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-quote-dollar.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-quote-dollar.mk:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-quote-dollar.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-quote-dollar.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-quote-dollar.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :q variable modifier, which quotes the string for the shell
 # and doubles dollar signs, to prevent them from being interpreted by a
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-quote.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-quote.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-quote.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-quote.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-quote.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-quote.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-quote.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :Q variable modifier, which quotes the variable value
 # to be used in a shell program.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-range.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-range.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-range.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-range.exp:1.1    Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-range.exp        Tue Sep 17 11:52:34 2024
@@ -1,14 +1,19 @@
-make: "varmod-range.mk" line 43: Malformed conditional (${:range=5} != "")
-make: "varmod-range.mk" line 67: while evaluating "${:U:range=x}Rest" != "Rest"" with value "": Invalid number "x}Rest" != "Rest"" for ':range' modifier
-make: "varmod-range.mk" line 67: Malformed conditional ("${:U:range=x}Rest" != "Rest")
-make: "varmod-range.mk" line 78: while evaluating "${:U:range=0x0}Rest" != "Rest"" with value "1": Unknown modifier "x0"
-make: "varmod-range.mk" line 78: Malformed conditional ("${:U:range=0x0}Rest" != "Rest")
-make: "varmod-range.mk" line 96: while evaluating variable "a b c" with value "a b c": Unknown modifier "rang"
-make: "varmod-range.mk" line 96: Malformed conditional ("${a b c:L:rang}Rest" != "Rest")
-make: "varmod-range.mk" line 105: while evaluating variable "a b c" with value "a b c": Unknown modifier "rango"
-make: "varmod-range.mk" line 105: Malformed conditional ("${a b c:L:rango}Rest" != "Rest")
-make: "varmod-range.mk" line 114: while evaluating variable "a b c" with value "a b c": Unknown modifier "ranger"
-make: "varmod-range.mk" line 114: Malformed conditional ("${a b c:L:ranger}Rest" != "Rest")
+make: "varmod-range.mk" line 43: Malformed conditional '${:range=5} != ""'
+make: "varmod-range.mk" line 67: Invalid number "x}Rest" != "Rest"" for ':range' modifier
+       while evaluating "${:U:range=x}Rest" != "Rest"" with value ""
+make: "varmod-range.mk" line 67: Malformed conditional '"${:U:range=x}Rest" != "Rest"'
+make: "varmod-range.mk" line 78: Unknown modifier "x0"
+       while evaluating "${:U:range=0x0}Rest" != "Rest"" with value "1"
+make: "varmod-range.mk" line 78: Malformed conditional '"${:U:range=0x0}Rest" != "Rest"'
+make: "varmod-range.mk" line 96: Unknown modifier "rang"
+       while evaluating variable "a b c" with value "a b c"
+make: "varmod-range.mk" line 96: Malformed conditional '"${a b c:L:rang}Rest" != "Rest"'
+make: "varmod-range.mk" line 105: Unknown modifier "rango"
+       while evaluating variable "a b c" with value "a b c"
+make: "varmod-range.mk" line 105: Malformed conditional '"${a b c:L:rango}Rest" != "Rest"'
+make: "varmod-range.mk" line 114: Unknown modifier "ranger"
+       while evaluating variable "a b c" with value "a b c"
+make: "varmod-range.mk" line 114: Malformed conditional '"${a b c:L:ranger}Rest" != "Rest"'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-range.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-range.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-range.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-range.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-range.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-range.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-range.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :range variable modifier, which generates sequences
 # of integers from the given range.
@@ -39,7 +39,7 @@
 # XXX: As of 2023-12-17, the ':range=n' modifier does not turn the undefined
 # expression into a defined one, even though it does not depend on the value
 # of the expression.  This looks like an oversight.
-# expect+1: Malformed conditional (${:range=5} != "")
+# expect+1: Malformed conditional '${:range=5} != ""'
 .if ${:range=5} != ""
 .  error
 .else
@@ -62,8 +62,8 @@
 #
 # Since 2020-11-01, the parser issues a more precise "Invalid number" error
 # instead.
-# expect+2: while evaluating "${:U:range=x}Rest" != "Rest"" with value "": Invalid number "x}Rest" != "Rest"" for ':range' modifier
-# expect+1: Malformed conditional ("${:U:range=x}Rest" != "Rest")
+# expect+2: Invalid number "x}Rest" != "Rest"" for ':range' modifier
+# expect+1: Malformed conditional '"${:U:range=x}Rest" != "Rest"'
 .if "${:U:range=x}Rest" != "Rest"
 .  error
 .else
@@ -73,8 +73,8 @@
 # The upper limit of the range must always be given in decimal.
 # This parse error stops at the 'x', trying to parse it as a variable
 # modifier.
-# expect+2: while evaluating "${:U:range=0x0}Rest" != "Rest"" with value "1": Unknown modifier "x0"
-# expect+1: Malformed conditional ("${:U:range=0x0}Rest" != "Rest")
+# expect+2: Unknown modifier "x0"
+# expect+1: Malformed conditional '"${:U:range=0x0}Rest" != "Rest"'
 .if "${:U:range=0x0}Rest" != "Rest"
 .  error
 .else
@@ -91,8 +91,8 @@
 #.endif
 
 # modifier name too short
-# expect+2: while evaluating variable "a b c" with value "a b c": Unknown modifier "rang"
-# expect+1: Malformed conditional ("${a b c:L:rang}Rest" != "Rest")
+# expect+2: Unknown modifier "rang"
+# expect+1: Malformed conditional '"${a b c:L:rang}Rest" != "Rest"'
 .if "${a b c:L:rang}Rest" != "Rest"
 .  error
 .else
@@ -100,8 +100,8 @@
 .endif
 
 # misspelled modifier name
-# expect+2: while evaluating variable "a b c" with value "a b c": Unknown modifier "rango"
-# expect+1: Malformed conditional ("${a b c:L:rango}Rest" != "Rest")
+# expect+2: Unknown modifier "rango"
+# expect+1: Malformed conditional '"${a b c:L:rango}Rest" != "Rest"'
 .if "${a b c:L:rango}Rest" != "Rest"
 .  error
 .else
@@ -109,8 +109,8 @@
 .endif
 
 # modifier name too long
-# expect+2: while evaluating variable "a b c" with value "a b c": Unknown modifier "ranger"
-# expect+1: Malformed conditional ("${a b c:L:ranger}Rest" != "Rest")
+# expect+2: Unknown modifier "ranger"
+# expect+1: Malformed conditional '"${a b c:L:ranger}Rest" != "Rest"'
 .if "${a b c:L:ranger}Rest" != "Rest"
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-remember.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-remember.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-remember.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-remember.mk:1.1  Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-remember.mk      Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-remember.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-remember.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :_ modifier, which saves the current expression value
 # in the _ variable or another, to be used later again.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-root.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-root.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-root.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-root.mk:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-root.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-root.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-root.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :R variable modifier, which returns the filename root
 # without the extension.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.exp:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.exp Tue Sep 17 11:52:34 2024
@@ -1,5 +1,6 @@
-make: in target "mod-squarebrackets-0-star-at": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[]"
-LIST:[]="" is an error
+make: Bad modifier ":[]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-empty"
 LIST:[0]="one two three four five six"
 LIST:[0x0]="one two three four five six"
 LIST:[000]="one two three four five six"
@@ -37,18 +38,22 @@ REALLYSPACE=" "
 REALLYSPACE:[1]="" == "" ?
 REALLYSPACE:[*]:[1]=" " == " " ?
 LIST:[1]="one"
-make: in target "mod-squarebrackets-n": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[1.]"
-LIST:[1.]="" is an error
-make: in target "mod-squarebrackets-n": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[1]."
-LIST:[1].="}" is an error
+make: Bad modifier ":[1.]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-n-error-1"
+make: Bad modifier ":[1]."
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-n-error-2"
 LIST:[2]="two"
 LIST:[6]="six"
 LIST:[7]=""
 LIST:[999]=""
-make: in target "mod-squarebrackets-n": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[-]"
-LIST:[-]="" is an error
-make: in target "mod-squarebrackets-n": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[--]"
-LIST:[--]="" is an error
+make: Bad modifier ":[-]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-n-error-3"
+make: Bad modifier ":[--]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-n-error-4"
 LIST:[-1]="six"
 LIST:[-2]="five"
 LIST:[-6]="one"
@@ -67,23 +72,29 @@ LIST:[*]:C/ /,/:[2]=""
 LIST:[*]:C/ /,/:[*]:[2]=""
 LIST:[*]:C/ /,/:[@]:[2]="three"
 LONGLIST:[012..0x12]="10 11 12 13 14 15 16 17 18"
-make: in target "mod-squarebrackets-start-end": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[1.]"
-LIST:[1.]="" is an error
-make: in target "mod-squarebrackets-start-end": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[1..]"
-LIST:[1..]="" is an error
-make: in target "mod-squarebrackets-start-end": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[1.. ]"
-LIST:[1.. ]="" is an error
+make: Bad modifier ":[1.]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-start-end-error-1"
+make: Bad modifier ":[1..]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-start-end-error-2"
+make: Bad modifier ":[1.. ]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-start-end-error-3"
 LIST:[1..1]="one"
-make: in target "mod-squarebrackets-start-end": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[1..1.]"
-LIST:[1..1.]="" is an error
+make: Bad modifier ":[1..1.]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-start-end-error-4"
 LIST:[1..2]="one two"
 LIST:[2..1]="two one"
 LIST:[3..-2]="three four five"
 LIST:[-4..4]="three four"
-make: in target "mod-squarebrackets-start-end": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[0..1]"
-LIST:[0..1]="" is an error
-make: in target "mod-squarebrackets-start-end": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[-1..0]"
-LIST:[-1..0]="" is an error
+make: Bad modifier ":[0..1]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-start-end-error-5"
+make: Bad modifier ":[-1..0]"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-start-end-error-6"
 LIST:[-1..1]="six five four three two one"
 LIST:[0..0]="one two three four five six"
 LIST:[3..99]="three four five six"
@@ -97,8 +108,9 @@ LIST:[${ONE}]="one"
 LIST:[${MINUSONE}]="six"
 LIST:[${STAR}]="one two three four five six"
 LIST:[${AT}]="one two three four five six"
-make: in target "mod-squarebrackets-nested": while evaluating variable "LIST" with value "one two three four five six": Bad modifier ":[${EMPTY"
-LIST:[${EMPTY}]="" is an error
+make: Bad modifier ":[${EMPTY"
+       while evaluating variable "LIST" with value "one two three four five six"
+       in target "mod-squarebrackets-nested-error-1"
 LIST:[${LONGLIST:[21]:S/2//}]="one"
 LIST:[${LIST:[#]}]="six"
 LIST:[${LIST:[${HASH}]}]="six"
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.mk:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-select-words.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-select-words.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-select-words.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :[...] variable modifier, which selects a single word
 # or a range of words from a variable.
@@ -24,15 +24,36 @@ ZERO=               0
 ONE=           1
 MINUSONE=      -1
 
-mod-squarebrackets: mod-squarebrackets-0-star-at \
+mod-squarebrackets: \
+       mod-squarebrackets-empty \
+       mod-squarebrackets-0-star-at \
        mod-squarebrackets-hash \
-       mod-squarebrackets-n \
-       mod-squarebrackets-start-end \
-       mod-squarebrackets-nested \
+       mod-squarebrackets-n-ok-1 \
+       mod-squarebrackets-n-error-1 \
+       mod-squarebrackets-n-error-2 \
+       mod-squarebrackets-n-ok-2 \
+       mod-squarebrackets-n-error-3 \
+       mod-squarebrackets-n-error-4 \
+       mod-squarebrackets-n-ok-3 \
+       mod-squarebrackets-start-end-error-1 \
+       mod-squarebrackets-start-end-error-2 \
+       mod-squarebrackets-start-end-error-3 \
+       mod-squarebrackets-start-end-ok-1 \
+       mod-squarebrackets-start-end-error-4 \
+       mod-squarebrackets-start-end-ok-2 \
+       mod-squarebrackets-start-end-error-5 \
+       mod-squarebrackets-start-end-error-6 \
+       mod-squarebrackets-start-end-ok-3 \
+       mod-squarebrackets-nested-ok-1 \
+       mod-squarebrackets-nested-error-1 \
+       mod-squarebrackets-nested-ok-2 \
        mod-squarebrackets-space
 
-mod-squarebrackets-0-star-at:
+mod-squarebrackets-empty:
+# expect: make: Bad modifier ":[]"
        @echo 'LIST:[]="${LIST:[]}" is an error'
+
+mod-squarebrackets-0-star-at:
        @echo 'LIST:[0]="${LIST:[0]}"'
        @echo 'LIST:[0x0]="${LIST:[0x0]}"'
        @echo 'LIST:[000]="${LIST:[000]}"'
@@ -66,7 +87,7 @@ mod-squarebrackets-hash:
        @echo 'LIST:[1]:[#]="${LIST:[1]:[#]}"'
        @echo 'LIST:[1..3]:[#]="${LIST:[1..3]:[#]}"'
 
-mod-squarebrackets-n:
+mod-squarebrackets-n-ok-1:
        @echo 'EMPTY:[1]="${EMPTY:[1]}"'
        @echo 'ESCAPEDSPACE="${ESCAPEDSPACE}"'
        @echo 'ESCAPEDSPACE:[1]="${ESCAPEDSPACE:[1]}"'
@@ -74,14 +95,24 @@ mod-squarebrackets-n:
        @echo 'REALLYSPACE:[1]="${REALLYSPACE:[1]}" == "" ?'
        @echo 'REALLYSPACE:[*]:[1]="${REALLYSPACE:[*]:[1]}" == " " ?'
        @echo 'LIST:[1]="${LIST:[1]}"'
+mod-squarebrackets-n-error-1:
+# expect: make: Bad modifier ":[1.]"
        @echo 'LIST:[1.]="${LIST:[1.]}" is an error'
+mod-squarebrackets-n-error-2:
+# expect: make: Bad modifier ":[1]."
        @echo 'LIST:[1].="${LIST:[1].}" is an error'
+mod-squarebrackets-n-ok-2:
        @echo 'LIST:[2]="${LIST:[2]}"'
        @echo 'LIST:[6]="${LIST:[6]}"'
        @echo 'LIST:[7]="${LIST:[7]}"'
        @echo 'LIST:[999]="${LIST:[999]}"'
+mod-squarebrackets-n-error-3:
+# expect: make: Bad modifier ":[-]"
        @echo 'LIST:[-]="${LIST:[-]}" is an error'
+mod-squarebrackets-n-error-4:
+# expect: make: Bad modifier ":[--]"
        @echo 'LIST:[--]="${LIST:[--]}" is an error'
+mod-squarebrackets-n-ok-3:
        @echo 'LIST:[-1]="${LIST:[-1]}"'
        @echo 'LIST:[-2]="${LIST:[-2]}"'
        @echo 'LIST:[-6]="${LIST:[-6]}"'
@@ -101,25 +132,39 @@ mod-squarebrackets-n:
        @echo 'LIST:[*]:C/ /,/:[@]:[2]="${LIST:[*]:C/ /,/:[@]:[2]}"'
        @echo 'LONGLIST:[012..0x12]="${LONGLIST:[012..0x12]}"'
 
-mod-squarebrackets-start-end:
+mod-squarebrackets-start-end-error-1:
+# expect: make: Bad modifier ":[1.]"
        @echo 'LIST:[1.]="${LIST:[1.]}" is an error'
+mod-squarebrackets-start-end-error-2:
+# expect: make: Bad modifier ":[1..]"
        @echo 'LIST:[1..]="${LIST:[1..]}" is an error'
+mod-squarebrackets-start-end-error-3:
+# expect: make: Bad modifier ":[1.. ]"
        @echo 'LIST:[1.. ]="${LIST:[1.. ]}" is an error'
+mod-squarebrackets-start-end-ok-1:
        @echo 'LIST:[1..1]="${LIST:[1..1]}"'
+mod-squarebrackets-start-end-error-4:
+# expect: make: Bad modifier ":[1..1.]"
        @echo 'LIST:[1..1.]="${LIST:[1..1.]}" is an error'
+mod-squarebrackets-start-end-ok-2:
        @echo 'LIST:[1..2]="${LIST:[1..2]}"'
        @echo 'LIST:[2..1]="${LIST:[2..1]}"'
        @echo 'LIST:[3..-2]="${LIST:[3..-2]}"'
        @echo 'LIST:[-4..4]="${LIST:[-4..4]}"'
+mod-squarebrackets-start-end-error-5:
+# expect: make: Bad modifier ":[0..1]"
        @echo 'LIST:[0..1]="${LIST:[0..1]}" is an error'
+mod-squarebrackets-start-end-error-6:
+# expect: make: Bad modifier ":[-1..0]"
        @echo 'LIST:[-1..0]="${LIST:[-1..0]}" is an error'
+mod-squarebrackets-start-end-ok-3:
        @echo 'LIST:[-1..1]="${LIST:[-1..1]}"'
        @echo 'LIST:[0..0]="${LIST:[0..0]}"'
        @echo 'LIST:[3..99]="${LIST:[3..99]}"'
        @echo 'LIST:[-3..-99]="${LIST:[-3..-99]}"'
        @echo 'LIST:[-99..-3]="${LIST:[-99..-3]}"'
 
-mod-squarebrackets-nested:
+mod-squarebrackets-nested-ok-1:
        @echo 'HASH="${HASH}" == "#" ?'
        @echo 'LIST:[$${HASH}]="${LIST:[${HASH}]}"'
        @echo 'LIST:[$${ZERO}]="${LIST:[${ZERO}]}"'
@@ -128,7 +173,10 @@ mod-squarebrackets-nested:
        @echo 'LIST:[$${MINUSONE}]="${LIST:[${MINUSONE}]}"'
        @echo 'LIST:[$${STAR}]="${LIST:[${STAR}]}"'
        @echo 'LIST:[$${AT}]="${LIST:[${AT}]}"'
+mod-squarebrackets-nested-error-1:
+# expect: make: Bad modifier ":[${EMPTY"
        @echo 'LIST:[$${EMPTY}]="${LIST:[${EMPTY}]}" is an error'
+mod-squarebrackets-nested-ok-2:
        @echo 'LIST:[$${LONGLIST:[21]:S/2//}]="${LIST:[${LONGLIST:[21]:S/2//}]}"'
        @echo 'LIST:[$${LIST:[#]}]="${LIST:[${LIST:[#]}]}"'
        @echo 'LIST:[$${LIST:[$${HASH}]}]="${LIST:[${LIST:[${HASH}]}]}"'
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-shell.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-shell.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-shell.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-shell.exp:1.1    Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-shell.exp        Tue Sep 17 11:52:34 2024
@@ -1,11 +1,11 @@
-make: "varmod-shell.mk" line 25: warning: while evaluating "${:!echo word; (exit 13)!} != "word"" with value "word": Command "echo word; (exit 13)" exited with status 13
-make: "varmod-shell.mk" line 29: warning: while evaluating "${:Uprevious value:!echo word; (exit 13)!} != "word"" with value "word": Command "echo word; (exit 13)" exited with status 13
+make: "varmod-shell.mk" line 25: warning: Command "echo word; (exit 13)" exited with status 13
+make: "varmod-shell.mk" line 29: warning: Command "echo word; (exit 13)" exited with status 13
 Global: _ = # (empty)
 Var_Parse: ${:!echo word; ${:U(exit 13)}!} (eval-keep-dollar-and-undefined)
 Evaluating modifier ${:!...} on value "" (eval-keep-dollar-and-undefined, undefined)
 Modifier part: "echo word; (exit 13)"
 Capturing the output of command "echo word; (exit 13)"
-make: "varmod-shell.mk" line 36: warning: while evaluating "${:!echo word; ${:U(exit 13)}!}" with value "word": Command "echo word; (exit 13)" exited with status 13
+make: "varmod-shell.mk" line 36: warning: Command "echo word; (exit 13)" exited with status 13
 Result of ${:!echo word; ${:U(exit 13)}!} is "word" (eval-keep-dollar-and-undefined, defined)
 Global: _ = word
 Global: .MAKEFLAGS =  -r -k -d v -d
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-shell.mk:1.1     Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-shell.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-shell.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-shell.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the ':!cmd!' variable modifier, which runs the shell command
 # given by the variable modifier and returns its output.
@@ -21,18 +21,18 @@
 # Between 2000-04-29 and 2020-11-17, the error message mentioned the previous
 # value of the expression (which is usually an empty string) instead of the
 # command that was executed.
-# expect+1: warning: while evaluating "${:!echo word; (exit 13)!} != "word"" with value "word": Command "echo word; (exit 13)" exited with status 13
+# expect+1: warning: Command "echo word; (exit 13)" exited with status 13
 .if ${:!echo word; (exit 13)!} != "word"
 .  error
 .endif
-# expect+1: warning: while evaluating "${:Uprevious value:!echo word; (exit 13)!} != "word"" with value "word": Command "echo word; (exit 13)" exited with status 13
+# expect+1: warning: Command "echo word; (exit 13)" exited with status 13
 .if ${:Uprevious value:!echo word; (exit 13)!} != "word"
 .  error
 .endif
 
 
 .MAKEFLAGS: -dv                        # to see the "Capturing" debug output
-# expect+1: warning: while evaluating "${:!echo word; ${:U(exit 13)}!}" with value "word": Command "echo word; (exit 13)" exited with status 13
+# expect+1: warning: Command "echo word; (exit 13)" exited with status 13
 _:=    ${:!echo word; ${:U(exit 13)}!}
 .MAKEFLAGS: -d0
 
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.exp:1.1      Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.exp  Tue Sep 17 11:52:34 2024
@@ -1,27 +1,52 @@
-make: in target "mod-regex-compile-error": while evaluating "${:Uword1 word2:C,****,____,g:C,word,____,:Q}." with value "word1 word2": Regex compilation error: (details omitted)
-mod-regex-compile-error: C,word,____,:Q}.
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456": No subexpression \1
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456": No subexpression \1
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456": No subexpression \1
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456": No subexpression \1
-mod-regex-limits:11-missing:1 6
-mod-regex-limits:11-ok:1 22 446
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456": No subexpression \2
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456": No subexpression \2
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456": No subexpression \2
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456": No subexpression \2
-mod-regex-limits:22-missing:1 6
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456": No subexpression \2
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456": No subexpression \2
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456": No subexpression \2
-make: in target "mod-regex-limits": while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456": No subexpression \2
-mod-regex-limits:22-missing:1 6
-mod-regex-limits:22-ok:1 33 556
-mod-regex-limits:capture:ihgfedcbaabcdefghijABCDEFGHIJa0a1a2rest
-make: in target "mod-regex-errors": while evaluating variable "UNDEF" with value "value": Regex compilation error: (details omitted)
-mod-regex-errors:
-make: in target "mod-regex-errors": while evaluating variable "word" with value "word": while evaluating "${:U:Z}y,W}" with value "": Unknown modifier "Z"
-mod-regex-errors: xy
+make: Regex compilation error: (details omitted)
+       while evaluating "${:Uword1 word2:C,****,____,g:C,word,____,:Q}." with value "word1 word2"
+       in target "mod-regex-compile-error"
+make: No subexpression \1
+       while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-1"
+make: No subexpression \1
+       while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-1"
+make: No subexpression \1
+       while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-1"
+make: No subexpression \1
+       while evaluating "${:U1 23 456:C,..,\1\1,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-1"
+mod-regex-limits-2:11-ok:1 22 446
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-3"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-3"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-3"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,..,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-3"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-4"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-4"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-4"
+make: No subexpression \2
+       while evaluating "${:U1 23 456:C,(.).,\2\2,:Q}" with value "1 23 456"
+       in target "mod-regex-limits-4"
+mod-regex-limits-5:22-ok:1 33 556
+mod-regex-limits-6:capture:ihgfedcbaabcdefghijABCDEFGHIJa0a1a2rest
+make: Regex compilation error: (details omitted)
+       while evaluating variable "UNDEF" with value "value"
+       in target "mod-regex-errors-1"
+make: Unknown modifier "Z"
+       while evaluating "${:U:Z}y,W}" with value ""
+       while evaluating variable "word" with value "word"
+       in target "mod-regex-errors-2"
 unmatched-subexpression.ok: one one 2 3 5 8 one3 2one 34
 make: No match for subexpression \2
 unmatched-subexpression.1: ()()
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.mk:1.1       Mon Jul 15 09:10:30 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-subst-regex.mk   Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-subst-regex.mk,v 1.1 2024/07/15 09:10:30 jperkin Exp $
+# $NetBSD: varmod-subst-regex.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :C,from,to, variable modifier.
 
@@ -6,8 +6,8 @@
 .MAKEFLAGS: -dL
 
 all: mod-regex-compile-error
-all: mod-regex-limits
-all: mod-regex-errors
+all: mod-regex-limits-{1,2,3,4,5,6}
+all: mod-regex-errors-{1,2}
 all: unmatched-subexpression
 
 # The expression expands to 4 words.  Of these words, none matches
@@ -139,19 +139,25 @@ mod-regex-compile-error:
 
 # These tests generate error messages but as of 2020-08-28 just continue
 # parsing and execution as if nothing bad had happened.
-mod-regex-limits:
+mod-regex-limits-1:
        @echo $@:11-missing:${:U1 23 456:C,..,\1\1,:Q}
+mod-regex-limits-2:
        @echo $@:11-ok:${:U1 23 456:C,(.).,\1\1,:Q}
+mod-regex-limits-3:
        @echo $@:22-missing:${:U1 23 456:C,..,\2\2,:Q}
+mod-regex-limits-4:
        @echo $@:22-missing:${:U1 23 456:C,(.).,\2\2,:Q}
+mod-regex-limits-5:
        @echo $@:22-ok:${:U1 23 456:C,(.)(.),\2\2,:Q}
+mod-regex-limits-6:
        # The :C modifier only handles single-digit capturing groups,
        # which is enough for all practical use cases.
        @echo $@:capture:${:UabcdefghijABCDEFGHIJrest:C,(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.),\9\8\7\6\5\4\3\2\1\0\10\11\12,}
 
-mod-regex-errors:
+mod-regex-errors-1:
        @echo $@: ${UNDEF:Uvalue:C,[,,}
 
+mod-regex-errors-2:
        # If the replacement pattern produces a parse error because of an
        # unknown modifier, the parse error is ignored in ParseModifierPart
        # and the faulty expression expands to "".
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-subst.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-subst.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-subst.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-subst.exp:1.1    Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-subst.exp        Tue Sep 17 11:52:34 2024
@@ -45,8 +45,9 @@ mod-subst-delimiter:
 1 two 3 tilde
 mod-subst-chain:
 A B c.
-make: in target "mod-subst-chain": while evaluating "${:Uvalue:S,a,x,i}." with value "vxlue": Unknown modifier "i"
-.
+make: Unknown modifier "i"
+       while evaluating "${:Uvalue:S,a,x,i}." with value "vxlue"
+       in target "mod-subst-chain"
 mod-subst-dollar:$1:
 mod-subst-dollar:$2:
 mod-subst-dollar:$3:
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-subst.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-subst.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-subst.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-subst.mk:1.1     Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-subst.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-subst.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-subst.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :S,from,to, variable modifier.
 
@@ -252,6 +252,7 @@ mod-subst-chain:
        # The error message is "make: Unknown modifier 'i'", which is
        # kind of correct, although it is mixing the terms for variable
        # modifiers with the matching modifiers.
+# expect: make: Unknown modifier "i"
        @echo ${:Uvalue:S,a,x,i}.
 
 # No matter how many dollar signs there are, they all get merged
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.exp:1.1        Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.exp    Tue Sep 17 11:52:34 2024
@@ -1,11 +1,11 @@
-make: "varmod-sun-shell.mk" line 17: warning: while evaluating variable "echo word; (exit 13)" with value "echo word; (exit 13)": Command "echo word; (exit 13)" exited with status 13
+make: "varmod-sun-shell.mk" line 17: warning: Command "echo word; (exit 13)" exited with status 13
 Global: _ = # (empty)
 Var_Parse: ${echo word; ${:U(exit 13)}:L:sh} (eval-keep-dollar-and-undefined)
 Evaluating modifier ${echo word; (exit 13):L} on value "" (eval-keep-dollar-and-undefined, undefined)
 Result of ${echo word; (exit 13):L} is "echo word; (exit 13)" (eval-keep-dollar-and-undefined, defined)
 Evaluating modifier ${echo word; (exit 13):s...} on value "echo word; (exit 13)" (eval-keep-dollar-and-undefined, defined)
 Capturing the output of command "echo word; (exit 13)"
-make: "varmod-sun-shell.mk" line 24: warning: while evaluating variable "echo word; (exit 13)" with value "echo word; (exit 13)": Command "echo word; (exit 13)" exited with status 13
+make: "varmod-sun-shell.mk" line 24: warning: Command "echo word; (exit 13)" exited with status 13
 Result of ${echo word; (exit 13):sh} is "word" (eval-keep-dollar-and-undefined, defined)
 Global: _ = word
 Global: .MAKEFLAGS =  -r -k -d v -d
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.mk:1.1 Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-sun-shell.mk     Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-sun-shell.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-sun-shell.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :sh variable modifier, which runs the shell command
 # given by the variable value and returns its output.
@@ -13,14 +13,14 @@
 .endif
 
 # If the command exits with non-zero, a warning is printed.
-# expect+1: warning: while evaluating variable "echo word; (exit 13)" with value "echo word; (exit 13)": Command "echo word; (exit 13)" exited with status 13
+# expect+1: warning: Command "echo word; (exit 13)" exited with status 13
 .if ${echo word; (exit 13):L:sh} != "word"
 .  error
 .endif
 
 
 .MAKEFLAGS: -dv                        # to see the "Capturing" debug output
-# expect+1: warning: while evaluating variable "echo word; (exit 13)" with value "echo word; (exit 13)": Command "echo word; (exit 13)" exited with status 13
+# expect+1: warning: Command "echo word; (exit 13)" exited with status 13
 _:=    ${echo word; ${:U(exit 13)}:L:sh}
 .MAKEFLAGS: -d0
 
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.exp:1.1     Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.exp Tue Sep 17 11:52:34 2024
@@ -1,5 +1,6 @@
-make: "varmod-sysv.mk" line 216: while evaluating variable "word216" with value "word216": Unfinished modifier ('=' missing)
-make: "varmod-sysv.mk" line 216: Malformed conditional (${word216:L:from${:D=}to})
+make: "varmod-sysv.mk" line 216: Unfinished modifier ('=' missing)
+       while evaluating variable "word216" with value "word216"
+make: "varmod-sysv.mk" line 216: Malformed conditional '${word216:L:from${:D=}to}'
 word                     modifier                 result                  
 ''                       =                        ""
 suffix                   =                        "suffix"
@@ -145,8 +146,9 @@ pre-middle-suffix        pre%ffix=NPre% 
 suffix                   pre%ffix=NPre%NS         "suffix"
 prefix                   pre%ffix=NPre%NS         "prefix"
 pre-middle-suffix        pre%ffix=NPre%NS         "NPre-middle-suNS"
-make: "varmod-sysv.mk" line 261: while evaluating variable "error" with value "error": Unfinished modifier ('}' missing)
-make: "varmod-sysv.mk" line 261: Malformed conditional (${error:L:from=$(}))
+make: "varmod-sysv.mk" line 261: Unfinished modifier ('}' missing)
+       while evaluating variable "error" with value "error"
+make: "varmod-sysv.mk" line 261: Malformed conditional '${error:L:from=$(})'
 make: Fatal errors encountered -- cannot continue
 make: stopped making "all" in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.mk:1.1      Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-sysv.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-sysv.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-sysv.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the variable modifier ':from=to', which replaces the suffix
 # "from" with "to".  It can also use '%' as a wildcard.
@@ -211,8 +211,8 @@
 # XXX: As of 2024-06-30, this expression generates an "Unfinished modifier"
 # error, while the correct error message would be "Unknown modifier" since
 # there is no modifier named "fromto".
-# expect+2: while evaluating variable "word216" with value "word216": Unfinished modifier ('=' missing)
-# expect+1: Malformed conditional (${word216:L:from${:D=}to})
+# expect+2: Unfinished modifier ('=' missing)
+# expect+1: Malformed conditional '${word216:L:from${:D=}to}'
 .if ${word216:L:from${:D=}to}
 .  error
 .endif
@@ -256,8 +256,8 @@ INDIRECT=   1:${VALUE} 2:$${VALUE} 4:$$$${
 
 # The error case of an unfinished ':from=to' modifier after the '=' requires
 # an expression that is missing the closing '}'.
-# expect+2: while evaluating variable "error" with value "error": Unfinished modifier ('}' missing)
-# expect+1: Malformed conditional (${error:L:from=$(}))
+# expect+2: Unfinished modifier ('}' missing)
+# expect+1: Malformed conditional '${error:L:from=$(})'
 .if ${error:L:from=$(})
 .endif
 
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-tail.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-tail.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-tail.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-tail.mk:1.1      Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-tail.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-tail.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-tail.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :T variable modifier, which returns the basename of each of
 # the words in the variable value.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-abs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-abs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-abs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-abs.mk:1.1    Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-abs.mk        Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-abs.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-abs.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :tA variable modifier, which returns the absolute path for
 # each of the words in the variable value.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-lower.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-lower.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-lower.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-lower.mk:1.1  Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-lower.mk      Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-lower.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-lower.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :tl variable modifier, which converts the expression value
 # to lowercase.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-many-words.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-many-words.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-many-words.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-many-words.mk:1.1     Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-many-words.mk Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-many-words.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-many-words.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :tw modifier, which treats the variable as many words,
 # to undo a previous :tW modifier.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-one-word.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-one-word.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-one-word.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-one-word.mk:1.1       Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-one-word.mk   Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-one-word.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-one-word.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :tW variable modifier, which treats the variable value
 # as a single word, for all following modifiers.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.exp:1.1     Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.exp Tue Sep 17 11:52:34 2024
@@ -1,29 +1,42 @@
-make: "varmod-to-separator.mk" line 155: while evaluating variable "WORDS" with value "one two three": Invalid character number at "400:tu}"
-make: "varmod-to-separator.mk" line 155: Malformed conditional (${WORDS:[1..3]:ts\400:tu})
-make: "varmod-to-separator.mk" line 171: while evaluating variable "WORDS" with value "one two three": Invalid character number at "100:tu}"
-make: "varmod-to-separator.mk" line 171: Malformed conditional (${WORDS:[1..3]:ts\x100:tu})
-make: "varmod-to-separator.mk" line 180: while evaluating variable "word" with value "word": Invalid character number at ",}"
-make: "varmod-to-separator.mk" line 180: Malformed conditional (${word:L:ts\x,})
-make: "varmod-to-separator.mk" line 187: while evaluating variable "word" with value "word": Invalid character number at "112233445566778899}"
-make: "varmod-to-separator.mk" line 187: Malformed conditional (${word:L:ts\x112233445566778899})
-make: "varmod-to-separator.mk" line 193: while evaluating variable "WORDS" with value "one two three": Bad modifier ":ts\-300"
-make: "varmod-to-separator.mk" line 193: Malformed conditional (${WORDS:[1..3]:ts\-300:tu})
-make: "varmod-to-separator.mk" line 203: while evaluating variable "1 2 3" with value "1 2 3": Bad modifier ":ts\8"
-make: "varmod-to-separator.mk" line 203: Malformed conditional (${1 2 3:L:ts\8:tu})
-make: "varmod-to-separator.mk" line 212: while evaluating variable "1 2 3" with value "1 2 3": Bad modifier ":ts\100L"
-make: "varmod-to-separator.mk" line 212: Malformed conditional (${1 2 3:L:ts\100L})
-make: "varmod-to-separator.mk" line 221: while evaluating variable "1 2 3" with value "1 2 3": Bad modifier ":ts\x40g"
-make: "varmod-to-separator.mk" line 221: Malformed conditional (${1 2 3:L:ts\x40g})
-make: "varmod-to-separator.mk" line 231: while evaluating variable "WORDS" with value "one two three four five six": Bad modifier ":tx"
-make: "varmod-to-separator.mk" line 231: Malformed conditional (${WORDS:tx})
-make: "varmod-to-separator.mk" line 240: while evaluating variable "WORDS" with value "one two three four five six": Bad modifier ":ts\X"
-make: "varmod-to-separator.mk" line 240: Malformed conditional (${WORDS:ts\X})
-make: "varmod-to-separator.mk" line 250: while evaluating variable "WORDS" with value "one two three four five six": Bad modifier ":t\X"
-make: "varmod-to-separator.mk" line 250: Malformed conditional (${WORDS:t\X} != "anything")
-make: "varmod-to-separator.mk" line 267: while evaluating "${:Ua b:ts\69}" with value "a b": Bad modifier ":ts\69"
-make: "varmod-to-separator.mk" line 267: Malformed conditional (${:Ua b:ts\69})
-make: "varmod-to-separator.mk" line 276: while evaluating "${:Ua b:ts\x1F60E}" with value "a b": Invalid character number at "1F60E}"
-make: "varmod-to-separator.mk" line 276: Malformed conditional (${:Ua b:ts\x1F60E})
+make: "varmod-to-separator.mk" line 155: Invalid character number at "400:tu}"
+       while evaluating variable "WORDS" with value "one two three"
+make: "varmod-to-separator.mk" line 155: Malformed conditional '${WORDS:[1..3]:ts\400:tu}'
+make: "varmod-to-separator.mk" line 171: Invalid character number at "100:tu}"
+       while evaluating variable "WORDS" with value "one two three"
+make: "varmod-to-separator.mk" line 171: Malformed conditional '${WORDS:[1..3]:ts\x100:tu}'
+make: "varmod-to-separator.mk" line 180: Invalid character number at ",}"
+       while evaluating variable "word" with value "word"
+make: "varmod-to-separator.mk" line 180: Malformed conditional '${word:L:ts\x,}'
+make: "varmod-to-separator.mk" line 187: Invalid character number at "112233445566778899}"
+       while evaluating variable "word" with value "word"
+make: "varmod-to-separator.mk" line 187: Malformed conditional '${word:L:ts\x112233445566778899}'
+make: "varmod-to-separator.mk" line 193: Bad modifier ":ts\-300"
+       while evaluating variable "WORDS" with value "one two three"
+make: "varmod-to-separator.mk" line 193: Malformed conditional '${WORDS:[1..3]:ts\-300:tu}'
+make: "varmod-to-separator.mk" line 203: Bad modifier ":ts\8"
+       while evaluating variable "1 2 3" with value "1 2 3"
+make: "varmod-to-separator.mk" line 203: Malformed conditional '${1 2 3:L:ts\8:tu}'
+make: "varmod-to-separator.mk" line 212: Bad modifier ":ts\100L"
+       while evaluating variable "1 2 3" with value "1 2 3"
+make: "varmod-to-separator.mk" line 212: Malformed conditional '${1 2 3:L:ts\100L}'
+make: "varmod-to-separator.mk" line 221: Bad modifier ":ts\x40g"
+       while evaluating variable "1 2 3" with value "1 2 3"
+make: "varmod-to-separator.mk" line 221: Malformed conditional '${1 2 3:L:ts\x40g}'
+make: "varmod-to-separator.mk" line 231: Bad modifier ":tx"
+       while evaluating variable "WORDS" with value "one two three four five six"
+make: "varmod-to-separator.mk" line 231: Malformed conditional '${WORDS:tx}'
+make: "varmod-to-separator.mk" line 240: Bad modifier ":ts\X"
+       while evaluating variable "WORDS" with value "one two three four five six"
+make: "varmod-to-separator.mk" line 240: Malformed conditional '${WORDS:ts\X}'
+make: "varmod-to-separator.mk" line 250: Bad modifier ":t\X"
+       while evaluating variable "WORDS" with value "one two three four five six"
+make: "varmod-to-separator.mk" line 250: Malformed conditional '${WORDS:t\X} != "anything"'
+make: "varmod-to-separator.mk" line 267: Bad modifier ":ts\69"
+       while evaluating "${:Ua b:ts\69}" with value "a b"
+make: "varmod-to-separator.mk" line 267: Malformed conditional '${:Ua b:ts\69}'
+make: "varmod-to-separator.mk" line 276: Invalid character number at "1F60E}"
+       while evaluating "${:Ua b:ts\x1F60E}" with value "a b"
+make: "varmod-to-separator.mk" line 276: Malformed conditional '${:Ua b:ts\x1F60E}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.mk:1.1      Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-separator.mk  Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-separator.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-separator.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :ts variable modifier, which joins the words of the variable
 # using an arbitrary character as word separator.
@@ -150,8 +150,8 @@ WORDS=      one two three four five six
 # for an unsigned character though.
 #
 # Since 2020-11-01, these out-of-bounds values are rejected.
-# expect+2: while evaluating variable "WORDS" with value "one two three": Invalid character number at "400:tu}"
-# expect+1: Malformed conditional (${WORDS:[1..3]:ts\400:tu})
+# expect+2: Invalid character number at "400:tu}"
+# expect+1: Malformed conditional '${WORDS:[1..3]:ts\400:tu}'
 .if ${WORDS:[1..3]:ts\400:tu}
 .  warning The separator \400 is accepted even though it is out of bounds.
 .else
@@ -166,8 +166,8 @@ WORDS=      one two three four five six
 # The hexadecimal number must be in the range of an unsigned char.
 #
 # Since 2020-11-01, these out-of-bounds values are rejected.
-# expect+2: while evaluating variable "WORDS" with value "one two three": Invalid character number at "100:tu}"
-# expect+1: Malformed conditional (${WORDS:[1..3]:ts\x100:tu})
+# expect+2: Invalid character number at "100:tu}"
+# expect+1: Malformed conditional '${WORDS:[1..3]:ts\x100:tu}'
 .if ${WORDS:[1..3]:ts\x100:tu}
 .  warning The separator \x100 is accepted even though it is out of bounds.
 .else
@@ -175,21 +175,21 @@ WORDS=    one two three four five six
 .endif
 
 # The number after ':ts\x' must be hexadecimal.
-# expect+2: while evaluating variable "word" with value "word": Invalid character number at ",}"
-# expect+1: Malformed conditional (${word:L:ts\x,})
+# expect+2: Invalid character number at ",}"
+# expect+1: Malformed conditional '${word:L:ts\x,}'
 .if ${word:L:ts\x,}
 .endif
 
 # The hexadecimal number must be in the range of 'unsigned long' on all
 # supported platforms.
-# expect+2: while evaluating variable "word" with value "word": Invalid character number at "112233445566778899}"
-# expect+1: Malformed conditional (${word:L:ts\x112233445566778899})
+# expect+2: Invalid character number at "112233445566778899}"
+# expect+1: Malformed conditional '${word:L:ts\x112233445566778899}'
 .if ${word:L:ts\x112233445566778899}
 .endif
 
 # Negative numbers are not allowed for the separator character.
-# expect+2: while evaluating variable "WORDS" with value "one two three": Bad modifier ":ts\-300"
-# expect+1: Malformed conditional (${WORDS:[1..3]:ts\-300:tu})
+# expect+2: Bad modifier ":ts\-300"
+# expect+1: Malformed conditional '${WORDS:[1..3]:ts\-300:tu}'
 .if ${WORDS:[1..3]:ts\-300:tu}
 .  warning The separator \-300 is accepted even though it is negative.
 .else
@@ -198,8 +198,8 @@ WORDS=      one two three four five six
 
 # The character number is interpreted as octal number by default.
 # The digit '8' is not an octal digit though.
-# expect+2: while evaluating variable "1 2 3" with value "1 2 3": Bad modifier ":ts\8"
-# expect+1: Malformed conditional (${1 2 3:L:ts\8:tu})
+# expect+2: Bad modifier ":ts\8"
+# expect+1: Malformed conditional '${1 2 3:L:ts\8:tu}'
 .if ${1 2 3:L:ts\8:tu}
 .  warning The separator \8 is accepted even though it is not octal.
 .else
@@ -207,8 +207,8 @@ WORDS=      one two three four five six
 .endif
 
 # Trailing characters after the octal character number are rejected.
-# expect+2: while evaluating variable "1 2 3" with value "1 2 3": Bad modifier ":ts\100L"
-# expect+1: Malformed conditional (${1 2 3:L:ts\100L})
+# expect+2: Bad modifier ":ts\100L"
+# expect+1: Malformed conditional '${1 2 3:L:ts\100L}'
 .if ${1 2 3:L:ts\100L}
 .  warning The separator \100L is accepted even though it contains an 'L'.
 .else
@@ -216,8 +216,8 @@ WORDS=      one two three four five six
 .endif
 
 # Trailing characters after the hexadecimal character number are rejected.
-# expect+2: while evaluating variable "1 2 3" with value "1 2 3": Bad modifier ":ts\x40g"
-# expect+1: Malformed conditional (${1 2 3:L:ts\x40g})
+# expect+2: Bad modifier ":ts\x40g"
+# expect+1: Malformed conditional '${1 2 3:L:ts\x40g}'
 .if ${1 2 3:L:ts\x40g}
 .  warning The separator \x40g is accepted even though it contains a 'g'.
 .else
@@ -226,8 +226,8 @@ WORDS=      one two three four five six
 
 
 # In the :t modifier, the :t must be followed by any of A, l, s, u.
-# expect+2: while evaluating variable "WORDS" with value "one two three four five six": Bad modifier ":tx"
-# expect+1: Malformed conditional (${WORDS:tx})
+# expect+2: Bad modifier ":tx"
+# expect+1: Malformed conditional '${WORDS:tx}'
 .if ${WORDS:tx}
 .  error
 .else
@@ -235,8 +235,8 @@ WORDS=      one two three four five six
 .endif
 
 # The word separator can only be a single character.
-# expect+2: while evaluating variable "WORDS" with value "one two three four five six": Bad modifier ":ts\X"
-# expect+1: Malformed conditional (${WORDS:ts\X})
+# expect+2: Bad modifier ":ts\X"
+# expect+1: Malformed conditional '${WORDS:ts\X}'
 .if ${WORDS:ts\X}
 .  error
 .else
@@ -245,8 +245,8 @@ WORDS=      one two three four five six
 
 # After the backslash, only n, t, an octal number, or x and a hexadecimal
 # number are allowed.
-# expect+2: while evaluating variable "WORDS" with value "one two three four five six": Bad modifier ":t\X"
-# expect+1: Malformed conditional (${WORDS:t\X} != "anything")
+# expect+2: Bad modifier ":t\X"
+# expect+1: Malformed conditional '${WORDS:t\X} != "anything"'
 .if ${WORDS:t\X} != "anything"
 .  info This line is not reached.
 .endif
@@ -262,8 +262,8 @@ WORDS=      one two three four five six
 # happens for non-octal digits.  From 2003.07.23.18.06.46 to
 # 2016.02.27.16.20.06, the result was '1E2', since 2016.03.07.20.20.35 make no
 # longer accepts this escape and complains.
-# expect+2: while evaluating "${:Ua b:ts\69}" with value "a b": Bad modifier ":ts\69"
-# expect+1: Malformed conditional (${:Ua b:ts\69})
+# expect+2: Bad modifier ":ts\69"
+# expect+1: Malformed conditional '${:Ua b:ts\69}'
 .if ${:Ua b:ts\69}
 .  error
 .else
@@ -271,8 +271,8 @@ WORDS=      one two three four five six
 .endif
 
 # Try whether bmake is Unicode-ready.
-# expect+2: while evaluating "${:Ua b:ts\x1F60E}" with value "a b": Invalid character number at "1F60E}"
-# expect+1: Malformed conditional (${:Ua b:ts\x1F60E})
+# expect+2: Invalid character number at "1F60E}"
+# expect+1: Malformed conditional '${:Ua b:ts\x1F60E}'
 .if ${:Ua b:ts\x1F60E}         # U+1F60E "smiling face with sunglasses"
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-title.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-title.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-title.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-title.mk:1.1  Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-title.mk      Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-title.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-title.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :tc variable modifier, which converts the expression value
 # to lowercase.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-to-upper.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-to-upper.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-to-upper.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-to-upper.mk:1.1  Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-to-upper.mk      Tue Sep 17 11:52:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-to-upper.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-to-upper.mk,v 1.2 2024/09/17 11:52:34 jperkin Exp $
 #
 # Tests for the :tu variable modifier, which returns the words in the
 # variable value, converted to uppercase.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-undefined.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-undefined.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-undefined.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-undefined.mk:1.1 Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-undefined.mk     Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-undefined.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-undefined.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the :U variable modifier, which returns the given string
 # if the variable is undefined.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-unique.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-unique.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod-unique.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod-unique.mk:1.1    Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-unique.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-unique.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod-unique.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the :u variable modifier, which discards adjacent duplicate
 # words.
Index: pkgsrc/devel/bmake/files/unit-tests/varmod.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod.exp:1.1  Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod.exp      Tue Sep 17 11:52:35 2024
@@ -1,33 +1,52 @@
 make: "varmod.mk" line 101: To escape a dollar, use \$, not $$, at "$$:L} != """
 make: "varmod.mk" line 101: Invalid variable name ':', at "$:L} != """
-make: "varmod.mk" line 107: while evaluating "${:Uword:@word@${word}$@} != "word"" with value "word": Dollar followed by nothing
-make: "varmod.mk" line 117: while evaluating variable "VAR" with value "VAR": Missing delimiter ':' after modifier "P"
+make: "varmod.mk" line 107: Dollar followed by nothing
+       while evaluating "${:Uword:@word@${word}$@} != "word"" with value "word"
+make: "varmod.mk" line 117: Missing delimiter ':' after modifier "P"
+       while evaluating variable "VAR" with value "VAR"
 make: "varmod.mk" line 119: Missing argument for ".error"
-make: "varmod.mk" line 126: while evaluating variable "word" with value "word": Bad modifier ":[99333000222000111000]"
-make: "varmod.mk" line 126: Malformed conditional (${word:L:[99333000222000111000]})
-make: "varmod.mk" line 130: while evaluating variable "word" with value "word": Bad modifier ":[2147483648]"
-make: "varmod.mk" line 130: Malformed conditional (${word:L:[2147483648]})
-make: "varmod.mk" line 137: while evaluating variable "word" with value "word": Invalid number "99333000222000111000}" for ':range' modifier
-make: "varmod.mk" line 137: Malformed conditional (${word:L:range=99333000222000111000})
-make: "varmod.mk" line 145: while evaluating "${:${:Ugmtime=\\}}" with value "": Invalid time value "\"
-make: "varmod.mk" line 145: Malformed conditional (${:${:Ugmtime=\\}})
-make: "varmod.mk" line 160: while evaluating variable "VAR" with value "value$": Dollar followed by nothing
-make: "varmod.mk" line 166: while evaluating variable "VAR" with value "value$": Dollar followed by nothing
-make: "varmod.mk" line 166: while evaluating variable "VAR" with value "value$ appended$": Dollar followed by nothing
-make: "varmod.mk" line 176: while evaluating variable "word" with value "word": Dollar followed by nothing
-make: "varmod.mk" line 181: while evaluating variable "word" with value "": Bad modifier ":[$]"
-make: "varmod.mk" line 181: Malformed conditional (${word:[$]})
-make: "varmod.mk" line 198: while evaluating variable "VAR" with value "value$ appended$": Dollar followed by nothing
-make: "varmod.mk" line 198: while evaluating variable "VAR" with value "value<space>appended": Invalid variable name '}', at "$} != "set""
-make: "varmod.mk" line 202: while evaluating "${:Ufallback$} != "fallback"" with value "": Invalid variable name '}', at "$} != "fallback""
-make: "varmod.mk" line 207: while evaluating variable "%y" with value "%y": Invalid time value "1000$"
-make: "varmod.mk" line 207: Malformed conditional (${%y:L:gmtime=1000$})
-make: "varmod.mk" line 214: while evaluating variable "%y" with value "%y": Invalid time value "1000$"
-make: "varmod.mk" line 214: Malformed conditional (${%y:L:localtime=1000$})
-make: "varmod.mk" line 220: while evaluating variable "word" with value "word": Dollar followed by nothing
-make: "varmod.mk" line 224: while evaluating variable "word" with value "word": Dollar followed by nothing
-make: "varmod.mk" line 229: while evaluating variable "." with value ".": Invalid argument 'fallback$' for modifier ':mtime'
-make: "varmod.mk" line 229: Malformed conditional (${.:L:mtime=fallback$})
+make: "varmod.mk" line 126: Bad modifier ":[99333000222000111000]"
+       while evaluating variable "word" with value "word"
+make: "varmod.mk" line 126: Malformed conditional '${word:L:[99333000222000111000]}'
+make: "varmod.mk" line 130: Bad modifier ":[2147483648]"
+       while evaluating variable "word" with value "word"
+make: "varmod.mk" line 130: Malformed conditional '${word:L:[2147483648]}'
+make: "varmod.mk" line 137: Invalid number "99333000222000111000}" for ':range' modifier
+       while evaluating variable "word" with value "word"
+make: "varmod.mk" line 137: Malformed conditional '${word:L:range=99333000222000111000}'
+make: "varmod.mk" line 145: Invalid time value "\"
+       while evaluating "${:${:Ugmtime=\\}}" with value ""
+make: "varmod.mk" line 145: Malformed conditional '${:${:Ugmtime=\\}}'
+make: "varmod.mk" line 160: Dollar followed by nothing
+       while evaluating variable "VAR" with value "value$"
+make: "varmod.mk" line 166: Dollar followed by nothing
+       while evaluating variable "VAR" with value "value$"
+make: "varmod.mk" line 166: Dollar followed by nothing
+       while evaluating variable "VAR" with value "value$ appended$"
+make: "varmod.mk" line 176: Dollar followed by nothing
+       while evaluating variable "word" with value "word"
+make: "varmod.mk" line 181: Bad modifier ":[$]"
+       while evaluating variable "word" with value ""
+make: "varmod.mk" line 181: Malformed conditional '${word:[$]}'
+make: "varmod.mk" line 198: Dollar followed by nothing
+       while evaluating variable "VAR" with value "value$ appended$"
+make: "varmod.mk" line 198: Invalid variable name '}', at "$} != "set""
+       while evaluating variable "VAR" with value "value<space>appended"
+make: "varmod.mk" line 202: Invalid variable name '}', at "$} != "fallback""
+       while evaluating "${:Ufallback$} != "fallback"" with value ""
+make: "varmod.mk" line 207: Invalid time value "1000$"
+       while evaluating variable "%y" with value "%y"
+make: "varmod.mk" line 207: Malformed conditional '${%y:L:gmtime=1000$}'
+make: "varmod.mk" line 214: Invalid time value "1000$"
+       while evaluating variable "%y" with value "%y"
+make: "varmod.mk" line 214: Malformed conditional '${%y:L:localtime=1000$}'
+make: "varmod.mk" line 220: Dollar followed by nothing
+       while evaluating variable "word" with value "word"
+make: "varmod.mk" line 224: Dollar followed by nothing
+       while evaluating variable "word" with value "word"
+make: "varmod.mk" line 229: Invalid argument 'fallback$' for modifier ':mtime'
+       while evaluating variable "." with value "."
+make: "varmod.mk" line 229: Malformed conditional '${.:L:mtime=fallback$}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varmod.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varmod.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varmod.mk:1.1   Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod.mk       Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varmod.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varmod.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for variable modifiers, such as :Q, :S,from,to or :Ufallback.
 #
@@ -103,7 +103,7 @@ DOLLAR2=    ${:U\$}
 .endif
 
 # A '$' followed by nothing is an error as well.
-# expect+1: while evaluating "${:Uword:@word@${word}$@} != "word"" with value "word": Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${:Uword:@word@${word}$@} != "word"
 .  error
 .endif
@@ -113,7 +113,7 @@ DOLLAR2=    ${:U\$}
 # XXX: The .error should not be reached since the expression is
 # malformed, and this error should be propagated up to Cond_EvalLine.
 VAR=   STOP
-# expect+1: while evaluating variable "VAR" with value "VAR": Missing delimiter ':' after modifier "P"
+# expect+1: Missing delimiter ':' after modifier "P"
 .if ${VAR:P=RE} != "STORE"
 # expect+1: Missing argument for ".error"
 .  error
@@ -121,27 +121,27 @@ VAR=      STOP
 
 # Test the word selection modifier ':[n]' with a very large number that is
 # larger than ULONG_MAX for any supported platform.
-# expect+2: while evaluating variable "word" with value "word": Bad modifier ":[99333000222000111000]"
-# expect+1: Malformed conditional (${word:L:[99333000222000111000]})
+# expect+2: Bad modifier ":[99333000222000111000]"
+# expect+1: Malformed conditional '${word:L:[99333000222000111000]}'
 .if ${word:L:[99333000222000111000]}
 .endif
-# expect+2: while evaluating variable "word" with value "word": Bad modifier ":[2147483648]"
-# expect+1: Malformed conditional (${word:L:[2147483648]})
+# expect+2: Bad modifier ":[2147483648]"
+# expect+1: Malformed conditional '${word:L:[2147483648]}'
 .if ${word:L:[2147483648]}
 .endif
 
 # Test the range generation modifier ':range=n' with a very large number that
 # is larger than SIZE_MAX for any supported platform.
-# expect+2: Malformed conditional (${word:L:range=99333000222000111000})
-# expect+1: while evaluating variable "word" with value "word": Invalid number "99333000222000111000}" for ':range' modifier
+# expect+2: Malformed conditional '${word:L:range=99333000222000111000}'
+# expect+1: Invalid number "99333000222000111000}" for ':range' modifier
 .if ${word:L:range=99333000222000111000}
 .endif
 
 # In an indirect modifier, the delimiter is '\0', which at the same time marks
 # the end of the string.  The sequence '\\' '\0' is not an escaped delimiter,
 # as it would be wrong to skip past the end of the string.
-# expect+2: while evaluating "${:${:Ugmtime=\\}}" with value "": Invalid time value "\"
-# expect+1: Malformed conditional (${:${:Ugmtime=\\}})
+# expect+2: Invalid time value "\"
+# expect+1: Malformed conditional '${:${:Ugmtime=\\}}'
 .if ${:${:Ugmtime=\\}}
 .  error
 .endif
@@ -156,13 +156,13 @@ VAR=      STOP
 .if ${:U:!printf '%s\n' $!} != "\$"
 .  error
 .endif
-# expect+1: while evaluating variable "VAR" with value "value$": Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${VAR::=value$} != "" || ${VAR} != "value"
 .  error
 .endif
 ${:U }=                <space>
-# expect+2: while evaluating variable "VAR" with value "value$": Dollar followed by nothing
-# expect+1: while evaluating variable "VAR" with value "value$ appended$": Dollar followed by nothing
+# expect+2: Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${VAR::+=appended$} != "" || ${VAR} != "value<space>appended"
 .  error
 .endif
@@ -172,12 +172,12 @@ ${:U }=           <space>
 .if ${0:?then$:else$} != "else\$"
 .  error
 .endif
-# expect+1: while evaluating variable "word" with value "word": Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${word:L:@w@$w$@} != "word"
 .  error
 .endif
-# expect+2: while evaluating variable "word" with value "": Bad modifier ":[$]"
-# expect+1: Malformed conditional (${word:[$]})
+# expect+2: Bad modifier ":[$]"
+# expect+1: Malformed conditional '${word:[$]}'
 .if ${word:[$]}
 .  error
 .else
@@ -193,39 +193,39 @@ VAR_DOLLAR=       VAR$$
 .if ${word:L:C,d,$,} != "wor\$"
 .  error
 .endif
-# expect+2: while evaluating variable "VAR" with value "value$ appended$": Dollar followed by nothing
-# expect+1: while evaluating variable "VAR" with value "value<space>appended": Invalid variable name '}', at "$} != "set""
+# expect+2: Dollar followed by nothing
+# expect+1: Invalid variable name '}', at "$} != "set""
 .if ${VAR:Dset$} != "set"
 .  error
 .endif
-# expect+1: while evaluating "${:Ufallback$} != "fallback"" with value "": Invalid variable name '}', at "$} != "fallback""
+# expect+1: Invalid variable name '}', at "$} != "fallback""
 .if ${:Ufallback$} != "fallback"
 .  error
 .endif
-# expect+2: Malformed conditional (${%y:L:gmtime=1000$})
-# expect+1: while evaluating variable "%y" with value "%y": Invalid time value "1000$"
+# expect+2: Malformed conditional '${%y:L:gmtime=1000$}'
+# expect+1: Invalid time value "1000$"
 .if ${%y:L:gmtime=1000$}
 .  error
 .else
 .  error
 .endif
-# expect+2: Malformed conditional (${%y:L:localtime=1000$})
-# expect+1: while evaluating variable "%y" with value "%y": Invalid time value "1000$"
+# expect+2: Malformed conditional '${%y:L:localtime=1000$}'
+# expect+1: Invalid time value "1000$"
 .if ${%y:L:localtime=1000$}
 .  error
 .else
 .  error
 .endif
-# expect+1: while evaluating variable "word" with value "word": Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${word:L:Mw*$} != "word"
 .  error
 .endif
-# expect+1: while evaluating variable "word" with value "word": Dollar followed by nothing
+# expect+1: Dollar followed by nothing
 .if ${word:L:NX*$} != "word"
 .  error
 .endif
-# expect+2: while evaluating variable "." with value ".": Invalid argument 'fallback$' for modifier ':mtime'
-# expect+1: Malformed conditional (${.:L:mtime=fallback$})
+# expect+2: Invalid argument 'fallback$' for modifier ':mtime'
+# expect+1: Malformed conditional '${.:L:mtime=fallback$}'
 .if ${.:L:mtime=fallback$}
 .  error
 .else
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dollar.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dollar.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dollar.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dollar.mk:1.1   Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dollar.mk       Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dollar.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varname-dollar.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the expression "$$", which looks as if it referred to a variable,
 # but simply expands to a single '$' sign.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-alltargets.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-alltargets.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-alltargets.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-alltargets.mk:1.1   Mon Jul 15 09:10:31 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-alltargets.mk       Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-alltargets.mk,v 1.1 2024/07/15 09:10:31 jperkin Exp $
+# $NetBSD: varname-dot-alltargets.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .ALLTARGETS variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-curdir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-curdir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-curdir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-curdir.mk:1.1       Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-curdir.mk   Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-curdir.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-curdir.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .CURDIR variable, which is initially set to the
 # canonical path of the current working directory, when make started.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromdir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromdir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromdir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromdir.mk:1.1      Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromdir.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-includedfromdir.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-includedfromdir.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .INCLUDEDFROMDIR variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromfile.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromfile.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromfile.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromfile.mk:1.1     Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-includedfromfile.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-includedfromfile.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-includedfromfile.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .INCLUDEDFROMFILE variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-includes.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-includes.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-includes.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-includes.mk:1.1     Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-includes.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-includes.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-includes.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .INCLUDES variable, which is not documented in the
 # manual page.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-libs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-libs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-libs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-libs.mk:1.1 Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-libs.mk     Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-libs.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-libs.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .LIBS variable, which is not documented in the
 # manual page.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-dependfile.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-dependfile.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-dependfile.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-dependfile.mk:1.1      Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-dependfile.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-dependfile.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-dependfile.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.DEPENDFILE variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-expand_variables.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-expand_variables.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-expand_variables.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-expand_variables.mk:1.1        Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-expand_variables.mk    Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-expand_variables.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-expand_variables.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.EXPAND_VARIABLES variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-exported.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-exported.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-exported.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-exported.mk:1.1        Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-exported.mk    Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-exported.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-exported.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.EXPORTED variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs-prefix.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs-prefix.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs-prefix.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs-prefix.mk:1.1     Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs-prefix.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-jobs-prefix.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-jobs-prefix.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.JOBS.PREFIX variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs.mk:1.1    Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-jobs.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-jobs.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-jobs.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.JOBS variable, which is defined in jobs mode
 # only.  There it contains the number of jobs that may run in parallel.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-level.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-level.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-level.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-level.mk:1.1   Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-level.mk       Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-level.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-level.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.LEVEL variable, which informs about the
 # recursion level.  It is related to the environment variable MAKELEVEL,
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefile_preference.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefile_preference.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefile_preference.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefile_preference.mk:1.1     Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefile_preference.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-makefile_preference.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-makefile_preference.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.MAKEFILE_PREFERENCE variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefiles.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefiles.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefiles.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefiles.mk:1.1       Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-makefiles.mk   Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-makefiles.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-makefiles.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.MAKEFILES variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-bailiwick.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-bailiwick.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-bailiwick.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-bailiwick.mk:1.1  Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-bailiwick.mk      Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-bailiwick.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-bailiwick.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.BAILIWICK variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-created.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-created.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-created.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-created.mk:1.1    Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-created.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-created.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-created.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.CREATED variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-files.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-files.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-files.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-files.mk:1.1      Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-files.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-files.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-files.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.FILES variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_filter.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_filter.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_filter.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_filter.mk:1.1      Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_filter.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-ignore_filter.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-ignore_filter.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.IGNORE_FILTER variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_paths.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_paths.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_paths.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_paths.mk:1.1       Mon Jul 15 09:10:32 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_paths.mk   Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-ignore_paths.mk,v 1.1 2024/07/15 09:10:32 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-ignore_paths.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.IGNORE_PATHS variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_patterns.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_patterns.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_patterns.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_patterns.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-ignore_patterns.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-ignore_patterns.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-ignore_patterns.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.IGNORE_PATTERNS variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-prefix.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-prefix.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-prefix.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-prefix.mk:1.1     Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-meta-prefix.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-meta-prefix.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-meta-prefix.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.META.PREFIX variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-mode.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-mode.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-mode.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-mode.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-mode.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-mode.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-mode.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.MODE variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-path_filemon.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-path_filemon.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-path_filemon.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-path_filemon.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-path_filemon.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-path_filemon.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-path_filemon.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.PATH_FILEMON variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-pid.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-pid.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-pid.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-pid.mk:1.1     Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-pid.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-pid.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-pid.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.PID variable, which contains the process ID of
 # the make process itself.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-ppid.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-ppid.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-ppid.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-ppid.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-ppid.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-ppid.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-ppid.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.PPID variable, which contains the process ID of
 # make's parent process.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-save_dollars.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-save_dollars.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-save_dollars.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-save_dollars.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-make-save_dollars.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-make-save_dollars.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-make-save_dollars.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKE.SAVE_DOLLARS variable, which controls whether
 # the assignment operator ':=' converts '$$' to a single '$' or keeps it
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeflags.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeflags.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeflags.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeflags.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeflags.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-makeflags.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-makeflags.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKEFLAGS variable, which collects almost all
 # command line arguments and passes them on to any child processes via
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeoverrides.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeoverrides.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeoverrides.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeoverrides.mk:1.1        Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-makeoverrides.mk    Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-makeoverrides.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-makeoverrides.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .MAKEOVERRIDES variable, which lists the names of the
 # variables that are passed on to child processes via the MAKEFLAGS
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-newline.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-newline.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-newline.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-newline.mk:1.1      Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-newline.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-newline.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-newline.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .newline variable, which contains a single newline
 # character (U+000A).
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-objdir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-objdir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-objdir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-objdir.mk:1.1       Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-objdir.mk   Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-objdir.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-objdir.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .OBJDIR variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsedir.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsedir.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsedir.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsedir.mk:1.1     Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsedir.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-parsedir.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-parsedir.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .PARSEDIR variable, which contains the directory part
 # of the file that is currently parsed.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsefile.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsefile.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsefile.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsefile.mk:1.1    Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-parsefile.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-parsefile.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-parsefile.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .PARSEFILE variable, which contains the basename part
 # of the file that is currently parsed.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-path.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-path.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-path.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-path.mk:1.1 Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-path.mk     Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-path.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-path.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .PATH variable, which TODO: describe the purpose.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-shell.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-shell.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-shell.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-shell.mk:1.1        Mon Jul 15 09:10:33 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-shell.mk    Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-shell.mk,v 1.1 2024/07/15 09:10:33 jperkin Exp $
+# $NetBSD: varname-dot-shell.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .SHELL variable, which contains the shell used for
 # running the commands.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-suffixes.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-suffixes.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-suffixes.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-suffixes.mk:1.1     Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-suffixes.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-suffixes.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-dot-suffixes.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special "variable" .SUFFIXES, which lists the suffixes that
 # have been registered for use in suffix transformation rules.  Suffixes are
Index: pkgsrc/devel/bmake/files/unit-tests/varname-dot-targets.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-dot-targets.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-dot-targets.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-dot-targets.mk:1.1      Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-dot-targets.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-dot-targets.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-dot-targets.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special .TARGETS variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-empty.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-empty.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-empty.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-empty.mk:1.1    Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-empty.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-empty.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-empty.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special variable with the empty name.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/varname-make.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-make.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-make.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-make.mk:1.1     Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-make.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-make.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-make.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special MAKE variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error-jobs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error-jobs.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error-jobs.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error-jobs.mk:1.1     Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error-jobs.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-make_print_var_on_error-jobs.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-make_print_var_on_error-jobs.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special MAKE_PRINT_VAR_ON_ERROR variable, which prints the
 # values of selected variables on error.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error.mk:1.1  Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-make_print_var_on_error.mk      Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-make_print_var_on_error.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-make_print_var_on_error.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special MAKE_PRINT_VAR_ON_ERROR variable, which prints the
 # values of selected variables on error.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-makefile.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-makefile.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-makefile.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-makefile.mk:1.1 Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-makefile.mk     Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-makefile.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-makefile.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special MAKEFILE variable, which contains the current
 # makefile from the -f command line option.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-makeflags.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-makeflags.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-makeflags.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-makeflags.mk:1.1        Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-makeflags.mk    Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-makeflags.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-makeflags.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the environment variable 'MAKEFLAGS', from which additional
 # command line arguments are read before the actual command line arguments.
Index: pkgsrc/devel/bmake/files/unit-tests/varname-pwd.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-pwd.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-pwd.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-pwd.mk:1.1      Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-pwd.mk  Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-pwd.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-pwd.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special PWD variable.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varname-vpath.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname-vpath.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname-vpath.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname-vpath.mk:1.1    Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname-vpath.mk        Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname-vpath.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname-vpath.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for the special VPATH variable, which is an obsolete way of
 # specifying a colon-separated search path.  This search path is not active
Index: pkgsrc/devel/bmake/files/unit-tests/varname.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varname.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varname.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname.exp:1.1 Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname.exp     Tue Sep 17 11:52:35 2024
@@ -5,7 +5,7 @@ Var_Parse: ${VARNAME} (eval)
 Global: VAR((( = 3 open parentheses
 Var_Parse: ${VAR(((}}}}" != "3 open parentheses}}}" (eval)
 Global: .ALLTARGETS =  VAR(((=)
-make: "varname.mk" line 32: No closing parenthesis in archive specification
+make: "varname.mk" line 32: Missing ')' in archive specification
 make: "varname.mk" line 32: Error in archive specification: "VAR"
 Var_Parse: ${:UVAR\(\(\(}=     try2 (eval-defined)
 Evaluating modifier ${:U...} on value "" (eval-defined, undefined)
Index: pkgsrc/devel/bmake/files/unit-tests/varname.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varname.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varname.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varname.mk:1.1  Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varname.mk      Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varname.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varname.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 #
 # Tests for special variables, such as .MAKE or .PARSEDIR.
 # And for variable names in general.
@@ -28,7 +28,7 @@ ${VARNAME}=   3 open parentheses
 # balanced.  At the end of the line, there are still 3 levels open, which
 # means the variable name is not finished.
 # expect+2: Error in archive specification: "VAR"
-# expect+1: No closing parenthesis in archive specification
+# expect+1: Missing ')' in archive specification
 ${:UVAR(((}=   try1
 # On the left-hand side of a variable assignments, the backslash is not parsed
 # as an escape character, therefore the parentheses still count to the nesting
Index: pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.exp:1.1        Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.exp    Tue Sep 17 11:52:35 2024
@@ -1,5 +1,5 @@
-make: "varparse-dynamic.mk" line 9: Malformed conditional (${.TARGEX})
-make: "varparse-dynamic.mk" line 12: Malformed conditional (${.TARGXX})
+make: "varparse-dynamic.mk" line 9: Malformed conditional '${.TARGEX}'
+make: "varparse-dynamic.mk" line 12: Malformed conditional '${.TARGXX}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.mk:1.1 Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varparse-dynamic.mk     Tue Sep 17 11:52:35 2024
@@ -1,14 +1,14 @@
-# $NetBSD: varparse-dynamic.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varparse-dynamic.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 
 # Before 2020-07-27, there was an off-by-one error in Var_Parse that skipped
 # the last character in the variable name.
 # To trigger the bug, the variable had to be undefined.
 .if ${.TARGET}                 # exact match, may be undefined
 .endif
-# expect+1: Malformed conditional (${.TARGEX})
+# expect+1: Malformed conditional '${.TARGEX}'
 .if ${.TARGEX}                 # 1 character difference, must be defined
 .endif
-# expect+1: Malformed conditional (${.TARGXX})
+# expect+1: Malformed conditional '${.TARGXX}'
 .if ${.TARGXX}                 # 2 characters difference, must be defined
 .endif
 
Index: pkgsrc/devel/bmake/files/unit-tests/varparse-errors.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varparse-errors.exp:1.1 pkgsrc/devel/bmake/files/unit-tests/varparse-errors.exp:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varparse-errors.exp:1.1 Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varparse-errors.exp     Tue Sep 17 11:52:35 2024
@@ -1,25 +1,45 @@
-make: "varparse-errors.mk" line 38: while evaluating "${:U:Z}" with value "": Unknown modifier "Z"
-make: "varparse-errors.mk" line 47: while evaluating "${:U:Z}post" with value "": Unknown modifier "Z"
-make: "varparse-errors.mk" line 75: while evaluating "${:U:OX:U${IND}} ${:U:OX:U${IND}}" with value "": Bad modifier ":OX"
-make: "varparse-errors.mk" line 75: Undefined variable "${:U:OX"
-make: "varparse-errors.mk" line 75: while evaluating variable "IND" with value "${:OX}": while evaluating "${:OX}" with value "": Bad modifier ":OX"
-make: "varparse-errors.mk" line 75: while evaluating "${:U:OX:U${IND}}" with value "": Bad modifier ":OX"
-make: "varparse-errors.mk" line 75: Undefined variable "${:U:OX"
-make: "varparse-errors.mk" line 75: while evaluating variable "IND" with value "${:OX}": while evaluating "${:OX}" with value "": Bad modifier ":OX"
-make: "varparse-errors.mk" line 83: while evaluating "${:U:Q" with value "": Unclosed expression, expecting '}' for modifier "Q"
-make: "varparse-errors.mk" line 85: while evaluating "${:U:sh" with value "": Unclosed expression, expecting '}' for modifier "sh"
-make: "varparse-errors.mk" line 87: while evaluating "${:U:tA" with value "": Unclosed expression, expecting '}' for modifier "tA"
-make: "varparse-errors.mk" line 89: while evaluating "${:U:tsX" with value "": Unclosed expression, expecting '}' for modifier "tsX"
-make: "varparse-errors.mk" line 91: while evaluating "${:U:ts" with value "": Unclosed expression, expecting '}' for modifier "ts"
-make: "varparse-errors.mk" line 93: while evaluating "${:U:ts\040" with value "": Unclosed expression, expecting '}' for modifier "ts\040"
-make: "varparse-errors.mk" line 95: while evaluating "${:U:u" with value "": Unclosed expression, expecting '}' for modifier "u"
-make: "varparse-errors.mk" line 97: while evaluating "${:U:H" with value ".": Unclosed expression, expecting '}' for modifier "H"
-make: "varparse-errors.mk" line 99: while evaluating "${:U:[1]" with value "": Unclosed expression, expecting '}' for modifier "[1]"
-make: "varparse-errors.mk" line 101: while evaluating "${:U:hash" with value "b2af338b": Unclosed expression, expecting '}' for modifier "hash"
-make: "varparse-errors.mk" line 103: while evaluating "${:U:range" with value "1": Unclosed expression, expecting '}' for modifier "range"
-make: "varparse-errors.mk" line 105: while evaluating "${:U:_" with value "": Unclosed expression, expecting '}' for modifier "_"
-make: "varparse-errors.mk" line 107: while evaluating "${:U:gmtime" with value "<timestamp>": Unclosed expression, expecting '}' for modifier "gmtime"
-make: "varparse-errors.mk" line 109: while evaluating "${:U:localtime" with value "<timestamp>": Unclosed expression, expecting '}' for modifier "localtime"
+make: "varparse-errors.mk" line 38: Unknown modifier "Z"
+       while evaluating "${:U:Z}" with value ""
+make: "varparse-errors.mk" line 47: Unknown modifier "Z"
+       while evaluating "${:U:Z}post" with value ""
+make: "varparse-errors.mk" line 73: Bad modifier ":OX"
+       while evaluating "${:U:OX:U${IND}} ${:U:OX:U${IND}}" with value ""
+make: "varparse-errors.mk" line 73: Bad modifier ":OX"
+       while evaluating "${:OX}" with value ""
+       while evaluating variable "IND" with value "${:OX}"
+make: "varparse-errors.mk" line 73: Bad modifier ":OX"
+       while evaluating "${:U:OX:U${IND}}" with value ""
+make: "varparse-errors.mk" line 73: Bad modifier ":OX"
+       while evaluating "${:OX}" with value ""
+       while evaluating variable "IND" with value "${:OX}"
+make: "varparse-errors.mk" line 81: Unclosed expression, expecting '}' for modifier "Q"
+       while evaluating "${:U:Q" with value ""
+make: "varparse-errors.mk" line 83: Unclosed expression, expecting '}' for modifier "sh"
+       while evaluating "${:U:sh" with value ""
+make: "varparse-errors.mk" line 85: Unclosed expression, expecting '}' for modifier "tA"
+       while evaluating "${:U:tA" with value ""
+make: "varparse-errors.mk" line 87: Unclosed expression, expecting '}' for modifier "tsX"
+       while evaluating "${:U:tsX" with value ""
+make: "varparse-errors.mk" line 89: Unclosed expression, expecting '}' for modifier "ts"
+       while evaluating "${:U:ts" with value ""
+make: "varparse-errors.mk" line 91: Unclosed expression, expecting '}' for modifier "ts\040"
+       while evaluating "${:U:ts\040" with value ""
+make: "varparse-errors.mk" line 93: Unclosed expression, expecting '}' for modifier "u"
+       while evaluating "${:U:u" with value ""
+make: "varparse-errors.mk" line 95: Unclosed expression, expecting '}' for modifier "H"
+       while evaluating "${:U:H" with value "."
+make: "varparse-errors.mk" line 97: Unclosed expression, expecting '}' for modifier "[1]"
+       while evaluating "${:U:[1]" with value ""
+make: "varparse-errors.mk" line 99: Unclosed expression, expecting '}' for modifier "hash"
+       while evaluating "${:U:hash" with value "b2af338b"
+make: "varparse-errors.mk" line 101: Unclosed expression, expecting '}' for modifier "range"
+       while evaluating "${:U:range" with value "1"
+make: "varparse-errors.mk" line 103: Unclosed expression, expecting '}' for modifier "_"
+       while evaluating "${:U:_" with value ""
+make: "varparse-errors.mk" line 105: Unclosed expression, expecting '}' for modifier "gmtime"
+       while evaluating "${:U:gmtime" with value "<timestamp>"
+make: "varparse-errors.mk" line 107: Unclosed expression, expecting '}' for modifier "localtime"
+       while evaluating "${:U:localtime" with value "<timestamp>"
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1
Index: pkgsrc/devel/bmake/files/unit-tests/varparse-errors.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varparse-errors.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varparse-errors.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varparse-errors.mk:1.1  Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varparse-errors.mk      Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varparse-errors.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varparse-errors.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 
 # Tests for parsing and evaluating all kinds of expressions.
 #
@@ -34,7 +34,7 @@ ERR_EVAL=     An evaluation error ${:Uvalue:
 # As of 2020-12-01, errors in the variable name are silently ignored.
 # Since var.c 1.754 from 2020-12-20, unknown modifiers at parse time result
 # in an error message and a non-zero exit status.
-# expect+1: while evaluating "${:U:Z}" with value "": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 VAR.${:U:Z}=   unknown modifier in the variable name
 .if ${VAR.} != "unknown modifier in the variable name"
 .  error
@@ -43,7 +43,7 @@ VAR.${:U:Z}=  unknown modifier in the var
 # As of 2020-12-01, errors in the variable name are silently ignored.
 # Since var.c 1.754 from 2020-12-20, unknown modifiers at parse time result
 # in an error message and a non-zero exit status.
-# expect+1: while evaluating "${:U:Z}post" with value "": Unknown modifier "Z"
+# expect+1: Unknown modifier "Z"
 VAR.${:U:Z}post=       unknown modifier with text in the variable name
 .if ${VAR.post} != "unknown modifier with text in the variable name"
 .  error
@@ -66,12 +66,10 @@ VAR.${:U:Z}post=    unknown modifier with t
 #
 #.MAKEFLAGS: -dv
 IND=   ${:OX}
-# expect+6: while evaluating "${:U:OX:U${IND}} ${:U:OX:U${IND}}" with value "": Bad modifier ":OX"
-# expect+5: while evaluating "${:U:OX:U${IND}}" with value "": Bad modifier ":OX"
-# expect+4: Undefined variable "${:U:OX"
-# expect+3: while evaluating variable "IND" with value "${:OX}": while evaluating "${:OX}" with value "": Bad modifier ":OX"
-# expect+2: Undefined variable "${:U:OX"
-# expect+1: while evaluating variable "IND" with value "${:OX}": while evaluating "${:OX}" with value "": Bad modifier ":OX"
+# expect+4: Bad modifier ":OX"
+# expect+3: Bad modifier ":OX"
+# expect+2: Bad modifier ":OX"
+# expect+1: Bad modifier ":OX"
 _:=    ${:U:OX:U${IND}} ${:U:OX:U${IND}}
 #.MAKEFLAGS: -d0
 
@@ -79,31 +77,31 @@ _:= ${:U:OX:U${IND}} ${:U:OX:U${IND}}
 # Before var.c 1.032 from 2022-08-24, make complained about 'Unknown modifier'
 # or 'Bad modifier' when in fact the modifier was entirely correct, it was
 # just not delimited by either ':' or '}' but instead by '\0'.
-# expect+1: while evaluating "${:U:Q" with value "": Unclosed expression, expecting '}' for modifier "Q"
+# expect+1: Unclosed expression, expecting '}' for modifier "Q"
 UNCLOSED:=     ${:U:Q
-# expect+1: while evaluating "${:U:sh" with value "": Unclosed expression, expecting '}' for modifier "sh"
+# expect+1: Unclosed expression, expecting '}' for modifier "sh"
 UNCLOSED:=     ${:U:sh
-# expect+1: while evaluating "${:U:tA" with value "": Unclosed expression, expecting '}' for modifier "tA"
+# expect+1: Unclosed expression, expecting '}' for modifier "tA"
 UNCLOSED:=     ${:U:tA
-# expect+1: while evaluating "${:U:tsX" with value "": Unclosed expression, expecting '}' for modifier "tsX"
+# expect+1: Unclosed expression, expecting '}' for modifier "tsX"
 UNCLOSED:=     ${:U:tsX
-# expect+1: while evaluating "${:U:ts" with value "": Unclosed expression, expecting '}' for modifier "ts"
+# expect+1: Unclosed expression, expecting '}' for modifier "ts"
 UNCLOSED:=     ${:U:ts
-# expect+1: while evaluating "${:U:ts\040" with value "": Unclosed expression, expecting '}' for modifier "ts\040"
+# expect+1: Unclosed expression, expecting '}' for modifier "ts\040"
 UNCLOSED:=     ${:U:ts\040
-# expect+1: while evaluating "${:U:u" with value "": Unclosed expression, expecting '}' for modifier "u"
+# expect+1: Unclosed expression, expecting '}' for modifier "u"
 UNCLOSED:=     ${:U:u
-# expect+1: while evaluating "${:U:H" with value ".": Unclosed expression, expecting '}' for modifier "H"
+# expect+1: Unclosed expression, expecting '}' for modifier "H"
 UNCLOSED:=     ${:U:H
-# expect+1: while evaluating "${:U:[1]" with value "": Unclosed expression, expecting '}' for modifier "[1]"
+# expect+1: Unclosed expression, expecting '}' for modifier "[1]"
 UNCLOSED:=     ${:U:[1]
-# expect+1: while evaluating "${:U:hash" with value "b2af338b": Unclosed expression, expecting '}' for modifier "hash"
+# expect+1: Unclosed expression, expecting '}' for modifier "hash"
 UNCLOSED:=     ${:U:hash
-# expect+1: while evaluating "${:U:range" with value "1": Unclosed expression, expecting '}' for modifier "range"
+# expect+1: Unclosed expression, expecting '}' for modifier "range"
 UNCLOSED:=     ${:U:range
-# expect+1: while evaluating "${:U:_" with value "": Unclosed expression, expecting '}' for modifier "_"
+# expect+1: Unclosed expression, expecting '}' for modifier "_"
 UNCLOSED:=     ${:U:_
-# expect+1: while evaluating "${:U:gmtime" with value "<timestamp>": Unclosed expression, expecting '}' for modifier "gmtime"
+# expect+1: Unclosed expression, expecting '}' for modifier "gmtime"
 UNCLOSED:=     ${:U:gmtime
-# expect+1: while evaluating "${:U:localtime" with value "<timestamp>": Unclosed expression, expecting '}' for modifier "localtime"
+# expect+1: Unclosed expression, expecting '}' for modifier "localtime"
 UNCLOSED:=     ${:U:localtime
Index: pkgsrc/devel/bmake/files/unit-tests/varparse-mod.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varparse-mod.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varparse-mod.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varparse-mod.mk:1.1     Mon Jul 15 09:10:34 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varparse-mod.mk Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varparse-mod.mk,v 1.1 2024/07/15 09:10:34 jperkin Exp $
+# $NetBSD: varparse-mod.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 
 # Tests for parsing expressions with modifiers.
 
Index: pkgsrc/devel/bmake/files/unit-tests/varparse-undef-partial.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varparse-undef-partial.mk:1.1 pkgsrc/devel/bmake/files/unit-tests/varparse-undef-partial.mk:1.2
--- pkgsrc/devel/bmake/files/unit-tests/varparse-undef-partial.mk:1.1   Mon Jul 15 09:10:35 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varparse-undef-partial.mk       Tue Sep 17 11:52:35 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varparse-undef-partial.mk,v 1.1 2024/07/15 09:10:35 jperkin Exp $
+# $NetBSD: varparse-undef-partial.mk,v 1.2 2024/09/17 11:52:35 jperkin Exp $
 
 # When an undefined variable is expanded in a ':=' assignment, only the
 # initial '$' of the expression is skipped by the parser, while

Index: pkgsrc/devel/bmake/files/unit-tests/comment.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/comment.mk:1.2 pkgsrc/devel/bmake/files/unit-tests/comment.mk:1.3
--- pkgsrc/devel/bmake/files/unit-tests/comment.mk:1.2  Mon Jul 15 09:10:10 2024
+++ pkgsrc/devel/bmake/files/unit-tests/comment.mk      Tue Sep 17 11:52:29 2024
@@ -1,4 +1,4 @@
-# $NetBSD: comment.mk,v 1.2 2024/07/15 09:10:10 jperkin Exp $
+# $NetBSD: comment.mk,v 1.3 2024/09/17 11:52:29 jperkin Exp $
 #
 # Demonstrate how comments are written in makefiles.
 
Index: pkgsrc/devel/bmake/files/unit-tests/cond-late.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/cond-late.exp:1.2 pkgsrc/devel/bmake/files/unit-tests/cond-late.exp:1.3
--- pkgsrc/devel/bmake/files/unit-tests/cond-late.exp:1.2       Mon Jul 15 09:10:11 2024
+++ pkgsrc/devel/bmake/files/unit-tests/cond-late.exp   Tue Sep 17 11:52:29 2024
@@ -1,4 +1,6 @@
-make: "cond-late.mk" line 38: while evaluating variable "VAR" with value "${${UNDEF} != "no":?:}": while evaluating condition " != "no"": Bad condition
+make: "cond-late.mk" line 38: Bad condition
+       while evaluating condition " != "no""
+       while evaluating variable "VAR" with value "${${UNDEF} != "no":?:}"
        in directory <curdir>
 make: Fatal errors encountered -- cannot continue
 make: stopped making "do-parse-time" in unit-tests
Index: pkgsrc/devel/bmake/files/unit-tests/moderrs.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/moderrs.exp:1.2 pkgsrc/devel/bmake/files/unit-tests/moderrs.exp:1.3
--- pkgsrc/devel/bmake/files/unit-tests/moderrs.exp:1.2 Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/moderrs.exp     Tue Sep 17 11:52:32 2024
@@ -1,115 +1,140 @@
-make: in target "mod-unknown-direct": while evaluating variable "VAR" with value "TheVariable": Unknown modifier "Z"
-VAR:Z=before--after
-
-make: in target "mod-unknown-indirect": while evaluating variable "VAR" with value "TheVariable": Unknown modifier "Z"
-VAR:Z=before-inner}-after
-
-unclosed-direct:
-make: in target "unclosed-direct": while evaluating variable "VAR" with value "Thevariable": Unclosed expression, expecting '}' for modifier "S,V,v,"
-VAR:S,V,v,=Thevariable
-
-unclosed-indirect:
-make: in target "unclosed-indirect": while evaluating variable "VAR" with value "Thevariable": Unclosed expression after indirect modifier, expecting '}'
-VAR:S,V,v,=Thevariable
-
-make: in target "unfinished-indirect": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-VAR:S,V,v=
-
-make: in target "unfinished-loop": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier ('@' missing)
-
-make: in target "unfinished-loop": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier ('@' missing)
-
+make: Unknown modifier "Z"
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-unknown-direct"
+make: Unknown modifier "Z"
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-unknown-indirect"
+make: Unclosed expression, expecting '}' for modifier "S,V,v,"
+       while evaluating variable "VAR" with value "Thevariable"
+       in target "unclosed-direct"
+make: Unclosed expression after indirect modifier, expecting '}'
+       while evaluating variable "VAR" with value "Thevariable"
+       in target "unclosed-indirect"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "unfinished-indirect"
+make: Unfinished modifier ('@' missing)
+       while evaluating variable "UNDEF" with value "1 2 3"
+       in target "unfinished-loop-1"
+make: Unfinished modifier ('@' missing)
+       while evaluating variable "UNDEF" with value "1 2 3"
+       in target "unfinished-loop-2"
 1 2 3
-
-loop-close:
-make: in target "loop-close": while evaluating variable "UNDEF" with value "1}... 2}... 3}...": Unclosed expression, expecting '}' for modifier "@var@${var}}...@"
+make: Unclosed expression, expecting '}' for modifier "@var@${var}}...@"
+       while evaluating variable "UNDEF" with value "1}... 2}... 3}..."
+       in target "loop-close-1"
 1}... 2}... 3}...
-1}... 2}... 3}...
-
-make: in target "words": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier (']' missing)
-
-make: in target "words": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier (']' missing)
-
+make: Unfinished modifier (']' missing)
+       while evaluating variable "UNDEF" with value "1 2 3"
+       in target "words-1"
+make: Unfinished modifier (']' missing)
+       while evaluating variable "UNDEF" with value "1 2 3"
+       in target "words-2"
 13=
-make: in target "words": while evaluating variable "UNDEF" with value "1 2 3": Bad modifier ":[123451234512345123451234512345]"
-12345=S,^ok,:S,^3ok,}
-
-make: in target "exclam": while evaluating variable "VARNAME" with value "": Unfinished modifier ('!' missing)
-
-make: in target "exclam": while evaluating variable "!" with value "!": Unfinished modifier ('!' missing)
-
-
-make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Missing delimiter for modifier ':S'
-1:
-make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-2:
-make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-3:
-make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-4:
-make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-5:
-make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unclosed expression, expecting '}' for modifier "S,from,to,"
-6: TheVariable
+make: Bad modifier ":[123451234512345123451234512345]"
+       while evaluating variable "UNDEF" with value "1 2 3"
+       in target "words-3"
+make: Unfinished modifier ('!' missing)
+       while evaluating variable "VARNAME" with value ""
+       in target "exclam-1"
+make: Unfinished modifier ('!' missing)
+       while evaluating variable "!" with value "!"
+       in target "exclam-2"
+make: Missing delimiter for modifier ':S'
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-subst-delimiter-1"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-subst-delimiter-2"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-subst-delimiter-3"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-subst-delimiter-4"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-subst-delimiter-5"
+make: Unclosed expression, expecting '}' for modifier "S,from,to,"
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-subst-delimiter-6"
 7: TheVariable
-
-make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Missing delimiter for modifier ':C'
-1:
-make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-2:
-make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-3:
-make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-4:
-make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
-5:
-make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unclosed expression, expecting '}' for modifier "C,from,to,"
-6: TheVariable
+make: Missing delimiter for modifier ':C'
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-regex-delimiter-1"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-regex-delimiter-2"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-regex-delimiter-3"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-regex-delimiter-4"
+make: Unfinished modifier (',' missing)
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-regex-delimiter-5"
+make: Unclosed expression, expecting '}' for modifier "C,from,to,"
+       while evaluating variable "VAR" with value "TheVariable"
+       in target "mod-regex-delimiter-6"
 7: TheVariable
-
-mod-ts-parse:
 112358132134
 15152535558513521534
-make: in target "mod-ts-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":ts\65oct"
-65oct}
-make: in target "mod-ts-parse": while evaluating "${:U${FIB}:ts\65oct} # bad modifier, variable name is """ with value "1 1 2 3 5 8 13 21 34": Bad modifier ":ts\65oct"
-65oct}
-make: in target "mod-ts-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":tsxy"
-xy}
-
-mod-t-parse:
-make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":t"
-
-make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":txy"
-y}
-make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":t"
-
-make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":t"
-M*}
-
-make: in target "mod-ifelse-parse": while evaluating then-branch of condition "FIB": Unfinished modifier (':' missing)
-
-make: in target "mod-ifelse-parse": while evaluating then-branch of condition "FIB": Unfinished modifier (':' missing)
-
-make: in target "mod-ifelse-parse": while evaluating else-branch of condition "FIB": Unfinished modifier ('}' missing)
-
-make: in target "mod-ifelse-parse": while evaluating else-branch of condition "FIB": Unfinished modifier ('}' missing)
-
+make: Bad modifier ":ts\65oct"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-ts-parse-3"
+make: Bad modifier ":ts\65oct"
+       while evaluating "${:U${FIB}:ts\65oct} # bad modifier, variable name is """ with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-ts-parse-4"
+make: Bad modifier ":tsxy"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-ts-parse-5"
+make: Bad modifier ":t"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-t-parse-1"
+make: Bad modifier ":txy"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-t-parse-2"
+make: Bad modifier ":t"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-t-parse-3"
+make: Bad modifier ":t"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-t-parse-4"
+make: Unfinished modifier (':' missing)
+       while evaluating then-branch of condition "FIB"
+       in target "mod-ifelse-parse-1"
+make: Unfinished modifier (':' missing)
+       while evaluating then-branch of condition "FIB"
+       in target "mod-ifelse-parse-2"
+make: Unfinished modifier ('}' missing)
+       while evaluating else-branch of condition "FIB"
+       in target "mod-ifelse-parse-3"
+make: Unfinished modifier ('}' missing)
+       while evaluating else-branch of condition "FIB"
+       in target "mod-ifelse-parse-4"
 then
-
 1 1 2 3 5 8 13 21 34
-make: in target "mod-remember-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "__"
-
-
-make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "3"
-make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "": Unclosed expression, expecting '}' for modifier "3"
-
-make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "3="
-make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "": Unclosed expression, expecting '}' for modifier "3="
-
-make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "3=x3"
-make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "": Unclosed expression, expecting '}' for modifier "3=x3"
-
+make: Unknown modifier "__"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-remember-parse"
+make: Unknown modifier "3"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-sysv-parse-1"
+make: Unclosed expression, expecting '}' for modifier "3"
+       while evaluating variable "FIB" with value ""
+       in target "mod-sysv-parse-1"
+make: Unknown modifier "3="
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-sysv-parse-2"
+make: Unclosed expression, expecting '}' for modifier "3="
+       while evaluating variable "FIB" with value ""
+       in target "mod-sysv-parse-2"
+make: Unknown modifier "3=x3"
+       while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34"
+       in target "mod-sysv-parse-3"
+make: Unclosed expression, expecting '}' for modifier "3=x3"
+       while evaluating variable "FIB" with value ""
+       in target "mod-sysv-parse-3"
 1 1 2 x3 5 8 1x3 21 34
-
 exit status 2
Index: pkgsrc/devel/bmake/files/unit-tests/sunshcmd.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/sunshcmd.mk:1.2 pkgsrc/devel/bmake/files/unit-tests/sunshcmd.mk:1.3
--- pkgsrc/devel/bmake/files/unit-tests/sunshcmd.mk:1.2 Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/sunshcmd.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: sunshcmd.mk,v 1.2 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: sunshcmd.mk,v 1.3 2024/09/17 11:52:33 jperkin Exp $
 
 BYECMD=                  echo bye
 LATERCMD=        echo later
Index: pkgsrc/devel/bmake/files/unit-tests/ternary.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/ternary.mk:1.2 pkgsrc/devel/bmake/files/unit-tests/ternary.mk:1.3
--- pkgsrc/devel/bmake/files/unit-tests/ternary.mk:1.2  Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/ternary.mk      Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: ternary.mk,v 1.2 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: ternary.mk,v 1.3 2024/09/17 11:52:33 jperkin Exp $
 
 all:
        @for x in "" A= A=42; do ${.MAKE} -f ${MAKEFILE} show $$x; done
Index: pkgsrc/devel/bmake/files/unit-tests/varmisc.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmisc.exp:1.2 pkgsrc/devel/bmake/files/unit-tests/varmisc.exp:1.3
--- pkgsrc/devel/bmake/files/unit-tests/varmisc.exp:1.2 Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmisc.exp     Tue Sep 17 11:52:33 2024
@@ -43,29 +43,30 @@ export-appended: env mk
 parse-dynamic: parse-dynamic parse-dynamic before
 parse-dynamic: parse-dynamic parse-dynamic after
 parse-dynamic: parse-dynamic parse-dynamic after
-varerror-unclosed:begin
-make: in target "varerror-unclosed": Unclosed variable ""
-
-make: in target "varerror-unclosed": Unclosed variable "UNCLOSED"
-
-make: in target "varerror-unclosed": Unclosed variable "UNCLOSED"
-
-make: in target "varerror-unclosed": while evaluating variable "UNCLOSED" with value "": Unclosed variable "PATTERN"
-make: in target "varerror-unclosed": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}' for modifier "M${PATTERN"
-
-make: in target "varerror-unclosed": Unclosed variable "param"
-make: in target "varerror-unclosed": Unclosed variable "UNCLOSED."
-
-
-make: in target "varerror-unclosed": Unclosed variable "UNCLOSED.1"
-
-make: in target "varerror-unclosed": Unclosed variable "UNCLOSED.2"
-
-make: in target "varerror-unclosed": Unclosed variable "UNCLOSED.3"
-
-make: in target "varerror-unclosed": while evaluating variable "UNCLOSED_INDIR_2" with value "${UNCLOSED_INDIR_1}": while evaluating variable "UNCLOSED_INDIR_1" with value "${UNCLOSED_ORIG": 
Unclosed variable "UNCLOSED_ORIG"
-
-varerror-unclosed:end
+varerror-unclosed-1:begin
+make: Unclosed variable ""
+       in target "varerror-unclosed-2"
+make: Unclosed variable "UNCLOSED"
+       in target "varerror-unclosed-3"
+make: Unclosed variable "UNCLOSED"
+       in target "varerror-unclosed-4"
+make: Unclosed variable "PATTERN"
+       while evaluating variable "UNCLOSED" with value ""
+       in target "varerror-unclosed-5"
+make: Unclosed expression, expecting '}' for modifier "M${PATTERN"
+       while evaluating variable "UNCLOSED" with value ""
+       in target "varerror-unclosed-5"
+make: Unclosed variable "param"
+       in target "varerror-unclosed-6"
+make: Unclosed variable "UNCLOSED."
+       in target "varerror-unclosed-6"
+
+make: Unclosed variable "UNCLOSED.1"
+       in target "varerror-unclosed-7"
+make: Unclosed variable "UNCLOSED_ORIG"
+       while evaluating variable "UNCLOSED_INDIR_1" with value "${UNCLOSED_ORIG"
+       while evaluating variable "UNCLOSED_INDIR_2" with value "${UNCLOSED_INDIR_1}"
+       in target "varerror-unclosed-8"
 target1-flags: we have: one two
 target2-flags: we have: one two three four
 exit status 2
Index: pkgsrc/devel/bmake/files/unit-tests/varmod-edge.exp
diff -u pkgsrc/devel/bmake/files/unit-tests/varmod-edge.exp:1.2 pkgsrc/devel/bmake/files/unit-tests/varmod-edge.exp:1.3
--- pkgsrc/devel/bmake/files/unit-tests/varmod-edge.exp:1.2     Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmod-edge.exp Tue Sep 17 11:52:34 2024
@@ -1,12 +1,25 @@
-make: "varmod-edge.mk" line 60: while evaluating variable "MOD" with value "${INP:M${:U*)}}": while evaluating variable "INP" with value "(parentheses)": while evaluating "${:U*)" with value "*)": 
Unclosed expression, expecting '}' for modifier "U*)"
-make: "varmod-edge.mk" line 88: while evaluating variable "MOD" with value "${INP:M${:U[[}}": while evaluating variable "INP" with value "[ [[ [[[": Unfinished character list in pattern '[[' of 
modifier ':M'
-make: "varmod-edge.mk" line 178: while evaluating variable "MOD" with value "${INP:a\=b}": while evaluating variable "INP" with value "file.c file...": Unfinished modifier ('=' missing)
-make: "varmod-edge.mk" line 194: while evaluating variable "MOD" with value "${INP::::}": while evaluating variable "INP" with value "value": Unknown modifier ":"
-make: "varmod-edge.mk" line 194: while evaluating variable "MOD" with value "${INP::::}": while evaluating variable "INP" with value "": Unknown modifier ":"
-make: "varmod-edge.mk" line 203: while evaluating "${:Z}" with value "": Unknown modifier "Z"
-make: "varmod-edge.mk" line 203: Malformed conditional (${:Z})
-make: "varmod-edge.mk" line 217: while evaluating "${:S,}" with value "": Unfinished modifier (',' missing)
-make: "varmod-edge.mk" line 217: Malformed conditional (${:S,})
+make: "varmod-edge.mk" line 60: Unclosed expression, expecting '}' for modifier "U*)"
+       while evaluating "${:U*)" with value "*)"
+       while evaluating variable "INP" with value "(parentheses)"
+       while evaluating variable "MOD" with value "${INP:M${:U*)}}"
+make: "varmod-edge.mk" line 88: Unfinished character list in pattern '[[' of modifier ':M'
+       while evaluating variable "INP" with value "[ [[ [[["
+       while evaluating variable "MOD" with value "${INP:M${:U[[}}"
+make: "varmod-edge.mk" line 178: Unfinished modifier ('=' missing)
+       while evaluating variable "INP" with value "file.c file..."
+       while evaluating variable "MOD" with value "${INP:a\=b}"
+make: "varmod-edge.mk" line 194: Unknown modifier ":"
+       while evaluating variable "INP" with value "value"
+       while evaluating variable "MOD" with value "${INP::::}"
+make: "varmod-edge.mk" line 194: Unknown modifier ":"
+       while evaluating variable "INP" with value ""
+       while evaluating variable "MOD" with value "${INP::::}"
+make: "varmod-edge.mk" line 203: Unknown modifier "Z"
+       while evaluating "${:Z}" with value ""
+make: "varmod-edge.mk" line 203: Malformed conditional '${:Z}'
+make: "varmod-edge.mk" line 217: Unfinished modifier (',' missing)
+       while evaluating "${:S,}" with value ""
+make: "varmod-edge.mk" line 217: Malformed conditional '${:S,}'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1

Index: pkgsrc/devel/bmake/files/unit-tests/doterror.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/doterror.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/doterror.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/doterror.mk:1.4 Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/doterror.mk     Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: doterror.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: doterror.mk,v 1.5 2024/09/17 11:52:31 jperkin Exp $
 
 
 .BEGIN:
Index: pkgsrc/devel/bmake/files/unit-tests/dotwait.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/dotwait.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/dotwait.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/dotwait.mk:1.4  Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/dotwait.mk      Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: dotwait.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: dotwait.mk,v 1.5 2024/09/17 11:52:31 jperkin Exp $
 
 THISMAKEFILE:= ${.PARSEDIR}/${.PARSEFILE}
 
Index: pkgsrc/devel/bmake/files/unit-tests/error.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/error.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/error.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/error.mk:1.4    Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/error.mk        Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: error.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: error.mk,v 1.5 2024/09/17 11:52:31 jperkin Exp $
 #
 # Demonstrate that the .error directive exits immediately, without
 # continuing parsing until the end of the file.
Index: pkgsrc/devel/bmake/files/unit-tests/escape.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/escape.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/escape.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/escape.mk:1.4   Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/escape.mk       Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: escape.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: escape.mk,v 1.5 2024/09/17 11:52:31 jperkin Exp $
 #
 # Test backslash escaping.
 
Index: pkgsrc/devel/bmake/files/unit-tests/export-all.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/export-all.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/export-all.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/export-all.mk:1.4       Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/export-all.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: export-all.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: export-all.mk,v 1.5 2024/09/17 11:52:31 jperkin Exp $
 
 UT_OK= good
 UT_F=  fine
Index: pkgsrc/devel/bmake/files/unit-tests/export-env.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/export-env.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/export-env.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/export-env.mk:1.4       Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/export-env.mk   Tue Sep 17 11:52:31 2024
@@ -1,4 +1,4 @@
-# $NetBSD: export-env.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: export-env.mk,v 1.5 2024/09/17 11:52:31 jperkin Exp $
 
 # our normal .export, subsequent changes affect the environment
 UT_TEST=       this
Index: pkgsrc/devel/bmake/files/unit-tests/export.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/export.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/export.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/export.mk:1.4   Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/export.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: export.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: export.mk,v 1.5 2024/09/17 11:52:32 jperkin Exp $
 
 UT_TEST=       export
 UT_FOO=                foo${BAR}
Index: pkgsrc/devel/bmake/files/unit-tests/impsrc.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/impsrc.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/impsrc.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/impsrc.mk:1.4   Mon Jul 15 09:10:20 2024
+++ pkgsrc/devel/bmake/files/unit-tests/impsrc.mk       Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: impsrc.mk,v 1.4 2024/07/15 09:10:20 jperkin Exp $
+# $NetBSD: impsrc.mk,v 1.5 2024/09/17 11:52:32 jperkin Exp $
 
 # Does ${.IMPSRC} work properly?
 # It should be set, in order of precedence, to ${.TARGET} of:
Index: pkgsrc/devel/bmake/files/unit-tests/moderrs.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/moderrs.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/moderrs.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/moderrs.mk:1.4  Mon Jul 15 09:10:21 2024
+++ pkgsrc/devel/bmake/files/unit-tests/moderrs.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: moderrs.mk,v 1.4 2024/07/15 09:10:21 jperkin Exp $
+# $NetBSD: moderrs.mk,v 1.5 2024/09/17 11:52:32 jperkin Exp $
 #
 # various modifier error tests
 
@@ -12,43 +12,45 @@ FIB=        1 1 2 3 5 8 13 21 34
 
 all:   mod-unknown-direct mod-unknown-indirect
 all:   unclosed-direct unclosed-indirect
-all:   unfinished-indirect unfinished-loop
-all:   loop-close
-all:   words
-all:   exclam
-all:   mod-subst-delimiter
-all:   mod-regex-delimiter
-all:   mod-ts-parse
-all:   mod-t-parse
-all:   mod-ifelse-parse
+all:   unfinished-indirect unfinished-loop-{1,2,3}
+all:   loop-close-{1,2}
+all:   words-{1,2,3}
+all:   exclam-{1,2}
+all:   mod-subst-delimiter-{1,2,3,4,5,6,7}
+all:   mod-regex-delimiter-{1,2,3,4,5,6,7}
+all:   mod-ts-parse-{1,2,3,4,5}
+all:   mod-t-parse-{1,2,3,4}
+all:   mod-ifelse-parse-{1,2,3,4,5}
 all:   mod-remember-parse
-all:   mod-sysv-parse
+all:   mod-sysv-parse-{1,2,3,4}
 
-mod-unknown-direct: print-footer
-# expect: make: in target "mod-unknown-direct": while evaluating variable "VAR" with value "TheVariable": Unknown modifier "Z"
+mod-unknown-direct:
+# expect: make: Unknown modifier "Z"
        @echo 'VAR:Z=before-${VAR:Z}-after'
 
-mod-unknown-indirect: print-footer
-# expect: make: in target "mod-unknown-indirect": while evaluating variable "VAR" with value "TheVariable": Unknown modifier "Z"
+mod-unknown-indirect:
+# expect: make: Unknown modifier "Z"
        @echo 'VAR:${MOD_UNKN}=before-${VAR:${MOD_UNKN}:inner}-after'
 
-unclosed-direct: print-header print-footer
-# expect: make: in target "unclosed-direct": while evaluating variable "VAR" with value "Thevariable": Unclosed expression, expecting '}' for modifier "S,V,v,"
+unclosed-direct:
+# expect: make: Unclosed expression, expecting '}' for modifier "S,V,v,"
        @echo VAR:S,V,v,=${VAR:S,V,v,
 
-unclosed-indirect: print-header print-footer
-# expect: make: in target "unclosed-indirect": while evaluating variable "VAR" with value "Thevariable": Unclosed expression after indirect modifier, expecting '}'
+unclosed-indirect:
+# expect: make: Unclosed expression after indirect modifier, expecting '}'
        @echo VAR:${MOD_TERM},=${VAR:${MOD_S}
 
-unfinished-indirect: print-footer
-# expect: make: in target "unfinished-indirect": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+unfinished-indirect:
+# expect: make: Unfinished modifier (',' missing)
        -@echo "VAR:${MOD_TERM}=${VAR:${MOD_TERM}}"
 
-unfinished-loop: print-footer
-# expect: make: in target "unfinished-loop": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier ('@' missing)
+unfinished-loop-1:
+# expect: make: Unfinished modifier ('@' missing)
        @echo ${UNDEF:U1 2 3:@var}
-# expect: make: in target "unfinished-loop": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier ('@' missing)
+unfinished-loop-2:
+# expect: make: Unfinished modifier ('@' missing)
        @echo ${UNDEF:U1 2 3:@var@...}
+unfinished-loop-3:
        @echo ${UNDEF:U1 2 3:@var@${var}@}
 
 # The closing brace after the ${var} is part of the replacement string.
@@ -57,17 +59,20 @@ unfinished-loop: print-footer
 # braces must be balanced.
 # This is also contrary to the SysV modifier, where only the actually
 # used delimiter (either braces or parentheses) must be balanced.
-loop-close: print-header print-footer
-# expect: make: in target "loop-close": while evaluating variable "UNDEF" with value "1}... 2}... 3}...": Unclosed expression, expecting '}' for modifier "@var@${var}}...@"
+loop-close-1:
+# expect: make: Unclosed expression, expecting '}' for modifier "@var@${var}}...@"
        @echo ${UNDEF:U1 2 3:@var@${var}}...@
+loop-close-2:
        @echo ${UNDEF:U1 2 3:@var@${var}}...@}
 
-words: print-footer
-# expect: make: in target "words": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier (']' missing)
+words-1:
+# expect: make: Unfinished modifier (']' missing)
        @echo ${UNDEF:U1 2 3:[}
-# expect: make: in target "words": while evaluating variable "UNDEF" with value "1 2 3": Unfinished modifier (']' missing)
+words-2:
+# expect: make: Unfinished modifier (']' missing)
        @echo ${UNDEF:U1 2 3:[#}
 
+words-3:
        # out of bounds => empty
        @echo 13=${UNDEF:U1 2 3:[13]}
 
@@ -90,95 +95,117 @@ words: print-footer
        # That variable is undefined, resulting in an empty string.
        @echo 12345=${UNDEF:U1 2 3:[123451234512345123451234512345]:S,^$,ok,:S,^3$,ok,}
 
-exclam: print-footer
-# expect: make: in target "exclam": while evaluating variable "VARNAME" with value "": Unfinished modifier ('!' missing)
+exclam-1:
+# expect: make: Unfinished modifier ('!' missing)
        @echo ${VARNAME:!echo}
        # When the final exclamation mark is missing, there is no
        # fallback to the SysV substitution modifier.
        # If there were a fallback, the output would be "exclam",
        # and the above would have produced an "Unknown modifier '!'".
-# expect: make: in target "exclam": while evaluating variable "!" with value "!": Unfinished modifier ('!' missing)
+exclam-2:
+# expect: make: Unfinished modifier ('!' missing)
        @echo ${!:L:!=exclam}
 
-mod-subst-delimiter: print-footer
-# expect: make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Missing delimiter for modifier ':S'
+mod-subst-delimiter-1:
+# expect: make: Missing delimiter for modifier ':S'
        @echo 1: ${VAR:S
-# expect: make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-subst-delimiter-2:
+# expect: make: Unfinished modifier (',' missing)
        @echo 2: ${VAR:S,
-# expect: make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-subst-delimiter-3:
+# expect: make: Unfinished modifier (',' missing)
        @echo 3: ${VAR:S,from
-# expect: make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-subst-delimiter-4:
+# expect: make: Unfinished modifier (',' missing)
        @echo 4: ${VAR:S,from,
-# expect: make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-subst-delimiter-5:
+# expect: make: Unfinished modifier (',' missing)
        @echo 5: ${VAR:S,from,to
-# expect: make: in target "mod-subst-delimiter": while evaluating variable "VAR" with value "TheVariable": Unclosed expression, expecting '}' for modifier "S,from,to,"
+mod-subst-delimiter-6:
+# expect: make: Unclosed expression, expecting '}' for modifier "S,from,to,"
        @echo 6: ${VAR:S,from,to,
+mod-subst-delimiter-7:
        @echo 7: ${VAR:S,from,to,}
 
-mod-regex-delimiter: print-footer
-# expect: make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Missing delimiter for modifier ':C'
+mod-regex-delimiter-1:
+# expect: make: Missing delimiter for modifier ':C'
        @echo 1: ${VAR:C
-# expect: make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-regex-delimiter-2:
+# expect: make: Unfinished modifier (',' missing)
        @echo 2: ${VAR:C,
-# expect: make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-regex-delimiter-3:
+# expect: make: Unfinished modifier (',' missing)
        @echo 3: ${VAR:C,from
-# expect: make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-regex-delimiter-4:
+# expect: make: Unfinished modifier (',' missing)
        @echo 4: ${VAR:C,from,
-# expect: make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unfinished modifier (',' missing)
+mod-regex-delimiter-5:
+# expect: make: Unfinished modifier (',' missing)
        @echo 5: ${VAR:C,from,to
-# expect: make: in target "mod-regex-delimiter": while evaluating variable "VAR" with value "TheVariable": Unclosed expression, expecting '}' for modifier "C,from,to,"
+mod-regex-delimiter-6:
+# expect: make: Unclosed expression, expecting '}' for modifier "C,from,to,"
        @echo 6: ${VAR:C,from,to,
+mod-regex-delimiter-7:
        @echo 7: ${VAR:C,from,to,}
 
-mod-ts-parse: print-header print-footer
+mod-ts-parse-1:
        @echo ${FIB:ts}
+mod-ts-parse-2:
        @echo ${FIB:ts\65}      # octal 065 == U+0035 == '5'
-# expect: make: in target "mod-ts-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":ts\65oct"
+mod-ts-parse-3:
+# expect: make: Bad modifier ":ts\65oct"
        @echo ${FIB:ts\65oct}   # bad modifier
-# expect: make: in target "mod-ts-parse": while evaluating "${:U${FIB}:ts\65oct} # bad modifier, variable name is """ with value "1 1 2 3 5 8 13 21 34": Bad modifier ":ts\65oct"
+mod-ts-parse-4:
+# expect: make: Bad modifier ":ts\65oct"
        @echo ${:U${FIB}:ts\65oct} # bad modifier, variable name is ""
-# expect: make: in target "mod-ts-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":tsxy"
+mod-ts-parse-5:
+# expect: make: Bad modifier ":tsxy"
        @echo ${FIB:tsxy}       # modifier too long
 
-mod-t-parse: print-header print-footer
-# expect: make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":t"
+mod-t-parse-1:
+# expect: make: Bad modifier ":t"
        @echo ${FIB:t
-# expect: make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":txy"
+mod-t-parse-2:
+# expect: make: Bad modifier ":txy"
        @echo ${FIB:txy}
-# expect: make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":t"
+mod-t-parse-3:
+# expect: make: Bad modifier ":t"
        @echo ${FIB:t}
-# expect: make: in target "mod-t-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Bad modifier ":t"
+mod-t-parse-4:
+# expect: make: Bad modifier ":t"
        @echo ${FIB:t:M*}
 
-mod-ifelse-parse: print-footer
-# expect: make: in target "mod-ifelse-parse": while evaluating then-branch of condition "FIB": Unfinished modifier (':' missing)
+mod-ifelse-parse-1:
+# expect: make: Unfinished modifier (':' missing)
        @echo ${FIB:?
-# expect: make: in target "mod-ifelse-parse": while evaluating then-branch of condition "FIB": Unfinished modifier (':' missing)
+mod-ifelse-parse-2:
+# expect: make: Unfinished modifier (':' missing)
        @echo ${FIB:?then
-# expect: make: in target "mod-ifelse-parse": while evaluating else-branch of condition "FIB": Unfinished modifier ('}' missing)
+mod-ifelse-parse-3:
+# expect: make: Unfinished modifier ('}' missing)
        @echo ${FIB:?then:
-# expect: make: in target "mod-ifelse-parse": while evaluating else-branch of condition "FIB": Unfinished modifier ('}' missing)
+mod-ifelse-parse-4:
+# expect: make: Unfinished modifier ('}' missing)
        @echo ${FIB:?then:else
+mod-ifelse-parse-5:
        @echo ${FIB:?then:else}
 
-mod-remember-parse: print-footer
+mod-remember-parse:
        @echo ${FIB:_}          # ok
-# expect: make: in target "mod-remember-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "__"
+# expect: make: Unknown modifier "__"
        @echo ${FIB:__}         # modifier name too long
 
-mod-sysv-parse: print-footer
-# expect: make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "3"
-# expect: make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "": Unclosed expression, expecting '}' for modifier "3"
+mod-sysv-parse-1:
+# expect: make: Unknown modifier "3"
+# expect: make: Unclosed expression, expecting '}' for modifier "3"
        @echo ${FIB:3
-# expect: make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "3="
-# expect: make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "": Unclosed expression, expecting '}' for modifier "3="
+mod-sysv-parse-2:
+# expect: make: Unknown modifier "3="
+# expect: make: Unclosed expression, expecting '}' for modifier "3="
        @echo ${FIB:3=
-# expect: make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "1 1 2 3 5 8 13 21 34": Unknown modifier "3=x3"
-# expect: make: in target "mod-sysv-parse": while evaluating variable "FIB" with value "": Unclosed expression, expecting '}' for modifier "3=x3"
+mod-sysv-parse-3:
+# expect: make: Unknown modifier "3=x3"
+# expect: make: Unclosed expression, expecting '}' for modifier "3=x3"
        @echo ${FIB:3=x3
+mod-sysv-parse-4:
        @echo ${FIB:3=x3}       # ok
-
-print-header: .USEBEFORE
-       @echo $@:
-print-footer: .USE
-       @echo
Index: pkgsrc/devel/bmake/files/unit-tests/modmisc.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/modmisc.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/modmisc.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/modmisc.mk:1.4  Mon Jul 15 09:10:22 2024
+++ pkgsrc/devel/bmake/files/unit-tests/modmisc.mk      Tue Sep 17 11:52:32 2024
@@ -1,4 +1,4 @@
-# $NetBSD: modmisc.mk,v 1.4 2024/07/15 09:10:22 jperkin Exp $
+# $NetBSD: modmisc.mk,v 1.5 2024/09/17 11:52:32 jperkin Exp $
 #
 # miscellaneous modifier tests
 
Index: pkgsrc/devel/bmake/files/unit-tests/order.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/order.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/order.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/order.mk:1.4    Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/order.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: order.mk,v 1.4 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: order.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 
 # Test that .ORDER is handled correctly.
 # The explicit dependency the.o: the.h will make us examine the.h
Index: pkgsrc/devel/bmake/files/unit-tests/phony-end.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/phony-end.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/phony-end.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/phony-end.mk:1.4        Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/phony-end.mk    Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: phony-end.mk,v 1.4 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: phony-end.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 
 all ok also.ok bug phony:
        @echo '${.TARGET .PREFIX .IMPSRC:L:@v@$v="${$v}"@}'
Index: pkgsrc/devel/bmake/files/unit-tests/posix.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/posix.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/posix.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/posix.mk:1.4    Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/posix.mk        Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: posix.mk,v 1.4 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: posix.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 
 all:   x plus subs err
 
Index: pkgsrc/devel/bmake/files/unit-tests/posix1.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/posix1.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/posix1.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/posix1.mk:1.4   Mon Jul 15 09:10:25 2024
+++ pkgsrc/devel/bmake/files/unit-tests/posix1.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: posix1.mk,v 1.4 2024/07/15 09:10:25 jperkin Exp $
+# $NetBSD: posix1.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 
 # Keep the default suffixes from interfering, just in case.
 .SUFFIXES:
Index: pkgsrc/devel/bmake/files/unit-tests/unexport-env.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/unexport-env.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/unexport-env.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/unexport-env.mk:1.4     Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/unexport-env.mk Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: unexport-env.mk,v 1.4 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: unexport-env.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 
 # pick up a bunch of exported vars
 FILTER_CMD=    grep ^UT_
Index: pkgsrc/devel/bmake/files/unit-tests/unexport.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/unexport.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/unexport.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/unexport.mk:1.4 Mon Jul 15 09:10:27 2024
+++ pkgsrc/devel/bmake/files/unit-tests/unexport.mk     Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: unexport.mk,v 1.4 2024/07/15 09:10:27 jperkin Exp $
+# $NetBSD: unexport.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 
 # pick up a bunch of exported vars
 FILTER_CMD=    grep ^UT_
Index: pkgsrc/devel/bmake/files/unit-tests/varcmd.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varcmd.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/varcmd.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/varcmd.mk:1.4   Mon Jul 15 09:10:28 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varcmd.mk       Tue Sep 17 11:52:33 2024
@@ -1,4 +1,4 @@
-# $NetBSD: varcmd.mk,v 1.4 2024/07/15 09:10:28 jperkin Exp $
+# $NetBSD: varcmd.mk,v 1.5 2024/09/17 11:52:33 jperkin Exp $
 #
 # Test behaviour of recursive make and vars set on command line.
 #
Index: pkgsrc/devel/bmake/files/unit-tests/varmisc.mk
diff -u pkgsrc/devel/bmake/files/unit-tests/varmisc.mk:1.4 pkgsrc/devel/bmake/files/unit-tests/varmisc.mk:1.5
--- pkgsrc/devel/bmake/files/unit-tests/varmisc.mk:1.4  Mon Jul 15 09:10:29 2024
+++ pkgsrc/devel/bmake/files/unit-tests/varmisc.mk      Tue Sep 17 11:52:34 2024
@@ -1,5 +1,4 @@
-# $Id: varmisc.mk,v 1.4 2024/07/15 09:10:29 jperkin Exp $
-# $NetBSD: varmisc.mk,v 1.4 2024/07/15 09:10:29 jperkin Exp $
+# $NetBSD: varmisc.mk,v 1.5 2024/09/17 11:52:34 jperkin Exp $
 #
 # Miscellaneous variable tests.
 
@@ -8,7 +7,7 @@ all: unmatched_var_paren D_true U_true D
 all: save-dollars
 all: export-appended
 all: parse-dynamic
-all: varerror-unclosed
+all: varerror-unclosed-{1,2,3,4,5,6,7,8}
 
 unmatched_var_paren:
        @echo ${foo::=foo-text}
@@ -189,25 +188,30 @@ target1-flags: target1.c
 target2-flags: target2.c
        @echo $@: we have: ${FLAGS}
 
-varerror-unclosed:
+varerror-unclosed-1:
        @echo $@:begin
-# expect: make: in target "varerror-unclosed": Unclosed variable ""
+varerror-unclosed-2:
+# expect: make: Unclosed variable ""
        @echo $(
-# expect: make: in target "varerror-unclosed": Unclosed variable "UNCLOSED"
+varerror-unclosed-3:
+# expect: make: Unclosed variable "UNCLOSED"
        @echo $(UNCLOSED
-# expect: make: in target "varerror-unclosed": Unclosed variable "UNCLOSED"
+varerror-unclosed-4:
+# expect: make: Unclosed variable "UNCLOSED"
        @echo ${UNCLOSED
-# expect: make: in target "varerror-unclosed": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}' for modifier "M${PATTERN"
+varerror-unclosed-5:
+# expect: make: Unclosed expression, expecting '}' for modifier "M${PATTERN"
        @echo ${UNCLOSED:M${PATTERN
-# expect: make: in target "varerror-unclosed": Unclosed variable "param"
-# expect: make: in target "varerror-unclosed": Unclosed variable "UNCLOSED."
+varerror-unclosed-6:
+# expect: make: Unclosed variable "param"
+# expect: make: Unclosed variable "UNCLOSED."
        @echo ${UNCLOSED.${param
+varerror-unclosed-7:
        @echo $
 .for i in 1 2 3
-# expect: make: in target "varerror-unclosed": Unclosed variable "UNCLOSED.1"
-# expect: make: in target "varerror-unclosed": Unclosed variable "UNCLOSED.2"
-# expect: make: in target "varerror-unclosed": Unclosed variable "UNCLOSED.3"
+# expect: make: Unclosed variable "UNCLOSED.1"
        @echo ${UNCLOSED.${i}
 .endfor
+varerror-unclosed-8:
        @echo ${UNCLOSED_INDIR_2}
        @echo $@:end



Home | Main Index | Thread Index | Old Index