From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tino Calancha Newsgroups: gmane.emacs.bugs Subject: bug#23680: 25.1.50; ibuffer: unmark all buffers without confirmation Date: Thu, 2 Jun 2016 23:41:39 +0900 (JST) Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Trace: ger.gmane.org 1464878370 25216 80.91.229.3 (2 Jun 2016 14:39:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 2 Jun 2016 14:39:30 +0000 (UTC) To: 23680@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jun 02 16:39:20 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1b8TmI-0007gp-NM for geb-bug-gnu-emacs@m.gmane.org; Thu, 02 Jun 2016 16:39:18 +0200 Original-Received: from localhost ([::1]:47554 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8TmH-0003TT-Ve for geb-bug-gnu-emacs@m.gmane.org; Thu, 02 Jun 2016 10:39:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47874) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8Tm8-0003Qf-0j for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:39:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b8Tm2-0004yw-O6 for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:39:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39534) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8Tm2-0004ys-KH for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1b8Tm2-00043n-H6 for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 02 Jun 2016 14:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 23680 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.146487832815586 (code B ref -1); Thu, 02 Jun 2016 14:39:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Jun 2016 14:38:48 +0000 Original-Received: from localhost ([127.0.0.1]:51871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b8Tlo-00043K-A4 for submit@debbugs.gnu.org; Thu, 02 Jun 2016 10:38:48 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:56824) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b8Tlm-000436-R0 for submit@debbugs.gnu.org; Thu, 02 Jun 2016 10:38:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b8Tlg-0004tZ-AZ for submit@debbugs.gnu.org; Thu, 02 Jun 2016 10:38:41 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:54592) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8Tlg-0004tK-7M for submit@debbugs.gnu.org; Thu, 02 Jun 2016 10:38:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8Tlc-00035Y-Ek for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:38:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b8TlX-0004r0-1c for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:38:35 -0400 Original-Received: from calancha-ilc.kek.jp ([130.87.234.234]:44145) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8TlW-0004q5-9i for bug-gnu-emacs@gnu.org; Thu, 02 Jun 2016 10:38:30 -0400 Original-Received: by calancha-ilc.kek.jp (Postfix, from userid 500) id B90B94644; Thu, 2 Jun 2016 23:41:39 +0900 (JST) Original-Received: from localhost (localhost [127.0.0.1]) by calancha-ilc.kek.jp (Postfix) with ESMTP id 59C5D4056 for ; Thu, 2 Jun 2016 23:41:39 +0900 (JST) X-X-Sender: calancha@calancha-ilc.kek.jp User-Agent: Alpine 2.20 (LRH 67 2015-01-07) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:118977 Archived-At: It is a nuisance to be asked for confirmation whenever an user wants to unmark all buffers. I) The patch follow same approach as Dired: introduce a new command which unmark all buffers without confirmation. II) It is easier to remember if Ibuffer use the same bindings as the Dired analog commands. This patch rebind 'U' to the new command introduced in I); for 'ibuffer-do-replace-regexp', originally bound to 'U', prefers 'r'. In GNU Emacs 25.1.50 (x86_64-pc-linux-gnu, GTK+ Version 3.20.5) Repository revision: 6b985764f07ae164d8142ba64774f2beb2856ca8 >From e3414a65e775a1de542e81fbb3c2b80dd381c446 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Thu, 2 Jun 2016 23:13:54 +0900 Subject: [PATCH 1/2] Ibuffer: unmark all buffers without confirmation * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command. (ibuffer-mouse-popup-menu, ibuffer-mode): Use it. (ibuffer-mode-map): Bind it to '**' and 'M-DEL'. --- lisp/ibuffer.el | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index dd2687c..20b224c 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -469,8 +469,8 @@ ibuffer-mode-map (define-key map (kbd "M-s a M-C-s") 'ibuffer-do-isearch-regexp) (define-key map (kbd "M-s a C-o") 'ibuffer-do-occur) (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 "M-DEL") 'ibuffer-unmark-all-marks) + (define-key map (kbd "* *") '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) @@ -749,8 +749,8 @@ ibuffer-mode-map (define-key-after map [menu-bar mark mark-old-buffers] '(menu-item "Mark old buffers" ibuffer-mark-old-buffers :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] '("--")) @@ -967,8 +967,7 @@ ibuffer-mouse-popup-menu (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)) @@ -1329,6 +1328,12 @@ ibuffer-unmark-all 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 @@ -2419,7 +2424,7 @@ ibuffer-mode `\\[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-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. -- 2.8.1 >From a494c157111c3146c891a77e6b6d860b6bf2c702 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Thu, 2 Jun 2016 23:14:31 +0900 Subject: [PATCH 2/2] Bind ibuffer-unmark-all-marks to U * lisp/ibuffer.el (ibuffer-mode-map): Rebind 'ibuffer-do-replace-regexp' to 'r'. --- lisp/ibuffer.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 20b224c..95b9b8e 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -470,6 +470,7 @@ ibuffer-mode-map (define-key map (kbd "M-s a C-o") 'ibuffer-do-occur) (define-key map (kbd "DEL") 'ibuffer-unmark-backward) (define-key map (kbd "M-DEL") 'ibuffer-unmark-all-marks) + (define-key map (kbd "U") 'ibuffer-unmark-all-marks) (define-key map (kbd "* *") 'ibuffer-unmark-all-marks) (define-key map (kbd "* M") 'ibuffer-mark-by-mode) (define-key map (kbd "* m") 'ibuffer-mark-modified-buffers) @@ -566,7 +567,7 @@ ibuffer-mode-map (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) -- 2.8.1