diff --git a/src/eval.c b/src/eval.c index 0d83f1d5c..34fdd67d4 100644 --- a/src/eval.c +++ b/src/eval.c @@ -9278,7 +9278,8 @@ f_assert_exception(argvars, rettv) assert_error(&ga); ga_clear(&ga); } - else if (strstr((char *)vimvars[VV_EXCEPTION].vv_str, error) == NULL) + else if (error != NULL + && strstr((char *)vimvars[VV_EXCEPTION].vv_str, error) == NULL) { prepare_assert_error(&ga); fill_assert_error(&ga, &argvars[1], NULL, &argvars[0], diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim index 25337a575..70a303ffc 100644 --- a/src/testdir/test_assert.vim +++ b/src/testdir/test_assert.vim @@ -18,6 +18,25 @@ func Test_assert_equal() call assert_equal([1, 2, 3], l) endfunc +func Test_assert_exception() + try + nocommand + catch + call assert_exception('E492:') + endtry + + try + nocommand + catch + try + " illegal argument, get NULL for error + call assert_exception([]) + catch + call assert_exception('E730:') + endtry + endtry +endfunc + func Test_user_is_happy() smile sleep 300m diff --git a/src/version.c b/src/version.c index 843e7414c..30e60687e 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1136, /**/ 1135, /**/