The el-get project releases its new stable version, 3.1. This new release fixes bugs, add a host of new recipes (we have 420 of them and counting) and some nice new features too. You really want to upgrade.

New features

Among the features you will find dependencies management and M-x el-get-list-packages, that you should try as soon as possible. Of course, don’t miss M-x el-get-self-update that eases the process somehow.

This shows the result of M-x el-get-list-packages. The packages that don’t have a description are the one from emacswiki that doesn’t provide a listing of the filename and the first line of the file (it usually follows the format ;;; filename.el --- description here). As we don’t want to mirror the website just to be able to provide descriptions, we just don’t have them now.

Another nice new feature, contributed by a user that wanted to self-learn elisp, is the el-get-user-package-directory support. Just place in there some init-my-package.el files, and when el-get wants to init the my-package package, it will load that file for you. That helps managing your setup, and I’m already using that in my own ~/.emacs.d/ repository.

Upgrading

The upgrading is to be done with some care, though, because you need to edit your packaging setup. The el-get-sources variable used to be both where to setup extra recipes and the list of packages you want to have installed, and several people rightfully insisted that I should change that. I’ve been slow to be convinced, but there it is, they were right.

So now, el-get works from the current status of packages and will init all those packages you have installed. Which means that you just M-x el-get-install a package and don’t think about it anymore. If you need to override this behavior, it’s still possible to do so by specifying the whole list of packages you want initialized (and installed if necessary) on the (el-get 'sync ...) call.

That later setup is useful if you want to share your el-get selection on several machines.