grab patches from upstream
authorMike Frysinger <vapier@gentoo.org>
Sun, 19 Mar 2006 08:53:49 +0000 (08:53 -0000)
committerMike Frysinger <vapier@gentoo.org>
Sun, 19 Mar 2006 08:53:49 +0000 (08:53 -0000)
package/readline/readline51-001 [new file with mode: 0644]
package/readline/readline51-002 [new file with mode: 0644]
package/readline/readline51-003 [new file with mode: 0644]

diff --git a/package/readline/readline51-001 b/package/readline/readline51-001
new file mode 100644 (file)
index 0000000..d0703b2
--- /dev/null
@@ -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;
+  }
+  
diff --git a/package/readline/readline51-002 b/package/readline/readline51-002
new file mode 100644 (file)
index 0000000..e8b18d5
--- /dev/null
@@ -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;
diff --git a/package/readline/readline51-003 b/package/readline/readline51-003
new file mode 100644 (file)
index 0000000..7cfd7ff
--- /dev/null
@@ -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;