Update of /cvsroot/sbcl/sbcl/src/code
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2260/src/code
Modified Files:
list.lisp
Log Message:
0.9.3.16:
Add source transform for (last x).
Change nconc back to use last (which will be optimized with the
source transform.)
Index: list.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/list.lisp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- list.lisp 1 Aug 2005 04:23:42 -0000 1.26
+++ list.lisp 2 Aug 2005 13:52:37 -0000 1.27
@@ -394,12 +394,12 @@
((endp elements))
(let ((ele (car elements)))
(typecase ele
- (cons (rplacd (last1 splice) ele)
+ (cons (rplacd (last splice) ele)
(setf splice ele))
- (null (rplacd (last1 splice) nil))
+ (null (rplacd (last splice) nil))
(atom (if (cdr elements)
(fail ele)
- (rplacd (last1 splice) ele)))
+ (rplacd (last splice) ele)))
(t (fail ele)))))
(return result)))
(null)
@@ -1121,7 +1121,7 @@
(setf (car l) (cdar l)))
(setq res (apply fun (nreverse args)))
(case accumulate
- (:nconc (setq temp (last1 (nconc temp res))))
+ (:nconc (setq temp (last (nconc temp res))))
(:list (rplacd temp (list res))
(setq temp (cdr temp))))))))
|