]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.0296: message in popup is shortened unnecessary v9.0.0296
authorBram Moolenaar <Bram@vim.org>
Sun, 28 Aug 2022 13:39:53 +0000 (14:39 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 28 Aug 2022 13:39:53 +0000 (14:39 +0100)
Problem:    Message in popup is shortened unnecessary.
Solution:   Do not use 'showcmd' and 'ruler' for a message in the popup.
            Set the timer when unhiding the message popup.

src/message.c
src/popupwin.c
src/testdir/dumps/Test_cmdheight_zero_4.dump [new file with mode: 0644]
src/testdir/test_messages.vim
src/version.c

index a2803650ad69850dbbcec985ba306ad13d4f4616..bff54d008cc48a291db9bde70b301d50c716a139 100644 (file)
@@ -206,7 +206,11 @@ msg_strtrunc(
                               && !exmode_active && msg_silent == 0) || force)
     {
        len = vim_strsize(s);
-       if (msg_scrolled != 0)
+       if (msg_scrolled != 0
+#ifdef HAS_MESSAGE_WINDOW
+               || use_message_window()
+#endif
+               )
            // Use all the columns.
            room = (int)(Rows - msg_row) * Columns - 1;
        else
@@ -3719,7 +3723,11 @@ msg_end(void)
     void
 msg_check(void)
 {
-    if (msg_row == Rows - 1 && msg_col >= sc_col)
+    if (msg_row == Rows - 1 && msg_col >= sc_col
+#ifdef HAS_MESSAGE_WINDOW
+               && !use_message_window()
+#endif
+           )
     {
        need_wait_return = TRUE;
        redraw_cmdline = TRUE;
index 0cccf4ae83299fd22035162f3af6575e3d574154..8e74e4201023fac33274b30698506bcbdbb77418 100644 (file)
@@ -4501,7 +4501,7 @@ popup_show_message_win(void)
            popup_update_color(message_win, TYPE_MESSAGE_WIN);
            popup_show(message_win);
        }
-       else if (message_win->w_popup_timer != NULL)
+       if (message_win->w_popup_timer != NULL)
            timer_start(message_win->w_popup_timer);
     }
 }
diff --git a/src/testdir/dumps/Test_cmdheight_zero_4.dump b/src/testdir/dumps/Test_cmdheight_zero_4.dump
new file mode 100644 (file)
index 0000000..a91d971
--- /dev/null
@@ -0,0 +1,6 @@
+|s+0&#ffffff0|o|m|e| >t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|T|y|p|e| @1|:|q|a|!| @1|a|n|d| |p|r|e|s@1| |<|E|n|t|e|r|>| |t|o| |a|b|a|n|d|o|n| |a|l@1| |c|h|a|n|g|e|s| |a|n|d| |e|x|i|t| |V|i|m| @9
index ffb7a209ec250bc01d4d52feaf146fec25236c4d..7c71edc0ed4df75e032e0dbf35a5632e81a8b8f2 100644 (file)
@@ -493,10 +493,30 @@ func Test_cmdheight_zero_dump()
   call term_sendkeys(buf, "\<Esc>:echo 'message window'\<CR>")
   call VerifyScreenDump(buf, 'Test_cmdheight_zero_3', {})
 
+  " Message for CTRL-C is in the popup window
+  "call term_sendkeys(buf, ":call popup_clear()\<CR>")
+  call term_sendkeys(buf, "\<C-C>")
+  call VerifyScreenDump(buf, 'Test_cmdheight_zero_4', {})
+
   " clean up
   call StopVimInTerminal(buf)
   call delete('XtestCmdheight')
 endfunc
 
+func Test_cmdheight_zero_shell()
+  CheckUnix
+
+  set cmdheight=0
+  set nomore
+  call setline(1, 'foo!')
+  silent !echo <cWORD> > Xfile.out
+  call assert_equal(['foo!'], readfile('Xfile.out'))
+  call delete('Xfile.out')
+  redraw!
+
+  set more&
+  set cmdheight&
+endfunc
+
 
 " vim: shiftwidth=2 sts=2 expandtab
index 280fcff46a56f66b18a0a7f506e35a4b69268b49..ed4dbca69cb4e7a8cd883b6132888fad3383a3e2 100644 (file)
@@ -707,6 +707,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    296,
 /**/
     295,
 /**/