From fe08df452af10db8a24dbeb1bd9ef09492a4bc66 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 7 Jul 2018 23:07:41 +0200 Subject: patch 8.1.0164: luaeval('vim.buffer().name') returns an error Problem: luaeval('vim.buffer().name') returns an error. Solution: Return an empty string. (Dominique Pelle, closes #3167) --- src/if_lua.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/if_lua.c') diff --git a/src/if_lua.c b/src/if_lua.c index df0ef3454..f0d5a4d04 100644 --- a/src/if_lua.c +++ b/src/if_lua.c @@ -1123,9 +1123,11 @@ luaV_buffer_index(lua_State *L) { const char *s = lua_tostring(L, 2); if (strncmp(s, "name", 4) == 0) - lua_pushstring(L, (char *) b->b_sfname); + lua_pushstring(L, (b->b_sfname == NULL) + ? "" : (char *) b->b_sfname); else if (strncmp(s, "fname", 5) == 0) - lua_pushstring(L, (char *) b->b_ffname); + lua_pushstring(L, (b->b_ffname == NULL) + ? "" : (char *) b->b_ffname); else if (strncmp(s, "number", 6) == 0) lua_pushinteger(L, b->b_fnum); /* methods */ -- cgit v1.2.1