# HG changeset patch # User Bram Moolenaar # Date 1588709704 -7200 # Node ID 208b38bddc369989adf92886035ac1240b12bd6b # Parent 40f2361f79e1a09c29a1dd10d484d23f85477eae patch 8.2.0700: Vim9: converting error message to exception not tested Commit: https://github.com/vim/vim/commit/40ee466c361b9698c2a452a36ff4d6c6e5382ed0 Author: Bram Moolenaar Date: Tue May 5 22:08:26 2020 +0200 patch 8.2.0700: Vim9: converting error message to exception not tested Problem: Vim9: converting error message to exception not tested. Solution: Test exception from error. Do not continue after :echoerr. diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -466,6 +466,20 @@ def Test_try_catch_fails() call CheckDefFailure(['throw xxx'], 'E1001:') enddef +let someJob = test_null_job() + +def FuncWithError() + echomsg g:someJob +enddef + +func Test_convert_emsg_to_exception() + try + call FuncWithError() + catch + call assert_match('Vim:E908:', v:exception) + endtry +endfunc + let s:export_script_lines =<< trim END vim9script let name: string = 'bob' @@ -1058,7 +1072,11 @@ def Test_echomsg_cmd() enddef def Test_echoerr_cmd() - # TODO: write this test + try + echoerr 'something' 'wrong' # comment + catch + assert_match('something wrong', v:exception) + endtry enddef def Test_for_outside_of_function() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 700, +/**/ 699, /**/ 698, diff --git a/src/vim9execute.c b/src/vim9execute.c --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -898,14 +898,8 @@ call_def_function( } else { - int save_did_emsg = did_emsg; - SOURCING_LNUM = iptr->isn_lnum; emsg(ga.ga_data); - if (!force_abort) - // We don't want to abort following - // commands, restore did_emsg. - did_emsg = save_did_emsg; } } }