Changeset e307159


Ignore:
Timestamp:
Aug 5, 2013, 12:46:25 PM (11 years ago)
Author:
William Harrington <kb0iic@…>
Branches:
clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
3c8789d
Parents:
f5a6b13
Message:

Update Bash to patch level 045.

Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • BOOK/introduction/common/changelog.xml

    rf5a6b13 re307159  
    4545          <para>[William Harrington] - Remove config cache entry for final-system Bison.</para>
    4646        </listitem>
    47 
     47        <listitem>
     48          <para>[William Harrington] - Update Bash patch to upstream version 4.2-045.</para>
     49        </listitem>
    4850      </itemizedlist>
    4951    </listitem>
  • BOOK/patches.ent

    rf5a6b13 re307159  
    55<!-- Start of Common Patches -->
    66
    7 <!ENTITY bash-branch_update-patch "bash-&bash-version;-branch_update-6.patch">
    8 <!ENTITY bash-branch_update-patch-md5 "23c68ff88198537401d49ab6424b005d">
    9 <!ENTITY bash-branch_update-patch-size "54 KB">
     7<!ENTITY bash-branch_update-patch "bash-&bash-version;-branch_update-7.patch">
     8<!ENTITY bash-branch_update-patch-md5 "4dfb1ce9b5d0040eae06e66157ab213a">
     9<!ENTITY bash-branch_update-patch-size "58 KB">
    1010
    1111<!-- Binutils branch update area
  • patches/bash-4.2-branch_update-7.patch

    rf5a6b13 re307159  
    11Submitted By: William Harrington (kb0iic at gmail dot com)
    2 Date: 11-04-2012
     2Date: 05-08-2013
    33Initial Package Version: 4.2
    44Origin: Upstream
    55Upstream Status: Applied
    6 Description: Contains all upstream patches up to 4.2-039
     6Description: Contains all upstream patches up to 4.2-045
    77
    88diff -Naur bash-4.2.orig/assoc.c bash-4.2/assoc.c
    99--- bash-4.2.orig/assoc.c       2009-08-06 00:19:40.000000000 +0000
    10 +++ bash-4.2/assoc.c    2012-11-04 22:45:00.778727333 +0000
     10+++ bash-4.2/assoc.c    2013-03-12 21:55:21.530771482 +0000
    1111@@ -77,6 +77,11 @@
    1212   b = hash_search (key, hash, HASH_CREATE);
     
    2323diff -Naur bash-4.2.orig/bashline.c bash-4.2/bashline.c
    2424--- bash-4.2.orig/bashline.c    2011-01-16 20:32:47.000000000 +0000
    25 +++ bash-4.2/bashline.c 2012-11-04 22:45:00.848727141 +0000
     25+++ bash-4.2/bashline.c 2013-03-12 21:55:21.646771944 +0000
    2626@@ -121,6 +121,9 @@
    2727 static int filename_completion_ignore __P((char **));
     
    309309diff -Naur bash-4.2.orig/bashline.h bash-4.2/bashline.h
    310310--- bash-4.2.orig/bashline.h    2009-01-04 19:32:22.000000000 +0000
    311 +++ bash-4.2/bashline.h 2012-11-04 22:45:00.848727141 +0000
     311+++ bash-4.2/bashline.h 2013-03-12 21:55:21.646771944 +0000
    312312@@ -33,10 +33,15 @@
    313313 extern void bashline_reinitialize __P((void));
     
    328328diff -Naur bash-4.2.orig/builtins/declare.def bash-4.2/builtins/declare.def
    329329--- bash-4.2.orig/builtins/declare.def  2010-05-30 22:25:21.000000000 +0000
    330 +++ bash-4.2/builtins/declare.def       2012-11-04 22:45:00.808727251 +0000
     330+++ bash-4.2/builtins/declare.def       2013-03-12 21:55:21.587771709 +0000
    331331@@ -513,6 +513,11 @@
    332332              *subscript_start = '[';   /* ] */
     
    343343diff -Naur bash-4.2.orig/builtins/fc.def bash-4.2/builtins/fc.def
    344344--- bash-4.2.orig/builtins/fc.def       2010-05-30 22:25:38.000000000 +0000
    345 +++ bash-4.2/builtins/fc.def    2012-11-04 22:45:00.775394009 +0000
     345+++ bash-4.2/builtins/fc.def    2013-03-12 21:55:21.521771446 +0000
    346346@@ -304,7 +304,7 @@
    347347   last_hist = i - rh - hist_last_line_added;
     
    381381diff -Naur bash-4.2.orig/builtins/mapfile.def bash-4.2/builtins/mapfile.def
    382382--- bash-4.2.orig/builtins/mapfile.def  2010-05-30 02:09:47.000000000 +0000
    383 +++ bash-4.2/builtins/mapfile.def       2012-11-04 22:45:01.008726689 +0000
     383+++ bash-4.2/builtins/mapfile.def       2013-03-12 21:55:21.675772060 +0000
    384384@@ -195,13 +195,9 @@
    385385   /* Reset the buffer for bash own stream */
     
    412412diff -Naur bash-4.2.orig/builtins/printf.def bash-4.2/builtins/printf.def
    413413--- bash-4.2.orig/builtins/printf.def   2010-11-23 15:02:55.000000000 +0000
    414 +++ bash-4.2/builtins/printf.def        2012-11-04 22:45:00.822060547 +0000
     414+++ bash-4.2/builtins/printf.def        2013-03-12 21:55:21.615771821 +0000
    415415@@ -255,6 +255,8 @@
    416416 #endif
     
    434434diff -Naur bash-4.2.orig/builtins/read.def bash-4.2/builtins/read.def
    435435--- bash-4.2.orig/builtins/read.def     2011-01-04 16:43:36.000000000 +0000
    436 +++ bash-4.2/builtins/read.def  2012-11-04 22:45:01.032059959 +0000
    437 @@ -642,6 +642,12 @@
     436+++ bash-4.2/builtins/read.def  2013-03-12 21:55:21.734772295 +0000
     437@@ -385,10 +385,20 @@
     438        {
     439          /* Tricky.  The top of the unwind-protect stack is the free of
     440             input_string.  We want to run all the rest and use input_string,
     441-            so we have to remove it from the stack. */
     442-         remove_unwind_protect ();
     443-         run_unwind_frame ("read_builtin");
     444+            so we have to save input_string temporarily, run the unwind-
     445+            protects, then restore input_string so we can use it later. */
     446+
     447          input_string[i] = '\0';       /* make sure it's terminated */
     448+         if (i == 0)
     449+           {
     450+             t = (char *)xmalloc (1);
     451+             t[0] = 0;
     452+           }
     453+         else
     454+           t = savestring (input_string);
     455+
     456+         run_unwind_frame ("read_builtin");
     457+         input_string = t;
     458          retval = 128+SIGALRM;
     459          goto assign_vars;
     460        }
     461@@ -642,6 +652,12 @@
    438462          xfree (input_string);
    439463          return EXECUTION_FAILURE;     /* readonly or noassign */
     
    448472 
    449473       alist = list_string (input_string, ifs_chars, 0);
    450 @@ -731,7 +737,7 @@
     474@@ -731,7 +747,7 @@
    451475              xfree (t1);
    452476            }
     
    457481       else
    458482        {
    459 @@ -785,14 +791,14 @@
     483@@ -785,14 +801,14 @@
    460484     }
    461485 #endif
     
    476500diff -Naur bash-4.2.orig/builtins/shopt.def bash-4.2/builtins/shopt.def
    477501--- bash-4.2.orig/builtins/shopt.def    2010-07-03 02:42:44.000000000 +0000
    478 +++ bash-4.2/builtins/shopt.def 2012-11-04 22:45:00.848727141 +0000
     502+++ bash-4.2/builtins/shopt.def 2013-03-12 21:55:21.647771948 +0000
    479503@@ -61,6 +61,10 @@
    480504 #include "common.h"
     
    536560diff -Naur bash-4.2.orig/command.h bash-4.2/command.h
    537561--- bash-4.2.orig/command.h     2010-08-02 23:36:51.000000000 +0000
    538 +++ bash-4.2/command.h  2012-11-04 22:45:00.825393871 +0000
     562+++ bash-4.2/command.h  2013-03-12 21:55:21.619771836 +0000
    539563@@ -97,6 +97,7 @@
    540564 #define W_HASCTLESC    0x200000        /* word contains literal CTLESC characters */
     
    547571diff -Naur bash-4.2.orig/doc/bash.1 bash-4.2/doc/bash.1
    548572--- bash-4.2.orig/doc/bash.1    2011-01-16 20:31:39.000000000 +0000
    549 +++ bash-4.2/doc/bash.1 2012-11-04 22:45:00.855393789 +0000
     573+++ bash-4.2/doc/bash.1 2013-03-12 21:55:21.650771960 +0000
    550574@@ -8948,6 +8948,16 @@
    551575 quoted.  This is the behavior of posix mode through version 4.1.
     
    567591diff -Naur bash-4.2.orig/doc/bashref.texi bash-4.2/doc/bashref.texi
    568592--- bash-4.2.orig/doc/bashref.texi      2011-01-16 20:31:57.000000000 +0000
    569 +++ bash-4.2/doc/bashref.texi   2012-11-04 22:45:00.858727113 +0000
     593+++ bash-4.2/doc/bashref.texi   2013-03-12 21:55:21.653771972 +0000
    570594@@ -4535,6 +4535,13 @@
    571595 quoted.  This is the behavior of @sc{posix} mode through version 4.1.
     
    584608diff -Naur bash-4.2.orig/error.c bash-4.2/error.c
    585609--- bash-4.2.orig/error.c       2009-08-22 02:31:31.000000000 +0000
    586 +++ bash-4.2/error.c    2012-11-04 22:45:00.822060547 +0000
     610+++ bash-4.2/error.c    2013-03-12 21:55:21.610771801 +0000
    587611@@ -200,7 +200,11 @@
    588612 
     
    600624diff -Naur bash-4.2.orig/execute_cmd.c bash-4.2/execute_cmd.c
    601625--- bash-4.2.orig/execute_cmd.c 2011-02-09 22:32:25.000000000 +0000
    602 +++ bash-4.2/execute_cmd.c      2012-11-04 22:45:00.835393844 +0000
     626+++ bash-4.2/execute_cmd.c      2013-03-12 21:55:21.627771868 +0000
    603627@@ -2196,6 +2196,7 @@
    604628   if (ignore_return && cmd)
     
    700724diff -Naur bash-4.2.orig/expr.c bash-4.2/expr.c
    701725--- bash-4.2.orig/expr.c        2010-12-21 16:12:13.000000000 +0000
    702 +++ bash-4.2/expr.c     2012-11-04 22:45:01.038726607 +0000
     726+++ bash-4.2/expr.c     2013-03-12 21:55:21.706772183 +0000
    703727@@ -476,19 +476,23 @@
    704728 
     
    769793diff -Naur bash-4.2.orig/lib/glob/glob.c bash-4.2/lib/glob/glob.c
    770794--- bash-4.2.orig/lib/glob/glob.c       2009-11-14 23:39:30.000000000 +0000
    771 +++ bash-4.2/lib/glob/glob.c    2012-11-04 22:45:00.862060437 +0000
     795+++ bash-4.2/lib/glob/glob.c    2013-03-12 21:55:21.658771992 +0000
    772796@@ -200,8 +200,11 @@
    773797   wchar_t *pat_wc, *dn_wc;
     
    808832diff -Naur bash-4.2.orig/lib/glob/gmisc.c bash-4.2/lib/glob/gmisc.c
    809833--- bash-4.2.orig/lib/glob/gmisc.c      2011-02-05 21:11:17.000000000 +0000
    810 +++ bash-4.2/lib/glob/gmisc.c   2012-11-04 22:45:00.748727415 +0000
     834+++ bash-4.2/lib/glob/gmisc.c   2013-03-12 21:55:21.465771223 +0000
    811835@@ -77,8 +77,8 @@
    812836      wchar_t *wpat;
     
    10111035diff -Naur bash-4.2.orig/lib/glob/xmbsrtowcs.c bash-4.2/lib/glob/xmbsrtowcs.c
    10121036--- bash-4.2.orig/lib/glob/xmbsrtowcs.c 2010-05-30 22:36:27.000000000 +0000
    1013 +++ bash-4.2/lib/glob/xmbsrtowcs.c      2012-11-04 22:45:00.862060437 +0000
     1037+++ bash-4.2/lib/glob/xmbsrtowcs.c      2013-03-12 21:55:21.736772303 +0000
    10141038@@ -35,6 +35,8 @@
    10151039 
     
    10601084          wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t));
    10611085          if (wstmp == NULL)
    1062 @@ -199,10 +213,18 @@
     1086@@ -199,10 +213,30 @@
    10631087        }
    10641088 
     
    10701094 
    10711095-      wcnum += wcslength;
     1096+      if (n == 0 && p == 0)
     1097+       {
     1098+         wsbuf[wcnum] = L'\0';
     1099+         break;
     1100+       }
     1101+
    10721102+      /* Compensate for taking single byte on wcs conversion failure above. */
    10731103+      if (wcslength == 1 && (n == 0 || n == (size_t)-1))
     
    10751105+         state = tmp_state;
    10761106+         p = tmp_p;
    1077 +         wsbuf[wcnum++] = *p++;
     1107+         wsbuf[wcnum] = *p;
     1108+         if (*p == 0)
     1109+           break;
     1110+         else
     1111+           {
     1112+             wcnum++; p++;
     1113+           }
    10781114+       }
    10791115+      else
     
    10821118       if (mbsinit (&state) && (p != NULL) && (*p == '\\'))
    10831119        {
    1084 @@ -230,8 +252,6 @@
     1120@@ -230,8 +264,6 @@
    10851121    If conversion is failed, the return value is (size_t)-1 and the values
    10861122    of DESTP and INDICESP are NULL. */
     
    10931129diff -Naur bash-4.2.orig/lib/readline/callback.c bash-4.2/lib/readline/callback.c
    10941130--- bash-4.2.orig/lib/readline/callback.c       2010-06-06 16:18:58.000000000 +0000
    1095 +++ bash-4.2/lib/readline/callback.c    2012-11-04 22:45:00.718727497 +0000
     1131+++ bash-4.2/lib/readline/callback.c    2013-03-12 21:55:21.461771207 +0000
    10961132@@ -148,6 +148,9 @@
    10971133          eof = _rl_vi_domove_callback (_rl_vimvcxt);
     
    11061142diff -Naur bash-4.2.orig/lib/readline/input.c bash-4.2/lib/readline/input.c
    11071143--- bash-4.2.orig/lib/readline/input.c  2010-05-30 22:33:01.000000000 +0000
    1108 +++ bash-4.2/lib/readline/input.c       2012-11-04 22:45:00.982060097 +0000
     1144+++ bash-4.2/lib/readline/input.c       2013-03-12 21:55:21.661772004 +0000
    11091145@@ -409,7 +409,7 @@
    11101146 int
     
    11401176diff -Naur bash-4.2.orig/lib/readline/vi_mode.c bash-4.2/lib/readline/vi_mode.c
    11411177--- bash-4.2.orig/lib/readline/vi_mode.c        2010-11-21 00:51:39.000000000 +0000
    1142 +++ bash-4.2/lib/readline/vi_mode.c     2012-11-04 22:45:01.025393311 +0000
     1178+++ bash-4.2/lib/readline/vi_mode.c     2013-03-12 21:55:21.698772151 +0000
    11431179@@ -1114,7 +1114,7 @@
    11441180       rl_beg_of_line (1, c);
     
    12141250diff -Naur bash-4.2.orig/lib/sh/eaccess.c bash-4.2/lib/sh/eaccess.c
    12151251--- bash-4.2.orig/lib/sh/eaccess.c      2011-01-09 01:50:10.000000000 +0000
    1216 +++ bash-4.2/lib/sh/eaccess.c   2012-11-04 22:45:00.995393393 +0000
     1252+++ bash-4.2/lib/sh/eaccess.c   2013-03-12 21:55:21.668772032 +0000
    12171253@@ -82,6 +82,8 @@
    12181254      const char *path;
     
    12351271diff -Naur bash-4.2.orig/lib/sh/zread.c bash-4.2/lib/sh/zread.c
    12361272--- bash-4.2.orig/lib/sh/zread.c        2009-03-02 13:54:45.000000000 +0000
    1237 +++ bash-4.2/lib/sh/zread.c     2012-11-04 22:45:00.815393899 +0000
     1273+++ bash-4.2/lib/sh/zread.c     2013-03-12 21:55:21.601771765 +0000
    12381274@@ -160,14 +160,13 @@
    12391275 zsyncfd (fd)
     
    12551291diff -Naur bash-4.2.orig/parse.y bash-4.2/parse.y
    12561292--- bash-4.2.orig/parse.y       2011-01-02 20:48:11.000000000 +0000
    1257 +++ bash-4.2/parse.y    2012-11-04 22:45:01.005393365 +0000
    1258 @@ -2499,7 +2499,7 @@
     1293+++ bash-4.2/parse.y    2013-03-12 21:55:21.731772283 +0000
     1294@@ -2393,6 +2393,7 @@
     1295           is the last character).  If it's not the last character, we need
     1296           to consume the quoted newline and move to the next character in
     1297           the expansion. */
     1298+#if defined (ALIAS)
     1299        if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
     1300          {
     1301            uc = 0;
     1302@@ -2403,7 +2404,8 @@
     1303            shell_input_line_index++;   /* skip newline */
     1304            goto next_alias_char;       /* and get next character */
     1305          }
     1306-       else       
     1307+       else
     1308+#endif
     1309          goto restart_read;
     1310     }
     1311 
     1312@@ -2499,7 +2501,7 @@
    12591313         We do this only if it is time to do so. Notice that only here
    12601314         is the mail alarm reset; nothing takes place in check_mail ()
     
    12651319          check_mail ();
    12661320          reset_mail_timer ();
    1267 @@ -3842,6 +3842,7 @@
     1321@@ -3842,6 +3844,7 @@
    12681322      int flags;
    12691323 {
     
    12731327   char *ret, *s, *ep, *ostring;
    12741328 
    1275 @@ -3849,10 +3850,12 @@
     1329@@ -3849,10 +3852,12 @@
    12761330   orig_ind = *indp;
    12771331   ostring = string;
     
    12861340   /*(*/
    12871341   parser_state |= PST_CMDSUBST|PST_EOFTOKEN;   /* allow instant ')' */ /*(*/
    1288 @@ -3861,6 +3864,8 @@
     1342@@ -3861,6 +3866,8 @@
    12891343 
    12901344   restore_parser_state (&ps);
     
    12951349     token_to_read = 0;
    12961350 
    1297 @@ -4895,6 +4900,9 @@
     1351@@ -4895,6 +4902,9 @@
    12981352       return (current_command_line_count == 2 ? "\n" : "");
    12991353     }
     
    13051359   /*(*/
    13061360   /* If we just read `()', assume it's a function definition, and don't
    1307 @@ -5135,6 +5143,9 @@
     1361@@ -5135,6 +5145,9 @@
    13081362            case 'A':
    13091363              /* Make the current time/date into a string. */
     
    13151369 
    13161370              if (c == 'd')
    1317 @@ -5905,6 +5916,12 @@
     1371@@ -5905,6 +5918,12 @@
    13181372   ps->expand_aliases = expand_aliases;
    13191373   ps->echo_input_at_read = echo_input_at_read;
     
    13281382 }
    13291383 
    1330 @@ -5946,6 +5963,42 @@
     1384@@ -5946,6 +5965,42 @@
    13311385 
    13321386   expand_aliases = ps->expand_aliases;
     
    13731427diff -Naur bash-4.2.orig/patchlevel.h bash-4.2/patchlevel.h
    13741428--- bash-4.2.orig/patchlevel.h  2010-06-13 00:14:48.000000000 +0000
    1375 +++ bash-4.2/patchlevel.h       2012-11-04 22:45:01.038726607 +0000
     1429+++ bash-4.2/patchlevel.h       2013-03-12 21:55:21.740772319 +0000
    13761430@@ -25,6 +25,6 @@
    13771431    regexp `^#define[   ]*PATCHLEVEL', since that's what support/mkversion.sh
     
    13791433 
    13801434-#define PATCHLEVEL 0
    1381 +#define PATCHLEVEL 39
     1435+#define PATCHLEVEL 45
    13821436 
    13831437 #endif /* _PATCHLEVEL_H_ */
    13841438diff -Naur bash-4.2.orig/pathexp.c bash-4.2/pathexp.c
    13851439--- bash-4.2.orig/pathexp.c     2010-08-14 03:21:57.000000000 +0000
    1386 +++ bash-4.2/pathexp.c  2012-11-04 22:45:00.792060629 +0000
     1440+++ bash-4.2/pathexp.c  2013-03-12 21:55:21.550771561 +0000
    13871441@@ -196,7 +196,7 @@
    13881442        {
     
    13961450diff -Naur bash-4.2.orig/print_cmd.c bash-4.2/print_cmd.c
    13971451--- bash-4.2.orig/print_cmd.c   2010-05-30 22:34:08.000000000 +0000
    1398 +++ bash-4.2/print_cmd.c        2012-11-04 22:45:00.778727333 +0000
     1452+++ bash-4.2/print_cmd.c        2013-03-12 21:55:21.526771466 +0000
    13991453@@ -315,6 +315,7 @@
    14001454          cprintf ("( ");
     
    14211475   if (inside_function_def)
    14221476     {
     1477diff -Naur bash-4.2.orig/redir.c bash-4.2/redir.c
     1478--- bash-4.2.orig/redir.c       2011-01-02 21:00:31.000000000 +0000
     1479+++ bash-4.2/redir.c    2013-03-12 21:55:21.740772319 +0000
     1480@@ -1007,6 +1007,16 @@
     1481                close (redirector);
     1482              REDIRECTION_ERROR (r, errno, -1);
     1483            }
     1484+         if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output))
     1485+           {
     1486+             /* r_move_input and r_move_output add an additional close()
     1487+                that needs to be undone */
     1488+             if (fcntl (redirector, F_GETFD, 0) != -1)
     1489+               {
     1490+                 r = add_undo_redirect (redir_fd, r_close_this, -1);
     1491+                 REDIRECTION_ERROR (r, errno, -1);
     1492+               }
     1493+           }
     1494 #if defined (BUFFERED_INPUT)
     1495          check_bash_input (redirector);
     1496 #endif
     1497@@ -1091,10 +1101,12 @@
     1498 
     1499 #if defined (BUFFERED_INPUT)
     1500          check_bash_input (redirector);
     1501-         close_buffered_fd (redirector);
     1502+         r = close_buffered_fd (redirector);
     1503 #else /* !BUFFERED_INPUT */
     1504-         close (redirector);
     1505+         r = close (redirector);
     1506 #endif /* !BUFFERED_INPUT */
     1507+         if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC))
     1508+           REDIRECTION_ERROR (r, errno, -1);
     1509        }
     1510       break;
     1511 
    14231512diff -Naur bash-4.2.orig/shell.h bash-4.2/shell.h
    14241513--- bash-4.2.orig/shell.h       2011-01-07 03:16:55.000000000 +0000
    1425 +++ bash-4.2/shell.h    2012-11-04 22:45:00.785393981 +0000
     1514+++ bash-4.2/shell.h    2013-03-12 21:55:21.537771510 +0000
    14261515@@ -136,6 +136,9 @@
    14271516   int parser_state;
     
    14531542diff -Naur bash-4.2.orig/sig.c bash-4.2/sig.c
    14541543--- bash-4.2.orig/sig.c 2010-11-23 13:21:22.000000000 +0000
    1455 +++ bash-4.2/sig.c      2012-11-04 22:45:00.772060685 +0000
     1544+++ bash-4.2/sig.c      2013-03-12 21:55:21.516771426 +0000
    14561545@@ -46,6 +46,7 @@
    14571546 
     
    14841573diff -Naur bash-4.2.orig/subst.c bash-4.2/subst.c
    14851574--- bash-4.2.orig/subst.c       2011-01-02 21:12:51.000000000 +0000
    1486 +++ bash-4.2/subst.c    2012-11-04 22:45:01.018726663 +0000
     1575+++ bash-4.2/subst.c    2013-03-12 21:55:21.726772263 +0000
    14871576@@ -366,6 +366,11 @@
    14881577       f &= ~W_ASSNBLTIN;
     
    15611650   expand_no_split_dollar_star = 0;
    15621651 
    1563 @@ -5798,6 +5809,16 @@
     1652@@ -5113,6 +5124,10 @@
     1653   dev_fd_list[parent_pipe_fd] = 0;
     1654 #endif /* HAVE_DEV_FD */
     1655 
     1656+  /* subshells shouldn't have this flag, which controls using the temporary
     1657+     environment for variable lookups. */
     1658+  expanding_redir = 0;
     1659+
     1660   result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
     1661 
     1662 #if !defined (HAVE_DEV_FD)
     1663@@ -5798,6 +5813,16 @@
    15641664         is the only expansion that creates more than one word. */
    15651665       if (qdollaratp && ((hasdol && quoted) || l->next))
     
    15781678     }
    15791679   else if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && hasdol)
    1580 @@ -7176,7 +7197,7 @@
     1680@@ -7176,7 +7201,7 @@
    15811681     {
    15821682       /* Extract the contents of the ${ ... } expansion
     
    15871687        sindex++;
    15881688       else
    1589 @@ -7268,6 +7289,7 @@
     1689@@ -7268,6 +7293,7 @@
    15901690     default:
    15911691     case '\0':
     
    15951695       FREE (value);
    15961696       FREE (temp);
    1597 @@ -7900,7 +7922,7 @@
     1697@@ -7900,7 +7926,7 @@
    15981698 
    15991699   /* State flags */
     
    16041704   int pflags;                  /* flags passed to param_expand */
    16051705 
    1606 @@ -8105,13 +8127,14 @@
     1706@@ -8105,13 +8131,14 @@
    16071707          if (expanded_something)
    16081708            *expanded_something = 1;
     
    16211721          if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal)
    16221722            {
    1623 @@ -8129,6 +8152,14 @@
     1723@@ -8129,6 +8156,14 @@
    16241724          temp = tword->word;
    16251725          dispose_word_desc (tword);
     
    16361736          break;
    16371737 
    1638 @@ -8244,9 +8275,10 @@
     1738@@ -8244,9 +8279,10 @@
    16391739 
    16401740              temp = (char *)NULL;
     
    16491749              if (list == &expand_word_error || list == &expand_word_fatal)
    16501750                {
    1651 @@ -8533,7 +8565,7 @@
     1751@@ -8533,7 +8569,7 @@
    16521752        tword->flags |= W_NOEXPAND;     /* XXX */
    16531753       if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
     
    16581758       list = make_word_list (tword, (WORD_LIST *)NULL);
    16591759     }
    1660 @@ -8564,7 +8596,7 @@
     1760@@ -8564,7 +8600,7 @@
    16611761            tword->flags |= W_NOGLOB;
    16621762          if (word->flags & W_NOEXPAND)
     
    16691769diff -Naur bash-4.2.orig/subst.h bash-4.2/subst.h
    16701770--- bash-4.2.orig/subst.h       2010-12-03 01:21:29.000000000 +0000
    1671 +++ bash-4.2/subst.h    2012-11-04 22:45:00.715394173 +0000
     1771+++ bash-4.2/subst.h    2013-03-12 21:55:21.450771163 +0000
    16721772@@ -56,6 +56,7 @@
    16731773 #define SX_NOLONGJMP   0x0040  /* don't longjmp on fatal error */
     
    16801780diff -Naur bash-4.2.orig/support/shobj-conf bash-4.2/support/shobj-conf
    16811781--- bash-4.2.orig/support/shobj-conf    2009-10-28 13:20:21.000000000 +0000
    1682 +++ bash-4.2/support/shobj-conf 2012-11-04 22:45:00.808727251 +0000
     1782+++ bash-4.2/support/shobj-conf 2013-03-12 21:55:21.592771729 +0000
    16831783@@ -157,7 +157,7 @@
    16841784        ;;
     
    17011801diff -Naur bash-4.2.orig/tests/shopt.right bash-4.2/tests/shopt.right
    17021802--- bash-4.2.orig/tests/shopt.right     2010-07-03 03:36:30.000000000 +0000
    1703 +++ bash-4.2/tests/shopt.right  2012-11-04 22:45:00.858727113 +0000
     1803+++ bash-4.2/tests/shopt.right  2013-03-12 21:55:21.653771972 +0000
    17041804@@ -12,6 +12,7 @@
    17051805 shopt -u compat32
     
    17281828diff -Naur bash-4.2.orig/variables.c bash-4.2/variables.c
    17291829--- bash-4.2.orig/variables.c   2011-01-25 01:07:48.000000000 +0000
    1730 +++ bash-4.2/variables.c        2012-11-04 22:45:00.765394035 +0000
     1830+++ bash-4.2/variables.c        2013-03-12 21:55:21.499771358 +0000
    17311831@@ -3653,6 +3653,22 @@
    17321832   return n;
     
    17791879diff -Naur bash-4.2.orig/variables.h bash-4.2/variables.h
    17801880--- bash-4.2.orig/variables.h   2010-12-03 01:22:01.000000000 +0000
    1781 +++ bash-4.2/variables.h        2012-11-04 22:45:00.755394063 +0000
     1881+++ bash-4.2/variables.h        2013-03-12 21:55:21.486771306 +0000
    17821882@@ -313,6 +313,7 @@
    17831883 
Note: See TracChangeset for help on using the changeset viewer.