patch 8.2.0424: checking for wrong return value
Problem: Checking for wrong return value. (Tom)
Solution: Invert the check and fix the test.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c830121..9157a1d 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -943,13 +943,20 @@
enddef
def Test_interrupt_loop()
+ let caught = false
let x = 0
- while 1
- x += 1
- if x == 100
- feedkeys("\<C-C>", 'Lt')
- endif
- endwhile
+ try
+ while 1
+ x += 1
+ if x == 100
+ feedkeys("\<C-C>", 'Lt')
+ endif
+ endwhile
+ catch
+ caught = true
+ assert_equal(100, x)
+ endtry
+ assert_true(caught, 'should have caught an exception')
enddef
def Test_substitute_cmd()
diff --git a/src/version.c b/src/version.c
index 198c42a..166c1d4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 424,
+/**/
423,
/**/
422,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 33b6430..9f829d6 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -487,7 +487,7 @@
{
// Turn CTRL-C into an exception.
got_int = FALSE;
- if (throw_exception("Vim:Interrupt", ET_INTERRUPT, NULL) != FAIL)
+ if (throw_exception("Vim:Interrupt", ET_INTERRUPT, NULL) == FAIL)
goto failed;
did_throw = TRUE;
}