From: William Harold Newman Date: Wed, 4 Sep 2002 13:59:54 +0000 (+0000) Subject: 0.7.7.13: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=755ff8f53315160fcb2d92207dfe24ae7ed4d4c6;p=sbcl.git 0.7.7.13: APD pointed out on sbcl-devel 2002-09-04 that NOT was being called with two arguments in seq.lisp, so fix it. --- diff --git a/BUGS b/BUGS index 729c8d2..211bc1d 100644 --- a/BUGS +++ b/BUGS @@ -672,7 +672,9 @@ WORKAROUND: (IF (NOT (IGNORE-ERRORS ..))). E.g. (defun foo1i () (if (not (ignore-errors - (make-pathname :host "foo" :directory "!bla" :name "bar"))) + (make-pathname :host "foo" + :directory "!bla" + :name "bar"))) (print "ok") (error "notunlessnot"))) The (NOT (IGNORE-ERRORS ..)) form evaluates to T, so this should be @@ -1350,6 +1352,16 @@ WORKAROUND: bad argument value is). 194: "no error from (THE REAL '(1 2 3)) in some cases" + (Actually this entry is probably two separate bugs, as + Alexey Dejneka commented on sbcl-devel 2002-09-03:) + I don't think that placing these two bugs in one entry is + a good idea: they have different explanations. The second + (min 1 nil) is caused by flushing of unused code--IDENTITY + can do nothing with it. So it is really bug 122. The first + (min nil) is due to M-V-PROG1: substituting a continuation + for the result, it forgets about type assertion. The purpose + of IDENTITY is to save the restricted continuation from + inaccurate transformations. In sbcl-0.7.7.9, (multiple-value-prog1 (progn (the real '(1 2 3)))) returns (1 2 3) instead of signalling an error. Also in sbcl-0.7.7.9, @@ -1389,6 +1401,14 @@ WORKAROUND: and LONG-FLOAT left out of the union, this type is equal to REAL. So it'd be better just to say "This is not a REAL". +196: "confusing error message for unREAL second arg to ATAN" + (reported by Alexey Dejneka sbcl-devel 2002-09-04) + In sbcl-0.7.7.11, + * (atan 1 #c(1 2)) + debugger invoked on condition of type SIMPLE-TYPE-ERROR: + Argument X is not a NUMBER: #C(1 2) + (The actual type problem is that argument Y is not a REAL.) + DEFUNCT CATEGORIES OF BUGS IR1-#: These labels were used for bugs related to the old IR1 interpreter. diff --git a/src/code/irrat.lisp b/src/code/irrat.lisp index ac8b805..ec84564 100644 --- a/src/code/irrat.lisp +++ b/src/code/irrat.lisp @@ -452,11 +452,11 @@ ((complex) (complex-atan y))))) -;; It seems that everyone has a C version of sinh, cosh, and -;; tanh. Let's use these for reals because the original -;; implementations based on the definitions lose big in round-off -;; error. These bad definitions also mean that sin and cos for -;; complex numbers can also lose big. +;;; It seems that every target system has a C version of sinh, cosh, +;;; and tanh. Let's use these for reals because the original +;;; implementations based on the definitions lose big in round-off +;;; error. These bad definitions also mean that sin and cos for +;;; complex numbers can also lose big. (defun sinh (number) #!+sb-doc diff --git a/src/code/seq.lisp b/src/code/seq.lisp index 977e8a2..d107578 100644 --- a/src/code/seq.lisp +++ b/src/code/seq.lisp @@ -98,7 +98,8 @@ (defun signal-index-too-large-error (sequence index) (let* ((length (length sequence)) - (max-index (and (plusp length) (1- length)))) + (max-index (and (plusp length) + (1- length)))) (error 'index-too-large-error :datum index :expected-type (if max-index @@ -108,7 +109,8 @@ (defun signal-end-too-large-error (sequence end) (let* ((length (length sequence)) - (max-end (and (not (minusp length) length)))) + (max-end (and (not (minusp length)) + length))) (error 'end-too-large-error :datum end :expected-type (if max-index diff --git a/version.lisp-expr b/version.lisp-expr index b0794e4..db83134 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -18,4 +18,4 @@ ;;; for internal versions, especially for internal versions off the ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.7.7.12" +"0.7.7.13"