aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Walch <florian@fwalch.com>2016-06-02 01:14:09 +0200
committerJustin M. Keyes <justinkz@gmail.com>2016-06-01 19:14:09 -0400
commit634d59f6461953eae6befa72c909d68ac621a39b (patch)
tree797e51214cd6f853ae902501c6e3774bd170d2bc
parent568da8ef3b6578e34732a697e621847980487352 (diff)
downloadrneovim-634d59f6461953eae6befa72c909d68ac621a39b.tar.gz
rneovim-634d59f6461953eae6befa72c909d68ac621a39b.tar.bz2
rneovim-634d59f6461953eae6befa72c909d68ac621a39b.zip
msgpack-gen: Fix for Lua 5.1. (#4857)
goto statement was only introduced in Lua 5.2.
-rw-r--r--scripts/msgpack-gen.lua34
1 files changed, 16 insertions, 18 deletions
diff --git a/scripts/msgpack-gen.lua b/scripts/msgpack-gen.lua
index 190af636dc..2da3c174f9 100644
--- a/scripts/msgpack-gen.lua
+++ b/scripts/msgpack-gen.lua
@@ -45,7 +45,7 @@ grammar = Ct((c_proto + c_comment + c_preproc + ws) ^ 1)
assert(#arg >= 1)
functions = {}
--- names of all headers relative to the source root(for inclusion in the
+-- names of all headers relative to the source root (for inclusion in the
-- generated file)
headers = {}
-- output file(dispatch function + metadata serialized with msgpack)
@@ -64,24 +64,22 @@ for i = 1, #arg - 1 do
local tmp = grammar:match(input:read('*all'))
for i = 1, #tmp do
local fn = tmp[i]
- if fn.noexport then
- goto continue
- end
- functions[#functions + 1] = tmp[i]
- if #fn.parameters ~= 0 and fn.parameters[1][2] == 'channel_id' then
- -- this function should receive the channel id
- fn.receives_channel_id = true
- -- remove the parameter since it won't be passed by the api client
- table.remove(fn.parameters, 1)
- end
- if #fn.parameters ~= 0 and fn.parameters[#fn.parameters][1] == 'error' then
- -- function can fail if the last parameter type is 'Error'
- fn.can_fail = true
- -- remove the error parameter, msgpack has it's own special field
- -- for specifying errors
- fn.parameters[#fn.parameters] = nil
+ if not fn.noexport then
+ functions[#functions + 1] = tmp[i]
+ if #fn.parameters ~= 0 and fn.parameters[1][2] == 'channel_id' then
+ -- this function should receive the channel id
+ fn.receives_channel_id = true
+ -- remove the parameter since it won't be passed by the api client
+ table.remove(fn.parameters, 1)
+ end
+ if #fn.parameters ~= 0 and fn.parameters[#fn.parameters][1] == 'error' then
+ -- function can fail if the last parameter type is 'Error'
+ fn.can_fail = true
+ -- remove the error parameter, msgpack has it's own special field
+ -- for specifying errors
+ fn.parameters[#fn.parameters] = nil
+ end
end
- ::continue::
end
input:close()
end