summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-06-30 10:17:55 +0100
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-06-30 10:19:15 +0100
commitd0a5162fd825acbbd863e61099e1fa1ce5975773 (patch)
tree5fa0425dd3f782fdfbfe2fb1a9fdf715193b790b /lisp/emacs-lisp
parentee0b83343231427fbdf954ce9e7d4f1632583245 (diff)
downloademacs-d0a5162fd825acbbd863e61099e1fa1ce5975773.tar.gz
* lisp/emacs-lisp/package.el (package--save-selected-packages):
Don't save before init time, to avoid overwriting configurations. (Bug#20855)
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/package.el12
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 9f563457748..e599e840fb7 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1620,12 +1620,14 @@ Used to populate `package-selected-packages'."
unless (memq name dep-list)
collect name)))
-(defun package--save-selected-packages (value)
+(defun package--save-selected-packages (&optional value)
"Set and save `package-selected-packages' to VALUE."
- (let ((save-silently inhibit-message))
- (customize-save-variable
- 'package-selected-packages
- (setq package-selected-packages value))))
+ (when value
+ (setq package-selected-packages value))
+ (if after-init-time
+ (let ((save-silently inhibit-message))
+ (customize-save-variable 'package-selected-packages package-selected-packages))
+ (add-hook 'after-init-hook #'package--save-selected-packages)))
(defun package--user-selected-p (pkg)
"Return non-nil if PKG is a package was installed by the user.