Follow-up Comment #3, bug #46995 (project make): My apologies for the double-post. I responded to the mailing list and that didn't add it to the bug history.
> So I understand that the problem actually is that > foreach adds whitespace into variable name. > > $(foreach var , $(LIST), do something with $(var )) > > while in contrast for example 'call' knows to strip > whitespace from a var name so this: > > $(call var ,$(ARG)) > > will actually invoke $(var) and not $(var ). Yes, that's the jist of it. > Don't think I can change the bug topic. > Is that a known issue with an already open bug? I don't know of one, but this is probably sufficient. I can't think of a valid situation where someone would want leading/trailing whitespace as part of a variable name, so it's probably safe to just call strip( gmk_expand( argv[0] ) ) inside the C function backing $(foreach) and have done with it. It would still allow the temporary variable to use whitespace between non-whitespace characters, and that seems like the most obscure case that should be supported. For clarity: this can be reproduced /without/ the define like so: > $(foreach variable_name > , list of values > , expression > ) In that case the name of the variable has a space + newline at the end. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?46995> _______________________________________________ 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