About 2) the use-package forms happen after I load custom-file. I just manually deleted those 3 packages and reinstalled them from the package manager and then M-x package-autoremove displayed "Nothing to autoremove". But I noticed that that process did not update the package-selected-packages to the custom.el. I had to manually eval (package--save-selected-packages (package--find-non-dependencies)) in order to update the custom.el Before that, of course, after each emacs restart, package.el was trying to autoremove those 3 packages. On Thu, May 21, 2015 at 10:58 AM Artur Malabarba wrote: > 2015-05-21 15:35 GMT+01:00 Kaushal : > > I just updated to the latest commit on emacs master and tried out > > package-autoremove. > > > > That suggested removing 3 packages (symon, minibuffer-line, > > git-timemachine), out of which I actually use 2: minibuffer-line, > > git-timemachine. > > > > For example, I have this in my init: > > > > ;; Display date+time in the minibuffer instead of in the mode-line > > (use-package minibuffer-line > > There are two possibilities for why this happened. > > 1. The first time you start Emacs after the commit that introduced > selected-packages, package.el will try to guess which of your packages > were explicitly installed by you, and which were pulled in as deps. > It's impossible to know for sure, so this guessing is bound to go > wrong on some instances. > > 2. The list of selected packages is stored with your > custom-set-variables. So, if your `use-package' form comes before your > `custom-set-variables', then that might cause it to not get stored > correctly. > > I'm not sure if there's a global fix we can do for case 2. Either way, > you (the user) can manually fix that by simply trying to install the > package you already have (`minibuffer-line', in this case). You can do > that from the package menu or with `M-x package-install'. You'll get a > message that "package already installed", and then package.el will > store this package in your list of `selected-packages'. > Another way to fix that is to `M-x customize-variable RET > package-selected-packages' and manually add `minibuffer-line' to it. >