From: Tino Calancha Date: Sun, 3 Jul 2016 12:42:02 +0000 (+0900) Subject: Ibuffer: unmark all buffers without confirmation X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/b56a8bcd0e68451d0360ab6ed98c88d890324838 Ibuffer: unmark all buffers without confirmation * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680). (ibuffer-mouse-popup-menu): Use it. (ibuffer-mode): Update mode doc. (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'. Rebind 'ibuffer-do-replace-regexp' to 'r'. ; * etc/NEWS: Add entry for this change. --- diff --git a/etc/NEWS b/etc/NEWS index 555d6bb51a..7e11f622f1 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -192,6 +192,11 @@ questions, with a handy way to display help texts. ** Ibuffer +--- +*** A new command 'ibuffer-unmark-all-marks' to unmark +all buffers without asking confirmation; bound to +'U'; 'ibuffer-do-replace-regexp' bound to 'r'. + --- *** A new command `ibuffer-mark-by-content-regexp' to mark buffers whose content matches a regexp; bound to '% c' and '% g'. diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 126b5a32b2..2f875f49af 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -471,6 +471,7 @@ directory, like `default-directory'." (define-key map (kbd "DEL") 'ibuffer-unmark-backward) (define-key map (kbd "M-DEL") 'ibuffer-unmark-all) (define-key map (kbd "* *") 'ibuffer-unmark-all) + (define-key map (kbd "U") 'ibuffer-unmark-all-marks) (define-key map (kbd "* M") 'ibuffer-mark-by-mode) (define-key map (kbd "* m") 'ibuffer-mark-modified-buffers) (define-key map (kbd "* u") 'ibuffer-mark-unsaved-buffers) @@ -568,7 +569,7 @@ directory, like `default-directory'." (define-key map (kbd "R") 'ibuffer-do-rename-uniquely) (define-key map (kbd "S") 'ibuffer-do-save) (define-key map (kbd "T") 'ibuffer-do-toggle-read-only) - (define-key map (kbd "U") 'ibuffer-do-replace-regexp) + (define-key map (kbd "r") 'ibuffer-do-replace-regexp) (define-key map (kbd "V") 'ibuffer-do-revert) (define-key map (kbd "W") 'ibuffer-do-view-and-eval) (define-key map (kbd "X") 'ibuffer-do-shell-command-pipe) @@ -753,6 +754,8 @@ directory, like `default-directory'." :help "Mark buffers which have not been viewed recently")) (define-key-after map [menu-bar mark unmark-all] '(menu-item "Unmark All" ibuffer-unmark-all)) + (define-key-after map [menu-bar mark unmark-all-marks] + '(menu-item "Unmark All buffers" ibuffer-unmark-all-marks)) (define-key-after map [menu-bar mark dashes] '("--")) @@ -973,8 +976,7 @@ width and the longest string in LIST." (popup-menu ibuffer-mode-groups-popup)) (let ((inhibit-read-only t)) (ibuffer-save-marks - ;; hm. we could probably do this in a better fashion - (ibuffer-unmark-all ?\r) + (ibuffer-unmark-all-marks) (save-excursion (goto-char eventpt) (ibuffer-set-mark ibuffer-marked-char)) @@ -1335,6 +1337,12 @@ With optional ARG, make read-only only if ARG is not negative." t))))) (ibuffer-redisplay t)) +(defun ibuffer-unmark-all-marks () + "Remove all marks from all marked buffers in Ibuffer." + (interactive) + ;; hm. we could probably do this in a better fashion + (ibuffer-unmark-all ?\r)) + (defun ibuffer-toggle-marks (&optional group) "Toggle which buffers are marked. In other words, unmarked buffers become marked, and marked buffers @@ -2426,7 +2434,8 @@ Marking commands: `\\[ibuffer-unmark-forward]' - Unmark the buffer at point. `\\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the previous line. - `\\[ibuffer-unmark-all]' - Unmark all marked buffers. + `\\[ibuffer-unmark-all]' - Unmark buffers marked with MARK. + `\\[ibuffer-unmark-all-marks]' - Unmark all marked buffers. `\\[ibuffer-mark-by-mode]' - Mark buffers by major mode. `\\[ibuffer-mark-unsaved-buffers]' - Mark all \"unsaved\" buffers. This means that the buffer is modified, and has an associated file.