Mercurial > vim
changeset 16688:e791f29affae v8.1.1346
patch 8.1.1346: error for Python exception does not show useful info
commit https://github.com/vim/vim/commit/7f3a28490abb7c495239fc438825e3d1aaafa76d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 18 15:02:25 2019 +0200
patch 8.1.1346: error for Python exception does not show useful info
Problem: Error for Python exception does not show useful info.
Solution: Show the last line instead of the first one. (Ben Jackson,
closes #4381)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 18 May 2019 15:15:05 +0200 |
parents | 28e88bcb7681 |
children | 7f784d132212 |
files | src/if_py_both.h src/testdir/test86.ok src/testdir/test87.ok src/testdir/test_python2.vim src/testdir/test_python3.vim src/testdir/test_pyx2.vim src/testdir/test_pyx3.vim src/version.c |
diffstat | 8 files changed, 38 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -412,6 +412,8 @@ write_output(OutputObject *self, PyObjec Py_BEGIN_ALLOW_THREADS Python_Lock_Vim(); + if (error) + emsg_severe = TRUE; writer((writefn)(error ? emsg : msg), (char_u *)str, len); Python_Release_Vim(); Py_END_ALLOW_THREADS
--- a/src/testdir/test86.ok +++ b/src/testdir/test86.ok @@ -91,7 +91,7 @@ pyeval("None") = v:none 0.0 "\0": Vim(let):E859: {"\0": 1}: Vim(let):E859: -undefined_name: Vim(let):Trace +undefined_name: Vim(let):NameE vim: Vim(let):E859: [1] [1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
--- a/src/testdir/test87.ok +++ b/src/testdir/test87.ok @@ -91,7 +91,7 @@ py3eval("None") = v:none 0.0 "\0": Vim(let):E859: {"\0": 1}: Vim(let):E859: -undefined_name: Vim(let):Trace +undefined_name: Vim(let):NameE vim: Vim(let):E859: [1] [1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
--- a/src/testdir/test_python2.vim +++ b/src/testdir/test_python2.vim @@ -160,3 +160,11 @@ func Test_Write_To_Current_Buffer_Fixes_ bwipe! endfunction + +func Test_Catch_Exception_Message() + try + py raise RuntimeError( 'TEST' ) + catch /.*/ + call assert_match( '^Vim(.*):RuntimeError: TEST$', v:exception ) + endtry +endfunc
--- a/src/testdir/test_python3.vim +++ b/src/testdir/test_python3.vim @@ -160,3 +160,11 @@ func Test_Write_To_Current_Buffer_Fixes_ bwipe! endfunction + +func Test_Catch_Exception_Message() + try + py3 raise RuntimeError( 'TEST' ) + catch /.*/ + call assert_match( '^Vim(.*):RuntimeError: TEST$', v:exception ) + endtry +endfunc
--- a/src/testdir/test_pyx2.vim +++ b/src/testdir/test_pyx2.vim @@ -72,3 +72,11 @@ func Test_pyxfile() call assert_match(s:py3pattern, split(var)[0]) endif endfunc + +func Test_Catch_Exception_Message() + try + pyx raise RuntimeError( 'TEST' ) + catch /.*/ + call assert_match( '^Vim(.*):RuntimeError: TEST$', v:exception ) + endtry +endfunc
--- a/src/testdir/test_pyx3.vim +++ b/src/testdir/test_pyx3.vim @@ -72,3 +72,11 @@ func Test_pyxfile() call assert_match(s:py2pattern, split(var)[0]) endif endfunc + +func Test_Catch_Exception_Message() + try + pyx raise RuntimeError( 'TEST' ) + catch /.*/ + call assert_match( '^Vim(.*):RuntimeError: TEST$', v:exception ) + endtry +endfunc