GNU bug report logs - #63288
30.0.50; Emacs 30 packages fail to build with native comp on some machines

Previous Next

Package: emacs;

Reported by: Brian Leung <leungbk <at> posteo.net>

Date: Fri, 5 May 2023 04:00:02 UTC

Severity: normal

Found in version 30.0.50

Done: Pip Cet <pipcet <at> protonmail.com>

Bug is archived. No further changes may be made.

Full log


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

From: Stefan Kangas <stefankangas <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Mark cl-proclaim, cl-declaim, and cl-declare as obsolete
Date: Wed, 19 Feb 2025 01:08:39 +0000
[Message part 1 (text/plain, inline)]
Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs <at> gnu.org> writes:

>> I really don't understand this code, I'm afraid.
>
> Don't worry: I don't think anybody does (I sure don't).
>
> It's code inherited from *many* years ago, where it approximated the
> desired semantics via approximate hacks (like delaying assignments
> until some package is loaded).
>
> We could try and go back to the CLHS doc to figure out what it "should"
> do, and then implement it better.  But seeing how little it's used,
> I doubt it's worth the trouble (my impression is that its intended
> semantics doesn't align very well with our implementation(s), so it
> would take work and/or ugly hacks to make it work "right").
>
>> So I'll commit the minimal change above, and hope that the rest of the
>> problem goes away when you have the time to look at it next :-)
>
> Looking at it doesn't make me very happy, so I don't have any plan to
> look at it.
>
> If you want to do me a favor you could try and mark it (both `proclaim`
> and `declaim`) as deprecated.

(This is a spin-off from Bug#63288.)

The code for the cl-lib declarations, i.e. (info "(cl) Declarations"),
is hacky, hard to maintain, and not well-understood by anyone.  It
doesn't seem to provide any benefits over using standard Emacs Lisp
facilities such as `declare`, `defvar`, and setting byte-compiler
variables.

The attached patch marks cl-proclaim, cl-declaim, and cl-declare as
obsolete.
[0001-Mark-cl-proclaim-cl-declaim-and-cl-declare-as-obsole.patch (text/x-patch, attachment)]

This bug report was last modified 132 days ago.

Previous Next


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