some safety checks
This commit is contained in:
+2
-2
@@ -151,11 +151,11 @@ namespace Memory {
|
|||||||
next_free_spot_in_string_memory = string_memory;
|
next_free_spot_in_string_memory = string_memory;
|
||||||
|
|
||||||
// init nil
|
// init nil
|
||||||
try nil = create_lisp_object();
|
try_void nil = create_lisp_object();
|
||||||
set_type(nil, Lisp_Object_Type::Nil);
|
set_type(nil, Lisp_Object_Type::Nil);
|
||||||
|
|
||||||
// init t
|
// init t
|
||||||
try t = create_lisp_object();
|
try_void t = create_lisp_object();
|
||||||
set_type(t, Lisp_Object_Type::T);
|
set_type(t, Lisp_Object_Type::T);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -275,11 +275,14 @@ namespace Parser {
|
|||||||
try ret = Memory::create_lisp_object_pair(
|
try ret = Memory::create_lisp_object_pair(
|
||||||
Memory::get_or_create_lisp_object_symbol("quasiquote"),
|
Memory::get_or_create_lisp_object_symbol("quasiquote"),
|
||||||
Memory::create_lisp_object_pair(result, Memory::nil));
|
Memory::create_lisp_object_pair(result, Memory::nil));
|
||||||
else if (quoteType == ',')
|
else if (quoteType == ',') {
|
||||||
try ret = Memory::create_lisp_object_pair(
|
try ret = Memory::create_lisp_object_pair(
|
||||||
Memory::get_or_create_lisp_object_symbol("unquote"),
|
Memory::get_or_create_lisp_object_symbol("unquote"),
|
||||||
Memory::create_lisp_object_pair(result, Memory::nil));
|
Memory::create_lisp_object_pair(result, Memory::nil));
|
||||||
|
}
|
||||||
|
if (ret) {
|
||||||
inject_scl(ret);
|
inject_scl(ret);
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user