62 lines
1.8 KiB
Diff
62 lines
1.8 KiB
Diff
|
BASH PATCH REPORT
|
||
|
=================
|
||
|
|
||
|
Bash-Release: 4.2
|
||
|
Patch-ID: bash42-010
|
||
|
|
||
|
Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
|
||
|
Bug-Reference-ID: <201104122356.20160.vapier@gentoo.org>
|
||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00058.html
|
||
|
|
||
|
Bug-Description:
|
||
|
|
||
|
Bash did not correctly print/reproduce here documents attached to commands
|
||
|
inside compound commands such as arithmetic for loops and user-specified
|
||
|
subshells. This affected the execution of such commands inside a shell
|
||
|
function when the function definition is saved and later restored using
|
||
|
`.' or `eval'.
|
||
|
|
||
|
Patch (apply with `patch -p0'):
|
||
|
|
||
|
*** ../bash-4.2-patched/print_cmd.c 2010-05-30 18:34:08.000000000 -0400
|
||
|
--- ./print_cmd.c 2011-04-14 10:43:18.000000000 -0400
|
||
|
***************
|
||
|
*** 316,319 ****
|
||
|
--- 317,321 ----
|
||
|
skip_this_indent++;
|
||
|
make_command_string_internal (command->value.Subshell->command);
|
||
|
+ PRINT_DEFERRED_HEREDOCS ("");
|
||
|
cprintf (" )");
|
||
|
break;
|
||
|
***************
|
||
|
*** 593,596 ****
|
||
|
--- 606,610 ----
|
||
|
indentation += indentation_amount;
|
||
|
make_command_string_internal (arith_for_command->action);
|
||
|
+ PRINT_DEFERRED_HEREDOCS ("");
|
||
|
semicolon ();
|
||
|
indentation -= indentation_amount;
|
||
|
***************
|
||
|
*** 654,657 ****
|
||
|
--- 668,672 ----
|
||
|
|
||
|
make_command_string_internal (group_command->command);
|
||
|
+ PRINT_DEFERRED_HEREDOCS ("");
|
||
|
|
||
|
if (inside_function_def)
|
||
|
*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
|
||
|
--- ./patchlevel.h Thu Feb 24 21:41:34 2011
|
||
|
***************
|
||
|
*** 26,30 ****
|
||
|
looks for to find the patch level (for the sccs version string). */
|
||
|
|
||
|
! #define PATCHLEVEL 9
|
||
|
|
||
|
#endif /* _PATCHLEVEL_H_ */
|
||
|
--- 26,30 ----
|
||
|
looks for to find the patch level (for the sccs version string). */
|
||
|
|
||
|
! #define PATCHLEVEL 10
|
||
|
|
||
|
#endif /* _PATCHLEVEL_H_ */
|