summaryrefslogtreecommitdiffstats
path: root/source/a/bash
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/bash')
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00148
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00265
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00348
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00447
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00556
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00676
-rw-r--r--source/a/bash/bash-4.1-patches/bash41-00747
-rwxr-xr-xsource/a/bash/bash.SlackBuild131
-rw-r--r--source/a/bash/doinst.sh6
-rw-r--r--source/a/bash/patches/bash31-001104
-rw-r--r--source/a/bash/patches/bash31-002239
-rw-r--r--source/a/bash/patches/bash31-00347
-rw-r--r--source/a/bash/patches/bash31-00448
-rw-r--r--source/a/bash/patches/bash31-00554
-rw-r--r--source/a/bash/patches/bash31-00658
-rw-r--r--source/a/bash/patches/bash31-007121
-rw-r--r--source/a/bash/patches/bash31-00851
-rw-r--r--source/a/bash/patches/bash31-00966
-rw-r--r--source/a/bash/patches/bash31-01054
-rw-r--r--source/a/bash/patches/bash31-01147
-rw-r--r--source/a/bash/patches/bash31-01247
-rw-r--r--source/a/bash/patches/bash31-01344
-rw-r--r--source/a/bash/patches/bash31-014105
-rw-r--r--source/a/bash/patches/bash31-015106
-rw-r--r--source/a/bash/patches/bash31-01651
-rw-r--r--source/a/bash/patches/bash31-017131
26 files changed, 482 insertions, 1415 deletions
diff --git a/source/a/bash/bash-4.1-patches/bash41-001 b/source/a/bash/bash-4.1-patches/bash41-001
new file mode 100644
index 000000000..758e1fa40
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-001
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-001
+
+Bug-Reported-by: Yann Rouillard <yann@pleiades.fr.eu.org>
+Bug-Reference-ID: <4B44A410.4070107@pleiades.fr.eu.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00018.html
+
+Bug-Description:
+
+A prototype for vsnprintf was incorrect, and caused compilation failures
+on systems that did not have a suitable vsnprintf, but had a declaration in
+one of the system header files.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.1-patched/builtins/printf.def 2009-11-20 15:31:23.000000000 -0500
+--- builtins/printf.def 2010-01-07 08:50:06.000000000 -0500
+***************
+*** 173,177 ****
+
+ #if !HAVE_VSNPRINTF
+! extern int vsnprintf __P((char *, size_t, const char *, ...)) __attribute__((__format__ (printf, 3, 4)));
+ #endif
+
+--- 173,177 ----
+
+ #if !HAVE_VSNPRINTF
+! extern int vsnprintf __P((char *, size_t, const char *, va_list)) __attribute__((__format__ (printf, 3, 0)));
+ #endif
+
+*** ../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 0
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.1-patches/bash41-002 b/source/a/bash/bash-4.1-patches/bash41-002
new file mode 100644
index 000000000..a1151985c
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-002
@@ -0,0 +1,65 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-002
+
+Bug-Reported-by: guillaume.outters@free.fr
+Bug-Reference-ID: <20100105230441.70D171AA7F52@asterix.local>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00017.html
+
+Bug-Description:
+
+Bash-4.1/Readline-6.1 introduced a hook function that allows applications
+to rewrite or modify filenames read from the file system before comparing
+them with a word to be completed. The converted filename, if it matches,
+needs to be inserted into the line buffer, replacing the original contents.
+
+This fixes a completion bug on Mac OS X involving filenames containing
+UTF-8 characters.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.1-patched/lib/readline/complete.c 2009-11-29 18:39:30.000000000 -0500
+--- lib/readline/complete.c 2010-01-06 08:30:23.000000000 -0500
+***************
+*** 2139,2143 ****
+ if (filename_len == 0)
+ {
+! if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name))
+ continue;
+
+--- 2139,2143 ----
+ if (filename_len == 0)
+ {
+! if (_rl_match_hidden_files == 0 && HIDDEN_FILE (convfn))
+ continue;
+
+***************
+*** 2220,2224 ****
+ }
+
+! strcpy (temp + dirlen, entry->d_name);
+ }
+ else
+--- 2220,2224 ----
+ }
+
+! strcpy (temp + dirlen, convfn);
+ }
+ else
+*** ../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 1
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.1-patches/bash41-003 b/source/a/bash/bash-4.1-patches/bash41-003
new file mode 100644
index 000000000..479fdcd9d
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-003
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-003
+
+Bug-Reported-by: coyote@wariat.org.pl
+Bug-Reference-ID: <4b64a1f8.06e2660a.60af.4bfb@mx.google.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00135.html
+
+Bug-Description:
+
+If command completion is attempted on a word with a quoted globbing
+character (e.g., `*' or `?'), bash can reference a NULL pointer and
+dump core.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.1-patched/bashline.c 2009-10-24 14:10:19.000000000 -0400
+--- bashline.c 2010-01-30 21:53:49.000000000 -0500
+***************
+*** 1681,1685 ****
+ characters in the common prefix are bad) will ever be returned on
+ regular completion. */
+! if (glob_pattern_p (hint))
+ {
+ if (state == 0)
+--- 1681,1685 ----
+ characters in the common prefix are bad) will ever be returned on
+ regular completion. */
+! if (globpat)
+ {
+ if (state == 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 2
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.1-patches/bash41-004 b/source/a/bash/bash-4.1-patches/bash41-004
new file mode 100644
index 000000000..33f79bb7c
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-004
@@ -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_ */
diff --git a/source/a/bash/bash-4.1-patches/bash41-005 b/source/a/bash/bash-4.1-patches/bash41-005
new file mode 100644
index 000000000..8a2fec8a3
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-005
@@ -0,0 +1,56 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-005
+
+Bug-Reported-by: werner@suse.de
+Bug-Reference-ID: <201002251238.o1PCcYcg016893@boole.suse.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00132.html
+
+Bug-Description:
+
+When the `read' builtin times out after the timeout specified with -t is
+exceeded, it does not reset the flags that tell signal handlers to process
+signals immediately instead of deferring their handling. This can result
+in unsafe functions being called from signal handlers, which can cause bash
+to hang or dump core.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.1-patched/builtins/read.def 2009-10-08 11:35:46.000000000 -0400
+--- builtins/read.def 2010-03-17 17:35:39.000000000 -0400
+***************
+*** 616,621 ****
+ zsyncfd (fd);
+
+- interrupt_immediately--;
+- terminate_immediately--;
+ discard_unwind_frame ("read_builtin");
+
+--- 616,619 ----
+***************
+*** 624,627 ****
+--- 622,628 ----
+ assign_vars:
+
++ interrupt_immediately--;
++ terminate_immediately--;
++
+ #if defined (ARRAY_VARS)
+ /* If -a was given, take the string read, break it into a list of words,
+*** ../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 4
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.1-patches/bash41-006 b/source/a/bash/bash-4.1-patches/bash41-006
new file mode 100644
index 000000000..d6553b8bb
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-006
@@ -0,0 +1,76 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-006
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <201003210155.56618.vapier@gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html
+
+Bug-Description:
+
+Bash did not correctly print/reproduce here documents attached to commands
+inside compound commands such as for and while. 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.1-patched/print_cmd.c 2009-09-16 15:32:26.000000000 -0400
+--- print_cmd.c 2010-03-22 21:15:30.000000000 -0400
+***************
+*** 114,117 ****
+--- 114,123 ----
+ #define CHECK_XTRACE_FP xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
+
++ #define PRINT_DEFERRED_HEREDOCS(x) \
++ do { \
++ if (deferred_heredocs) \
++ print_deferred_heredocs (x); \
++ } while (0)
++
+ /* Non-zero means the stuff being printed is inside of a function def. */
+ static int inside_function_def;
+***************
+*** 561,571 ****
+ {
+ print_for_command_head (for_command);
+-
+ cprintf (";");
+ newline ("do\n");
+ indentation += indentation_amount;
+ make_command_string_internal (for_command->action);
+ semicolon ();
+ indentation -= indentation_amount;
+ newline ("done");
+ }
+--- 566,578 ----
+ {
+ print_for_command_head (for_command);
+ cprintf (";");
+ newline ("do\n");
++
+ indentation += indentation_amount;
+ make_command_string_internal (for_command->action);
++ PRINT_DEFERRED_HEREDOCS ("");
+ semicolon ();
+ indentation -= indentation_amount;
++
+ newline ("done");
+ }
+*** ../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 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.1-patches/bash41-007 b/source/a/bash/bash-4.1-patches/bash41-007
new file mode 100644
index 000000000..07b4796c4
--- /dev/null
+++ b/source/a/bash/bash-4.1-patches/bash41-007
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.1
+Patch-ID: bash41-007
+
+Bug-Reported-by: Rob Robason <rob@robason.net>
+Bug-Reference-ID: <1269513145.22336.9.camel@home.robason.homelinux.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00089.html
+
+Bug-Description:
+
+A typo caused bash to not honor a precision specification in a printf
+format.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.1-patched/builtins/printf.def 2010-01-18 10:50:22.000000000 -0500
+--- builtins/printf.def 2010-03-25 09:40:56.000000000 -0400
+***************
+*** 118,122 ****
+ nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \
+ else if (have_precision) \
+! nw = vflag ? vbprintf (f, precision, func) : printf (f, fieldwidth, func); \
+ else \
+ nw = vflag ? vbprintf (f, func) : printf (f, func); \
+--- 118,122 ----
+ nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \
+ else if (have_precision) \
+! nw = vflag ? vbprintf (f, precision, func) : printf (f, precision, func); \
+ else \
+ nw = vflag ? vbprintf (f, func) : printf (f, func); \
+*** ../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 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash.SlackBuild b/source/a/bash/bash.SlackBuild
index 04c8ff953..32ce9a40d 100755
--- a/source/a/bash/bash.SlackBuild
+++ b/source/a/bash/bash.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,14 +20,26 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.1
-ARCH=${ARCH:-x86_64}
-BUILD=${BUILD:-2}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
+# Set initial variables:
+CWD=`pwd`
+if [ "$TMP" = "" ]; then
+ TMP=/tmp
+fi
PKG=$TMP/package-bash
+VERSION=${VERSION:-$(echo bash-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
@@ -36,52 +48,98 @@ elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
fi
+if [ ! -d $TMP ]; then
+ mkdir -p $TMP # location to build the source
+fi
rm -rf $PKG
-mkdir -p $TMP $PKG
+mkdir -p $PKG
# Determine bash patchlevel:
-PATCHLEVEL=`( cd $CWD/patches ; /bin/ls *gz | tail -1 | cut -f 2 -d - | cut -f 1 -d . 2> /dev/null )`
+PATCHLEVEL="$( cd $CWD/bash-${VERSION}-patches ; /bin/ls bash4?-??? | tail -1 | cut -f 2 -d - 2> /dev/null )"
if [ "$PATCHLEVEL" = "" ]; then
PATCHLEVEL=0
fi
cd $TMP
rm -rf bash-$VERSION
-tar xzvf $CWD/bash-$VERSION.tar.gz || exit 1
-cd bash-$VERSION
+tar xvf $CWD/bash-$VERSION.tar.?z* || exit 1
+cd bash-$VERSION || exit 1
chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-for patch in $CWD/patches/bash* ; do
- zcat $patch | patch -p0 --verbose || exit 1
-done
+find . -perm 664 | xargs chmod 644
+find . -perm 775 | xargs chmod 755
+
+if [ -d $CWD/bash-${VERSION}-patches ]; then
+ ( cd $CWD/bash-${VERSION}-patches ; cat bash4?-??? ) | patch -p0 --verbose || exit 1
+fi
+
CFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr $ARCH-slackware-linux
-make -j3 || exit 1
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+make -j4 || make || exit 1
make install DESTDIR=$PKG
+mv $PKG/usr/share/doc $PKG/usr
mkdir -p $PKG/bin
-mv $PKG/usr/bin/bash $PKG/bin/bash2.new
-strip --strip-unneeded $PKG/bin/bash2.new
+mv $PKG/usr/bin/bash $PKG/bin/bash4.new
# We don't include the "bashbug" script.
rm -rf $PKG/usr/bin $PKG/usr/man/man1/bashbug.1
-gzip -9 $PKG/usr/man/man1/*
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# bash.1 is already installed by "make install"
+( cd doc
+ for page in builtins.1 rbash.1 ; do
+ cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
+ done
+)
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
mkdir -p $PKG/usr/doc/bash-$VERSION
cp -a AUTHORS CHANGES COMPAT COPYING INSTALL MANIFEST NEWS NOTES \
- README Y2K doc/FAQ doc/INTRO $PKG/usr/doc/bash-$VERSION
-cd doc
-groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt
-# bash.1 is already installed by "make install"
-for page in builtins.1 rbash.1 ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
-done
-rm -f $PKG/usr/info/dir
-gzip -9 $PKG/usr/info/*
+ README Y2K doc/FAQ doc/INTRO \
+ $PKG/usr/doc/bash-$VERSION
+( cd doc ; groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt )
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
@@ -90,8 +148,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
makepkg -l y -c n $TMP/bash-$VERSION.$PATCHLEVEL-$ARCH-$BUILD.txz
-# Clean up the extra stuff:
-if [ "$1" = "--cleanup" ]; then
- rm -rf $TMP/bash-$VERSION
- rm -rf $PKG
-fi
diff --git a/source/a/bash/doinst.sh b/source/a/bash/doinst.sh
index 21760838d..867958fb8 100644
--- a/source/a/bash/doinst.sh
+++ b/source/a/bash/doinst.sh
@@ -1,7 +1,7 @@
if [ -r bin/bash ]; then
mv bin/bash bin/bash.old
fi
-mv bin/bash2.new bin/bash
+mv bin/bash4.new bin/bash
if [ -f bin/bash.old ]; then
rm -f bin/bash.old
fi
@@ -9,10 +9,10 @@ if [ ! -r etc/shells ]; then
touch etc/shells
chmod 644 etc/shells
fi
-if fgrep "/bin/bash" etc/shells 1> /dev/null 2> /dev/null ; then
+if grep -wq /bin/bash etc/shells ; then
true
else
- echo "/bin/bash" >> etc/shells
+ echo /bin/bash >> etc/shells
fi
( cd usr/bin ; rm -rf bash )
( cd usr/bin ; ln -sf /bin/bash bash )
diff --git a/source/a/bash/patches/bash31-001 b/source/a/bash/patches/bash31-001
deleted file mode 100644
index 4a10a02c1..000000000
--- a/source/a/bash/patches/bash31-001
+++ /dev/null
@@ -1,104 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-001
-
-Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
-Bug-Reference-ID: <20051212015924.GA820@toucan.gentoo.org> <20051214034438.GK1863@toucan.gentoo.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00030.html http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00041.html
-
-Bug-Description:
-
-There are parsing problems with compound assignments in several contexts,
-including as arguments to builtins like `local', `eval', and `let', and
-as multiple assignments in a single command.
-
-Patch:
-
-*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
---- parse.y Fri Dec 16 20:43:07 2005
-***************
-*** 3696,3700 ****
- b = builtin_address_internal (token, 0);
- if (b && (b->flags & ASSIGNMENT_BUILTIN))
-! parser_state |= PST_ASSIGNOK;
- }
-
---- 3696,3702 ----
- b = builtin_address_internal (token, 0);
- if (b && (b->flags & ASSIGNMENT_BUILTIN))
-! parser_state |= PST_ASSIGNOK;
-! else if (STREQ (token, "eval") || STREQ (token, "let"))
-! parser_state |= PST_ASSIGNOK;
- }
-
-***************
-*** 4687,4691 ****
- {
- WORD_LIST *wl, *rl;
-! int tok, orig_line_number, orig_token_size;
- char *saved_token, *ret;
-
---- 4689,4693 ----
- {
- WORD_LIST *wl, *rl;
-! int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
- char *saved_token, *ret;
-
-***************
-*** 4693,4696 ****
---- 4695,4699 ----
- orig_token_size = token_buffer_size;
- orig_line_number = line_number;
-+ orig_last_token = last_read_token;
-
- last_read_token = WORD; /* WORD to allow reserved words here */
-***************
-*** 4699,4702 ****
---- 4702,4707 ----
- token_buffer_size = 0;
-
-+ assignok = parser_state&PST_ASSIGNOK; /* XXX */
-+
- wl = (WORD_LIST *)NULL; /* ( */
- parser_state |= PST_COMPASSIGN;
-***************
-*** 4741,4745 ****
- }
-
-! last_read_token = WORD;
- if (wl)
- {
---- 4746,4750 ----
- }
-
-! last_read_token = orig_last_token; /* XXX - was WORD? */
- if (wl)
- {
-***************
-*** 4753,4756 ****
---- 4758,4765 ----
- if (retlenp)
- *retlenp = (ret && *ret) ? strlen (ret) : 0;
-+
-+ if (assignok)
-+ parser_state |= PST_ASSIGNOK;
-+
- return ret;
- }
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 0
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 1
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-002 b/source/a/bash/patches/bash31-002
deleted file mode 100644
index fac9a99af..000000000
--- a/source/a/bash/patches/bash31-002
+++ /dev/null
@@ -1,239 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-002
-
-Bug-Reported-by: vapier@gentoo.org
-Bug-Reference-ID: <20051210223218.GD3324@toucan.gentoo.org>
-Bug-Reference-URL:http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00021.html
-
-Bug-Description:
-
-This corrects several omissions in the bash documentation: It adds the new
-options to `ulimit', the exact expansions for `case' patterns, clarification
-of the language concerning the return value of `[[', and updated version
-information.
-
-Patch:
-
-*** ../bash-3.1/doc/bash.1 Wed Oct 12 11:40:52 2005
---- doc/bash.1 Wed Dec 28 19:58:54 2005
-***************
-*** 7,16 ****
- .\" chet@po.cwru.edu
- .\"
-! .\" Last Change: Sat Aug 27 13:28:44 EDT 2005
- .\"
- .\" bash_builtins, strip all but Built-Ins section
- .if \n(zZ=1 .ig zZ
- .if \n(zY=1 .ig zY
-! .TH BASH 1 "2005 Aug 27" "GNU Bash-3.1-beta1"
- .\"
- .\" There's some problem with having a `@'
---- 7,16 ----
- .\" chet@po.cwru.edu
- .\"
-! .\" Last Change: Wed Dec 28 19:58:45 EST 2005
- .\"
- .\" bash_builtins, strip all but Built-Ins section
- .if \n(zZ=1 .ig zZ
- .if \n(zY=1 .ig zY
-! .TH BASH 1 "2005 Dec 28" "GNU Bash-3.1"
- .\"
- .\" There's some problem with having a `@'
-***************
-*** 678,683 ****
- is enabled, the match is performed without regard to the case
- of alphabetic characters.
-! The return value is 0 if the string matches or does not match
-! the pattern, respectively, and 1 otherwise.
- Any part of the pattern may be quoted to force it to be matched as a
- string.
---- 678,683 ----
- is enabled, the match is performed without regard to the case
- of alphabetic characters.
-! The return value is 0 if the string matches (\fB==\fP) or does not match
-! (\fB!=\fP) the pattern, and 1 otherwise.
- Any part of the pattern may be quoted to force it to be matched as a
- string.
-***************
-*** 808,811 ****
---- 808,817 ----
- .B Pathname Expansion
- below).
-+ The \fIword\fP is expanded using tilde
-+ expansion, parameter and variable expansion, arithmetic substituion,
-+ command substitution, process substitution and quote removal.
-+ Each \fIpattern\fP examined is expanded using tilde
-+ expansion, parameter and variable expansion, arithmetic substituion,
-+ command substitution, and process substitution.
- If the shell option
- .B nocasematch
-***************
-*** 8485,8489 ****
- none are found.
- .TP
-! \fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]]
- Provides control over the resources available to the shell and to
- processes started by it, on systems that allow such control.
---- 8485,8489 ----
- none are found.
- .TP
-! \fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
- Provides control over the resources available to the shell and to
- processes started by it, on systems that allow such control.
-***************
-*** 8524,8527 ****
---- 8524,8530 ----
- The maximum size of files created by the shell
- .TP
-+ .B \-i
-+ The maximum number of pending signals
-+ .TP
- .B \-l
- The maximum size that may be locked into memory
-***************
-*** 8537,8540 ****
---- 8540,8546 ----
- The pipe size in 512-byte blocks (this may not be set)
- .TP
-+ .B \-q
-+ The maximum number of bytes in POSIX message queues
-+ .TP
- .B \-s
- The maximum stack size
-***************
-*** 8548,8551 ****
---- 8554,8560 ----
- .B \-v
- The maximum amount of virtual memory available to the shell
-+ .TP
-+ .B \-x
-+ The maximum number of file locks
- .PD
- .PP
-*** ../bash-3.1/doc/bashref.texi Mon Oct 3 15:07:21 2005
---- doc/bashref.texi Fri Dec 30 10:50:39 2005
-***************
-*** 962,967 ****
- is enabled, the match is performed without regard to the case
- of alphabetic characters.
-! The return value is 0 if the string matches or does not match
-! the pattern, respectively, and 1 otherwise.
- Any part of the pattern may be quoted to force it to be matched as a
- string.
---- 962,967 ----
- is enabled, the match is performed without regard to the case
- of alphabetic characters.
-! The return value is 0 if the string matches (@samp{==}) or does not
-! match (@samp{!=})the pattern, and 1 otherwise.
- Any part of the pattern may be quoted to force it to be matched as a
- string.
-***************
-*** 2599,2603 ****
- or inconvenient to obtain with separate utilities.
-
-! This section briefly the builtins which Bash inherits from
- the Bourne Shell, as well as the builtin commands which are unique
- to or have been extended in Bash.
---- 2597,2601 ----
- or inconvenient to obtain with separate utilities.
-
-! This section briefly describes the builtins which Bash inherits from
- the Bourne Shell, as well as the builtin commands which are unique
- to or have been extended in Bash.
-***************
-*** 3834,3838 ****
- @btindex ulimit
- @example
-! ulimit [-acdflmnpstuvSH] [@var{limit}]
- @end example
- @code{ulimit} provides control over the resources available to processes
---- 3834,3838 ----
- @btindex ulimit
- @example
-! ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
- @end example
- @code{ulimit} provides control over the resources available to processes
-***************
-*** 3858,3861 ****
---- 3858,3864 ----
- The maximum size of files created by the shell.
-
-+ @item -i
-+ The maximum number of pending signals.
-+
- @item -l
- The maximum size that may be locked into memory.
-***************
-*** 3870,3873 ****
---- 3873,3879 ----
- The pipe buffer size.
-
-+ @item -q
-+ The maximum number of bytes in POSIX message queues.
-+
- @item -s
- The maximum stack size.
-***************
-*** 3882,3885 ****
---- 3888,3894 ----
- The maximum amount of virtual memory available to the process.
-
-+ @item -x
-+ The maximum number of file locks.
-+
- @end table
-
-***************
-*** 4090,4095 ****
-
- @item -x
-! Print a trace of simple commands, \fBfor\fP commands, \fBcase\fP
-! commands, \fBselect\fP commands, and arithmetic \fBfor\fP commands
- and their arguments or associated word lists after they are
- expanded and before they are executed. The value of the @env{PS4}
---- 4103,4108 ----
-
- @item -x
-! Print a trace of simple commands, @code{for} commands, @code{case}
-! commands, @code{select} commands, and arithmetic @code{for} commands
- and their arguments or associated word lists after they are
- expanded and before they are executed. The value of the @env{PS4}
-*** ../bash-3.1/doc/version.texi Tue Sep 20 14:52:56 2005
---- doc/version.texi Fri Dec 30 10:50:58 2005
-***************
-*** 3,10 ****
- @end ignore
-
-! @set LASTCHANGE Mon Sep 5 11:47:04 EDT 2005
-
-! @set EDITION 3.1-beta1
-! @set VERSION 3.1-beta1
-! @set UPDATED 5 September 2005
-! @set UPDATED-MONTH September 2005
---- 3,10 ----
- @end ignore
-
-! @set LASTCHANGE Fri Dec 30 10:50:51 EST 2005
-
-! @set EDITION 3.1
-! @set VERSION 3.1
-! @set UPDATED 30 December 2005
-! @set UPDATED-MONTH December 2005
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 1
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 2
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-003 b/source/a/bash/patches/bash31-003
deleted file mode 100644
index cd36dc83e..000000000
--- a/source/a/bash/patches/bash31-003
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-003
-
-Bug-Reported-by: Adam Buraczewski <adamb@nor.pl>
-Bug-Reference-ID: <200512210950.jBL9o4C2008608@localhost.localdomain>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00055.html
-
-Bug-Description:
-
-A missing #define guard causes bash to not compile when readline is not
-configured in, either as the result of explicit disabling or when the
-`--enable-minimal-config' option is given to configure.
-
-Patch:
-
-*** ../bash-3.1/variables.c Sat Nov 12 21:22:37 2005
---- variables.c Mon Dec 26 13:34:03 2005
-***************
-*** 861,867 ****
---- 863,871 ----
- char val[INT_STRLEN_BOUND(int) + 1], *v;
-
-+ #if defined (READLINE)
- /* If we are currently assigning to LINES or COLUMNS, don't do anything. */
- if (winsize_assignment)
- return;
-+ #endif
-
- v = inttostr (lines, val, sizeof (val));
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 2
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 3
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-004 b/source/a/bash/patches/bash31-004
deleted file mode 100644
index 4f9d578ef..000000000
--- a/source/a/bash/patches/bash31-004
+++ /dev/null
@@ -1,48 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-004
-
-Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
-Bug-Reference-ID: <20051223172359.GF14579@toucan.gentoo.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00062.html
-
-Bug-Description:
-
-A local array variable declared at function scope that shadows a variable
-of the same name declared in a previous scope did not create a separate
-variable instance, but used the previous one.
-
-Patch:
-
-*** ../bash-3.1/subst.c Mon Oct 24 09:51:13 2005
---- subst.c Fri Dec 30 12:11:53 2005
-***************
-*** 2188,2192 ****
- {
- v = find_variable (name);
-! if (v == 0 || array_p (v) == 0)
- v = make_local_array_variable (name);
- v = assign_array_var_from_string (v, value, flags);
---- 2188,2192 ----
- {
- v = find_variable (name);
-! if (v == 0 || array_p (v) == 0 || v->context != variable_context)
- v = make_local_array_variable (name);
- v = assign_array_var_from_string (v, value, flags);
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 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_ */
diff --git a/source/a/bash/patches/bash31-005 b/source/a/bash/patches/bash31-005
deleted file mode 100644
index b6d5cdca8..000000000
--- a/source/a/bash/patches/bash31-005
+++ /dev/null
@@ -1,54 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-005
-
-Bug-Reported-by:
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-When tilde expansion fails, POSIX leaves it unspecified whether or not the
-word undergoes the additional word expansions. Bash-3.1 as distributed
-skipped the rest of the expansions; this patch restores the bash-3.0 behavior.
-
-This means that something like
- USER=ratbert
- echo ~$USER
-
-will echo `~ratbert' rather than `~$USER'.
-
-Patch:
-
-*** ../bash-3.1/subst.c Mon Oct 24 09:51:13 2005
---- subst.c Fri Dec 30 12:11:53 2005
-***************
-*** 6796,6799 ****
---- 6823,6832 ----
- {
- temp1 = bash_tilde_expand (temp, tflag);
-+ if (temp1 && *temp1 == '~' && STREQ (temp, temp1))
-+ {
-+ FREE (temp);
-+ FREE (temp1);
-+ goto add_character; /* tilde expansion failed */
-+ }
- free (temp);
- temp = temp1;
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 4
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 5
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-006 b/source/a/bash/patches/bash31-006
deleted file mode 100644
index 8d7499381..000000000
--- a/source/a/bash/patches/bash31-006
+++ /dev/null
@@ -1,58 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-006
-
-Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
-Bug-Reference-ID: <200601120613.11907.vapier@gentoo.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00045.html
-
-Bug-Description:
-
-Under some circumstances, Bash can use an incorrect setting for the flag
-that indicates whether or not the terminal can auto-wrap, resulting in line-
-wrapping errors.
-
-Patch:
-
-*** ../bash-3.1/lib/readline/terminal.c Sat Nov 12 20:46:54 2005
---- lib/readline/terminal.c Tue Jan 31 10:57:54 2006
-***************
-*** 123,127 ****
-
- /* Non-zero means the terminal can auto-wrap lines. */
-! int _rl_term_autowrap;
-
- /* Non-zero means that this terminal has a meta key. */
---- 126,130 ----
-
- /* Non-zero means the terminal can auto-wrap lines. */
-! int _rl_term_autowrap = -1;
-
- /* Non-zero means that this terminal has a meta key. */
-***************
-*** 275,278 ****
---- 278,284 ----
- int rows, cols;
- {
-+ if (_rl_term_autowrap == -1)
-+ _rl_init_terminal_io (rl_terminal_name);
-+
- if (rows > 0)
- _rl_screenheight = rows;
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 5
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 6
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-007 b/source/a/bash/patches/bash31-007
deleted file mode 100644
index 6233786c4..000000000
--- a/source/a/bash/patches/bash31-007
+++ /dev/null
@@ -1,121 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-007
-
-Bug-Reported-by: Tim Waugh <twaugh@redhat.com>, Laird Breyer <laird@lbreyer.com>
-Bug-Reference-ID: <20060105174434.GY16000@redhat.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00009.html
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347695
-
-Bug-Description:
-
-When the number of saved jobs exceeds the initial size of the jobs array
-(4096 slots), the array must be compacted and reallocated. An error in
-the code to do that could cause a segmentation fault.
-
-Patch:
-
-*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
---- jobs.c Wed Feb 1 13:55:38 2006
-***************
-*** 845,851 ****
- {
- sigset_t set, oset;
-! int nsize, i, j;
- JOB **nlist;
-
- nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
- nsize *= JOB_SLOTS;
---- 888,895 ----
- {
- sigset_t set, oset;
-! int nsize, i, j, ncur, nprev;
- JOB **nlist;
-
-+ ncur = nprev = NO_JOB;
- nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
- nsize *= JOB_SLOTS;
-***************
-*** 855,869 ****
-
- BLOCK_CHILD (set, oset);
-! nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
- for (i = j = 0; i < js.j_jobslots; i++)
- if (jobs[i])
-! nlist[j++] = jobs[i];
-
- js.j_firstj = 0;
-! js.j_lastj = (j > 0) ? j - 1: 0;
- js.j_jobslots = nsize;
-
-! free (jobs);
-! jobs = nlist;
-
- UNBLOCK_CHILD (oset);
---- 899,947 ----
-
- BLOCK_CHILD (set, oset);
-! nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
-!
- for (i = j = 0; i < js.j_jobslots; i++)
- if (jobs[i])
-! {
-! if (i == js.j_current)
-! ncur = j;
-! if (i == js.j_previous)
-! nprev = j;
-! nlist[j++] = jobs[i];
-! }
-!
-! #if defined (DEBUG)
-! itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
-! itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
-! itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0);
-! #endif
-
- js.j_firstj = 0;
-! js.j_lastj = (j > 0) ? j - 1 : 0;
-! js.j_njobs = j;
- js.j_jobslots = nsize;
-
-! /* Zero out remaining slots in new jobs list */
-! for ( ; j < nsize; j++)
-! nlist[j] = (JOB *)NULL;
-!
-! if (jobs != nlist)
-! {
-! free (jobs);
-! jobs = nlist;
-! }
-!
-! if (ncur != NO_JOB)
-! js.j_current = ncur;
-! if (nprev != NO_JOB)
-! js.j_previous = nprev;
-!
-! /* Need to reset these */
-! if (js.j_current == NO_JOB || js.j_previous == NO_JOB || js.j_current > js.j_lastj || js.j_previous > js.j_lastj)
-! reset_current ();
-!
-! #ifdef DEBUG
-! itrace ("realloc_jobs_list: reset js.j_current (%d) and js.j_previous (%d)", js.j_current, js.j_previous);
-! #endif
-
- UNBLOCK_CHILD (oset);
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 6
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 7
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-008 b/source/a/bash/patches/bash31-008
deleted file mode 100644
index 3427b64e0..000000000
--- a/source/a/bash/patches/bash31-008
+++ /dev/null
@@ -1,51 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-008
-
-Bug-Reported-by: Ingemar Nilsson <init@kth.se>
-Bug-Reference-ID: <43C38D35.7020404@kth.se>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00044.html
-
-Bug-Description:
-
-In some cases, bash inappropriately allows SIGINT from the terminal to
-reach background processes.
-
-Patch:
-
-*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
---- jobs.c Wed Feb 1 13:55:38 2006
-***************
-*** 2199,2203 ****
- wait_sigint_received = 0;
- if (job_control == 0)
-! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
-
- termination_state = last_command_exit_value;
---- 2298,2306 ----
- wait_sigint_received = 0;
- if (job_control == 0)
-! {
-! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
-! if (old_sigint_handler == SIG_IGN)
-! set_signal_handler (SIGINT, old_sigint_handler);
-! }
-
- termination_state = last_command_exit_value;
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 7
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 8
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-009 b/source/a/bash/patches/bash31-009
deleted file mode 100644
index 8ef229585..000000000
--- a/source/a/bash/patches/bash31-009
+++ /dev/null
@@ -1,66 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-009
-
-Bug-Reported-by: Joshua Neuheisel <jneuheisel@gmail.com>
-Bug-Reference-ID: <25d873330601140820v4ad8efd2t8bf683b073c138b3@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00062.html
-
-Bug-Description:
-
-Under some circumstances, background (asynchronous) jobs can set the terminal
-process group incorrectly. This can cause a foreground process (including
-the foreground shell) to get read errors and exit.
-
-Patch:
-
-*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
---- jobs.c Wed Feb 1 13:55:38 2006
-***************
-*** 620,625 ****
- * the parent gives it away.
- *
- */
-! if (job_control && newjob->pgrp)
- give_terminal_to (newjob->pgrp, 0);
- }
---- 634,642 ----
- * the parent gives it away.
- *
-+ * Don't give the terminal away if this shell is an asynchronous
-+ * subshell.
-+ *
- */
-! if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
- give_terminal_to (newjob->pgrp, 0);
- }
-***************
-*** 1656,1660 ****
- shell's process group (we could be in the middle of a
- pipeline, for example). */
-! if (async_p == 0 && pipeline_pgrp != shell_pgrp)
- give_terminal_to (pipeline_pgrp, 0);
-
---- 1743,1747 ----
- shell's process group (we could be in the middle of a
- pipeline, for example). */
-! if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0))
- give_terminal_to (pipeline_pgrp, 0);
-
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 8
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 9
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-010 b/source/a/bash/patches/bash31-010
deleted file mode 100644
index 066a3242d..000000000
--- a/source/a/bash/patches/bash31-010
+++ /dev/null
@@ -1,54 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-010
-
-Bug-Reported-by: vw@vonwolff.de
-Bug-Reference-ID: <20060123135234.1AC2F1D596@wst07.vonwolff.de>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00090.html
-
-Bug-Description:
-
-There is a difference in behavior between bash-3.0 and bash-3.1 involving
-parsing of single- and double-quoted strings occurring in old-style
-command substitution. The difference has to do with how backslashes are
-processed. This patch restores a measure of backwards compatibility while
-the question of POSIX conformance and ultimately correct behavior is discussed.
-
-Patch:
-
-*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
---- parse.y Wed Jan 25 14:55:18 2006
-***************
-*** 2899,2903 ****
- else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
- {
-! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
- goto add_nestret;
- }
---- 2901,2909 ----
- else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
- {
-! /* Add P_ALLOWESC so backslash quotes the next character and
-! shell_getc does the right thing with \<newline>. We do this for
-! a measure of backwards compatibility -- it's not strictly the
-! right POSIX thing. */
-! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_ALLOWESC);
- goto add_nestret;
- }
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 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_ */
diff --git a/source/a/bash/patches/bash31-011 b/source/a/bash/patches/bash31-011
deleted file mode 100644
index 025b83907..000000000
--- a/source/a/bash/patches/bash31-011
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-011
-
-Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com>
-Bug-Reference-ID: <E1EvwxP-0004LD-GC@localhost.localdomain>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00033.html
-
-Bug-Description:
-
-A change in bash-3.1 caused the single quotes to be stripped from ANSI-C
-quoting inside double-quoted command substitutions.
-
-Patch:
-
-*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
---- parse.y Wed Jan 25 14:55:18 2006
-***************
-*** 2908,2912 ****
- count--;
- if (ch == '(') /* ) */
-! nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags);
- else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
---- 2914,2918 ----
- count--;
- if (ch == '(') /* ) */
-! nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE);
- else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 10
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 11
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-012 b/source/a/bash/patches/bash31-012
deleted file mode 100644
index b0ddb3a48..000000000
--- a/source/a/bash/patches/bash31-012
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-012
-
-Bug-Reported-by: Alexander Kshevetskiy <alex@dgap.mipt.ru>
-Bug-Reference-ID: <308374997.20060124175849@dgap.mipt.ru>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00097.html
-
-Bug-Description:
-
-There is a parsing problem involving parentheses in assignment statements
-that causes words to be terminated prematurely.
-
-Patch:
-
-*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
---- parse.y Wed Jan 25 14:55:18 2006
-***************
-*** 3579,3583 ****
- all_digit_token = 0;
- compound_assignment = 1;
-! #if 0
- goto next_character;
- #else
---- 3584,3588 ----
- all_digit_token = 0;
- compound_assignment = 1;
-! #if 1
- goto next_character;
- #else
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 11
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 12
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-013 b/source/a/bash/patches/bash31-013
deleted file mode 100644
index 93c7c8fc8..000000000
--- a/source/a/bash/patches/bash31-013
+++ /dev/null
@@ -1,44 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-013
-
-Bug-Reported-by: Bob Rossi <bob@brasko.net>
-Bug-Reference-ID: <43F60606.80708@case.edu>
-Bug-Reference-URL:
-
-Bug-Description:
-
-In some cases, readline will reference freed memory when attempting to
-display a portion of the prompt.
-
-Patch:
-
-*** ../bash-3.1-patched/lib/readline/readline.c Mon Jul 4 22:29:35 2005
---- lib/readline/readline.c Fri Feb 17 22:54:22 2006
-***************
-*** 282,287 ****
---- 282,288 ----
- {
- FREE (rl_prompt);
- rl_prompt = prompt ? savestring (prompt) : (char *)NULL;
-+ rl_display_prompt = rl_prompt ? rl_prompt : "";
-
- rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
- return 0;
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 12
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 13
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-014 b/source/a/bash/patches/bash31-014
deleted file mode 100644
index 82ff9b408..000000000
--- a/source/a/bash/patches/bash31-014
+++ /dev/null
@@ -1,105 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-014
-
-Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com>
-Bug-Reference-ID: <20060203191607.GC27614@localhost>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00004.html
-
-Bug-Description:
-
-The displayed search prompt is corrupted when using non-incremental
-searches in vi and emacs mode if the prompt contains non-printing
-characters or spans multiple lines. The prompt is expanded more than
-once; the second time without the escape sequences that protect non-
-printing characters from the length calculations.
-
-Patch:
-
-*** ../bash-3.1-patched/lib/readline/display.c Wed Nov 30 14:05:02 2005
---- lib/readline/display.c Sat Feb 18 12:14:58 2006
-***************
-*** 1983,1993 ****
- int pchar;
- {
- int len;
-! char *pmt;
-
- rl_save_prompt ();
-
-! if (saved_local_prompt == 0)
- {
- len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
- pmt = (char *)xmalloc (len + 2);
---- 1998,2012 ----
- int pchar;
- {
- int len;
-! char *pmt, *p;
-
- rl_save_prompt ();
-
-! /* We've saved the prompt, and can do anything with the various prompt
-! strings we need before they're restored. We want the unexpanded
-! portion of the prompt string after any final newline. */
-! p = rl_prompt ? strrchr (rl_prompt, '\n') : 0;
-! if (p == 0)
- {
- len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
- pmt = (char *)xmalloc (len + 2);
-***************
-*** 1998,2016 ****
- }
- else
- {
-! len = *saved_local_prompt ? strlen (saved_local_prompt) : 0;
- pmt = (char *)xmalloc (len + 2);
- if (len)
-! strcpy (pmt, saved_local_prompt);
- pmt[len] = pchar;
- pmt[len+1] = '\0';
-! local_prompt = savestring (pmt);
-! prompt_last_invisible = saved_last_invisible;
-! prompt_visible_length = saved_visible_length + 1;
-! }
-
- prompt_physical_chars = saved_physical_chars + 1;
--
- return pmt;
- }
-
---- 2017,2033 ----
- }
- else
- {
-! p++;
-! len = strlen (p);
- pmt = (char *)xmalloc (len + 2);
- if (len)
-! strcpy (pmt, p);
- pmt[len] = pchar;
- pmt[len+1] = '\0';
-! }
-
-+ /* will be overwritten by expand_prompt, called from rl_message */
- prompt_physical_chars = saved_physical_chars + 1;
- return pmt;
- }
-
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 13
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 14
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-015 b/source/a/bash/patches/bash31-015
deleted file mode 100644
index deb9eed58..000000000
--- a/source/a/bash/patches/bash31-015
+++ /dev/null
@@ -1,106 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-015
-
-Bug-Reported-by: Benoit Vila
-Bug-Reference-ID: <43FCA614.1090108@free.fr>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html
-
-Bug-Description:
-
-A problem with the extended globbing code prevented dots from matching
-filenames when used in some extended matching patterns.
-
-Patch:
-
-*** ../bash-3.1-patched/lib/glob/sm_loop.c Sun Oct 16 21:21:04 2005
---- lib/glob/sm_loop.c Mon Feb 27 17:18:43 2006
-***************
-*** 639,643 ****
- CHAR *pnext; /* pointer to next sub-pattern */
- CHAR *srest; /* pointer to rest of string */
-! int m1, m2;
-
- #if DEBUG_MATCHING
---- 638,642 ----
- CHAR *pnext; /* pointer to next sub-pattern */
- CHAR *srest; /* pointer to rest of string */
-! int m1, m2, xflags; /* xflags = flags passed to recursive matches */
-
- #if DEBUG_MATCHING
-***************
-*** 645,648 ****
---- 644,648 ----
- fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se);
- fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
-+ fprintf(stderr, "extmatch: flags = %d\n", flags);
- #endif
-
-***************
-*** 678,683 ****
- multiple matches of the pattern. */
- if (m1)
-! m2 = (GMATCH (srest, se, prest, pe, flags) == 0) ||
-! (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0);
- if (m1 && m2)
- return (0);
---- 678,687 ----
- multiple matches of the pattern. */
- if (m1)
-! {
-! /* if srest > s, we are not at start of string */
-! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
-! m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) ||
-! (s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0);
-! }
- if (m1 && m2)
- return (0);
-***************
-*** 705,710 ****
- for ( ; srest <= se; srest++)
- {
- if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
-! GMATCH (srest, se, prest, pe, flags) == 0)
- return (0);
- }
---- 709,716 ----
- for ( ; srest <= se; srest++)
- {
-+ /* if srest > s, we are not at start of string */
-+ xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
- if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
-! GMATCH (srest, se, prest, pe, xflags) == 0)
- return (0);
- }
-***************
-*** 727,731 ****
- break;
- }
-! if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0)
- return (0);
- }
---- 733,739 ----
- break;
- }
-! /* if srest > s, we are not at start of string */
-! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
-! if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0)
- return (0);
- }
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 14
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 15
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-016 b/source/a/bash/patches/bash31-016
deleted file mode 100644
index fa0ffe1c7..000000000
--- a/source/a/bash/patches/bash31-016
+++ /dev/null
@@ -1,51 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-016
-
-Bug-Reported-by: Nikita Danilov <nikita@clusterfs.com>
-Bug-Reference-ID: <17397.51015.769854.541057@gargle.gargle.HOWL>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html
-
-Bug-Description:
-
-Bash will dump core when attempting to perform globbing in directories with
-very large numbers of files.
-
-Patch:
-
-*** ../bash-3.1-patched/lib/glob/glob.c Thu Mar 24 12:42:27 2005
---- lib/glob/glob.c Fri Mar 3 16:54:12 2006
-***************
-*** 361,364 ****
---- 361,365 ----
-
- firstmalloc = 0;
-+ nalloca = 0;
-
- /* If PAT is empty, skip the loop, but return one (empty) filename. */
-***************
-*** 547,550 ****
---- 551,556 ----
- tmplink = lastlink;
- }
-+ else
-+ tmplink = 0;
- free (lastlink->name);
- lastlink = lastlink->next;
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 15
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 16
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/patches/bash31-017 b/source/a/bash/patches/bash31-017
deleted file mode 100644
index 84f891551..000000000
--- a/source/a/bash/patches/bash31-017
+++ /dev/null
@@ -1,131 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 3.1
-Patch-ID: bash31-017
-
-Bug-Reported-by: syphir@syphir.sytes.net
-Bug-Reference-ID: <442421F5.3010105@syphir.sytes.net>
-Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358831
-
-Bug-Description:
-
-Array expansion fails with an arithmetic syntax error when the subscript
-appears within double quotes. For example: ${a["4"]}.
-
-Patch:
-
-*** ../bash-3.1-patched/subst.c Wed Apr 12 08:47:08 2006
---- subst.c Wed Apr 12 08:49:02 2006
-***************
-*** 2576,2579 ****
---- 2576,2586 ----
- }
-
-+ char *
-+ expand_arith_string (string, quoted)
-+ char *string;
-+ {
-+ return (expand_string_if_necessary (string, quoted, expand_string));
-+ }
-+
- #if defined (COND_COMMAND)
- /* Just remove backslashes in STRING. Returns a new string. */
-***************
-*** 5249,5253 ****
- t = (char *)0;
-
-! temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string);
- *e1p = evalexp (temp1, &expok);
- free (temp1);
---- 5256,5260 ----
- t = (char *)0;
-
-! temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES);
- *e1p = evalexp (temp1, &expok);
- free (temp1);
-***************
-*** 5294,5298 ****
- t++;
- temp2 = savestring (t);
-! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
- free (temp2);
- t[-1] = ':';
---- 5301,5305 ----
- t++;
- temp2 = savestring (t);
-! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
- free (temp2);
- t[-1] = ':';
-***************
-*** 6436,6440 ****
-
- /* Expand variables found inside the expression. */
-! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
- free (temp2);
-
---- 6443,6447 ----
-
- /* Expand variables found inside the expression. */
-! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
- free (temp2);
-
-***************
-*** 6478,6482 ****
-
- /* Do initial variable expansion. */
-! temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string);
-
- goto arithsub;
---- 6485,6489 ----
-
- /* Do initial variable expansion. */
-! temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES);
-
- goto arithsub;
-*** ../bash-3.1-patched/subst.h Sun Nov 7 15:12:28 2004
---- subst.h Mon Mar 27 09:10:38 2006
-***************
-*** 152,155 ****
---- 152,158 ----
- extern char *expand_assignment_string_to_string __P((char *, int));
-
-+ /* Expand an arithmetic expression string */
-+ extern char *expand_arith_string __P((char *, int));
-+
- /* De-quoted quoted characters in STRING. */
- extern char *dequote_string __P((char *));
-*** ../bash-3.1-patched/arrayfunc.c Mon Jul 4 20:25:58 2005
---- arrayfunc.c Mon Mar 27 09:10:47 2006
-***************
-*** 593,601 ****
- strncpy (exp, s, len - 1);
- exp[len - 1] = '\0';
-! #if 0
-! t = expand_string_to_string (exp, 0);
-! #else
-! t = expand_string_to_string (exp, Q_DOUBLE_QUOTES);
-! #endif
- this_command_name = (char *)NULL;
- val = evalexp (t, &expok);
---- 591,595 ----
- strncpy (exp, s, len - 1);
- exp[len - 1] = '\0';
-! t = expand_arith_string (exp, 0);
- this_command_name = (char *)NULL;
- val = evalexp (t, &expok);
-*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
---- patchlevel.h Wed Dec 7 13:48:42 2005
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 16
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 17
-
- #endif /* _PATCHLEVEL_H_ */