forked from aniani/vim
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.
This commit is contained in:
@@ -3084,6 +3084,14 @@ vim_to_mzscheme_impl(typval_T *vim_value, int depth, Scheme_Hash_Table *visited)
|
||||
|
||||
MZ_GC_UNREG();
|
||||
}
|
||||
else if (vim_value->v_type == VAR_SPECIAL)
|
||||
{
|
||||
if (vim_value->vval.v_number <= VVAL_TRUE)
|
||||
result = scheme_make_integer((long)vim_value->vval.v_number);
|
||||
else
|
||||
result = scheme_null;
|
||||
MZ_GC_CHECK();
|
||||
}
|
||||
else
|
||||
{
|
||||
result = scheme_void;
|
||||
@@ -3148,8 +3156,8 @@ mzscheme_to_vim_impl(Scheme_Object *obj, typval_T *tv, int depth,
|
||||
copy_tv(found, tv);
|
||||
else if (SCHEME_VOIDP(obj))
|
||||
{
|
||||
tv->v_type = VAR_NUMBER;
|
||||
tv->vval.v_number = 0;
|
||||
tv->v_type = VAR_SPECIAL;
|
||||
tv->vval.v_number = VVAL_NULL;
|
||||
}
|
||||
else if (SCHEME_INTP(obj))
|
||||
{
|
||||
@@ -3158,7 +3166,7 @@ mzscheme_to_vim_impl(Scheme_Object *obj, typval_T *tv, int depth,
|
||||
}
|
||||
else if (SCHEME_BOOLP(obj))
|
||||
{
|
||||
tv->v_type = VAR_NUMBER;
|
||||
tv->v_type = VAR_SPECIAL;
|
||||
tv->vval.v_number = SCHEME_TRUEP(obj);
|
||||
}
|
||||
# ifdef FEAT_FLOAT
|
||||
|
Reference in New Issue
Block a user