aboutsummaryrefslogtreecommitdiff
path: root/scripts/genmsgpack.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-01-21 00:59:13 +0300
committerZyX <kp-pav@yandex.ru>2017-03-27 00:12:22 +0300
commit600bee9d4fa22ab914175a9edf82bb3503f47cda (patch)
treeb37623c280015779723dd52ef5f5a42f3baec45a /scripts/genmsgpack.lua
parent45feaa73d0759858a9a4454037fe4a41ea97e5b9 (diff)
downloadrneovim-600bee9d4fa22ab914175a9edf82bb3503f47cda.tar.gz
rneovim-600bee9d4fa22ab914175a9edf82bb3503f47cda.tar.bz2
rneovim-600bee9d4fa22ab914175a9edf82bb3503f47cda.zip
genmsgpack: Include error source in error messages
Diffstat (limited to 'scripts/genmsgpack.lua')
-rw-r--r--scripts/genmsgpack.lua14
1 files changed, 5 insertions, 9 deletions
diff --git a/scripts/genmsgpack.lua b/scripts/genmsgpack.lua
index aed56b29eb..2a7cb4bacf 100644
--- a/scripts/genmsgpack.lua
+++ b/scripts/genmsgpack.lua
@@ -393,8 +393,7 @@ local function process_function(fn)
Error err = {.set = false};
if (lua_gettop(lstate) != %i) {
api_set_error(&err, Validation, "Expected %i argument%s");
- lua_pushstring(lstate, err.msg);
- return lua_error(lstate);
+ return luaL_error(lstate, "%%s", err.msg);
}
]], lua_c_function_name, #fn.parameters, #fn.parameters,
(#fn.parameters == 1) and '' or 's'))
@@ -414,8 +413,7 @@ local function process_function(fn)
if (err.set) {
%s
- lua_pushstring(lstate, err.msg);
- return lua_error(lstate);
+ return luaL_error(lstate, "%%s", err.msg);
}
]], param[1], cparam, param_type, table.concat(free_code, '\n ')))
free_code[#free_code + 1] = ('api_free_%s(%s);'):format(lc_param_type, cparam)
@@ -440,8 +438,7 @@ local function process_function(fn)
const %s ret = %s(%s);
%s
if (err.set) {
- lua_pushstring(lstate, err.msg);
- return lua_error(lstate);
+ return luaL_error(lstate, "%%s", err.msg);
}
nlua_push_%s(lstate, ret);
api_free_%s(ret);
@@ -453,8 +450,7 @@ local function process_function(fn)
%s(%s);
%s
if (err.set) {
- lua_pushstring(lstate, err.msg);
- return lua_error(lstate);
+ return luaL_error(lstate, "%%s", err.msg);
}
return 0;
]], fn.name, cparams, free_at_exit_code))
@@ -465,7 +461,7 @@ local function process_function(fn)
end
for _, fn in ipairs(functions) do
- if not fn.noeval then
+ if not fn.noeval or fn.name:sub(1, 4) == '_vim' then
process_function(fn)
end
end