summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-08-28 14:39:53 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-28 14:39:53 +0100
commit35a4fbc5d04820d9b08e7da2e295a7e8210e2e2c (patch)
tree905bb72938a493a8644f4bf1d52a05d1990f87c1 /src
parent00d4ceeccafb36f1337d133489b3651c11e78c30 (diff)
patch 9.0.0296: message in popup is shortened unnecessaryv9.0.0296
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.
Diffstat (limited to 'src')
-rw-r--r--src/message.c12
-rw-r--r--src/popupwin.c2
-rw-r--r--src/testdir/dumps/Test_cmdheight_zero_4.dump6
-rw-r--r--src/testdir/test_messages.vim20
-rw-r--r--src/version.c2
5 files changed, 39 insertions, 3 deletions
diff --git a/src/message.c b/src/message.c
index a2803650ad..bff54d008c 100644
--- a/src/message.c
+++ b/src/message.c
@@ -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;
diff --git a/src/popupwin.c b/src/popupwin.c
index 0cccf4ae83..8e74e42010 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -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
index 0000000000..a91d971b0a
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdheight_zero_4.dump
@@ -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
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index ffb7a209ec..7c71edc0ed 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -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
diff --git a/src/version.c b/src/version.c
index 280fcff46a..ed4dbca69c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 296,
+/**/
295,
/**/
294,