summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-03-22 13:44:28 +0100
committerBram Moolenaar <Bram@vim.org>2020-03-22 13:44:28 +0100
commit97acfc781bdb7fa2838dc6e0e7f9952ea61bb2fd (patch)
tree41197a3b39753aae79e6a91fd2396c413a2ebf6b /src
parentce436de5a9b94886baf023b3d22193cc68d0e9d1 (diff)
downloadvim-git-97acfc781bdb7fa2838dc6e0e7f9952ea61bb2fd.tar.gz
patch 8.2.0424: checking for wrong return valuev8.2.0424
Problem: Checking for wrong return value. (Tom) Solution: Invert the check and fix the test.
Diffstat (limited to 'src')
-rw-r--r--src/testdir/test_vim9_script.vim19
-rw-r--r--src/version.c2
-rw-r--r--src/vim9execute.c2
3 files changed, 16 insertions, 7 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c83012176..9157a1d49 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -943,13 +943,20 @@ def Test_while_loop()
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 198c42adf..166c1d488 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
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 33b6430a5..9f829d69f 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -487,7 +487,7 @@ call_def_function(
{
// 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;
}