diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-04 16:54:18 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-04 16:54:18 +0100 |
commit | 3bb7048d77f9e3888d4cf8d2cfa742b6956d3f7c (patch) | |
tree | a9dc305c5693ea5d9fdd98c1ea4713f421e5464f /Lisp | |
parent | 8e7a47056993b9320ffc184c60991d0a62307ec5 (diff) |
Implement DESCRIBE-OBJECT (EXCEPTION T).
darcs-hash:47438eafc656ab7597bd008586346cd52287e670
Diffstat (limited to 'Lisp')
-rw-r--r-- | Lisp/data-types.lisp | 19 |
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 |