From c5aa55db7e5bc791f99fb15b0f4be0d5dd166f62 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 28 Nov 2017 20:47:40 +0100 Subject: [PATCH] patch 8.0.1356: using simalt in a GUIEnter autocommand inserts characters Problem: Using simalt in a GUIEnter autocommand inserts strange characters. (Chih-Long Chang) Solution: Ignore K_NOP in Insert mode. (closes #2379) --- src/edit.c | 4 ++-- src/ex_getln.c | 6 +++--- src/version.c | 2 ++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/edit.c b/src/edit.c index d960de359..bf2cf3140 100644 --- a/src/edit.c +++ b/src/edit.c @@ -781,7 +781,7 @@ edit( #endif /* - * Get a character for Insert mode. Ignore K_IGNORE. + * Get a character for Insert mode. Ignore K_IGNORE and K_NOP. */ if (c != K_CURSORHOLD) lastc = c; /* remember the previous char for CTRL-D */ @@ -798,7 +798,7 @@ edit( do { c = safe_vgetc(); - } while (c == K_IGNORE); + } while (c == K_IGNORE || c == K_NOP); #ifdef FEAT_AUTOCMD /* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */ diff --git a/src/ex_getln.c b/src/ex_getln.c index 02d03b4e1..4202b036e 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -417,12 +417,12 @@ getcmdline( cursorcmd(); /* set the cursor on the right spot */ - /* Get a character. Ignore K_IGNORE, it should not do anything, such - * as stop completion. */ + /* Get a character. Ignore K_IGNORE and K_NOP, they should not do + * anything, such as stop completion. */ do { c = safe_vgetc(); - } while (c == K_IGNORE); + } while (c == K_IGNORE || c == K_NOP); if (KeyTyped) { diff --git a/src/version.c b/src/version.c index 0be4be46b..50e3f1600 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1356, /**/ 1355, /**/ -- 2.50.1