mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-04 01:08:19 +02:00
Bash-5.2 patch 23: fix local - from overwriting saved set of options
This commit is contained in:
+12
-4
@@ -420,11 +420,19 @@ declare_internal (list, local_var)
|
||||
|
||||
if (local_var && variable_context && STREQ (name, "-"))
|
||||
{
|
||||
int o;
|
||||
|
||||
o = localvar_inherit;
|
||||
localvar_inherit = 0;
|
||||
var = make_local_variable ("-", 0);
|
||||
FREE (value_cell (var)); /* just in case */
|
||||
value = get_current_options ();
|
||||
var_setvalue (var, value);
|
||||
VSETATTR (var, att_invisible);
|
||||
localvar_inherit = o;
|
||||
|
||||
if (value_cell (var) == NULL) /* no duplicate instances */
|
||||
{
|
||||
value = get_current_options ();
|
||||
var_setvalue (var, value);
|
||||
VSETATTR (var, att_invisible);
|
||||
}
|
||||
NEXT_VARIABLE ();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user