X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-aclrepl%2Finspect.lisp;h=8ded127506ace37969fa4b3dd524ea001a27306a;hb=dd0e7aad8215b548fdb1e402affdc0caad95b621;hp=6c3e1965d21625fd7b72452615d1f245c7be0d4c;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/contrib/sb-aclrepl/inspect.lisp b/contrib/sb-aclrepl/inspect.lisp index 6c3e196..8ded127 100644 --- a/contrib/sb-aclrepl/inspect.lisp +++ b/contrib/sb-aclrepl/inspect.lisp @@ -326,6 +326,7 @@ The commands are: (format stream "~A" (inspected-description object)) (unless (or *skip-address-display* (eq object *inspect-unbound-object-marker*) + (and (= sb-vm::n-word-bits 64) (typep object 'single-float)) (characterp object) (typep object 'fixnum)) (write-string " at #x" stream) (format stream (n-word-bits-hex-format) @@ -567,9 +568,6 @@ position with the label if the label is a string." (defmethod inspected-description ((object standard-object)) (format nil "~W" (class-of object))) -(defmethod inspected-description ((object sb-kernel:funcallable-instance)) - (format nil "a funcallable-instance of type ~S" (type-of object))) - (defmethod inspected-description ((object function)) (format nil "~S" object) nil) @@ -658,9 +656,16 @@ cons cells and LIST-TYPE is :normal, :dotted, or :cyclic" (ref32-hexstr object start)))) (defmethod inspected-description ((object single-float)) - (description-maybe-internals "single-float ~W" (list object) - "[#x~A]" - (ref32-hexstr object (round sb-vm::n-word-bits 8)))) + (ecase sb-vm::n-word-bits + (32 + (description-maybe-internals "single-float ~W" (list object) + "[#x~A]" + (ref32-hexstr object (round sb-vm::n-word-bits 8)))) + (64 + ;; on 64-bit platform, single-floats are not boxed + (description-maybe-internals "single-float ~W" (list object) + "[#x~8,'0X]" + (sb-kernel:get-lisp-obj-address object))))) (defmethod inspected-description ((object fixnum)) (description-maybe-internals @@ -807,10 +812,6 @@ cons cells and LIST-TYPE is :normal, :dotted, or :cyclic" (let ((components (inspected-standard-object-parts object))) (list components (length components) :named nil))) -(defmethod inspected-parts ((object sb-kernel:funcallable-instance)) - (let ((components (inspected-standard-object-parts object))) - (list components (length components) :named nil))) - (defmethod inspected-parts ((object condition)) (let ((components (inspected-standard-object-parts object))) (list components (length components) :named nil)))