diff options
author | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-05-20 14:13:22 +0100 |
---|---|---|
committer | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-05-20 14:14:52 +0100 |
commit | 1972e49f924dc8706aef512a0d69fd7c29a4f1f6 (patch) | |
tree | 0c43d4a47e292a4ad5fd9a66d4f3267a791ec52a | |
parent | 578f0067b75ae86f3443bb359554235a40c12c78 (diff) | |
download | emacs-1972e49f924dc8706aef512a0d69fd7c29a4f1f6.tar.gz emacs-1972e49f924dc8706aef512a0d69fd7c29a4f1f6.tar.bz2 emacs-1972e49f924dc8706aef512a0d69fd7c29a4f1f6.zip |
* lisp/emacs-lisp/package.el: "Delete" button in Help buffer
(package-delete-button-action): New function.
(describe-package-1): Add Delete button.
-rw-r--r-- | lisp/emacs-lisp/package.el | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 9e849d5e2ff..1ab1b4bb127 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2173,7 +2173,14 @@ will be deleted." (insert "'")) (if signed (insert ".") - (insert " (unsigned)."))) + (insert " (unsigned).")) + (when (and (package-desc-p desc) + (not required-by) + (package-installed-p desc)) + (insert " ") + (package-make-button "Delete" + 'action #'package-delete-button-action + 'package-desc desc))) (incompatible-reason (insert (propertize "Incompatible" 'face font-lock-warning-face) " because it depends on ") @@ -2317,6 +2324,14 @@ will be deleted." (revert-buffer nil t) (goto-char (point-min))))) +(defun package-delete-button-action (button) + (let ((pkg-desc (button-get button 'package-desc))) + (when (y-or-n-p (format "Delete package `%s'? " + (package-desc-full-name pkg-desc))) + (package-delete pkg-desc) + (revert-buffer nil t) + (goto-char (point-min))))) + (defun package-keyword-button-action (button) (let ((pkg-keyword (button-get button 'package-keyword))) (package-show-package-list t (list pkg-keyword)))) |