bug-make@gnu.org Edition 0.75, last updated 17 January 2020, of The GNU Make Manual, for GNUmake version 4.3, PDF document downloaded newly from GNU Make web.
Hello, Reg. example presented at page 63 bottom: when to ignore comment part inclusively comment starting '#', I see one whitespace which can be seen as leading one: between ':=' and ' $(nullstring)' yet one more whitespace between ' $(nullstring)' and '#' opening comment. Which one is the question of "introducing controlled leading whitespace" about? Why the whitespace between ' $(nullstring)' and '#' opening comment is to be seen as leading space rather than trailing space? Why is a variable of null-string value used to protect leading space? I expected variable of value with starting leading space (or nothing but one single whitespace in value) to be used here. Actually the elaboration was going to discuss question of introducing controlled leading whitespace, it makes however a switch to discussion of trailing spaces, I miss here continuity. Why one of few edge cases is used to illustrate question of introducing controlled leading whitespaces? Wouldn't be more illustrative and more clear for reader if some non-edge case would be used here? Manual frequently uses edge cases to illustrate concept introduced newly into elaborations, this is not productive for reading and understanding. Please illustrate each next make element using straight forward cases, otherwise description runs onto risk to be unclear if effect A is a property of elaborated element or rather of edge-case, or a mix of those two. Following statement is also made in ch. 6.2: Leading whitespace characters are discarded from your input before substitution of variable references and function calls. Is this a behavior common for variables of both types of expandability, simply and recursive? Best Regards kdt