components/bash/patches/bash41-006.patch
author Norm Jacobs <Norm.Jacobs@Oracle.COM>
Tue, 01 Mar 2011 14:19:15 -0800
changeset 115 c360825c3a3f
parent 110 components/bash/bash41-006.patch@77641682ba6f
permissions -rw-r--r--
7022166 userland patches should move to subdirs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
110
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
			     BASH PATCH REPORT
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
			     =================
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
Bash-Release:	4.1
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
Patch-ID:	bash41-006
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
Bug-Reported-by:	Mike Frysinger <[email protected]>
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
Bug-Reference-ID:	<[email protected]>
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
Bug-Description:
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
Bash did not correctly print/reproduce here documents attached to commands
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
inside compound commands such as for and while.  This affected the
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
execution of such commands inside a shell function when the function
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
definition is saved and later restored using `.' or `eval'.
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
Patch (apply with `patch -p0'):
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
*** ../bash-4.1-patched/print_cmd.c	2009-09-16 15:32:26.000000000 -0400
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
--- print_cmd.c	2010-03-22 21:15:30.000000000 -0400
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
***************
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
*** 114,117 ****
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
--- 114,123 ----
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
  #define CHECK_XTRACE_FP	xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    26
  
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    27
+ #define PRINT_DEFERRED_HEREDOCS(x) \
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    28
+   do { \
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    29
+     if (deferred_heredocs) \
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    30
+       print_deferred_heredocs (x); \
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    31
+   } while (0)
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    32
+ 
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    33
  /* Non-zero means the stuff being printed is inside of a function def. */
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    34
  static int inside_function_def;
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    35
***************
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    36
*** 561,571 ****
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    37
  {
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    38
    print_for_command_head (for_command);
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    39
- 
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    40
    cprintf (";");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    41
    newline ("do\n");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    42
    indentation += indentation_amount;
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    43
    make_command_string_internal (for_command->action);
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    44
    semicolon ();
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    45
    indentation -= indentation_amount;
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    46
    newline ("done");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    47
  }
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    48
--- 566,578 ----
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    49
  {
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    50
    print_for_command_head (for_command);
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    51
    cprintf (";");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    52
    newline ("do\n");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    53
+ 
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    54
    indentation += indentation_amount;
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    55
    make_command_string_internal (for_command->action);
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    56
+   PRINT_DEFERRED_HEREDOCS ("");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    57
    semicolon ();
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    58
    indentation -= indentation_amount;
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    59
+ 
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    60
    newline ("done");
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    61
  }
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    62
*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    63
--- patchlevel.h	2010-01-14 09:38:08.000000000 -0500
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    64
***************
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    65
*** 26,30 ****
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    66
     looks for to find the patch level (for the sccs version string). */
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    67
  
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    68
! #define PATCHLEVEL 5
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    69
  
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    70
  #endif /* _PATCHLEVEL_H_ */
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    71
--- 26,30 ----
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    72
     looks for to find the patch level (for the sccs version string). */
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    73
  
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    74
! #define PATCHLEVEL 6
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    75
  
77641682ba6f 7015638 bash needs to move to userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    76
  #endif /* _PATCHLEVEL_H_ */