* lisp/emacs-lisp/package.el: "Delete" button in Help buffer

(package-delete-button-action): New function.
(describe-package-1): Add Delete button.
This commit is contained in:
Artur Malabarba 2015-05-20 14:13:22 +01:00
parent 578f0067b7
commit 1972e49f92

View file

@ -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))))