0.8.19.1:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 27 Jan 2005 20:31:44 +0000 (20:31 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 27 Jan 2005 20:31:44 +0000 (20:31 +0000)
Merged fix from Teemu Kalvas for reading multibyte characters
across a buffer boundary ("probable bug in UTF-8 external-format
support" sbcl-devel 2005-01-23)

BUGS
NEWS
src/code/fd-stream.lisp
version.lisp-expr

diff --git a/BUGS b/BUGS
index a5e9e22..08a6dc8 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -2038,3 +2038,12 @@ WORKAROUND:
            (let ((i (sb-c::values-type-intersection x y)))
              (assert (sb-c::type= i (sb-c::values-type-intersection i x)))
              (assert (sb-c::type= i (sb-c::values-type-intersection i y)))))))
+
+370: reader misbehaviour on large-exponent floats
+    (read-from-string "1.0s1000000000000000000000000000000000000000")
+  causes the reader to attempt to create a very large bignum (which it
+  will then attempt to coerce to a rational).  While this isn't
+  completely wrong, it is probably not ideal -- checking the floating
+  point control word state and then returning the relevant float
+  (most-positive-short-float or short-float-infinity) or signalling an
+  error immediately would seem to make more sense.
diff --git a/NEWS b/NEWS
index 0d05ab9..9406e6e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+changes in sbcl-0.8.20 (0.9alpha.0?) relative to sbcl-0.8.18:
+  * fixed some bugs related to Unicode integration:
+    ** portions of multibyte characters at the end of buffers for
+       character-based file input are correctly transferred to the
+       start of the buffer at the next read.
+
 changes in sbcl-0.8.19 relative to sbcl-0.8.18:
   * new port: SBCL now works in native 64-bit mode on x86-64/Linux
     platform. The port supports 61-bit fixnums, large memory spaces
index dfadf54..f86b9ad 100644 (file)
       (when (null count)
         (simple-stream-perror "couldn't read from ~S" stream err))
       (setf (fd-stream-listen stream) nil
-            (fd-stream-ibuf-head stream) new-head
+            (fd-stream-ibuf-head stream) 0
             (fd-stream-ibuf-tail stream) (+ count new-head))
       count)))
 
index 3044d13..eff2dce 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".)
-"0.8.19"
+"0.8.19.1"