On Thu, Oct 20, 2016 at 09:55:33AM -0600, Todd C. Miller wrote: > On Thu, 20 Oct 2016 15:22:44 +0200, Marc Espie wrote: > > Comments inline. > I find "Expand the value" to be confusing. Would the following > also be accurate? > > Perform variable expansion and pass the result to the shell for ^^^ on the spot > execution only when the value is needed, assigning the result > to the variable. It's impossible to do variable expansion later and have clear semantics (as the first execution may happen in different locations in the makefile)
> > case '!': > > if (type & VAR_SHELL) > > + if (type & (VAR_APPEND)) > > + type = VAR_INVALID; > > + else > > + type = VAR_LAZYSHELL; > > I know this is correct but I'd really like to see braces around > that child if/else statement so it doesn't end up unbalanced by a > future edit. > Heh. I did add braces originally, but didn't like them too much aesthetically. I can definitely put them back.