GNU bug report logs -
#22291
25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case'
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sat, 2 Jan 2016 03:24:01 UTC
Severity: wishlist
Tags: notabug, wontfix
Found in version 25.1.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#22291: 25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case'
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 22291 <at> debbugs.gnu.org.
--
22291: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22291
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> Date: Sat, 2 Jan 2016 09:28:02 -0800 (PST)
> From: Drew Adams <drew.adams <at> oracle.com>
> Cc: 22291 <at> debbugs.gnu.org
>
> > 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'.
>
> I know all of that. Just because something was decided does not mean
> that that decision was the best decision possible, or even wise.
>
> This is a gratuitous change that breaks backward compatibility. That's
> the point. Gratuitous - unnecessary.
>
> Personally I tend to require `cl', and at compile-time only, to get
> such macros. But it is entirely reasonable that someone might require
> `cl-macs' - at runtime or compile time - to get such a macro definition.
>
> And if some user does not compile the code that requires the library
> that provides the macro, then s?he will now get the entire `cl' at
> runtime, instead of getting only the much-smaller `cl-macs' at runtime.
>
> > OK?
>
> Not IMHO.
So I guess we will have to agree to disagree on this one.
From my POV, this is not a bug, but a deliberate change that is well
documented.
Closing.
[Message part 3 (message/rfc822, inline)]
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.
In GNU Emacs 25.1.50.1 (i686-pc-mingw32)
of 2015-12-10
Bzr revision: 6148555ee5a3d0139ae517803718b3e0357933c7
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --prefix=/c/Devel/emacs/snapshot/trunk --enable-checking=yes
--enable-check-lisp-object-type --without-compress-install 'CFLAGS=-Og
-ggdb3' LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
-Ic:/Devel/emacs/include''
This bug report was last modified 9 years and 144 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.