From: Paul Khuong Date: Wed, 20 Aug 2008 20:34:00 +0000 (+0000) Subject: 1.0.19.32: Small bugfixes X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=332e4d9a78b7af76d0c8da2a7cafda5a3c556036;p=sbcl.git 1.0.19.32: Small bugfixes * Modify a couple number functions to avoid silently executing the default case even when the argument isn't a number. * Fix an obscure bug in MERGE-LETS. --- diff --git a/src/code/numbers.lisp b/src/code/numbers.lisp index 9571988..1c40555 100644 --- a/src/code/numbers.lisp +++ b/src/code/numbers.lisp @@ -238,7 +238,7 @@ (defun realpart (number) #!+sb-doc "Extract the real part of a number." - (typecase number + (etypecase number #!+long-float ((complex long-float) (truly-the long-float (realpart number))) @@ -248,13 +248,13 @@ (truly-the single-float (realpart number))) ((complex rational) (sb!kernel:%realpart number)) - (t + (number number))) (defun imagpart (number) #!+sb-doc "Extract the imaginary part of a number." - (typecase number + (etypecase number #!+long-float ((complex long-float) (truly-the long-float (imagpart number))) @@ -266,13 +266,14 @@ (sb!kernel:%imagpart number)) (float (* 0 number)) - (t + (number 0))) (defun conjugate (number) #!+sb-doc "Return the complex conjugate of NUMBER. For non-complex numbers, this is an identity." + (declare (type number number)) (if (complexp number) (complex (realpart number) (- (imagpart number))) number)) diff --git a/src/compiler/locall.lisp b/src/compiler/locall.lisp index fe1dea8..e758d67 100644 --- a/src/compiler/locall.lisp +++ b/src/compiler/locall.lisp @@ -855,6 +855,8 @@ (setf (lambda-physenv clambda) home-physenv) (when physenv + (unless home-physenv + (setf home-physenv (get-lambda-physenv home))) (setf (physenv-nlx-info home-physenv) (nconc (physenv-nlx-info physenv) (physenv-nlx-info home-physenv)))) diff --git a/version.lisp-expr b/version.lisp-expr index 1688b95..950c47d 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".) -"1.0.19.31" +"1.0.19.32"