summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-08-03 21:49:29 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-08-03 21:49:29 +0200
commita3d0b13efd8f90d9c417b927f29e36aa251227df (patch)
tree9d7b755de68c54b79e9c8e814b95e04ab6bbc837
parentaeade98de336b37d14db19484ab2f2844adef556 (diff)
Make exception reports more verbose.
darcs-hash:0f1b1b5cea7f08a1dc3cfae4d7b843dbf48b5a50
-rw-r--r--objcl.lisp15
1 files changed, 9 insertions, 6 deletions
diff --git a/objcl.lisp b/objcl.lisp
index bb90c71..52e73e7 100644
--- a/objcl.lisp
+++ b/objcl.lisp
@@ -44,8 +44,14 @@
(:report (lambda (condition stream)
(format stream
"The Objective C runtime has issued an exception of ~
- type `~A'."
- (objcl-invoke-class-method condition "name")))))
+ type `~A'.~&~
+ Reason: ~A."
+ (objcl-invoke-class-method
+ (objcl-invoke-class-method condition "name")
+ "UTF8String")
+ (objcl-invoke-class-method
+ (objcl-invoke-class-method condition "reason")
+ "UTF8String")))))
(defgeneric objcl-eql (obj1 obj2))
@@ -236,10 +242,7 @@
(defun arglist-intersperse-types (arglist)
(mapcan #'(lambda (arg)
- (with-foreign-slots ((type data) arg obj-data)
- (list (type-name->c-type (type-id->type-name
- (foreign-string-to-lisp type)))
- arg)))
+ (list :pointer arg))
arglist))