[gnu.bash.bug] Readline bug

bothner@CS.WISC.EDU (01/16/90)

Just in case this bug has not already been reported ...
The start_insert function in readline/readline.c
is broken for terminal descriptors that support
both im (insert mode) and IC/ic (insert characters)
(such as Xterm) - the function inserts extra
spaces AS WELL as entering insert mode.
This trivial fix seems to work.
	--Per Bothner

*** readline.c~	Sat Nov  4 07:42:01 1989
--- readline.c	Mon Jan 15 14:20:53 1990
***************
*** 1892,1899 ****
  {
    if (term_im && *term_im)
      tputs (term_im, 1, output_character_function);
! 
!   if (term_IC && *term_IC &&
        (count > 1 || !term_ic || !*term_ic))
      {
        char *tgoto (), *buffer;
--- 1892,1898 ----
  {
    if (term_im && *term_im)
      tputs (term_im, 1, output_character_function);
!   else if (term_IC && *term_IC &&
        (count > 1 || !term_ic || !*term_ic))
      {
        char *tgoto (), *buffer;

news@bbn.COM (News system owner ID) (01/20/90)

bothner@CS.WISC.EDU writes:

>Just in case this bug has not already been reported ...
>The start_insert function in readline/readline.c
>is broken for terminal descriptors that support
>both im (insert mode) and IC/ic (insert characters)

This is fixed in the stuff I sent to Brian.  An important caveat for
all you avid termcap terminal description writers (like me): do NOT
include both im/ei and ic UNLESS you must be in INSERT MODE to do
INSERT CHARACTER, otherwize anything that uses RMS's algorithm (like
emacs or the new readline code I sent Brian) will work wrong!!!

		-- Paul Placeway
		   <pplaceway@bbn.com>