]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.0-067 v7.0.067
authorBram Moolenaar <Bram@vim.org>
Tue, 29 Aug 2006 14:07:36 +0000 (14:07 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 29 Aug 2006 14:07:36 +0000 (14:07 +0000)
src/edit.c
src/mbyte.c
src/version.c

index fb347b85df0c6479ce53e0b239f34b6ec5f01a70..9caca851b0ab042103e0e04134cf27eaaca4296f 100644 (file)
@@ -8597,7 +8597,12 @@ ins_left()
     tpos = curwin->w_cursor;
     if (oneleft() == OK)
     {
-       start_arrow(&tpos);
+#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+       /* Only call start_arrow() when not busy with preediting, it will
+        * break undo.  K_LEFT is inserted in im_correct_cursor(). */
+       if (!im_is_preediting())
+#endif
+           start_arrow(&tpos);
 #ifdef FEAT_RIGHTLEFT
        /* If exit reversed string, position is fixed */
        if (revins_scol != -1 && (int)curwin->w_cursor.col >= revins_scol)
index bcfca82663e9cfe86f26407270b956e16d27eb58..92f00e093cd8870a5e779d97da5ec4df8212c3fe 100644 (file)
@@ -3514,6 +3514,11 @@ im_delete_preedit(void)
        add_to_input_buf(delkey, (int)sizeof(delkey));
 }
 
+/*
+ * Move the cursor left by "num_move_back" characters.
+ * Note that ins_left() checks im_is_preediting() to avoid breaking undo for
+ * these K_LEFT keys.
+ */
     static void
 im_correct_cursor(int num_move_back)
 {
@@ -3741,8 +3746,7 @@ im_preedit_changed_cb(GtkIMContext *context, gpointer data)
     }
     else if (cursor_index == 0 && preedit_string[0] == '\0')
     {
-       if (preedit_start_col == MAXCOL)
-           xim_has_preediting = FALSE;
+       xim_has_preediting = FALSE;
 
        /* If at the start position (after typing backspace)
         * preedit_start_col must be reset. */
index 3c2d9a32a2fd5cbf6774919edacb204214f1e2f0..1429289359d23bbbdbb02e5d8c4bb49bc7810c77 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    67,
 /**/
     66,
 /**/