summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lisp/data-types.lisp19
1 files changed, 9 insertions, 10 deletions
diff --git a/Lisp/data-types.lisp b/Lisp/data-types.lisp
index 384e526..6c1a6e8 100644
--- a/Lisp/data-types.lisp
+++ b/Lisp/data-types.lisp
@@ -192,16 +192,7 @@ a suitable class method instead as you would in Objective-C.
:reader pointer-to
:initarg :pointer))
(:report (lambda (condition stream)
- (format stream
- "The Objective-C runtime has issued an exception of ~
- type `~A'.~&~
- Reason: ~A."
- (invoke-by-name
- (invoke-by-name condition "name")
- "UTF8String")
- (invoke-by-name
- (invoke-by-name condition "reason")
- "UTF8String"))))
+ (describe-object condition stream)))
(:documentation "The condition type for Objective-C exceptions.
## Description:
@@ -241,6 +232,14 @@ an __exception__, you can simply send it the `self' message.
__id__"))
+(defmethod describe-object ((condition exception) stream)
+ (format stream "The Objective-C runtime has issued an exception of ~
+ type `~A'.~&~
+ Reason: ~A."
+ (invoke-by-name (invoke-by-name condition "name") "UTF8String")
+ (invoke-by-name (invoke-by-name condition "reason") "UTF8String")))
+
+
(defclass foreign-value (c-pointer-wrapper)
((lisp-managed-cell :type (array boolean ())
:accessor foreign-value-lisp-managed-cell-p