patch 8.2.4401: map listing does not clear the rest of the command line
Problem: Map listing does not clear the rest of the command line.
Solution: Call msg_clear_eos(). (closes #5623, closes #5962)
diff --git a/src/map.c b/src/map.c
index e45ea75..b681d2f 100644
--- a/src/map.c
+++ b/src/map.c
@@ -204,6 +204,7 @@
if (p_verbose > 0)
last_set_msg(mp->m_script_ctx);
#endif
+ msg_clr_eos();
out_flush(); // show one line at a time
}
diff --git a/src/testdir/dumps/Test_map_list_1.dump b/src/testdir/dumps/Test_map_list_1.dump
new file mode 100644
index 0000000..64bdcf9
--- /dev/null
+++ b/src/testdir/dumps/Test_map_list_1.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|n+0#0000000&| @1|a| @12|b| @38|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim
index e18927c..35db436 100644
--- a/src/testdir/test_mapping.vim
+++ b/src/testdir/test_mapping.vim
@@ -540,7 +540,6 @@
END
call writefile(lines, 'XtestExprMap')
let buf = RunVimInTerminal('-S XtestExprMap', #{rows: 10})
- call TermWait(buf)
call term_sendkeys(buf, "\<C-B>")
call VerifyScreenDump(buf, 'Test_map_expr_1', {})
@@ -549,6 +548,22 @@
call delete('XtestExprMap')
endfunc
+func Test_map_listing()
+ CheckScreendump
+
+ let lines =<< trim END
+ nmap a b
+ END
+ call writefile(lines, 'XtestMapList')
+ let buf = RunVimInTerminal('-S XtestMapList', #{rows: 6})
+ call term_sendkeys(buf, ": nmap a\<CR>")
+ call VerifyScreenDump(buf, 'Test_map_list_1', {})
+
+ " clean up
+ call StopVimInTerminal(buf)
+ call delete('XtestMapList')
+endfunc
+
func Test_expr_map_error()
CheckScreendump
@@ -565,7 +580,6 @@
END
call writefile(lines, 'XtestExprMap')
let buf = RunVimInTerminal('-S XtestExprMap', #{rows: 10})
- call TermWait(buf)
call term_sendkeys(buf, "\<F2>")
call TermWait(buf)
call term_sendkeys(buf, "\<CR>")
diff --git a/src/version.c b/src/version.c
index abee2ff..8b9d244 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4401,
+/**/
4400,
/**/
4399,