1.0.13.24:
authorKevin Rosenberg <kevin@rosenberg.net>
Fri, 11 Jan 2008 18:59:58 +0000 (18:59 +0000)
committerKevin Rosenberg <kevin@rosenberg.net>
Fri, 11 Jan 2008 18:59:58 +0000 (18:59 +0000)
        * sb-aclrepl: Fix inspection of single-floats on 64-bit platforms
        which are now unboxed data.

NEWS
contrib/sb-aclrepl/inspect.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 024b609..ef17dc0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,8 @@ changes in sbcl-1.0.14 relative to sbcl-1.0.13:
   * bug fix: RESOLVE-CONFLICT (and the other name conflict machinery)
     is now actually exported from SB-EXT as documented.  (reported by
     Maciej Katafiasz)
+  * bug fix: sb-aclrepl now correctly understands how to inspect
+    single-floats on 64-bit platforms where single-floats are not boxed.
 
 changes in sbcl-1.0.13 relative to sbcl-1.0.12:
   * minor incompatible change: RUN-PROGRAM now uses execvp(3) to find
index f6cbcc7..8ded127 100644 (file)
@@ -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)
@@ -655,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
index bd6f491..afb5f07 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.13.23"
+"1.0.13.24"