diff options
| author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-06-27 23:53:25 +0200 | 
|---|---|---|
| committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-06-27 23:53:25 +0200 | 
| commit | 05fc2a9fd9326bd059681b7684a74e1ad1de1ec6 (patch) | |
| tree | d01fa6dbe3881f44ea6145cf79c007b12b585c8d /MLKInterpreter.m | |
| parent | 7ad928e57d7ed8818040327a31b7dad5ec04ec10 (diff) | |
MLKInterpreter: Fix macro support.
Diffstat (limited to 'MLKInterpreter.m')
| -rw-r--r-- | MLKInterpreter.m | 9 | 
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];  | 
