From 3bb7048d77f9e3888d4cf8d2cfa742b6956d3f7c Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Tue, 4 Mar 2008 16:54:18 +0100 Subject: Implement DESCRIBE-OBJECT (EXCEPTION T). darcs-hash:47438eafc656ab7597bd008586346cd52287e670 --- Lisp/data-types.lisp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'Lisp/data-types.lisp') 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 -- cgit v1.2.3