X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fprint.lisp;h=7cd5d3692b8409b2455b1093be5e215f45d01c8e;hb=a22dd643fb599880f4c0856e1a85bffe4358aea8;hp=968c84ffd7fd958ebbb81551d7f1bc03340c1082;hpb=774a9c4b5d25cd90dcdefb20b8d8ca4485b4cb88;p=sbcl.git diff --git a/src/code/print.lisp b/src/code/print.lisp index 968c84f..7cd5d36 100644 --- a/src/code/print.lisp +++ b/src/code/print.lisp @@ -597,7 +597,7 @@ ;;; words, diddle its case according to *PRINT-CASE* and ;;; READTABLE-CASE. (defun output-symbol-name (name stream &optional (maybe-quote t)) - (declare (type simple-base-string name)) + (declare (type simple-string name)) (setup-printer-state) (if (and maybe-quote (symbol-quotep name)) (output-quoted-symbol-name name stream) @@ -1402,7 +1402,9 @@ (declare (ignore sig)) (if (= x 0.0e0) (values (float 0.0e0 original-x) 1) - (let* ((ex (round (* exponent (log 2e0 10)))) + (let* ((ex (locally (declare (optimize (safety 0))) + (the fixnum + (round (* exponent (log 2e0 10)))))) (x (if (minusp ex) (if (float-denormalized-p x) #!-long-float @@ -1419,7 +1421,9 @@ (z y (* y m)) (ex ex (1- ex))) ((>= z 0.1e0) - (values (float z original-x) ex)))))))))) + (values (float z original-x) ex)) + (declare (long-float m) (integer ex)))) + (declare (long-float d)))))))) (eval-when (:compile-toplevel :execute) (setf *read-default-float-format* 'single-float))