diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-08-29 14:07:36 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-08-29 14:07:36 +0000 |
commit | 39fecab939266f92b320c710d3b5b18ec61d8731 (patch) | |
tree | b4a00569ab6c9132b67ec01657f97c4703a85f19 /src | |
parent | 2d694603c7081cf359db6b9c108c235f909f1aab (diff) | |
download | vim-39fecab939266f92b320c710d3b5b18ec61d8731.zip |
updated for version 7.0-067
Diffstat (limited to 'src')
-rw-r--r-- | src/edit.c | 7 | ||||
-rw-r--r-- | src/mbyte.c | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 14 insertions, 3 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) diff --git a/src/mbyte.c b/src/mbyte.c index bcfca8266..92f00e093 100644 --- a/src/mbyte.c +++ b/src/mbyte.c @@ -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. */ diff --git a/src/version.c b/src/version.c index 3c2d9a32a..142928935 100644 --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 67, +/**/ 66, /**/ 65, |