On Tue, 2024-03-26 at 10:15 -0700, Kaz Kylheku wrote: > However, I'm noticing that expansion preserves the semantic > boundaries, which is important. If we have $(x) that expands > to a,b, then we /can/ invoke $(call $(x),c,d). The delimiting > of argument material must be happening prior to expansions > (at least in the abstract).
Yes, this is true for most parts of the parser and is a common and long-standing way to avoid issues with special characters and parsing. There's no chance of this ever changing. Make (almost) always does word separation BEFORE it does expansion. I actually can't think of a place where this is not true but it's possible I'm forgetting something.