summaryrefslogtreecommitdiff
path: root/package/bash/bash-4.1-004.patch
diff options
context:
space:
mode:
authorGustavo Zacarias <gustavo@zacarias.com.ar>2010-06-09 10:36:26 -0300
committerPeter Korsgaard <jacmet@sunsite.dk>2010-07-01 21:42:32 +0200
commit3404ad7c4fd5997ba7becf239ab8bc5b919393aa (patch)
treebf4a1d787f51f7f8aac70693f86a4a1446356a52 /package/bash/bash-4.1-004.patch
parentda32c7ca2d488ffdd2e37a1cc533338741342a3c (diff)
bash: bump to 4.1.7(1) and migrate to autotargets
Closes #1993 Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/bash/bash-4.1-004.patch')
-rw-r--r--package/bash/bash-4.1-004.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/package/bash/bash-4.1-004.patch b/package/bash/bash-4.1-004.patch
new file mode 100644
index 000000000..a6b83358e
--- /dev/null
+++ b/package/bash/bash-4.1-004.patch
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-004
+
+Bug-Reported-by: Crestez Dan Leonard <cdleonard@gmail.com>
+Bug-Reference-ID: <1265592839.30682.21.camel@deskbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00034.html
+
+Bug-Description:
+
+When running in Posix mode and executing a shell function without local
+variables, bash will not propagate a variable in a special builtin's temporary
+environment to have global scope.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.1-patched/variables.c 2009-11-03 14:13:58.000000000 -0500
+--- ./variables.c 2010-02-08 17:36:18.000000000 -0500
+***************
+*** 3809,3812 ****
+--- 3809,3817 ----
+ if (tempvar_p (var) && (posixly_correct || (var->attributes & att_propagate)))
+ {
++ /* Make sure we have a hash table to store the variable in while it is
++ being propagated down to the global variables table. Create one if
++ we have to */
++ if ((vc_isfuncenv (shell_variables) || vc_istempenv (shell_variables)) && shell_variables->table == 0)
++ shell_variables->table = hash_create (0);
+ /* XXX - should we set v->context here? */
+ v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0);
+*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400
+--- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */