diff --git a/src/eval.c b/src/eval.c index fd028ccce..7776cc6c3 100644 --- a/src/eval.c +++ b/src/eval.c @@ -9386,7 +9386,8 @@ f_assert_fails(typval_T *argvars, typval_T *rettv UNUSED) char_u buf[NUMBUFLEN]; char *error = (char *)get_tv_string_buf_chk(&argvars[1], buf); - if (strstr((char *)vimvars[VV_ERRMSG].vv_str, error) == NULL) + if (error == NULL + || strstr((char *)vimvars[VV_ERRMSG].vv_str, error) == NULL) { prepare_assert_error(&ga); fill_assert_error(&ga, &argvars[2], NULL, &argvars[1], diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim index df2636d7b..2ac828b28 100644 --- a/src/testdir/test_assert.vim +++ b/src/testdir/test_assert.vim @@ -62,6 +62,12 @@ func Test_compare_fail() endtry endfunc +func Test_assert_fail_fails() + call assert_fails('xxx', {}) + call assert_true(v:errors[0] =~ "Expected {} but got 'E731:") + call remove(v:errors, 0) +endfunc + func Test_user_is_happy() smile diff --git a/src/version.c b/src/version.c index e4004f81c..eecbfe1ed 100644 --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1567, /**/ 1566, /**/