Do an automatic package upgrade in prelude-update

This commit is contained in:
Bozhidar Batsov 2013-10-22 15:37:05 +03:00
parent 82513bf204
commit 3c8c7dec05
3 changed files with 23 additions and 14 deletions

View file

@ -90,13 +90,15 @@ You'd do well to replace `~/.emacs.d` with the value of
## Updating Prelude
### Manual update
The update procedure is fairly straightforward and consists of 3 steps:
### Update all bundled packages
#### Update all bundled packages
Just run <kbd>M-x package-list-packages RET U x</kbd>. Unfortunately this step cannot be automated.
Just run <kbd>M-x package-list-packages RET U x</kbd>.
### Update Prelude's code
#### Update Prelude's code
```bash
cd path/to/prelude/installation
@ -106,14 +108,16 @@ git pull
The `path/to/prelude/installation` is usually `~/.emacs.d` (at least
on Unix systems).
Alternatively you can run <kbd>M-x prelude-update</kbd> from Emacs itself.
### Restart Prelude
#### Restart Prelude
It's generally a good idea to stop Emacs after you do the update. The
next time Prelude starts it will install any new dependencies (if
there are such).
### Automatic update
Simply run <kbd>M-x prelude-update</kbd> from Emacs itself and restart Emacs afterwards.
## Enabling additional modules
By default most of the modules that ship with Prelude are not loaded. For more information on the functionality provided by these modules visit the [docs](modules/doc/README.md).
@ -428,16 +432,17 @@ If you're not fond of spellchecking on the fly:
### Updating bundled packages
Currently there is no Emacs Lisp API for updating packages, so you'll
have to update manually the packages that came with Prelude from time
to time.
Generally it's a good idea to do a package update before running
updating Prelude, since the latest Prelude code might depend on newer
versions of the bundled packages than you would currently have
installed.
If you're doing manual Prelude updates you should always do a package update first.
`M-x package-list-packages RET U x`
Generally it's a good idea to do a package update before running
`prelude-update`, since the latest Prelude code might depend on newer
versions of the bundled packages than you would currently have
installed.
That's not necessary if you're using `M-x prelude-update`, since it
will automatically update the installed packages.
### Problems with flyspell-mode

View file

@ -450,10 +450,14 @@ Doesn't mess with special buffers."
(exchange-point-and-mark)
(deactivate-mark nil))
(require 'epl)
(defun prelude-update ()
"Update Prelude to its latest version."
(interactive)
(when (y-or-n-p "Do you want to update Prelude? ")
(message "Updating installed packages...")
(epl-upgrade)
(message "Updating Prelude...")
(cd prelude-dir)
(shell-command "git pull")

View file

@ -42,7 +42,7 @@
(defvar prelude-packages
'(ace-jump-mode ack-and-a-half anzu dash diminish elisp-slime-nav
expand-region flx-ido flycheck gist
epl expand-region flx-ido flycheck gist
git-commit-mode gitconfig-mode gitignore-mode grizzl
guru-mode helm helm-projectile ido-ubiquitous
key-chord magit move-text rainbow-mode