patch 8.2.3082: a channel command "echoerr" does not show anything
Problem: A channel command "echoerr" does not show anything.
Solution: Do not use silent errors when using an "echoerr" command.
(closes #8494)
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index e9cc258..37dfd25 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -115,6 +115,18 @@
call WaitForAssert({-> assert_equal("added2", getline("$"))})
call assert_equal('added1', getline(line('$') - 1))
+ " Request command "echoerr 'this is an error'".
+ " This will throw an exception, catch it here.
+ let caught = 'no'
+ try
+ call assert_equal('ok', ch_evalexpr(handle, 'echoerr'))
+ catch /this is an error/
+ let caught = 'yes'
+ endtry
+ if caught != 'yes'
+ call assert_report("Expected exception from error message")
+ endif
+
" Request command "foo bar", which fails silently.
call assert_equal('ok', ch_evalexpr(handle, 'bad command'))
call WaitForAssert({-> assert_match("E492:.*foo bar", v:errmsg)})