0.pre8.5:
[sbcl.git] / src / compiler / main.lisp
index 01bca3a..e255974 100644 (file)
   `(%with-compilation-unit (lambda () ,@body) ,@options))
 
 (defun %with-compilation-unit (fn &key override)
+  (declare (type function fn))
   (let ((succeeded-p nil))
     (if (and *in-compilation-unit* (not override))
        ;; Inside another WITH-COMPILATION-UNIT, a WITH-COMPILATION-UNIT is
     (setf (component-name component)
          (debug-namify "~S initial component" name))
     (setf (component-kind component) :initial)
-    (let* ((locall-fun (ir1-convert-lambda
+    (let* ((locall-fun (ir1-convert-lambdalike
                         definition
                         :debug-name (debug-namify "top level local call ~S"
-                                                  name)))
+                                                  name)
+                       ;; KLUDGE: we do this so that we get to have
+                       ;; nice debug returnness in functions defined
+                       ;; from the REPL
+                       :allow-debug-catch-tag t))
            (fun (ir1-convert-lambda (make-xep-lambda-expression locall-fun)
                                    :source-name (or name '.anonymous.)
                                    :debug-name (unless name