Feature provided by other file: project #1436
-
I can't start eglot anymore because of "Feature provided by other file: project". |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 23 replies
-
GNU Emacs 28.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0) of 2024-06-15, modified by Debian |
Beta Was this translation helpful? Give feedback.
-
If the problem is Normally this happens automatically because all the installed packages (such as |
Beta Was this translation helpful? Give feedback.
-
By pressing `c`, I see than in my case, the feature seems to be loaded
by `python` (which is loaded by `ob-python` for
`org-babel-load-languages`), then `projectile`, then `pet`
The question is not just "what loads it" but also why does it load
*another* `project.el` file, which is presumably due to a change in
`load-path`.
So, you need to correlate the above occurrences of requiring `project`
with changes to `load-path`. Does one of the above occurrences happen
before `package-activate-all` is done?
|
Beta Was this translation helpful? Give feedback.
-
By pressing `c`, I see than in my case, the feature seems to be loaded
by `python` (which is loaded by `ob-python` for
`org-babel-load-languages`), then `projectile`, then `pet`
BTW, I just pushed to Emacs's `master` a change that makes the "Feature
provided by other file" error/warning a bit more verbose: it shows both
the (new) file that would be loaded now and the file that was
previously loaded, both of which presumably provide the same feature.
|
Beta Was this translation helpful? Give feedback.
-
I have not solved this for all the packages I work with, but I got it working with the all important magit.
(use-package eglot
:defer t
:config
;; other stuff ))
(require 'project)
(use-package magit
:defer t
)
(add-hook 'csharp-mode-hook 'eglot-ensure) |
Beta Was this translation helpful? Give feedback.
-
```
require-with-check: Feature ‘project’ loaded from
"~/vc/emacs-master/lisp/progmodes/project.el" is now provided by
"~/vc/emacs-master/lisp/progmodes/project.elc"
```
Hmm... yes, this looks like a spurious case, indeed.
I guess the issue is that `locate-file` returns the `.elc` file so
`require-with-check` thinks we'd load the `.elc` file, but the `load`
would under the hood turn around and load the `.el` file instead!
So the equality check in `require-with-check` is too strict here.
|
Beta Was this translation helpful? Give feedback.
-
Hmm... yes, this looks like a spurious case, indeed.
I guess the issue is that `locate-file` returns the `.elc` file so
`require-with-check` thinks we'd load the `.elc` file, but the `load`
would under the hood turn around and load the `.el` file instead!
So the equality check in `require-with-check` is too strict here.
I opened bug#74040 for it.
|
Beta Was this translation helpful? Give feedback.
-
I pushed a fix for bug@74040 to the |
Beta Was this translation helpful? Give feedback.
solved: