]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
bash: Update to 4.3.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 26 Jul 2014 18:00:17 +0000 (20:00 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 26 Jul 2014 18:01:08 +0000 (20:01 +0200)
73 files changed:
config/rootfiles/common/bash
lfs/bash
src/patches/bash-3.2-ssh_source_bash.patch
src/patches/bash-4.0-paths-1.patch
src/patches/bash/bash32-001 [deleted file]
src/patches/bash/bash32-002 [deleted file]
src/patches/bash/bash32-003 [deleted file]
src/patches/bash/bash32-004 [deleted file]
src/patches/bash/bash32-005 [deleted file]
src/patches/bash/bash32-006 [deleted file]
src/patches/bash/bash32-007 [deleted file]
src/patches/bash/bash32-008 [deleted file]
src/patches/bash/bash32-009 [deleted file]
src/patches/bash/bash32-010 [deleted file]
src/patches/bash/bash32-011 [deleted file]
src/patches/bash/bash32-012 [deleted file]
src/patches/bash/bash32-013 [deleted file]
src/patches/bash/bash32-014 [deleted file]
src/patches/bash/bash32-015 [deleted file]
src/patches/bash/bash32-016 [deleted file]
src/patches/bash/bash32-017 [deleted file]
src/patches/bash/bash32-018 [deleted file]
src/patches/bash/bash32-019 [deleted file]
src/patches/bash/bash32-020 [deleted file]
src/patches/bash/bash32-021 [deleted file]
src/patches/bash/bash32-022 [deleted file]
src/patches/bash/bash32-023 [deleted file]
src/patches/bash/bash32-024 [deleted file]
src/patches/bash/bash32-025 [deleted file]
src/patches/bash/bash32-026 [deleted file]
src/patches/bash/bash32-027 [deleted file]
src/patches/bash/bash32-028 [deleted file]
src/patches/bash/bash32-029 [deleted file]
src/patches/bash/bash32-030 [deleted file]
src/patches/bash/bash32-031 [deleted file]
src/patches/bash/bash32-032 [deleted file]
src/patches/bash/bash32-033 [deleted file]
src/patches/bash/bash32-034 [deleted file]
src/patches/bash/bash32-035 [deleted file]
src/patches/bash/bash32-036 [deleted file]
src/patches/bash/bash32-037 [deleted file]
src/patches/bash/bash32-038 [deleted file]
src/patches/bash/bash32-039 [deleted file]
src/patches/bash/bash32-040 [deleted file]
src/patches/bash/bash32-041 [deleted file]
src/patches/bash/bash32-042 [deleted file]
src/patches/bash/bash32-043 [deleted file]
src/patches/bash/bash32-044 [deleted file]
src/patches/bash/bash32-045 [deleted file]
src/patches/bash/bash32-046 [deleted file]
src/patches/bash/bash32-047 [deleted file]
src/patches/bash/bash32-048 [deleted file]
src/patches/bash/bash32-049 [deleted file]
src/patches/bash/bash32-050 [deleted file]
src/patches/bash/bash32-051 [deleted file]
src/patches/bash/bash43-001 [new file with mode: 0644]
src/patches/bash/bash43-002 [new file with mode: 0644]
src/patches/bash/bash43-003 [new file with mode: 0644]
src/patches/bash/bash43-004 [new file with mode: 0644]
src/patches/bash/bash43-005 [new file with mode: 0644]
src/patches/bash/bash43-006 [new file with mode: 0644]
src/patches/bash/bash43-007 [new file with mode: 0644]
src/patches/bash/bash43-008 [new file with mode: 0644]
src/patches/bash/bash43-009 [new file with mode: 0644]
src/patches/bash/bash43-010 [new file with mode: 0644]
src/patches/bash/bash43-011 [new file with mode: 0644]
src/patches/bash/bash43-012 [new file with mode: 0644]
src/patches/bash/bash43-013 [new file with mode: 0644]
src/patches/bash/bash43-014 [new file with mode: 0644]
src/patches/bash/bash43-015 [new file with mode: 0644]
src/patches/bash/bash43-016 [new file with mode: 0644]
src/patches/bash/bash43-017 [new file with mode: 0644]
src/patches/bash/bash43-018 [new file with mode: 0644]

index ecaeb1bdd2a8ede5fd5636451e5b6231af57adc3..6afa0e45ec4bf0029d8835743d47364adac262c0 100644 (file)
@@ -1,6 +1,56 @@
 bin/sh
 bin/bash
 #bin/bashbug
+#usr/share/doc/bash
+#usr/share/doc/bash/CHANGES
+#usr/share/doc/bash/COMPAT
+#usr/share/doc/bash/FAQ
+#usr/share/doc/bash/INTRO
+#usr/share/doc/bash/NEWS
+#usr/share/doc/bash/POSIX
+#usr/share/doc/bash/RBASH
+#usr/share/doc/bash/README
+#usr/share/doc/bash/bash.html
+#usr/share/doc/bash/bashref.html
 #usr/share/info/bash.info
 #usr/share/man/man1/bash.1
 #usr/share/man/man1/bashbug.1
+#usr/share/locale/af
+#usr/share/locale/af/LC_MESSAGES
+#usr/share/locale/af/LC_MESSAGES/bash.mo
+#usr/share/locale/bg/LC_MESSAGES/bash.mo
+#usr/share/locale/ca/LC_MESSAGES/bash.mo
+#usr/share/locale/cs/LC_MESSAGES/bash.mo
+#usr/share/locale/da/LC_MESSAGES/bash.mo
+#usr/share/locale/de/LC_MESSAGES/bash.mo
+#usr/share/locale/el/LC_MESSAGES/bash.mo
+#usr/share/locale/en@boldquot
+#usr/share/locale/en@boldquot/LC_MESSAGES
+#usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo
+#usr/share/locale/en@quot/LC_MESSAGES/bash.mo
+#usr/share/locale/eo/LC_MESSAGES/bash.mo
+#usr/share/locale/es/LC_MESSAGES/bash.mo
+#usr/share/locale/et/LC_MESSAGES/bash.mo
+#usr/share/locale/fi/LC_MESSAGES/bash.mo
+#usr/share/locale/fr/LC_MESSAGES/bash.mo
+#usr/share/locale/ga/LC_MESSAGES/bash.mo
+#usr/share/locale/gl/LC_MESSAGES/bash.mo
+#usr/share/locale/hr/LC_MESSAGES/bash.mo
+#usr/share/locale/hu/LC_MESSAGES/bash.mo
+#usr/share/locale/id/LC_MESSAGES/bash.mo
+#usr/share/locale/it/LC_MESSAGES/bash.mo
+#usr/share/locale/ja/LC_MESSAGES/bash.mo
+#usr/share/locale/lt/LC_MESSAGES/bash.mo
+#usr/share/locale/nl/LC_MESSAGES/bash.mo
+#usr/share/locale/pl/LC_MESSAGES/bash.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/bash.mo
+#usr/share/locale/ro/LC_MESSAGES/bash.mo
+#usr/share/locale/ru/LC_MESSAGES/bash.mo
+#usr/share/locale/sk/LC_MESSAGES/bash.mo
+#usr/share/locale/sl/LC_MESSAGES/bash.mo
+#usr/share/locale/sr
+#usr/share/locale/sr/LC_MESSAGES
+#usr/share/locale/sr/LC_MESSAGES/bash.mo
+#usr/share/locale/sv/LC_MESSAGES/bash.mo
+#usr/share/locale/tr/LC_MESSAGES/bash.mo
+#usr/share/locale/uk/LC_MESSAGES/bash.mo
index c89ff545a99b6e1a6952f219b19abd8ffecbe4d6..862c94432e56282c592dc3ba6b4ce42c8bc2af92 100644 (file)
--- a/lfs/bash
+++ b/lfs/bash
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.2
+VER        = 4.3
 
 THISAPP    = bash-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -35,20 +35,15 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 #
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr --bindir=/bin \
-    --without-bash-malloc --with-installed-readline \
-    --disable-nls
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+  CONFIGURE_OPTIONS = --prefix=/usr --bindir=/bin \
+    --with-installed-readline
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
-  EXTRA_CONFIG = --prefix=/tools --without-bash-malloc \
-    --disable-nls
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
+  CONFIGURE_OPTIONS = --prefix=/tools
 endif
 
-EXTRA_CONFIG += ac_cv_func_working_mktime=yes
+CONFIGURE_OPTIONS += \
+       --without-bash-malloc
 
 ###############################################################################
 # Top-level Rules
@@ -58,7 +53,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE)             = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5         = 00bfa16d58e034e3c2aa27f390390d30
+$(DL_FILE)_MD5         = 81348932d5da294953e15d4814c74dd1
 
 install : $(TARGET)
 
@@ -87,24 +82,31 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zaxf $(DIR_DL)/$(DL_FILE)
 
-       for i in $$(seq 1 51); do \
-               cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash32-$$(printf "%03d" "$${i}") || exit 1; \
+       sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
+               -i $(DIR_APP)/builtins/enable.def
+
+       for i in $$(seq 1 18); do \
+               cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash43-$$(printf "%03d" "$${i}") || exit 1; \
        done
 
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-paths-1.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-profile-1.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-3.2-ssh_source_bash.patch
-       cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
-       cd $(DIR_APP) && make $(EXTRA_MAKE)
-       cd $(DIR_APP) && make $(EXTRA_INSTALL) install
+
+       cd $(DIR_APP) && ./configure $(CONFIGURE_OPTIONS)
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+
        ln -sf bash /bin/sh
+
 ifneq "$(ROOT)" ""
        -mkdir -p $(ROOT)/bin
        -mkdir -p $(ROOT)/usr/bin
        ln -sf bash /tools/bin/sh
        -ln -sf /tools/bin/bash $(ROOT)/bin/sh
 endif
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 4b371326a3818747a70733dc6102d6b9ed3a12e3..5bd19ce9adf13373aa8f045defe6b1f5ddc28359 100644 (file)
@@ -1,9 +1,12 @@
-diff -up bash-3.2/config-top.h.ssh_source_bash bash-3.2/config-top.h
---- bash-3.2/config-top.h.ssh_source_bash      2008-10-23 15:08:04.000000000 +0200
-+++ bash-3.2/config-top.h      2008-10-23 15:08:33.000000000 +0200
-@@ -86,4 +86,4 @@
- /* Define this if you want bash to try to check whether it's being run by
-    sshd and source the .bashrc if so (like the rshd behavior). */
+diff -up bash-4.0/config-top.h.ssh_source_bash bash-4.0/config-top.h
+--- bash-4.0/config-top.h.ssh_source_bash      2009-01-21 15:20:06.000000000 +0100
++++ bash-4.0/config-top.h      2009-01-21 15:25:46.000000000 +0100
+@@ -90,7 +90,7 @@
+    sshd and source the .bashrc if so (like the rshd behavior).  This checks
+    for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment,
+    which can be fooled under certain not-uncommon circumstances. */
 -/* #define SSH_SOURCE_BASHRC */
 +#define SSH_SOURCE_BASHRC
+ /* Define if you want the case-capitalizing operators (~[~]) and the
+    `capcase' variable attribute (declare -c). */
index 735a3810f048d128cbb0cb3ef26ab6f24a561464..24ec5cc0ba2809e8ddcca66c1045a1601b6a308f 100644 (file)
@@ -1,25 +1,6 @@
---- bash-3.0/config.h.in.paths 2004-07-21 21:08:31.000000000 +0100
-+++ bash-3.0/config.h.in       2004-07-28 09:16:27.257884999 +0100
-@@ -197,7 +197,7 @@
- /* System paths */
--#define DEFAULT_MAIL_DIRECTORY "/usr/spool/mail"
-+#define DEFAULT_MAIL_DIRECTORY "/var/spool/mail"
- /* Characteristics of the system's header files and libraries that affect
-    the compilation environment. */
 --- bash-3.0/config-top.h.paths        2003-08-05 15:36:12.000000000 +0100
 +++ bash-3.0/config-top.h      2004-07-28 09:36:27.117205637 +0100
-@@ -52,14 +52,14 @@
- /* The default value of the PATH variable. */
- #ifndef DEFAULT_PATH_VALUE
- #define DEFAULT_PATH_VALUE \
--  "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
-+  "/usr/local/bin:/bin:/usr/bin"
- #endif
- /* The value for PATH when invoking `command -p'.  This is only used when
+@@ -66,7 +66,7 @@
     the Posix.2 confstr () function, or CS_PATH define are not present. */
  #ifndef STANDARD_UTILS_PATH
  #define STANDARD_UTILS_PATH \
