summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-07-16 15:24:01 +0200
committerBram Moolenaar <Bram@vim.org>2017-07-16 15:24:01 +0200
commit6a77d2667e982655f6adacee774ee7aa2581bd8a (patch)
tree6e2835e8979683a8a477c958b886b17857fbe931 /src
parentc0aa482a5add1e1125fd983d62c67a182c76ae24 (diff)
downloadvim-git-6a77d2667e982655f6adacee774ee7aa2581bd8a.tar.gz
patch 8.0.0720: unfinished mapping not displayed when running timerv8.0.0720
Problem: Unfinished mapping not displayed when running timer. Solution: Also use the extra_char while waiting for a mapping and digraph. (closes #1844)
Diffstat (limited to 'src')
-rw-r--r--src/ex_getln.c10
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c
index afdf0b4c9..894756da2 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -54,6 +54,8 @@ static int new_cmdpos; /* position set by set_cmdline_pos() */
static int extra_char = NUL; /* extra character to display when redrawing
* the command line */
+static int extra_char_shift;
+
#ifdef FEAT_CMDHIST
typedef struct hist_entry
{
@@ -1175,7 +1177,6 @@ getcmdline(
dont_scroll = TRUE; /* disallow scrolling here */
#endif
putcmdline('"', TRUE);
- extra_char = '"';
++no_mapping;
i = c = plain_vgetc(); /* CTRL-R <char> */
if (i == Ctrl_O)
@@ -1759,7 +1760,6 @@ getcmdline(
ignore_drag_release = TRUE;
#endif
putcmdline('^', TRUE);
- extra_char = '^';
c = get_literal(); /* get next (two) character(s) */
do_abbr = FALSE; /* don't do abbreviation now */
extra_char = NUL;
@@ -1780,7 +1780,6 @@ getcmdline(
ignore_drag_release = TRUE;
#endif
putcmdline('?', TRUE);
- extra_char = '?';
#ifdef USE_ON_FLY_SCROLL
dont_scroll = TRUE; /* disallow scrolling here */
#endif
@@ -2945,6 +2944,8 @@ putcmdline(int c, int shift)
draw_cmdline(ccline.cmdpos, ccline.cmdlen - ccline.cmdpos);
msg_no_more = FALSE;
cursorcmd();
+ extra_char = c;
+ extra_char_shift = shift;
}
/*
@@ -2967,6 +2968,7 @@ unputcmdline(void)
draw_cmdline(ccline.cmdpos, 1);
msg_no_more = FALSE;
cursorcmd();
+ extra_char = NUL;
}
/*
@@ -3418,7 +3420,7 @@ redrawcmd(void)
set_cmdspos_cursor();
if (extra_char != NUL)
- putcmdline(extra_char, TRUE);
+ putcmdline(extra_char, extra_char_shift);
/*
* An emsg() before may have set msg_scroll. This is used in normal mode,
diff --git a/src/version.c b/src/version.c
index bd274f730..0d5db7f00 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 720,
+/**/
719,
/**/
718,