From 419daf099c0f4cbdc493916d756e847fa771f8ab Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 19 Mar 2006 08:53:49 +0000 Subject: [PATCH] grab patches from upstream --- package/readline/readline51-001 | 77 +++++++++++++++++++++++++++++++++ package/readline/readline51-002 | 43 ++++++++++++++++++ package/readline/readline51-003 | 29 +++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 package/readline/readline51-001 create mode 100644 package/readline/readline51-002 create mode 100644 package/readline/readline51-003 diff --git a/package/readline/readline51-001 b/package/readline/readline51-001 new file mode 100644 index 0000000000..d0703b2dc4 --- /dev/null +++ b/package/readline/readline51-001 @@ -0,0 +1,77 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 5.1 +Patch-ID: readline51-001 + +Bug-Reported-by: Andreas Schwab +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; + } + diff --git a/package/readline/readline51-002 b/package/readline/readline51-002 new file mode 100644 index 0000000000..e8b18d5f22 --- /dev/null +++ b/package/readline/readline51-002 @@ -0,0 +1,43 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 5.1 +Patch-ID: readline51-002 + +Bug-Reported-by: Mike Frysinger +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; diff --git a/package/readline/readline51-003 b/package/readline/readline51-003 new file mode 100644 index 0000000000..7cfd7ff31a --- /dev/null +++ b/package/readline/readline51-003 @@ -0,0 +1,29 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 5.1 +Patch-ID: readline51-003 + +Bug-Reported-by: Bob Rossi +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; -- 2.30.2