Follow-up Comment #8, bug #65533 (group make):
> we try to limit our use of recursively expanded variables Goodness me, that's a radical lesson to draw. I wouldn't encourage that here, except with respect to $(shell), where for decades I've found it to be a good idea, in most circumstances, to arrange things so you can := rather than =. > There seems to be [something] seriously wrong here. If you wanted to try to pin it on the particular change cited here, the NEWS entry was related to: https://savannah.gnu.org/bugs/index.php?10593 ... with the crux of the change being: https://cgit.git.savannah.gnu.org/cgit/make.git/diff/?h=4.4&id=98da874c43035a490cdca81331724f233a3d0c9a There was at least one later change in the same area: https://savannah.gnu.org/bugs/index.php?63016 ... so: https://cgit.git.savannah.gnu.org/cgit/make.git/commit/?id=7d484017077089ac2642b89da8984ca46a07323d You could try backing those out. I wondered if you could achieve a similar result by initializing env_recursion to one instead of zero but that didn't revert the behavior exhibited by my example here. A small hack that did is: martind@stormy:~/download/make$ git diff diff --git a/src/function.c b/src/function.c index a1617793..b3648b74 100644 --- a/src/function.c +++ b/src/function.c @@ -1864,7 +1864,7 @@ func_shell_base (char *o, char **argv, int trim_newlines) errfd = (output_context && output_context->err >= 0 ? output_context->err : FD_STDERR); - child.environment = target_environment (NULL, 0); + child.environment = environ; //target_environment (NULL, 0); #if MK_OS_DOS fpipe = msdos_openpipe (pipedes, &pid, argv[0]); @@ -1992,7 +1992,7 @@ func_shell_base (char *o, char **argv, int trim_newlines) free (command_argv); } - free_childbase (&child); + //free_childbase (&child); return o; } martind@stormy:~/download/make$ I wouldn't put such a change into production but, if it doesn't help a test build, then you're probably on the wrong track. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?65533> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature
