summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-06-07 20:39:47 +0200
committerBram Moolenaar <Bram@vim.org>2017-06-07 20:39:47 +0200
commitf085f4266e07b36279c56d43fd0d73ed080046ae (patch)
tree63cb2b4bf7cf8a8da239c5f9fa232fa6c210569a
parentadd8dce38de65a0c64e8f54d6bdcadb45a8de2cf (diff)
downloadvim-git-f085f4266e07b36279c56d43fd0d73ed080046ae.tar.gz
patch 8.0.0628: cursor disappears after silent mappingv8.0.0628
Problem: Cursor disappears after silent mapping. (Ramel Eshed) Solution: Do restore the cursor when it was changed, but don't change it in the first place for a silent mapping.
-rw-r--r--src/getchar.c18
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 13 deletions
diff --git a/src/getchar.c b/src/getchar.c
index ab3250aa3..44b246de6 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2583,7 +2583,7 @@ vgetorpeek(int advance)
* get a character: 3. from the user - handle <Esc> in Insert mode
*/
/*
- * special case: if we get an <ESC> in insert mode and there
+ * Special case: if we get an <ESC> in insert mode and there
* are no more characters at once, we pretend to go out of
* insert mode. This prevents the one second delay after
* typing an <ESC>. If we get something after all, we may
@@ -2617,8 +2617,8 @@ vgetorpeek(int advance)
mode_deleted = TRUE;
}
#ifdef FEAT_GUI
- /* may show different cursor shape */
- if (gui.in_use)
+ /* may show a different cursor shape */
+ if (gui.in_use && State != NORMAL && !cmd_silent)
{
int save_State;
@@ -2913,16 +2913,8 @@ vgetorpeek(int advance)
}
#ifdef FEAT_GUI
/* may unshow different cursor shape */
- if (gui.in_use)
- {
- if (cmd_silent)
- gui_dont_update_cursor(TRUE);
- else
- gui_can_update_cursor();
-
- if (shape_changed)
- gui_update_cursor(TRUE, FALSE);
- }
+ if (gui.in_use && shape_changed)
+ gui_update_cursor(TRUE, FALSE);
#endif
--vgetc_busy;
diff --git a/src/version.c b/src/version.c
index 7a9b21c5d..4b98f4457 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 628,
+/**/
627,
/**/
626,