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},

Raspunde prin e-mail lui