source: patches/bash-4.1-branch_update-2.patch @ 6c5a343

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 6c5a343 was 96f80a4, checked in by Joe Ciccone <jciccone@…>, 13 years ago

Updated the Bash Branch Update to -2.

  • Property mode set to 100644
File size: 5.9 KB
RevLine 
[e9b21a8]1Submitted By: Joe Ciccone <jciccone@gmail.com>
[96f80a4]2Date: 01-08-2011
[e9b21a8]3Initial Package Version: 4.1
4Origin: Upstream
5Upstream Status: From Upstream
[96f80a4]6Description: Contains all upstream patches up to 4.1-009
[e9b21a8]7
8diff -Naur bash-4.1.orig//bashline.c bash-4.1/bashline.c
9--- bash-4.1.orig//bashline.c   2009-10-24 14:10:19.000000000 -0400
[96f80a4]10+++ bash-4.1/bashline.c 2011-01-08 15:59:31.934906851 -0500
[e9b21a8]11@@ -1680,7 +1680,7 @@
12      a single match (multiple matches that end up reducing the number of
13      characters in the common prefix are bad) will ever be returned on
14      regular completion. */
15-  if (glob_pattern_p (hint))
16+  if (globpat)
17     {
18       if (state == 0)
19        {
[96f80a4]20diff -Naur bash-4.1.orig//builtins/declare.def bash-4.1/builtins/declare.def
21--- bash-4.1.orig//builtins/declare.def 2009-11-25 19:42:00.000000000 -0500
22+++ bash-4.1/builtins/declare.def       2011-01-08 15:59:58.930671218 -0500
23@@ -512,7 +512,7 @@
24            {
25              /* let bind_{array,assoc}_variable take care of this. */
26              if (assoc_p (var))
27-               bind_assoc_variable (var, name, "0", value, aflags);
28+               bind_assoc_variable (var, name, savestring ("0"), value, aflags);
29              else
30                bind_array_variable (name, 0, value, aflags);
31            }
[e9b21a8]32diff -Naur bash-4.1.orig//builtins/printf.def bash-4.1/builtins/printf.def
33--- bash-4.1.orig//builtins/printf.def  2009-11-20 15:31:23.000000000 -0500
[96f80a4]34+++ bash-4.1/builtins/printf.def        2011-01-08 15:59:31.934906851 -0500
[e9b21a8]35@@ -117,7 +117,7 @@
36     else if (have_fieldwidth) \
37       nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \
38     else if (have_precision) \
39-      nw = vflag ? vbprintf (f, precision, func) : printf (f, fieldwidth, func); \
40+      nw = vflag ? vbprintf (f, precision, func) : printf (f, precision, func); \
41     else \
42       nw = vflag ? vbprintf (f, func) : printf (f, func); \
43     tw += nw; \
44@@ -172,7 +172,7 @@
45 #endif
46 
47 #if !HAVE_VSNPRINTF
48-extern int vsnprintf __P((char *, size_t, const char *, ...)) __attribute__((__format__ (printf, 3, 4)));
49+extern int vsnprintf __P((char *, size_t, const char *, va_list)) __attribute__((__format__ (printf, 3, 0)));
50 #endif
51 
52 static void printf_erange __P((char *));
53diff -Naur bash-4.1.orig//builtins/read.def bash-4.1/builtins/read.def
54--- bash-4.1.orig//builtins/read.def    2009-10-08 11:35:46.000000000 -0400
[96f80a4]55+++ bash-4.1/builtins/read.def  2011-01-08 15:59:31.934906851 -0500
[e9b21a8]56@@ -615,14 +615,15 @@
57   if (unbuffered_read == 0)
58     zsyncfd (fd);
59 
60-  interrupt_immediately--;
61-  terminate_immediately--;
62   discard_unwind_frame ("read_builtin");
63 
64   retval = eof ? EXECUTION_FAILURE : EXECUTION_SUCCESS;
65 
66 assign_vars:
67 
68+  interrupt_immediately--;
69+  terminate_immediately--;
70+
71 #if defined (ARRAY_VARS)
72   /* If -a was given, take the string read, break it into a list of words,
73      an assign them to `arrayname' in turn. */
74diff -Naur bash-4.1.orig//lib/readline/complete.c bash-4.1/lib/readline/complete.c
75--- bash-4.1.orig//lib/readline/complete.c      2009-11-29 18:39:30.000000000 -0500
[96f80a4]76+++ bash-4.1/lib/readline/complete.c    2011-01-08 15:59:31.934906851 -0500
[e9b21a8]77@@ -2138,7 +2138,7 @@
78         All other entries except "." and ".." match. */
79       if (filename_len == 0)
80        {
81-         if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name))
82+         if (_rl_match_hidden_files == 0 && HIDDEN_FILE (convfn))
83            continue;
84 
85          if (convfn[0] != '.' ||
86@@ -2219,7 +2219,7 @@
87                temp[dirlen++] = '/';
88            }
89 
90-         strcpy (temp + dirlen, entry->d_name);
91+         strcpy (temp + dirlen, convfn);
92        }
93       else
94        temp = savestring (convfn);
95diff -Naur bash-4.1.orig//patchlevel.h bash-4.1/patchlevel.h
96--- bash-4.1.orig//patchlevel.h 2009-10-01 16:39:22.000000000 -0400
[96f80a4]97+++ bash-4.1/patchlevel.h       2011-01-08 16:00:00.782985562 -0500
[e9b21a8]98@@ -25,6 +25,6 @@
99    regexp `^#define[   ]*PATCHLEVEL', since that's what support/mkversion.sh
100    looks for to find the patch level (for the sccs version string). */
101 
102-#define PATCHLEVEL 0
[96f80a4]103+#define PATCHLEVEL 9
[e9b21a8]104 
105 #endif /* _PATCHLEVEL_H_ */
106diff -Naur bash-4.1.orig//print_cmd.c bash-4.1/print_cmd.c
107--- bash-4.1.orig//print_cmd.c  2009-09-16 15:32:26.000000000 -0400
[96f80a4]108+++ bash-4.1/print_cmd.c        2011-01-08 15:59:31.938922841 -0500
[e9b21a8]109@@ -113,6 +113,12 @@
110 
111 #define CHECK_XTRACE_FP        xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
112 
113+#define PRINT_DEFERRED_HEREDOCS(x) \
114+  do { \
115+    if (deferred_heredocs) \
116+      print_deferred_heredocs (x); \
117+  } while (0)
118+
119 /* Non-zero means the stuff being printed is inside of a function def. */
120 static int inside_function_def;
121 static int skip_this_indent;
122@@ -560,13 +566,15 @@
123      FOR_COM *for_command;
124 {
125   print_for_command_head (for_command);
126-
127   cprintf (";");
128   newline ("do\n");
129+
130   indentation += indentation_amount;
131   make_command_string_internal (for_command->action);
132+  PRINT_DEFERRED_HEREDOCS ("");
133   semicolon ();
134   indentation -= indentation_amount;
135+
136   newline ("done");
137 }
138 
[96f80a4]139diff -Naur bash-4.1.orig//sig.c bash-4.1/sig.c
140--- bash-4.1.orig//sig.c        2009-08-14 16:31:52.000000000 -0400
141+++ bash-4.1/sig.c      2011-01-08 16:00:00.782985562 -0500
142@@ -655,6 +655,9 @@
143     act.sa_flags |= SA_INTERRUPT;      /* XXX */
144   else
145     act.sa_flags |= SA_RESTART;                /* XXX */
146+#else
147+  if (sig == SIGCHLD)
148+    act.sa_flags |= SA_RESTART;
149 #endif
150   sigemptyset (&act.sa_mask);
151   sigemptyset (&oact.sa_mask);
[e9b21a8]152diff -Naur bash-4.1.orig//variables.c bash-4.1/variables.c
153--- bash-4.1.orig//variables.c  2009-11-03 14:13:58.000000000 -0500
[96f80a4]154+++ bash-4.1/variables.c        2011-01-08 15:59:31.938922841 -0500
[e9b21a8]155@@ -3808,6 +3808,11 @@
156 
157   if (tempvar_p (var) && (posixly_correct || (var->attributes & att_propagate)))
158     {
159+      /* Make sure we have a hash table to store the variable in while it is
160+        being propagated down to the global variables table.  Create one if
161+        we have to */
162+      if ((vc_isfuncenv (shell_variables) || vc_istempenv (shell_variables)) && shell_variables->table == 0)
163+       shell_variables->table = hash_create (0);
164       /* XXX - should we set v->context here? */
165       v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0);
166       if (shell_variables == global_variables)
Note: See TracBrowser for help on using the repository browser.