]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - bash/patches/bash-4.3-noecho.patch
bash: Update to 4.3
[ipfire-3.x.git] / bash / patches / bash-4.3-noecho.patch
diff --git a/bash/patches/bash-4.3-noecho.patch b/bash/patches/bash-4.3-noecho.patch
new file mode 100644 (file)
index 0000000..8a2842a
--- /dev/null
@@ -0,0 +1,39 @@
+--- bash-4.3/parse.y   2014-05-29 14:46:09.545543384 +0200
++++ bash-4.3/parse.y   2014-05-29 14:48:40.758626213 +0200
+@@ -3858,6 +3858,8 @@ xparse_dolparen (base, string, indp, fla
+   save_parser_state (&ps);
+   save_input_line_state (&ls);
+   orig_eof_token = shell_eof_token;
++  /* avoid echoing every substitution again */
++  echo_input_at_read = 0;
+   /*(*/
+   parser_state |= PST_CMDSUBST|PST_EOFTOKEN;  /* allow instant ')' */ /*(*/
+--- bash-4.3/subst.c   2014-05-29 16:04:35.802784549 +0200
++++ bash-4.3/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