changeset 212:e39657bbbb98

updated for version 7.0060
author vimboss
date Wed, 16 Mar 2005 09:52:38 +0000
parents 79c3648993c3
children d85089194104
files src/gui_mac.c src/os_msdos.c src/regexp.c
diffstat 3 files changed, 21 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -4305,6 +4305,15 @@ gui_mch_set_bg_color(color)
     RGBBackColor(&TheColor);
 }
 
+/*
+ * Set the current text speail color. TODO
+ */
+    void
+gui_mch_set_sp_color(color)
+    guicolor_T	color;
+{
+}
+
     void
 gui_mch_draw_string(row, col, s, len, flags)
     int		row;
--- a/src/os_msdos.c
+++ b/src/os_msdos.c
@@ -989,9 +989,6 @@ mch_inchar(
     int		c;
     int		tmp_c;
     static int	nextchar = 0;	    /* may keep character when maxlen == 1 */
-#ifdef FEAT_AUTOCMD
-    static int	once_already = 0;
-#endif
 
     /*
      * if we got a ctrl-C when we were busy, there will be a "^C" somewhere
@@ -1027,38 +1024,26 @@ mch_inchar(
 #ifdef FEAT_MOUSE
 	    show_mouse(FALSE);
 #endif
-#ifdef FEAT_AUTOCMD
-	    once_already = 0;
-#endif
 	    return 0;
 	}
     }
     else    /* time == -1 */
     {
-#ifdef FEAT_AUTOCMD
-	if (once_already == 2)
-	    updatescript(0);
-	else if (once_already == 1)
-	{
-	    setcursor();
-	    once_already = 2;
-	    return 0;
-	}
-	else
-#endif
 	/*
 	 * If there is no character available within 2 seconds (default)
-	 * write the autoscript file to disk
+	 * write the autoscript file to disk.  Or cause the CursorHold event
+	 * to be triggered.
 	 */
-	    if (WaitForChar(p_ut) == 0)
+	if (WaitForChar(p_ut) == 0)
 	{
 #ifdef FEAT_AUTOCMD
-	    if (has_cursorhold() && get_real_state() == NORMAL_BUSY)
+	    if (!did_cursorhold && has_cursorhold()
+			    && get_real_state() == NORMAL_BUSY && maxlen >= 3)
 	    {
-		apply_autocmds(EVENT_CURSORHOLD, NULL, NULL, FALSE, curbuf);
-		update_screen(VALID);
-		once_already = 1;
-		return 0;
+		buf[0] = K_SPECIAL;
+		buf[1] = KS_EXTRA;
+		buf[2] = (int)KE_CURSORHOLD;
+		return 3;
 	    }
 	    else
 #endif
@@ -1194,9 +1179,6 @@ mch_inchar(
 #endif
 
     beep_count = 0;	    /* may beep again now that we got some chars */
-#ifdef FEAT_AUTOCMD
-    once_already = 0;
-#endif
     return len;
 }
 
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -4522,7 +4522,7 @@ regmatch(scan)
 		    /* It could match.  Prepare for trying to match what
 		     * follows.  The code is below.  Parameters are stored in
 		     * a regstar_T on the regstack. */
-		    if (((unsigned)regstack.ga_len >> 10) >= p_mmp)
+		    if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
 		    {
 			EMSG(_(e_maxmempat));
 			status = RA_FAIL;
@@ -4567,7 +4567,7 @@ regmatch(scan)
 	  case BEHIND:
 	  case NOBEHIND:
 	    /* Need a bit of room to store extra positions. */
-	    if (((unsigned)regstack.ga_len >> 10) >= p_mmp)
+	    if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
 	    {
 		EMSG(_(e_maxmempat));
 		status = RA_FAIL;
@@ -5004,7 +5004,7 @@ regstack_push(regstack, state, scan, sta
 {
     regitem_T	*rp;
 
-    if (((unsigned)regstack->ga_len >> 10) >= p_mmp)
+    if ((long)((unsigned)regstack->ga_len >> 10) >= p_mmp)
     {
 	EMSG(_(e_maxmempat));
 	return NULL;