projects
/
platform
/
upstream
/
bash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bash-4.2 patch 25
[platform/upstream/bash.git]
/
subst.c
diff --git
a/subst.c
b/subst.c
index
df25f63
..
c9a0678
100644
(file)
--- a/
subst.c
+++ b/
subst.c
@@
-366,6
+366,11
@@
dump_word_flags (flags)
f &= ~W_ASSNBLTIN;
fprintf (stderr, "W_ASSNBLTIN%s", f ? "|" : "");
}
f &= ~W_ASSNBLTIN;
fprintf (stderr, "W_ASSNBLTIN%s", f ? "|" : "");
}
+ if (f & W_ASSNGLOBAL)
+ {
+ f &= ~W_ASSNGLOBAL;
+ fprintf (stderr, "W_ASSNGLOBAL%s", f ? "|" : "");
+ }
if (f & W_COMPASSIGN)
{
f &= ~W_COMPASSIGN;
if (f & W_COMPASSIGN)
{
f &= ~W_COMPASSIGN;
@@
-2803,7
+2808,7
@@
do_assignment_internal (word, expand)
}
else if (assign_list)
{
}
else if (assign_list)
{
- if (
word->flags & W_ASSIGNARG
)
+ if (
(word->flags & W_ASSIGNARG) && (word->flags & W_ASSNGLOBAL) == 0
)
aflags |= ASS_MKLOCAL;
if (word->flags & W_ASSIGNASSOC)
aflags |= ASS_MKASSOC;
aflags |= ASS_MKLOCAL;
if (word->flags & W_ASSIGNASSOC)
aflags |= ASS_MKASSOC;
@@
-7274,6
+7279,7
@@
parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
default:
case '\0':
bad_substitution:
default:
case '\0':
bad_substitution:
+ last_command_exit_value = EXECUTION_FAILURE;
report_error (_("%s: bad substitution"), string ? string : "??");
FREE (value);
FREE (temp);
report_error (_("%s: bad substitution"), string ? string : "??");
FREE (value);
FREE (temp);