GNU bug report logs -
#63288
30.0.50; Emacs 30 packages fail to build with native comp on some machines
Previous Next
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
[Message part 1 (text/plain, inline)]
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>>>> No, in some cases you must use (cl-declare (special ...)), and no you
>>>> can't use defvar in such cases, so if you intend to remove/deprecate
>>> Could you show us an example?
>> I used it in helm--completion-in-region to pass PROMPT and
>> REQUIRE-MATCH,
>
> Actually, no, you didn't. 🙁
> I mean, yes you did use it, but no it did not "pass PROMPT and
> REQUIRE-MATCH".
It used to work (circa 26?), but yes now it is broken, since when I
don't know, I rarely use CRM (I saw just yesterday PROMPT was no more
passing, thanks to this thread). So because this is no more working, I
understand you don't want to bother maintaining this code which looks
complex indeed.
>> (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,
same as (defvar reporter) as you have mentioned below.
>> of course you can use a defvar in this case,
>
> Exactly: (defvar reporter) would have the same effect.
>
>
> Stefan
--
Thierry
[signature.asc (application/pgp-signature, inline)]
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.