Imported from ../bash-3.2.48.tar.gz.

This commit is contained in:
Jari Aalto 2008-11-18 13:15:12 +00:00
commit f1be666c7d
47 changed files with 703 additions and 159 deletions

View file

@ -1821,11 +1821,17 @@ make_variable_value (var, value, flags)
oval = value_cell (var);
lval = evalexp (oval, &expok); /* ksh93 seems to do this */
if (expok == 0)
jump_to_top_level (DISCARD);
{
top_level_cleanup ();
jump_to_top_level (DISCARD);
}
}
rval = evalexp (value, &expok);
if (expok == 0)
jump_to_top_level (DISCARD);
{
top_level_cleanup ();
jump_to_top_level (DISCARD);
}
if (flags & ASS_APPEND)
rval += lval;
retval = itos (rval);
@ -3452,9 +3458,11 @@ push_func_var (data)
if (shell_variables == global_variables)
var->attributes &= ~(att_tempvar|att_propagate);
else
shell_variables->flags |= VC_HASTMPVAR;
shell_variables->flags |= VC_HASTMPVAR;
v->attributes |= var->attributes;
}
else
stupidly_hack_special_variables (var->name); /* XXX */
dispose_variable (var);
}
@ -3541,6 +3549,8 @@ push_exported_var (data)
var->attributes &= ~att_propagate;
v->attributes |= var->attributes;
}
else
stupidly_hack_special_variables (var->name); /* XXX */
dispose_variable (var);
}