0.8.2.38:
[sbcl.git] / src / compiler / ir1tran-lambda.lisp
index d55bdeb..b7d218e 100644 (file)
     ((named-lambda)
      (let ((name (cadr thing)))
        (if (legal-fun-name-p name)
-          (let ((res (apply #'ir1-convert-lambda `(lambda ,@(cddr thing))
+          (let ((defined-fun-res (get-defined-fun name))
+                 (res (apply #'ir1-convert-lambda `(lambda ,@(cddr thing))
                             :source-name name
                             :debug-name nil
                             args)))
             (assert-global-function-definition-type name res)
+             (setf (defined-fun-functional defined-fun-res)
+                   res)
+             (unless (eq (defined-fun-inlinep defined-fun-res) :notinline)
+               (substitute-leaf res defined-fun-res))
             res)
           (apply #'ir1-convert-lambda `(lambda ,@(cddr thing))
                  :debug-name name args))))