62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 			     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_ */
 |