mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-06 10:12:38 +02:00
commit bash-20131213 snapshot
This commit is contained in:
+11
-2
@@ -2196,7 +2196,7 @@ make_local_variable (name)
|
||||
old_var = find_variable (name);
|
||||
if (old_var && local_p (old_var) && old_var->context == variable_context)
|
||||
{
|
||||
VUNSETATTR (old_var, att_invisible);
|
||||
VUNSETATTR (old_var, att_invisible); /* XXX */
|
||||
return (old_var);
|
||||
}
|
||||
|
||||
@@ -2277,6 +2277,8 @@ make_local_variable (name)
|
||||
if (ifsname (name))
|
||||
setifs (new_var);
|
||||
|
||||
if (was_tmpvar == 0)
|
||||
VSETATTR (new_var, att_invisible); /* XXX */
|
||||
return (new_var);
|
||||
}
|
||||
|
||||
@@ -2650,7 +2652,14 @@ bind_variable (name, value, flags)
|
||||
{
|
||||
nv = find_variable_last_nameref_context (v, vc, &nvc);
|
||||
if (nv && nameref_p (nv))
|
||||
return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags));
|
||||
{
|
||||
/* If this nameref variable doesn't have a value yet,
|
||||
set the value. Otherwise, assign using the value as
|
||||
normal. */
|
||||
if (nameref_cell (nv) == 0)
|
||||
return (bind_variable_internal (nv->name, value, nvc->table, 0, flags));
|
||||
return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags));
|
||||
}
|
||||
else
|
||||
v = nv;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user