Skip to content

Commit

Permalink
patch 9.0.1635: error message is cleared when removing mode message
Browse files Browse the repository at this point in the history
Problem:    Error message is cleared when removing mode message.
Solution:   Also reset flags when the message is further down.
  • Loading branch information
brammool committed Jun 15, 2023
1 parent 800cdbb commit da51ad5
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/message.c
Original file line number Diff line number Diff line change
Expand Up @@ -1643,7 +1643,7 @@ msg_outtrans_len_attr(char_u *msgstr, int len, int attr)

// When drawing over the command line no need to clear it later or remove
// the mode message.
if (msg_row == cmdline_row && msg_col == 0)
if (msg_row >= cmdline_row && msg_col == 0)
{
clear_cmdline = FALSE;
mode_displayed = FALSE;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
>o+0&#ffffff0|n|e| @71
|t|w|o| @71
|N|o|S|u|c|h|F|i|l|e| @64
|t|h|r|e@1| @69
|~+0#4040ff13&| @73
|~| @73
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
>o+0&#ffffff0|n|e| @71
|t|w|o| @71
|N|o|S|u|c|h|F|i|l|e| @64
|t|h|r|e@1| @69
|~+0#4040ff13&| @73
|~| @73
Expand Down
10 changes: 10 additions & 0 deletions src/testdir/dumps/Test_message_not_cleared_after_mode_3.dump
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
|o+0&#ffffff0|n|e| @71
|N|o|S|u|c|h|F|i|l>e| @64
|t|h|r|e@1| @69
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@74
|E+0#ffffff16#e000002|4@1|7|:| |C|a|n|'|t| |f|i|n|d| |f|i|l|e| |"|N|o|S|u|c|h|F|i|l|e|"| |i|n| |p|a|t|h| +0#0000000#ffffff0@14|2|,|1|0| @9|A|l@1|
9 changes: 8 additions & 1 deletion src/testdir/test_messages.vim
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,8 @@ func Test_message_not_cleared_after_mode()
endfunction
set showmode
set cmdheight=1
call setline(1, ['one', 'two', 'three'])
call test_settime(1)
call setline(1, ['one', 'NoSuchFile', 'three'])
END
call writefile(lines, 'XmessageMode', 'D')
let buf = RunVimInTerminal('-S XmessageMode', {'rows': 10})
Expand All @@ -361,6 +362,12 @@ func Test_message_not_cleared_after_mode()
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_message_not_cleared_after_mode_2', {})

" removing the mode message used to also clear the error message
call term_sendkeys(buf, ":set cmdheight=2\<CR>")
call term_sendkeys(buf, '2GvEgf')
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_message_not_cleared_after_mode_3', {})

call StopVimInTerminal(buf)
endfunc

Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,6 +695,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1635,
/**/
1634,
/**/
Expand Down

0 comments on commit da51ad5

Please sign in to comment.