syl20bnr / spacemacs

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!
http://spacemacs.org
GNU General Public License v3.0
23.71k stars 4.9k forks source link

"load-hints" feature leaves behind autoload.el files in buffer list after rebuilding #16646

Closed ViktorHaag closed 2 weeks ago

ViktorHaag commented 2 weeks ago

Description :octocat:

After commit bd37f169c74f541a07729d209d7b1b1adfa77a5d ("Speedup the Spacemacs startup/loading with load-hints"), after installing one or more packages, Spacemacs leaves around a bunch of buffers for the rebuilt autoload.el files. These should get cleaned up so that they don't pollute the user's buffer workspace.

Reproduction guide :beetle:

Note that updating the current packages (and restarting to install the updates), or installing a new package will do the same thing.

Observed behaviour: :eyes: :broken_heart: After the repro steps rebuilt autoload files associated with the package installed/updated will be in the buffer list after restart.

Expected behaviour: :heart: :smile: Autoload elisp files that were involved in the rebuilding should be cleaned up and not appear in the buffer list after startup sequence is complete.

System Info :computer:

smile13241324 commented 2 weeks ago

@sunlin7 can you take a look? I think some more tweaking is required to make the load hints work properly

sunlin7 commented 2 weeks ago

Hi @smile13241324 @ViktorHaag

It won't affect the load-hints feature.

Yeh, I didn't close the *-autoloads.el buffers for don't know it was opened before the operation or not. I'm searching a better way to modify a *-autoloads.el when it already opened by Emacs, give me some time, will push a new MR to fix that.

Currently please close these *-autoloads.el buffers manually. Thanks. If possible, please let me know does the load-hints works for you or not (I tested on Windows 11/Ubuntu 20.04, but don't have the result from a macOS).

sunlin7 commented 2 weeks ago

Okay, actually the function package-generate-autoloads will close the *-autoloads.el, so open the *-autoloads file to apply patch then close it after the function is acceptable.

Please help review the changes. Thanks

sunlin7 commented 2 weeks ago

@smile13241324 Thank you so much! Appreciate it !

smile13241324 commented 2 weeks ago

@ViktorHaag I have merged @sunlin7 fix, please double check and confirm if it is working.