GNU bug report logs -
#71290
Options for viewing project buffers
Previous Next
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
[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)]
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)]
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.