]> granicus.if.org Git - vim/commitdiff
patch 8.1.0064: typing CTRL-W in a prompt buffer shows mode "-- --" v8.1.0064
authorBram Moolenaar <Bram@vim.org>
Sun, 17 Jun 2018 14:23:34 +0000 (16:23 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 17 Jun 2018 14:23:34 +0000 (16:23 +0200)
Problem:    Typing CTRL-W in a prompt buffer shows mode "-- --".
Solution:   Set restart_edit to 'A' and check for it.

src/edit.c
src/screen.c
src/version.c
src/window.c

index 326a382b5493590c8d0d8b92b13a9de0e0e9dcd0..3204ec31a7c2cf9921240e29a15a828501ee2d18 100644 (file)
@@ -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;
index 2fae1805d3bb50ea7a8b0c1310066bb5dbc8eb14..3dde1b7a1cf7f965f2045a15dfa497c90a4e3a54 100644 (file)
@@ -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);
index 9b4e028ba136f938a3b461f90f6e3ad7593339f5..8159e480c82daeafaae84af414b67a329798bb96 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    64,
 /**/
     63,
 /**/
index 4f4f08b6756e2950419a4b3447eec04eee44cad5..f059b376632124fd0b3a12540facbeeb5c5a041b 100644 (file)
@@ -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