make/tests/scripts/options
Dmitry Goncharov a382ac6cd1 [SV 64803] Set origin for unmodified variables after -e
Ensure the origin of all variables inherited from the environment is
"environment override" if -e is given.  Previously only variables
that were set in the makefile had this origin.

PDS: Most of these changes are from Dmitry but I slightly modified
the algorithm: instead of rearranging the way in which MAKEFLAGS is
parsed we reset the env_override value to the default before we
re-parse MAKEFLAGS, then we set the origin of all env vars to the
correct value based on the new setting.

* NEWS: Mention the change for backward-compatibility.
* src/main.c (main): Ensure MAKEFLAGS is always marked special.
(reset_makeflags): Set env_overrides back to default before parsing
MAKEFLAGS.
(decode_switches): Call reset_env_override() to check for changes.
* src/variable.h (reset_env_override): Declare a new function.
* src/variable.c (reset_env_override): Go through all env variables
and ensure the origin is correct based on env_overrides.
(set_env_override): Helper function for the hash.
* tests/scripts/functions/foreach: Fix tests.
* tests/scripts/functions/let: Ditto.
* tests/scripts/functions/origin: Ditto.
* tests/scripts/options/dash-e: Add tests.
2024-02-04 11:34:49 -05:00
..
dash-B
dash-C
dash-d
dash-e [SV 64803] Set origin for unmodified variables after -e 2024-02-04 11:34:49 -05:00
dash-f
dash-I
dash-k tests: Run each file in a separate directory 2023-04-02 17:32:09 -04:00
dash-l
dash-n
dash-q
dash-r [SV 64107] Disable builtins immediately on -R or -r 2023-04-30 09:40:50 -04:00
dash-s
dash-t
dash-W
eval
general
print-directory
print-targets [SV 64571] Add --print-targets option 2024-01-08 23:31:58 -05:00
shuffle
symlinks tests: Run each file in a separate directory 2023-04-02 17:32:09 -04:00
warn [SV 64115] Suppress warnings about undefined GNUMAKEFLAGS 2023-04-30 09:40:50 -04:00