X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmain.lisp;h=d77ff04ba15ba370333acc9d7c7c47940f3c52dd;hb=7e24349c17298e2959e853ea411b5f65d9f7f332;hp=959fd821b2b1d966f6b2924fb960bbfffcec80fb;hpb=4d8b3b1da4d960a6ff768c9e6ee8f99bf270b631;p=sbcl.git diff --git a/src/compiler/main.lisp b/src/compiler/main.lisp index 959fd82..d77ff04 100644 --- a/src/compiler/main.lisp +++ b/src/compiler/main.lisp @@ -977,7 +977,16 @@ (funcall #'ir1-convert-lambdalike definition :source-name name))) - (debug-name (debug-name 'tl-xep name)) + (debug-name (debug-name 'tl-xep + (or name + (functional-%source-name locall-fun)))) + ;; Convert the XEP using the policy of the real + ;; function. Otherwise the wrong policy will be used for + ;; deciding whether to type-check the parameters of the + ;; real function (via CONVERT-CALL / PROPAGATE-TO-ARGS). + ;; -- JES, 2007-02-27 + (*lexenv* (make-lexenv :policy (lexenv-policy + (functional-lexenv locall-fun)))) (fun (ir1-convert-lambda (make-xep-lambda-expression locall-fun) :source-name (or name '.anonymous.) :debug-name debug-name))) @@ -1516,8 +1525,8 @@ ;; the input file. (fatal-compiler-error (condition) (signal condition) - (when *compile-verbose* - (format *standard-output* + (pprint-logical-block (*error-output* nil :per-line-prefix "; ") + (format *error-output* "~@" condition)) (values nil t t)))))