Permalink
Browse files

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)
  • Loading branch information...
brammool committed Jul 7, 2018
1 parent 2549acf commit fe08df452af10db8a24dbeb1bd9ef09492a4bc66
Showing with 8 additions and 7 deletions.
  1. +4 −2 src/if_lua.c
  2. +2 −5 src/testdir/test_lua.vim
  3. +2 −0 src/version.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 */
@@ -198,11 +198,8 @@ endfunc
" Test vim.buffer().name and vim.buffer().fname
func Test_buffer_name()
new
" FIXME: for an unnamed buffer, I would expect
" vim.buffer().name to give an empty string, but
" it returns 0. Is it a bug?
" so this assert_equal is commented out.
" call assert_equal('', luaeval('vim.buffer().name'))
call assert_equal('', luaeval('vim.buffer().name'))
call assert_equal('', luaeval('vim.buffer().fname'))
bwipe!

new Xfoo
@@ -789,6 +789,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
164,
/**/
163,
/**/

0 comments on commit fe08df4

Please sign in to comment.