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

This commit is contained in:
Jari Aalto
2009-09-12 16:46:59 +00:00
parent 0628567a28
commit f1be666c7d
47 changed files with 703 additions and 159 deletions
+13 -3
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);
}