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


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Thierry Volpiatto <thievol <at> posteo.net>
Cc: Pip Cet <pipcet <at> protonmail.com>, acorallo <at> gnu.org, Eli Zaretskii <eliz <at> gnu.org>, Stefan Kangas <stefankangas <at> gmail.com>, 63288 <at> debbugs.gnu.org
Subject: bug#63288: [PATCH] Mark cl-proclaim, cl-declaim, and cl-declare as obsolete
Date: Wed, 19 Feb 2025 23:43:29 -0500
>>> (defmacro my-with-progress (&rest body)
>>>   `(let ((reporter (make-progress-reporter "Updating...")))
>>>      (progn
>>>        ,@body)))
>>>
>>> (defun my-updating ()
>>>   (cl-declare (special reporter))
>>>   (my-with-progress
>>>    (cl-loop for elm in '(a b c d e f g)
>>>             do (progn
>>>                  (sit-for 1)
>>>                  (progress-reporter-update reporter))
>>>             collect elm)))
>>
>> I don't see what is the use of (cl-declare (special reporter)) here.
>> What do you think it changes to the behavior of this code?
>
> It declare reporter as a variable and prevent byte compile warnings,

Really?  AFAICT the code should work just fine, and without warnings, if
you just remove the `cl-declare` and leave the variable be lexically scoped.


        Stefan





This bug report was last modified 131 days ago.

Previous Next


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