patch 8.1.0789: sourcing a session sets v:errmsg
Problem: Sourcing a session sets v:errmsg.
Solution: Use "%argdel" instead of "argdel *". (Jason Franklin)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 4722edd..387d26d 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -12007,7 +12007,7 @@
if (fputs(cmd, fd) < 0 || put_eol(fd) == FAIL)
return FAIL;
- if (put_line(fd, "silent! argdel *") == FAIL)
+ if (put_line(fd, "%argdel") == FAIL)
return FAIL;
for (i = 0; i < gap->ga_len; ++i)
{
diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim
index 4d524da..00631f1 100644
--- a/src/testdir/test_mksession.vim
+++ b/src/testdir/test_mksession.vim
@@ -415,4 +415,16 @@
%bwipe
endfunc
+" A clean session (one empty buffer, one window, and one tab) should not
+" set any error messages when sourced because no commands should fail.
+func Test_mksession_no_errmsg()
+ let v:errmsg = ''
+ %bwipe!
+ mksession! Xtest_mks.out
+ source Xtest_mks.out
+ call assert_equal('', v:errmsg)
+ call delete('Xtest_mks.out')
+endfunc
+
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index fb1e356..3647397 100644
--- a/src/version.c
+++ b/src/version.c
@@ -792,6 +792,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 789,
+/**/
788,
/**/
787,