X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fir1tran.lisp;h=e633b96286306fa8a2273723dd950699cb12af5b;hb=4d8b3b1da4d960a6ff768c9e6ee8f99bf270b631;hp=81588fbc69781b0aecf2eba30fdb74e6e0946590;hpb=b66385e2031fc2cac17dd129df0af400beb48a22;p=sbcl.git diff --git a/src/compiler/ir1tran.lisp b/src/compiler/ir1tran.lisp index 81588fb..e633b96 100644 --- a/src/compiler/ir1tran.lisp +++ b/src/compiler/ir1tran.lisp @@ -594,7 +594,7 @@ (when (lambda-var-p var) (let ((home (ctran-home-lambda-or-null start))) (when home - (pushnew var (lambda-calls-or-closes home)))) + (sset-adjoin var (lambda-calls-or-closes home)))) (when (lambda-var-ignorep var) ;; (ANSI's specification for the IGNORE declaration requires ;; that this be a STYLE-WARNING, not a full WARNING.) @@ -699,7 +699,9 @@ (:macro (ir1-convert start next result (careful-expand-macro (info :function :macro-function fun) - form))) + form)) + (unless (policy *lexenv* (zerop store-xref-data)) + (record-macroexpansion fun (ctran-block start) *current-path*))) ((nil :function) (ir1-convert-srctran start next result (find-free-fun fun "shouldn't happen! (no-cmacro)") @@ -825,7 +827,8 @@ (fun-lvar (make-lvar))) (ir1-convert start ctran fun-lvar `(the (or function symbol) ,fun)) (let ((combination - (ir1-convert-combination-args fun-lvar ctran next result (cdr form)))) + (ir1-convert-combination-args fun-lvar ctran next result + (cdr form)))) (when (step-form-p form) ;; Store a string representation of the form in the ;; combination node. This will let the IR2 translator know