summaryrefslogtreecommitdiff
path: root/src/testdir/test_eval_stuff.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-13 18:05:18 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-13 18:05:18 +0100
commit2be57331524e93da52a0663f4a334d21c05123bb (patch)
tree231325e508c202f6d060ce3fc836ccc6d8cff954 /src/testdir/test_eval_stuff.vim
parentbc197195b097707d08fd44a476dbc374366504cb (diff)
downloadvim-git-2be57331524e93da52a0663f4a334d21c05123bb.tar.gz
patch 8.0.1518: error messages suppressed after ":silent! try"v8.0.1518
Problem: Error messages suppressed after ":silent! try". (Ben Reilly) Solution: Restore emsg_silent before executing :try. (closes #2531)
Diffstat (limited to 'src/testdir/test_eval_stuff.vim')
-rw-r--r--src/testdir/test_eval_stuff.vim14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/testdir/test_eval_stuff.vim b/src/testdir/test_eval_stuff.vim
index 92e1ec533..12222303d 100644
--- a/src/testdir/test_eval_stuff.vim
+++ b/src/testdir/test_eval_stuff.vim
@@ -11,3 +11,17 @@ endfunction
func Test_catch_return_with_error()
call assert_equal(1, s:foo())
endfunc
+
+func Test_nocatch_restore_silent_emsg()
+ silent! try
+ throw 1
+ catch
+ endtry
+ echoerr 'wrong'
+ let c1 = nr2char(screenchar(&lines, 1))
+ let c2 = nr2char(screenchar(&lines, 2))
+ let c3 = nr2char(screenchar(&lines, 3))
+ let c4 = nr2char(screenchar(&lines, 4))
+ let c5 = nr2char(screenchar(&lines, 5))
+ call assert_equal('wrong', c1 . c2 . c3 . c4 . c5)
+endfunc