grab patches from upstream

This commit is contained in:
Mike Frysinger 2006-03-19 08:53:49 +00:00
parent b8601dd7ea
commit 419daf099c
3 changed files with 149 additions and 0 deletions

View File

@ -0,0 +1,77 @@
READLINE PATCH REPORT
=====================
Readline-Release: 5.1
Patch-ID: readline51-001
Bug-Reported-by: Andreas Schwab <schwab@suse.de>
Bug-Reference-ID: <20051213141916.4014A394BFABD@sykes.suse.de>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00038.html
Bug-Description:
A problem with the readline callback interface can result in segmentation
faults when using the delete-char function via a multiple-key sequence.
Two consecutive calls to delete-char will crash the application calling
readline.
Patch:
*** readline-5.1/readline.c Mon Jul 4 22:29:35 2005
--- readline-5.1/readline.c Tue Dec 20 17:38:29 2005
***************
*** 715,719 ****
rl_dispatching = 1;
RL_SETSTATE(RL_STATE_DISPATCHING);
! r = (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
RL_UNSETSTATE(RL_STATE_DISPATCHING);
rl_dispatching = 0;
--- 715,719 ----
rl_dispatching = 1;
RL_SETSTATE(RL_STATE_DISPATCHING);
! (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
RL_UNSETSTATE(RL_STATE_DISPATCHING);
rl_dispatching = 0;
*** ../readline-5.1/text.c Sat Sep 24 19:06:07 2005
--- text.c Tue Dec 20 17:38:26 2005
***************
*** 1072,1077 ****
int count, key;
{
- int r;
-
if (count < 0)
return (_rl_rubout_char (-count, key));
--- 1072,1075 ----
***************
*** 1091,1097 ****
rl_forward_byte (count, key);
! r = rl_kill_text (orig_point, rl_point);
rl_point = orig_point;
- return r;
}
else
--- 1089,1094 ----
rl_forward_byte (count, key);
! rl_kill_text (orig_point, rl_point);
rl_point = orig_point;
}
else
***************
*** 1100,1105 ****
new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
! return (rl_delete_text (rl_point, new_point));
}
}
--- 1097,1103 ----
new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
! rl_delete_text (rl_point, new_point);
}
+ return 0;
}

View File

@ -0,0 +1,43 @@
READLINE PATCH REPORT
=====================
Readline-Release: 5.1
Patch-ID: readline51-002
Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
Bug-Reference-ID: <200601120613.11907.vapier@gentoo.org>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00045.html
Bug-Description:
Under some circumstances, Readline can use an incorrect setting for the flag
that indicates whether or not the terminal can auto-wrap, resulting in line-
wrapping errors.
Patch:
*** readline-5.1/terminal.c Sat Nov 12 20:46:54 2005
--- readline-5.1/terminal.c Tue Jan 31 10:57:54 2006
***************
*** 123,127 ****
/* Non-zero means the terminal can auto-wrap lines. */
! int _rl_term_autowrap;
/* Non-zero means that this terminal has a meta key. */
--- 126,130 ----
/* Non-zero means the terminal can auto-wrap lines. */
! int _rl_term_autowrap = -1;
/* Non-zero means that this terminal has a meta key. */
***************
*** 275,278 ****
--- 278,284 ----
int rows, cols;
{
+ if (_rl_term_autowrap == -1)
+ _rl_init_terminal_io (rl_terminal_name);
+
if (rows > 0)
_rl_screenheight = rows;

View File

@ -0,0 +1,29 @@
READLINE PATCH REPORT
=====================
Readline-Release: 5.1
Patch-ID: readline51-003
Bug-Reported-by: Bob Rossi <bob@brasko.net>
Bug-Reference-ID: <43F60606.80708@case.edu>
Bug-Reference-URL:
Bug-Description:
In some cases, readline will reference freed memory when attempting to
display a portion of the prompt.
Patch:
*** readline-5.1/readline.c Tue Dec 20 17:38:29 2005
--- readline-5.1/readline.c Fri Feb 17 22:54:22 2006
***************
*** 282,287 ****
--- 282,288 ----
{
FREE (rl_prompt);
rl_prompt = prompt ? savestring (prompt) : (char *)NULL;
+ rl_display_prompt = rl_prompt ? rl_prompt : "";
rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
return 0;