emacs-eldev / eldev

Elisp development tool
https://emacs-eldev.github.io/eldev/
GNU General Public License v3.0
230 stars 17 forks source link

Support flymake #96

Closed publicimageltd closed 10 months ago

publicimageltd commented 11 months ago

I used to use flycheck, which integrated well with Eldev (using flycheck-eldev). Since Emacs 29.1., however, I switched to flymake in all other programming projects since Eglot supports it natively. So I would like to use flymake with Eldev. Is there an easy way to do this?

Flymake currently does not recognize the project-specific dependencies, as they are installed by Eldev (eldev depedencies). Maybe there's some kind of workaround to point it to the paths. There's the variable elisp-flymake-byte-compile-load-path, but I would not know e.g. how to programmatically find the paths for the dependencies installed by Eldev.

doublep commented 10 months ago

See https://github.com/emacs-eldev/flymake-eldev

Please make some basic tests and tell me if there is something badly wrong with it. I will submit the project to MELPA tomorrow.

publicimageltd commented 10 months ago

First of all: WOW! I had wanted to write you 'never mind, I'll use flycheck', but that's really great. Thanks a lot!

I tinkered around with it, and it seems to work. Only thing that irritates me is the following: I have a package declaration in one of my projects (delve-pkg.el) which uses define-package. One dependency there is (lister "0.9.6."). That package is installed locally and declared via Eldev-local: (eldev-use-local-dependency ....); but the online version is also up-to-date. Yet if I visit the Eldev file, flymake now complains it can't match the version. It could get "at most 0.9.4.", it says. This error does only appear in the Eldev buffer.

This is weird, since I don't have this version 0.9.4 installed anywhere. eldev dependencies shows the right versions, too. Plus that the error is only shown in the Eldev file, the other files are checked alright. The tests work, too.

I have happily removed all flycheck configurations!

doublep commented 10 months ago

Sorry, I don't quite follow. Can it be that you have different Emacs versions on your machine, Eldev uses different dependency versions in those (you can find out by issuing $ find .eldev) and you somehow use different versions of Emacs for real editing and from command line?

publicimageltd commented 10 months ago

I don't know what happened, the error is gone now. I do have only one Emacs version on my machine. I thought it might be related to byte compilation, because the advertised version number was the old one. Maybe the file got byte compiled and is recognized now? Whatever it was, I can't replicate it anymore.