summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 16:54:18 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 16:54:18 +0100
commit3bb7048d77f9e3888d4cf8d2cfa742b6956d3f7c (patch)
treea9dc305c5693ea5d9fdd98c1ea4713f421e5464f /Lisp
parent8e7a47056993b9320ffc184c60991d0a62307ec5 (diff)
Implement DESCRIBE-OBJECT (EXCEPTION T).
darcs-hash:47438eafc656ab7597bd008586346cd52287e670
Diffstat (limited to 'Lisp')
-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