summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-06-25 18:20:19 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-06-25 18:20:19 +0200
commit01703b9a42e4dac6ae83127ba8fc224e6f581c92 (patch)
tree7fca21fd21f056ed6e84b03c5c489e31090e1474
parent1ffc06e81dba3bd1ca7853569e70bb492bfd2e5d (diff)
Fix a crash upon looking up declarations in the lexical context.
-rw-r--r--MLKInterpreter.m2
-rw-r--r--MLKLexicalContext.m2
2 files changed, 2 insertions, 2 deletions
diff --git a/MLKInterpreter.m b/MLKInterpreter.m
index fdba4be..79b8794 100644
--- a/MLKInterpreter.m
+++ b/MLKInterpreter.m
@@ -151,7 +151,7 @@ static MLKSymbol *_DEFMACRO;
if ([[body car] isKindOfClass:[MLKCons class]]
&& [[body car] car] == DECLARE)
{
- declarations = [body car];
+ declarations = [[body car] cdr];
body = [body cdr];
}
else
diff --git a/MLKLexicalContext.m b/MLKLexicalContext.m
index eb0afed..85539f1 100644
--- a/MLKLexicalContext.m
+++ b/MLKLexicalContext.m
@@ -172,7 +172,7 @@ static MLKSymbol *LEXICAL;
while (rest)
{
id item = [rest car];
- if ([[item cdr] car] == symbol)
+ if ([item isKindOfClass:[MLKCons class]] && [[item cdr] car] == symbol)
{
if ([item car] == LEXICAL)
return YES;