GNU bug report logs - #22291
25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case'

Previous Next

Package: emacs;

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#22291: closed (25.1.50; REGRESSION: Emacs 24.3 breaks loading
 cl-macs to get macro `case')
Date: Sat, 02 Jan 2016 17:46:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 02 Jan 2016 19:44:44 +0200
with message-id <837fjrc1v7.fsf <at> gnu.org>
and subject line Re: bug#22291: 25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case'
has caused the debbugs.gnu.org bug report #22291,
regarding 25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case'
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> 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)]
From: Drew Adams <drew.adams <at> oracle.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.1.50; REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro
 `case'
Date: Fri, 1 Jan 2016 19:23:03 -0800 (PST)
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''


[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 22291-done <at> debbugs.gnu.org
Subject: Re: bug#22291: 25.1.50;
 REGRESSION: Emacs 24.3 breaks loading cl-macs to get macro `case'
Date: Sat, 02 Jan 2016 19:44:44 +0200
> 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.


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.