5 Patch-ID: readline51-001
7 Bug-Reported-by: Andreas Schwab <schwab@suse.de>
8 Bug-Reference-ID: <20051213141916.4014A394BFABD@sykes.suse.de>
9 Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00038.html
13 A problem with the readline callback interface can result in segmentation
14 faults when using the delete-char function via a multiple-key sequence.
15 Two consecutive calls to delete-char will crash the application calling
20 *** readline-5.1/readline.c Mon Jul 4 22:29:35 2005
21 --- readline-5.1/readline.c Tue Dec 20 17:38:29 2005
25 RL_SETSTATE(RL_STATE_DISPATCHING);
26 ! r = (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
27 RL_UNSETSTATE(RL_STATE_DISPATCHING);
31 RL_SETSTATE(RL_STATE_DISPATCHING);
32 ! (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
33 RL_UNSETSTATE(RL_STATE_DISPATCHING);
35 *** ../readline-5.1/text.c Sat Sep 24 19:06:07 2005
36 --- text.c Tue Dec 20 17:38:26 2005
44 return (_rl_rubout_char (-count, key));
48 rl_forward_byte (count, key);
50 ! r = rl_kill_text (orig_point, rl_point);
51 rl_point = orig_point;
56 rl_forward_byte (count, key);
58 ! rl_kill_text (orig_point, rl_point);
59 rl_point = orig_point;
65 new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
66 ! return (rl_delete_text (rl_point, new_point));
72 new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
73 ! rl_delete_text (rl_point, new_point);