unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Sean Devlin <spd@toadstyle.org>
To: Philip Kaludercic <philipk@posteo.net>
Cc: 58933-done@debbugs.gnu.org, Dmitry Gutov <dgutov@yandex.ru>
Subject: bug#58933: 28.2; project-buffers should take an optional filter
Date: Fri, 4 Nov 2022 13:11:07 -0400	[thread overview]
Message-ID: <D396DCB4-1E4C-4D8A-99F3-B2220FC20A13@toadstyle.org> (raw)
In-Reply-To: <87h6ze7in5.fsf@posteo.net>

[-- Attachment #1: Type: text/plain, Size: 3091 bytes --]



> On Nov 4, 2022, at 1:07 PM, Philip Kaludercic <philipk@posteo.net> wrote:
> 
> Sean Devlin <spd@toadstyle.org <mailto:spd@toadstyle.org>> writes:
> 
>> Hi folks,
>> 
>>> On Nov 4, 2022, at 2:47 AM, Philip Kaludercic <philipk@posteo.net <mailto:philipk@posteo.net>> wrote:
>>> 
>>> Dmitry Gutov <dgutov@yandex.ru <mailto:dgutov@yandex.ru> <mailto:dgutov@yandex.ru>> writes:
>>> 
>>>> On 02.11.2022 16:17, Sean Devlin wrote:
>>>>> Hi Dmitry,
>>>>> 
>>>>>> On Nov 1, 2022, at 7:38 PM, Dmitry Gutov<dgutov@yandex.ru>  wrote:
>>>>>> 
>>>>>> Hi Sean,
>>>>>> 
>>>>>> On 01.11.2022 00:04, Sean Devlin wrote:
>>>>>> 
>>>>>>> Project.el provides a function project-buffers that returns a list of
>>>>>>> buffers associated with the given project. The list is unfiltered,
>>>>>>> meaning any program using it will have to do some work to pick out the
>>>>>>> buffers of interest. It would be useful if the function had an optional
>>>>>>> argument to do this work.
>>>>>>> Project.el already has a function project--buffer-check that validates a
>>>>>>> buffer against a list of conditions. Maybe it should be wired into
>>>>>>> project-buffers to do the job of filtering?
>>>>>> There is also 'match-buffers' and 'buffer-match-p' in the core
>>>>>> Emacs starting with Emacs 29 (should also be available with the
>>>>>> 'compat' package).
>>>>>> 
>>>>>> What do you think about these alternatives?
>>>>> Thanks for the pointer—I wasn’t aware of these functions. (I’m still on 28.2.)
>>>>> It looks like these do fit the bill. For example, it looks like I
>>>>> could write:
>>>>> (match-buffers condition (project-buffers project))
>>>>> I can’t see these functions in my local installation of compat
>>>>> (056e3cc), but maybe definitions from Emacs 29 haven’t been added
>>>>> yet? In any case, I’m happy to wait a little bit.
>>>> 
>>>> Right, I'm not seeing it in there either. Perhaps it'll get there
>>>> after Emacs 29 is released.
>>> 
>>> Right, Emacs 29 support is under development, but hasn't been completed
>>> yet: https://git.sr.ht/~pkal/compat/tree/emacs-29.1/item/compat-29.el.
>>> 
>>>> Philip, is that the plan?
>>> 
>>> The plan is to be ready by the time Emacs 29 is released.  If possible
>>> and I get to it, it might also be released earlier, but at the very
>>> least I'll be waiting for the feature freeze later this month.
>> 
>> That sounds good to me. I have a workaround in the meantime, so I’m
>> happy to wait for the new release. 
> 
> I don't know what your workaround is, but since both functions
> (buffer-match-p, match-buffers) are self-contained, you can also just
> copy the current implementation into your local configuration.

Right now, I’m using project--buffer-check, which does a very similar thing. Your suggestion might be better, so I don’t need to rely on a project.el-internal function. I’ll take a look. Thanks again!

> 
>>                                   Thanks both for your help, and feel
>> free to close this at your discretion.
> 
> OK, done :)


[-- Attachment #2: Type: text/html, Size: 9808 bytes --]

      reply	other threads:[~2022-11-04 17:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-31 22:04 bug#58933: 28.2; project-buffers should take an optional filter Sean Devlin
2022-11-01 23:38 ` Dmitry Gutov
2022-11-02 14:17   ` Sean Devlin
2022-11-04  1:22     ` Dmitry Gutov
2022-11-04  6:47       ` Philip Kaludercic
2022-11-04 16:40         ` Sean Devlin
2022-11-04 17:07           ` Philip Kaludercic
2022-11-04 17:11             ` Sean Devlin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D396DCB4-1E4C-4D8A-99F3-B2220FC20A13@toadstyle.org \
    --to=spd@toadstyle.org \
    --cc=58933-done@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=philipk@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).