aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorluukvbaal <luukvbaal@gmail.com>2025-03-19 19:04:08 +0100
committerGitHub <noreply@github.com>2025-03-19 11:04:08 -0700
commit51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b (patch)
tree8c4c8d4ae79874bf2b3ebbce9e4b682da71d1cb5 /src/nvim/eval/funcs.c
parentc48cf1875225310feb8d656cf42c5d817b7e150e (diff)
downloadrneovim-51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b.tar.gz
rneovim-51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b.tar.bz2
rneovim-51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b.zip
fix(messages): incorrect error message splitting and kind #32990
Problem: Message kind logic for emitting an error message is convoluted and still results in emitting an unfinished message earlier than wanted. Solution: Ensure emsg_multiline() always sets the kind wanted by the caller and doesn't isn't unset to logic for emitting the source message. Caller is responsible for making sure multiple message chunks are not emitted as multiple events by setting `msg_ext_skip_flush`...
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 03713aa262..edb77778a3 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -368,7 +368,7 @@ static void api_wrapper(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
Object result = handler.fn(VIML_INTERNAL_CALL, args, &arena, &err);
if (ERROR_SET(&err)) {
- semsg_multiline(e_api_error, err.msg);
+ semsg_multiline("emsg", e_api_error, err.msg);
goto end;
}
@@ -6414,12 +6414,11 @@ static void f_rpcrequest(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
if (chan) {
name = get_client_info(chan, "name");
}
- msg_ext_set_kind("rpc_error");
if (name) {
- semsg_multiline("Error invoking '%s' on channel %" PRIu64 " (%s):\n%s",
+ semsg_multiline("rpc_error", "Error invoking '%s' on channel %" PRIu64 " (%s):\n%s",
method, chan_id, name, err.msg);
} else {
- semsg_multiline("Error invoking '%s' on channel %" PRIu64 ":\n%s",
+ semsg_multiline("rpc_error", "Error invoking '%s' on channel %" PRIu64 ":\n%s",
method, chan_id, err.msg);
}