From ad6d0faf5e478900b67df9fbe4b0d5067ff51d55 Mon Sep 17 00:00:00 2001 From: William Harold Newman Date: Wed, 20 Oct 2004 16:29:55 +0000 Subject: [PATCH] 0.8.15.19: logged new BUGS added some autogenerated files to doc/manual/.cvsignore --- BUGS | 36 ++++++++++++++++++++++++++++++++++++ doc/manual/.cvsignore | 6 +++++- version.lisp-expr | 2 +- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/BUGS b/BUGS index 0e0dfaf..5b3d799 100644 --- a/BUGS +++ b/BUGS @@ -1612,3 +1612,39 @@ WORKAROUND: maybe the non-integral value should be propagated through the pprinter and only truncated at output? (So that indenting by 1/2 then 3/2 would indent by two spaces, not one?) + +350: heap overflow when printing bignums + (reported by Bruno Haible 2004-10-08) + In sbcl-0.8.15.18, + * (DEFPARAMETER *BIG* (ASH 1 1000000)) + *BIG* + * (PRINT *BIG*) + Argh! gc_find_freeish_pages failed (restart_page), nbytes=110152. + It should be straightforward to push the heap overflow threshold + up to much larger bignums; CSR pointed out it would help to use a + bignum-printing algorithm which bisected the printed number, + rather than stripping off digits one by one. + +351: suboptimal error handling/reporting when compiling (PUSH (LET ...)) + In sbcl-0.8.15.18, + * (defvar *b*) + *B* + * (defun oops () + (push *b* + (let ((b *b*)) + (aref b 1)))) + causes the compiler to die with a TYPE-ERROR in SB-C::EXTRACT-LET-VARS, + The value #:G4 is not of type LIST. + Since the (LET ...) expression is being misused in PUSH as a + SETFable place, it would be more helpful to fail as in + * (defun oops2 () (setf (let ((b *b*)) (aref b 1)) *b*)) + with compiler conditions errors like + ; in: LAMBDA NIL + ; ((B *B*)) + ; caught ERROR: + ; illegal function call + and + ; caught WARNING: + ; The function (SETF LET) is undefined, and its name is reserved + ; by ANSI CL so that even if it were defined later, the code + ; doing so would not be portable. diff --git a/doc/manual/.cvsignore b/doc/manual/.cvsignore index e2bb6ec..373f939 100644 --- a/doc/manual/.cvsignore +++ b/doc/manual/.cvsignore @@ -2,4 +2,8 @@ contrib-doc-list.texi-temp docstrings *-stamp sbcl - +sbcl.cp +*.dvi +sbcl.fn +sbcl.tp +sbcl.vr diff --git a/version.lisp-expr b/version.lisp-expr index 34202f8..cd83ec5 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.15.18" +"0.8.15.19" -- 1.7.10.4