Follow-up Comment #1, bug #45728 (project make): I think the problem is a bit larger than what is exhibited here.
I started with the following script: #!/bin/bash # gmake --version; exec gmake --warn-undefined-variables -f "$0" "$@" MY_foo:=foo undefine MY_foo MY_bar:=bar $(warning MY variables: $(filter MY_%,${.VARIABLES})) $(foreach x,$(filter MY_%,${.VARIABLES}),$(eval undefine ${x})) MY_baz:=baz $(warning MY Variables: $(filter MY_%,${.VARIABLES})) all: ; @true If I run that script, I get output on par with the originally submitted bug -- though it should be noted that it at least appears to work fine unless you use $(foreach). If I add an evaluation of .VARIABLES between lines 6 & 7 (copy/paste one of the $(warning) lines) I get different (also buggy) behavior. If I put the $(warning) line in a variable and evaluate that, I get other buggy behavior. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?45728> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make