GNU bug report logs - #53014
27.2; `cl-macs.el' no longer provides `cl-macs'

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Tue, 4 Jan 2022 21:15:02 UTC

Severity: minor

Tags: notabug, wontfix

Found in version 27.2

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53014 in the body.
You can then email your comments to 53014 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#53014; Package emacs. (Tue, 04 Jan 2022 21:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Drew Adams <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 04 Jan 2022 21:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: 27.2; `cl-macs.el' no longer provides `cl-macs'
Date: Tue, 4 Jan 2022 21:14:08 +0000
Presumably a design bug, i.e., intentional.

Until Emacs 27, code could use this to load the macros defining things
like `cl-case' (which has  l o n g  been aliased to `case', and which
should even be in Emacs Lisp itself, as is `push'):

(eval-when-compile (require 'cl-macs))

Emacs 27 breaks that.  Now, if you need only CL macros, you need to
require `cl-lib.el' instead.  So any library that needs something like
`case', and needs to support both Emacs 27+ and older Emacs versions,
needs to jump through a hoop such as this (or another, using
`load-library'):

(eval-when-compile 
  (require (if (< emacs-major-version 27) 'cl-macs 'cl-lib)))

Gratuitous bother.  Or was there some real need for introducing the
incompatibility?

In GNU Emacs 27.2 (build 1, x86_64-w64-mingw32)
 of 2021-03-26 built on CIRROCUMULUS
Repository revision: deef5efafb70f4b171265b896505b92b6eef24e6
Repository branch: HEAD
Windowing system distributor 'Microsoft Corp.', version 10.0.19042
System Description: Microsoft Windows 10 Pro (v10.0.2009.19042.1348)





Added tag(s) wontfix and notabug. Request was from Glenn Morris <rgm <at> fencepost.gnu.org> to control <at> debbugs.gnu.org. (Wed, 05 Jan 2022 01:30:02 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 05 Jan 2022 01:30:02 GMT) Full text and rfc822 format available.

Notification sent to Drew Adams <drew.adams <at> oracle.com>:
bug acknowledged by developer. (Wed, 05 Jan 2022 01:30:02 GMT) Full text and rfc822 format available.

Message #12 received at 53014-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 53014-done <at> debbugs.gnu.org
Subject: Re: bug#53014: 27.2; `cl-macs.el' no longer provides `cl-macs'
Date: Tue, 04 Jan 2022 20:28:58 -0500
There are several misconceptions in this report.

cl-macs.el continues to provide cl-macs, as it always has done.

Loading internal sub-components of cl-lib has always been discouraged.

The way to use cl-lib continues to be to (require 'cl-lib).
Code needing only macros can add eval-when-compile to that.
This is documented in the usage node of the cl manual.

(This was explained 6 years ago in bug#22291.)




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Feb 2022 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 80 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.