* bug#58933: 28.2; project-buffers should take an optional filter @ 2022-10-31 22:04 Sean Devlin 2022-11-01 23:38 ` Dmitry Gutov 0 siblings, 1 reply; 8+ messages in thread From: Sean Devlin @ 2022-10-31 22:04 UTC (permalink / raw) To: 58933 Hi folks, 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? In GNU Emacs 28.2 System Description: macOS Configured using: 'configure --disable-silent-rules --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp --infodir=/opt/homebrew/Cellar/emacs/28.2/share/info/emacs --prefix=/opt/homebrew/Cellar/emacs/28.2 --with-gnutls --without-x --with-xml2 --without-dbus --with-modules --without-ns --without-imagemagick --without-selinux' Configured features: ACL GMP GNUTLS JSON LIBXML2 MODULES NOTIFY KQUEUE PDUMPER THREADS ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow regexp-opt sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail tool-bar rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date subr-x seq mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm byte-opt gv bytecomp byte-compile cconv iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads kqueue multi-tty make-network-process emacs) Memory information: ((conses 16 52996 8081) (symbols 48 6605 1) (strings 32 18468 1651) (string-bytes 1 607034) (vectors 16 10639) (vector-slots 8 125885 7770) (floats 8 24 265) (intervals 56 192 0) (buffers 992 10)) ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 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 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Gutov @ 2022-11-01 23:38 UTC (permalink / raw) To: Sean Devlin, 58933 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? We could indeed add a new argument, but perhaps it won't made as much of a difference, given those options. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 2022-11-01 23:38 ` Dmitry Gutov @ 2022-11-02 14:17 ` Sean Devlin 2022-11-04 1:22 ` Dmitry Gutov 0 siblings, 1 reply; 8+ messages in thread From: Sean Devlin @ 2022-11-02 14:17 UTC (permalink / raw) To: Dmitry Gutov; +Cc: 58933 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. > > We could indeed add a new argument, but perhaps it won't made as much of a difference, given those options. Given the functions you mentioned, I think it’s probably not a high priority to solve the problem in project.el. Thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 2022-11-02 14:17 ` Sean Devlin @ 2022-11-04 1:22 ` Dmitry Gutov 2022-11-04 6:47 ` Philip Kaludercic 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Gutov @ 2022-11-04 1:22 UTC (permalink / raw) To: Philip Kaludercic, Sean Devlin; +Cc: 58933 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. Philip, is that the plan? ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 2022-11-04 1:22 ` Dmitry Gutov @ 2022-11-04 6:47 ` Philip Kaludercic 2022-11-04 16:40 ` Sean Devlin 0 siblings, 1 reply; 8+ messages in thread From: Philip Kaludercic @ 2022-11-04 6:47 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Sean Devlin, 58933 Dmitry Gutov <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. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 2022-11-04 6:47 ` Philip Kaludercic @ 2022-11-04 16:40 ` Sean Devlin 2022-11-04 17:07 ` Philip Kaludercic 0 siblings, 1 reply; 8+ messages in thread From: Sean Devlin @ 2022-11-04 16:40 UTC (permalink / raw) To: Philip Kaludercic, Dmitry Gutov; +Cc: 58933 [-- Attachment #1: Type: text/plain, Size: 2273 bytes --] Hi folks, > On Nov 4, 2022, at 2:47 AM, Philip Kaludercic <philipk@posteo.net> wrote: > > Dmitry Gutov <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. Thanks both for your help, and feel free to close this at your discretion. [-- Attachment #2: Type: text/html, Size: 10097 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 2022-11-04 16:40 ` Sean Devlin @ 2022-11-04 17:07 ` Philip Kaludercic 2022-11-04 17:11 ` Sean Devlin 0 siblings, 1 reply; 8+ messages in thread From: Philip Kaludercic @ 2022-11-04 17:07 UTC (permalink / raw) To: Sean Devlin; +Cc: 58933-done, Dmitry Gutov Sean Devlin <spd@toadstyle.org> writes: > Hi folks, > >> On Nov 4, 2022, at 2:47 AM, Philip Kaludercic <philipk@posteo.net> wrote: >> >> Dmitry Gutov <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. > Thanks both for your help, and feel > free to close this at your discretion. OK, done :) ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#58933: 28.2; project-buffers should take an optional filter 2022-11-04 17:07 ` Philip Kaludercic @ 2022-11-04 17:11 ` Sean Devlin 0 siblings, 0 replies; 8+ messages in thread From: Sean Devlin @ 2022-11-04 17:11 UTC (permalink / raw) To: Philip Kaludercic; +Cc: 58933-done, Dmitry Gutov [-- 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 --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-11-04 17:11 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.