diff src/evalfunc.c @ 13796:87012d2b17b5 v8.0.1770

patch 8.0.1770: assert functions don't return anything commit https://github.com/vim/vim/commit/65a5464985f980d2bbbf4e14d39d416dce065ec7 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 28 16:56:53 2018 +0200 patch 8.0.1770: assert functions don't return anything Problem: Assert functions don't return anything. Solution: Return non-zero when the assertion fails.
author Christian Brabandt <cb@256bit.org>
date Sat, 28 Apr 2018 17:00:06 +0200
parents 9de2b25932eb
children 044337cbf854
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1300,108 +1300,108 @@ f_argv(typval_T *argvars, typval_T *rett
  * "assert_beeps(cmd [, error])" function
  */
     static void
-f_assert_beeps(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_beeps(argvars);
+f_assert_beeps(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_beeps(argvars);
 }
 
 /*
  * "assert_equal(expected, actual[, msg])" function
  */
     static void
-f_assert_equal(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_equal_common(argvars, ASSERT_EQUAL);
+f_assert_equal(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_equal_common(argvars, ASSERT_EQUAL);
 }
 
 /*
  * "assert_equalfile(fname-one, fname-two)" function
  */
     static void
-f_assert_equalfile(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_equalfile(argvars);
+f_assert_equalfile(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_equalfile(argvars);
 }
 
 /*
  * "assert_notequal(expected, actual[, msg])" function
  */
     static void
-f_assert_notequal(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_equal_common(argvars, ASSERT_NOTEQUAL);
+f_assert_notequal(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_equal_common(argvars, ASSERT_NOTEQUAL);
 }
 
 /*
  * "assert_exception(string[, msg])" function
  */
     static void
-f_assert_exception(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_exception(argvars);
+f_assert_exception(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_exception(argvars);
 }
 
 /*
  * "assert_fails(cmd [, error])" function
  */
     static void
-f_assert_fails(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_fails(argvars);
+f_assert_fails(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_fails(argvars);
 }
 
 /*
  * "assert_false(actual[, msg])" function
  */
     static void
-f_assert_false(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_bool(argvars, FALSE);
+f_assert_false(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_bool(argvars, FALSE);
 }
 
 /*
  * "assert_inrange(lower, upper[, msg])" function
  */
     static void
-f_assert_inrange(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_inrange(argvars);
+f_assert_inrange(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_inrange(argvars);
 }
 
 /*
  * "assert_match(pattern, actual[, msg])" function
  */
     static void
-f_assert_match(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_match_common(argvars, ASSERT_MATCH);
+f_assert_match(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_match_common(argvars, ASSERT_MATCH);
 }
 
 /*
  * "assert_notmatch(pattern, actual[, msg])" function
  */
     static void
-f_assert_notmatch(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_match_common(argvars, ASSERT_NOTMATCH);
+f_assert_notmatch(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_match_common(argvars, ASSERT_NOTMATCH);
 }
 
 /*
  * "assert_report(msg)" function
  */
     static void
-f_assert_report(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_report(argvars);
+f_assert_report(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_report(argvars);
 }
 
 /*
  * "assert_true(actual[, msg])" function
  */
     static void
-f_assert_true(typval_T *argvars, typval_T *rettv UNUSED)
-{
-    assert_bool(argvars, TRUE);
+f_assert_true(typval_T *argvars, typval_T *rettv)
+{
+    rettv->vval.v_number = assert_bool(argvars, TRUE);
 }
 
 #ifdef FEAT_FLOAT