[vim] 08/139: 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)

James McCoy jamessan at debian.org
Fri May 6 03:59:55 UTC 2016


This is an automated email from the git hooks/post-receive script.

jamessan pushed a commit to branch debian/sid
in repository vim.

commit fd773e9e88add7d1ffef890fb9f3a00d613b4326
Author: Bram Moolenaar <Bram at vim.org>
Date:   Sat Apr 2 19:39:16 2016 +0200

    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)
---
 src/ex_docmd.c       |  1 +
 src/proto/screen.pro |  1 +
 src/screen.c         | 19 +++++++++++++------
 src/version.c        |  2 ++
 4 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 26f4219..e5de379 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 aad8187..f8b14c4 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 9d854a2..77fb3b9 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 e7235c1..ab2cc39 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,

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-vim/vim.git



More information about the pkg-vim-maintainers mailing list