On Saturday, June 27, 2015 at 2:19:21 AM UTC+8, Bram Moolenaar wrote:
> KF Leong wrote:
>
> > On Friday, June 26, 2015 at 12:28:05 AM UTC+8, Bram Moolenaar wrote:
> > > Patch 7.4.759
> > > Problem: Building with Lua 5.3 doesn't work, symbols have changed.
> > > Solution: Use the new names for the new version. (Felix Schnizlein)
> > > Files: src/if_lua.c
> >
> > [...]
> >
> > This patch causes linking failure with linking failure on LuaJIT
> > 2.0.3/2.0.4 with LUA_VERSION_NUM as 501.
> >
> > Attached patch fix the link issues with lua_replace & lua_remove.
>
> Thanks, I'll include it. However, now some lines are duplicated,
> I'll move them around a bit.
>
> Do you also have a solution for the other problem reported for if_lua?
>
Updated patch attached. I have tested the patch with Lua 5.1 (LuaJIT
2.0.3/2.0.4), Lua 5.23 & Lua 5.3.
Hopefully more people can test the patch before inclusion into main line.
KF
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
# HG changeset patch
# User kfleong
# Date 1435400049 -28800
# Sat Jun 27 18:14:09 2015 +0800
# Node ID 0732d516874b73aa8800d2c8b48d376f27273dc7
# Parent eee665ebb036cff5a5d82b31e4853ad55e9eb7f8
[mq]: if_lua-fix759-patch
diff --git a/src/if_lua.c b/src/if_lua.c
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -111,12 +111,7 @@
#define lua_tointeger dll_lua_tointeger
#define lua_call dll_lua_call
#define lua_pcall dll_lua_pcall
-
-#elif LUA_VERSION_NUM <= 502
-#define lua_replace dll_lua_replace
-#define lua_remove dll_lua_remove
#else
-#define lua_rotate dll_lua_rotate
#define lua_tonumberx dll_lua_tonumberx
#define lua_tointegerx dll_lua_tointegerx
#define lua_callk dll_lua_callk
@@ -124,12 +119,19 @@
#define lua_getglobal dll_lua_getglobal
#define lua_setglobal dll_lua_setglobal
#endif
+#if LUA_VERSION_NUM <= 502
+#define lua_replace dll_lua_replace
+#define lua_remove dll_lua_remove
+#endif
+#if LUA_VERSION_NUM >= 503
+#define lua_rotate dll_lua_rotate
+#define lua_copy dll_lua_copy
+#endif
#define lua_typename dll_lua_typename
#define lua_close dll_lua_close
#define lua_gettop dll_lua_gettop
#define lua_settop dll_lua_settop
#define lua_pushvalue dll_lua_pushvalue
-#define lua_copy dll_lua_copy
#define lua_isnumber dll_lua_isnumber
#define lua_isstring dll_lua_isstring
#define lua_type dll_lua_type
@@ -199,12 +201,7 @@
lua_Integer (*dll_lua_tointeger) (lua_State *L, int idx);
void (*dll_lua_call) (lua_State *L, int nargs, int nresults);
int (*dll_lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
-#elif LUA_VERSION_NUM <= 502
-void (*dll_lua_replace) (lua_State *L, int idx);
-void (*dll_lua_remove) (lua_State *L, int idx);
#else
-
-void (*dll_lua_rotate) (lua_State *L, int idx, int n);
lua_Number (*dll_lua_tonumberx) (lua_State *L, int idx, int *isnum);
lua_Integer (*dll_lua_tointegerx) (lua_State *L, int idx, int *isnum);
void (*dll_lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
@@ -213,6 +210,13 @@
int ctx, lua_CFunction k);
void (*dll_lua_getglobal) (lua_State *L, const char *var);
void (*dll_lua_setglobal) (lua_State *L, const char *var);
+#endif
+#if LUA_VERSION_NUM <= 502
+void (*dll_lua_replace) (lua_State *L, int idx);
+void (*dll_lua_remove) (lua_State *L, int idx);
+#endif
+#if LUA_VERSION_NUM >= 503
+void (*dll_lua_rotate) (lua_State *L, int idx, int n);
void (*dll_lua_copy) (lua_State *L, int fromidx, int toidx);
#endif
const char *(*dll_lua_typename) (lua_State *L, int tp);
@@ -296,12 +300,7 @@
{"lua_tointeger", (luaV_function) &dll_lua_tointeger},
{"lua_call", (luaV_function) &dll_lua_call},
{"lua_pcall", (luaV_function) &dll_lua_pcall},
-#elif LUA_VERSION_NUM <= 502
- {"lua_replace", (luaV_function) &dll_lua_replace},
- {"lua_remove", (luaV_function) &dll_lua_remove},
#else
- {"lua_rotate", (luaV_function) &dll_lua_rotate},
- {"lua_copy", (luaV_function) &dll_lua_copy},
{"lua_tonumberx", (luaV_function) &dll_lua_tonumberx},
{"lua_tointegerx", (luaV_function) &dll_lua_tointegerx},
{"lua_callk", (luaV_function) &dll_lua_callk},
@@ -309,6 +308,14 @@
{"lua_getglobal", (luaV_function) &dll_lua_getglobal},
{"lua_setglobal", (luaV_function) &dll_lua_setglobal},
#endif
+#if LUA_VERSION_NUM <= 502
+ {"lua_replace", (luaV_function) &dll_lua_replace},
+ {"lua_remove", (luaV_function) &dll_lua_remove},
+#endif
+#if LUA_VERSION_NUM >= 503
+ {"lua_rotate", (luaV_function) &dll_lua_rotate},
+ {"lua_copy", (luaV_function) &dll_lua_copy},
+#endif
{"lua_typename", (luaV_function) &dll_lua_typename},
{"lua_close", (luaV_function) &dll_lua_close},
{"lua_gettop", (luaV_function) &dll_lua_gettop},