1.0.2.26: replace *all-components* special with a local variable
[sbcl.git] / src / compiler / ir1tran.lisp
index 81588fb..e633b96 100644 (file)
        (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.)
     (: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)")
         (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