From 35a4fbc5d04820d9b08e7da2e295a7e8210e2e2c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 28 Aug 2022 14:39:53 +0100 Subject: patch 9.0.0296: message in popup is shortened unnecessary 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 | 12 ++++++++++-- src/popupwin.c | 2 +- src/testdir/dumps/Test_cmdheight_zero_4.dump | 6 ++++++ src/testdir/test_messages.vim | 20 ++++++++++++++++++++ src/version.c | 2 ++ 5 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 src/testdir/dumps/Test_cmdheight_zero_4.dump (limited to 'src') 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, "\:echo 'message window'\") call VerifyScreenDump(buf, 'Test_cmdheight_zero_3', {}) + " Message for CTRL-C is in the popup window + "call term_sendkeys(buf, ":call popup_clear()\") + call term_sendkeys(buf, "\") + 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 > 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 @@ -707,6 +707,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 296, /**/ 295, /**/ -- cgit v1.2.3