Subject: patch 5.4o.7 (was: another syntax bug ?)
From: Bram Moolenaar <[email-masked]>
To: "Krishna, Hari" <[email-masked]>
Cc: [email-masked]

------------

Hari Krishna wrote:

> A small insignificant bug, but thought will notify you. If you select
> part of the text and press ^C, the selection is removed, but at the same
> time some of the syntax highlighting goes off most notably for comments.
> It is restored if the screen is redrawn.

I see.  Because CTRL-C has been hit, "got_int" will be set.  Recently I have
added a check for got-int in regexp execution, so that it can be interrupted.
But this now makes all regexp work fail.  Thus syntax highlighting doesn't
work when the screen is updated while "got_int" is still set.

Patch 5.4o.7
Problem:    When hitting CTRL-C in Visual mode, the syntax highlighting was
            removed. (Hari Krishna)
Solution:   Reset got-int while redrawing the screen and restore it after
            that.
Files:      src/screen.c

*** ../vim-5.4o/src/screen.c	Sun Jul 11 20:10:35 1999
--- src/screen.c	Wed Jul 14 22:21:32 1999
***************
*** 1113,1118 ****
--- 1113,1121 ----
  #ifdef LINEBREAK
      int		    need_showbreak = FALSE;
  #endif
+ #if defined(SYNTAX_HL) || defined(EXTRA_SEARCH)
+     int		    save_got_int;
+ #endif
  
      if (startrow > endrow)		/* past the end already! */
  	return startrow;
***************
*** 1134,1139 ****
--- 1137,1147 ----
  #else
      extra_check = 0;
  #endif
+ #if defined(SYNTAX_HL) || defined(EXTRA_SEARCH)
+     /* reset got_int, otherwise regexp won't work */
+     save_got_int = got_int;
+     got_int = 0;
+ #endif
  #ifdef SYNTAX_HL
      if (syntax_present(wp->w_buffer))
      {
***************
*** 1834,1839 ****
--- 1842,1853 ----
  	    break;
  	}
      }
+ 
+ #if defined(SYNTAX_HL) || defined(EXTRA_SEARCH)
+     /* restore got_int, unless CTRL-C was hit while redrawing */
+     if (!got_int)
+ 	got_int = save_got_int;
+ #endif
  
      return (row);
  }

--
hundred-and-one symptoms of being an internet addict:
110. You actually volunteer to become your employer's webmaster.

--/-/---- Bram Moolenaar ---- [email-masked] ---- [email-masked] ---\-\--
  \ \    www.vim.org/iccf      www.moolenaar.net       www.vim.org    / /