kotct / dot

A collaborative configuration for various tools.
MIT License
3 stars 2 forks source link

Fix packup to correctly handle melpa-stable, and other fixes #108

Closed cg505 closed 6 years ago

cg505 commented 6 years ago

That's right: packup no longer tries to install the latest melpa even though you told it to use melpa-stable! Woo!

Other things I like are added. Feel free to complain if you don't like them.

This resolves #99.

cg505 commented 6 years ago

Since this PR does a LOT. I would appreciate it if you could checkout and try some things on the branch. You should be able to delete your .emacs.d/elpa directory entirely and get almost all packages from melpa-stable.

rye commented 6 years ago

Okay, I did that. I was able to install everything I needed.

~One thing is that we should make sure that packup-update doesn't try to update from a stable version to a non-stable version, which it seems to do. (Try deleting ~/.emacs.d/elpa, starting Emacs, answering y for everything, and then observe that M-x kotct/packup-update prompts you to install "newer" versions.)~

EDIT: ~I was on master. Boo.~ [EDIT 2:] ~I get the same behavior on packup-fixes, too. I'll try nuking .elc files to make sure it's not that.~ [EDIT 3:] It was my .elc files not getting cleaned. This problem no longer exists.

For reference, here's the package.el source that corresponds to the U behavior in package-list-packages.

cg505 commented 6 years ago

Yeah, we should essentially end up with the same result as using U in the packages buffer. The only lingering issue, I think is that transitive dependencies might not have updates triggered. This is a non-trivial fix, and I'll need to spend a while figuring it out. I don't really want to hold this up with that.

So... did it work on the real branch?

rye commented 6 years ago

Yes, I edited my comment a few times to match the current state of my hunt. After nuking .elc files, I ended up getting intended results. (U on package-list-packages reports no upgrades and M-x kotct/packup-update doesn't report any upgrades.)

cg505 commented 6 years ago

I am surprised nuking .elc files had an impact. We should always prefer the newer file between .el and .elc. It could be an issue with how we autoload. Probably requires further investigation in a separate issue.

I want to leave this open for at least a couple days in case @samontea has a chance to glance at it (since he wrote a lot of the code that was modified).

cg505 commented 6 years ago

@samontea :heart_eyes: