|
From: | Dmitry Gutov |
Subject: | bug#54100: 29.0.50; Allow project-buffers to ignore some buffers |
Date: | Sat, 26 Feb 2022 03:50:47 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
On 25/02/22 03:33, Dmitry Gutov wrote:Doesn't this mean that it won't do the (memq ... buffers) check and thus ignore the result of the (project-buffers pr) call?Instead, it could be a lambda like (lambda (buffer) ;; BUFFER is an entry (BUF-NAME . BUF-OBJ) of Vbuffer_alist. (and (memq (cdr buffer) buffers) (funcall predicate buffer))) Does that make sense?Totally, thank you!(I would also try to shorten the new defcustom's docstring by referring to the existing one, but I can make that change myself.)Done.
Very good.Looking at it more thoroughly, though, shouldn't we simply inline the check added to project-switch-to-buffer to the function project--read-project-buffer?
It's used by two other related commands (project-display-buffer and project-display-buffer-other-frame), and users would probably expect them to have the same filtering.
project-ignore-buffer-conditions's docstring can be updated accordingly.
Or if you wanted to stay on "or" but make it easier for certain usage pattern, you could call the var 'project-ignore-buffer-conditions' (or "hide" or etc), and change its use appropriately. Then the value could contain'((not mu-project-buffer-p) (derived-mode . comint-mode))...and (not mu-project-buffer-p) could obviously be rewritten in a negated way in the function's definition.I followed your suggestion and used `project-ignore-buffer-conditions' in the attached patch.Now everything works as expected when I use this: (defun mu-project-ignore-buffer-p (buffer) "Check if BUFFER is a member of `mu-ignored-buffers'."(seq-contains-p mu-ignored-buffers (buffer-name buffer) #'string-match-p))(setq-default project-ignore-buffer-conditions '(mu-project-ignore-buffer-p(derived-mode . dired-mode)))Again, thank you for the help on this.
No problem!
[Prev in Thread] | Current Thread | [Next in Thread] |