X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/ce5b19eac024fd1dbd70d6a701b188b44cec566e..b29e33dd4749677280fe2a8dfd1788ca07df767d:/examples/ginspect.lisp diff --git a/examples/ginspect.lisp b/examples/ginspect.lisp index b9d9ba7..b52c345 100644 --- a/examples/ginspect.lisp +++ b/examples/ginspect.lisp @@ -20,14 +20,14 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: ginspect.lisp,v 1.8 2006/02/03 00:15:52 espen Exp $ +;; $Id: ginspect.lisp,v 1.10 2006/04/26 14:56:59 espen Exp $ #+sbcl(require :gtk) #+cmu(asdf:oos 'asdf:load-op :gtk) (defpackage "GINSPECT" (:use "COMMON-LISP" "GLIB" "GTK" #+cmu"PCL" #+sbcl"SB-PCL") - (:export "GINSPECT")) + (:export "GINSPECT" "GINSPECT-TOPLEVELS")) (in-package "GINSPECT") @@ -132,13 +132,15 @@ (defmethod decompose-describe-object ((object symbol)) *ginspect-unbound-object-marker*)) (cons "Plist" (symbol-plist object))))) -#+cmu (defmethod decompose-describe-object ((object standard-object)) (values - (call-next-method) t + (format nil "The instance is an object of type ~A." + (class-name (class-of object))) + t (loop for slotd in (class-slots (class-of object)) - collect (let* ((slot-name (pcl:slot-definition-name slotd)) + when (slot-readable-p slotd) + collect (let* ((slot-name (slot-definition-name slotd)) (slot-value (if (slot-boundp object slot-name) (slot-value object slot-name) *ginspect-unbound-object-marker*)))