summaryrefslogtreecommitdiff
path: root/MLKInterpreter.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-06-27 23:53:25 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-06-27 23:53:25 +0200
commit05fc2a9fd9326bd059681b7684a74e1ad1de1ec6 (patch)
treed01fa6dbe3881f44ea6145cf79c007b12b585c8d /MLKInterpreter.m
parent7ad928e57d7ed8818040327a31b7dad5ec04ec10 (diff)
MLKInterpreter: Fix macro support.
Diffstat (limited to 'MLKInterpreter.m')
-rw-r--r--MLKInterpreter.m9
1 files changed, 6 insertions, 3 deletions
diff --git a/MLKInterpreter.m b/MLKInterpreter.m
index 35ea2ad..f56e750 100644
--- a/MLKInterpreter.m
+++ b/MLKInterpreter.m
@@ -368,9 +368,12 @@ static MLKSymbol *_LAMBDA;
else if ([context symbolNamesMacro:car])
{
id macrofun = [context macroForSymbol:car];
- id expansion = [macrofun applyToArray:
- [NSArray arrayWithObjects:
- program, context, nil]];
+ id expansion = denullify([[macrofun
+ applyToArray:
+ [NSArray arrayWithObjects:
+ program, context, nil]]
+ objectAtIndex:0]);
+;
return [self eval:expansion
inLexicalContext:context
withEnvironment:lexenv];