summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-17 16:23:34 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-17 16:23:34 +0200
commit942b4541a2d8e8df8369ab70e112dbbbe0c7c0aa (patch)
tree0fcb2f684a28b77e8397d39a2b9f4da84f873fbe
parentd595a1910c5672808e44afa028e253e47f03651f (diff)
downloadvim-git-942b4541a2d8e8df8369ab70e112dbbbe0c7c0aa.tar.gz
patch 8.1.0064: typing CTRL-W in a prompt buffer shows mode "-- --"v8.1.0064
Problem: Typing CTRL-W in a prompt buffer shows mode "-- --". Solution: Set restart_edit to 'A' and check for it.
-rw-r--r--src/edit.c2
-rw-r--r--src/screen.c4
-rw-r--r--src/version.c2
-rw-r--r--src/window.c2
4 files changed, 7 insertions, 3 deletions
diff --git a/src/edit.c b/src/edit.c
index 326a382b5..3204ec31a 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -1179,7 +1179,7 @@ doESCkey:
// In a prompt window CTRL-W is used for window commands.
// Use Shift-CTRL-W to delete a word.
stuffcharReadbuff(Ctrl_W);
- restart_edit = 'i';
+ restart_edit = 'A';
nomove = TRUE;
count = 0;
goto doESCkey;
diff --git a/src/screen.c b/src/screen.c
index 2fae1805d..3dde1b7a1 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -10263,7 +10263,7 @@ showmode(void)
do_mode = ((p_smd && msg_silent == 0)
&& ((State & INSERT)
- || restart_edit
+ || restart_edit != NUL
|| VIsual_active));
if (do_mode || reg_recording != 0)
{
@@ -10370,7 +10370,7 @@ showmode(void)
#endif
MSG_PUTS_ATTR(_(" INSERT"), attr);
}
- else if (restart_edit == 'I')
+ else if (restart_edit == 'I' || restart_edit == 'A')
MSG_PUTS_ATTR(_(" (insert)"), attr);
else if (restart_edit == 'R')
MSG_PUTS_ATTR(_(" (replace)"), attr);
diff --git a/src/version.c b/src/version.c
index 9b4e028ba..8159e480c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 64,
+/**/
63,
/**/
62,
diff --git a/src/window.c b/src/window.c
index 4f4f08b67..f059b3766 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2114,6 +2114,8 @@ leaving_window(win_T *win)
// When leaving a prompt window stop Insert mode and perhaps restart
// it when entering that window again.
win->w_buffer->b_prompt_insert = restart_edit;
+ if (restart_edit != 0 && mode_displayed)
+ clear_cmdline = TRUE; /* unshow mode later */
restart_edit = NUL;
// When leaving the window (or closing the window) was done from a