0.pre7.98:
[sbcl.git] / src / compiler / ir1tran.lisp
index 61b9a74..8f68038 100644 (file)
     (etypecase var
       (leaf
        (when (lambda-var-p var)
-        (pushnew var
-                 (lambda-refers-to-vars (continuation-home-lambda start)))
+        (let ((home (continuation-home-lambda-or-null start)))
+          (when home
+            (pushnew 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.)
          (t
           (ir1-convert-global-functoid-no-cmacro start cont form fun)))))
 
-;;; Handle the case of where the call was not a compiler macro, or was a
-;;; compiler macro and passed.
+;;; Handle the case of where the call was not a compiler macro, or was
+;;; a compiler macro and passed.
 (defun ir1-convert-global-functoid-no-cmacro (start cont form fun)
   (declare (type continuation start cont) (list form))
   ;; FIXME: Couldn't all the INFO calls here be converted into
              (return))
            (let ((this-cont (make-continuation)))
              (ir1-convert this-start this-cont form)
-             (setq this-start this-cont  forms (cdr forms)))))))
+             (setq this-start this-cont
+                   forms (cdr forms)))))))
   (values))
 \f
 ;;;; converting combinations
            (specifier-type 'function))))
 
   (values))
-\f
-;;;; hacking function names
-
-;;; This is like LAMBDA, except the result is tweaked so that FUN-NAME
-;;; can extract a name. (Also possibly the name could also be used at
-;;; compile time to emit more-informative name-based compiler
-;;; diagnostic messages as well.)
-(defmacro-mundanely named-lambda (name args &body body)
-
-  ;; FIXME: For now, in this stub version, we just discard the name. A
-  ;; non-stub version might use either macro-level LOAD-TIME-VALUE
-  ;; hackery or customized IR1-transform level magic to actually put
-  ;; the name in place.
-  (aver (legal-fun-name-p name))
-  `(lambda ,args ,@body))