X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/d427b0a5682deda370b1642fbf53d82cc6fb6de4..c3940f41bf87cf0b02835b4a96a51c81a5a8df1e:/examples/ginspect.lisp?ds=inline diff --git a/examples/ginspect.lisp b/examples/ginspect.lisp index 25b49d1..7abdd8a 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.11 2006-09-05 13:12:50 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")) + (:use "COMMON-LISP" "GFFI" "GLIB" "GTK" #+cmu"PCL" #+sbcl"SB-PCL") + (: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*)))