summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-01-28 18:08:12 +0100
committerBram Moolenaar <Bram@vim.org>2017-01-28 18:08:12 +0100
commitc7b831ca154537505f5a22d01335a86b2e9cb023 (patch)
treee6cfed108ac6001743480ced4763d632dca45777 /src/eval.c
parent36ae89c550a4f0a380606c3fb4a054957ad698f0 (diff)
downloadvim-c7b831ca154537505f5a22d01335a86b2e9cb023.zip
patch 8.0.0254: error message of assert functions is sometimes incomplete
Problem: When using an assert function one can either specify a message or get a message about what failed, not both. Solution: Concatenate the error with the message.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c47
1 files changed, 23 insertions, 24 deletions
diff --git a/src/eval.c b/src/eval.c
index 5846936cc..a5ae4f815 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -9240,35 +9240,34 @@ fill_assert_error(
if (opt_msg_tv->v_type != VAR_UNKNOWN)
{
- ga_concat(gap, tv2string(opt_msg_tv, &tofree, numbuf, 0));
+ ga_concat(gap, echo_string(opt_msg_tv, &tofree, numbuf, 0));
vim_free(tofree);
+ ga_concat(gap, (char_u *)": ");
}
+
+ if (atype == ASSERT_MATCH || atype == ASSERT_NOTMATCH)
+ ga_concat(gap, (char_u *)"Pattern ");
+ else if (atype == ASSERT_NOTEQUAL)
+ ga_concat(gap, (char_u *)"Expected not equal to ");
else
+ ga_concat(gap, (char_u *)"Expected ");
+ if (exp_str == NULL)
{
- if (atype == ASSERT_MATCH || atype == ASSERT_NOTMATCH)
- ga_concat(gap, (char_u *)"Pattern ");
- else if (atype == ASSERT_NOTEQUAL)
- ga_concat(gap, (char_u *)"Expected not equal to ");
- else
- ga_concat(gap, (char_u *)"Expected ");
- if (exp_str == NULL)
- {
- ga_concat_esc(gap, tv2string(exp_tv, &tofree, numbuf, 0));
- vim_free(tofree);
- }
+ ga_concat_esc(gap, tv2string(exp_tv, &tofree, numbuf, 0));
+ vim_free(tofree);
+ }
+ else
+ ga_concat_esc(gap, exp_str);
+ if (atype != ASSERT_NOTEQUAL)
+ {
+ if (atype == ASSERT_MATCH)
+ ga_concat(gap, (char_u *)" does not match ");
+ else if (atype == ASSERT_NOTMATCH)
+ ga_concat(gap, (char_u *)" does match ");
else
- ga_concat_esc(gap, exp_str);
- if (atype != ASSERT_NOTEQUAL)
- {
- if (atype == ASSERT_MATCH)
- ga_concat(gap, (char_u *)" does not match ");
- else if (atype == ASSERT_NOTMATCH)
- ga_concat(gap, (char_u *)" does match ");
- else
- ga_concat(gap, (char_u *)" but got ");
- ga_concat_esc(gap, tv2string(got_tv, &tofree, numbuf, 0));
- vim_free(tofree);
- }
+ ga_concat(gap, (char_u *)" but got ");
+ ga_concat_esc(gap, tv2string(got_tv, &tofree, numbuf, 0));
+ vim_free(tofree);
}
}