0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 8.0.0628: cursor disappears after silent mapping

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.
This commit is contained in:
Bram Moolenaar
2017-06-07 20:39:47 +02:00
parent add8dce38d
commit f085f4266e
2 changed files with 7 additions and 13 deletions

View File

@@ -2583,7 +2583,7 @@ vgetorpeek(int advance)
* get a character: 3. from the user - handle <Esc> in Insert mode * 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 * are no more characters at once, we pretend to go out of
* insert mode. This prevents the one second delay after * insert mode. This prevents the one second delay after
* typing an <ESC>. If we get something after all, we may * typing an <ESC>. If we get something after all, we may
@@ -2617,8 +2617,8 @@ vgetorpeek(int advance)
mode_deleted = TRUE; mode_deleted = TRUE;
} }
#ifdef FEAT_GUI #ifdef FEAT_GUI
/* may show different cursor shape */ /* may show a different cursor shape */
if (gui.in_use) if (gui.in_use && State != NORMAL && !cmd_silent)
{ {
int save_State; int save_State;
@@ -2913,16 +2913,8 @@ vgetorpeek(int advance)
} }
#ifdef FEAT_GUI #ifdef FEAT_GUI
/* may unshow different cursor shape */ /* may unshow different cursor shape */
if (gui.in_use) if (gui.in_use && shape_changed)
{ gui_update_cursor(TRUE, FALSE);
if (cmd_silent)
gui_dont_update_cursor(TRUE);
else
gui_can_update_cursor();
if (shape_changed)
gui_update_cursor(TRUE, FALSE);
}
#endif #endif
--vgetc_busy; --vgetc_busy;

View File

@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
628,
/**/ /**/
627, 627,
/**/ /**/