Hi Mark,
On Fri, Sep 18, 2009 at 3:43 PM, Mark Evenson mevenson@common-lisp.net wrote:
Author: mevenson Date: Fri Sep 18 09:43:42 2009 New Revision: 12153
Log: Tenative fix for #63: transform caught Go throwable to LispError.
Normalized printStackTrace() calls through Debug.trace() interface.
Modified: trunk/abcl/src/org/armedbear/lisp/Lisp.java
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 Fri Sep 18 09:43:42 2009 @@ -123,7 +123,7 @@ } catch (Throwable t) {
- t.printStackTrace();
- Debug.trace(t);
} }
@@ -277,7 +277,7 @@ } catch (Go go) {
- throw go;
- return error(go.getCondition());
} catch (Throw t) {
This hunk causes "havoc" with the command line interface where people select the "go to toplevel" restart.
I think this is the major change in this commit? If I want to revert this bit, do I have to revert the rest too, or are those just improvements on what was already there?
BTW: With my recent changes, I don't think there's anything wrong with re-throwing the Go anymore: we check for a catching environment before throwing now.
@@ -1042,6 +1042,7 @@ } catch (Throwable t) {
- Debug.trace(t);
return null; } } @@ -2586,7 +2587,7 @@ } catch (ClassNotFoundException e) {
- e.printStackTrace();
- Debug.trace(e);
} }
armedbear-cvs mailing list armedbear-cvs@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-cvs
On 10/5/09 11:44 PM, Erik Huelsmann wrote: […]
This hunk causes "havoc" with the command line interface where people select the "go to toplevel" restart.
I don't think it was that way with the initial change, but after your subsequent work with the lower level infrastructure it definitely should be reverted.
I think this is the major change in this commit? If I want to revert this bit, do I have to revert the rest too, or are those just improvements on what was already there?
Correct, the addition of the 'throw' was the only real functional change. The rest are just changes to cause errors to go through the interface in the 'Debug' class, with the idea being that it would be good for all exceptions for which we do nothing more than print diagnostics, we should at least pass through a common interface so that in the future we can either shunt/disable the reported stacktraces. Additionally, this allows one to set method breakpoints in a JVM debugger to examine these stacktraces when they are thrown, which was helpful in looking at the Go problem.
Please revert the throw when you get a chance. If I have time later today, I'll do it myself (but it looks like a busy day at work).
armedbear-devel@common-lisp.net