diff options
-rw-r--r-- | MLKInterpreter.m | 29 | ||||
-rw-r--r-- | MLKReadEvalPrintLoop.m | 6 |
2 files changed, 24 insertions, 11 deletions
diff --git a/MLKInterpreter.m b/MLKInterpreter.m index 9612ad4..f85bf21 100644 --- a/MLKInterpreter.m +++ b/MLKInterpreter.m @@ -173,24 +173,31 @@ { NSArray *values; -#define TRACE_EVAL 0 -#if TRACE_EVAL +#if 0 BOOL trace = NO; - //if ([dynamicContext valueForSymbol:V_INITP]) // trace = YES; //if (trace) - NSLog (@"; EVAL: %@", MLKPrintToString(_form)); -#endif // TRACE_EVAL - + NSLog (@"; EVAL END: %@", MLKPrintToString(_form)); values = [self reallyInterpretWithEnvironment:env]; - -#if TRACE_EVAL //if (trace) - NSLog (@"; EVAL END: %@", MLKPrintToString(_form)); -#endif // TRACE_EVAL - + NSLog (@"; EVAL: %@", MLKPrintToString(_form)); +#elif 1 + NS_DURING + { + values = [self reallyInterpretWithEnvironment:env]; + } + NS_HANDLER + { + NSLog (@"; BROKEN EVAL: %@", MLKPrintToString(_form)); + [localException raise]; + } + NS_ENDHANDLER; +#else + values = [self reallyInterpretWithEnvironment:env]; +#endif + return values; } diff --git a/MLKReadEvalPrintLoop.m b/MLKReadEvalPrintLoop.m index 53943bc..de2f4f1 100644 --- a/MLKReadEvalPrintLoop.m +++ b/MLKReadEvalPrintLoop.m @@ -98,8 +98,10 @@ static const char *prompt (EditLine *e) { pool = [[NSAutoreleasePool alloc] init]; printf ("Loading init.lisp.\n"); +#if 1 NS_DURING { +#endif input = [NSInputStream inputStreamWithFileAtPath:@"init.lisp"]; stream = LAUTORELEASE ([[MLKStream alloc] initWithInputStream:input]); @@ -107,6 +109,7 @@ static const char *prompt (EditLine *e) { [MLKInterpreter load:stream verbose:YES print:YES]; success = [MLKInterpreter load:stream verbose:YES print:YES]; [input close]; +#if 1 } NS_HANDLER { @@ -115,6 +118,7 @@ static const char *prompt (EditLine *e) { [[localException reason] UTF8String]); } NS_ENDHANDLER; +#endif printf ("Done.\n\n"); @@ -151,10 +155,12 @@ static const char *prompt (EditLine *e) { #if 1 NS_DURING #else +#ifdef GNUSTEP GSDebugAllocationActive (YES); [NSObject enableDoubleReleaseCheck:YES]; NSZombieEnabled = YES; #endif +#endif { int i; |