X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fir1tran-lambda.lisp;h=a2b79660e3d9f6bc9db02a371b07ec212b9286fa;hb=578d987735906eb05829f0c2235a3ba9225c2bc4;hp=f424f51372be7d2dcde3f81320ac3df88685ccf7;hpb=49da8bb4ea5899e3d23cef4c80c246b2101cfaac;p=sbcl.git diff --git a/src/compiler/ir1tran-lambda.lisp b/src/compiler/ir1tran-lambda.lisp index f424f51..a2b7966 100644 --- a/src/compiler/ir1tran-lambda.lisp +++ b/src/compiler/ir1tran-lambda.lisp @@ -932,6 +932,14 @@ res)))) (defun wrap-forms-in-debug-catch (forms) + #!+unwind-to-frame-and-call-vop + `((multiple-value-prog1 + (progn + ,@forms) + ;; Just ensure that there won't be any tail-calls, IR2 magic will + ;; handle the rest. + (values))) + #!-unwind-to-frame-and-call-vop `( ;; Normally, we'll return from this block with the below RETURN-FROM. (block return-value-tag