mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-02 09:50:50 +02:00
commit bash-20130720 snapshot
This commit is contained in:
+7
-3
@@ -607,7 +607,7 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
|
||||
want to note this before execute_in_subshell modifies the
|
||||
COMMAND struct. Need to keep in mind that execute_in_subshell
|
||||
runs the exit trap for () subshells itself. */
|
||||
/* This handles { command; } &
|
||||
/* This handles { command; } & */
|
||||
s = user_subshell == 0 && command->type == cm_group && pipe_in == NO_PIPE && pipe_out == NO_PIPE && asynchronous;
|
||||
/* run exit trap for : | { ...; } and { ...; } | : */
|
||||
/* run exit trap for : | ( ...; ) and ( ...; ) | : */
|
||||
@@ -3748,13 +3748,13 @@ fix_assignment_words (words)
|
||||
{
|
||||
WORD_LIST *w, *wcmd;
|
||||
struct builtin *b;
|
||||
int assoc, global, array;
|
||||
int assoc, global, array, integer;
|
||||
|
||||
if (words == 0)
|
||||
return;
|
||||
|
||||
b = 0;
|
||||
assoc = global = array = 0;
|
||||
assoc = global = array = integer = 0;
|
||||
|
||||
/* Skip over assignment statements preceding a command name */
|
||||
wcmd = words;
|
||||
@@ -3789,6 +3789,8 @@ fix_assignment_words (words)
|
||||
#endif
|
||||
if (global)
|
||||
w->word->flags |= W_ASSNGLOBAL;
|
||||
if (integer)
|
||||
w->word->flags |= W_ASSIGNINT;
|
||||
}
|
||||
#if defined (ARRAY_VARS)
|
||||
/* Note that we saw an associative array option to a builtin that takes
|
||||
@@ -3814,6 +3816,8 @@ fix_assignment_words (words)
|
||||
array = 1;
|
||||
if ((wcmd->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'g'))
|
||||
global = 1;
|
||||
if ((wcmd->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'i'))
|
||||
integer = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user