patch 9.0.0071: command overlaps with printed text in scrollback
Problem: Command overlaps with printed text in scrollback.
Solution: Clear until end-of-line and use correct message chunk.
(closes #10765, closes #10764)
diff --git a/src/message.c b/src/message.c
index 1f26a23..7ba82fa 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2595,6 +2595,7 @@
sb_text_end_cmdline(void)
{
do_clear_sb_text = SB_CLEAR_CMDLINE_DONE;
+ msg_sb_eol();
}
/*
@@ -2614,7 +2615,7 @@
{
if (last_msgchunk == NULL)
return;
- lastp = &last_msgchunk->sb_prev;
+ lastp = &msg_sb_start(last_msgchunk)->sb_prev;
}
while (*lastp != NULL)
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index 32689b0..1967a3e 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -233,7 +233,8 @@
" Up all the way with 'g'.
call term_sendkeys(buf, 'g')
- call WaitForAssert({-> assert_equal(' 5 5', term_getline(buf, 5))})
+ call WaitForAssert({-> assert_equal(' 4 4', term_getline(buf, 5))})
+ call WaitForAssert({-> assert_equal(':%p#', term_getline(buf, 1))})
call WaitForAssert({-> assert_equal('-- More --', term_getline(buf, 6))})
" All the way down. Pressing f should do nothing but pressing
diff --git a/src/version.c b/src/version.c
index 83d135d..2f2d540 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 71,
+/**/
70,
/**/
69,