# HG changeset patch # User vimboss # Date 1158224854 0 # Node ID 0e3e208b4b901f22beecc85c5781170f3c4e5351 # Parent 316dad0565b8943c978c8c58b212f3c4469b1cf7 updated for version 7.0-104 diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -707,6 +707,11 @@ edit(cmdchar, startln, count) lastc = c; /* remember previous char for CTRL-D */ c = safe_vgetc(); +#ifdef FEAT_AUTOCMD + /* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */ + did_cursorhold = TRUE; +#endif + #ifdef FEAT_RIGHTLEFT if (p_hkmap && KeyTyped) c = hkmap(c); /* Hebrew mode mapping */ @@ -1389,6 +1394,12 @@ normalchar: break; } /* end of switch (c) */ +#ifdef FEAT_AUTOCMD + /* If typed something may trigger CursorHoldI again. */ + if (c != K_CURSORHOLD) + did_cursorhold = FALSE; +#endif + /* If the cursor was moved we didn't just insert a space */ if (arrow_used) inserted_space = FALSE; diff --git a/src/fileio.c b/src/fileio.c --- a/src/fileio.c +++ b/src/fileio.c @@ -8289,7 +8289,11 @@ trigger_cursorhold() { int state; - if (!did_cursorhold && has_cursorhold() && !Recording) + if (!did_cursorhold && has_cursorhold() && !Recording +#ifdef FEAT_INS_EXPAND + && !ins_compl_active() +#endif + ) { state = get_real_state(); if (state == NORMAL_BUSY || (state & INSERT) != 0) diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 104, +/**/ 103, /**/ 102,