From 914b1ec59423b7e1895ce573e472d0b2b92e1fce Mon Sep 17 00:00:00 2001
From: Clifford Wolf <clifford@clifford.at>
Date: Fri, 3 Sep 2004 14:23:23 +0000
Subject: [PATCH] Clifford Wolf: 	Updated bash-3.0

[2004080900480722880] (https://www.rocklinux.net/submaster)



git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@3979 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc
---
 package/base/bash/bash.desc               |   6 +-
 package/base/bash/official-upto-007.patch | 433 ----------------------
 package/base/bash/overwrite-fixes.patch   |  73 ----
 3 files changed, 3 insertions(+), 509 deletions(-)
 delete mode 100644 package/base/bash/official-upto-007.patch
 delete mode 100644 package/base/bash/overwrite-fixes.patch

diff --git a/package/base/bash/bash.desc b/package/base/bash/bash.desc
index 81feec40e..080083cae 100644
--- a/package/base/bash/bash.desc
+++ b/package/base/bash/bash.desc
@@ -45,9 +45,9 @@
 
 [L] GPL
 [S] Stable
-[V] 2.05b
+[V] 3.0
 [P] X X1-3-----9 106.500
 
-[D] 3731831200 bash-2.05b.tar.gz     ftp://ftp.gnu.org/pub/gnu/bash/
-[D] 4042888190 bash-doc-2.05b.tar.gz ftp://ftp.gnu.org/pub/gnu/bash/
+[D] 3577823490 bash-3.0.tar.gz     ftp://ftp.gnu.org/pub/gnu/bash/
+[D] 2834434668 bash-doc-3.0.tar.gz ftp://ftp.gnu.org/pub/gnu/bash/
 
diff --git a/package/base/bash/official-upto-007.patch b/package/base/bash/official-upto-007.patch
deleted file mode 100644
index 3eabf39e4..000000000
--- a/package/base/bash/official-upto-007.patch
+++ /dev/null
@@ -1,433 +0,0 @@
-# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
-# 
-# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
-# Please add additional copyright information _after_ the line containing
-# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
-# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
-# 
-# ROCK Linux: rock-src/package/base/bash/official-upto-007.patch
-# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version. A copy of the GNU General Public
-# License can be found at Documentation/COPYING.
-# 
-# Many people helped and are helping developing ROCK Linux. Please
-# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
-# file for details.
-# 
-# --- ROCK-COPYRIGHT-NOTE-END ---
-
-Official patches from ftp://ftp.gnu.org/pub/gnu/bash/bash-2.05b-patches/.
-
-
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID: bash205b-001
-
-Bug-Reported-by:    taviso@sdf.lonestar.org
-Bug-Reference-ID:   <200208021107.g72B723d021352@darkstar.example.net>
-Bug-Reference-URL:  http://mail.gnu.org/pipermail/bug-bash/2002-August/004980.html
-
-Bug-Description:
-
-Bash goes into an infinite loop and eventually crashes with a SIGSEGV
-when some keys on the numeric keypad are pressed, possibly in combination
-with the shift key.
-
-Patch:
-
-*** ./lib/readline/bind.c	Thu Jan 24 11:15:52 2002
---- ./lib/readline/bind.c	Wed Jul 31 09:11:18 2002
-***************
-*** 312,316 ****
-  	     and the function bound  to `a' to be executed when the user
-  	     types `abx', leaving `bx' in the input queue. */
-! 	  if (k.function /* && k.type == ISFUNC */)
-  	    {
-  	      map[ANYOTHERKEY] = k;
---- 312,316 ----
-  	     and the function bound  to `a' to be executed when the user
-  	     types `abx', leaving `bx' in the input queue. */
-! 	  if (k.function && ((k.type == ISFUNC && k.function != rl_do_lowercase_version) || k.type == ISMACR))
-  	    {
-  	      map[ANYOTHERKEY] = k;
-
-
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID: bash205b-002
-
-Bug-Reported-by:  rwhron@earthlink.net
-Bug-Reference-ID: <20020724000454.GA15210@rushmore> (bug-bash)
-Bug-Reference-URL: http://mail.gnu.org/pipermail/bug-bash/2002-July/004856.html
-
-Bug-Description:
-
-Repeating an edit in vi-mode with `.' does not work.
-
-Patch:
-
-*** ./lib/readline/readline.c	Wed Mar 13 17:10:46 2002
---- ./lib/readline/readline.c	Tue Jul 30 17:46:44 2002
-***************
-*** 685,688 ****
---- 685,689 ----
-  #if defined (VI_MODE)
-    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
-+       key != ANYOTHERKEY &&
-        _rl_vi_textmod_command (key))
-      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
-
-
-
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID: bash205b-003
-
-Bug-Reported-by:   jan.q.bruun-andersen@posten.se
-Bug-Reference-ID:  <BE156C6450189B4ABAF7381F0AD4724A0165674F@002exmbs002.ad.posten.se>
-Bug-Reference-URL: http://mail.gnu.org/pipermail/bug-bash/2002-July/004789.html
-
-Bug-Description:
-
-In certain cases, Bash appends a space instead of a slash to a directory
-name relative to the current directory when performing command name
-completion.  This affects partial completion of intermediate directory
-names.
-
-Patch:
-
-*** ./bashline.c	Tue May  7 15:52:42 2002
---- ./bashline.c	Sat Aug  3 11:40:16 2002
-***************
-*** 1045,1049 ****
---- 1045,1052 ----
-        else
-  	{
-+ #define CMD_IS_DIR(x)	(absolute_pathname(x) == 0 && *(x) != '~' && test_for_directory (x))
-+ 
-  	  matches = rl_completion_matches (text, command_word_completion_function);
-+ 
-  	  /* If we are attempting command completion and nothing matches, we
-  	     do not want readline to perform filename completion for us.  We
-***************
-*** 1053,1057 ****
-  	  if (matches == (char **)NULL)
-  	    rl_ignore_some_completions_function = bash_ignore_filenames;
-! 	  else if (matches[1] == 0 && *matches[0] != '/')
-  	    /* Turn off rl_filename_completion_desired so readline doesn't
-  	       append a slash if there is a directory with the same name
---- 1056,1060 ----
-  	  if (matches == (char **)NULL)
-  	    rl_ignore_some_completions_function = bash_ignore_filenames;
-! 	  else if (matches[1] == 0 && CMD_IS_DIR(matches[0]))
-  	    /* Turn off rl_filename_completion_desired so readline doesn't
-  	       append a slash if there is a directory with the same name
-***************
-*** 1062,1066 ****
-  	       conflict. */
-  	    rl_filename_completion_desired = 0;
-! 	  else if (matches[0] && matches[1] && STREQ (matches[0], matches[1]) && *matches[0] != '/')
-  	    /* There are multiple instances of the same match (duplicate
-  	       completions haven't yet been removed).  In this case, all of
---- 1065,1069 ----
-  	       conflict. */
-  	    rl_filename_completion_desired = 0;
-! 	  else if (matches[0] && matches[1] && STREQ (matches[0], matches[1]) && CMD_IS_DIR (matches[0]))
-  	    /* There are multiple instances of the same match (duplicate
-  	       completions haven't yet been removed).  In this case, all of
-
-
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID: bash205b-004
-
-Bug-Reported-by:   c.f.a.johnson@rogers.com
-Bug-Reference-ID:  <aji8sb$1aa9bi$2@ID-136730.news.dfncis.de>
-Bug-Reference-URL: http://mail.gnu.org/pipermail/bug-bash/2002-August/005074.html
-
-Bug-Description:
-
-A bug in the bash variable expansion code causes leading blanks in a
-variable's value to be ignored when computing its length.
-
-Patch:
-
-*** ./subst.c	Mon Jun 24 07:59:45 2002
---- ./subst.c	Sat Aug 17 17:28:46 2002
-***************
-*** 1639,1647 ****
-  /* This performs word splitting and quoted null character removal on
-     STRING. */
-! #if 0
-! #define issep(c)	((separators)[1] ? (member ((c), separators)) : (c) == (separators)[0])
-! #else
-! #define issep(c)	((separators)[1] ? isifs(c) : (c) == (separators)[0])
-! #endif
-  
-  WORD_LIST *
---- 1639,1646 ----
-  /* This performs word splitting and quoted null character removal on
-     STRING. */
-! #define issep(c) \
-! 	(((separators)[0]) ? ((separators)[1] ? isifs(c) \
-! 					      : (c) == (separators)[0]) \
-! 			   : 0)
-  
-  WORD_LIST *
-
-
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID: bash205b-005
-
-Bug-Reported-by:	Jim Meyering <jim@meyering.net>
-Bug-Reference-ID:	<87bs6v8iib.fsf@pixie.eng.ascend.com>
-Bug-Reference-URL:	http://mail.gnu.org/archive/html/bug-bash/2002-09/msg00047.html
-
-Bug-Description:
-
-When in a locale with multibyte characters, the readline display updater
-will occasionally cause a segmentation fault when attempting to compute
-the length of the first multibyte character on the line.
-
-Patch:
-
-*** ./lib/readline/mbutil.c	Tue Jun  4 11:54:29 2002
---- ./lib/readline/mbutil.c	Mon Aug  5 11:20:39 2002
-***************
-*** 206,210 ****
-      {
-        /* shorted to compose multibyte char */
-!       memset (ps, 0, sizeof(mbstate_t));
-        return -2;
-      }
---- 206,211 ----
-      {
-        /* shorted to compose multibyte char */
-!       if (ps)
-! 	memset (ps, 0, sizeof(mbstate_t));
-        return -2;
-      }
-***************
-*** 213,217 ****
-        /* invalid to compose multibyte char */
-        /* initialize the conversion state */
-!       memset (ps, 0, sizeof(mbstate_t));
-        return -1;
-      }
---- 214,219 ----
-        /* invalid to compose multibyte char */
-        /* initialize the conversion state */
-!       if (ps)
-! 	memset (ps, 0, sizeof(mbstate_t));
-        return -1;
-      }
-***************
-*** 226,232 ****
-  int
-  _rl_compare_chars (buf1, pos1, ps1, buf2, pos2, ps2)
-!      char *buf1, *buf2;
-!      mbstate_t *ps1, *ps2;
-!      int pos1, pos2;
-  {
-    int i, w1, w2;
---- 228,237 ----
-  int
-  _rl_compare_chars (buf1, pos1, ps1, buf2, pos2, ps2)
-!      char *buf1;
-!      int pos1;
-!      mbstate_t *ps1;
-!      char *buf2;
-!      int pos2;
-!      mbstate_t *ps2;
-  {
-    int i, w1, w2;
-***************
-*** 277,282 ****
-  	  /* clear the state of the byte sequence, because
-  	     in this case effect of mbstate is undefined  */
-! 	  memset (ps, 0, sizeof (mbstate_t));
-  	}
-        else
-  	pos += tmp;
---- 282,290 ----
-  	  /* clear the state of the byte sequence, because
-  	     in this case effect of mbstate is undefined  */
-! 	  if (ps)
-! 	    memset (ps, 0, sizeof (mbstate_t));
-  	}
-+       else if (tmp == 0)
-+ 	pos++;
-        else
-  	pos += tmp;
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID: bash205b-006
-
-Bug-Reported-by:	clowenst@ucsd.edu
-Bug-Reference-ID:	<156388ec.0212021151.51a48df1@posting.google.com>
-Bug-Reference-URL:	
-
-Bug-Description:
-
-When running in a locale with multibyte characters, the readline display
-updater will use carriage returns when drawing the line, overwriting any
-partial output already on the screen and not terminated by a newline.
-
-Patch:
-
-*** ./lib/readline/display.c	Tue Jun  4 10:54:47 2002
---- ./lib/readline/display.c	Fri Sep 13 16:22:57 2002
-***************
-*** 71,75 ****
-  
-  #if defined (HANDLE_MULTIBYTE)
-! static int _rl_col_width PARAMS((char *, int, int));
-  static int *_rl_wrapped_line;
-  #else
---- 71,75 ----
-  
-  #if defined (HANDLE_MULTIBYTE)
-! static int _rl_col_width PARAMS((const char *, int, int));
-  static int *_rl_wrapped_line;
-  #else
-***************
-*** 1349,1355 ****
-  	      _rl_output_some_chars (nfd + lendiff, temp - lendiff);
-  #if 0
-- 	      _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff) - col_lendiff;
-- #else
-  	      _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
-  #endif
-  	    }
---- 1349,1355 ----
-  	      _rl_output_some_chars (nfd + lendiff, temp - lendiff);
-  #if 0
-  	      _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
-  	    }
-***************
-*** 1511,1516 ****
-    /* If we have multibyte characters, NEW is indexed by the buffer point in
-       a multibyte string, but _rl_last_c_pos is the display position.  In
-!      this case, NEW's display position is not obvious. */
-!   if ((MB_CUR_MAX == 1 || rl_byte_oriented ) && _rl_last_c_pos == new) return;
-  #else
-    if (_rl_last_c_pos == new) return;
---- 1511,1523 ----
-    /* If we have multibyte characters, NEW is indexed by the buffer point in
-       a multibyte string, but _rl_last_c_pos is the display position.  In
-!      this case, NEW's display position is not obvious and must be
-!      calculated. */
-!   if (MB_CUR_MAX == 1 || rl_byte_oriented)
-!     {
-!       if (_rl_last_c_pos == new)
-! 	return;
-!     }
-!   else if (_rl_last_c_pos == _rl_col_width (data, 0, new))
-!     return;
-  #else
-    if (_rl_last_c_pos == new) return;
-***************
-*** 1595,1603 ****
-      {
-        if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! 	{
-! 	  tputs (_rl_term_cr, 1, _rl_output_character_function);
-! 	  for (i = 0; i < new; i++)
-! 	    putc (data[i], rl_outstream);
-! 	}
-        else
-  	_rl_backspace (_rl_last_c_pos - new);
---- 1602,1606 ----
-      {
-        if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! 	_rl_backspace (_rl_last_c_pos - _rl_col_width (data, 0, new));
-        else
-  	_rl_backspace (_rl_last_c_pos - new);
-***************
-*** 2118,2122 ****
-  static int
-  _rl_col_width (str, start, end)
-!      char *str;
-       int start, end;
-  {
---- 2121,2125 ----
-  static int
-  _rl_col_width (str, start, end)
-!      const char *str;
-       int start, end;
-  {
-***************
-*** 2194,2196 ****
-  }
-  #endif /* HANDLE_MULTIBYTE */
-- 	  
---- 2197,2198 ----
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release: 2.05b
-Patch-ID:  bash205b-007
-
-Bug-Reported-by:	dman@dman.ddts.net
-Bug-Reference-ID:	<15893.26358.129589.503364@gargle.gargle.HOWL>
-Bug-Reference-URL:	http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=175127
-
-Bug-Description:
-
-Using the vi editing mode's case-changing commands in a locale with
-multibyte characters will cause garbage characters to be inserted into
-the editing buffer.
-
-Patch:
-
-*** ./lib/readline/vi_mode.c	Thu May 23 13:27:58 2002
---- ./lib/readline/vi_mode.c	Tue Feb  4 15:11:07 2003
-***************
-*** 681,685 ****
-  {
-    wchar_t wc;
-!   char mb[MB_LEN_MAX];
-    mbstate_t ps;
-  
---- 681,686 ----
-  {
-    wchar_t wc;
-!   char mb[MB_LEN_MAX+1];
-!   int mblen;
-    mbstate_t ps;
-  
-***************
-*** 704,708 ****
-        if (wc)
-  	{
-! 	  wctomb (mb, wc);
-  	  rl_begin_undo_group ();
-  	  rl_delete (1, 0);
---- 705,711 ----
-        if (wc)
-  	{
-! 	  mblen = wctomb (mb, wc);
-! 	  if (mblen >= 0)
-! 	    mb[mblen] = '\0';
-  	  rl_begin_undo_group ();
-  	  rl_delete (1, 0);
diff --git a/package/base/bash/overwrite-fixes.patch b/package/base/bash/overwrite-fixes.patch
deleted file mode 100644
index 4d2d7a0df..000000000
--- a/package/base/bash/overwrite-fixes.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
-# 
-# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
-# Please add additional copyright information _after_ the line containing
-# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
-# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
-# 
-# ROCK Linux: rock-src/package/base/bash/overwrite-fixes.patch
-# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version. A copy of the GNU General Public
-# License can be found at Documentation/COPYING.
-# 
-# Many people helped and are helping developing ROCK Linux. Please
-# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
-# file for details.
-# 
-# --- ROCK-COPYRIGHT-NOTE-END ---
-
---- ./lib/readline/text.c.orig	2002-05-30 20:46:13.000000000 +0300
-+++ ./lib/readline/text.c	2002-12-21 09:02:22.000000000 +0200
-@@ -801,13 +801,10 @@
-     k = _rl_read_mbstring (c, mbkey, MB_LEN_MAX);
- #endif
- 
-+  rl_begin_undo_group ();
-+
-   for (i = 0; i < count; i++)
-     {
--      rl_begin_undo_group ();
--
--      if (rl_point < rl_end)
--	rl_delete (1, c);
--
- #if defined (HANDLE_MULTIBYTE)
-       if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- 	rl_insert_text (mbkey);
-@@ -815,9 +812,13 @@
- #endif
- 	_rl_insert_char (1, c);
- 
--      rl_end_undo_group ();
-+      if (rl_point < rl_end)
-+	rl_delete (1, c);
-+
-     }
- 
-+  rl_end_undo_group ();
-+
-   return 0;
- }
- 
-@@ -934,10 +935,13 @@
-   else
-     rl_delete_text (opoint, rl_point);
- 
--  /* Emacs puts point at the beginning of the sequence of spaces. */
--  opoint = rl_point;
--  _rl_insert_char (l, ' ');
--  rl_point = opoint;
-+  if (rl_point < rl_end)
-+    {
-+      /* Emacs puts point at the beginning of the sequence of spaces. */
-+      opoint = rl_point;
-+      _rl_insert_char (l, ' ');
-+      rl_point = opoint;
-+    }
- 
-   rl_end_undo_group ();
-