From 26341a4b638f5480993e9715bfb637e560592819 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Sat, 19 Jul 2003 14:36:12 +0000 Subject: [PATCH] 0.8.1.48: Frobs to previous patches ... Fix off-by-one error in column number reporting absent any #\Newlines in READER-ERROR ... change the test for BUFFER-P in fd-stream (and add entry in BUGS) --- BUGS | 19 +++++++++++++++++++ src/code/condition.lisp | 2 +- src/code/fd-stream.lisp | 2 ++ version.lisp-expr | 2 +- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/BUGS b/BUGS index ad13ce5..44aa72d 100644 --- a/BUGS +++ b/BUGS @@ -1098,6 +1098,25 @@ WORKAROUND: probably because of a bogus implementation of os_restore_fp_control(). +266: + David Lichteblau provided (sbcl-devel 2003-06-01) a patch to fix + behaviour of streams with element-type (SIGNED-BYTE 8). The patch + looks reasonable, if not obviously correct; however, it caused the + PPC/Linux port to segfault during warm-init while loading + src/pcl/std-class.fasl. A workaround patch was made, but it would + be nice to understand why the first patch caused problems, and to + fix the cause if possible. + +267: + In + (defun fact (x i) + (if (= x 0) + i + (fact (1- x) (* x i)))) + sbcl does not convert the self-recursive call to a jump, though it + is allowed to by CLHS 3.2.2.3. CMUCL, however, does perform this + optimization. + DEFUNCT CATEGORIES OF BUGS IR1-#: These labels were used for bugs related to the old IR1 interpreter. diff --git a/src/code/condition.lisp b/src/code/condition.lisp index 01421bb..a62586a 100644 --- a/src/code/condition.lisp +++ b/src/code/condition.lisp @@ -689,7 +689,7 @@ (when (= pos (read-sequence string error-stream)) (setq lineno (1+ (count #\Newline string)) colno (- pos - (or (position #\Newline string :from-end t) 0) + (or (position #\Newline string :from-end t) -1) 1)))) (file-position error-stream pos)) (format stream diff --git a/src/code/fd-stream.lisp b/src/code/fd-stream.lisp index 309febd..61781f0 100644 --- a/src/code/fd-stream.lisp +++ b/src/code/fd-stream.lisp @@ -687,6 +687,8 @@ ;; (unsigned-byte 8). Because there's no buffer, the ;; other element-types will dispatch to the appropriate ;; input (output) routine in fast-read-byte. + (equal target-type '(unsigned-byte 8)) + #+nil (or (eq type 'unsigned-byte) (eq type :default))) (setf (ansi-stream-in-buffer fd-stream) diff --git a/version.lisp-expr b/version.lisp-expr index 5e52b29..1915734 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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.1.47" +"0.8.1.48" -- 1.7.10.4