mirror of
https://git.savannah.gnu.org/git/make.git
synced 2025-01-13 01:07:36 +00:00
70ba0357a0
If we detect a recursive variable reference when constructing the environment for the shell function, return the original value from the caller's environment. Other options such as failing, returning the empty string, or returning the unexpanded make variable value have been shown to not behave well in real-world environments. If the variable doesn't exist in the caller's environment, return the empty string. Found by Sergei Trofimovich <slyich@gmail.com> when testing older versions of autoconf. * NEWS: Clarify this behavior. * doc/make.texi (Shell Function): Ditto. Also add info about !=. * src/expand.c (recursively_expand_for_file): Search the caller's environment if we detect a recursive variable expansion. * tests/scripts/functions/shell: Add tests for this behavior. |
||
---|---|---|
.. | ||
abspath | ||
addprefix | ||
addsuffix | ||
andor | ||
basename | ||
call | ||
dir | ||
error | ||
eval | ||
file | ||
filter-out | ||
findstring | ||
flavor | ||
foreach | ||
guile | ||
if | ||
intcmp | ||
join | ||
let | ||
notdir | ||
origin | ||
realpath | ||
shell | ||
sort | ||
strip | ||
substitution | ||
suffix | ||
value | ||
warning | ||
wildcard | ||
word |