Changeset e307159
- Timestamp:
- Aug 5, 2013, 12:46:25 PM (11 years ago)
- Branches:
- clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- 3c8789d
- Parents:
- f5a6b13
- Files:
-
- 2 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
BOOK/introduction/common/changelog.xml
rf5a6b13 re307159 45 45 <para>[William Harrington] - Remove config cache entry for final-system Bison.</para> 46 46 </listitem> 47 47 <listitem> 48 <para>[William Harrington] - Update Bash patch to upstream version 4.2-045.</para> 49 </listitem> 48 50 </itemizedlist> 49 51 </listitem> -
BOOK/patches.ent
rf5a6b13 re307159 5 5 <!-- Start of Common Patches --> 6 6 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 "5 4KB">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"> 10 10 11 11 <!-- Binutils branch update area -
patches/bash-4.2-branch_update-7.patch
rf5a6b13 re307159 1 1 Submitted By: William Harrington (kb0iic at gmail dot com) 2 Date: 11-04-20122 Date: 05-08-2013 3 3 Initial Package Version: 4.2 4 4 Origin: Upstream 5 5 Upstream Status: Applied 6 Description: Contains all upstream patches up to 4.2-0 396 Description: Contains all upstream patches up to 4.2-045 7 7 8 8 diff -Naur bash-4.2.orig/assoc.c bash-4.2/assoc.c 9 9 --- bash-4.2.orig/assoc.c 2009-08-06 00:19:40.000000000 +0000 10 +++ bash-4.2/assoc.c 201 2-11-04 22:45:00.778727333+000010 +++ bash-4.2/assoc.c 2013-03-12 21:55:21.530771482 +0000 11 11 @@ -77,6 +77,11 @@ 12 12 b = hash_search (key, hash, HASH_CREATE); … … 23 23 diff -Naur bash-4.2.orig/bashline.c bash-4.2/bashline.c 24 24 --- bash-4.2.orig/bashline.c 2011-01-16 20:32:47.000000000 +0000 25 +++ bash-4.2/bashline.c 201 2-11-04 22:45:00.848727141+000025 +++ bash-4.2/bashline.c 2013-03-12 21:55:21.646771944 +0000 26 26 @@ -121,6 +121,9 @@ 27 27 static int filename_completion_ignore __P((char **)); … … 309 309 diff -Naur bash-4.2.orig/bashline.h bash-4.2/bashline.h 310 310 --- bash-4.2.orig/bashline.h 2009-01-04 19:32:22.000000000 +0000 311 +++ bash-4.2/bashline.h 201 2-11-04 22:45:00.848727141+0000311 +++ bash-4.2/bashline.h 2013-03-12 21:55:21.646771944 +0000 312 312 @@ -33,10 +33,15 @@ 313 313 extern void bashline_reinitialize __P((void)); … … 328 328 diff -Naur bash-4.2.orig/builtins/declare.def bash-4.2/builtins/declare.def 329 329 --- bash-4.2.orig/builtins/declare.def 2010-05-30 22:25:21.000000000 +0000 330 +++ bash-4.2/builtins/declare.def 201 2-11-04 22:45:00.808727251+0000330 +++ bash-4.2/builtins/declare.def 2013-03-12 21:55:21.587771709 +0000 331 331 @@ -513,6 +513,11 @@ 332 332 *subscript_start = '['; /* ] */ … … 343 343 diff -Naur bash-4.2.orig/builtins/fc.def bash-4.2/builtins/fc.def 344 344 --- bash-4.2.orig/builtins/fc.def 2010-05-30 22:25:38.000000000 +0000 345 +++ bash-4.2/builtins/fc.def 201 2-11-04 22:45:00.775394009+0000345 +++ bash-4.2/builtins/fc.def 2013-03-12 21:55:21.521771446 +0000 346 346 @@ -304,7 +304,7 @@ 347 347 last_hist = i - rh - hist_last_line_added; … … 381 381 diff -Naur bash-4.2.orig/builtins/mapfile.def bash-4.2/builtins/mapfile.def 382 382 --- bash-4.2.orig/builtins/mapfile.def 2010-05-30 02:09:47.000000000 +0000 383 +++ bash-4.2/builtins/mapfile.def 201 2-11-04 22:45:01.008726689+0000383 +++ bash-4.2/builtins/mapfile.def 2013-03-12 21:55:21.675772060 +0000 384 384 @@ -195,13 +195,9 @@ 385 385 /* Reset the buffer for bash own stream */ … … 412 412 diff -Naur bash-4.2.orig/builtins/printf.def bash-4.2/builtins/printf.def 413 413 --- bash-4.2.orig/builtins/printf.def 2010-11-23 15:02:55.000000000 +0000 414 +++ bash-4.2/builtins/printf.def 201 2-11-04 22:45:00.822060547+0000414 +++ bash-4.2/builtins/printf.def 2013-03-12 21:55:21.615771821 +0000 415 415 @@ -255,6 +255,8 @@ 416 416 #endif … … 434 434 diff -Naur bash-4.2.orig/builtins/read.def bash-4.2/builtins/read.def 435 435 --- 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 @@ 438 462 xfree (input_string); 439 463 return EXECUTION_FAILURE; /* readonly or noassign */ … … 448 472 449 473 alist = list_string (input_string, ifs_chars, 0); 450 @@ -731,7 +7 37,7 @@474 @@ -731,7 +747,7 @@ 451 475 xfree (t1); 452 476 } … … 457 481 else 458 482 { 459 @@ -785,14 + 791,14 @@483 @@ -785,14 +801,14 @@ 460 484 } 461 485 #endif … … 476 500 diff -Naur bash-4.2.orig/builtins/shopt.def bash-4.2/builtins/shopt.def 477 501 --- bash-4.2.orig/builtins/shopt.def 2010-07-03 02:42:44.000000000 +0000 478 +++ bash-4.2/builtins/shopt.def 201 2-11-04 22:45:00.848727141+0000502 +++ bash-4.2/builtins/shopt.def 2013-03-12 21:55:21.647771948 +0000 479 503 @@ -61,6 +61,10 @@ 480 504 #include "common.h" … … 536 560 diff -Naur bash-4.2.orig/command.h bash-4.2/command.h 537 561 --- bash-4.2.orig/command.h 2010-08-02 23:36:51.000000000 +0000 538 +++ bash-4.2/command.h 201 2-11-04 22:45:00.825393871+0000562 +++ bash-4.2/command.h 2013-03-12 21:55:21.619771836 +0000 539 563 @@ -97,6 +97,7 @@ 540 564 #define W_HASCTLESC 0x200000 /* word contains literal CTLESC characters */ … … 547 571 diff -Naur bash-4.2.orig/doc/bash.1 bash-4.2/doc/bash.1 548 572 --- bash-4.2.orig/doc/bash.1 2011-01-16 20:31:39.000000000 +0000 549 +++ bash-4.2/doc/bash.1 201 2-11-04 22:45:00.855393789+0000573 +++ bash-4.2/doc/bash.1 2013-03-12 21:55:21.650771960 +0000 550 574 @@ -8948,6 +8948,16 @@ 551 575 quoted. This is the behavior of posix mode through version 4.1. … … 567 591 diff -Naur bash-4.2.orig/doc/bashref.texi bash-4.2/doc/bashref.texi 568 592 --- bash-4.2.orig/doc/bashref.texi 2011-01-16 20:31:57.000000000 +0000 569 +++ bash-4.2/doc/bashref.texi 201 2-11-04 22:45:00.858727113+0000593 +++ bash-4.2/doc/bashref.texi 2013-03-12 21:55:21.653771972 +0000 570 594 @@ -4535,6 +4535,13 @@ 571 595 quoted. This is the behavior of @sc{posix} mode through version 4.1. … … 584 608 diff -Naur bash-4.2.orig/error.c bash-4.2/error.c 585 609 --- bash-4.2.orig/error.c 2009-08-22 02:31:31.000000000 +0000 586 +++ bash-4.2/error.c 201 2-11-04 22:45:00.822060547+0000610 +++ bash-4.2/error.c 2013-03-12 21:55:21.610771801 +0000 587 611 @@ -200,7 +200,11 @@ 588 612 … … 600 624 diff -Naur bash-4.2.orig/execute_cmd.c bash-4.2/execute_cmd.c 601 625 --- bash-4.2.orig/execute_cmd.c 2011-02-09 22:32:25.000000000 +0000 602 +++ bash-4.2/execute_cmd.c 201 2-11-04 22:45:00.835393844+0000626 +++ bash-4.2/execute_cmd.c 2013-03-12 21:55:21.627771868 +0000 603 627 @@ -2196,6 +2196,7 @@ 604 628 if (ignore_return && cmd) … … 700 724 diff -Naur bash-4.2.orig/expr.c bash-4.2/expr.c 701 725 --- bash-4.2.orig/expr.c 2010-12-21 16:12:13.000000000 +0000 702 +++ bash-4.2/expr.c 201 2-11-04 22:45:01.038726607+0000726 +++ bash-4.2/expr.c 2013-03-12 21:55:21.706772183 +0000 703 727 @@ -476,19 +476,23 @@ 704 728 … … 769 793 diff -Naur bash-4.2.orig/lib/glob/glob.c bash-4.2/lib/glob/glob.c 770 794 --- bash-4.2.orig/lib/glob/glob.c 2009-11-14 23:39:30.000000000 +0000 771 +++ bash-4.2/lib/glob/glob.c 201 2-11-04 22:45:00.862060437+0000795 +++ bash-4.2/lib/glob/glob.c 2013-03-12 21:55:21.658771992 +0000 772 796 @@ -200,8 +200,11 @@ 773 797 wchar_t *pat_wc, *dn_wc; … … 808 832 diff -Naur bash-4.2.orig/lib/glob/gmisc.c bash-4.2/lib/glob/gmisc.c 809 833 --- bash-4.2.orig/lib/glob/gmisc.c 2011-02-05 21:11:17.000000000 +0000 810 +++ bash-4.2/lib/glob/gmisc.c 201 2-11-04 22:45:00.748727415+0000834 +++ bash-4.2/lib/glob/gmisc.c 2013-03-12 21:55:21.465771223 +0000 811 835 @@ -77,8 +77,8 @@ 812 836 wchar_t *wpat; … … 1011 1035 diff -Naur bash-4.2.orig/lib/glob/xmbsrtowcs.c bash-4.2/lib/glob/xmbsrtowcs.c 1012 1036 --- bash-4.2.orig/lib/glob/xmbsrtowcs.c 2010-05-30 22:36:27.000000000 +0000 1013 +++ bash-4.2/lib/glob/xmbsrtowcs.c 201 2-11-04 22:45:00.862060437+00001037 +++ bash-4.2/lib/glob/xmbsrtowcs.c 2013-03-12 21:55:21.736772303 +0000 1014 1038 @@ -35,6 +35,8 @@ 1015 1039 … … 1060 1084 wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); 1061 1085 if (wstmp == NULL) 1062 @@ -199,10 +213, 18@@1086 @@ -199,10 +213,30 @@ 1063 1087 } 1064 1088 … … 1070 1094 1071 1095 - wcnum += wcslength; 1096 + if (n == 0 && p == 0) 1097 + { 1098 + wsbuf[wcnum] = L'\0'; 1099 + break; 1100 + } 1101 + 1072 1102 + /* Compensate for taking single byte on wcs conversion failure above. */ 1073 1103 + if (wcslength == 1 && (n == 0 || n == (size_t)-1)) … … 1075 1105 + state = tmp_state; 1076 1106 + p = tmp_p; 1077 + wsbuf[wcnum++] = *p++; 1107 + wsbuf[wcnum] = *p; 1108 + if (*p == 0) 1109 + break; 1110 + else 1111 + { 1112 + wcnum++; p++; 1113 + } 1078 1114 + } 1079 1115 + else … … 1082 1118 if (mbsinit (&state) && (p != NULL) && (*p == '\\')) 1083 1119 { 1084 @@ -230,8 +2 52,6 @@1120 @@ -230,8 +264,6 @@ 1085 1121 If conversion is failed, the return value is (size_t)-1 and the values 1086 1122 of DESTP and INDICESP are NULL. */ … … 1093 1129 diff -Naur bash-4.2.orig/lib/readline/callback.c bash-4.2/lib/readline/callback.c 1094 1130 --- bash-4.2.orig/lib/readline/callback.c 2010-06-06 16:18:58.000000000 +0000 1095 +++ bash-4.2/lib/readline/callback.c 201 2-11-04 22:45:00.718727497 +00001131 +++ bash-4.2/lib/readline/callback.c 2013-03-12 21:55:21.461771207 +0000 1096 1132 @@ -148,6 +148,9 @@ 1097 1133 eof = _rl_vi_domove_callback (_rl_vimvcxt); … … 1106 1142 diff -Naur bash-4.2.orig/lib/readline/input.c bash-4.2/lib/readline/input.c 1107 1143 --- bash-4.2.orig/lib/readline/input.c 2010-05-30 22:33:01.000000000 +0000 1108 +++ bash-4.2/lib/readline/input.c 201 2-11-04 22:45:00.982060097+00001144 +++ bash-4.2/lib/readline/input.c 2013-03-12 21:55:21.661772004 +0000 1109 1145 @@ -409,7 +409,7 @@ 1110 1146 int … … 1140 1176 diff -Naur bash-4.2.orig/lib/readline/vi_mode.c bash-4.2/lib/readline/vi_mode.c 1141 1177 --- 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 201 2-11-04 22:45:01.025393311 +00001178 +++ bash-4.2/lib/readline/vi_mode.c 2013-03-12 21:55:21.698772151 +0000 1143 1179 @@ -1114,7 +1114,7 @@ 1144 1180 rl_beg_of_line (1, c); … … 1214 1250 diff -Naur bash-4.2.orig/lib/sh/eaccess.c bash-4.2/lib/sh/eaccess.c 1215 1251 --- bash-4.2.orig/lib/sh/eaccess.c 2011-01-09 01:50:10.000000000 +0000 1216 +++ bash-4.2/lib/sh/eaccess.c 201 2-11-04 22:45:00.995393393+00001252 +++ bash-4.2/lib/sh/eaccess.c 2013-03-12 21:55:21.668772032 +0000 1217 1253 @@ -82,6 +82,8 @@ 1218 1254 const char *path; … … 1235 1271 diff -Naur bash-4.2.orig/lib/sh/zread.c bash-4.2/lib/sh/zread.c 1236 1272 --- bash-4.2.orig/lib/sh/zread.c 2009-03-02 13:54:45.000000000 +0000 1237 +++ bash-4.2/lib/sh/zread.c 201 2-11-04 22:45:00.815393899+00001273 +++ bash-4.2/lib/sh/zread.c 2013-03-12 21:55:21.601771765 +0000 1238 1274 @@ -160,14 +160,13 @@ 1239 1275 zsyncfd (fd) … … 1255 1291 diff -Naur bash-4.2.orig/parse.y bash-4.2/parse.y 1256 1292 --- 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 @@ 1259 1313 We do this only if it is time to do so. Notice that only here 1260 1314 is the mail alarm reset; nothing takes place in check_mail () … … 1265 1319 check_mail (); 1266 1320 reset_mail_timer (); 1267 @@ -3842,6 +384 2,7 @@1321 @@ -3842,6 +3844,7 @@ 1268 1322 int flags; 1269 1323 { … … 1273 1327 char *ret, *s, *ep, *ostring; 1274 1328 1275 @@ -3849,10 +385 0,12 @@1329 @@ -3849,10 +3852,12 @@ 1276 1330 orig_ind = *indp; 1277 1331 ostring = string; … … 1286 1340 /*(*/ 1287 1341 parser_state |= PST_CMDSUBST|PST_EOFTOKEN; /* allow instant ')' */ /*(*/ 1288 @@ -3861,6 +386 4,8 @@1342 @@ -3861,6 +3866,8 @@ 1289 1343 1290 1344 restore_parser_state (&ps); … … 1295 1349 token_to_read = 0; 1296 1350 1297 @@ -4895,6 +490 0,9 @@1351 @@ -4895,6 +4902,9 @@ 1298 1352 return (current_command_line_count == 2 ? "\n" : ""); 1299 1353 } … … 1305 1359 /*(*/ 1306 1360 /* If we just read `()', assume it's a function definition, and don't 1307 @@ -5135,6 +514 3,9 @@1361 @@ -5135,6 +5145,9 @@ 1308 1362 case 'A': 1309 1363 /* Make the current time/date into a string. */ … … 1315 1369 1316 1370 if (c == 'd') 1317 @@ -5905,6 +591 6,12 @@1371 @@ -5905,6 +5918,12 @@ 1318 1372 ps->expand_aliases = expand_aliases; 1319 1373 ps->echo_input_at_read = echo_input_at_read; … … 1328 1382 } 1329 1383 1330 @@ -5946,6 +596 3,42 @@1384 @@ -5946,6 +5965,42 @@ 1331 1385 1332 1386 expand_aliases = ps->expand_aliases; … … 1373 1427 diff -Naur bash-4.2.orig/patchlevel.h bash-4.2/patchlevel.h 1374 1428 --- bash-4.2.orig/patchlevel.h 2010-06-13 00:14:48.000000000 +0000 1375 +++ bash-4.2/patchlevel.h 201 2-11-04 22:45:01.038726607+00001429 +++ bash-4.2/patchlevel.h 2013-03-12 21:55:21.740772319 +0000 1376 1430 @@ -25,6 +25,6 @@ 1377 1431 regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh … … 1379 1433 1380 1434 -#define PATCHLEVEL 0 1381 +#define PATCHLEVEL 391435 +#define PATCHLEVEL 45 1382 1436 1383 1437 #endif /* _PATCHLEVEL_H_ */ 1384 1438 diff -Naur bash-4.2.orig/pathexp.c bash-4.2/pathexp.c 1385 1439 --- bash-4.2.orig/pathexp.c 2010-08-14 03:21:57.000000000 +0000 1386 +++ bash-4.2/pathexp.c 201 2-11-04 22:45:00.792060629+00001440 +++ bash-4.2/pathexp.c 2013-03-12 21:55:21.550771561 +0000 1387 1441 @@ -196,7 +196,7 @@ 1388 1442 { … … 1396 1450 diff -Naur bash-4.2.orig/print_cmd.c bash-4.2/print_cmd.c 1397 1451 --- bash-4.2.orig/print_cmd.c 2010-05-30 22:34:08.000000000 +0000 1398 +++ bash-4.2/print_cmd.c 201 2-11-04 22:45:00.778727333+00001452 +++ bash-4.2/print_cmd.c 2013-03-12 21:55:21.526771466 +0000 1399 1453 @@ -315,6 +315,7 @@ 1400 1454 cprintf ("( "); … … 1421 1475 if (inside_function_def) 1422 1476 { 1477 diff -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 1423 1512 diff -Naur bash-4.2.orig/shell.h bash-4.2/shell.h 1424 1513 --- bash-4.2.orig/shell.h 2011-01-07 03:16:55.000000000 +0000 1425 +++ bash-4.2/shell.h 201 2-11-04 22:45:00.785393981+00001514 +++ bash-4.2/shell.h 2013-03-12 21:55:21.537771510 +0000 1426 1515 @@ -136,6 +136,9 @@ 1427 1516 int parser_state; … … 1453 1542 diff -Naur bash-4.2.orig/sig.c bash-4.2/sig.c 1454 1543 --- bash-4.2.orig/sig.c 2010-11-23 13:21:22.000000000 +0000 1455 +++ bash-4.2/sig.c 201 2-11-04 22:45:00.772060685+00001544 +++ bash-4.2/sig.c 2013-03-12 21:55:21.516771426 +0000 1456 1545 @@ -46,6 +46,7 @@ 1457 1546 … … 1484 1573 diff -Naur bash-4.2.orig/subst.c bash-4.2/subst.c 1485 1574 --- bash-4.2.orig/subst.c 2011-01-02 21:12:51.000000000 +0000 1486 +++ bash-4.2/subst.c 201 2-11-04 22:45:01.018726663 +00001575 +++ bash-4.2/subst.c 2013-03-12 21:55:21.726772263 +0000 1487 1576 @@ -366,6 +366,11 @@ 1488 1577 f &= ~W_ASSNBLTIN; … … 1561 1650 expand_no_split_dollar_star = 0; 1562 1651 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 @@ 1564 1664 is the only expansion that creates more than one word. */ 1565 1665 if (qdollaratp && ((hasdol && quoted) || l->next)) … … 1578 1678 } 1579 1679 else if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && hasdol) 1580 @@ -7176,7 +7 197,7 @@1680 @@ -7176,7 +7201,7 @@ 1581 1681 { 1582 1682 /* Extract the contents of the ${ ... } expansion … … 1587 1687 sindex++; 1588 1688 else 1589 @@ -7268,6 +72 89,7 @@1689 @@ -7268,6 +7293,7 @@ 1590 1690 default: 1591 1691 case '\0': … … 1595 1695 FREE (value); 1596 1696 FREE (temp); 1597 @@ -7900,7 +792 2,7 @@1697 @@ -7900,7 +7926,7 @@ 1598 1698 1599 1699 /* State flags */ … … 1604 1704 int pflags; /* flags passed to param_expand */ 1605 1705 1606 @@ -8105,13 +81 27,14 @@1706 @@ -8105,13 +8131,14 @@ 1607 1707 if (expanded_something) 1608 1708 *expanded_something = 1; … … 1621 1721 if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) 1622 1722 { 1623 @@ -8129,6 +815 2,14 @@1723 @@ -8129,6 +8156,14 @@ 1624 1724 temp = tword->word; 1625 1725 dispose_word_desc (tword); … … 1636 1736 break; 1637 1737 1638 @@ -8244,9 +827 5,10 @@1738 @@ -8244,9 +8279,10 @@ 1639 1739 1640 1740 temp = (char *)NULL; … … 1649 1749 if (list == &expand_word_error || list == &expand_word_fatal) 1650 1750 { 1651 @@ -8533,7 +856 5,7 @@1751 @@ -8533,7 +8569,7 @@ 1652 1752 tword->flags |= W_NOEXPAND; /* XXX */ 1653 1753 if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) … … 1658 1758 list = make_word_list (tword, (WORD_LIST *)NULL); 1659 1759 } 1660 @@ -8564,7 +8 596,7 @@1760 @@ -8564,7 +8600,7 @@ 1661 1761 tword->flags |= W_NOGLOB; 1662 1762 if (word->flags & W_NOEXPAND) … … 1669 1769 diff -Naur bash-4.2.orig/subst.h bash-4.2/subst.h 1670 1770 --- bash-4.2.orig/subst.h 2010-12-03 01:21:29.000000000 +0000 1671 +++ bash-4.2/subst.h 201 2-11-04 22:45:00.715394173 +00001771 +++ bash-4.2/subst.h 2013-03-12 21:55:21.450771163 +0000 1672 1772 @@ -56,6 +56,7 @@ 1673 1773 #define SX_NOLONGJMP 0x0040 /* don't longjmp on fatal error */ … … 1680 1780 diff -Naur bash-4.2.orig/support/shobj-conf bash-4.2/support/shobj-conf 1681 1781 --- bash-4.2.orig/support/shobj-conf 2009-10-28 13:20:21.000000000 +0000 1682 +++ bash-4.2/support/shobj-conf 201 2-11-04 22:45:00.808727251+00001782 +++ bash-4.2/support/shobj-conf 2013-03-12 21:55:21.592771729 +0000 1683 1783 @@ -157,7 +157,7 @@ 1684 1784 ;; … … 1701 1801 diff -Naur bash-4.2.orig/tests/shopt.right bash-4.2/tests/shopt.right 1702 1802 --- bash-4.2.orig/tests/shopt.right 2010-07-03 03:36:30.000000000 +0000 1703 +++ bash-4.2/tests/shopt.right 201 2-11-04 22:45:00.858727113+00001803 +++ bash-4.2/tests/shopt.right 2013-03-12 21:55:21.653771972 +0000 1704 1804 @@ -12,6 +12,7 @@ 1705 1805 shopt -u compat32 … … 1728 1828 diff -Naur bash-4.2.orig/variables.c bash-4.2/variables.c 1729 1829 --- bash-4.2.orig/variables.c 2011-01-25 01:07:48.000000000 +0000 1730 +++ bash-4.2/variables.c 201 2-11-04 22:45:00.765394035+00001830 +++ bash-4.2/variables.c 2013-03-12 21:55:21.499771358 +0000 1731 1831 @@ -3653,6 +3653,22 @@ 1732 1832 return n; … … 1779 1879 diff -Naur bash-4.2.orig/variables.h bash-4.2/variables.h 1780 1880 --- bash-4.2.orig/variables.h 2010-12-03 01:22:01.000000000 +0000 1781 +++ bash-4.2/variables.h 201 2-11-04 22:45:00.755394063+00001881 +++ bash-4.2/variables.h 2013-03-12 21:55:21.486771306 +0000 1782 1882 @@ -313,6 +313,7 @@ 1783 1883
Note:
See TracChangeset
for help on using the changeset viewer.