Subject: bug#74870: cl-labels and cl-flet don't create named blocks

From: Stefan Monnier <[email-masked]>
Date: Mon, 16 Dec 2024 22:23:24 -0500

>> In ANSI CL, these should create a named CL:BLOCK, allowing one to do a local return via
>> CL:RETURN-FROM. In Emacs, this is not the case, resulting in an uncaught exception.
> I'm guessing this is a documentation bug, in that this particular
> aspect of CL is not emulated by cl-labels.
> Stefan, am I right?

Could be.  Or it could be an oversight, maybe dating back to many many
years ago, and that nobody noticed until now.

Whichever was the original reason, now we get to decide whether we keep
the behavior or not.  Following Common Lisp's lead should not introduce any
backward compatibility issue, all it would cost us is a slightly more
costly macroexpansion for those macros.

        Stefan