0.8.4.39:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 22 Oct 2003 16:27:18 +0000 (16:27 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 22 Oct 2003 16:27:18 +0000 (16:27 +0000)
CLISP build "fixes"
... don't emit structure-sharing code from macros
(fixes "SB-IMPL::|,| does not name a function" clisp
error)
... rewrite bad LOOP as per TFBurdick sbcl-devel 2003-10

I say `"fixes"' because new sbcl code has exposed some
clisp bugs, so the resulting codebase doesn't build from
clisp-2.31; however, I have patched my clisp and it works to the
extent that the resultant sbcl binary only fails one test.

src/compiler/macros.lisp
version.lisp-expr

index 04dc8a9..e96a92b 100644 (file)
                                     (ctran-next it))
                                    (t (return)))))
            ,@(when lvar-var
-                   `((,lvar-var #1=(when (valued-node-p ,node-var)
-                                     (node-lvar ,node-var))
-                                #1#))))
+                   `((,lvar-var (when (valued-node-p ,node-var)
+                                 (node-lvar ,node-var))
+                               (when (valued-node-p ,node-var)
+                                 (node-lvar ,node-var))))))
           (nil)
        ,@body
        ,@(when restart-p
        (n-prev (gensym)))
     `(loop with ,n-block = ,block
            for ,node-var = (block-last ,n-block) then (ctran-use ,n-prev)
-           while ,node-var ; FIXME: this is non-ANSI
-           for ,n-prev = (node-prev ,node-var)
-           and ,lvar = (when (valued-node-p ,node-var) (node-lvar ,node-var))
+           for ,n-prev = (when ,node-var (node-prev ,node-var))
+           and ,lvar = (when (and ,node-var (valued-node-p ,node-var))
+                        (node-lvar ,node-var))
+           while ,node-var
            do (progn
                 ,@body))))
 
index f69c0d9..0d85ecd 100644 (file)
@@ -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".)
-"0.8.4.38"
+"0.8.4.39"