X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmain.lisp;h=e25597448ca93506218f421401874a402081b8d9;hb=d61775ee52828f379eb6acedca421d5a55bfa2bd;hp=01bca3ad44fd738bad09fe250e92ba05a42d9265;hpb=6498af7fdc48d9bf5df33e75d7e4d385893feb06;p=sbcl.git diff --git a/src/compiler/main.lisp b/src/compiler/main.lisp index 01bca3a..e255974 100644 --- a/src/compiler/main.lisp +++ b/src/compiler/main.lisp @@ -121,6 +121,7 @@ `(%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 @@ -870,10 +871,14 @@ (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