GNU bug report logs - #71290
Options for viewing project buffers

Previous Next

Package: emacs;

Reported by: mikpom <mikpom <at> mikpom.ru>

Date: Fri, 31 May 2024 12:30:02 UTC

Severity: normal

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: mikpom <mikpom <at> mikpom.ru>
Subject: bug#71290: closed (Re: bug#71290: Options for viewing project
 buffers)
Date: Sun, 09 Jun 2024 02:52:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#71290: Options for viewing project buffers

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 71290 <at> debbugs.gnu.org.

-- 
71290: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71290
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Dmitry Gutov <dmitry <at> gutov.dev>
To: mikpom <mikpom <at> mikpom.ru>, 71290-done <at> debbugs.gnu.org
Subject: Re: bug#71290: Options for viewing project buffers
Date: Sun, 9 Jun 2024 05:42:16 +0300
Hi!

On 05/06/2024 07:00, mikpom wrote:
> So I implemented (thank  for a suggestion in Emacs-ru chat) optional
> Ibuffer viewer. Diff on project.el is attached. It works in my setting.

This works, thank you. Pushed to master with expanded docstring and a 
minor fix (the ARG argument).

Also added the below patch.

This seems to work well, so marking this as resolved.

diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index ab928a35e54..a16ff30395b 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -1567,7 +1567,8 @@ project-list-buffers
     (funcall project-buffers-viewer pr arg)))

 (defun project-list-buffers-buffer-menu (project &optional files-only)
-  "Lists buffers of a project in Buffer-menu mode"
+  "List buffers for PROJECT in Buffer-menu mode.
+If FILES-ONLY is non-nil, only show the file-visiting buffers."
   (let ((buffer-list-function
          (lambda ()
            (seq-filter
@@ -1598,11 +1599,13 @@ project-list-buffers-buffer-menu
        (list-buffers-noselect files-only buffer-list-function)))))

 (defun project-list-buffers-ibuffer (project &optional files-only)
-  "Lists buffers of a project with Ibuffer"
-  ;; TODO files-only
+  "List buffers for PROJECT using Ibuffer.
+If FILES-ONLY is non-nil, only show the file-visiting buffers."
   (ibuffer t (format "*Ibuffer-%s*" (project-name project))
-           `((predicate . (member (current-buffer)
-                                  (project-buffers ',project))))))
+           `((predicate . (and
+                           (or ,(not files-only) buffer-file-name)
+                           (member (current-buffer)
+                                   (project-buffers ',project)))))))

 (defcustom project-kill-buffer-conditions
   '(buffer-file-name    ; All file-visiting buffers are included.


[Message part 3 (message/rfc822, inline)]
From: mikpom <mikpom <at> mikpom.ru>
To: bug-gnu-emacs <at> gnu.org
Subject: Options for viewing project buffers
Date: Fri, 31 May 2024 19:28:53 +0700
Greetings devs and emacs community.

I occasionally need to list buffers of a project and do so with the
built-in command project-list-buffers from project.el. The problem is
that this command utilizes Buffer-menu mode and does so in a hard-coded
way. Personally I prefer IBuffer which is already heavily customized
while I have zero knowledge of Buffer-menu mode. 

I suggest to make an option whether project.el will list buffers with
Ibuffer, Buffer-menu or even something else?

Kind regards,
-Mikhail



This bug report was last modified 349 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.