From: Christophe Rhodes Date: Wed, 21 Sep 2005 11:28:56 +0000 (+0000) Subject: 0.9.4.83: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=abd50c820df25616883a6850df1780044365137e;p=sbcl.git 0.9.4.83: Pacify the compiler when inlining LAST1's code in a high-speed low-space compilation environment. ... rebind the argument within last1 so that the assignments are to that binding. --- diff --git a/NEWS b/NEWS index 72be4c3..4f2cf44 100644 --- a/NEWS +++ b/NEWS @@ -35,6 +35,9 @@ changes in sbcl-0.9.5 relative to sbcl-0.9.4: iterated. (reported by Bryan O'Connor, fixed by Rob MacLachlan) * bug fix: backquote does not optimize (LIST* x y) to CONS when x may be expanded. (reported by Alexander on c.l.l) + * bug fix: no more style-warnings when compiling code using LAST + under high-SPEED low-SPACE settings. (reported by David Wallin + aka froog on #lisp) * fixed some incompatibilities between SBCL's MOP and the MOP specified by AMOP: ** the METAOBJECT class is now implemented; diff --git a/src/code/list.lisp b/src/code/list.lisp index 225f1bb..f15ad9f 100644 --- a/src/code/list.lisp +++ b/src/code/list.lisp @@ -233,7 +233,8 @@ (defun last1 (list) #!+sb-doc "Return the last cons (not the last element) of a list" - (let ((rest list)) + (let ((rest list) + (list list)) (loop (unless (consp rest) (return list)) (shiftf list rest (cdr rest))))) diff --git a/tests/compiler.test.sh b/tests/compiler.test.sh index 25c208c..6c135a4 100644 --- a/tests/compiler.test.sh +++ b/tests/compiler.test.sh @@ -344,6 +344,14 @@ cat > $tmpfilename < $tmpfilename <