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,