From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 29 13:56:04 2015 Received: (at submit) by debbugs.gnu.org; 29 Apr 2015 17:56:05 +0000 Received: from localhost ([127.0.0.1]:56666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YnWDL-0005vG-CR for submit@debbugs.gnu.org; Wed, 29 Apr 2015 13:56:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36046) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YnWDI-0005uk-4R for submit@debbugs.gnu.org; Wed, 29 Apr 2015 13:56:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YnWDB-000464-A5 for submit@debbugs.gnu.org; Wed, 29 Apr 2015 13:55:54 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:35417) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnWDB-000460-73 for submit@debbugs.gnu.org; Wed, 29 Apr 2015 13:55:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49552) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnWD9-00020F-QC for bug-gnu-emacs@gnu.org; Wed, 29 Apr 2015 13:55:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YnWD4-000445-Hc for bug-gnu-emacs@gnu.org; Wed, 29 Apr 2015 13:55:51 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:43738) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnWD4-00043i-9J for bug-gnu-emacs@gnu.org; Wed, 29 Apr 2015 13:55:46 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 940A3208B6 for ; Wed, 29 Apr 2015 13:55:44 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Wed, 29 Apr 2015 13:55:44 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= content-type:date:from:message-id:mime-version:subject:to :x-sasl-enc:x-sasl-enc; s=mesmtp; bh=FJ7Wjb0akL1EZtpoKCFg0r1hfDs =; b=Y+ejT1UqkjTleOB35l3T3lOdJe1G45a53yGU0n9DyG0yGY3v+AvlDG/eHrN lk7gP5Np7cjGKU6IQHggK0XKBVnt0YcrEMG56XbRU53xBotFN/mOo+weiW/e5d83 U6pZUQs38AZ2oBPZM9MOEELX+oNXB//jsiHEVFF/YdYNk+YI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=FJ 7Wjb0akL1EZtpoKCFg0r1hfDs=; b=nebJJ+rozTf0JsIAk7yWyMi/a+N2asqrh+ lmW9c/7ktE92GVt/zv7vhAGELZaYs7S7/h8crnlZF5YpASLAweTS2VeBbwi1Uyly cts0d0uMyI+NkH9Z/7ka/G+OfRUgznPB5WkvYbtA9YQ2N75n8FRLunaJKQjx3Zso fTW5rZABA= X-Sasl-enc: Y51YSprZ6NmzE1hjA6Zf1qkNxaAK7HFb3UOQlOiYXjPw 1430330144 Received: from fgunbin.local (unknown [94.25.218.10]) by mail.messagingengine.com (Postfix) with ESMTPA id 07947680143 for ; Wed, 29 Apr 2015 13:55:43 -0400 (EDT) From: Filipp Gunbin To: bug-gnu-emacs@gnu.org Subject: 25.0.50; New deletion commands in buffer-menu [PATCH] Date: Wed, 29 Apr 2015 20:55:42 +0300 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -4.3 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) --=-=-= Content-Type: text/plain What about these new commands in buffer-menu? I find these useful in sessions with lots of buffers. `D m' Prompt for major mode name and delete all buffers in that mode. `D b' Prompt for regexp and mark for deletion all buffers with matching names. `D f' Prompt for regexp and mark for deletion all buffers with mathing file names. Filipp --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=buf-menu-by-mode.patch diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 91bc038..18264f2 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -96,6 +96,9 @@ This is set by the prefix argument to `buffer-menu' and related commands.") (make-variable-buffer-local 'Buffer-menu-files-only) +(defvar Buffer-menu--regexp-history nil + "History list for buffer name regular expressions.") + (defvar Info-current-file) ; from info.el (defvar Info-current-node) ; from info.el @@ -130,6 +133,9 @@ commands.") (define-key map (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers) (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp) (define-key map (kbd "M-s a C-o") 'Buffer-menu-multi-occur) + (define-key map (kbd "D m") 'Buffer-menu-delete-by-major-mode) + (define-key map (kbd "D b") 'Buffer-menu-delete-by-buffer-name-regexp) + (define-key map (kbd "D f") 'Buffer-menu-delete-by-file-name-regexp) (define-key map [mouse-2] 'Buffer-menu-mouse-select) (define-key map [follow-link] 'mouse-face) @@ -243,7 +249,13 @@ In Buffer Menu mode, the following commands are defined: \\[Buffer-menu-toggle-read-only] Toggle read-only status of buffer on this line. \\[revert-buffer] Update the list of buffers. \\[Buffer-menu-toggle-files-only] Toggle whether the menu displays only file buffers. -\\[Buffer-menu-bury] Bury the buffer listed on this line." +\\[Buffer-menu-bury] Bury the buffer listed on this line. +\\[Buffer-menu-delete-by-major-mode] Prompt for major mode name and + delete all buffers in that mode. +\\[Buffer-menu-delete-by-buffer-name-regexp] Prompt for regexp and + mark for deletion all buffers with matching names. +\\[Buffer-menu-delete-by-file-name-regexp] Prompt for regexp and + mark for deletion all buffers with mathing file names." (set (make-local-variable 'buffer-stale-function) (lambda (&optional _noconfirm) 'fast)) (add-hook 'tabulated-list-revert-hook 'list-buffers--refresh nil t)) @@ -270,7 +282,7 @@ Menu." (interactive "P") (switch-to-buffer (list-buffers-noselect arg)) (message - "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; q to quit; ? for help.")) + "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; D m, D b, D f; q to quit; ? for help.")) (defun buffer-menu-other-window (&optional arg) "Display the Buffer Menu in another window. @@ -282,7 +294,7 @@ ARG, show only buffers that are visiting files." (interactive "P") (switch-to-buffer-other-window (list-buffers-noselect arg)) (message - "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; q to quit; ? for help.")) + "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; D m, D b, D f; q to quit; ? for help.")) ;;;###autoload (defun list-buffers (&optional arg) @@ -651,6 +663,70 @@ means list those buffers and no others." (setq tabulated-list-entries (nreverse entries))) (tabulated-list-init-header)) +(defun Buffer-menu--delete-by-predicate (pred) + (let ((count 0)) + (save-excursion + (Buffer-menu-beginning) + (while (not (eobp)) + (let ((buffer (tabulated-list-get-id)) + (entry (tabulated-list-get-entry))) + (if (funcall pred buffer entry) + (progn + (Buffer-menu-delete 1) + (setq count (1+ count))) + (forward-line 1))))) + (message "Marked %d buffers" count))) + +(defun Buffer-menu-delete-by-major-mode (mode) + "Mark for deletion all buffers whose mode symbol's name is MODE. Interactively, +ask for the MODE, providing completion." + (interactive + (list + (let ((this-line-buffer (tabulated-list-get-id)) + modes) + (save-excursion + (Buffer-menu-beginning) + (while (not (eobp)) + (let ((buffer (tabulated-list-get-id))) + (add-to-list 'modes (with-current-buffer buffer + (symbol-name major-mode)))) + (forward-line 1))) + (completing-read + "Buffer major mode: " (sort modes (function string<)) + nil t nil nil + (when this-line-buffer + (with-current-buffer this-line-buffer + (symbol-name major-mode))))))) + (or mode (error "MODE is nil")) + (Buffer-menu--delete-by-predicate + (lambda (buf entry) + (string= (with-current-buffer buf + (symbol-name major-mode)) + mode)))) + +(defun Buffer-menu-delete-by-buffer-name-regexp (regexp) + "Mark for deletion all buffers whose buffer name matches REGEXP" + (interactive + (list + (read-regexp "Buffer name regexp: " 'regexp-history-last + Buffer-menu--regexp-history))) + (or regexp (error "REGEXP is nil")) + (Buffer-menu--delete-by-predicate + (lambda (buf entry) + (string-match regexp (buffer-name buf))))) + +(defun Buffer-menu-delete-by-file-name-regexp (regexp) + "Mark for deletion all buffers whose file name matches REGEXP" + (interactive + (list + (read-regexp "File name regexp: " 'regexp-history-last + Buffer-menu--regexp-history))) + (or regexp (error "REGEXP is nil")) + (Buffer-menu--delete-by-predicate + (lambda (buf entry) + (and (buffer-file-name buf) + (string-match regexp (buffer-file-name buf)))))) + (defun tabulated-list-entry-size-> (entry1 entry2) (> (string-to-number (aref (cadr entry1) 4)) (string-to-number (aref (cadr entry2) 4)))) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 30 03:12:37 2015 Received: (at 20463) by debbugs.gnu.org; 30 Apr 2015 07:12:37 +0000 Received: from localhost ([127.0.0.1]:56908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YnieD-0002pa-4y for submit@debbugs.gnu.org; Thu, 30 Apr 2015 03:12:37 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:46174 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YnieB-0002pS-T0 for 20463@debbugs.gnu.org; Thu, 30 Apr 2015 03:12:36 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1YnieA-0007l7-Mb; Thu, 30 Apr 2015 03:12:34 -0400 From: Glenn Morris To: Filipp Gunbin Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] References: X-Spook: Comirex militia ANC clandestine red noise Commecen Ft. X-Ran: 05/!{}KT]+(~/k}ra!s)~2vky}|XBK`OG3P.Bz'o]$lf"PQ$O5QOa.2hkKHhE,9oEgGibp X-Hue: blue X-Debbugs-No-Ack: yes X-Attribution: GM Date: Thu, 30 Apr 2015 03:12:34 -0400 Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Filipp Gunbin wrote: > What about these new commands in buffer-menu? I find these useful in > sessions with lots of buffers. > > `D m' Prompt for major mode name and delete all buffers in that mode. > > `D b' Prompt for regexp and mark for deletion all buffers with matching > names. > > `D f' Prompt for regexp and mark for deletion all buffers with mathing > file names. IMO the right solution is to replace buffer-menu with the more featureful ibuffer, which already does all those things and more. It's a long-standing TODO item; eg http://lists.gnu.org/archive/html/emacs-devel/2010-10/msg00305.html (the length of that thread suggests it's one of those "fun" Emacs topics with more heat than light.) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 30 12:06:33 2015 Received: (at 20463) by debbugs.gnu.org; 30 Apr 2015 16:06:33 +0000 Received: from localhost ([127.0.0.1]:57750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ynqyu-0003jF-Ov for submit@debbugs.gnu.org; Thu, 30 Apr 2015 12:06:33 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:38013) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ynqys-0003j5-DB for 20463@debbugs.gnu.org; Thu, 30 Apr 2015 12:06:31 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 59E3620CD1 for <20463@debbugs.gnu.org>; Thu, 30 Apr 2015 12:06:28 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute3.internal (MEProxy); Thu, 30 Apr 2015 12:06:28 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=4b26z VnkTAF6TWIZj+t//lgJF6A=; b=B9RyzWCulPSTKscSjh4I+Mo4q+a/MbDtO/7+Y 4oU58tsHHEejNpzO/kTA1elkZ7DeDpeHPQ0yG3HQQTn2HH18TdTEPt5BvgcYlv89 JRbfeWmjGItM+NhVsvjnZiMF/sh18n55Ct+3rOTy7XjojkmnDQqX+BRleQBkVit1 4OlRbc= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=4b26zVnkTAF6TWIZj+t//lgJF6A=; b=JhAhv Pv1m4zNrcAMqKGzj3JGet89LnZ7XPIwfE4CDyGpjqBjHDGSTcc5E1NScMCeznvzo 4vSrYlgKQwIGQ5znZ+ZCxtZWzErzFNGEv53+6D0tGjwikytZQAq/Fadv08fUej26 hEIus4ZH56DmVkPUdoiF/IeC3yBWmSkuxbhffg= X-Sasl-enc: Y+XEXNXUgXOfkVt+H9yreFToJdp/9OSQ0zsmuBmfgVz7 1430409988 Received: from fgunbin.local (unknown [94.25.218.10]) by mail.messagingengine.com (Postfix) with ESMTPA id B5B8468011F; Thu, 30 Apr 2015 12:06:27 -0400 (EDT) From: Filipp Gunbin To: Glenn Morris Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] References: Date: Thu, 30 Apr 2015 19:06:25 +0300 In-Reply-To: (Glenn Morris's message of "Thu, 30 Apr 2015 03:12:34 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 30/04/2015 03:12 -0400, Glenn Morris wrote: > Filipp Gunbin wrote: > >> What about these new commands in buffer-menu? I find these useful in >> sessions with lots of buffers. >> >> `D m' Prompt for major mode name and delete all buffers in that mode. >> >> `D b' Prompt for regexp and mark for deletion all buffers with matching >> names. >> >> `D f' Prompt for regexp and mark for deletion all buffers with mathing >> file names. > > > IMO the right solution is to replace buffer-menu with the more > featureful ibuffer, which already does all those things and more. > > It's a long-standing TODO item; eg > http://lists.gnu.org/archive/html/emacs-devel/2010-10/msg00305.html > > (the length of that thread suggests it's one of those "fun" Emacs topics > with more heat than light.) Oh, yes, ibuffer. Probably it's cool, but for me it's a bit overloaded with features. The intent for the commands above was to simplify buffer set cleanup (which I do at most daily). Like extended `kill-matching-buffers'. Maybe add a few commands similar to `kill-matching-buffers' instead of extending buffer-menu? A user option could be used to control whether to query or not (I don't want to be queried 100 times in a row). Filipp From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 30 21:43:20 2015 Received: (at 20463) by debbugs.gnu.org; 1 May 2015 01:43:21 +0000 Received: from localhost ([127.0.0.1]:57948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ynzz6-0007zT-9E for submit@debbugs.gnu.org; Thu, 30 Apr 2015 21:43:20 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:1266) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ynzz4-0007zF-Fg for 20463@debbugs.gnu.org; Thu, 30 Apr 2015 21:43:18 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnEFAGvvdVS4rw4V/2dsb2JhbAA3gVOfQYIugQiBdQEBBAFWIwULCw4mEhQYDSSIE6IRiTGCVWUCAQIBAoM+AwODbQSjY4RYgTc X-IPAS-Result: AnEFAGvvdVS4rw4V/2dsb2JhbAA3gVOfQYIugQiBdQEBBAFWIwULCw4mEhQYDSSIE6IRiTGCVWUCAQIBAoM+AwODbQSjY4RYgTc X-IronPort-AV: E=Sophos;i="5.11,557,1422939600"; d="scan'208";a="117952950" Received: from 184-175-14-21.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([184.175.14.21]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Apr 2015 21:43:13 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 74B36AE0BD; Thu, 30 Apr 2015 21:43:12 -0400 (EDT) From: Stefan Monnier To: Filipp Gunbin Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] Message-ID: References: Date: Thu, 30 Apr 2015 21:43:12 -0400 In-Reply-To: (Filipp Gunbin's message of "Thu, 30 Apr 2015 19:06:25 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org, Glenn Morris X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > The intent for the commands above was to simplify buffer set cleanup > (which I do at most daily). Like extended `kill-matching-buffers'. Have you maybe looked at clean-buffer-list? Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 30 22:05:24 2015 Received: (at 20463) by debbugs.gnu.org; 1 May 2015 02:05:24 +0000 Received: from localhost ([127.0.0.1]:57960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yo0KS-00005c-2j for submit@debbugs.gnu.org; Thu, 30 Apr 2015 22:05:24 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:51639) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yo0KO-00005T-Sy for 20463@debbugs.gnu.org; Thu, 30 Apr 2015 22:05:22 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 6801F20BA7 for <20463@debbugs.gnu.org>; Thu, 30 Apr 2015 22:05:20 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Thu, 30 Apr 2015 22:05:20 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=jgLvz tZpcaGzXJJqQVcdZqW/NIs=; b=jB4Rytpy4xRKJrBo3bMgKDGwXHKK6pvzZISKL vGntC7Y9SD3PeqDFkN4yG3972Konm3XyqOksfQliV832glUm12GJOkL52mvzH9iG 9QdfqVsPxv05P7wOWLGzduAaN/TPQcHlmSbu5DY9LlUJ/ZMibZTg495Ay4oVNbBD WXb7AI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=jgLvztZpcaGzXJJqQVcdZqW/NIs=; b=oN5Wi r1OZvqlD5zbIiFb3QImb+BhtCHHooPsmTBW44Gzyz+idy+0DcAoHOpZncdflyBro IDp/S67aqg0Aog76I3SE5vHAwQoQQjRG+fL7SjpIMyZEYAlLxHY+MunYzyUJljd2 nzaTY6L2Zv3PilZE4y1wlCTeVnvp9/qVxE5YVA= X-Sasl-enc: fRceurvFeCaWHvVpMa7m3iquGKtP9gQhWy9QJiLk7xDf 1430445920 Received: from fgunbin.local (unknown [178.66.180.39]) by mail.messagingengine.com (Postfix) with ESMTPA id 8E254C00015; Thu, 30 Apr 2015 22:05:19 -0400 (EDT) From: Filipp Gunbin To: Stefan Monnier Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] References: Date: Fri, 01 May 2015 05:05:17 +0300 In-Reply-To: (Stefan Monnier's message of "Thu, 30 Apr 2015 21:43:12 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org, Glenn Morris X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 30/04/2015 21:43 -0400, Stefan Monnier wrote: >> The intent for the commands above was to simplify buffer set cleanup >> (which I do at most daily). Like extended `kill-matching-buffers'. > > Have you maybe looked at clean-buffer-list? Not yet, but now I have, and I see that my meaning of "cleanup" is different from what this command suggests. I prefer to manage that manually, so go and kill "all java files" or "all remote files accessed via ssh" or something like that - with the ability to "post-process" the selected set manually before killing - that's why I wrote those commands. I could provide them as a package, of course if someone else finds them useful - I'm not sure now whether that is true. I see there's also "bs" package (not the best name, by the way..), but I didn't find many differences between standard buffer-menu and this package, except maybe for sorting commands and more buffer set configurations in contrast to buffer-menu's "all" or "only files". Another thing that could be interesting is "show only remote files" and "kill all remote files". It would be interesting to know what others use for buffer management. Filipp From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 30 22:21:11 2015 Received: (at submit) by debbugs.gnu.org; 1 May 2015 02:21:12 +0000 Received: from localhost ([127.0.0.1]:57967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yo0Zi-0000U6-1B for submit@debbugs.gnu.org; Thu, 30 Apr 2015 22:21:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48787) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yo0Ze-0000TY-Kj for submit@debbugs.gnu.org; Thu, 30 Apr 2015 22:21:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yo0ZY-0005yb-L0 for submit@debbugs.gnu.org; Thu, 30 Apr 2015 22:21:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:58707) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yo0ZY-0005yX-IK for submit@debbugs.gnu.org; Thu, 30 Apr 2015 22:21:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34057) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yo0ZX-0007hI-Nn for bug-gnu-emacs@gnu.org; Thu, 30 Apr 2015 22:21:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yo0ZS-0005wQ-Oj for bug-gnu-emacs@gnu.org; Thu, 30 Apr 2015 22:20:59 -0400 Received: from mail-pa0-x234.google.com ([2607:f8b0:400e:c03::234]:34932) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yo0ZS-0005wK-Gp for bug-gnu-emacs@gnu.org; Thu, 30 Apr 2015 22:20:54 -0400 Received: by pabtp1 with SMTP id tp1so77827273pab.2 for ; Thu, 30 Apr 2015 19:20:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:to:subject:in-reply-to:date:message-id:mime-version :content-type; bh=DGWCZnQil6kNM/annoxb0WDanYiKKWmyXwc8a3iY034=; b=pjoFTQa9bILrqt5EYyiAb4dA16O5PPmFFwCBPvkhyl/VBlfLch3KE2mEpuyLTHbxlf TtRhpReBf/eG9xtA/O1SMD7+8FiLAZxB6CJzmIaf554KzvOk2MdsKje0qhzPu85efyho DJCO2G3fRTQTZ32qvViaDcyrBoNZatl+UIAWamIDGkM+08UEs+h3W3nk+dMth+EM9+vy gXjoRCrb4EGw+ZoPCTWJA4VbsDtjhwoBUQtCtu+HXOL9mEbWdh0AThv5x9P5v9svYEr6 XEe1iWGPgOCyRCvpii/3cGR51Tq/CcsGIY65GkXjbt4kgwTRSXRkE9d51sGHHjuAyfmD gTAg== X-Received: by 10.68.69.14 with SMTP id a14mr13700205pbu.14.1430446852386; Thu, 30 Apr 2015 19:20:52 -0700 (PDT) Received: from localhost (ppp118-209-46-94.lns20.mel4.internode.on.net. [118.209.46.94]) by mx.google.com with ESMTPSA id nz12sm3398165pdb.49.2015.04.30.19.20.50 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Apr 2015 19:20:51 -0700 (PDT) References: From: Alexis To: bug-gnu-emacs@gnu.org Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] In-reply-to: Date: Fri, 01 May 2015 12:20:46 +1000 Message-ID: <878ud9f37l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Filipp Gunbin writes: > It would be interesting to know what others use for buffer > management. i use `ibuffer'. Only a fraction of its complete functionality, true, but the power and flexibility are there if needed. Alexis. From debbugs-submit-bounces@debbugs.gnu.org Fri May 01 13:56:46 2015 Received: (at 20463) by debbugs.gnu.org; 1 May 2015 17:56:46 +0000 Received: from localhost ([127.0.0.1]:58911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YoFB7-0004oC-Dt for submit@debbugs.gnu.org; Fri, 01 May 2015 13:56:45 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:47609) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YoFB5-0004o5-Q6 for 20463@debbugs.gnu.org; Fri, 01 May 2015 13:56:44 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id 85A3685F54; Fri, 1 May 2015 13:56:43 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 755E51E5B8D; Fri, 1 May 2015 13:56:19 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 59303B40E9; Fri, 1 May 2015 13:56:19 -0400 (EDT) From: Stefan Monnier To: Filipp Gunbin Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] Message-ID: References: Date: Fri, 01 May 2015 13:56:19 -0400 In-Reply-To: (Filipp Gunbin's message of "Fri, 01 May 2015 05:05:17 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org, Glenn Morris X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) As mentioned by someone else, we'd like to bring Ibuffer and buffer-menu closer to each other, in terms of code and behavior. So I'm not opposed to adding the kind of feature you're requesting, but as much as possible it should be done in a way that narrows the gap between buffer-menu and Ibuffer. Code reuse would be ideal. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri May 08 07:18:31 2015 Received: (at 20463) by debbugs.gnu.org; 8 May 2015 11:18:32 +0000 Received: from localhost ([127.0.0.1]:38316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YqgIZ-0000O7-EU for submit@debbugs.gnu.org; Fri, 08 May 2015 07:18:31 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:41865) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YqgIW-0000Nv-MS for 20463@debbugs.gnu.org; Fri, 08 May 2015 07:18:29 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D856B209B4 for <20463@debbugs.gnu.org>; Fri, 8 May 2015 07:18:26 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Fri, 08 May 2015 07:18:26 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=4kW3a Uy6m4RlxxPEHpemiDQHmKI=; b=G1CUa4ZdlOzdTPDDpqpapisMfh3B7HhIW6lxU 25dY2vw6Yeop5h/m3B/qoGHNpKEJAsPzq9gqNkAnphTc5iLp3gH5GQJskXj1ZWHT 5N7I26IOIuYS45uP1nlfddcjG1Xa1KVv4GZ68q8oQAo8RVBMYphp6r6rM26094N5 ENUsRU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=4kW3aUy6m4RlxxPEHpemiDQHmKI=; b=lbwLf EQ0e7BXheSzyiOHgAqHd59jiTulnWTPcpaiM0QFphtiW6rgKZkyL1qhoS0uvYOn/ eZC/hoLpdz6fci/8RoXP0iFAov4fAHu24D1DFl6kbXvgIK5HNEqsmnwWiUGpUrYc cMLMwTrSyF1l38l4WY+jNXJ7pWZnJPsDCo8kGg= X-Sasl-enc: blRBcQZLrvW91yoXja6DLZJL8G7LDunQUs9aVTljKMrr 1431083906 Received: from fgunbin.local (unknown [94.25.218.10]) by mail.messagingengine.com (Postfix) with ESMTPA id 3DA7E6801EE; Fri, 8 May 2015 07:18:26 -0400 (EDT) From: Filipp Gunbin To: Stefan Monnier Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] References: Date: Fri, 08 May 2015 14:18:24 +0300 In-Reply-To: (Stefan Monnier's message of "Fri, 01 May 2015 13:56:19 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (darwin) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain On 01/05/2015 13:56 -0400, Stefan Monnier wrote: > As mentioned by someone else, we'd like to bring Ibuffer and buffer-menu > closer to each other, in terms of code and behavior. > > So I'm not opposed to adding the kind of feature you're requesting, but > as much as possible it should be done in a way that narrows the gap > between buffer-menu and Ibuffer. Code reuse would be ideal. Yes, that should be better than my proposal, I see. I thought about what I really need once again and I see two cases: 1) kill all log files 2) kill all remote files opened via ssh - they have "/ssh:" in their names So I wrote this simple function. What do you think? Sorry for the noise if no one is interested. Filipp --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=kill-matching-buffers-file-name.patch diff --git a/lisp/files.el b/lisp/files.el index ef6ac7b..a7b989f 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -5827,6 +5827,15 @@ The optional second argument indicates whether to kill internal buffers too." (string-match regexp name)) (kill-buffer-ask buffer))))) +(defun kill-matching-buffers-file-name (regexp) + "Kill buffers whose visited file name matches the specified REGEXP." + (interactive "sKill buffers visiting files matching this regular expression: ") + (dolist (buffer (buffer-list)) + (let ((file-name (buffer-file-name buffer))) + (when (and file-name + (string-match regexp file-name)) + (kill-buffer-ask buffer))))) + (defun rename-auto-save-file () "Adjust current buffer's auto save file name for current conditions. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 23 05:39:54 2016 Received: (at 20463) by debbugs.gnu.org; 23 Feb 2016 10:39:54 +0000 Received: from localhost ([127.0.0.1]:39256 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYANm-0005mk-1W for submit@debbugs.gnu.org; Tue, 23 Feb 2016 05:39:54 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:35735) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYANj-0005mT-J0 for 20463@debbugs.gnu.org; Tue, 23 Feb 2016 05:39:52 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aYANA-0003En-7N; Tue, 23 Feb 2016 11:39:16 +0100 From: Lars Ingebrigtsen To: Filipp Gunbin Subject: Re: bug#20463: 25.0.50; New deletion commands in buffer-menu [PATCH] References: Date: Tue, 23 Feb 2016 21:38:55 +1100 In-Reply-To: (Filipp Gunbin's message of "Fri, 08 May 2015 14:18:24 +0300") Message-ID: <87povnsocg.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aYANA-0003En-7N X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1456828757.76375@TKHioSla6MBuKJbRN9trnw X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 20463 Cc: 20463@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Filipp Gunbin writes: > +(defun kill-matching-buffers-file-name (regexp) > + "Kill buffers whose visited file name matches the specified REGEXP." > + (interactive "sKill buffers visiting files matching this regular expression: ") > + (dolist (buffer (buffer-list)) > + (let ((file-name (buffer-file-name buffer))) > + (when (and file-name > + (string-match regexp file-name)) > + (kill-buffer-ask buffer))))) I'm not sure this sounds like a generally useful function... I tend to think that most users would just be using ibuffer for this stuff, and if you want to programmatically kill lots of buffers, you don't really want `kill-buffer-ask'. It falls between two chairs, I think. So I'm closing this bug report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 23 05:41:19 2016 Received: (at control) by debbugs.gnu.org; 23 Feb 2016 10:41:19 +0000 Received: from localhost ([127.0.0.1]:39260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYAP9-0005pJ-Bj for submit@debbugs.gnu.org; Tue, 23 Feb 2016 05:41:19 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:35758) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYAP8-0005pC-0x for control@debbugs.gnu.org; Tue, 23 Feb 2016 05:41:18 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aYAOi-0003J7-RY for control@debbugs.gnu.org; Tue, 23 Feb 2016 11:40:53 +0100 Date: Tue, 23 Feb 2016 21:40:48 +1100 Message-Id: <87oab7so9b.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #20463 X-MailScanner-ID: 1aYAOi-0003J7-RY X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1456828854.9941@Rp2wgcKhL4ILybYyE3h3mw X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) tags 20463 wontfix close 20463 From unknown Fri Aug 15 20:29:25 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 22 Mar 2016 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator