From 520e1e41f35b063ede63b41738c82d6636e78c34 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 23 Jan 2016 19:46:28 +0100 Subject: patch 7.4.1154 Problem: No support for JSON. Solution: Add jsonencode() and jsondecode(). Also add v:false, v:true, v:null and v:none. --- src/if_lua.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/if_lua.c') diff --git a/src/if_lua.c b/src/if_lua.c index 46f881a9bd..1c8512fec5 100644 --- a/src/if_lua.c +++ b/src/if_lua.c @@ -499,6 +499,12 @@ luaV_pushtypval(lua_State *L, typval_T *tv) case VAR_DICT: luaV_pushdict(L, tv->vval.v_dict); break; + case VAR_SPECIAL: + if (tv->vval.v_number <= VVAL_TRUE) + lua_pushinteger(L, (int) tv->vval.v_number); + else + lua_pushnil(L); + break; default: lua_pushnil(L); } @@ -510,7 +516,7 @@ luaV_totypval (lua_State *L, int pos, typval_T *tv) { switch(lua_type(L, pos)) { case LUA_TBOOLEAN: - tv->v_type = VAR_NUMBER; + tv->v_type = VAR_SPECIAL; tv->vval.v_number = (varnumber_T) lua_toboolean(L, pos); break; case LUA_TSTRING: -- cgit v1.2.3