@ -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); |
|
||||
@ -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 (); |
|
||||
|
|
||||