[armedbear-cvs] r13144 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Thu Jan 13 23:19:23 UTC 2011


Author: ehuelsmann
Date: Thu Jan 13 18:19:22 2011
New Revision: 13144

Log:
Stabilize the new way of terminating ABCL.

Modified:
   trunk/abcl/src/org/armedbear/lisp/Interpreter.java
   trunk/abcl/src/org/armedbear/lisp/Lisp.java
   trunk/abcl/src/org/armedbear/lisp/Main.java

Modified: trunk/abcl/src/org/armedbear/lisp/Interpreter.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Interpreter.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Interpreter.java	Thu Jan 13 18:19:22 2011
@@ -406,6 +406,12 @@
                 // we're toast...
                 reportError(c, thread);
             }
+            catch (ProcessingTerminated e) {
+                throw e;
+            }
+            catch (IntegrityError e) {
+                return;
+            }
             catch (Throwable t) {
                 getStandardInput().clearInput();
                 out.printStackTrace(t);

Modified: trunk/abcl/src/org/armedbear/lisp/Lisp.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Lisp.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Lisp.java	Thu Jan 13 18:19:22 2011
@@ -289,6 +289,14 @@
           {
             throw c;
           }
+        catch (ProcessingTerminated c)
+          {
+            throw c;
+          }
+        catch (IntegrityError c)
+          {
+            throw c;
+          }
         catch (Throwable t) // ControlTransfer handled above
           {
             Debug.trace(t);

Modified: trunk/abcl/src/org/armedbear/lisp/Main.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Main.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Main.java	Thu Jan 13 18:19:22 2011
@@ -42,14 +42,12 @@
         Runnable r = new Runnable() {
 
             public void run() {
-                Interpreter interpreter = Interpreter.createDefaultInstance(args);
-                if (interpreter != null) {
-                    try {
-                        interpreter.run();
-                    } catch (ProcessingTerminated e) {
-                        System.exit(e.getStatus());
-                    }
-
+               try {
+                    Interpreter interpreter = Interpreter.createDefaultInstance(args);
+                    if (interpreter != null)
+                            interpreter.run();
+                } catch (ProcessingTerminated e) {
+                    System.exit(e.getStatus());
                 }
             }
         };




More information about the armedbear-cvs mailing list