Raymond Toy pushed to branch issue-287-clean-up-make-float-aux at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/code/reader.lisp
    ... ... @@ -1870,18 +1870,18 @@ the end of the stream."
    1870 1870
       ;; Otherwise the number might fit, so we carefully compute the result.
    
    1871 1871
       (handler-case
    
    1872 1872
           (with-float-traps-masked (:underflow)
    
    1873
    -        (let* ((ratio (/ (* (expt 10 exponent) number)
    
    1873
    +	(let* ((ratio (/ (* (expt 10 exponent) number)
    
    1874 1874
                              divisor))
    
    1875 1875
     	       (result (coerce ratio float-format)))
    
    1876
    -          (when (and (zerop result) (not (zerop number)))
    
    1876
    +	  (when (and (zerop result) (not (zerop number)))
    
    1877 1877
     	    ;; The number we've read is so small that it gets
    
    1878 1878
     	    ;; converted to 0.0, but is not actually zero.  Signal an
    
    1879 1879
     	    ;; error.  See CLHS 2.3.1.1.
    
    1880
    -            (error "Underflow"))
    
    1880
    +            (error _"Underflow"))
    
    1881 1881
               result))
    
    1882 1882
         (error ()
    
    1883
    -      (%reader-error stream _"Number not representable as a ~S: ~S"
    
    1884
    -		           float-format (read-buffer-to-string)))))
    
    1883
    +	   (%reader-error stream _"Number not representable as a ~S: ~S"
    
    1884
    +			  float-format (read-buffer-to-string)))))
    
    1885 1885
     
    
    1886 1886
     
    
    1887 1887
     (defun make-ratio (stream)