From ddc94b60746df2f6ace927af6be6046cdc1e8a1b Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Wed, 22 Oct 2003 16:27:18 +0000 Subject: [PATCH] 0.8.4.39: 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 | 14 ++++++++------ version.lisp-expr | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/compiler/macros.lisp b/src/compiler/macros.lisp index 04dc8a9..e96a92b 100644 --- a/src/compiler/macros.lisp +++ b/src/compiler/macros.lisp @@ -619,9 +619,10 @@ (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 @@ -635,9 +636,10 @@ (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)))) diff --git a/version.lisp-expr b/version.lisp-expr index f69c0d9..0d85ecd 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".) -"0.8.4.38" +"0.8.4.39" -- 1.7.10.4