diff --git a/src/patches/bash/bash32-001 b/src/patches/bash/bash32-001
deleted file mode 100644 (file)
index b7d1f1e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-001
-
-Bug-Reported-by:       Greg Schafer <gschafer@zip.com.au>
-Bug-Reference-ID:      <20061012084940.GA15768@tigers.local>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00046.html
-
-Bug-Description:
-
-When using historical ``-style command substitution, bash incorrectly attempts
-to interpret shell comments while scanning for the closing backquote.
-
-Patch:
-
-*** ../bash-3.2/parse.y        Tue Sep 19 16:37:21 2006
---- parse.y    Thu Oct 12 10:30:57 2006
-***************
-*** 2736,2740 ****
-    count = 1;
-    pass_next_character = backq_backslash = was_dollar = in_comment = 0;
-!   check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0;
-  
-    /* RFLAGS is the set of flags we want to pass to recursive calls. */
---- 2736,2740 ----
-    count = 1;
-    pass_next_character = backq_backslash = was_dollar = in_comment = 0;
-!   check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0;
-  
-    /* RFLAGS is the set of flags we want to pass to recursive calls. */
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-002 b/src/patches/bash/bash32-002
deleted file mode 100644 (file)
index b934df9..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-002
-
-Bug-Reported-by:       Jim Gifford <jim@jg555.com>
-Bug-Reference-ID:      <12j2pc3aq35mb04@corp.supernews.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00082.html
-
-Bug-Description:
-
-An incorrect encoding specification in the Content-Type header causes msgfmt
-to fail, which causes `make install' to fail.
-
-Patch:
-
-*** ../bash-3.2/po/ru.po        Tue Jan 10 17:51:03 2006
---- po/ru.po    Mon Oct 16 15:13:23 2006
-***************
-*** 13,17 ****
-  "Language-Team: Russian <ru@li.org>\n"
-  "MIME-Version: 1.0\n"
-! "Content-Type: text/plain; charset=UTF-8\n"
-  "Content-Transfer-Encoding: 8bit\n"
-  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
---- 13,17 ----
-  "Language-Team: Russian <ru@li.org>\n"
-  "MIME-Version: 1.0\n"
-! "Content-Type: text/plain; charset=KOI8-R\n"
-  "Content-Transfer-Encoding: 8bit\n"
-  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-003 b/src/patches/bash/bash32-003
deleted file mode 100644 (file)
index 922041b..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-003
-
-Bug-Reported-by:       John Gatewood Ham <zappaman@buraphalinux.org>
-Bug-Reference-ID:      <Pine.LNX.4.64.0610121334140.15558@www.buraphalinux.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00045.html
-
-Bug-Description:
-
-When using the conditional command's `=~' operator to match regular
-expressions, the parser did not skip over shell metacharacters in the
-regular expression, leading to syntax errors.
-
-Patch:
-
-*** ../bash-3.2-patched/parse.y        Tue Oct 17 11:45:20 2006
---- parse.y    Sat Oct 14 14:56:16 2006
-***************
-*** 1029,1034 ****
---- 1029,1035 ----
-  #define PST_CMDTOKEN 0x1000          /* command token OK - unused */
-  #define PST_COMPASSIGN       0x2000          /* parsing x=(...) compound assignment */
-  #define PST_ASSIGNOK 0x4000          /* assignment statement ok in this context */
-+ #define PST_REGEXP   0x8000          /* parsing an ERE/BRE as a single word */
-  
-  /* Initial size to allocate for tokens, and the
-     amount to grow them by. */
-***************
-*** 2591,2596 ****
---- 2592,2600 ----
-        return (character);
-      }
-  
-+   if (parser_state & PST_REGEXP)
-+     goto tokword;
-+ 
-    /* Shell meta-characters. */
-    if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0))
-      {
-***************
-*** 2698,2703 ****
---- 2702,2708 ----
-    if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND))
-      return (character);
-  
-+ tokword:
-    /* Okay, if we got this far, we have to read a word.  Read one,
-       and then check it against the known ones. */
-    result = read_token_word (character);
-***************
-*** 3202,3209 ****
-        if (tok == WORD && test_binop (yylval.word->word))
-       op = yylval.word;
-  #if defined (COND_REGEXP)
-!       else if (tok == WORD && STREQ (yylval.word->word,"=~"))
-!      op = yylval.word;
-  #endif
-        else if (tok == '<' || tok == '>')
-       op = make_word_from_token (tok);  /* ( */
---- 3207,3217 ----
-        if (tok == WORD && test_binop (yylval.word->word))
-       op = yylval.word;
-  #if defined (COND_REGEXP)
-!       else if (tok == WORD && STREQ (yylval.word->word, "=~"))
-!      {
-!        op = yylval.word;
-!        parser_state |= PST_REGEXP;
-!      }
-  #endif
-        else if (tok == '<' || tok == '>')
-       op = make_word_from_token (tok);  /* ( */
-***************
-*** 3234,3239 ****
---- 3242,3248 ----
-  
-        /* rhs */
-        tok = read_token (READ);
-+       parser_state &= ~PST_REGEXP;
-        if (tok == WORD)
-       {
-         tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
-***************
-*** 3419,3427 ****
-         goto next_character;
-       }
-  
-  #ifdef EXTENDED_GLOB
-        /* Parse a ksh-style extended pattern matching specification. */
-!       if (extended_glob && PATTERN_CHAR (character))
-       {
-         peek_char = shell_getc (1);
-         if MBTEST(peek_char == '(')           /* ) */
---- 3428,3461 ----
-         goto next_character;
-       }
-  
-+ #ifdef COND_REGEXP
-+       /* When parsing a regexp as a single word inside a conditional command,
-+       we need to special-case characters special to both the shell and
-+       regular expressions.  Right now, that is only '(' and '|'. */ /*)*/
-+       if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|'))               /*)*/
-+         {
-+           if (character == '|')
-+             goto got_character;
-+ 
-+        push_delimiter (dstack, character);
-+        ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
-+        pop_delimiter (dstack);
-+        if (ttok == &matched_pair_error)
-+          return -1;          /* Bail immediately. */
-+        RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
-+                                token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
-+        token[token_index++] = character;
-+        strcpy (token + token_index, ttok);
-+        token_index += ttoklen;
-+        FREE (ttok);
-+        dollar_present = all_digit_token = 0;
-+        goto next_character;
-+         }
-+ #endif /* COND_REGEXP */
-+ 
-  #ifdef EXTENDED_GLOB
-        /* Parse a ksh-style extended pattern matching specification. */
-!       if MBTEST(extended_glob && PATTERN_CHAR (character))
-       {
-         peek_char = shell_getc (1);
-         if MBTEST(peek_char == '(')           /* ) */
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-004 b/src/patches/bash/bash32-004
deleted file mode 100644 (file)
index cd2accf..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-004
-
-Bug-Reported-by:       Stuart Shelton <srcshelton@gmail.com>
-Bug-Reference-ID:      <619141e40610261203y6cda5aa6i23cb24c7aeba996e@mail.gmail.com>
-Bug-Reference-URL:     
-
-Bug-Description:
-
-A bug in the parameter pattern substitution implementation treated a pattern
-whose first character was `/' (after expansion) as specifying global
-replacement.
-
-Patch:
-
-*** ../bash-3.2/subst.c        Tue Sep 19 08:35:09 2006
---- subst.c    Thu Oct 26 09:17:50 2006
-***************
-*** 5707,5712 ****
---- 5707,5717 ----
-    vtype &= ~VT_STARSUB;
-  
-    mflags = 0;
-+   if (patsub && *patsub == '/')
-+     {
-+       mflags |= MATCH_GLOBREP;
-+       patsub++;
-+     }
-  
-    /* Malloc this because expand_string_if_necessary or one of the expansion
-       functions in its call chain may free it on a substitution error. */
-***************
-*** 5741,5753 ****
-      }
-  
-    /* ksh93 doesn't allow the match specifier to be a part of the expanded
-!      pattern.  This is an extension. */
-    p = pat;
-!   if (pat && pat[0] == '/')
-!     {
-!       mflags |= MATCH_GLOBREP|MATCH_ANY;
-!       p++;
-!     }
-    else if (pat && pat[0] == '#')
-      {
-        mflags |= MATCH_BEG;
---- 5746,5757 ----
-      }
-  
-    /* ksh93 doesn't allow the match specifier to be a part of the expanded
-!      pattern.  This is an extension.  Make sure we don't anchor the pattern
-!      at the beginning or end of the string if we're doing global replacement,
-!      though. */
-    p = pat;
-!   if (mflags & MATCH_GLOBREP)
-!     mflags |= MATCH_ANY;
-    else if (pat && pat[0] == '#')
-      {
-        mflags |= MATCH_BEG;
-*** ../bash-3.2/tests/new-exp.right    Thu Aug 10 12:00:00 2006
---- tests/new-exp.right        Sun Oct 29 16:03:36 2006
-***************
-*** 430,436 ****
-  Case06---1---A B C::---
-  Case07---3---A:B:C---
-  Case08---3---A:B:C---
-! ./new-exp.tests: line 506: /${$(($#-1))}: bad substitution
-  argv[1] = <a>
-  argv[2] = <b>
-  argv[3] = <c>
---- 430,436 ----
-  Case06---1---A B C::---
-  Case07---3---A:B:C---
-  Case08---3---A:B:C---
-! ./new-exp.tests: line 506: ${$(($#-1))}: bad substitution
-  argv[1] = <a>
-  argv[2] = <b>
-  argv[3] = <c>
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-005 b/src/patches/bash/bash32-005
deleted file mode 100644 (file)
index 903ec58..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-005
-
-Bug-Reported-by:       Stuart Shelton <stuart@openobjects.com>
-Bug-Reference-ID:      <453F7CC8.6030907@openobjects.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00127.html
-
-Bug-Description:
-
-A missing extern declaration for `asprintf' caused `double' arguments to be
-passed as `0', leading to incorrect results.  Additionally, a bug in the
-replacement asprintf/snprintf function caused an infinite loop when passed
-0 arguments to the floating point conversions under some circumstances.
-
-Patch:
-
-*** ../bash-3.2/builtins/printf.def    Mon Sep 18 08:48:42 2006
---- builtins/printf.def        Tue Oct 31 08:19:44 2006
-***************
-*** 49,54 ****
---- 49,60 ----
-  #  define INT_MIN            (-2147483647-1)
-  #endif
-  
-+ #if defined (PREFER_STDARG)
-+ #  include <stdarg.h>
-+ #else
-+ #  include <varargs.h>
-+ #endif
-+ 
-  #include <stdio.h>
-  #include <chartypes.h>
-  
-***************
-*** 151,156 ****
---- 157,166 ----
-  #define SKIP1 "#'-+ 0"
-  #define LENMODS "hjlLtz"
-  
-+ #ifndef HAVE_ASPRINTF
-+ extern int asprintf __P((char **, const char *, ...)) __attribute__((__format__ (printf, 2, 3)));
-+ #endif
-+ 
-  static void printf_erange __P((char *));
-  static int printstr __P((char *, char *, int, int, int));
-  static int tescape __P((char *, char *, int *));
-
-
-*** ../bash-3.2/lib/sh/snprintf.c      Thu Apr  6 09:48:40 2006
---- lib/sh/snprintf.c  Sat Oct 28 00:00:13 2006
-***************
-*** 471,476 ****
---- 476,483 ----
-         10^x ~= r
-   * log_10(200) = 2;
-   * log_10(250) = 2;
-+  *
-+  * NOTE: do not call this with r == 0 -- an infinite loop results.
-   */
-  static int
-  log_10(r)
-***************
-*** 576,583 ****
-      { 
-        integral_part[0] = '0';
-        integral_part[1] = '\0';
-!       fraction_part[0] = '0';
-!       fraction_part[1] = '\0';
-        if (fract)
-       *fract = fraction_part;
-        return integral_part;
---- 583,593 ----
-      { 
-        integral_part[0] = '0';
-        integral_part[1] = '\0';
-!       /* The fractional part has to take the precision into account */
-!       for (ch = 0; ch < precision-1; ch++)
-!      fraction_part[ch] = '0';
-!       fraction_part[ch] = '0';
-!       fraction_part[ch+1] = '\0';
-        if (fract)
-       *fract = fraction_part;
-        return integral_part;
-***************
-*** 805,810 ****
---- 815,821 ----
-        PUT_CHAR(*tmp, p);
-        tmp++;
-      }
-+ 
-    PAD_LEFT(p);
-  }
-  
-***************
-*** 972,982 ****
-    if ((p->flags & PF_THOUSANDS) && grouping && (t = groupnum (tmp)))
-      tmp = t;
-  
-    /* calculate the padding. 1 for the dot */
-    p->width = p->width -
-           ((d > 0. && p->justify == RIGHT) ? 1:0) -
-           ((p->flags & PF_SPACE) ? 1:0) -
-!          strlen(tmp) - p->precision - 1;
-    PAD_RIGHT(p);  
-    PUT_PLUS(d, p, 0.);
-    PUT_SPACE(d, p, 0.);
---- 983,1003 ----
-    if ((p->flags & PF_THOUSANDS) && grouping && (t = groupnum (tmp)))
-      tmp = t;
-  
-+   if ((*p->pf == 'g' || *p->pf == 'G') && (p->flags & PF_ALTFORM) == 0)
-+     {
-+       /* smash the trailing zeros unless altform */
-+       for (i = strlen(tmp2) - 1; i >= 0 && tmp2[i] == '0'; i--)
-+         tmp2[i] = '\0'; 
-+       if (tmp2[0] == '\0')
-+      p->precision = 0;
-+     }
-+ 
-    /* calculate the padding. 1 for the dot */
-    p->width = p->width -
-           ((d > 0. && p->justify == RIGHT) ? 1:0) -
-           ((p->flags & PF_SPACE) ? 1:0) -
-!          strlen(tmp) - p->precision -
-!          ((p->precision != 0 || (p->flags & PF_ALTFORM)) ? 1 : 0);   /* radix char */
-    PAD_RIGHT(p);  
-    PUT_PLUS(d, p, 0.);
-    PUT_SPACE(d, p, 0.);
-***************
-*** 991,1001 ****
-    if (p->precision != 0 || (p->flags & PF_ALTFORM))
-      PUT_CHAR(decpoint, p);  /* put the '.' */
-  
--   if ((*p->pf == 'g' || *p->pf == 'G') && (p->flags & PF_ALTFORM) == 0)
--     /* smash the trailing zeros unless altform */
--     for (i = strlen(tmp2) - 1; i >= 0 && tmp2[i] == '0'; i--)
--       tmp2[i] = '\0'; 
-- 
-    for (; *tmp2; tmp2++)
-      PUT_CHAR(*tmp2, p); /* the fraction */
-    
---- 1012,1017 ----
-***************
-*** 1011,1024 ****
-    char *tmp, *tmp2;
-    int j, i;
-  
-!   if (chkinfnan(p, d, 1) || chkinfnan(p, d, 2))
-      return;  /* already printed nan or inf */
-  
-    GETLOCALEDATA(decpoint, thoussep, grouping);
-    DEF_PREC(p);
-!   j = log_10(d);
-!   d = d / pow_10(j);  /* get the Mantissa */
-!   d = ROUND(d, p);             
-    tmp = dtoa(d, p->precision, &tmp2);
-  
-    /* 1 for unit, 1 for the '.', 1 for 'e|E',
---- 1027,1045 ----
-    char *tmp, *tmp2;
-    int j, i;
-  
-!   if (d != 0 && (chkinfnan(p, d, 1) || chkinfnan(p, d, 2)))
-      return;  /* already printed nan or inf */
-  
-    GETLOCALEDATA(decpoint, thoussep, grouping);
-    DEF_PREC(p);
-!   if (d == 0.)
-!     j = 0;
-!   else
-!     {
-!       j = log_10(d);
-!       d = d / pow_10(j);  /* get the Mantissa */
-!       d = ROUND(d, p);                 
-!     }
-    tmp = dtoa(d, p->precision, &tmp2);
-  
-    /* 1 for unit, 1 for the '.', 1 for 'e|E',
-***************
-*** 1076,1081 ****
---- 1097,1103 ----
-         PUT_CHAR(*tmp, p);
-         tmp++;
-       }
-+ 
-     PAD_LEFT(p);
-  }
-  #endif
-***************
-*** 1358,1364 ****
-               STAR_ARGS(data);
-               DEF_PREC(data);
-               d = GETDOUBLE(data);
-!              i = log_10(d);
-               /*
-                * for '%g|%G' ANSI: use f if exponent
-                * is in the range or [-4,p] exclusively
---- 1380,1386 ----
-               STAR_ARGS(data);
-               DEF_PREC(data);
-               d = GETDOUBLE(data);
-!              i = (d != 0.) ? log_10(d) : -1;
-               /*
-                * for '%g|%G' ANSI: use f if exponent
-                * is in the range or [-4,p] exclusively
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-006 b/src/patches/bash/bash32-006
deleted file mode 100644 (file)
index 589db9e..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-006
-
-Bug-Reported-by:       ebb9@byu.net
-Bug-Reference-ID:      <45540862.9030900@byu.net>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.html
-                       http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00016.html
-
-Bug-Description:
-
-In some cases, code that is intended to be used in the presence of multibyte
-characters is called when no such characters are present, leading to incorrect
-display position calculations and incorrect redisplay.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/display.c Thu Sep 14 14:20:12 2006
---- lib/readline/display.c     Mon Nov 13 17:55:57 2006
-***************
-*** 2381,2384 ****
---- 2409,2414 ----
-    if (end <= start)
-      return 0;
-+   if (MB_CUR_MAX == 1 || rl_byte_oriented)
-+     return (end - start);
-  
-    memset (&ps, 0, sizeof (mbstate_t));
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-007 b/src/patches/bash/bash32-007
deleted file mode 100644 (file)
index 9b86f4a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-007
-
-Bug-Reported-by:       jidanni@jidanni.org
-Bug-Reference-ID:      <E1Gkg12-00017D-Fm@jidanni.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00039.html
-
-Bug-Description:
-
-When removing the current or previous job from the jobs list, bash incorrectly
-resets the current job under some circumstances.
-
-Patch:
-
-*** ../bash-3.2-patched/jobs.c Sat Jul 29 16:40:48 2006
---- jobs.c     Fri Nov 24 14:50:01 2006
-***************
-*** 985,990 ****
-    if (temp == 0)
-      return;
--   if (job_index == js.j_current || job_index == js.j_previous)
--     reset_current ();
-  
-    if ((dflags & DEL_NOBGPID) == 0)
---- 985,988 ----
-***************
-*** 1029,1032 ****
---- 1027,1033 ----
-    else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0)
-      reset_job_indices ();
-+ 
-+   if (job_index == js.j_current || job_index == js.j_previous)
-+     reset_current ();
-  }
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-008 b/src/patches/bash/bash32-008
deleted file mode 100644 (file)
index 7ec07ff..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-008
-
-Bug-Reported-by:       Linda Walsh <bash@tlinx.org>
-Bug-Reference-ID:      <456041FD.8000605@tlinx.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00040.html
-
-Bug-Description:
-
-When checking pathnames from the command hash table (e.g., when the `checkhash'
-shell option is enabled), a bug causes bash to delete and re-lookup each
-command.
-
-Patch:
-
-*** ../bash-3.2-patched/findcmd.c      Wed Aug 17 16:49:54 2005
---- findcmd.c  Fri Nov 24 10:48:37 2006
-***************
-*** 309,313 ****
-      {
-        st = file_status (hashed_file);
-!       if ((st ^ (FS_EXISTS | FS_EXECABLE)) != 0)
-       {
-         phash_remove (pathname);
---- 309,313 ----
-      {
-        st = file_status (hashed_file);
-!       if ((st & (FS_EXISTS|FS_EXECABLE)) != (FS_EXISTS|FS_EXECABLE))
-       {
-         phash_remove (pathname);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-009 b/src/patches/bash/bash32-009
deleted file mode 100644 (file)
index 9cfd16e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-009
-
-Bug-Reported-by:       James.M.Botte@lowes.com
-Bug-Reference-ID:      <BA9FF90F7E5B424998F98EDA9F1F94BE01FA9853@msexchdb01.lowes.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2006-12/msg00000.html
-
-Bug-Description:
-
-When using its built-in replacement for snprintf/asprintf, bash does not
-treat the %x, %X, and %o format specifiers as unsigned numbers.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/sh/snprintf.c      Mon Nov 13 08:58:52 2006
---- lib/sh/snprintf.c  Wed Dec  6 11:15:04 2006
-***************
-*** 669,673 ****
-  
-    sd = d;    /* signed for ' ' padding in base 10 */
-!   flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
-    if (*p->pf == 'X')
-      flags |= FL_HEXUPPER;
---- 674,679 ----
-  
-    sd = d;    /* signed for ' ' padding in base 10 */
-!   flags = 0;
-!   flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
-    if (*p->pf == 'X')
-      flags |= FL_HEXUPPER;
-***************
-*** 739,743 ****
-  
-    sd = d;    /* signed for ' ' padding in base 10 */
-!   flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
-    if (*p->pf == 'X')
-      flags |= FL_HEXUPPER;
---- 745,749 ----
-  
-    sd = d;    /* signed for ' ' padding in base 10 */
-!   flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
-    if (*p->pf == 'X')
-      flags |= FL_HEXUPPER;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-010 b/src/patches/bash/bash32-010
deleted file mode 100644 (file)
index 88de575..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-010
-
-Bug-Reported-by:       Ryan Waldron <rew@erebor.com>
-Bug-Reference-ID:      <20070119065603.546D011E9C@kansas.erebor.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-01/msg00059.html
-
-Bug-Description:
-
-The glibc implementation of regcomp/regexec does not allow backslashes to
-escape "ordinary" pattern characters when matching.  Bash used backslashes
-to quote all characters when the pattern argument to the [[ special
-command's =~ operator was quoted.  This caused the match to fail on Linux
-and other systems using GNU libc.
-
-Patch:
-
-*** ../bash-3.2.9/pathexp.h    Sat Feb 19 17:23:18 2005
---- pathexp.h  Wed Jan 31 22:53:16 2007
-***************
-*** 1,5 ****
-  /* pathexp.h -- The shell interface to the globbing library. */
-  
-! /* Copyright (C) 1987-2005 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 1,5 ----
-  /* pathexp.h -- The shell interface to the globbing library. */
-  
-! /* Copyright (C) 1987-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 33,36 ****
---- 33,37 ----
-  #define QGLOB_CVTNULL        0x01    /* convert QUOTED_NULL strings to '\0' */
-  #define QGLOB_FILENAME       0x02    /* do correct quoting for matching filenames */
-+ #define QGLOB_REGEXP 0x04    /* quote an ERE for regcomp/regexec */
-  
-  #if defined (EXTENDED_GLOB)
-*** ../bash-3.2.9/pathexp.c    Mon May  6 13:43:05 2002
---- pathexp.c  Mon Feb 26 16:59:23 2007
-***************
-*** 1,5 ****
-  /* pathexp.c -- The shell interface to the globbing library. */
-  
-! /* Copyright (C) 1995-2002 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 1,5 ----
-  /* pathexp.c -- The shell interface to the globbing library. */
-  
-! /* Copyright (C) 1995-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 111,114 ****
---- 111,141 ----
-  }
-  
-+ /* Return 1 if C is a character that is `special' in a POSIX ERE and needs to
-+    be quoted to match itself. */
-+ static inline int
-+ ere_char (c)
-+      int c;
-+ {
-+   switch (c)
-+     {
-+     case '.':
-+     case '[':
-+     case '\\':
-+     case '(':
-+     case ')':
-+     case '*':
-+     case '+':
-+     case '?':
-+     case '{':
-+     case '|':
-+     case '^':
-+     case '$':
-+       return 1;
-+     default: 
-+       return 0;
-+     }
-+   return (0);
-+ }
-+ 
-  /* PATHNAME can contain characters prefixed by CTLESC; this indicates
-     that the character is to be quoted.  We quote it here in the style
-***************
-*** 143,146 ****
---- 170,175 ----
-         if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
-           continue;
-+        if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
-+          continue;
-         temp[j++] = '\\';
-         i++;
-*** ../bash-3.2.9/subst.c      Tue Nov  7 16:14:41 2006
---- subst.c    Wed Jan 31 23:09:58 2007
-***************
-*** 5,9 ****
-       beauty, but, hey, you're alright.'' */
-  
-! /* Copyright (C) 1987-2006 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 5,9 ----
-       beauty, but, hey, you're alright.'' */
-  
-! /* Copyright (C) 1987-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 2647,2655 ****
-  /* This needs better error handling. */
-  /* Expand W for use as an argument to a unary or binary operator in a
-!    [[...]] expression.  If SPECIAL is nonzero, this is the rhs argument
-     to the != or == operator, and should be treated as a pattern.  In
-!    this case, we quote the string specially for the globbing code.  The
-!    caller is responsible for removing the backslashes if the unquoted
-!    words is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 2647,2656 ----
-  /* This needs better error handling. */
-  /* Expand W for use as an argument to a unary or binary operator in a
-!    [[...]] expression.  If SPECIAL is 1, this is the rhs argument
-     to the != or == operator, and should be treated as a pattern.  In
-!    this case, we quote the string specially for the globbing code.  If
-!    SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-!    be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
-***************
-*** 2659,2662 ****
---- 2660,2664 ----
-    char *r, *p;
-    WORD_LIST *l;
-+   int qflags;
-  
-    if (w->word == 0 || w->word[0] == '\0')
-***************
-*** 2673,2678 ****
-        else
-       {
-         p = string_list (l);
-!        r = quote_string_for_globbing (p, QGLOB_CVTNULL);
-         free (p);
-       }
---- 2675,2683 ----
-        else
-       {
-+        qflags = QGLOB_CVTNULL;
-+        if (special == 2)
-+          qflags |= QGLOB_REGEXP;
-         p = string_list (l);
-!        r = quote_string_for_globbing (p, qflags);
-         free (p);
-       }
-*** ../bash-3.2.9/execute_cmd.c        Sat Aug 26 00:23:17 2006
---- execute_cmd.c      Wed Jan 31 23:12:06 2007
-***************
-*** 1,5 ****
-  /* execute_cmd.c -- Execute a COMMAND structure. */
-  
-! /* Copyright (C) 1987-2005 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 1,5 ----
-  /* execute_cmd.c -- Execute a COMMAND structure. */
-  
-! /* Copyright (C) 1987-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 2547,2551 ****
-        if (arg1 == 0)
-       arg1 = nullstr;
-!       arg2 = cond_expand_word (cond->right->op, patmatch||rmatch);
-        if (arg2 == 0)
-       arg2 = nullstr;
---- 2547,2551 ----
-        if (arg1 == 0)
-       arg1 = nullstr;
-!       arg2 = cond_expand_word (cond->right->op, rmatch ? 2 : (patmatch ? 1 : 0));
-        if (arg2 == 0)
-       arg2 = nullstr;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-011 b/src/patches/bash/bash32-011
deleted file mode 100644 (file)
index c021f52..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-011
-
-Bug-Reported-by: Petr Sumbera <Petr.Sumbera@Sun.COM>
-Bug-Reference-ID: <45AF5F4B.1020800@sun.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-01/msg00049.html
-
-Bug-Description:
-
-Under certain circumstances (loopback mounts), the bash getcwd does not
-return correct results.  This patch allows the use of the Solaris libc
-getcwd even though it doesn't dynamically allocate memory.
-
-Run `touch configure' to make sure make doesn't try to run autoconf.
-Then run configure with whatever options you like.
-
-Patch:
-
-*** ../bash-3.2-patched/configure.in   Tue Sep 26 11:05:45 2006
---- configure.in       Wed Jan 31 09:48:00 2007
-***************
-*** 6,10 ****
-  dnl Process this file with autoconf to produce a configure script.
-  
-! # Copyright (C) 1987-2006 Free Software Foundation, Inc.
-  
-  # This program is free software; you can redistribute it and/or modify
---- 6,10 ----
-  dnl Process this file with autoconf to produce a configure script.
-  
-! # Copyright (C) 1987-2007 Free Software Foundation, Inc.
-  
-  # This program is free software; you can redistribute it and/or modify
-***************
-*** 992,996 ****
-  sco3.2*)     LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
-  sunos4*)     LOCAL_CFLAGS=-DSunOS4 ;;
-! solaris2.5*) LOCAL_CFLAGS=-DSunOS5 ;;
-  lynxos*)     LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-  linux*)              LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
---- 992,997 ----
-  sco3.2*)     LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
-  sunos4*)     LOCAL_CFLAGS=-DSunOS4 ;;
-! solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
-! solaris2*)   LOCAL_CFLAGS=-DSOLARIS ;;
-  lynxos*)     LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-  linux*)              LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
-*** ../bash-3.2-patched/config-bot.h   Tue Sep 12 16:43:04 2006
---- config-bot.h       Tue Mar  6 10:41:31 2007
-***************
-*** 2,6 ****
-  /* modify settings or make new ones based on what autoconf tells us. */
-  
-! /* Copyright (C) 1989-2002 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 2,6 ----
-  /* modify settings or make new ones based on what autoconf tells us. */
-  
-! /* Copyright (C) 1989-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 71,77 ****
-  #endif
-  
-! /* If we have a getcwd(3), but it calls popen(), #undef HAVE_GETCWD so
-!    the replacement in getcwd.c will be built. */
-! #if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN)
-  #  undef HAVE_GETCWD
-  #endif
---- 71,79 ----
-  #endif
-  
-! /* If we have a getcwd(3), but one that does not dynamically allocate memory,
-!    #undef HAVE_GETCWD so the replacement in getcwd.c will be built.  We do
-!    not do this on Solaris, because their implementation of loopback mounts
-!    breaks the traditional file system assumptions that getcwd uses. */
-! #if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN) && !defined (SOLARIS)
-  #  undef HAVE_GETCWD
-  #endif
-*** ../bash-3.2-patched/builtins/common.c      Thu Jul 27 09:39:51 2006
---- builtins/common.c  Tue Mar  6 10:43:27 2007
-***************
-*** 1,3 ****
-! /* Copyright (C) 1987-2005 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 1,3 ----
-! /* Copyright (C) 1987-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 476,480 ****
---- 476,484 ----
-    if (the_current_working_directory == 0)
-      {
-+ #if defined (GETCWD_BROKEN)
-+       the_current_working_directory = getcwd (0, PATH_MAX);
-+ #else
-        the_current_working_directory = getcwd (0, 0);
-+ #endif
-        if (the_current_working_directory == 0)
-       {
-*** ../bash-3.2-patched/configure      Tue Sep 26 11:06:01 2006
---- configure  Tue Mar  6 10:59:20 2007
-***************
-*** 27317,27321 ****
-  sco3.2*)     LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
-  sunos4*)     LOCAL_CFLAGS=-DSunOS4 ;;
-! solaris2.5*) LOCAL_CFLAGS=-DSunOS5 ;;
-  lynxos*)     LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-  linux*)              LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
---- 27317,27322 ----
-  sco3.2*)     LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
-  sunos4*)     LOCAL_CFLAGS=-DSunOS4 ;;
-! solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
-! solaris2*)   LOCAL_CFLAGS=-DSOLARIS ;;
-  lynxos*)     LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-  linux*)              LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-012 b/src/patches/bash/bash32-012
deleted file mode 100644 (file)
index 8d669d2..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-012
-
-Bug-Reported-by: John Wyman <JohnWyman@celink.com>
-Bug-Reference-ID: <5E7DEFC094C35044B87FAE761D9F0EE20143A3B7@exchange2k.celink.com>
-Bug-Reference-URL: 
-
-Bug-Description:
-
-Some systems (AIX 4.x) don't implement the PRI_xxx macros correctly,
-causing syntax errors when attempting to compile bash on those systems.
-This patch adds support for the PRI_MACROS_BROKEN define.
-
-You will need to re-run `configure' after applying the patch.  Run
-`touch configure' so make doesn't try to run autoconf.
-
-Patch:
-
-*** ../bash-3.2.11/config.h.in Tue Sep 12 16:00:54 2006
---- config.h.in        Tue Mar  6 11:17:55 2007
-***************
-*** 1,5 ****
-  /* config.h -- Configuration file for bash. */
-  
-! /* Copyright (C) 1987-2006 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
---- 1,5 ----
-  /* config.h -- Configuration file for bash. */
-  
-! /* Copyright (C) 1987-2007 Free Software Foundation, Inc.
-  
-     This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 414,417 ****
---- 414,419 ----
-  #undef HAVE_DECL_STRTOLD
-  
-+ #undef PRI_MACROS_BROKEN
-+ 
-  #undef STRTOLD_BROKEN
-  
-***************
-*** 1007,1010 ****
---- 1009,1015 ----
-  #undef HAVE_DCGETTEXT
-  
-+ /* Define if you have the `localeconv' function. */
-+ #undef HAVE_LOCALECONV
-+ 
-  /* Define if your system has a working `malloc' function. */
-  /* #undef HAVE_MALLOC */
-*** ../bash-3.2.11/builtins/printf.def Mon Nov 13 08:58:52 2006
---- builtins/printf.def        Sun Feb  4 13:58:59 2007
-***************
-*** 2,6 ****
-  It implements the builtin "printf" in Bash.
-  
-! Copyright (C) 1997-2005 Free Software Foundation, Inc.
-  
-  This file is part of GNU Bash, the Bourne Again SHell.
---- 2,6 ----
-  It implements the builtin "printf" in Bash.
-  
-! Copyright (C) 1997-2007 Free Software Foundation, Inc.
-  
-  This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 71,74 ****
---- 71,78 ----
-  #include "common.h"
-  
-+ #if defined (PRI_MACROS_BROKEN)
-+ #  undef PRIdMAX
-+ #endif
-+ 
-  #if !defined (PRIdMAX)
-  #  if HAVE_LONG_LONG
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-013 b/src/patches/bash/bash32-013
deleted file mode 100644 (file)
index d47bc1a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-013
-
-Bug-Reported-by: Magnus Svensson <msvensson@mysql.com>
-Bug-Reference-ID: <45BDC44D.80609@mysql.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-01/msg00002.html
-
-Bug-Description:
-
-Readline neglects to reallocate the array it uses to keep track of wrapped
-screen lines when increasing its size.  This will eventually result in
-segmentation faults when given sufficiently long input.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/display.c Thu Sep 14 14:20:12 2006
---- lib/readline/display.c     Fri Feb  2 20:23:17 2007
-***************
-*** 561,574 ****
---- 561,586 ----
-        wrap_offset = prompt_invis_chars_first_line = 0;
-      }
-  
-+ #if defined (HANDLE_MULTIBYTE)
-  #define CHECK_INV_LBREAKS() \
-        do { \
-       if (newlines >= (inv_lbsize - 2)) \
-         { \
-           inv_lbsize *= 2; \
-           inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
-+          _rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \
-         } \
-        } while (0)
-+ #else
-+ #define CHECK_INV_LBREAKS() \
-+       do { \
-+      if (newlines >= (inv_lbsize - 2)) \
-+        { \
-+          inv_lbsize *= 2; \
-+          inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
-+        } \
-+       } while (0)
-+ #endif /* HANDLE_MULTIBYTE */
-  
-  #if defined (HANDLE_MULTIBYTE)         
-  #define CHECK_LPOS() \
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-014 b/src/patches/bash/bash32-014
deleted file mode 100644 (file)
index b706505..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-014
-
-Bug-Reported-by: Brett Stahlman <brettstahlman@comcast.net>
-Bug-Reference-ID: <000701c72d29$a227e0e0$5ec7cf47@computerroom>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-12/msg00065.html
-
-Bug-Description:
-
-Bash mishandles word splitting under certain circumstances when IFS is
-null (IFS=).  Constructs affected include ${param/pat/sub} and others
-when expanding arrays (array[@]).
-
-Patch:
-
-*** ../bash-3.2-patched/array.c        Wed Jun  1 16:39:22 2005
---- array.c    Mon Jan 15 22:58:00 2007
-***************
-*** 121,125 ****
-  }
-  
-- #ifdef INCLUDE_UNUSED
-  /*
-   * Make and return a new array composed of the elements in array A from
---- 121,124 ----
-***************
-*** 142,146 ****
-               n = array_create_element (element_index(p), element_value(p));
-               ADD_BEFORE(a->head, n);
-!              mi = element_index(ae);
-       }
-       a->num_elements = i;
---- 141,145 ----
-               n = array_create_element (element_index(p), element_value(p));
-               ADD_BEFORE(a->head, n);
-!              mi = element_index(n);
-       }
-       a->num_elements = i;
-***************
-*** 148,152 ****
-       return a;
-  }
-- #endif
-  
-  /*
---- 147,150 ----
-***************
-*** 301,304 ****
---- 299,319 ----
-  }
-  
-+ ARRAY        *
-+ array_quote_escapes(array)
-+ ARRAY        *array;
-+ {
-+      ARRAY_ELEMENT   *a;
-+      char    *t;
-+ 
-+      if (array == 0 || array_head(array) == 0 || array_empty(array))
-+              return (ARRAY *)NULL;
-+      for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
-+              t = quote_escapes (a->value);
-+              FREE(a->value);
-+              a->value = t;
-+      }
-+      return array;
-+ }
-+ 
-  /*
-   * Return a string whose elements are the members of array A beginning at
-***************
-*** 312,318 ****
-  int  starsub, quoted;
-  {
-       ARRAY_ELEMENT   *h, *p;
-       arrayind_t      i;
-!      char            *ifs, sep[2];
-  
-       p = a ? array_head (a) : 0;
---- 327,334 ----
-  int  starsub, quoted;
-  {
-+      ARRAY           *a2;
-       ARRAY_ELEMENT   *h, *p;
-       arrayind_t      i;
-!      char            *ifs, sep[2], *t;
-  
-       p = a ? array_head (a) : 0;
-***************
-*** 337,340 ****
---- 353,363 ----
-               ;
-  
-+      a2 = array_slice(a, h, p);
-+ 
-+      if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))
-+              array_quote(a2);
-+      else
-+              array_quote_escapes(a2);
-+ 
-       if (starsub && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) {
-               ifs = getifs();
-***************
-*** 344,348 ****
-       sep[1] = '\0';
-  
-!      return (array_to_string_internal (h, p, sep, quoted));
-  }
-  
---- 367,374 ----
-       sep[1] = '\0';
-  
-!      t = array_to_string (a2, sep, 0);
-!      array_dispose(a2);
-! 
-!      return t;
-  }
-  
-***************
-*** 368,372 ****
-  
-       if (mflags & MATCH_QUOTED)
-!              array_quote (a2);
-       if (mflags & MATCH_STARSUB) {
-               ifs = getifs();
---- 394,400 ----
-  
-       if (mflags & MATCH_QUOTED)
-!              array_quote(a2);
-!      else
-!              array_quote_escapes(a2);
-       if (mflags & MATCH_STARSUB) {
-               ifs = getifs();
-*** ../bash-3.2-patched/array.h        Sun Jun  1 15:50:30 2003
---- array.h    Mon Jan 15 22:35:35 2007
-***************
-*** 56,59 ****
---- 56,60 ----
-  extern int   array_shift_element __P((ARRAY *, char *));
-  extern ARRAY *array_quote __P((ARRAY *));
-+ extern ARRAY *array_quote_escapes __P((ARRAY *));
-  
-  extern char  *array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int, int));
-*** ../bash-3.2-patched/subst.c        Fri Mar  2 16:20:50 2007
---- subst.c    Tue Mar  6 11:40:55 2007
-***************
-*** 1888,1892 ****
---- 1889,1899 ----
-  #endif
-  
-+   /* XXX -- why call quote_list if ifs == 0?  we can get away without doing
-+      it now that quote_escapes quotes spaces */
-+ #if 0
-    tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0))
-+ #else
-+   tlist = (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
-+ #endif
-               ? quote_list (list)
-               : list_quote_escapes (list);
-***************
-*** 2922,2926 ****
-  /* Quote escape characters in string s, but no other characters.  This is
-     used to protect CTLESC and CTLNUL in variable values from the rest of
-!    the word expansion process after the variable is expanded. */
-  char *
-  quote_escapes (string)
---- 2935,2944 ----
-  /* Quote escape characters in string s, but no other characters.  This is
-     used to protect CTLESC and CTLNUL in variable values from the rest of
-!    the word expansion process after the variable is expanded.  If IFS is
-!    null, we quote spaces as well, just in case we split on spaces later
-!    (in the case of unquoted $@, we will eventually attempt to split the
-!    entire word on spaces).  Corresponding code exists in dequote_escapes.
-!    Even if we don't end up splitting on spaces, quoting spaces is not a
-!    problem. */
-  char *
-  quote_escapes (string)
-***************
-*** 2930,2933 ****
---- 2948,2952 ----
-    size_t slen;
-    char *result, *send;
-+   int quote_spaces;
-    DECLARE_MBSTATE; 
-  
-***************
-*** 2935,2938 ****
---- 2954,2958 ----
-    send = string + slen;
-  
-+   quote_spaces = (ifs_value && *ifs_value == 0);
-    t = result = (char *)xmalloc ((slen * 2) + 1);
-    s = string;
-***************
-*** 2940,2944 ****
-    while (*s)
-      {
-!       if (*s == CTLESC || *s == CTLNUL)
-       *t++ = CTLESC;
-        COPY_CHAR_P (t, s, send);
---- 2960,2964 ----
-    while (*s)
-      {
-!       if (*s == CTLESC || *s == CTLNUL || (quote_spaces && *s == ' '))
-       *t++ = CTLESC;
-        COPY_CHAR_P (t, s, send);
-***************
-*** 2982,2985 ****
---- 3002,3006 ----
-    size_t slen;
-    char *result, *send;
-+   int quote_spaces;
-    DECLARE_MBSTATE;
-  
-***************
-*** 2996,3002 ****
-      return (strcpy (result, s));
-  
-    while (*s)
-      {
-!       if (*s == CTLESC && (s[1] == CTLESC || s[1] == CTLNUL))
-       {
-         s++;
---- 3017,3024 ----
-      return (strcpy (result, s));
-  
-+   quote_spaces = (ifs_value && *ifs_value == 0);
-    while (*s)
-      {
-!       if (*s == CTLESC && (s[1] == CTLESC || s[1] == CTLNUL || (quote_spaces && s[1] == ' ')))
-       {
-         s++;
-***************
-*** 4462,4466 ****
-        RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE);
-  
-!       if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || c == CTLESC || c == CTLNUL)
-       istring[istring_index++] = CTLESC;
-  
---- 4498,4510 ----
-        RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE);
-  
-!       /* This is essentially quote_string inline */
-!       if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) /* || c == CTLESC || c == CTLNUL */)
-!      istring[istring_index++] = CTLESC;
-!       /* Escape CTLESC and CTLNUL in the output to protect those characters
-!       from the rest of the word expansions (word splitting and globbing.)
-!       This is essentially quote_escapes inline. */
-!       else if (c == CTLESC)
-!      istring[istring_index++] = CTLESC;
-!       else if (c == CTLNUL || (c == ' ' && (ifs_value && *ifs_value == 0)))
-       istring[istring_index++] = CTLESC;
-  
-***************
-*** 5552,5555 ****
---- 5610,5616 ----
-        rely on array_subrange to understand how to deal with them). */
-        tt = array_subrange (array_cell (v), e1, e2, starsub, quoted);
-+ #if 0
-+       /* array_subrange now calls array_quote_escapes as appropriate, so the
-+       caller no longer needs to. */
-        if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) == 0)
-       {
-***************
-*** 5558,5561 ****
---- 5619,5623 ----
-       }
-        else
-+ #endif
-       temp = tt;
-        break;
-***************
-*** 5808,5811 ****
---- 5870,5876 ----
-      case VT_ARRAYVAR:
-        temp = array_patsub (array_cell (v), p, rep, mflags);
-+ #if 0
-+       /* Don't need to do this anymore; array_patsub calls array_quote_escapes
-+       as appropriate before adding the space separators. */
-        if (temp && (mflags & MATCH_QUOTED) == 0)
-       {
-***************
-*** 5814,5817 ****
---- 5879,5883 ----
-         temp = tt;
-       }
-+ #endif
-        break;
-  #endif
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-015 b/src/patches/bash/bash32-015
deleted file mode 100644 (file)
index d887f6e..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-015
-
-Bug-Reported-by:
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-Under certain circumstances, when using FIFOs for process substitution,
-bash fails to unlink the FIFOs.  This leaves open file descriptors that
-can cause the shell to hang and litters the file system.
-
-Patch:
-
-*** ../bash-3.2-patched/execute_cmd.c  Fri Mar  2 16:20:50 2007
---- execute_cmd.c      Wed Jan 31 23:12:06 2007
-***************
-*** 3051,3054 ****
---- 3051,3059 ----
-      command_line = savestring (the_printed_command_except_trap);
-  
-+ #if defined (PROCESS_SUBSTITUTION)
-+   if ((subshell_environment & SUBSHELL_COMSUB) && (simple_command->flags & CMD_NO_FORK) && fifos_pending() > 0)
-+     simple_command->flags &= ~CMD_NO_FORK;
-+ #endif
-+ 
-    execute_disk_command (words, simple_command->redirects, command_line,
-                       pipe_in, pipe_out, async, fds_to_close,
-*** ../bash-3.2-patched/subst.c        Fri Mar  2 16:20:50 2007
---- subst.c    Tue Mar  6 11:40:55 2007
-***************
-*** 4129,4132 ****
---- 4151,4160 ----
-  }
-  
-+ int
-+ fifos_pending ()
-+ {
-+   return nfifo;
-+ }
-+ 
-  static char *
-  make_named_pipe ()
-***************
-*** 4178,4181 ****
---- 4206,4215 ----
-  }
-  
-+ int
-+ fifos_pending ()
-+ {
-+   return 0;  /* used for cleanup; not needed with /dev/fd */
-+ }
-+ 
-  void
-  unlink_fifo_list ()
-***************
-*** 4671,4674 ****
---- 4719,4725 ----
-        last_command_exit_value = rc;
-        rc = run_exit_trap ();
-+ #if defined (PROCESS_SUBSTITUTION)
-+       unlink_fifo_list ();
-+ #endif
-        exit (rc);
-      }
-*** ../bash-3.2-patched/subst.h        Tue Sep 19 08:34:41 2006
---- subst.h    Wed Jan 10 09:46:47 2007
-***************
-*** 223,226 ****
---- 223,227 ----
-  extern char *pat_subst __P((char *, char *, char *, int));
-  
-+ extern int fifos_pending __P((void));
-  extern void unlink_fifo_list __P((void));
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-016 b/src/patches/bash/bash32-016
deleted file mode 100644 (file)
index a0f065a..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-016
-
-Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru>
-Bug-Reference-ID: <1171795523.8021.18.camel@localhost>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-02/msg00054.html
-
-Bug-Description:
-
-When moving the cursor, bash sometimes misplaces the cursor when the prompt
-contains two or more multibyte characters.  The particular circumstance that
-uncovered the problem was having the (multibyte) current directory name in
-the prompt string.
-
-Patch:
-
-*** ../bash-3.2/lib/readline/display.c Fri Jan 19 13:34:50 2007
---- lib/readline/display.c     Sat Mar 10 17:25:44 2007
-***************
-*** 1745,1749 ****
-      {
-        dpos = _rl_col_width (data, 0, new);
-!       if (dpos > prompt_last_invisible)              /* XXX - don't use woff here */
-       {
-         dpos -= woff;
---- 1745,1752 ----
-      {
-        dpos = _rl_col_width (data, 0, new);
-!       /* Use NEW when comparing against the last invisible character in the
-!       prompt string, since they're both buffer indices and DPOS is a
-!       desired display position. */
-!       if (new > prompt_last_invisible)               /* XXX - don't use woff here */
-       {
-         dpos -= woff;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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/src/patches/bash/bash32-017 b/src/patches/bash/bash32-017
deleted file mode 100644 (file)
index 99e5e70..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-017
-
-Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru>
-Bug-Reference-ID: <1173636022.7039.36.camel@localhost>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00039.html
-
-Bug-Description:
-
-When restoring the original prompt after finishing an incremental search,
-bash sometimes places the cursor incorrectly if the primary prompt contains
-invisible characters.
-
-Patch:
-
-*** ../bash-3.2.16/lib/readline/display.c      Fri Apr 20 13:30:16 2007
---- lib/readline/display.c     Fri Apr 20 15:17:01 2007
-***************
-*** 1599,1604 ****
-         if (temp > 0)
-           {
-             _rl_output_some_chars (nfd, temp);
-!            _rl_last_c_pos += _rl_col_width (nfd, 0, temp);;
-           }
-       }
---- 1599,1618 ----
-         if (temp > 0)
-           {
-+            /* If nfd begins at the prompt, or before the invisible
-+               characters in the prompt, we need to adjust _rl_last_c_pos
-+               in a multibyte locale to account for the wrap offset and
-+               set cpos_adjusted accordingly. */
-             _rl_output_some_chars (nfd, temp);
-!            if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-!              {
-!                   _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
-!                   if (current_line == 0 && wrap_offset &&  ((nfd - new) <= prompt_last_invisible))
-!                  {
-!                    _rl_last_c_pos -= wrap_offset;
-!                    cpos_adjusted = 1;
-!                  }
-!              }
-!               else
-!                 _rl_last_c_pos += temp;
-           }
-       }
-***************
-*** 1608,1613 ****
---- 1622,1639 ----
-         if (temp > 0)
-           {
-+            /* If nfd begins at the prompt, or before the invisible
-+               characters in the prompt, we need to adjust _rl_last_c_pos
-+               in a multibyte locale to account for the wrap offset and
-+               set cpos_adjusted accordingly. */
-             _rl_output_some_chars (nfd, temp);
-             _rl_last_c_pos += col_temp;               /* XXX */
-+            if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-+              {
-+                if (current_line == 0 && wrap_offset &&  ((nfd - new) <= prompt_last_invisible))
-+                  {
-+                    _rl_last_c_pos -= wrap_offset;
-+                    cpos_adjusted = 1;
-+                  }
-+              }
-           }
-         lendiff = (oe - old) - (ne - new);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 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_ */
diff --git a/src/patches/bash/bash32-018 b/src/patches/bash/bash32-018
deleted file mode 100644 (file)
index d729aaf..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-018
-
-Bug-Reported-by:       osicka@post.cz
-Bug-Reference-ID:      <228.177-19682-1132061412-1179356692@post.cz>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-05/msg00061.html
-
-Bug-Description:
-
-In certain cases, bash can lose the saved status of a background job, though
-it should still be reported by `wait'.  Bash can also loop infinitely after
-creating and waiting for 4096 jobs.
-
-Patch:
-
-*** ../bash-20070510/jobs.c    Thu Mar  8 16:05:50 2007
---- jobs.c     Fri May 18 11:40:14 2007
-***************
-*** 784,792 ****
-      {
-        old = js.j_firstj++;
-        while (js.j_firstj != old)
-       {
-         if (js.j_firstj >= js.j_jobslots)
-           js.j_firstj = 0;
-!        if (jobs[js.j_firstj])
-           break;
-         js.j_firstj++;
---- 784,794 ----
-      {
-        old = js.j_firstj++;
-+       if (old >= js.j_jobslots)
-+      old = js.j_jobslots - 1;
-        while (js.j_firstj != old)
-       {
-         if (js.j_firstj >= js.j_jobslots)
-           js.j_firstj = 0;
-!        if (jobs[js.j_firstj] || js.j_firstj == old)  /* needed if old == 0 */
-           break;
-         js.j_firstj++;
-***************
-*** 798,806 ****
-      {
-        old = js.j_lastj--;
-        while (js.j_lastj != old)
-       {
-         if (js.j_lastj < 0)
-           js.j_lastj = js.j_jobslots - 1;
-!        if (jobs[js.j_lastj])
-           break;
-         js.j_lastj--;
---- 800,810 ----
-      {
-        old = js.j_lastj--;
-+       if (old < 0)
-+      old = 0;
-        while (js.j_lastj != old)
-       {
-         if (js.j_lastj < 0)
-           js.j_lastj = js.j_jobslots - 1;
-!        if (jobs[js.j_lastj] || js.j_lastj == old)    /* needed if old == js.j_jobslots */
-           break;
-         js.j_lastj--;
-***************
-*** 964,968 ****
-    realloc_jobs_list ();
-  
-!   return (js.j_lastj);
-  }
-  
---- 975,983 ----
-    realloc_jobs_list ();
-  
-! #ifdef DEBUG
-!   itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
-! #endif
-! 
-!   return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
-  }
-  
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 18
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-019 b/src/patches/bash/bash32-019
deleted file mode 100644 (file)
index 647bd1f..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-019
-
-Bug-Reported-by:       Thomas Loeber <ifp@loeber1.de>
-Bug-Reference-ID:      <200703082223.08919.ifp@loeber1.de>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00036.html
-
-Bug-Description:
-
-When rl_read_key returns -1, indicating that bash's controlling terminal
-has been invalidated for some reason (e.g., receiving a SIGHUP), the error
-status was not reported correctly to the caller.  This could cause input
-loops. 
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/complete.c        Fri Jul 28 11:35:49 2006
---- lib/readline/complete.c    Tue Mar 13 08:50:16 2007
-***************
-*** 429,433 ****
-        if (c == 'n' || c == 'N' || c == RUBOUT)
-       return (0);
-!       if (c == ABORT_CHAR)
-       _rl_abort_internal ();
-        if (for_pager && (c == NEWLINE || c == RETURN))
---- 440,444 ----
-        if (c == 'n' || c == 'N' || c == RUBOUT)
-       return (0);
-!       if (c == ABORT_CHAR || c < 0)
-       _rl_abort_internal ();
-        if (for_pager && (c == NEWLINE || c == RETURN))
-*** ../bash-3.2-patched/lib/readline/input.c   Wed Aug 16 15:15:16 2006
---- lib/readline/input.c       Wed May  2 16:07:59 2007
-***************
-*** 514,518 ****
-       int size;
-  {
-!   int mb_len = 0;
-    size_t mbchar_bytes_length;
-    wchar_t wc;
---- 522,526 ----
-       int size;
-  {
-!   int mb_len, c;
-    size_t mbchar_bytes_length;
-    wchar_t wc;
-***************
-*** 521,531 ****
-    memset(&ps, 0, sizeof (mbstate_t));
-    memset(&ps_back, 0, sizeof (mbstate_t));
-!   
-    while (mb_len < size)
-      {
-        RL_SETSTATE(RL_STATE_MOREINPUT);
-!       mbchar[mb_len++] = rl_read_key ();
-        RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-        mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps);
-        if (mbchar_bytes_length == (size_t)(-1))
---- 529,545 ----
-    memset(&ps, 0, sizeof (mbstate_t));
-    memset(&ps_back, 0, sizeof (mbstate_t));
-! 
-!   mb_len = 0;  
-    while (mb_len < size)
-      {
-        RL_SETSTATE(RL_STATE_MOREINPUT);
-!       c = rl_read_key ();
-        RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-+       if (c < 0)
-+      break;
-+ 
-+       mbchar[mb_len++] = c;
-+ 
-        mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps);
-        if (mbchar_bytes_length == (size_t)(-1))
-***************
-*** 565,569 ****
-    c = first;
-    memset (mb, 0, mlen);
-!   for (i = 0; i < mlen; i++)
-      {
-        mb[i] = (char)c;
---- 579,583 ----
-    c = first;
-    memset (mb, 0, mlen);
-!   for (i = 0; c >= 0 && i < mlen; i++)
-      {
-        mb[i] = (char)c;
-*** ../bash-3.2-patched/lib/readline/isearch.c Mon Dec 26 17:18:53 2005
---- lib/readline/isearch.c     Fri Mar  9 14:30:59 2007
-***************
-*** 328,333 ****
-  
-    f = (rl_command_func_t *)NULL;
-!  
-!  /* Translate the keys we do something with to opcodes. */
-    if (c >= 0 && _rl_keymap[c].type == ISFUNC)
-      {
---- 328,340 ----
-  
-    f = (rl_command_func_t *)NULL;
-! 
-!   if (c < 0)
-!     {
-!       cxt->sflags |= SF_FAILED;
-!       cxt->history_pos = cxt->last_found_line;
-!       return -1;
-!     }
-! 
-!   /* Translate the keys we do something with to opcodes. */
-    if (c >= 0 && _rl_keymap[c].type == ISFUNC)
-      {
-*** ../bash-3.2-patched/lib/readline/misc.c    Mon Dec 26 17:20:46 2005
---- lib/readline/misc.c        Fri Mar  9 14:44:11 2007
-***************
-*** 147,150 ****
---- 147,152 ----
-         rl_clear_message ();
-         RL_UNSETSTATE(RL_STATE_NUMERICARG);
-+        if (key < 0)
-+          return -1;
-         return (_rl_dispatch (key, _rl_keymap));
-       }
-*** ../bash-3.2-patched/lib/readline/readline.c        Wed Aug 16 15:00:36 2006
---- lib/readline/readline.c    Fri Mar  9 14:47:24 2007
-***************
-*** 646,649 ****
---- 669,677 ----
-      {
-        nkey = _rl_subseq_getchar (cxt->okey);
-+       if (nkey < 0)
-+      {
-+        _rl_abort_internal ();
-+        return -1;
-+      }
-        r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg);
-        cxt->flags |= KSEQ_DISPATCHED;
-*** ../bash-3.2-patched/lib/readline/text.c    Fri Jul 28 11:55:27 2006
---- lib/readline/text.c        Sun Mar 25 13:41:38 2007
-***************
-*** 858,861 ****
---- 864,870 ----
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-+   if (c < 0)
-+     return -1;
-+ 
-  #if defined (HANDLE_SIGNALS)
-    if (RL_ISSTATE (RL_STATE_CALLBACK) == 0)
-***************
-*** 1521,1524 ****
---- 1530,1536 ----
-    mb_len = _rl_read_mbchar (mbchar, MB_LEN_MAX);
-  
-+   if (mb_len <= 0)
-+     return -1;
-+ 
-    if (count < 0)
-      return (_rl_char_search_internal (-count, bdir, mbchar, mb_len));
-***************
-*** 1537,1540 ****
---- 1549,1555 ----
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-+   if (c < 0)
-+     return -1;
-+ 
-    if (count < 0)
-      return (_rl_char_search_internal (-count, bdir, c));
-*** ../bash-3.2-patched/lib/readline/vi_mode.c Sat Jul 29 16:42:28 2006
---- lib/readline/vi_mode.c     Fri Mar  9 15:02:11 2007
-***************
-*** 887,890 ****
---- 887,897 ----
-    c = rl_read_key ();
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-+ 
-+   if (c < 0)
-+     {
-+       *nextkey = 0;
-+       return -1;
-+     }
-+ 
-    *nextkey = c;
-  
-***************
-*** 903,906 ****
---- 910,918 ----
-         c = rl_read_key ();   /* real command */
-         RL_UNSETSTATE(RL_STATE_MOREINPUT);
-+        if (c < 0)
-+          {
-+            *nextkey = 0;
-+            return -1;
-+          }
-         *nextkey = c;
-       }
-***************
-*** 1225,1236 ****
-       _rl_callback_generic_arg *data;
-  {
-  #if defined (HANDLE_MULTIBYTE)
-!   _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX);
-  #else
-    RL_SETSTATE(RL_STATE_MOREINPUT);
-!   _rl_vi_last_search_char = rl_read_key ();
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  #endif
-  
-    _rl_callback_func = 0;
-    _rl_want_redisplay = 1;
---- 1243,1262 ----
-       _rl_callback_generic_arg *data;
-  {
-+   int c;
-  #if defined (HANDLE_MULTIBYTE)
-!   c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX);
-  #else
-    RL_SETSTATE(RL_STATE_MOREINPUT);
-!   c = rl_read_key ();
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  #endif
-  
-+   if (c <= 0)
-+     return -1;
-+ 
-+ #if !defined (HANDLE_MULTIBYTE)
-+   _rl_vi_last_search_char = c;
-+ #endif
-+ 
-    _rl_callback_func = 0;
-    _rl_want_redisplay = 1;
-***************
-*** 1248,1251 ****
---- 1274,1278 ----
-       int count, key;
-  {
-+   int c;
-  #if defined (HANDLE_MULTIBYTE)
-    static char *target;
-***************
-*** 1294,1302 ****
-       {
-  #if defined (HANDLE_MULTIBYTE)
-!        _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX);
-  #else
-         RL_SETSTATE(RL_STATE_MOREINPUT);
-!        _rl_vi_last_search_char = rl_read_key ();
-         RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  #endif
-       }
---- 1321,1335 ----
-       {
-  #if defined (HANDLE_MULTIBYTE)
-!        c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX);
-!        if (c <= 0)
-!          return -1;
-!        _rl_vi_last_search_mblen = c;
-  #else
-         RL_SETSTATE(RL_STATE_MOREINPUT);
-!        c = rl_read_key ();
-         RL_UNSETSTATE(RL_STATE_MOREINPUT);
-+        if (c < 0)
-+          return -1;
-+        _rl_vi_last_search_char = c;
-  #endif
-       }
-***************
-*** 1468,1471 ****
---- 1501,1507 ----
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-+   if (c < 0)
-+     return -1;
-+ 
-  #if defined (HANDLE_MULTIBYTE)
-    if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-***************
-*** 1486,1489 ****
---- 1522,1528 ----
-    _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX);
-  
-+   if (c < 0)
-+     return -1;
-+ 
-    _rl_callback_func = 0;
-    _rl_want_redisplay = 1;
-***************
-*** 1517,1520 ****
---- 1556,1562 ----
-      _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX);
-  
-+   if (c < 0)
-+     return -1;
-+ 
-    return (_rl_vi_change_char (count, c, mb));
-  }
-***************
-*** 1651,1655 ****
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-!   if (ch < 'a' || ch > 'z')
-      {
-        rl_ding ();
---- 1693,1697 ----
-    RL_UNSETSTATE(RL_STATE_MOREINPUT);
-  
-!   if (ch < 0 || ch < 'a' || ch > 'z')        /* make test against 0 explicit */
-      {
-        rl_ding ();
-***************
-*** 1703,1707 ****
-        return 0;
-      }
-!   else if (ch < 'a' || ch > 'z')
-      {
-        rl_ding ();
---- 1745,1749 ----
-        return 0;
-      }
-!   else if (ch < 0 || ch < 'a' || ch > 'z')   /* make test against 0 explicit */
-      {
-        rl_ding ();
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 18
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 19
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-020 b/src/patches/bash/bash32-020
deleted file mode 100644 (file)
index 8c7e328..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-020
-
-Bug-Reported-by:       Ian A Watson <WATSON_IAN_A@LILLY.COM>
-Bug-Reference-ID:      <OFEC551808.69D02C7F-ON8525729A.0045708D-8525729A.0046150B@EliLilly.lilly.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-In some cases of error processing, a jump back to the top-level processing
-loop from a builtin command  would leave the shell in an inconsistent state.
-
-Patch:
-
-*** ../bash-3.2-patched/sig.c  Wed Jan 25 14:57:59 2006
---- sig.c      Sat Mar 10 11:11:30 2007
-***************
-*** 351,354 ****
---- 351,373 ----
-  #undef XHANDLER
-  
-+ /* Run some of the cleanups that should be performed when we run
-+    jump_to_top_level from a builtin command context.  XXX - might want to
-+    also call reset_parser here. */
-+ void
-+ top_level_cleanup ()
-+ {
-+   /* Clean up string parser environment. */
-+   while (parse_and_execute_level)
-+     parse_and_execute_cleanup ();
-+ 
-+ #if defined (PROCESS_SUBSTITUTION)
-+   unlink_fifo_list ();
-+ #endif /* PROCESS_SUBSTITUTION */
-+ 
-+   run_unwind_protects ();
-+   loop_level = continuing = breaking = 0;
-+   return_catch_flag = 0;
-+ }
-+ 
-  /* What to do when we've been interrupted, and it is safe to handle it. */
-  void
-*** ../bash-3.2-patched/sig.h  Wed Jan 25 14:50:27 2006
---- sig.h      Sat Mar 10 11:14:18 2007
-***************
-*** 122,125 ****
---- 122,126 ----
-  extern void initialize_terminating_signals __P((void));
-  extern void reset_terminating_signals __P((void));
-+ extern void top_level_cleanup __P((void));
-  extern void throw_to_top_level __P((void));
-  extern void jump_to_top_level __P((int)) __attribute__((__noreturn__));
-*** ../bash-3.2-patched/builtins/common.c      Tue Apr  3 16:47:13 2007
---- builtins/common.c  Mon Apr 30 15:01:33 2007
-***************
-*** 132,135 ****
---- 132,136 ----
-      {
-        builtin_error (_("too many arguments"));
-+       top_level_cleanup ();
-        jump_to_top_level (DISCARD);
-      }
-***************
-*** 396,400 ****
-           throw_to_top_level ();
-         else
-!          jump_to_top_level (DISCARD);
-       }
-        no_args (list->next);
---- 410,417 ----
-           throw_to_top_level ();
-         else
-!          {
-!            top_level_cleanup ();
-!            jump_to_top_level (DISCARD);
-!          }
-       }
-        no_args (list->next);
-*** ../bash-3.2-patched/subst.c        Tue Apr  3 16:47:19 2007
---- subst.c    Tue Jul 17 09:45:11 2007
-***************
-*** 1279,1283 ****
-        if (no_longjmp_on_fatal_error == 0)
-       {                       /* { */
-!        report_error ("bad substitution: no closing `%s' in %s", "}", string);
-         last_command_exit_value = EXECUTION_FAILURE;
-         exp_jump_to_top_level (DISCARD);
---- 1290,1294 ----
-        if (no_longjmp_on_fatal_error == 0)
-       {                       /* { */
-!        report_error (_("bad substitution: no closing `%s' in %s"), "}", string);
-         last_command_exit_value = EXECUTION_FAILURE;
-         exp_jump_to_top_level (DISCARD);
-***************
-*** 7662,7665 ****
---- 7706,7711 ----
-    expand_no_split_dollar_star = 0;   /* XXX */
-    expanding_redir = 0;
-+ 
-+   top_level_cleanup ();                      /* from sig.c */
-  
-    jump_to_top_level (v);
-***************
-*** 7880,7884 ****
-           {
-             report_error (_("no match: %s"), tlist->word->word);
-!            jump_to_top_level (DISCARD);
-           }
-         else if (allow_null_glob_expansion == 0)
---- 7927,7931 ----
-           {
-             report_error (_("no match: %s"), tlist->word->word);
-!            exp_jump_to_top_level (DISCARD);
-           }
-         else if (allow_null_glob_expansion == 0)
-*** ../bash-3.2-patched/arrayfunc.c    Thu Jul 27 09:37:59 2006
---- arrayfunc.c        Thu May 31 11:55:46 2007
-***************
-*** 619,622 ****
---- 619,624 ----
-      {
-        last_command_exit_value = EXECUTION_FAILURE;
-+ 
-+       top_level_cleanup ();      
-        jump_to_top_level (DISCARD);
-      }
-*** ../bash-3.2-patched/expr.c Wed Dec 28 17:47:03 2005
---- expr.c     Tue Apr 24 14:17:59 2007
-***************
-*** 930,933 ****
---- 930,934 ----
-       {
-         expr_unwind ();
-+        top_level_cleanup ();
-         jump_to_top_level (DISCARD);
-       }
-*** ../bash-3.2-patched/variables.c    Fri Sep  8 13:33:32 2006
---- variables.c        Tue Jul 17 09:54:59 2007
-***************
-*** 1822,1830 ****
-         lval = evalexp (oval, &expok);        /* ksh93 seems to do this */
-         if (expok == 0)
-!          jump_to_top_level (DISCARD);
-       }
-        rval = evalexp (value, &expok);
-        if (expok == 0)
-!      jump_to_top_level (DISCARD);
-        if (flags & ASS_APPEND)
-       rval += lval;
---- 1855,1869 ----
-         lval = evalexp (oval, &expok);        /* ksh93 seems to do this */
-         if (expok == 0)
-!          {
-!            top_level_cleanup ();
-!            jump_to_top_level (DISCARD);
-!          }
-       }
-        rval = evalexp (value, &expok);
-        if (expok == 0)
-!      {
-!        top_level_cleanup ();
-!        jump_to_top_level (DISCARD);
-!      }
-        if (flags & ASS_APPEND)
-       rval += lval;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 19
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 20
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-021 b/src/patches/bash/bash32-021
deleted file mode 100644 (file)
index 003489c..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-021
-
-Bug-Reported-by:       BAGSHAW Paul RD-TECH-REN <paul.bagshaw@orange-ftgroup.com>
-Bug-Reference-ID:      <941BA0BF46DB8F4983FF7C8AFE800BC205EA7D4B@ftrdmel3.rd.francetelecom.fr>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00065.html
-
-Bug-Description:
-
-When the parser read a backslash-escaped character that would be treated
-internally as an escape, it would double the number of escape characters.
-
-Patch:
-
-*** ../bash-3.2-patched/parse.y        Mon Oct 30 17:22:00 2006
---- parse.y    Sat Mar 24 17:13:20 2007
-***************
-*** 3377,3381 ****
-       {
-         pass_next_character = 0;
-!        goto got_character;
-       }
-  
---- 3377,3381 ----
-       {
-         pass_next_character = 0;
-!        goto got_escaped_character;
-       }
-  
-***************
-*** 3651,3660 ****
-      got_character:
-  
--       all_digit_token &= DIGIT (character);
--       dollar_present |= character == '$';
-- 
-        if (character == CTLESC || character == CTLNUL)
-       token[token_index++] = CTLESC;
-  
-        token[token_index++] = character;
-  
---- 3651,3662 ----
-      got_character:
-  
-        if (character == CTLESC || character == CTLNUL)
-       token[token_index++] = CTLESC;
-  
-+     got_escaped_character:
-+ 
-+       all_digit_token &= DIGIT (character);
-+       dollar_present |= character == '$';
-+ 
-        token[token_index++] = character;
-  
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 20
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 21
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-022 b/src/patches/bash/bash32-022
deleted file mode 100644 (file)
index d3679e6..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-022
-
-Bug-Reported-by:       Chet Ramey <chet.ramey@cwru.edu>
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-POSIX specifies that the `read' builtin invoked from an interative shell
-must prompt with $PS2 when a line is continued using a backslash while
-reading from a terminal.
-
-Patch:
-
-*** ../bash-3.2-patched/builtins/read.def      Tue Sep 19 08:45:48 2006
---- builtins/read.def  Thu May 24 16:03:30 2007
-***************
-*** 128,133 ****
-  {
-    register char *varname;
-!   int size, i, nr, pass_next, saw_escape, eof, opt, retval, code;
-!   int input_is_tty, input_is_pipe, unbuffered_read;
-    int raw, edit, nchars, silent, have_timeout, fd;
-    unsigned int tmout;
---- 131,136 ----
-  {
-    register char *varname;
-!   int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2;
-!   int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul;
-    int raw, edit, nchars, silent, have_timeout, fd;
-    unsigned int tmout;
-***************
-*** 135,139 ****
-    char c;
-    char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
-!   char *e, *t, *t1;
-    struct stat tsb;
-    SHELL_VAR *var;
---- 138,142 ----
-    char c;
-    char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
-!   char *e, *t, *t1, *ps2;
-    struct stat tsb;
-    SHELL_VAR *var;
-***************
-*** 149,152 ****
---- 152,156 ----
-    USE_VAR(i);
-    USE_VAR(pass_next);
-+   USE_VAR(print_ps2);
-    USE_VAR(saw_escape);
-    USE_VAR(input_is_pipe);
-***************
-*** 164,167 ****
---- 168,172 ----
-  #endif
-    USE_VAR(list);
-+   USE_VAR(ps2);
-  
-    i = 0;             /* Index into the string that we are reading. */
-***************
-*** 387,391 ****
-  #endif
-  
-!   for (eof = retval = 0;;)
-      {
-  #if defined (READLINE)
---- 394,399 ----
-  #endif
-  
-!   ps2 = 0;
-!   for (print_ps2 = eof = retval = 0;;)
-      {
-  #if defined (READLINE)
-***************
-*** 413,416 ****
---- 421,433 ----
-  #endif
-  
-+       if (print_ps2)
-+      {
-+        if (ps2 == 0)
-+          ps2 = get_string_value ("PS2");
-+        fprintf (stderr, "%s", ps2 ? ps2 : "");
-+        fflush (stderr);
-+        print_ps2 = 0;
-+      }
-+ 
-        if (unbuffered_read)
-       retval = zread (fd, &c, 1);
-***************
-*** 441,445 ****
-         pass_next = 0;
-         if (c == '\n')
-!          i--;                /* back up over the CTLESC */
-         else
-           goto add_char;
---- 458,466 ----
-         pass_next = 0;
-         if (c == '\n')
-!          {
-!            i--;              /* back up over the CTLESC */
-!            if (interactive && input_is_tty && raw == 0)
-!              print_ps2 = 1;
-!          }
-         else
-           goto add_char;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 21
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 22
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-023 b/src/patches/bash/bash32-023
deleted file mode 100644 (file)
index 34a6394..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-023
-
-Bug-Reported-by:       Chet Ramey <chet.ramey@cwru.edu>
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-When an error occurs during the pattern removal word expansion, the shell
-can free unallocated memory or free memory multiple times.
-
-Patch:
-
-*** ../bash-3.2-patched/subst.c        Tue Apr  3 16:47:19 2007
---- subst.c    Tue Jul 17 09:45:11 2007
-***************
-*** 3975,3979 ****
-      patstr++;
-  
-!   pattern = getpattern (patstr, quoted, 1);
-  
-    temp1 = (char *)NULL;              /* shut up gcc */
---- 4008,4016 ----
-      patstr++;
-  
-!   /* Need to pass getpattern newly-allocated memory in case of expansion --
-!      the expansion code will free the passed string on an error. */
-!   temp1 = savestring (patstr);
-!   pattern = getpattern (temp1, quoted, 1);
-!   free (temp1);
-  
-    temp1 = (char *)NULL;              /* shut up gcc */
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 22
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 23
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-024 b/src/patches/bash/bash32-024
deleted file mode 100644 (file)
index 1575f37..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-024
-
-Bug-Reported-by:       Peter Volkov <torre_cremata@mail.ru>
-Bug-Reference-ID:      <1178376645.9063.25.camel@localhost>
-Bug-Reference-URL:     http://bugs.gentoo.org/177095
-
-Bug-Description:
-
-The readline display code miscalculated the screen position when performing
-a redisplay in which the new text occupies more screen space that the old,
-but takes fewer bytes to do so (e.g., when replacing a shorter string
-containing multibyte characters with a longer one containing only ASCII).
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/display.c Thu Apr 26 11:38:22 2007
---- lib/readline/display.c     Thu Jul 12 23:10:10 2007
-***************
-*** 1519,1527 ****
-        /* Non-zero if we're increasing the number of lines. */
-        int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin;
-        /* Sometimes it is cheaper to print the characters rather than
-        use the terminal's capabilities.  If we're growing the number
-        of lines, make sure we actually cause the new line to wrap
-        around on auto-wrapping terminals. */
-!       if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl))
-       {
-         /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and
---- 1568,1596 ----
-        /* Non-zero if we're increasing the number of lines. */
-        int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin;
-+       /* If col_lendiff is > 0, implying that the new string takes up more
-+       screen real estate than the old, but lendiff is < 0, meaning that it
-+       takes fewer bytes, we need to just output the characters starting
-+       from the first difference.  These will overwrite what is on the
-+       display, so there's no reason to do a smart update.  This can really
-+       only happen in a multibyte environment. */
-+       if (lendiff < 0)
-+      {
-+        _rl_output_some_chars (nfd, temp);
-+        _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
-+        /* If nfd begins before any invisible characters in the prompt,
-+           adjust _rl_last_c_pos to account for wrap_offset and set
-+           cpos_adjusted to let the caller know. */
-+        if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
-+          {
-+            _rl_last_c_pos -= wrap_offset;
-+            cpos_adjusted = 1;
-+          }
-+        return;
-+      }
-        /* Sometimes it is cheaper to print the characters rather than
-        use the terminal's capabilities.  If we're growing the number
-        of lines, make sure we actually cause the new line to wrap
-        around on auto-wrapping terminals. */
-!       else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl))
-       {
-         /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 23
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 24
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-025 b/src/patches/bash/bash32-025
deleted file mode 100644 (file)
index 4d53d89..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-025
-
-Bug-Reported-by:       Tom Bjorkholm <tom.bjorkholm@ericsson.com>
-Bug-Reference-ID:      <AEA1A32F001C6B4F98614B5B80D7647D01C075E9@esealmw115.eemea.ericsson.se>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-readline/2007-04/msg00004.html
-
-Bug-Description:
-
-An off-by-one error in readline's input buffering caused readline to drop
-each 511th character of buffered input (e.g., when pasting a large amount
-of data into a terminal window).
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/input.c   Wed Aug 16 15:15:16 2006
---- lib/readline/input.c       Tue Jul 17 09:24:21 2007
-***************
-*** 134,139 ****
-  
-    *key = ibuffer[pop_index++];
-! 
-    if (pop_index >= ibuffer_len)
-      pop_index = 0;
-  
---- 134,142 ----
-  
-    *key = ibuffer[pop_index++];
-! #if 0
-    if (pop_index >= ibuffer_len)
-+ #else
-+   if (pop_index > ibuffer_len)
-+ #endif
-      pop_index = 0;
-  
-***************
-*** 251,255 ****
-       {
-         k = (*rl_getc_function) (rl_instream);
-!        rl_stuff_char (k);
-         if (k == NEWLINE || k == RETURN)
-           break;
---- 254,259 ----
-       {
-         k = (*rl_getc_function) (rl_instream);
-!        if (rl_stuff_char (k) == 0)
-!          break;                      /* some problem; no more room */
-         if (k == NEWLINE || k == RETURN)
-           break;
-***************
-*** 374,378 ****
---- 378,386 ----
-      }
-    ibuffer[push_index++] = key;
-+ #if 0
-    if (push_index >= ibuffer_len)
-+ #else
-+   if (push_index > ibuffer_len)
-+ #endif
-      push_index = 0;
-  
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 24
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 25
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-026 b/src/patches/bash/bash32-026
deleted file mode 100644 (file)
index ba7de50..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-026
-
-Bug-Reported-by:       Chet Ramey <chet.ramey@case.edu>
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-This keeps the Apple linker from attempting to link bash against Apple's
-readline library "replacement" rather than the one shipped with bash.  It
-extends the configure workaround to Mac OS X Leopard (10.5).
-
-As a side effect, the patch updates the copyright date displayed in the
-version string.
-
-You must re-run configure after applying the patch, and before rebuilding
-bash.
-
-Patch:
-
-*** ../bash-3.2-patched/configure.in   2007-03-06 11:07:38.000000000 -0500
---- configure.in       2007-11-23 15:37:41.000000000 -0500
-***************
-*** 519,523 ****
-               # dynamic version
-               case "${host_os}" in
-!              darwin8*)       READLINE_LIB='${READLINE_LIBRARY}' ;;
-               *)              READLINE_LIB=-lreadline ;;
-               esac
---- 519,523 ----
-               # dynamic version
-               case "${host_os}" in
-!              darwin[[89]]*)  READLINE_LIB='${READLINE_LIBRARY}' ;;
-               *)              READLINE_LIB=-lreadline ;;
-               esac
-*** ../bash-3.2-patched/configure      2007-03-24 14:51:22.000000000 -0400
---- configure  2007-11-23 15:46:15.000000000 -0500
-***************
-*** 4872,4876 ****
-               # dynamic version
-               case "${host_os}" in
-!              darwin8*)       READLINE_LIB='${READLINE_LIBRARY}' ;;
-               *)              READLINE_LIB=-lreadline ;;
-               esac
---- 4872,4876 ----
-               # dynamic version
-               case "${host_os}" in
-!              darwin[89]*)    READLINE_LIB='${READLINE_LIBRARY}' ;;
-               *)              READLINE_LIB=-lreadline ;;
-               esac
-*** ../bash-3.2-patched/version.c      2005-05-16 11:58:34.000000000 -0400
---- version.c  2007-11-23 16:03:40.000000000 -0500
-***************
-*** 80,83 ****
-    printf ("GNU bash, version %s (%s)\n", shell_version_string (), MACHTYPE);
-    if (extended)
-!     printf (_("Copyright (C) 2005 Free Software Foundation, Inc.\n"));
-  }
---- 80,83 ----
-    printf ("GNU bash, version %s (%s)\n", shell_version_string (), MACHTYPE);
-    if (extended)
-!     printf (_("Copyright (C) 2007 Free Software Foundation, Inc.\n"));
-  }
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 25
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 26
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-027 b/src/patches/bash/bash32-027
deleted file mode 100644 (file)
index 5e110cb..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-027
-
-Bug-Reported-by:       dAniel hAhler <ubuntu@thequod.de>
-Bug-Reference-ID:      <4702ED8A.5000503@thequod.de>
-Bug-Reference-URL:     https://bugs.launchpad.net/ubuntu/+source/bash/+bug/119938
-
-Bug-Description:
-
-When updating the display after displaying, for instance, a list of possible
-completions, readline will place the cursor at the wrong position if the
-prompt contains invisible characters and a newline.
-
-Patch:
-
-*** ../bash-3.2.25/lib/readline/display.c      Mon Aug  6 14:26:29 2007
---- lib/readline/display.c     Wed Oct 10 22:43:58 2007
-***************
-*** 1049,1053 ****
-             else
-               tx = nleft;
-!            if (_rl_last_c_pos > tx)
-               {
-                 _rl_backspace (_rl_last_c_pos - tx);  /* XXX */
---- 1049,1053 ----
-             else
-               tx = nleft;
-!            if (tx >= 0 && _rl_last_c_pos > tx)
-               {
-                 _rl_backspace (_rl_last_c_pos - tx);  /* XXX */
-***************
-*** 1205,1209 ****
-  {
-    register char *ofd, *ols, *oe, *nfd, *nls, *ne;
-!   int temp, lendiff, wsatend, od, nd;
-    int current_invis_chars;
-    int col_lendiff, col_temp;
---- 1205,1209 ----
-  {
-    register char *ofd, *ols, *oe, *nfd, *nls, *ne;
-!   int temp, lendiff, wsatend, od, nd, o_cpos;
-    int current_invis_chars;
-    int col_lendiff, col_temp;
-***************
-*** 1466,1469 ****
---- 1466,1471 ----
-      }
-  
-+   o_cpos = _rl_last_c_pos;
-+ 
-    /* When this function returns, _rl_last_c_pos is correct, and an absolute
-       cursor postion in multibyte mode, but a buffer index when not in a
-***************
-*** 1475,1479 ****
-       invisible characters in the prompt string.  Let's see if setting this when
-       we make sure we're at the end of the drawn prompt string works. */
-!   if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars)
-      cpos_adjusted = 1;
-  #endif
---- 1477,1483 ----
-       invisible characters in the prompt string.  Let's see if setting this when
-       we make sure we're at the end of the drawn prompt string works. */
-!   if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && 
-!       (_rl_last_c_pos > 0 || o_cpos > 0) &&
-!       _rl_last_c_pos == prompt_physical_chars)
-      cpos_adjusted = 1;
-  #endif
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 26
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 27
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-028 b/src/patches/bash/bash32-028
deleted file mode 100644 (file)
index e818294..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-028
-
-Bug-Reported-by:       dAniel hAhler <ubuntu@thequod.de>
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-Under some circumstances, readline will incorrectly display a prompt string
-containing invisible characters after the final newline.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/display.c 2007-08-25 13:47:08.000000000 -0400
---- lib/readline/display.c     2007-11-10 17:51:29.000000000 -0500
-***************
-*** 392,396 ****
-        local_prompt = expand_prompt (p, &prompt_visible_length,
-                                      &prompt_last_invisible,
-!                                     (int *)NULL,
-                                      &prompt_physical_chars);
-        c = *t; *t = '\0';
---- 420,424 ----
-        local_prompt = expand_prompt (p, &prompt_visible_length,
-                                      &prompt_last_invisible,
-!                                     &prompt_invis_chars_first_line,
-                                      &prompt_physical_chars);
-        c = *t; *t = '\0';
-***************
-*** 399,403 ****
-        local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length,
-                                                  (int *)NULL,
-!                                                 &prompt_invis_chars_first_line,
-                                                  (int *)NULL);
-        *t = c;
---- 427,431 ----
-        local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length,
-                                                  (int *)NULL,
-!                                                 (int *)NULL,
-                                                  (int *)NULL);
-        *t = c;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 27
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 28
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-029 b/src/patches/bash/bash32-029
deleted file mode 100644 (file)
index 9de2085..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-029
-
-Bug-Reported-by:       Tomas Janousek <tjanouse@redhat.com>
-Bug-Reference-ID:      <20071102104034.GA26893@redhat.com>
-Bug-Reference-URL:     https://bugzilla.redhat.com/show_bug.cgi?id=286861
-
-Bug-Description:
-
-When the bash arithmetic expression evaluator has temporarily turned off
-evalation, such as when parsing a pre- or post-decrement or -increment
-operator, and an error occurs, evaluation is not re-enabled.
-
-Patch:
-
-*** ../bash-3.2-patched/expr.c 2007-08-25 13:47:05.000000000 -0400
---- expr.c     2007-10-18 08:08:44.000000000 -0400
-***************
-*** 287,290 ****
---- 287,292 ----
-      }
-    free (expr_stack[expr_depth]);     /* free the allocated EXPR_CONTEXT */
-+ 
-+   noeval = 0;        /* XXX */
-  }
-  
-***************
-*** 320,323 ****
---- 322,326 ----
-  
-    val = 0;
-+   noeval = 0;
-  
-    FASTCOPY (evalbuf, oevalbuf, sizeof (evalbuf));
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 28
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 29
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-030 b/src/patches/bash/bash32-030
deleted file mode 100644 (file)
index 3f12c28..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-030
-
-Bug-Reported-by:       Paul Eggert <eggert@cs.ucla.edu> Andreas Schwab <schwab@suse.de>
-Bug-Reference-ID:      <877il0nu84.fsf_-_@penguin.cs.ucla.edu> <m28x5gparz.fsf@igel.home>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-11/msg00023.html http://lists.gnu.org/archive/html/bug-bash/2007-11/msg00022.htmlhttp://lists.gnu.org/archive/html/bug-bash/2007-11/msg00022.html
-
-Bug-Description:
-
-If redirections attached to a compound command fail, bash does not set the
-command's exit status correctly.  This only happens when the command is the
-first in a sequential list.
-
-Patch:
-
-*** ../bash-3.2-patched/execute_cmd.c  2007-03-24 14:51:05.000000000 -0400
---- execute_cmd.c      2007-11-05 22:31:14.000000000 -0500
-***************
-*** 615,619 ****
-        redirection_undo_list = (REDIRECT *)NULL;
-        dispose_exec_redirects ();
-!       return (EXECUTION_FAILURE);
-      }
-  
---- 620,624 ----
-        redirection_undo_list = (REDIRECT *)NULL;
-        dispose_exec_redirects ();
-!       return (last_command_exit_value = EXECUTION_FAILURE);
-      }
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 29
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 30
-  
-  #endif /* _PATCHLEVEL_H_ */
-
-  
diff --git a/src/patches/bash/bash32-031 b/src/patches/bash/bash32-031
deleted file mode 100644 (file)
index 6c96fb9..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-031
-
-Bug-Reported-by:       Miroslav Lichvar <mlichvar@redhat.com>
-Bug-Reference-ID:      Fri, 02 Nov 2007 14:07:45 +0100
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-readline/2007-11/msg00000.html
-
-Bug-Description:
-
-In certain cases when outputting characters at the end of the line,
-e.g., when displaying the prompt string, readline positions the cursor
-incorrectly if the prompt string contains invisible characters and the
-text being drawn begins before the last invisible character in the line.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/display.c 2007-08-25 13:47:08.000000000 -0400
---- lib/readline/display.c     2007-11-10 17:51:29.000000000 -0500
-***************
-*** 1566,1574 ****
-         else
-           {
--            /* We have horizontal scrolling and we are not inserting at
--               the end.  We have invisible characters in this line.  This
--               is a dumb update. */
-             _rl_output_some_chars (nfd, temp);
-             _rl_last_c_pos += col_temp;
-             return;
-           }
---- 1619,1632 ----
-         else
-           {
-             _rl_output_some_chars (nfd, temp);
-             _rl_last_c_pos += col_temp;
-+            /* If nfd begins before any invisible characters in the prompt,
-+               adjust _rl_last_c_pos to account for wrap_offset and set
-+               cpos_adjusted to let the caller know. */
-+            if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
-+              {
-+                _rl_last_c_pos -= wrap_offset;
-+                cpos_adjusted = 1;
-+              }
-             return;
-           }
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 30
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 31
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-032 b/src/patches/bash/bash32-032
deleted file mode 100644 (file)
index 5e53e29..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-032
-
-Bug-Reported-by:       Uwe Doering <gemini@geminix.org>
-Bug-Reference-ID:      <46F3DD72.2090801@geminix.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-09/msg00102.html
-
-Bug-Description:
-
-There is an off-by-one error in the code that buffers characters received
-very quickly in succession, causing characters to be dropped.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/input.c   2007-08-25 13:47:10.000000000 -0400
---- lib/readline/input.c       2007-10-12 22:55:25.000000000 -0400
-***************
-*** 155,159 ****
-        pop_index--;
-        if (pop_index < 0)
-!      pop_index = ibuffer_len - 1;
-        ibuffer[pop_index] = key;
-        return (1);
---- 155,159 ----
-        pop_index--;
-        if (pop_index < 0)
-!      pop_index = ibuffer_len;
-        ibuffer[pop_index] = key;
-        return (1);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 31
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 32
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-033 b/src/patches/bash/bash32-033
deleted file mode 100644 (file)
index 0d69810..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-033
-
-Bug-Reported-by:       Christophe Martin <schplurtz@free.fr>
-Bug-Reference-ID:      <465ABA4A.3030805@free.fr>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-05/msg00104.html
-
-Bug-Description:
-
-References made within a function to an uninitialized local array variable
-using the [*] subscript in a double-quoted string  can result in spurious
-ASCII 127 characters in the expanded value.
-
-Patch:
-
-*** ../bash-3.2-patched/arrayfunc.c    2007-08-25 13:47:05.000000000 -0400
---- arrayfunc.c        2007-05-31 11:55:46.000000000 -0400
-***************
-*** 723,727 ****
-      {
-        if (rtype)
-!      *rtype = 1;
-        if (allow_all == 0)
-       {
---- 723,727 ----
-      {
-        if (rtype)
-!      *rtype = (t[0] == '*') ? 1 : 2;
-        if (allow_all == 0)
-       {
-*** ../bash-3.2-patched/subst.c        2007-08-25 13:47:08.000000000 -0400
---- subst.c    2007-11-14 15:43:00.000000000 -0500
-***************
-*** 4908,4915 ****
-    intmax_t arg_index;
-    SHELL_VAR *var;
-!   int atype;
-  
-    ret = 0;
-    temp = 0;
-  
-    /* Handle multiple digit arguments, as in ${11}. */  
---- 4973,4981 ----
-    intmax_t arg_index;
-    SHELL_VAR *var;
-!   int atype, rflags;
-  
-    ret = 0;
-    temp = 0;
-+   rflags = 0;
-  
-    /* Handle multiple digit arguments, as in ${11}. */  
-***************
-*** 4944,4947 ****
---- 5010,5015 ----
-                 ? quote_string (temp)
-                 : quote_escapes (temp);
-+       else if (atype == 1 && temp && QUOTED_NULL (temp) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
-+      rflags |= W_HASQUOTEDNULL;
-      }
-  #endif
-***************
-*** 4971,4974 ****
---- 5039,5043 ----
-        ret = alloc_word_desc ();
-        ret->word = temp;
-+       ret->flags |= rflags;
-      }
-    return ret;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 32
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 33
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/src/patches/bash/bash32-034 b/src/patches/bash/bash32-034
deleted file mode 100644 (file)
index 4f08162..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-034
-
-Bug-Reported-by:       Ian Campbell <ian.campbell@xensource.com>
-Bug-Reference-ID:      <EXCHPAFExU3l5bhn1ow00001dfe@rpc.xensource.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-10/msg00060.html
-
-Bug-Description:
-
-The bash getcwd replacement will write past the end of allocated memory
-when it allocates the buffer itself if it uses the buffer size passed as
-an argument, and that size is less than the length of the pathname.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/sh/getcwd.c        2004-07-21 17:15:19.000000000 -0400
---- lib/sh/getcwd.c    2007-12-31 19:26:36.000000000 -0500
-***************
-*** 252,268 ****
-    {
-      size_t len = pathbuf + pathsize - pathp;
-      if (buf == NULL)
-        {
-!      if (len < (size_t) size)
-!        len = size;
-!      buf = (char *) malloc (len);
-       if (buf == NULL)
-         goto lose2;
-        }
-!     else if ((size_t) size < len)
-!       {
-!      errno = ERANGE;
-!      goto lose2;
-!       }
-      (void) memcpy((PTR_T) buf, (PTR_T) pathp, len);
-    }
---- 287,305 ----
-    {
-      size_t len = pathbuf + pathsize - pathp;
-+     if (buf == NULL && size <= 0)
-+       size = len;
-+ 
-+     if ((size_t) size < len)
-+       {
-+      errno = ERANGE;
-+      goto lose2;
-+       }
-      if (buf == NULL)
-        {
-!      buf = (char *) malloc (size);
-       if (buf == NULL)
-         goto lose2;
-        }
-! 
-      (void) memcpy((PTR_T) buf, (PTR_T) pathp, len);
-    }
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 33
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 34
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-035 b/src/patches/bash/bash32-035
deleted file mode 100644 (file)
index 55506ba..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-035
-
-Bug-Reported-by:       Ingo Molnar <mingo@elte.hu>
-Bug-Reference-ID:      <20071205202901.GA25202@elte.hu>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-12/msg00014.html
-
-Bug-Description:
-
-Bash incorrectly puts the second and subsequent children spawned by a
-shell forked to run a command substitution in the wrong process group.
-
-Patch:
-
-*** ../bash-3.2-patched/subst.c        2007-12-13 22:31:21.000000000 -0500
---- subst.c    2008-01-17 22:48:15.000000000 -0500
-***************
-*** 4621,4627 ****
-  
-  #if defined (JOB_CONTROL)
-    set_sigchld_handler ();
-    stop_making_children ();
-!   pipeline_pgrp = old_pipeline_pgrp;
-  #else
-    stop_making_children ();
---- 4721,4728 ----
-  
-  #if defined (JOB_CONTROL)
-    set_sigchld_handler ();
-    stop_making_children ();
-!   if (pid != 0)
-!     pipeline_pgrp = old_pipeline_pgrp;
-  #else
-    stop_making_children ();
-*** ../bash-3.2-patched/jobs.c 2007-08-25 13:46:59.000000000 -0400
---- jobs.c     2007-12-08 16:47:43.000000000 -0500
-***************
-*** 251,254 ****
---- 251,255 ----
-  static int set_job_status_and_cleanup __P((int));
-  
-+ static WAIT job_signal_status __P((int));
-  static WAIT raw_job_exit_status __P((int));
-  
-***************
-*** 2220,2223 ****
---- 2238,2261 ----
-  }
-  
-+ static WAIT
-+ job_signal_status (job)
-+      int job;
-+ {
-+   register PROCESS *p;
-+   WAIT s;
-+ 
-+   p = jobs[job]->pipe;
-+   do
-+     {
-+       s = p->status;
-+       if (WIFSIGNALED(s) || WIFSTOPPED(s))
-+      break;
-+       p = p->next;
-+     }
-+   while (p != jobs[job]->pipe);
-+ 
-+   return s;
-+ }
-+   
-  /* Return the exit status of the last process in the pipeline for job JOB.
-     This is the exit status of the entire job. */
-***************
-*** 2302,2310 ****
-       received, only if one of the jobs run is killed via SIGINT.  If
-       job control is not set, the job will be run in the same pgrp as
-!      the shell, and the shell will see any signals the job gets. */
-  
-    /* This is possibly a race condition -- should it go in stop_pipeline? */
-    wait_sigint_received = 0;
-!   if (job_control == 0)
-      {
-        old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
---- 2343,2354 ----
-       received, only if one of the jobs run is killed via SIGINT.  If
-       job control is not set, the job will be run in the same pgrp as
-!      the shell, and the shell will see any signals the job gets.  In
-!      fact, we want this set every time the waiting shell and the waited-
-!      for process are in the same process group, including command
-!      substitution. */
-  
-    /* This is possibly a race condition -- should it go in stop_pipeline? */
-    wait_sigint_received = 0;
-!   if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB))
-      {
-        old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
-***************
-*** 2452,2464 ****
-            the last process in the pipeline.  If no process exits due to a
-            signal, S is left as the status of the last job in the pipeline. */
-!        p = jobs[job]->pipe;
-!        do
-!          {
-!            s = p->status;
-!            if (WIFSIGNALED(s) || WIFSTOPPED(s))
-!              break;
-!            p = p->next;
-!          }
-!        while (p != jobs[job]->pipe);
-  
-         if (WIFSIGNALED (s) || WIFSTOPPED (s))
---- 2496,2500 ----
-            the last process in the pipeline.  If no process exits due to a
-            signal, S is left as the status of the last job in the pipeline. */
-!        s = job_signal_status (job);
-  
-         if (WIFSIGNALED (s) || WIFSTOPPED (s))
-***************
-*** 2494,2497 ****
---- 2530,2551 ----
-           }
-       }
-+       else if ((subshell_environment & SUBSHELL_COMSUB) && wait_sigint_received)
-+      {
-+        /* If waiting for a job in a subshell started to do command
-+           substitution, simulate getting and being killed by the SIGINT to
-+           pass the status back to our parent. */
-+        s = job_signal_status (job);
-+      
-+        if (WIFSIGNALED (s) && WTERMSIG (s) == SIGINT && signal_is_trapped (SIGINT) == 0)
-+          {
-+            UNBLOCK_CHILD (oset);
-+            restore_sigint_handler ();
-+            old_sigint_handler = set_signal_handler (SIGINT, SIG_DFL);
-+            if (old_sigint_handler == SIG_IGN)
-+              restore_sigint_handler ();
-+            else
-+              kill (getpid (), SIGINT);
-+          }
-+      }
-  
-        /* Moved here from set_job_status_and_cleanup, which is in the SIGCHLD
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 34
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 35
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-036 b/src/patches/bash/bash32-036
deleted file mode 100644 (file)
index ef22e60..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-036
-
-Bug-Reported-by:       Len Lattanzi <llattanzi@apple.com>
-Bug-Reference-ID:      <87493131-7AEC-4301-A684-E6CC6D06E3E1@apple.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When initializing a subshell, bash did not reset a sentinel keeping track
-of the number of command substitutions, leading to an infinite loop if
-an error was encountered in the subshell.
-
-Patch:
-
-*** ../bash-3.2-patched/execute_cmd.c  2007-12-13 22:31:14.000000000 -0500
---- execute_cmd.c      2007-12-20 08:52:34.000000000 -0500
-***************
-*** 3881,3884 ****
---- 3916,3921 ----
-  
-    clear_unwind_protect_list (0);
-+   /* XXX -- are there other things we should be resetting here? */
-+   parse_and_execute_level = 0;               /* nothing left to restore it */
-  
-    /* We're no longer inside a shell function. */
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 35
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 36
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-037 b/src/patches/bash/bash32-037
deleted file mode 100644 (file)
index 376bd93..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-037
-
-Bug-Reported-by:       jared r r spiegel <jrrs@iorek.ice-nine.org>
-Bug-Reference-ID:      <200801152201.m0FM1lDp021260@iorek.ice-nine.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-01/msg00049.html
-
-Bug-Description:
-
-Bash inappropriately evaluates command substitutions while expanding
-directory names as part of command substitution.
-
-Patch:
-
-*** ../bash-3.2-patched/subst.c        2007-12-13 22:31:21.000000000 -0500
---- subst.c    2008-01-17 22:48:15.000000000 -0500
-***************
-*** 2815,2821 ****
-     to jump_to_top_level here so we don't endlessly loop. */
-  WORD_LIST *
-! expand_prompt_string (string, quoted)
-       char *string;
-       int quoted;
-  {
-    WORD_LIST *value;
---- 2895,2902 ----
-     to jump_to_top_level here so we don't endlessly loop. */
-  WORD_LIST *
-! expand_prompt_string (string, quoted, wflags)
-       char *string;
-       int quoted;
-+      int wflags;
-  {
-    WORD_LIST *value;
-***************
-*** 2825,2829 ****
-      return ((WORD_LIST *)NULL);
-  
-!   td.flags = 0;
-    td.word = savestring (string);
-  
---- 2906,2910 ----
-      return ((WORD_LIST *)NULL);
-  
-!   td.flags = wflags;
-    td.word = savestring (string);
-  
-*** ../bash-3.2-patched/subst.h        2007-03-24 14:51:05.000000000 -0400
---- subst.h    2008-01-17 22:46:08.000000000 -0500
-***************
-*** 136,140 ****
-  
-  /* Expand a prompt string. */
-! extern WORD_LIST *expand_prompt_string __P((char *, int));
-  
-  /* Expand STRING just as if you were expanding a word.  This also returns
---- 137,141 ----
-  
-  /* Expand a prompt string. */
-! extern WORD_LIST *expand_prompt_string __P((char *, int, int));
-  
-  /* Expand STRING just as if you were expanding a word.  This also returns
-*** ../bash-3.2-patched/parse.y        2007-08-25 13:47:06.000000000 -0400
---- parse.y    2008-01-17 22:46:30.000000000 -0500
-***************
-*** 4367,4371 ****
-      {
-        last_exit_value = last_command_exit_value;
-!       list = expand_prompt_string (result, Q_DOUBLE_QUOTES);
-        free (result);
-        result = string_list (list);
---- 4367,4371 ----
-      {
-        last_exit_value = last_command_exit_value;
-!       list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0);
-        free (result);
-        result = string_list (list);
-*** ../bash-3.2-patched/bashline.c     2006-07-29 16:39:30.000000000 -0400
---- bashline.c 2008-02-17 12:53:42.000000000 -0500
-***************
-*** 2358,2362 ****
-      {
-        new_dirname = savestring (local_dirname);
-!       wl = expand_prompt_string (new_dirname, 0);    /* does the right thing */
-        if (wl)
-       {
---- 2376,2380 ----
-      {
-        new_dirname = savestring (local_dirname);
-!       wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB);        /* does the right thing */
-        if (wl)
-       {
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 36
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 37
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-038 b/src/patches/bash/bash32-038
deleted file mode 100644 (file)
index 842b1b5..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-038
-
-Bug-Reported-by:       Wojciech Puchar <wojtek@wojtek.tensor.gdynia.pl>
-Bug-Reference-ID:      <200803131141.m2DBf9vo001136@wojtek.tensor.gdynia.pl>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-03/msg00029.html
-
-Bug-Description:
-
-When reading input lines into a single variable using the `read' builtin,
-bash did not free the memory it read after assigining it to the named
-variable, causing a memory leak noticable when reading large amounts of
-data.
-
-
-Patch:
-
-*** ../bash-3.2-patched/builtins/read.def      2007-08-25 13:47:07.000000000 -0400
---- builtins/read.def  2008-03-07 12:55:47.000000000 -0500
-***************
-*** 135,139 ****
-    char c;
-    char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
-!   char *e, *t, *t1, *ps2;
-    struct stat tsb;
-    SHELL_VAR *var;
---- 152,156 ----
-    char c;
-    char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
-!   char *e, *t, *t1, *ps2, *tofree;
-    struct stat tsb;
-    SHELL_VAR *var;
-***************
-*** 675,678 ****
---- 728,732 ----
-    /* Check whether or not the number of fields is exactly the same as the
-       number of variables. */
-+   tofree = NULL;
-    if (*input_string)
-      {
-***************
-*** 680,684 ****
-        t = get_word_from_string (&input_string, ifs_chars, &e);
-        if (*input_string == 0)
-!      input_string = t;
-        else
-       input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape);
---- 734,738 ----
-        t = get_word_from_string (&input_string, ifs_chars, &e);
-        if (*input_string == 0)
-!      tofree = input_string = t;
-        else
-       input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape);
-***************
-*** 695,698 ****
---- 749,754 ----
-      var = bind_read_variable (list->word->word, input_string);
-    stupidly_hack_special_variables (list->word->word);
-+   FREE (tofree);
-+ 
-    if (var)
-      VUNSETATTR (var, att_invisible);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 37
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 38
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-039 b/src/patches/bash/bash32-039
deleted file mode 100644 (file)
index c225a5a..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-039
-
-Bug-Reported-by:       rew@erebor.com
-Bug-Reference-ID:      <20070119065603.546D011E9C@kansas.erebor.com>
-Bug-Reference-URL:     
-
-Bug-Description:
-
-Bash-3.2 changed the behavior of the [[ command's `=~' operator when the
-right-hand side was quoted:  it matched the quoted portions as strings.
-This patch introduces a new shell option: compat31.  When enabled, it
-restores the bash-3.1 behavior with respect to evaluating quoted arguments
-to the =~ operator.
-
-Patch:
-
-*** ../bash-3.2-patched/execute_cmd.c  2007-12-14 21:12:39.000000000 -0500
---- execute_cmd.c      2008-02-22 21:20:40.000000000 -0500
-***************
-*** 2547,2551 ****
-        if (arg1 == 0)
-       arg1 = nullstr;
-!       arg2 = cond_expand_word (cond->right->op, rmatch ? 2 : (patmatch ? 1 : 0));
-        if (arg2 == 0)
-       arg2 = nullstr;
---- 2552,2557 ----
-        if (arg1 == 0)
-       arg1 = nullstr;
-!       arg2 = cond_expand_word (cond->right->op,
-!                             (rmatch && shell_compatibility_level > 31) ? 2 : (patmatch ? 1 : 0));
-        if (arg2 == 0)
-       arg2 = nullstr;
-*** ../bash-3.2-patched/shell.h        2003-06-01 15:04:36.000000000 -0400
---- shell.h    2008-02-22 21:16:48.000000000 -0500
-***************
-*** 90,93 ****
---- 90,94 ----
-  extern int interactive, interactive_shell;
-  extern int startup_state;
-+ extern int shell_compatibility_level;
-  
-  /* Structure to pass around that holds a bitmap of file descriptors
-*** ../bash-3.2-patched/version.c      2007-12-14 21:12:29.000000000 -0500
---- version.c  2008-04-10 08:22:22.000000000 -0400
-***************
-*** 44,47 ****
---- 44,50 ----
-  const char *sccs_version = SCCSVERSION;
-  
-+ /* If == 31, shell compatible with bash-3.1, == 32 with bash-3.2, and so on */
-+ int shell_compatibility_level = 32;
-+ 
-  /* Functions for getting, setting, and displaying the shell version. */
-  
-*** ../bash-3.2-patched/builtins/shopt.def     2005-02-19 17:25:03.000000000 -0500
---- builtins/shopt.def 2008-04-10 08:13:32.000000000 -0400
-***************
-*** 102,105 ****
---- 102,107 ----
-  static int set_shellopts_after_change __P((int));
-  
-+ static int set_compatibility_level __P((int));
-+ 
-  #if defined (RESTRICTED_SHELL)
-  static int set_restricted_shell __P((int));
-***************
-*** 107,110 ****
---- 109,113 ----
-  
-  static int shopt_login_shell;
-+ static int shopt_compat31;
-  
-  typedef int shopt_set_func_t __P((int));
-***************
-*** 122,125 ****
---- 125,129 ----
-    { "cmdhist", &command_oriented_history, (shopt_set_func_t *)NULL },
-  #endif
-+   { "compat31", &shopt_compat31, set_compatibility_level },
-    { "dotglob", &glob_dot_filenames, (shopt_set_func_t *)NULL },
-    { "execfail", &no_exit_on_failed_exec, (shopt_set_func_t *)NULL },
-***************
-*** 460,463 ****
---- 464,479 ----
-  }
-  
-+ static int
-+ set_compatibility_level (mode)
-+      int mode;
-+ {
-+   /* Need to change logic here as we add more compatibility levels */
-+   if (shopt_compat31)
-+     shell_compatibility_level = 31;
-+   else
-+     shell_compatibility_level = 32;
-+   return 0;
-+ }
-+ 
-  #if defined (RESTRICTED_SHELL)
-  /* Don't allow the value of restricted_shell to be modified. */
-*** ../bash-3.2-patched/doc/bash.1     2006-09-28 10:26:05.000000000 -0400
---- doc/bash.1 2008-04-25 12:32:49.000000000 -0400
-***************
-*** 7978,7981 ****
---- 8200,8209 ----
-  easy re-editing of multi-line commands.
-  .TP 8
-+ .B compat31
-+ If set,
-+ .B bash
-+ changes its behavior to that of version 3.1 with respect to quoted
-+ arguments to the conditional command's =~ operator.
-+ .TP 8
-  .B dotglob
-  If set, 
-*** ../bash-20080214/doc/bashref.texi  2008-02-08 21:28:35.000000000 -0500
---- doc/bashref.texi   2008-02-22 21:44:51.000000000 -0500
-***************
-*** 4053,4056 ****
---- 4061,4069 ----
-  easy re-editing of multi-line commands.
-  
-+ @item compat31
-+ If set, Bash
-+ changes its behavior to that of version 3.1 with respect to quoted
-+ arguments to the conditional command's =~ operator.
-+ 
-  @item dotglob
-  If set, Bash includes filenames beginning with a `.' in
-*** ../bash-3.2-patched/tests/shopt.right      2005-02-19 17:46:09.000000000 -0500
---- tests/shopt.right  2008-04-28 09:13:07.000000000 -0400
-***************
-*** 7,10 ****
---- 7,11 ----
-  shopt -u checkwinsize
-  shopt -s cmdhist
-+ shopt -u compat31
-  shopt -u dotglob
-  shopt -u execfail
-***************
-*** 54,57 ****
---- 55,59 ----
-  shopt -u checkhash
-  shopt -u checkwinsize
-+ shopt -u compat31
-  shopt -u dotglob
-  shopt -u execfail
-***************
-*** 78,81 ****
---- 80,84 ----
-  checkhash            off
-  checkwinsize         off
-+ compat31             off
-  dotglob              off
-  execfail             off
-
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 38
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 39
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-040 b/src/patches/bash/bash32-040
deleted file mode 100644 (file)
index 50b85bb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-040
-
-Bug-Reported-by:       John McCabe-Dansted
-Bug-Reference-ID:
-Bug-Reference-URL:     https://bugs.launchpad.net/ubuntu/+source/bash/+bug/202885
-
-Bug-Description:
-
-When using the `set' builtin to list all shell variables, the shell uses
-the wrong variable when computing the length of a variable's value.
-
-Patch:
-
-*** ../bash-3.2-patched/array.c        2007-03-24 14:51:03.000000000 -0400
---- array.c    2008-08-17 13:07:04.000000000 -0400
-***************
-*** 684,688 ****
-               valstr = element_value (ae) ? sh_double_quote (element_value(ae))
-                                           : (char *)NULL;
-!              elen = STRLEN (indstr) + 8 + STRLEN (valstr);
-               RESIZE_MALLOCED_BUFFER (result, rlen, (elen + 1), rsize, rsize);
-  
---- 809,813 ----
-               valstr = element_value (ae) ? sh_double_quote (element_value(ae))
-                                           : (char *)NULL;
-!              elen = STRLEN (is) + 8 + STRLEN (valstr);
-               RESIZE_MALLOCED_BUFFER (result, rlen, (elen + 1), rsize, rsize);
-  
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 39
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 40
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-041 b/src/patches/bash/bash32-041
deleted file mode 100644 (file)
index 3c05c04..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-041
-
-Bug-Reported-by:       Dan Jacobson <jidanni@jidanni.org>
-Bug-Reference-ID:      <873arjs11h.fsf@jidanni.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-02/msg00049.html
-
-Bug-Description:
-
-Bash saved and restored the value of `set -o history' while sourcing files,
-preventing users from turning off history with `set +o history' in .bashrc.
-
-Patch:
-
-*** ../bash-3.2-patched/bashhist.c     2005-12-26 13:31:16.000000000 -0500
---- bashhist.c 2008-08-17 13:07:40.000000000 -0400
-***************
-*** 81,84 ****
---- 81,85 ----
-     becomes zero when we read lines from a file, for example. */
-  int remember_on_history = 1;
-+ int enable_history_list = 1; /* value for `set -o history' */
-  
-  /* The number of lines that Bash has added to this history session.  The
-***************
-*** 235,239 ****
-    history_expansion_inhibited = 1;
-  #endif
-!   remember_on_history = interact != 0;
-    history_inhibit_expansion_function = bash_history_inhibit_expansion;
-  }
---- 236,240 ----
-    history_expansion_inhibited = 1;
-  #endif
-!   remember_on_history = enable_history_list = interact != 0;
-    history_inhibit_expansion_function = bash_history_inhibit_expansion;
-  }
-*** ../bash-3.2-patched/builtins/set.def       2006-07-27 09:41:43.000000000 -0400
---- builtins/set.def   2008-08-14 16:33:41.000000000 -0400
-***************
-*** 190,194 ****
-  #endif /* BANG_HISTORY */
-  #if defined (HISTORY)
-!   { "history",   '\0', &remember_on_history, bash_set_history, (setopt_get_func_t *)NULL },
-  #endif
-    { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL },
---- 198,202 ----
-  #endif /* BANG_HISTORY */
-  #if defined (HISTORY)
-!   { "history",   '\0', &enable_history_list, bash_set_history, (setopt_get_func_t *)NULL },
-  #endif
-    { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL },
-***************
-*** 382,385 ****
---- 390,394 ----
-    if (on_or_off == FLAG_ON)
-      {
-+       enable_history_list = 1;
-        bash_history_enable ();
-        if (history_lines_this_session == 0)
-***************
-*** 387,392 ****
-      }
-    else
-!     bash_history_disable ();
-!   return (1 - remember_on_history);
-  }
-  #endif
---- 396,404 ----
-      }
-    else
-!     {
-!       enable_history_list = 0;
-!       bash_history_disable ();
-!     }
-!   return (1 - enable_history_list);
-  }
-  #endif
-***************
-*** 566,570 ****
-  {
-  #if defined (HISTORY)
-!   remember_on_history = 1;
-  #endif
-    ignoreeof = 0;
---- 578,582 ----
-  {
-  #if defined (HISTORY)
-!   remember_on_history = enable_history_list = 1;
-  #endif
-    ignoreeof = 0;
-*** ../bash-3.2-patched/builtins/evalstring.c  2006-07-28 15:12:16.000000000 -0400
---- builtins/evalstring.c      2008-11-10 21:17:16.000000000 -0500
-***************
-*** 68,71 ****
---- 68,79 ----
-  static int cat_file __P((REDIRECT *));
-  
-+ #if defined (HISTORY)
-+ static void
-+ set_history_remembering ()
-+ {
-+   remember_on_history = enable_history_list;
-+ }
-+ #endif
-+ 
-  /* How to force parse_and_execute () to clean up after itself. */
-  void
-***************
-*** 116,120 ****
-  
-  #if defined (HISTORY)
-!   unwind_protect_int (remember_on_history);  /* can be used in scripts */
-  #  if defined (BANG_HISTORY)
-    if (interactive_shell)
---- 124,131 ----
-  
-  #if defined (HISTORY)
-!   if (parse_and_execute_level == 0)
-!     add_unwind_protect (set_history_remembering, (char *)NULL);
-!   else
-!     unwind_protect_int (remember_on_history);        /* can be used in scripts */
-  #  if defined (BANG_HISTORY)
-    if (interactive_shell)
-*** ../bash-3.2-patched/bashhist.h     2005-07-01 15:44:41.000000000 -0400
---- bashhist.h 2008-08-17 12:51:07.000000000 -0400
-***************
-*** 32,35 ****
---- 32,38 ----
-  
-  extern int remember_on_history;
-+ extern int enable_history_list;              /* value for `set -o history' */
-+ extern int literal_history;          /* controlled by `shopt lithist' */
-+ extern int force_append_history;
-  extern int history_lines_this_session;
-  extern int history_lines_in_file;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 40
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 41
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-042 b/src/patches/bash/bash32-042
deleted file mode 100644 (file)
index 4c9f4d6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-042
-
-Bug-Reported-by:       Archimerged Ark Submedes <archimerged@gmail.com>
-Bug-Reference-ID:      <5ba4bef00804182116g65ff71e0qdffcf672f205e708@mail.gmail.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-04/msg00041.html
-
-Bug-Description:
-
-An operator precedence error prevented the bash arithmetic evaluator from
-parsing conditional commands correctly.
-
-Patch:
-
-*** ../bash-3.2-patched/expr.c 2007-12-13 22:30:43.000000000 -0500
---- expr.c     2008-08-17 13:09:59.000000000 -0400
-***************
-*** 521,525 ****
-         noeval++;
-       }
-!       val2 = explor ();
-        if (set_noeval)
-       noeval--;
---- 521,526 ----
-         noeval++;
-       }
-! 
-!       val2 = expcond ();
-        if (set_noeval)
-       noeval--;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 41
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 42
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-043 b/src/patches/bash/bash32-043
deleted file mode 100644 (file)
index 5a51843..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-043
-
-Bug-Reported-by:       Morita Sho <morita-pub-en-debian@inz.sakura.ne.jp>
-Bug-Reference-ID:
-Bug-Reference-URL:     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478096
-
-Bug-Description:
-
-Side effects caused by setting function-local versions of variables bash
-handles specially persisted after the function returned.
-
-Patch:
-
-*** ../bash-3.2-patched/variables.c    2007-08-25 13:47:05.000000000 -0400
---- variables.c        2008-11-09 17:47:31.000000000 -0500
-***************
-*** 3459,3465 ****
-       var->attributes &= ~(att_tempvar|att_propagate);
-        else
-!         shell_variables->flags |= VC_HASTMPVAR;
-        v->attributes |= var->attributes;
-      }
-  
-    dispose_variable (var);
---- 3771,3779 ----
-       var->attributes &= ~(att_tempvar|att_propagate);
-        else
-!      shell_variables->flags |= VC_HASTMPVAR;
-        v->attributes |= var->attributes;
-      }
-+   else
-+     stupidly_hack_special_variables (var->name);     /* XXX */
-  
-    dispose_variable (var);
-***************
-*** 3548,3551 ****
---- 3862,3867 ----
-        v->attributes |= var->attributes;
-      }
-+   else
-+     stupidly_hack_special_variables (var->name);     /* XXX */
-  
-    dispose_variable (var);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 42
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 43
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-044 b/src/patches/bash/bash32-044
deleted file mode 100644 (file)
index 3e7a392..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-044
-
-Bug-Reported-by:       slinkp <stuff@slinkp.com>
-Bug-Reference-ID:      <da52a26a-9f38-4861-a918-14d3482b539d@c65g2000hsa.googlegroups.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-05/msg00085.html
-
-Bug-Description:
-
-The presence of invisible characters in a prompt longer than the screenwidth
-with invisible characters on the first and last prompt lines caused readline
-to place the cursor in the wrong physical location.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/display.c 2007-12-14 21:12:40.000000000 -0500
---- lib/readline/display.c     2008-10-23 09:39:46.000000000 -0400
-***************
-*** 911,914 ****
---- 944,951 ----
-            OFFSET (which has already been calculated above).  */
-  
-+ #define INVIS_FIRST()        (prompt_physical_chars > _rl_screenwidth ? prompt_invis_chars_first_line : wrap_offset)
-+ #define WRAP_OFFSET(line, offset)  ((line == 0) \
-+                                      ? (offset ? INVIS_FIRST() : 0) \
-+                                      : ((line == prompt_last_screen_line) ? wrap_offset-prompt_invis_chars_first_line : 0))
-  #define W_OFFSET(line, offset) ((line) == 0 ? offset : 0)
-  #define VIS_LLEN(l)  ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l]))
-***************
-*** 945,949 ****
-                 _rl_last_c_pos > wrap_offset &&
-                 o_cpos < prompt_last_invisible)
-!              _rl_last_c_pos -= wrap_offset;
-                 
-             /* If this is the line with the prompt, we might need to
---- 982,992 ----
-                 _rl_last_c_pos > wrap_offset &&
-                 o_cpos < prompt_last_invisible)
-!              _rl_last_c_pos -= prompt_invis_chars_first_line;        /* XXX - was wrap_offset */
-!            else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth &&
-!                      (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
-!                      cpos_adjusted == 0 &&
-!                      _rl_last_c_pos != o_cpos &&
-!                      _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - prompt_invis_chars_first_line))
-!              _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line);
-                 
-             /* If this is the line with the prompt, we might need to
-***************
-*** 1205,1209 ****
-  {
-    register char *ofd, *ols, *oe, *nfd, *nls, *ne;
-!   int temp, lendiff, wsatend, od, nd, o_cpos;
-    int current_invis_chars;
-    int col_lendiff, col_temp;
---- 1264,1268 ----
-  {
-    register char *ofd, *ols, *oe, *nfd, *nls, *ne;
-!   int temp, lendiff, wsatend, od, nd, twidth, o_cpos;
-    int current_invis_chars;
-    int col_lendiff, col_temp;
-***************
-*** 1221,1225 ****
-      temp = _rl_last_c_pos;
-    else
-!     temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset);
-    if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode
-       && _rl_last_v_pos == current_line - 1)
---- 1280,1284 ----
-      temp = _rl_last_c_pos;
-    else
-!     temp = _rl_last_c_pos - WRAP_OFFSET (_rl_last_v_pos, visible_wrap_offset);
-    if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode
-       && _rl_last_v_pos == current_line - 1)
-***************
-*** 1587,1599 ****
-           {
-             _rl_output_some_chars (nfd + lendiff, temp - lendiff);
-- #if 1
-            /* XXX -- this bears closer inspection.  Fixes a redisplay bug
-               reported against bash-3.0-alpha by Andreas Schwab involving
-               multibyte characters and prompt strings with invisible
-               characters, but was previously disabled. */
-!            _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
-! #else
-!            _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff);
-! #endif
-           }
-       }
---- 1648,1660 ----
-           {
-             _rl_output_some_chars (nfd + lendiff, temp - lendiff);
-            /* XXX -- this bears closer inspection.  Fixes a redisplay bug
-               reported against bash-3.0-alpha by Andreas Schwab involving
-               multibyte characters and prompt strings with invisible
-               characters, but was previously disabled. */
-!            if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-!              twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
-!            else
-!              twidth = temp - lendiff;
-!            _rl_last_c_pos += twidth;
-           }
-       }
-***************
-*** 1789,1793 ****
-    int cpos, dpos;            /* current and desired cursor positions */
-  
-!   woff = W_OFFSET (_rl_last_v_pos, wrap_offset);
-    cpos = _rl_last_c_pos;
-  #if defined (HANDLE_MULTIBYTE)
---- 1850,1854 ----
-    int cpos, dpos;            /* current and desired cursor positions */
-  
-!   woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset);
-    cpos = _rl_last_c_pos;
-  #if defined (HANDLE_MULTIBYTE)
-***************
-*** 1803,1807 ****
-        prompt string, since they're both buffer indices and DPOS is a
-        desired display position. */
-!       if (new > prompt_last_invisible)               /* XXX - don't use woff here */
-       {
-         dpos -= woff;
---- 1864,1872 ----
-        prompt string, since they're both buffer indices and DPOS is a
-        desired display position. */
-!       if ((new > prompt_last_invisible) ||           /* XXX - don't use woff here */
-!        (prompt_physical_chars > _rl_screenwidth &&
-!         _rl_last_v_pos == prompt_last_screen_line &&
-!         wrap_offset != woff &&
-!         new > (prompt_last_invisible-_rl_screenwidth-wrap_offset)))
-       {
-         dpos -= woff;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 43
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 44
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-045 b/src/patches/bash/bash32-045
deleted file mode 100644 (file)
index 68b91ff..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-045
-
-Bug-Reported-by:       Roman Rakus <rrakus@redhat.com>
-Bug-Reference-ID:      <4864B4A0.1060402@redhat.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-06/msg00098.html
-
-Bug-Description:
-
-When short-circuiting execution due to the `break' or `continue' builtins,
-bash did not preserve the value of $?.
-
-Patch:
-
-*** ../bash-3.2-patched/execute_cmd.c  2008-04-28 22:00:24.000000000 -0400
---- execute_cmd.c      2008-10-18 14:35:03.000000000 -0400
-***************
-*** 502,507 ****
---- 514,526 ----
-    volatile int save_line_number;
-  
-+ #if 0
-    if (command == 0 || breaking || continuing || read_but_dont_execute)
-      return (EXECUTION_SUCCESS);
-+ #else
-+   if (breaking || continuing)
-+     return (last_command_exit_value);
-+   if (command == 0 || read_but_dont_execute)
-+     return (EXECUTION_SUCCESS);
-+ #endif
-  
-    QUIT;
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 44
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 45
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-046 b/src/patches/bash/bash32-046
deleted file mode 100644 (file)
index 78aaf01..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-046
-
-Bug-Reported-by:       Wang Xin <wxinee@gmail.com>
-Bug-Reference-ID:      <9a73e1570807062042ide16698m10e1b18036c95592@mail.gmail.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-07/msg00014.html
-
-Bug-Description:
-
-Bash did not compute the length of multibyte characters correctly when
-performing array element length references (e.g., ${#var[subscript]}).
-
-Patch:
-
-*** /usr/src/local/bash/bash-3.2-patched/subst.c       2008-04-28 22:00:20.000000000 -0400
---- subst.c    2008-11-10 22:02:38.000000000 -0500
-***************
-*** 4813,4817 ****
-      t = (ind == 0) ? value_cell (var) : (char *)NULL;
-  
-!   len = STRLEN (t);
-    return (len);
-  }
---- 4813,4817 ----
-      t = (ind == 0) ? value_cell (var) : (char *)NULL;
-  
-!   len = MB_STRLEN (t);
-    return (len);
-  }
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 45
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 46
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-047 b/src/patches/bash/bash32-047
deleted file mode 100644 (file)
index b8272b1..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-047
-
-Bug-Reported-by:       Roman Rakus <rrakus@redhat.com>
-Bug-Reference-ID:      <48A89EBC.906@redhat.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-08/msg00026.html
-
-Bug-Description:
-
-When using the `.' (source) builtin, under certain circumstances bash was
-too careful in discarding state to preserve internal consistency.  One
-effect was that assignments to readonly variables would cause entire scripts
-to be aborted instead of execution of the offending command.  This behavior
-was introduced by bash-3.2 patch 20.
-
-Patch:
-
-*** /usr/src/local/chet/src/bash/bash-3.2-patched/subst.c      2008-04-29 21:24:55.000000000 -0400
---- subst.c    2008-11-13 17:44:25.000000000 -0500
-***************
-*** 138,142 ****
-  extern int last_command_exit_value, last_command_exit_signal;
-  extern int subshell_environment;
-! extern int subshell_level;
-  extern int eof_encountered;
-  extern int return_catch_flag, return_catch_value;
---- 138,142 ----
-  extern int last_command_exit_value, last_command_exit_signal;
-  extern int subshell_environment;
-! extern int subshell_level, parse_and_execute_level;
-  extern int eof_encountered;
-  extern int return_catch_flag, return_catch_value;
-***************
-*** 7673,7677 ****
-    expanding_redir = 0;
-  
-!   top_level_cleanup ();                      /* from sig.c */
-  
-    jump_to_top_level (v);
---- 7673,7679 ----
-    expanding_redir = 0;
-  
-!   if (parse_and_execute_level == 0)
-!     top_level_cleanup ();                    /* from sig.c */
-! 
-  
-    jump_to_top_level (v);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 46
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 47
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-048 b/src/patches/bash/bash32-048
deleted file mode 100644 (file)
index 551dade..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-048
-
-Bug-Reported-by:       Steffen Kiess <s-kiess@web.de>
-Bug-Reference-ID:      <1223929957.5383.6.camel@fips>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2008-10/msg00047.html
-
-Bug-Description:
-
-When invoked as `bash -c', bash did not execute an EXIT trap when the last
-command in the executed list was a command run from the file system.
-
-Patch:
-
-*** /Users/chet/src/bash/bash-3.2-patched/builtins/evalstring.c        2006-07-28 15:12:16.000000000 -0400
---- builtins/evalstring.c      2008-11-13 18:38:45.000000000 -0500
-***************
-*** 249,252 ****
---- 249,253 ----
-              *   we're not running a trap AND
-              *   we have parsed the full command (string == '\0') AND
-+             *   we're not going to run the exit trap AND
-              *   we have a simple command without redirections AND
-              *   the command is not being timed AND
-***************
-*** 259,263 ****
-                 *bash_input.location.string == '\0' &&
-                 command->type == cm_simple &&
-!                !command->redirects && !command->value.Simple->redirects &&
-                 ((command->flags & CMD_TIME_PIPELINE) == 0) &&
-                 ((command->flags & CMD_INVERT_RETURN) == 0))
---- 260,265 ----
-                 *bash_input.location.string == '\0' &&
-                 command->type == cm_simple &&
-!                signal_is_trapped (EXIT_TRAP) == 0 &&
-!                command->redirects == 0 && command->value.Simple->redirects == 0 &&
-                 ((command->flags & CMD_TIME_PIPELINE) == 0) &&
-                 ((command->flags & CMD_INVERT_RETURN) == 0))
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 47
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 48
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-049 b/src/patches/bash/bash32-049
deleted file mode 100644 (file)
index 469c4c8..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-049
-
-Bug-Reported-by:       Len Lattanzi <llattanzi@apple.com>
-Bug-Reference-ID:      <52B1297F-6675-45CC-B63E-24745337D006@apple.com>
-Bug-Reference-URL:     
-
-Bug-Description:
-
-On systems where mbrtowc() returns -2 when passed a length argument with
-value 0, when using a multibyte locale, Readline's emacs-mode forward-char
-at the end of a line will leave the point beyond the end of the line.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/mbutil.c  2009-05-29 23:09:26.000000000 -0400
---- lib/readline/mbutil.c      2009-05-29 23:10:12.000000000 -0400
-***************
-*** 78,82 ****
-       int seed, count, find_non_zero;
-  {
-!   size_t tmp;
-    mbstate_t ps;
-    int point;
---- 78,82 ----
-       int seed, count, find_non_zero;
-  {
-!   size_t tmp, len;
-    mbstate_t ps;
-    int point;
-***************
-*** 99,103 ****
-    while (count > 0)  
-      {
-!       tmp = mbrtowc (&wc, string+point, strlen(string + point), &ps);
-        if (MB_INVALIDCH ((size_t)tmp))
-       {
---- 99,106 ----
-    while (count > 0)  
-      {
-!       len = strlen (string + point);
-!       if (len == 0)
-!      break;
-!       tmp = mbrtowc (&wc, string+point, len, &ps);
-        if (MB_INVALIDCH ((size_t)tmp))
-       {
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 48
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 49
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-050 b/src/patches/bash/bash32-050
deleted file mode 100644 (file)
index aef537e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-050
-
-Bug-Reported-by:       Jan Hnatek <Jan.Hnatek@Sun.COM>
-Bug-Reference-ID:      <4A44991F.8010005@sun.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2009-06/msg00084.html
-
-Bug-Description:
-
-On systems where mbrtowc() returns -2 when passed a length argument with
-value 0, when using a multibyte locale, Readline's emacs-mode forward-char
-at the end of a line will leave the point beyond the end of the line.
-
-Patch:
-
-*** ../bash-3.2-patched/lib/readline/mbutil.c  2009-06-16 11:26:50.000000000 -0400
---- lib/readline/mbutil.c      2009-01-04 14:32:33.000000000 -0500
-***************
-*** 132,141 ****
-      {
-        tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-!       while (tmp > 0 && wcwidth (wc) == 0)
-       {
-         point += tmp;
-         tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
--        if (MB_NULLWCH (tmp) || MB_INVALIDCH (tmp))
--          break;
-       }
-      }
---- 130,137 ----
-      {
-        tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-!       while (MB_NULLWCH (tmp) == 0 && MB_INVALIDCH (tmp) == 0 && wcwidth (wc) == 0)
-       {
-         point += tmp;
-         tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-       }
-      }
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 49
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 50
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-051 b/src/patches/bash/bash32-051
deleted file mode 100644 (file)
index 404fbd6..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-051
-
-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:
-
-*** ../bash-3.2-patched/builtins/read.def      2008-04-29 21:25:00.000000000 -0400
---- builtins/read.def  2010-03-17 09:50:51.000000000 -0400
-***************
-*** 327,330 ****
---- 327,332 ----
-        if (code)
-       {
-+        interrupt_immediately--;
-+        terminate_immediately = 0;
-         run_unwind_frame ("read_builtin");
-         return (EXECUTION_FAILURE);
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 50
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 51
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash43-001 b/src/patches/bash/bash43-001
new file mode 100644 (file)
index 0000000..ea1c6b2
--- /dev/null
@@ -0,0 +1,58 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-001
+
+Bug-Reported-by:       NBaH <nbah@sfr.fr>
+Bug-Reference-ID:      <ler0b5$iu9$1@speranza.aioe.org>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html
+
+Bug-Description:
+
+A missing check for a valid option prevented `test -R' from working.  There
+is another problem that causes bash to look up the wrong variable name when
+processing the argument to `test -R'.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500
+--- test.c     2014-02-28 21:22:44.000000000 -0500
+***************
+*** 647,652 ****
+  
+      case 'R':
+!       v = find_variable (arg);
+!       return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE);
+      }
+  
+--- 647,652 ----
+  
+      case 'R':
+!       v = find_variable_noref (arg);
+!       return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE);
+      }
+  
+***************
+*** 724,727 ****
+--- 724,728 ----
+      case 'u': case 'v': case 'w': case 'x': case 'z':
+      case 'G': case 'L': case 'O': case 'S': case 'N':
++     case 'R':
+        return (1);
+      }
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-002 b/src/patches/bash/bash43-002
new file mode 100644 (file)
index 0000000..735b7b8
--- /dev/null
@@ -0,0 +1,62 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-002
+
+Bug-Reported-by:       Moe Tunes <moetunes42@gmail.com>
+Bug-Reference-ID:      <53103F49.3070100@gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00086.html
+
+Bug-Description:
+
+A change to save state while running the DEBUG trap caused pipelines to hang
+on systems which need process group synchronization while building pipelines.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500
+--- trap.c     2014-02-28 09:51:43.000000000 -0500
+***************
+*** 921,925 ****
+  
+  #if defined (JOB_CONTROL)
+!       save_pipeline (1);     /* XXX only provides one save level */
+  #endif
+  
+--- 921,926 ----
+  
+  #if defined (JOB_CONTROL)
+!       if (sig != DEBUG_TRAP) /* run_debug_trap does this */
+!      save_pipeline (1);      /* XXX only provides one save level */
+  #endif
+  
+***************
+*** 941,945 ****
+  
+  #if defined (JOB_CONTROL)
+!       restore_pipeline (1);
+  #endif
+  
+--- 942,947 ----
+  
+  #if defined (JOB_CONTROL)
+!       if (sig != DEBUG_TRAP) /* run_debug_trap does this */
+!      restore_pipeline (1);
+  #endif
+  
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-003 b/src/patches/bash/bash43-003
new file mode 100644 (file)
index 0000000..0f32f41
--- /dev/null
@@ -0,0 +1,48 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-003
+
+Bug-Reported-by:       Anatol Pomozov <anatol.pomozov@gmail.com>
+Bug-Reference-ID:      <CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html
+
+Bug-Description:
+
+When in callback mode, some readline commands can cause readline to seg
+fault by passing invalid contexts to callback functions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/readline/readline.c        2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c    2014-03-10 14:15:02.000000000 -0400
+***************
+*** 745,749 ****
+  
+    RL_CHECK_SIGNALS ();
+!   if (r == 0)                        /* success! */
+      {
+        _rl_keyseq_chain_dispose ();
+--- 745,750 ----
+  
+    RL_CHECK_SIGNALS ();
+!   /* We only treat values < 0 specially to simulate recursion. */
+!   if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0))        /* success! or failure! */
+      {
+        _rl_keyseq_chain_dispose ();
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-004 b/src/patches/bash/bash43-004
new file mode 100644 (file)
index 0000000..010f04a
--- /dev/null
@@ -0,0 +1,47 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-004
+
+Bug-Reported-by:       Daan van Rossum <daan@flash.uchicago.edu>
+Bug-Reference-ID:      <20140307072523.GA14250@flash.uchicago.edu>
+Bug-Reference-URL:     
+
+Bug-Description:
+
+The `.' command in vi mode cannot undo multi-key commands beginning with
+`c', `d', and `y' (command plus motion specifier).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/readline/readline.c        2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c    2014-03-07 15:20:33.000000000 -0500
+***************
+*** 965,969 ****
+    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+        key != ANYOTHERKEY &&
+!       rl_key_sequence_length == 1 && /* XXX */
+        _rl_vi_textmod_command (key))
+      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+--- 965,969 ----
+    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+        key != ANYOTHERKEY &&
+!       _rl_dispatching_keymap == vi_movement_keymap &&
+        _rl_vi_textmod_command (key))
+      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-005 b/src/patches/bash/bash43-005
new file mode 100644 (file)
index 0000000..bcd4069
--- /dev/null
@@ -0,0 +1,63 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-005
+
+Bug-Reported-by:       David Sines <dave.gma@googlemail.com>
+Bug-Reference-ID:      <CAO3BAa_CK_Rgkhdfzs+NJ4KFYdB9qW3pvXQK0xLCi6GMmDU8bw@mail.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00037.html
+
+Bug-Description:
+
+When in Posix mode, bash did not correctly interpret the ANSI-C-style
+$'...' quoting mechanism when performing pattern substitution word
+expansions within double quotes.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/parse.y        2014-02-11 09:42:10.000000000 -0500
+--- parse.y    2014-03-07 20:57:15.000000000 -0500
+***************
+*** 3399,3403 ****
+           unescaped double-quotes or single-quotes, if any, shall occur." */
+        /* This was changed in Austin Group Interp 221 */
+!       if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+       continue;
+  
+--- 3399,3403 ----
+           unescaped double-quotes or single-quotes, if any, shall occur." */
+        /* This was changed in Austin Group Interp 221 */
+!       if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+       continue;
+  
+*** ../bash-4.3/y.tab.c        2014-02-11 10:57:47.000000000 -0500
+--- y.tab.c    2014-03-28 10:41:15.000000000 -0400
+***************
+*** 5711,5715 ****
+           unescaped double-quotes or single-quotes, if any, shall occur." */
+        /* This was changed in Austin Group Interp 221 */
+!       if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+       continue;
+  
+--- 5711,5715 ----
+           unescaped double-quotes or single-quotes, if any, shall occur." */
+        /* This was changed in Austin Group Interp 221 */
+!       if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+       continue;
+  
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-006 b/src/patches/bash/bash43-006
new file mode 100644 (file)
index 0000000..24ff057
--- /dev/null
@@ -0,0 +1,48 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-006
+
+Bug-Reported-by:       Eduardo A . Bustamante Lopez <dualbus@gmail.com>
+Bug-Reference-ID:      <20140228170013.GA16015@dualbus.me>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00091.html
+
+Bug-Description:
+
+A shell that started with job control active but was not interactive left
+the terminal in the wrong process group when exiting, causing its parent
+shell to get a stop signal when it attempted to read from the terminal.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500
+--- jobs.c     2014-03-02 18:05:09.000000000 -0500
+***************
+*** 4375,4379 ****
+  end_job_control ()
+  {
+!   if (interactive_shell)             /* XXX - should it be interactive? */
+      {
+        terminate_stopped_jobs ();
+--- 4375,4379 ----
+  end_job_control ()
+  {
+!   if (interactive_shell || job_control)              /* XXX - should it be just job_control? */
+      {
+        terminate_stopped_jobs ();
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-007 b/src/patches/bash/bash43-007
new file mode 100644 (file)
index 0000000..0d62c9e
--- /dev/null
@@ -0,0 +1,50 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-007
+
+Bug-Reported-by:       geir.hauge@gmail.com
+Bug-Reference-ID:      <20140318093650.B181C1C5B0B@gina.itea.ntnu.no>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html
+
+Bug-Description:
+
+Using compound assignments for associative arrays like
+
+assoc=( [x]= [y]=bar )
+
+left the value corresponding to the key `x' NULL.  This caused subsequent
+lookups to interpret it as unset.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/arrayfunc.c    2013-08-02 16:19:59.000000000 -0400
+--- arrayfunc.c        2014-03-18 11:08:15.000000000 -0400
+***************
+*** 598,601 ****
+--- 598,606 ----
+       {
+         val = expand_assignment_string_to_string (val, 0);
++        if (val == 0)
++          {
++            val = (char *)xmalloc (1);
++            val[0] = '\0';    /* like do_assignment_internal */
++          }
+         free_val = 1;
+       }
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-008 b/src/patches/bash/bash43-008
new file mode 100644 (file)
index 0000000..0ae7c95
--- /dev/null
@@ -0,0 +1,188 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-008
+
+Bug-Reported-by:       Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID:      <20140318135901.GB22158@chaz.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html
+
+Bug-Description:
+
+Some extended glob patterns incorrectly matched filenames with a leading
+dot, regardless of the setting of the `dotglob' option.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/glob/gmisc.c       2013-10-28 14:45:25.000000000 -0400
+--- lib/glob/gmisc.c   2014-03-19 09:16:08.000000000 -0400
+***************
+*** 211,214 ****
+--- 211,215 ----
+      case '!':
+      case '@':
++     case '?':
+        return (pat[1] == LPAREN);
+      default:
+*** ../bash-4.3/lib/glob/glob.c        2014-01-31 21:43:51.000000000 -0500
+--- lib/glob/glob.c    2014-03-20 09:01:26.000000000 -0400
+***************
+*** 180,202 ****
+       int flags;
+  {
+!   char *pp, *pe, *t;
+!   int n, r;
+  
+    pp = pat + 2;
+!   pe = pp + strlen (pp) - 1; /*(*/
+!   if (*pe != ')')
+!     return 0;
+!   if ((t = strchr (pp, '|')) == 0)   /* easy case first */
+      {
+        *pe = '\0';
+        r = skipname (pp, dname, flags);       /*(*/
+        *pe = ')';
+        return r;
+      }
+    while (t = glob_patscan (pp, pe, '|'))
+      {
+        n = t[-1];
+        t[-1] = '\0';
+        r = skipname (pp, dname, flags);
+        t[-1] = n;
+        if (r == 0)    /* if any pattern says not skip, we don't skip */
+--- 180,215 ----
+       int flags;
+  {
+!   char *pp, *pe, *t, *se;
+!   int n, r, negate;
+  
++   negate = *pat == '!';
+    pp = pat + 2;
+!   se = pp + strlen (pp) - 1;         /* end of string */
+!   pe = glob_patscan (pp, se, 0);     /* end of extglob pattern (( */
+!   /* we should check for invalid extglob pattern here */
+!   /* if pe != se we have more of the pattern at the end of the extglob
+!      pattern. Check the easy case first ( */
+!   if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0)
+      {
+        *pe = '\0';
++ #if defined (HANDLE_MULTIBYTE)
++       r = mbskipname (pp, dname, flags);
++ #else
+        r = skipname (pp, dname, flags);       /*(*/
++ #endif
+        *pe = ')';
+        return r;
+      }
++ 
++   /* check every subpattern */
+    while (t = glob_patscan (pp, pe, '|'))
+      {
+        n = t[-1];
+        t[-1] = '\0';
++ #if defined (HANDLE_MULTIBYTE)
++       r = mbskipname (pp, dname, flags);
++ #else
+        r = skipname (pp, dname, flags);
++ #endif
+        t[-1] = n;
+        if (r == 0)    /* if any pattern says not skip, we don't skip */
+***************
+*** 205,219 ****
+      }        /*(*/
+  
+!   if (pp == pe)              /* glob_patscan might find end of pattern */
+      return r;
+  
+!   *pe = '\0';
+! #  if defined (HANDLE_MULTIBYTE)
+!   r = mbskipname (pp, dname, flags); /*(*/
+! #  else
+!   r = skipname (pp, dname, flags);   /*(*/
+! #  endif
+!   *pe = ')';
+!   return r;
+  }
+  #endif
+--- 218,227 ----
+      }        /*(*/
+  
+!   /* glob_patscan might find end of pattern */
+!   if (pp == se)
+      return r;
+  
+!   /* but if it doesn't then we didn't match a leading dot */
+!   return 0;
+  }
+  #endif
+***************
+*** 278,289 ****
+  {
+  #if EXTENDED_GLOB
+!   wchar_t *pp, *pe, *t, n;
+!   int r;
+  
+    pp = pat + 2;
+!   pe = pp + wcslen (pp) - 1; /*(*/
+!   if (*pe != L')')
+!     return 0;
+!   if ((t = wcschr (pp, L'|')) == 0)
+      {
+        *pe = L'\0';
+--- 286,298 ----
+  {
+  #if EXTENDED_GLOB
+!   wchar_t *pp, *pe, *t, n, *se;
+!   int r, negate;
+  
++   negate = *pat == L'!';
+    pp = pat + 2;
+!   se = pp + wcslen (pp) - 1; /*(*/
+!   pe = glob_patscan_wc (pp, se, 0);
+! 
+!   if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0)
+      {
+        *pe = L'\0';
+***************
+*** 292,295 ****
+--- 301,306 ----
+        return r;
+      }
++ 
++   /* check every subpattern */
+    while (t = glob_patscan_wc (pp, pe, '|'))
+      {
+***************
+*** 306,313 ****
+      return r;
+  
+!   *pe = L'\0';
+!   r = wchkname (pp, dname);  /*(*/
+!   *pe = L')';
+!   return r;
+  #else
+    return (wchkname (pat, dname));
+--- 317,322 ----
+      return r;
+  
+!   /* but if it doesn't then we didn't match a leading dot */
+!   return 0;
+  #else
+    return (wchkname (pat, dname));
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-009 b/src/patches/bash/bash43-009
new file mode 100644 (file)
index 0000000..015835c
--- /dev/null
@@ -0,0 +1,64 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-009
+
+Bug-Reported-by:       Matthias Klose <doko@debian.org>
+Bug-Reference-ID:      <53346FC8.6090005@debian.org>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00171.html
+
+Bug-Description:
+
+There is a problem with unsigned sign extension when attempting to reallocate
+the input line when it is fewer than 3 characters long and there has been a
+history expansion.  The sign extension causes the shell to not reallocate the
+line, which results in a segmentation fault when it writes past the end.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y        2014-02-11 09:42:10.000000000 -0500
+--- parse.y    2014-03-27 16:33:29.000000000 -0400
+***************
+*** 2425,2429 ****
+        if (shell_input_line_terminator != EOF)
+       {
+!        if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3)
+           shell_input_line = (char *)xrealloc (shell_input_line,
+                                       1 + (shell_input_line_size += 2));
+--- 2425,2429 ----
+        if (shell_input_line_terminator != EOF)
+       {
+!        if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size))
+           shell_input_line = (char *)xrealloc (shell_input_line,
+                                       1 + (shell_input_line_size += 2));
+*** ../bash-4.3-patched/y.tab.c        2014-03-28 11:17:06.000000000 -0400
+--- y.tab.c    2014-04-07 11:48:31.000000000 -0400
+***************
+*** 4737,4741 ****
+        if (shell_input_line_terminator != EOF)
+       {
+!        if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3)
+           shell_input_line = (char *)xrealloc (shell_input_line,
+                                       1 + (shell_input_line_size += 2));
+--- 4737,4741 ----
+        if (shell_input_line_terminator != EOF)
+       {
+!        if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size))
+           shell_input_line = (char *)xrealloc (shell_input_line,
+                                       1 + (shell_input_line_size += 2));
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-010 b/src/patches/bash/bash43-010
new file mode 100644 (file)
index 0000000..835a96e
--- /dev/null
@@ -0,0 +1,157 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-010
+
+Bug-Reported-by:       Albert Shih <Albert.Shih@obspm.fr>
+Bug-Reference-ID:      Wed, 5 Mar 2014 23:01:40 +0100
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00028.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+This patch changes the behavior of programmable completion to compensate
+for two assumptions made by the bash-completion package.  Bash-4.3 changed
+to dequote the argument to programmable completion only under certain
+circumstances, to make the behavior of compgen more consistent when run
+from the command line -- closer to the behavior when run by a shell function
+run as part of programmable completion.  Bash-completion can pass quoted
+arguments to compgen when the original word to be completed was not quoted,
+expecting programmable completion to dequote the word before attempting
+completion.
+
+This patch fixes two cases:
+
+1.  An empty string that bash-completion passes to compgen as a quoted null
+    string ('').
+
+2.  An unquoted word that bash-completion quotes using single quotes or
+    backslashes before passing it to compgen.
+
+In these cases, since readline did not detect a quote character in the original
+word to be completed, bash-4.3 
+
+*** ../bash-4.3/externs.h      2014-01-02 14:58:20.000000000 -0500
+--- externs.h  2014-03-13 14:42:57.000000000 -0400
+***************
+*** 325,328 ****
+--- 325,329 ----
+  extern char *sh_backslash_quote_for_double_quotes __P((char *));
+  extern int sh_contains_shell_metas __P((char *));
++ extern int sh_contains_quotes __P((char *));
+  
+  /* declarations for functions defined in lib/sh/spell.c */
+*** ../bash-4.3/lib/sh/shquote.c       2013-03-31 21:53:32.000000000 -0400
+--- lib/sh/shquote.c   2014-03-13 14:42:57.000000000 -0400
+***************
+*** 312,313 ****
+--- 312,327 ----
+    return (0);
+  }
++ 
++ int
++ sh_contains_quotes (string)
++      char *string;
++ {
++   char *s;
++ 
++   for (s = string; s && *s; s++)
++     {
++       if (*s == '\'' || *s == '"' || *s == '\\')
++      return 1;
++     }
++   return 0;
++ }
+*** ../bash-4.3/pcomplete.c    2013-08-26 15:23:45.000000000 -0400
+--- pcomplete.c        2014-03-25 17:23:23.000000000 -0400
+***************
+*** 184,187 ****
+--- 184,188 ----
+  COMPSPEC *pcomp_curcs;
+  const char *pcomp_curcmd;
++ const char *pcomp_curtxt;
+  
+  #ifdef DEBUG
+***************
+*** 754,757 ****
+--- 755,784 ----
+         dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+       }
++       /* Intended to solve a mismatched assumption by bash-completion.  If
++       the text to be completed is empty, but bash-completion turns it into
++       a quoted string ('') assuming that this code will dequote it before
++       calling readline, do the dequoting. */
++       else if (iscompgen && iscompleting &&
++             pcomp_curtxt && *pcomp_curtxt == 0 &&
++             text && (*text == '\'' || *text == '"') && text[1] == text[0] && text[2] == 0 && 
++             rl_filename_dequoting_function)
++      dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
++       /* Another mismatched assumption by bash-completion.  If compgen is being
++               run as part of bash-completion, and the argument to compgen is not
++               the same as the word originally passed to the programmable completion
++               code, dequote the argument if it has quote characters.  It's an
++               attempt to detect when bash-completion is quoting its filename
++               argument before calling compgen. */
++       /* We could check whether gen_shell_function_matches is in the call
++       stack by checking whether the gen-shell-function-matches tag is in
++       the unwind-protect stack, but there's no function to do that yet.
++       We could simply check whether we're executing in a function by
++       checking variable_context, and may end up doing that. */
++       else if (iscompgen && iscompleting && rl_filename_dequoting_function &&
++             pcomp_curtxt && text &&
++             STREQ (pcomp_curtxt, text) == 0 &&
++             variable_context &&
++             sh_contains_quotes (text))       /* guess */
++      dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+        else
+       dfn = savestring (text);
+***************
+*** 1523,1527 ****
+  {
+    COMPSPEC *cs, *oldcs;
+!   const char *oldcmd;
+    STRINGLIST *ret;
+  
+--- 1550,1554 ----
+  {
+    COMPSPEC *cs, *oldcs;
+!   const char *oldcmd, *oldtxt;
+    STRINGLIST *ret;
+  
+***************
+*** 1546,1552 ****
+--- 1573,1581 ----
+    oldcs = pcomp_curcs;
+    oldcmd = pcomp_curcmd;
++   oldtxt = pcomp_curtxt;
+  
+    pcomp_curcs = cs;
+    pcomp_curcmd = cmd;
++   pcomp_curtxt = word;
+  
+    ret = gen_compspec_completions (cs, cmd, word, start, end, foundp);
+***************
+*** 1554,1557 ****
+--- 1583,1587 ----
+    pcomp_curcs = oldcs;
+    pcomp_curcmd = oldcmd;
++   pcomp_curtxt = oldtxt;
+  
+    /* We need to conditionally handle setting *retryp here */
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-011 b/src/patches/bash/bash43-011
new file mode 100644 (file)
index 0000000..cdc1572
--- /dev/null
@@ -0,0 +1,49 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-011
+
+Bug-Reported-by:       Egmont Koblinger <egmont@gmail.com>
+Bug-Reference-ID:      <CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html
+
+Bug-Description:
+
+The signal handling changes to bash and readline (to avoid running any code
+in a signal handler context) cause the cursor to be placed on the wrong
+line of a multi-line command after a ^C interrupts editing.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/display.c 2013-12-27 13:10:56.000000000 -0500
+--- lib/readline/display.c     2014-03-27 11:52:45.000000000 -0400
+***************
+*** 2678,2682 ****
+    if (_rl_echoing_p)
+      {
+!       _rl_move_vert (_rl_vis_botlin);
+        _rl_vis_botlin = 0;
+        fflush (rl_outstream);
+--- 2678,2683 ----
+    if (_rl_echoing_p)
+      {
+!       if (_rl_vis_botlin > 0)        /* minor optimization plus bug fix */
+!      _rl_move_vert (_rl_vis_botlin);
+        _rl_vis_botlin = 0;
+        fflush (rl_outstream);
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-012 b/src/patches/bash/bash43-012
new file mode 100644 (file)
index 0000000..176fa15
--- /dev/null
@@ -0,0 +1,43 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-012
+
+Bug-Reported-by:       Eduardo A. Bustamante López<dualbus@gmail.com>
+Bug-Reference-ID:      <5346B54C.4070205@case.edu>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00051.html
+
+Bug-Description:
+
+When a SIGCHLD trap runs a command containing a shell builtin while
+a script is running `wait' to wait for all running children to complete,
+the SIGCHLD trap will not be run once for each child that terminates.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/jobs.c 2014-03-28 10:54:19.000000000 -0400
+--- jobs.c     2014-04-15 08:47:03.000000000 -0400
+***************
+*** 3598,3601 ****
+--- 3598,3602 ----
+    unwind_protect_pointer (the_pipeline);
+    unwind_protect_pointer (subst_assign_varlist);
++   unwind_protect_pointer (this_shell_builtin);
+  
+    /* We have to add the commands this way because they will be run
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-013 b/src/patches/bash/bash43-013
new file mode 100644 (file)
index 0000000..8f4006b
--- /dev/null
@@ -0,0 +1,66 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-013
+
+Bug-Reported-by:       <Trond.Endrestol@ximalas.info>
+Bug-Reference-ID:      <alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html
+
+Bug-Description:
+
+Using reverse-i-search when horizontal scrolling is enabled does not redisplay
+the entire line containing the successful search results.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/lib/readline/display.c 2014-04-08 18:19:36.000000000 -0400
+--- lib/readline/display.c     2014-04-20 18:32:52.000000000 -0400
+***************
+*** 1638,1642 ****
+       the spot of first difference is before the end of the invisible chars,
+       lendiff needs to be adjusted. */
+!   if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+        current_invis_chars != visible_wrap_offset)
+      {
+--- 1638,1642 ----
+       the spot of first difference is before the end of the invisible chars,
+       lendiff needs to be adjusted. */
+!   if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
+        current_invis_chars != visible_wrap_offset)
+      {
+***************
+*** 1826,1831 ****
+               _rl_last_c_pos += bytes_to_insert;
+  
+             if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+!              goto clear_rest_of_line;
+           }
+       }
+--- 1826,1836 ----
+               _rl_last_c_pos += bytes_to_insert;
+  
++            /* XXX - we only want to do this if we are at the end of the line
++               so we move there with _rl_move_cursor_relative */
+             if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+!              {
+!                _rl_move_cursor_relative (ne-new, new);
+!                goto clear_rest_of_line;
+!              }
+           }
+       }
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-014 b/src/patches/bash/bash43-014
new file mode 100644 (file)
index 0000000..f837196
--- /dev/null
@@ -0,0 +1,102 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-014
+
+Bug-Reported-by:       Greg Wooledge <wooledg@eeg.ccf.org>
+Bug-Reference-ID:      <20140418202123.GB7660@eeg.ccf.org>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/help-bash/2014-04/msg00004.html
+
+Bug-Description:
+
+Under certain circumstances, $@ is expanded incorrectly in contexts where
+word splitting is not performed.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/subst.c        2014-01-23 16:26:37.000000000 -0500
+--- subst.c    2014-04-19 15:41:26.000000000 -0400
+***************
+*** 3249,3254 ****
+--- 3249,3256 ----
+      return ((char *)NULL);
+  
++   expand_no_split_dollar_star = 1;
+    w->flags |= W_NOSPLIT2;
+    l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0);
++   expand_no_split_dollar_star = 0;
+    if (l)
+      {
+***************
+*** 7848,7851 ****
+--- 7850,7857 ----
+        according to POSIX.2, this expands to a list of the positional
+        parameters no matter what IFS is set to. */
++       /* XXX - what to do when in a context where word splitting is not
++       performed? Even when IFS is not the default, posix seems to imply
++       that we behave like unquoted $* ?  Maybe we should use PF_NOSPLIT2
++       here. */
+        temp = string_list_dollar_at (list, (pflags & PF_ASSIGNRHS) ? (quoted|Q_DOUBLE_QUOTES) : quoted);
+  
+***************
+*** 8817,8820 ****
+--- 8823,8827 ----
+      {
+        char *ifs_chars;
++       char *tstring;
+  
+        ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL;
+***************
+*** 8831,8834 ****
+--- 8838,8865 ----
+        if (split_on_spaces)
+       list = list_string (istring, " ", 1);   /* XXX quoted == 1? */
++       /* If we have $@ (has_dollar_at != 0) and we are in a context where we
++       don't want to split the result (W_NOSPLIT2), and we are not quoted,
++       we have already separated the arguments with the first character of
++       $IFS.  In this case, we want to return a list with a single word
++       with the separator possibly replaced with a space (it's what other
++       shells seem to do).
++       quoted_dollar_at is internal to this function and is set if we are
++       passed an argument that is unquoted (quoted == 0) but we encounter a
++       double-quoted $@ while expanding it. */
++       else if (has_dollar_at && quoted_dollar_at == 0 && ifs_chars && quoted == 0 && (word->flags & W_NOSPLIT2))
++      {
++        /* Only split and rejoin if we have to */
++        if (*ifs_chars && *ifs_chars != ' ')
++          {
++            list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1);
++            tstring = string_list (list);
++          }
++        else
++          tstring = istring;
++        tword = make_bare_word (tstring);
++        if (tstring != istring)
++          free (tstring);
++        goto set_word_flags;
++      }
+        else if (has_dollar_at && ifs_chars)
+       list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1);
+***************
+*** 8836,8839 ****
+--- 8867,8871 ----
+       {
+         tword = make_bare_word (istring);
++ set_word_flags:
+         if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED))
+           tword->flags |= W_QUOTED;
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-015 b/src/patches/bash/bash43-015
new file mode 100644 (file)
index 0000000..9c4e5ea
--- /dev/null
@@ -0,0 +1,58 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-015
+
+Bug-Reported-by:       Clark Wang <dearvoid@gmail.com>
+Bug-Reference-ID:      <CADv8-og2TOSoabXeNVXVGaXN3tEMHnYVq1rwOLe5meaRPSGRig@mail.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00095.html
+
+Bug-Description:
+
+When completing directory names, the directory name is dequoted twice.
+This causes problems for directories with single and double quotes in
+their names.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/bashline.c     2014-02-09 19:56:58.000000000 -0500
+--- bashline.c 2014-04-25 14:57:52.000000000 -0400
+***************
+*** 4168,4174 ****
+  
+    qc = rl_dispatching ? rl_completion_quote_character : 0;  
+!   dfn = bash_dequote_filename ((char *)text, qc);
+    m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+!   free (dfn);
+  
+    if (m1 == 0 || m1[0] == 0)
+--- 4209,4222 ----
+  
+    qc = rl_dispatching ? rl_completion_quote_character : 0;  
+!   /* If rl_completion_found_quote != 0, rl_completion_matches will call the
+!      filename dequoting function, causing the directory name to be dequoted
+!      twice. */
+!   if (rl_dispatching && rl_completion_found_quote == 0)
+!     dfn = bash_dequote_filename ((char *)text, qc);
+!   else
+!     dfn = (char *)text;
+    m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+!   if (dfn != text)
+!     free (dfn);
+  
+    if (m1 == 0 || m1[0] == 0)
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-016 b/src/patches/bash/bash43-016
new file mode 100644 (file)
index 0000000..882d593
--- /dev/null
@@ -0,0 +1,132 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-016
+
+Bug-Reported-by:       Pierre Gaston <pierre.gaston@gmail.com>
+Bug-Reference-ID:      <CAPSX3sTCD61k1VQLJ5r-LWzEt+e7Xc-fxXmwn2u8EA5gJJej8Q@mail.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00100.html
+
+Bug-Description:
+
+An extended glob pattern containing a slash (`/') causes the globbing code
+to misinterpret it as a directory separator.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/lib/glob/glob.c        2014-03-28 10:54:23.000000000 -0400
+--- lib/glob/glob.c    2014-05-02 10:24:28.000000000 -0400
+***************
+*** 124,127 ****
+--- 124,129 ----
+  extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int));
+  
++ extern char *glob_dirscan __P((char *, int));
++ 
+  /* Compile `glob_loop.c' for single-byte characters. */
+  #define CHAR unsigned char
+***************
+*** 188,191 ****
+--- 190,196 ----
+    pe = glob_patscan (pp, se, 0);     /* end of extglob pattern (( */
+    /* we should check for invalid extglob pattern here */
++   if (pe == 0)
++     return 0;
++ 
+    /* if pe != se we have more of the pattern at the end of the extglob
+       pattern. Check the easy case first ( */
+***************
+*** 1016,1020 ****
+    char **result;
+    unsigned int result_size;
+!   char *directory_name, *filename, *dname;
+    unsigned int directory_len;
+    int free_dirname;                  /* flag */
+--- 1021,1025 ----
+    char **result;
+    unsigned int result_size;
+!   char *directory_name, *filename, *dname, *fn;
+    unsigned int directory_len;
+    int free_dirname;                  /* flag */
+***************
+*** 1032,1035 ****
+--- 1037,1052 ----
+    /* Find the filename.  */
+    filename = strrchr (pathname, '/');
++ #if defined (EXTENDED_GLOB)
++   if (filename && extended_glob)
++     {
++       fn = glob_dirscan (pathname, '/');
++ #if DEBUG_MATCHING
++       if (fn != filename)
++      fprintf (stderr, "glob_filename: glob_dirscan: fn (%s) != filename (%s)\n", fn ? fn : "(null)", filename);
++ #endif
++       filename = fn;
++     }
++ #endif
++ 
+    if (filename == NULL)
+      {
+*** ../bash-4.3-patched/lib/glob/gmisc.c       2014-03-28 10:54:23.000000000 -0400
+--- lib/glob/gmisc.c   2014-05-02 09:35:57.000000000 -0400
+***************
+*** 43,46 ****
+--- 43,48 ----
+  #define WRPAREN         L')'
+  
++ extern char *glob_patscan __P((char *, char *, int));
++ 
+  /* Return 1 of the first character of WSTRING could match the first
+     character of pattern WPAT.  Wide character version. */
+***************
+*** 376,377 ****
+--- 378,410 ----
+    return matlen;
+  }
++ 
++ /* Skip characters in PAT and return the final occurrence of DIRSEP.  This
++    is only called when extended_glob is set, so we have to skip over extglob
++    patterns x(...) */
++ char *
++ glob_dirscan (pat, dirsep)
++      char *pat;
++      int dirsep;
++ {
++   char *p, *d, *pe, *se;
++ 
++   d = pe = se = 0;
++   for (p = pat; p && *p; p++)
++     {
++       if (extglob_pattern_p (p))
++      {
++        if (se == 0)
++          se = p + strlen (p) - 1;
++        pe = glob_patscan (p + 2, se, 0);
++        if (pe == 0)
++          continue;
++        else if (*pe == 0)
++          break;
++        p = pe - 1;   /* will do increment above */
++        continue;
++      }
++       if (*p ==  dirsep)
++      d = p;
++     }
++   return d;
++ }
+
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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/src/patches/bash/bash43-017 b/src/patches/bash/bash43-017
new file mode 100644 (file)
index 0000000..4016fb9
--- /dev/null
@@ -0,0 +1,51 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-017
+
+Bug-Reported-by:       Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID:      <7781746.RhfoTROLxF@smorgbox>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00026.html
+
+Bug-Description:
+
+The code that creates local variables should not clear the `invisible'
+attribute when returning an existing local variable.  Let the code that
+actually assigns a value clear it.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/variables.c    2014-02-14 11:55:12.000000000 -0500
+--- variables.c        2014-05-07 10:53:57.000000000 -0400
+***************
+*** 2198,2205 ****
+    old_var = find_variable (name);
+    if (old_var && local_p (old_var) && old_var->context == variable_context)
+!     {
+!       VUNSETATTR (old_var, att_invisible);   /* XXX */
+!       return (old_var);
+!     }
+  
+    was_tmpvar = old_var && tempvar_p (old_var);
+--- 2260,2264 ----
+    old_var = find_variable (name);
+    if (old_var && local_p (old_var) && old_var->context == variable_context)
+!     return (old_var);
+  
+    was_tmpvar = old_var && tempvar_p (old_var);
+
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 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_ */
diff --git a/src/patches/bash/bash43-018 b/src/patches/bash/bash43-018
new file mode 100644 (file)
index 0000000..39499f6
--- /dev/null
@@ -0,0 +1,44 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  4.3
+Patch-ID:      bash43-018
+
+Bug-Reported-by:       Geir Hauge <geir.hauge@gmail.com>
+Bug-Reference-ID:      <CAO-BiTLOvfPXDypg61jcBausADrxUKJejakV2WTWP26cW0=rgA@mail.gmail.com>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00040.html
+
+Bug-Description:
+
+When assigning an array variable using the compound assignment syntax,
+but using `declare' with the rhs of the compound assignment quoted, the
+shell did not mark the variable as visible after successfully performing
+the assignment.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/arrayfunc.c    2014-03-28 10:54:21.000000000 -0400
+--- arrayfunc.c        2014-05-12 11:19:00.000000000 -0400
+***************
+*** 180,183 ****
+--- 180,184 ----
+    FREE (newval);
+  
++   VUNSETATTR (entry, att_invisible); /* no longer invisible */
+    return (entry);
+  }
+
+*** ../bash-4.3/patchlevel.h   2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h       2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 17
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 18
+  
+  #endif /* _PATCHLEVEL_H_ */