[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs-29: let*: Symbol’s function definition is void: \(setf\ compat
From: |
Tassilo Horn |
Subject: |
Re: emacs-29: let*: Symbol’s function definition is void: \(setf\ compat-alist-get\) with Magit |
Date: |
Thu, 19 Jan 2023 10:57:48 +0100 |
User-agent: |
mu4e 1.9.16; emacs 30.0.50 |
Robert Pluim <rpluim@gmail.com> writes:
>>>>>> On Wed, 18 Jan 2023 19:39:54 +0100, Tassilo Horn <tsdh@gnu.org> said:
>
> Tassilo> The result of that coordination was that when API-breaking compat
> Tassilo> appeared, those packages had the required changes in place and
> Tassilo> required
> Tassilo> the new compat version. On package update, first the new compat
> Tassilo> was
> Tassilo> installed, then the packages using the compat library.
>
> Tassilo> However, it seems like when a package gets updated, it's not
> Tassilo> reloaded
> Tassilo> and thusly the packages using the compat library where compiled
> Tassilo> with the
> Tassilo> old compat version and that's why those errors popped up.
>
> Tassilo> Basically, there has been a compat (the package) change
> Tassilo> where after updating the compat package, one has to
> Tassilo> re-install magit (and other packages) using that new
> Tassilo> compat version. That is required because some macro has
> Tassilo> been changed.
>
> That could or could not be an Emacs bug. I guess weʼd need a recipe
> from 'emacs -Q' to be sure.
How would one create a recipe with emacs -Q when one is interested in
package updates? I guess one would rather use emacs -q in a testuser
account with no ~/.emacs.
I think what one has to do would create fake packages
macro-1.0
use-macro-1.0 requires macro-1.0
and install use-macro-1.0, macro-1.0 as a dependency. Then make a
breaking change in macro leading to macro-2.0 required by use-macro-2.0
which will error if use-macro-2.0 was compiled with macro-1.0 instead of
2.0.
Bye,
Tassilo