emacs-compat / compat

COMPATibility Library for Emacs Lisp
https://elpa.gnu.org/packages/compat.html
GNU General Public License v3.0
69 stars 12 forks source link

compat-30.el issue #48

Closed OrionRandD closed 4 months ago

OrionRandD commented 4 months ago

I have got Emacs GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) of 2024-06-29, modified by Debian

And compat installed in: $HOME/.emacs.d/elpa/compat-30.0.0.0

But, I had to delete these two file for Emacs to load OK... compat-30.el compat-30.elc

If I have these two files installed, Emacs fails to load all libraries without any issue... Now it works fine, but I get a message saying that I am missing these packages... :(

phikal commented 4 months ago

OrionRandD @.***> writes:

I have got Emacs GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) of 2024-06-29, modified by Debian

And compat installed in: $HOME/.emacs.d/elpa/compat-30.0.0.0

But, I had to delete these two file for Emacs to load OK... compat-30.el compat-30.elc

Why did you have to delete these files, and how did you come to that decision? These files contain exactly the definitions that packages other packages are depending on when they require Compat, so issues are immanent.

A quick fix should be M-x package-reinstall compat, but if there is an actual problem with the compat-30 files, then that won't be of much use.

If I have these two files installed, Emacs fails to load all libraries without any issue... Now it works fine, but I get a message saying that I am missing these packages... :(

-- Philip Kaludercic on peregrine

minad commented 4 months ago

A small addendum to Philip's suggestion - after reinstalling Compat (M-x package-reinstall), reinstall/recompile all packages depending on Compat to fix possible miscompilations - in case of doubt, recompile all packages (M-x package-recompile-all).

OrionRandD commented 4 months ago

OrionRandD @.***> writes: I have got Emacs GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) of 2024-06-29, modified by Debian And compat installed in: $HOME/.emacs.d/elpa/compat-30.0.0.0 But, I had to delete these two file for Emacs to load OK... compat-30.el compat-30.elc Why did you have to delete these files, and how did you come to that decision? These files contain exactly the definitions that packages other packages are depending on when they require Compat, so issues are immanent. A quick fix should be M-x package-reinstall compat, but if there is an actual problem with the compat-30 files, then that won't be of much use. If I have these two files installed, Emacs fails to load all libraries without any issue... Now it works fine, but I get a message saying that I am missing these packages... :( -- Philip Kaludercic on peregrine

I decided to delete these 2 files because, When I have these two files (note the whole compat package) , I get this error cl-generic-ensure-function: transient--init-suffix-key is already defined as something else than a generic function And my Emacs does not load fine. When I delete them, this transient--init-suffix-key error disappear and Emacs loads fine... ???!!!

minad commented 4 months ago

@OrionRandD I don't understand how you conclude that Compat is causing this. Please try to reset your configuration. Delete all elpa packages (and compiled files in your .config/emacs directory) and then reinstall all packages from scratch. If the problem persists, please report the exact error messages you observe, ideally including stack traces. Otherwise we have no chance debugging this problem.

Thaodan commented 4 months ago

Is the latest release a stable release given that Emacs 30 hasn't been released yet?

minad commented 4 months ago

@Thaodan It is a matter of definition. The package release is tagged as stable, yes. The API from compat-29 and older is stable and won't change. On the other hand the API exported by compat-30 is not yet fully frozen given that the emacs-30 branch may still change slightly. But as soon as we discover incompatibilities between the emacs-30 branch and compat-30 we can tag a new Compat 30.0.x.y release. Nevertheless package authors should take some care when relying on new compat-30 functionality.

Thaodan commented 4 months ago

Ok thanks for answering. Sounds like it's safe to update then.