0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.4358: Vim9: line number of exception is not set

Problem:    Vim9: line number of exception is not set.
Solution:   Set the line number before throwing an exception. (closes #9755)
This commit is contained in:
Bram Moolenaar
2022-02-12 14:23:17 +00:00
parent 2a9b62dfa2
commit 90a57168a4
3 changed files with 15 additions and 0 deletions

View File

@@ -1057,6 +1057,18 @@ def Test_try_catch_skipped()
assert_match("NEWLIST size 0\n", instr)
enddef
def Test_throw_line_number()
def Func()
eval 1 + 1
eval 2 + 2
throw 'exception'
enddef
try
Func()
catch /exception/
assert_match('line 3', v:throwpoint)
endtry
enddef
def Test_throw_vimscript()

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4358,
/**/
4357,
/**/

View File

@@ -3826,6 +3826,7 @@ exec_instructions(ectx_T *ectx)
}
}
SOURCING_LNUM = iptr->isn_lnum;
if (throw_exception(tv->vval.v_string, ET_USER, NULL)
== FAIL)
{