some safety checks

This commit is contained in:
Felix Brendel
2019-05-03 15:01:29 +02:00
parent c8807a04b2
commit 0923f36f9c
2 changed files with 7 additions and 4 deletions
+2 -2
View File
@@ -151,11 +151,11 @@ namespace Memory {
next_free_spot_in_string_memory = string_memory;
// init nil
try nil = create_lisp_object();
try_void nil = create_lisp_object();
set_type(nil, Lisp_Object_Type::Nil);
// init t
try t = create_lisp_object();
try_void t = create_lisp_object();
set_type(t, Lisp_Object_Type::T);
}
+5 -2
View File
@@ -275,11 +275,14 @@ namespace Parser {
try ret = Memory::create_lisp_object_pair(
Memory::get_or_create_lisp_object_symbol("quasiquote"),
Memory::create_lisp_object_pair(result, Memory::nil));
else if (quoteType == ',')
else if (quoteType == ',') {
try ret = Memory::create_lisp_object_pair(
Memory::get_or_create_lisp_object_symbol("unquote"),
Memory::create_lisp_object_pair(result, Memory::nil));
inject_scl(ret);
}
if (ret) {
inject_scl(ret);
}
return ret;
}