summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-08-29 14:07:36 +0000
committerBram Moolenaar <Bram@vim.org>2006-08-29 14:07:36 +0000
commit39fecab939266f92b320c710d3b5b18ec61d8731 (patch)
treeb4a00569ab6c9132b67ec01657f97c4703a85f19 /src
parent2d694603c7081cf359db6b9c108c235f909f1aab (diff)
downloadvim-39fecab939266f92b320c710d3b5b18ec61d8731.zip
updated for version 7.0-067
Diffstat (limited to 'src')
-rw-r--r--src/edit.c7
-rw-r--r--src/mbyte.c8
-rw-r--r--src/version.c2
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,