diff options
author | luukvbaal <luukvbaal@gmail.com> | 2025-03-19 19:04:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-19 11:04:08 -0700 |
commit | 51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b (patch) | |
tree | 8c4c8d4ae79874bf2b3ebbce9e4b682da71d1cb5 /src/nvim/lua/executor.c | |
parent | c48cf1875225310feb8d656cf42c5d817b7e150e (diff) | |
download | rneovim-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/lua/executor.c')
-rw-r--r-- | src/nvim/lua/executor.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c index 724a3d77e6..49ff5679e2 100644 --- a/src/nvim/lua/executor.c +++ b/src/nvim/lua/executor.c @@ -160,8 +160,7 @@ void nlua_error(lua_State *const lstate, const char *const msg) fprintf(stderr, msg, (int)len, str); fprintf(stderr, "\n"); } else { - msg_ext_set_kind("lua_error"); - semsg_multiline(msg, (int)len, str); + semsg_multiline("lua_error", msg, (int)len, str); } lua_pop(lstate, 1); @@ -191,16 +190,15 @@ static void nlua_luv_error_event(void **argv) { char *error = (char *)argv[0]; luv_err_t type = (luv_err_t)(intptr_t)argv[1]; - msg_ext_set_kind("lua_error"); switch (type) { case kCallback: - semsg_multiline("Error executing callback:\n%s", error); + semsg_multiline("lua_error", "Error executing callback:\n%s", error); break; case kThread: - semsg_multiline("Error in luv thread:\n%s", error); + semsg_multiline("lua_error", "Error in luv thread:\n%s", error); break; case kThreadCallback: - semsg_multiline("Error in luv callback, thread:\n%s", error); + semsg_multiline("lua_error", "Error in luv callback, thread:\n%s", error); break; default: break; |