emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Has eval-and-compile changed in emacs 27?


From: Basil L. Contovounesios
Subject: Re: Has eval-and-compile changed in emacs 27?
Date: Fri, 26 Feb 2021 09:21:01 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Leo Liu <sdl.web@gmail.com> writes:

> On 2021-02-25 22:54 -0500, Stefan Monnier wrote:
>> No, it was new back when we added the "not known to exist at run-time",
>> i.e. a long time ago.
>
> But the erldoc.el has been compiling without warnings since 24.5 and it
> suddenly changes in 27.
>
>>> What prompted the change?
>>
>> We found it useful to try and warn the users when they did
>> (eval-when-compile (require FOO)) but FOO was also needed at run time.
>
> But it's been suggesting cl-reduce, cl-mapcan not defined at runtime
> when I explicitly have (require 'cl-lib) in the file which seems
> contradictory.

What's new in Emacs 27 is auth-source now does

  (require 'cl-lib)

instead of

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

lisp/auth-source.el: Depend on cl-lib unconditionally
90a7cd073b 2019-11-26 14:00:25 +0100
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=90a7cd073bfc7461e0bc824e9883499fe9026727

In turn, url-parse does

  (require 'auth-source)

and erldoc does

  (eval-when-compile (require 'url-parse))
  (require 'cl-lib)

This combination seems to confuse the byte-compiler.

-- 
Basil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]