X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fseqtran.lisp;h=82a5fa758607520a843a71c5bc7f5d9d782cbf7c;hb=a070a6a472f050b4ca1346f047b7577fc407217d;hp=df274b181e14c7e1123a2f8e25aa863730d6b7a7;hpb=77869604fc3eb4417a630651e5fe40e74342ee59;p=sbcl.git diff --git a/src/compiler/seqtran.lisp b/src/compiler/seqtran.lisp index df274b1..82a5fa7 100644 --- a/src/compiler/seqtran.lisp +++ b/src/compiler/seqtran.lisp @@ -44,13 +44,14 @@ `(let ((,fn-sym ,fn) (,map-result (list nil))) (do-anonymous ((,temp ,map-result) . ,(do-clauses)) - (,endtest (cdr ,map-result)) + (,endtest (truly-the list (cdr ,map-result))) (rplacd ,temp (setq ,temp (list ,call))))))) ((nil) `(let ((,fn-sym ,fn) (,n-first ,(first arglists))) (do-anonymous ,(do-clauses) - (,endtest ,n-first) ,call)))))))) + (,endtest (truly-the list ,n-first)) + ,call)))))))) (define-source-transform mapc (function list &rest more-lists) (mapfoo-transform function (cons list more-lists) nil t))