X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftarget-main.lisp;h=23bfb23c0c6e3e99fffd798e25fe864ed9ec0b32;hb=422b88abf96f4842a3d0999cd3b80d96f5a153d6;hp=f9b6c7003f895c2f01c51267204abb3a3f37401b;hpb=1a6def3955b715472eb2c75b15660912b9f90173;p=sbcl.git diff --git a/src/compiler/target-main.lisp b/src/compiler/target-main.lisp index f9b6c70..23bfb23 100644 --- a/src/compiler/target-main.lisp +++ b/src/compiler/target-main.lisp @@ -50,10 +50,10 @@ (*toplevel-lambdas* ()) (*block-compile* nil) (*compiler-error-bailout* - #'(lambda () - (compiler-mumble - "~2&fatal error, aborting compilation~%") - (return-from actually-compile (values nil t nil)))) + (lambda () + (compiler-mumble + "~2&fatal error, aborting compilation~%") + (return-from actually-compile (values nil t nil)))) (*current-path* nil) (*last-source-context* nil) (*last-original-source* nil) @@ -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), @@ -89,7 +90,8 @@ (values definition nil nil) (actually-compile name definition)) (cond (name - (if (macro-function name) + (if (and (symbolp name) + (macro-function name)) (setf (macro-function name) compiled-definition) (setf (fdefinition name) compiled-definition)) (values name warnings-p failure-p))