diff options
Diffstat (limited to 'src/edit.c')
-rw-r--r-- | src/edit.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/edit.c b/src/edit.c index fb347b85d..9caca851b 100644 --- a/src/edit.c +++ b/src/edit.c @@ -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) |