mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.1908: Lua is initialized even when not used
Problem: Lua is initialized even when not used. Solution: Put lua_init() after check for "eap->skip". (Christian Brabandt, closes #7191). Avoid compiler warnings.
This commit is contained in:
parent
f9d51354de
commit
c8970b9464
19
src/if_lua.c
19
src/if_lua.c
@ -33,7 +33,7 @@ typedef struct {
|
||||
char_u *name; // funcref
|
||||
dict_T *self; // selfdict
|
||||
} luaV_Funcref;
|
||||
typedef void (*msgfunc_T)(char_u *);
|
||||
typedef int (*msgfunc_T)(char *);
|
||||
|
||||
typedef struct {
|
||||
int lua_funcref; // ref to a lua func
|
||||
@ -788,11 +788,11 @@ luaV_msgfunc(lua_State *L, msgfunc_T mf)
|
||||
{
|
||||
if (*p++ == '\0') // break?
|
||||
{
|
||||
mf((char_u *) s);
|
||||
mf((char *)s);
|
||||
s = p;
|
||||
}
|
||||
}
|
||||
mf((char_u *) s);
|
||||
mf((char *)s);
|
||||
lua_pop(L, 2); // original and modified strings
|
||||
}
|
||||
|
||||
@ -2372,18 +2372,19 @@ lua_end(void)
|
||||
void
|
||||
ex_lua(exarg_T *eap)
|
||||
{
|
||||
char *script;
|
||||
if (lua_init() == FAIL) return;
|
||||
script = (char *) script_get(eap, eap->arg);
|
||||
if (!eap->skip)
|
||||
char *script = (char *)script_get(eap, eap->arg);
|
||||
|
||||
if (!eap->skip && lua_init() == OK)
|
||||
{
|
||||
char *s = (script) ? script : (char *) eap->arg;
|
||||
char *s = script != NULL ? script : (char *)eap->arg;
|
||||
|
||||
luaV_setrange(L, eap->line1, eap->line2);
|
||||
if (luaL_loadbuffer(L, s, strlen(s), LUAVIM_CHUNKNAME)
|
||||
|| lua_pcall(L, 0, 0, 0))
|
||||
luaV_emsg(L);
|
||||
}
|
||||
if (script != NULL) vim_free(script);
|
||||
if (script != NULL)
|
||||
vim_free(script);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1,6 +1,14 @@
|
||||
" Tests for Lua.
|
||||
|
||||
source check.vim
|
||||
|
||||
" This test also works without the lua feature.
|
||||
func Test_skip_lua()
|
||||
if 0
|
||||
lua print("Not executed")
|
||||
endif
|
||||
endfunc
|
||||
|
||||
CheckFeature lua
|
||||
CheckFeature float
|
||||
|
||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1908,
|
||||
/**/
|
||||
1907,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user