diff src/edit.c @ 133:bcb347a8f934

updated for version 7.0044
author vimboss
date Tue, 25 Jan 2005 22:12:55 +0000
parents 388f285bda1b
children 8ecb0db93e9a
line wrap: on
line diff
--- a/src/edit.c
+++ b/src/edit.c
@@ -3383,7 +3383,7 @@ ins_complete(c)
 		    temp = complete_col - temp;
 		}
 		if (p_ic)
-		    complete_pat = str_foldcase(tmp_ptr, temp);
+		    complete_pat = str_foldcase(tmp_ptr, temp, NULL, 0);
 		else
 		    complete_pat = vim_strnsave(tmp_ptr, temp);
 		if (complete_pat == NULL)
@@ -3482,7 +3482,7 @@ ins_complete(c)
 	    if (temp < 0)	/* cursor in indent: empty pattern */
 		temp = 0;
 	    if (p_ic)
-		complete_pat = str_foldcase(tmp_ptr, temp);
+		complete_pat = str_foldcase(tmp_ptr, temp, NULL, 0);
 	    else
 		complete_pat = vim_strnsave(tmp_ptr, temp);
 	    if (complete_pat == NULL)
@@ -6111,15 +6111,15 @@ ins_reg()
     ++no_u_sync;
     if (regname == '=')
     {
-#ifdef USE_IM_CONTROL
+# ifdef USE_IM_CONTROL
 	int	im_on = im_get_status();
-#endif
+# endif
 	regname = get_expr_register();
-#ifdef USE_IM_CONTROL
+# ifdef USE_IM_CONTROL
 	/* Restore the Input Method. */
 	if (im_on)
 	    im_set_active(TRUE);
-#endif
+# endif
     }
     if (regname == NUL)
 	need_redraw = TRUE;	/* remove the '"' */
@@ -6141,6 +6141,12 @@ ins_reg()
 	    vim_beep();
 	    need_redraw = TRUE;	/* remove the '"' */
 	}
+	else if (stop_insert_mode)
+	    /* When the '=' register was used and a function was invoked that
+	     * did ":stopinsert" then stuff_empty() returns FALSE but we won't
+	     * insert anything, need to remove the '"' */
+	    need_redraw = TRUE;
+
 #ifdef FEAT_EVAL
     }
     --no_u_sync;