From b745dcb2952ff7374349d86bfb987b548b1f204a Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Sun, 6 Mar 2016 23:10:01 -0500 Subject: [PATCH] Fix quasiquote expander setup in make-host-2. Apparently implementations were all very lax about the type of object passed as a lexical environment. --- make-host-2.lisp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/make-host-2.lisp b/make-host-2.lisp index e798c95aa..b8ba35933 100644 --- a/make-host-2.lisp +++ b/make-host-2.lisp @@ -88,9 +88,10 @@ ;;; Run the cross-compiler to produce cold fasl files. ;; ... and since the cross-compiler hasn't seen a DEFMACRO for QUASIQUOTE, ;; make it think it has, otherwise it fails more-or-less immediately. -(setf (sb!int:info :function :kind 'sb!int:quasiquote) :macro - (sb!int:info :function :macro-function 'sb!int:quasiquote) - (cl:macro-function 'sb!int:quasiquote)) +(setf (sb-xc:macro-function 'sb!int:quasiquote) + (lambda (form env) + (the sb!kernel:lexenv-designator env) + (sb!impl::expand-quasiquote (second form) t))) (setq sb!c::*track-full-called-fnames* :minimal) ; Change this as desired (sb-xc:with-compilation-unit () (load "src/cold/compile-cold-sbcl.lisp")) -- 2.11.4.GIT