packages that use compat-declare-version
break under compat 28.1.2. compat-declare-version
is defined as a macro and other functions do not perform macro-expand. Defining this macro definition as a function is a work around.
"~minifridge" outgoing@sr.ht writes:
packages that use
compat-declare-version
break under compat 28.1.2.compat-declare-version
is defined as a macro and other functions do not perform macro-expand. Defining this macro definition as a function is a work around.No package should use
compat-declare-version
, that is an internal macro defined incompat-macs.el
, so I am afraid I don't understand the issue.What exactly breaks? Also, are you using an atypical package management system (straight, borg, ...)?
I have managed to reproduce the issue. From what I understand the issue lies in Emacs not reloading
compat-macs.el
before evaluatingcompat-NM.el
files. I have published a minor version that requirescompat-macs.el
even when the file is not being compiled and that preventscompat-macs.el
from being byte compiled in the first place.
Yes, you are right. None of the packages failing actually use the
compat-declare-version
macro. They just depend oncompat
This update alone was not sufficient for me. I did need to recompile several packages. Rather than selectively recompiling, I recompiled them all:
M-: (byte-recompile-directory package-user-dir nil 'force)
After recompiling and restarting, I had no further issues.
"~titanofold" outgoing@sr.ht writes:
This update alone was not sufficient for me. I did need to recompile several packages. Rather than selectively recompiling, I recompiled them all:
M-: (byte-recompile-directory package-user-dir nil 'force)
After recompiling and restarting, I had no further issues.
That is in line with what I understand the issue to be. What I don't know is if there is any way around the issue that this issue arises whenever a macro is added or modified.
https://git.sr.ht/~pkal/compat/commit/2ad7057293b0ab74ebbf50808d4581b43a1bff4a
This is another attempt at solving the issue. It will probably be released along with the next version of Compat.
This issue was mentioned on emacs-devel: https://mail.gnu.org/archive/html/emacs-devel/2022-09/msg01511.html