eval: Remove get_vim_var_tv function

This commit is contained in:
ZyX
2016-02-06 02:36:07 +03:00
parent e303ea8a19
commit a3b87fc19b
2 changed files with 27 additions and 17 deletions

View File

@@ -17060,18 +17060,6 @@ long get_vim_var_nr(int idx) FUNC_ATTR_PURE
return vimvars[idx].vv_nr; return vimvars[idx].vv_nr;
} }
/// Get typval_T representing v: variable
///
/// @warning if v: variable has reference counter it is not increased.
///
/// @param[in] idx Variable index, @see VimVarIndex.
typval_T get_vim_var_tv(VimVarIndex idx) FUNC_ATTR_PURE
{
typval_T ret = vimvars[idx].vv_di.di_tv;
ret.v_lock = VAR_UNLOCKED;
return ret;
}
/* /*
* Get string v: variable value. Uses a static buffer, can only be used once. * Get string v: variable value. Uses a static buffer, can only be used once.
*/ */

View File

@@ -336,7 +336,11 @@ json_decode_string_cycle_start:
goto json_decode_string_fail; goto json_decode_string_fail;
} }
p += 3; p += 3;
POP(get_vim_var_tv(VV_NULL), false); POP(((typval_T) {
.v_type = VAR_SPECIAL,
.v_lock = VAR_UNLOCKED,
.vval = { .v_special = kSpecialVarNull },
}), false);
break; break;
} }
case 't': { case 't': {
@@ -345,7 +349,11 @@ json_decode_string_cycle_start:
goto json_decode_string_fail; goto json_decode_string_fail;
} }
p += 3; p += 3;
POP(get_vim_var_tv(VV_TRUE), false); POP(((typval_T) {
.v_type = VAR_SPECIAL,
.v_lock = VAR_UNLOCKED,
.vval = { .v_special = kSpecialVarTrue },
}), false);
break; break;
} }
case 'f': { case 'f': {
@@ -354,7 +362,11 @@ json_decode_string_cycle_start:
goto json_decode_string_fail; goto json_decode_string_fail;
} }
p += 4; p += 4;
POP(get_vim_var_tv(VV_FALSE), false); POP(((typval_T) {
.v_type = VAR_SPECIAL,
.v_lock = VAR_UNLOCKED,
.vval = { .v_special = kSpecialVarFalse },
}), false);
break; break;
} }
case '"': { case '"': {
@@ -716,11 +728,21 @@ int msgpack_to_vim(const msgpack_object mobj, typval_T *const rettv)
{ {
switch (mobj.type) { switch (mobj.type) {
case MSGPACK_OBJECT_NIL: { case MSGPACK_OBJECT_NIL: {
*rettv = get_vim_var_tv(VV_NULL); *rettv = (typval_T) {
.v_type = VAR_SPECIAL,
.v_lock = VAR_UNLOCKED,
.vval = { .v_special = kSpecialVarNull },
};
break; break;
} }
case MSGPACK_OBJECT_BOOLEAN: { case MSGPACK_OBJECT_BOOLEAN: {
*rettv = get_vim_var_tv(mobj.via.boolean ? VV_TRUE : VV_FALSE); *rettv = (typval_T) {
.v_type = VAR_SPECIAL,
.v_lock = VAR_UNLOCKED,
.vval = {
.v_special = mobj.via.boolean ? kSpecialVarTrue : kSpecialVarFalse
},
};
break; break;
} }
case MSGPACK_OBJECT_POSITIVE_INTEGER: { case MSGPACK_OBJECT_POSITIVE_INTEGER: {