From 2bd6a1b54225a49e1b446201c7143cc766a7cf19 Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Thu, 12 Aug 2010 22:14:01 +0200
Subject: [PATCH] Fix: Lua interface tried to load the library when closing a
 buffer or window.

---
 src/if_lua.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/if_lua.c b/src/if_lua.c
index 21f66e9bf2..35ee3002c6 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -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);
-- 
GitLab