X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftarget-main.lisp;h=08fdba6f320428efd20ba754e05a09472756cbf8;hb=970dd272dc84f7420252eadb4829cc193f795716;hp=f6e92de0a121ec6b920749c5f334c5c6e9f6e1ec;hpb=d754723f1d3238c582e9c6ca90435c579efaff17;p=sbcl.git diff --git a/src/compiler/target-main.lisp b/src/compiler/target-main.lisp index f6e92de..08fdba6 100644 --- a/src/compiler/target-main.lisp +++ b/src/compiler/target-main.lisp @@ -94,9 +94,15 @@ (defun compile-in-lexenv (name definition lexenv) (multiple-value-bind (compiled-definition warnings-p failure-p) - (if (compiled-function-p definition) - (values definition nil nil) - (actually-compile name definition lexenv)) + (cond + #!+sb-eval + ((sb!eval:interpreted-function-p definition) + (multiple-value-bind (definition lexenv) + (sb!eval:prepare-for-compile definition) + (actually-compile name definition lexenv))) + ((compiled-function-p definition) + (values definition nil nil)) + (t (actually-compile name definition lexenv))) (cond (name (if (and (symbolp name) (macro-function name))