Bash-4.3 patch 25

This commit is contained in:
Chet Ramey 2014-09-25 08:45:07 -04:00
commit b64a0e1d0b
5 changed files with 22 additions and 13 deletions

View file

@ -358,13 +358,11 @@ initialize_shell_variables (env, privmode)
temp_string[char_index] = ' ';
strcpy (temp_string + char_index + 1, string);
if (posixly_correct == 0 || legal_identifier (name))
parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
/* Ancient backwards compatibility. Old versions of bash exported
functions like name()=() {...} */
if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
name[char_index - 2] = '\0';
/* Don't import function names that are invalid identifiers from the
environment, though we still allow them to be defined as shell
variables. */
if (legal_identifier (name))
parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
if (temp_var = find_function (name))
{
@ -381,10 +379,6 @@ initialize_shell_variables (env, privmode)
last_command_exit_value = 1;
report_error (_("error importing function definition for `%s'"), name);
}
/* ( */
if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
name[char_index - 2] = '('; /* ) */
}
#if defined (ARRAY_VARS)
# if ARRAY_EXPORT