jove 4.9 (bug in magic cookie standout)

Rob McMahon cudcv at warwick.ac.uk
Sat Sep 10 20:46:43 AEST 1988


Jove on a terminal which uses magic cookie type standout has the interesting
side effect of alternating the screen between normal and reverse video every
thirty seconds---disconcerting for the first time user ... it's not at all
careful about where it puts its magic cookies, and doesn't take them into
account when it's working out where it is on the screen.  This patch to disp.c
seems to fix it ok:

RCS file: disp.c,v
retrieving revision 1.1
diff -c -r1.1 disp.c
*** /tmp/,RCSt1a01844	Sat Sep 10 11:43:50 1988
--- disp.c	Thu Aug 25 17:27:00 1988
***************
*** 902,908 ****
  ModeLine(w)
  register Window	*w;
  {
! 	extern int	i_line;
  	extern char	*pwd();
  	int	n,
  		ign_some = NO;
--- 902,909 ----
  ModeLine(w)
  register Window	*w;
  {
! 	extern int	i_line, i_col, CapCol;
! 	extern char	*cursor;
  	extern char	*pwd();
  	int	n,
  		ign_some = NO;
***************
*** 1120,1141 ****
  		if (IN_INSmode)
  			INSmode(0);
  #endif
  #ifdef TERMCAP
  		putpad(SO, 1);
  #else 
  		SO_on();
  #endif /* TERMCAP */
  	}
  	if (swrite(line, BriteMode, YES))
  		do_cl_eol(i_line);
  	else
  		UpdModLine = 1;
! 	if (BriteMode)
  #ifdef TERMCAP
  		putpad(SE, 1);
  #else 
  		SO_off();
  #endif /* TERMCAP */
  }
  
  /* This tries to place the current line of the current window in the
--- 1121,1151 ----
  		if (IN_INSmode)
  			INSmode(0);
  #endif
+ 		Placur(i_line, i_col);
  #ifdef TERMCAP
  		putpad(SO, 1);
  #else 
  		SO_on();
  #endif /* TERMCAP */
+ 		i_col += SG;
+ 		CapCol += SG;
+ 		cursor += SG;
  	}
  	if (swrite(line, BriteMode, YES))
  		do_cl_eol(i_line);
  	else
  		UpdModLine = 1;
! 	if (BriteMode) {
! 	        Placur(i_line, i_col);
  #ifdef TERMCAP
  		putpad(SE, 1);
  #else 
  		SO_off();
  #endif /* TERMCAP */
+ 		i_col += SG;
+ 		CapCol += SG;
+ 		cursor += SG;
+ 	}
  }
  
  /* This tries to place the current line of the current window in the


-- 
UUCP:   ...!mcvax!ukc!warwick!cudcv	PHONE:  +44 203 523037
JANET:  cudcv at uk.ac.warwick             ARPA:   cudcv at warwick.ac.uk
Rob McMahon, Computing Services, Warwick University, Coventry CV4 7AL, England



More information about the Comp.sources.bugs mailing list