[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22291: 25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get
From: |
Eli Zaretskii |
Subject: |
bug#22291: 25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case' |
Date: |
Sat, 02 Jan 2016 10:37:21 +0200 |
> Date: Fri, 1 Jan 2016 19:23:03 -0800 (PST)
> From: Drew Adams <drew.adams@oracle.com>
>
> This regression was introduced in Emacs 24.3. Prior to that, code could
> use (require 'cl-macs) to have macros such as `case' provided at
> runtime.
>
> (eval-when-compile (require 'cl)) still works, of course. But neither
> (eval-when-compile (require 'cl-macs)) nor (require 'cl-macs) defines
> macro `case', starting with Emacs 24.3.
>
> This gratuitously breaks any existing code that loads cl-macs expecting
> to get the definition of `case'. This breakage should not be necessary.
>From NEWS.24, under "Changes in Specialized Modes and Packages in
Emacs 24.3":
*** CL's main entry is now (require 'cl-lib).
`cl-lib' is like the old `cl' except that it uses the namespace cleanly;
i.e., all its definitions have the "cl-" prefix (and internal definitions
use the "cl--" prefix).
If `cl' provided a feature under the name `foo', then `cl-lib'
provides it under the name `cl-foo' instead; with the exceptions of the
few `cl' definitions that had to use `foo*' to avoid conflicts with
pre-existing Elisp entities. These have been renamed to `cl-foo'
rather than `cl-foo*'.
IOW, this was a deliberate change, and you should either use 'cl-case'
with Emacs versions since 24.3, or use 'cl' instead of 'cl-macs'.
OK?