From 98b890ce6eb993956e68469a1bcace2a4da3f1dc Mon Sep 17 00:00:00 2001 From: Daniel Kochmanski Date: Fri, 12 May 2017 23:44:10 +0200 Subject: [PATCH] format: float: signed zero: print -0.0 if signed Fixes #365. --- src/lsp/format.lsp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp index 409eb0a0d..cc2955485 100644 --- a/src/lsp/format.lsp +++ b/src/lsp/format.lsp @@ -1363,7 +1363,8 @@ (t (let ((spaceleft w)) (when (and w (or atsign - (minusp number))) + (minusp number) + #+ieee-floating-point (minusp (atan number -1)))) (decf spaceleft)) (multiple-value-bind (str len lpoint tpoint) (sys::flonum-to-string (abs number) spaceleft d k) @@ -1389,7 +1390,8 @@ t) (t (when w (dotimes (i spaceleft) (write-char pad stream))) - (if (minusp number) + (if (or (minusp number) + #+ieee-floating-point (minusp (atan number -1))) (write-char #\- stream) (if atsign (write-char #\+ stream))) (when lpoint (write-char #\0 stream))