]> granicus.if.org Git - vim/commitdiff
Fix: Lua interface tried to load the library when closing a buffer or window.
authorBram Moolenaar <Bram@vim.org>
Thu, 12 Aug 2010 20:14:01 +0000 (22:14 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 12 Aug 2010 20:14:01 +0000 (22:14 +0200)
src/if_lua.c

index 21f66e9bf211f6c0467f9aa441a45a4834aafecb..35ee3002c66bf7e605d3910c4f839efa7a83fb0c 100644 (file)
@@ -1122,6 +1122,12 @@ luaV_setrange(lua_State *L, int line1, int line2)
 
 static lua_State *L = NULL;
 
+    static int
+lua_is_open(void)
+{
+    return L != NULL;
+}
+
     static int
 lua_init(void)
 {
@@ -1240,7 +1246,7 @@ ex_luafile(exarg_T *eap)
     void
 lua_buffer_free(buf_T *buf)
 {
-    if (lua_init() == FAIL) return;
+    if (!lua_is_open()) return;
     luaV_getfield(L, LUAVIM_FREE);
     lua_pushlightuserdata(L, (void *) buf);
     lua_call(L, 1, 0);
@@ -1250,7 +1256,7 @@ lua_buffer_free(buf_T *buf)
     void
 lua_window_free(win_T *win)
 {
-    if (lua_init() == FAIL) return;
+    if (!lua_is_open()) return;
     luaV_getfield(L, LUAVIM_FREE);
     lua_pushlightuserdata(L, (void *) win);
     lua_call(L, 1, 0);