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.py b/src/testdir/test_channel.py
index 8dba3ba..9684bb9 100644
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -109,6 +109,11 @@
                         print("sending: {0}".format(cmd))
                         self.request.sendall(cmd.encode('utf-8'))
                         response = "ok"
+                    elif decoded[1] == 'echoerr':
+                        cmd = '["ex","echoerr \\\"this is an error\\\""]'
+                        print("sending: {0}".format(cmd))
+                        self.request.sendall(cmd.encode('utf-8'))
+                        response = "ok"
                     elif decoded[1] == 'bad command':
                         cmd = '["ex","foo bar"]'
                         print("sending: {0}".format(cmd))
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)})