On Tuesday, February 3, 2015 at 3:14:13 PM UTC-6, Ozaki Kiichi wrote:
> This patch drops "return 0;" from luaV_setref (if_lua.c:1549) against 
> return-type.
> Its change seems to cause trouble with lua, especially luajit.
> 
> Actually I encountered SEGV problem;
> 
> [environment]
> * vim +lua with luajit
> * Ubuntu 14.04 x86_64 / CentOS 7 x86_64 / OS X 10.10.2
> 
> [repro steps]
> vim -u NONE -i NONE -N
> :lua do end
> 
> after a few seconds, SEGV occurs.

Hmm, I don't think I removed that on purpose, but it looks like it is 
definitely removed in the patch I sent.

Odd that it didn't crash for me during my Windows testing. Maybe LUA acts 
differently on Linux for that function. Or maybe on Windows there is an 
implicit "return 0" inserted by the compiler or something.

I don't use LUA personally, and struggled to write that portion of the patch. 
But I think the return statement can be restored leaving the rest of the patch 
intact. If I understand correctly only the lua_pushinteger call is needed to 
return the "abort" value as intended.

Probably what happened is I started by returning the value directly, and it 
didn't work, so by mistake I replaced it with the lua_pushinteger rather than 
keeping both.

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui