emacs-helm / helm

Emacs incremental completion and selection narrowing framework
https://emacs-helm.github.io/helm/
GNU General Public License v3.0
3.37k stars 390 forks source link

`helm-config.el` removed but some packages still depend on it #2578

Closed tarsius closed 1 year ago

tarsius commented 1 year ago

What happened?

The file helm-config.el was removed in e81fbbc687705595ab65ae5cd3bdf93c17a90743.

A few third-party packages still depend on that library.

I am summoning their maintainers to hopefully get this resolved soon.

All but one of these maintainers have very little activity on Github, so it might be a good idea to restore the file for the time being, even if all it does is to require some other helm library (and provide its own feature of course).

How to reproduce?

Update to the newest version of helm.

Helm Version

Master branch

Emacs Version

Emacs-28/29

OS

GNU/Linux

Relevant backtrace (if possible)

No response

Minimal configuration

DarwinAwardWinner commented 1 year ago

Hmm, amx is supposed to optionally depend on helm (it's one of the supported completion backends). It should still install and run fine without it, but I'll look into it. (The tests will probably fail though since they test all the backends.)

thierryvolpiatto commented 1 year ago

Jonas Bernoulli @.***> writes:

What happened?

The file helm-config.el was removed in e81fbbc.

A few third-party packages still depend on that library.

• [ ] amx @DarwinAwardWinner • [ ] helm-ag-r @yuutayamada • [ ] helm-cmd-t @lewang • [ ] helm-dirset @k1LoW • [ ] helm-git-files @kenbeese • [ ] serverspec @k1LoW

I am summoning their maintainers to hopefully get this resolved soon.

(require 'helm-config) == (require 'helm-autoloads)

And packages do NOT have to load the autoload file of a package, packages managers are doing it for them on initialization. If one install Helm from source, she can just (require 'helm-autoloads).

-- Thierry

4e6 commented 1 year ago

(require 'helm-config) == (require 'helm-autoloads)

When I do (require 'helm-autoloads) the initialization fails with

error: Loading file /home/dbushev/.emacs.d/elpa/helm-20221212.628/helm-autoloads.el failed to provide feature ‘helm-autoloads’
thierryvolpiatto commented 1 year ago

Dmitry Bushev @.***> writes:

(require 'helm-config) == (require 'helm-autoloads)

When I do (require 'helm-autoloads) the initialization fails with

error: Loading file /home/dbushev/.emacs.d/elpa/helm-20221212.628/helm-autoloads.el failed to provide feature ‘helm-autoloads’

Read carefully my previous post, you DON'T need to load autoloads yourself, I even don't know if helm-autoloads.el exists in such case.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.*Message ID: @.***>

-- Thierry

thierryvolpiatto commented 1 year ago

Dmitry Bushev @.***> writes:

When I do (require 'helm-autoloads) the initialization fails with

And anyway if this fails, (require 'helm-config) will fail as well.

-- Thierry

thierryvolpiatto commented 1 year ago

@tarsius

All but one of these maintainers have very little activity on Github, so it might be a good idea to restore the file for the time being, even if all it does is to require some other helm library (and provide its own feature of course).

No, if I restore this, they will never fix it.

tarsius commented 1 year ago

No, if I restore this, they will never fix it.

I haven't realized that this already was a stub of the kind I was suggesting. I agree, at some point you have to remove such kludges and hope for the best. Maybe you have already informed the maintainers at an earlier time, in which case this at least serves as a reminder.

truthdoug commented 1 year ago

I've recently updated packages on my local emacs and got a bunch of helm related errors. I'm pretty sure now that it's related to (require 'helm-config) being in my .emacs.

I've looked around docs but have found nothing about this being deprecated or what users like me should do to update our emacs config. Can you provide advice?

thierryvolpiatto commented 1 year ago

If you installed Helm from package, requiring 'helm-config was an error, what you have to do is just remove (require 'helm-config) from your init file, that's all.

truthdoug commented 1 year ago

Thank you!

rkachach commented 1 year ago

ran in the same issue, it would be good to document this somewhere.

thierryvolpiatto commented 1 year ago

Redouane Kachach @.***> writes:

ran in the same issue, it would be good to document this somewhere.

Done https://github.com/emacs-helm/helm/wiki#configure

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.*Message ID: @.***>

-- Thierry

rkachach commented 1 year ago

Thanks :+1:

tarsius commented 1 year ago

Hmm, amx is supposed to optionally depend on helm (it's one of the supported completion backends). It should still install and run fine without it, but I'll look into it. (The tests will probably fail though since they test all the backends.)

@DarwinAwardWinner The package still compiles and other backends can be used, but if you try to use the helm backend, then that fails. If you do that, then an attempt is made to require helm-config, but helm doesn't provide such a feature anymore. You should require helm instead.

herop commented 1 year ago

Still, even if I don't use any depending packages and use nowhere "require helm-config", the error thrown by "doom doctor" always is

x There was an unexpected runtime error Message: File is missing Details: ("Cannot open load file" "No such file or directory" "helm-config") Backtrace: (require helm-config) (load-with-code-conversion "c:/Users

WHAT can I do, please help me out here, Thank you

tarsius commented 1 year ago

nowhere "require helm-config"

Clearly something still tries to load it.

WHAT can I do, please help me out here,

Search for just helm-config in all files, including byte-code files.

tarsius commented 1 year ago

I've removed the remaining packages from Melpa because they are no longer usable.