You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
--- bash-4.2/parse.y 2014-05-29 14:46:09.545543384 +0200 |
|
+++ bash-4.2/parse.y 2014-05-29 14:48:40.758626213 +0200 |
|
@@ -3858,6 +3858,8 @@ xparse_dolparen (base, string, indp, fla |
|
sflags |= SEVAL_NOLONGJMP; |
|
save_parser_state (&ps); |
|
save_input_line_state (&ls); |
|
+ /* avoid echoing every substitution again */ |
|
+ echo_input_at_read = 0; |
|
|
|
/*(*/ |
|
parser_state |= PST_CMDSUBST|PST_EOFTOKEN; /* allow instant ')' */ /*(*/ |
|
--- bash-4.2/subst.c 2014-05-29 16:04:35.802784549 +0200 |
|
+++ bash-4.2/subst.c 2014-05-29 16:08:25.021942676 +0200 |
|
@@ -7103,6 +7103,7 @@ param_expand (string, sindex, quoted, ex |
|
WORD_LIST *list; |
|
WORD_DESC *tdesc, *ret; |
|
int tflag; |
|
+ int old_echo_input; |
|
|
|
zindex = *sindex; |
|
c = string[++zindex]; |
|
@@ -7401,6 +7402,9 @@ arithsub: |
|
} |
|
|
|
comsub: |
|
+ old_echo_input = echo_input_at_read; |
|
+ /* avoid echoing every substitution again */ |
|
+ echo_input_at_read = 0; |
|
if (pflags & PF_NOCOMSUB) |
|
/* we need zindex+1 because string[zindex] == RPAREN */ |
|
temp1 = substring (string, *sindex, zindex+1); |
|
@@ -7413,6 +7417,7 @@ comsub: |
|
} |
|
FREE (temp); |
|
temp = temp1; |
|
+ echo_input_at_read = old_echo_input; |
|
break; |
|
|
|
/* Do POSIX.2d9-style arithmetic substitution. This will probably go
|
|
|