summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-04-02 19:39:16 +0200
committerBram Moolenaar <Bram@vim.org>2016-04-02 19:39:16 +0200
commitfd773e9e88add7d1ffef890fb9f3a00d613b4326 (patch)
tree2dea278681e15b36135ce8f89bd1e8eae006cab1
parent8bc189e81aa98ba4aebb03a9dc9527a210fce816 (diff)
downloadvim-fd773e9e88add7d1ffef890fb9f3a00d613b4326.zip
patch 7.4.1696
Problem: When using :stopinsert in a silent mapping the "INSERT" message isn't cleared. (Coacher) Solution: Always clear the message. (Christian Brabandt, closes #718)
-rw-r--r--src/ex_docmd.c1
-rw-r--r--src/proto/screen.pro1
-rw-r--r--src/screen.c19
-rw-r--r--src/version.c2
4 files changed, 17 insertions, 6 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 26f421952..e5de37985 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -10040,6 +10040,7 @@ ex_stopinsert(exarg_T *eap UNUSED)
{
restart_edit = 0;
stop_insert_mode = TRUE;
+ clearmode();
}
/*
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index aad8187a1..f8b14c49a 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -47,6 +47,7 @@ int screen_ins_lines(int off, int row, int line_count, int end, win_T *wp);
int screen_del_lines(int off, int row, int line_count, int end, int force, win_T *wp);
int showmode(void);
void unshowmode(int force);
+void clearmode(void);
void get_trans_bufname(buf_T *buf);
int redrawing(void);
int messaging(void);
diff --git a/src/screen.c b/src/screen.c
index 9d854a225..77fb3b94c 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -10184,12 +10184,19 @@ unshowmode(int force)
if (!redrawing() || (!force && char_avail() && !KeyTyped))
redraw_cmdline = TRUE; /* delete mode later */
else
- {
- msg_pos_mode();
- if (Recording)
- recording_mode(hl_attr(HLF_CM));
- msg_clr_eos();
- }
+ clearmode();
+}
+
+/*
+ * Clear the mode message.
+ */
+ void
+clearmode()
+{
+ msg_pos_mode();
+ if (Recording)
+ recording_mode(hl_attr(HLF_CM));
+ msg_clr_eos();
}
static void
diff --git a/src/version.c b/src/version.c
index e7235c158..ab2cc39a4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1696,
+/**/
1695,
/**/
1694,