Ha ha ha. It's so simple!
Backstory: the CMUCL debugger has in its help for the debugger, among other things:
(DEBUG:DEBUG-RETURN expression) returns expression's values from the current frame, exiting the debugger.
This is a marvellous feature to have -- it allows spectacularly dynamic interactive programming: "Oh, whoops, I made an error in that function; it lands me into the debugger. OK, from the debugger I redefine the function; then I return from the frame the answer I should have got, and the computation carries on." This means you can patch programs on the fly, even if they contain errors (this is so much nicer than just dumping core).
The catch is that the DEBUG:DEBUG-RETURN command was unimplemented, on the grounds that it would involve rearranging stack frames and so on, making it a "wizard-level" operation. Until now, when a self-confessed Lisp and CMUCL newbie popped up on the lists saying
I have implemented the ability to return a value from a frame chosen in the debugger. The solution is quite simple but it's probably possible to do it a lot more efficient. What I do is basically to encapsulate the code in all function defining forms (defun, flet, labels and function) with
(catch (incf c::*debug-catch-tag*) <original-code>)
It's so simple — the sound you're hearing is the sound of several CMUCL developers' foreheads being slapped.