0.7.3.21:
authorWilliam Harold Newman <william.newman@airmail.net>
Sun, 19 May 2002 22:49:37 +0000 (22:49 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Sun, 19 May 2002 22:49:37 +0000 (22:49 +0000)
merged fix for "Bug in COMPILE?" by Matthias Hoelzl (sbcl-devel
2002-05-13). (My interpretation of the problem in my
reply on the same day seems to've been totally
confused, and his fix looks fine to me now.)

CREDITS
src/code/fdefinition.lisp
src/compiler/target-main.lisp
tests/compiler.impure.lisp
version.lisp-expr

diff --git a/CREDITS b/CREDITS
index f355e74..2a0a12b 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -572,9 +572,13 @@ Christophe Rhodes:
   it, like *BACKEND-FEATURES*). He's also contributed miscellaneous
   bug fixes.
 
+Stig Erik Sandoe:
+  He showed how to convince the GNU toolchain to build SBCL in a way
+  which supports callbacks from C code into SBCL.
+
 Brian Spilsbury:
   He wrote Unicode-capable versions of SBCL's character, string, and
-  stream operations.
+  stream types and operations on them.
 
 Raymond Toy:
   He continued to work on CMU CL after the SBCL fork, especially on
@@ -582,7 +586,7 @@ Raymond Toy:
   ported to SBCL.
 
 Peter Van Eynde:
-  He wrestled the CLISP test suite into a portable test suite
+  He wrestled the CLISP test suite into a mostly portable test suite
   (clocc ansi-test) which can be used on SBCL, provided a slew of
   of bug reports resulting from that, and submitted many other bug
   reports as well.
index 1864e5c..fd0fdd5 100644 (file)
    This is SETF'able."
   (let ((fun (%coerce-name-to-fun name)))
     (loop
-      (let ((encap-info (encapsulation-info fun)))
-       (if encap-info
-           (setf fun (encapsulation-info-definition encap-info))
-           (return fun))))))
+     (let ((encap-info (encapsulation-info fun)))
+       (if encap-info
+          (setf fun (encapsulation-info-definition encap-info))
+          (return fun))))))
 
 (defvar *setf-fdefinition-hook* nil
   #!+sb-doc
index b1c0230..23bfb23 100644 (file)
@@ -76,7 +76,8 @@
                  :name name
                  :path '(original-source-start 0 0))))))
 
-(defun compile (name &optional (definition (fdefinition name)))
+(defun compile (name &optional (definition (or (macro-function name)
+                                              (fdefinition name))))
   #!+sb-doc
   "Coerce DEFINITION (by default, the function whose name is NAME)
   to a compiled function, returning (VALUES THING WARNINGS-P FAILURE-P),
index ce7ef42..a1e239b 100644 (file)
             (if (and (< ind ind)
                      (typep (char string ind) '(member #\1)))
                 nil))))))
+
+;;; bug reported and fixed by Matthias Hoelzl sbcl-devel 2002-05-13
+(defmacro foo-2002-05-13 () ''x)
+(eval '(foo-2002-05-13))
+(compile 'foo-2002-05-13)
+(foo-2002-05-13) ; (The bug caused UNDEFINED-FUNCTION to be signalled here.)
 \f
 ;;;; tests not in the problem domain, but of the consistency of the
 ;;;; compiler machinery itself
index a0d27bc..e7b5ceb 100644 (file)
@@ -18,4 +18,4 @@
 ;;; for internal versions, especially for internal versions off the
 ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.3.20"
+"0.7.3.21"