From: "João Távora" <joaotavora@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: dmitry@gutov.dev, 47711@debbugs.gnu.org,
monnier@iro.umontreal.ca, mail@daniel-mendler.de
Subject: bug#47711: bug#48841: bug#47711: bug#48841: bug#47711: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting
Date: Thu, 2 Nov 2023 11:12:15 +0000 [thread overview]
Message-ID: <CALDnm50EDs348G_HXMbGcZfo-zyokamWu5iTG-R3xA_UVWP4KQ@mail.gmail.com> (raw)
In-Reply-To: <834ji48lrg.fsf@gnu.org>
On Thu, Nov 2, 2023 at 10:58 AM Eli Zaretskii <eliz@gnu.org> wrote:
> > After some rounds of benchmarking and discussion, Dmitry and I
> > think the latest version of the patch should be installed.
>
> Are there any problematic aspects of the patch that need to be
> discussed or considered before installing the patch?
>
> IOW, why are you soliciting our opinions, instead of just going ahead
> and installing?
No particular reason. Dmitry suggested that we do, and you
participated in this discussion a while back, and I know you
normally have some useful comment or two.
> > In a nutshell it solves the performance problem of overly eager
> > completion highlighting with minimal changes to the completion API.
>
> It looks to me like it adds a new feature, not just solves a
> performance problem?
>
> Some minor comments to the patch itself:
>
> > +(defvar-local completion-lazy-hilit nil
> > + "If non-nil, request completion lazy highlighting.
> > +
> > +Completion-presenting frontends may opt to bind this variable to
> > +non-nil value in the context of completion-producing calls (such
> > +as `completion-all-completions'). This hints the intervening
> > +completion styles that they do not need to
> > +fontify (i.e. propertize with the `face' property) completion
> > +strings with highlights of the matching parts.
>
> If this is intended to be bound by frontends, why is it defvar-local?
> I thought let-binding buffer-local variables is a tricky business that
> could have unexpected results?
Good catch! It shouldn't be defvar-local indeed, not with this latest
version. See, glad I called you ;-)
> Also, I think this doc string should reference
> completion-lazy-hilit-fn.
>
> > +(defvar completion-lazy-hilit-fn nil
> > + "Used by completions styles honoring `completion-lazy-hilit'.
>
> This should mention "function", since just "Used to..." doesn't convey
> that, and "-fn" could also mean "file name", not just "function".
Makes sense.
> > +(defun completion-lazy-hilit (str)
> > + "Return a copy of completion STR that is `face'-propertized.
> ^^^^^^^^^^^^^^^^^^
> Strange quoting. "face" is not a symbol that we want to have a link
> to, is it?
It's not a symbol we'll be referencing, but it's a symbol. I'll
rewrite it.
>
> I see a few more places in the doc strings that will "need work", but
> that can be done later.
>
> What did you want to say in NEWS about this? If it's just a
> performance improvement, we don't normally mention them in NEWS.
But it needs frontends to opt in, and that requires an non-breaking
addition to completion API.
João
next prev parent reply other threads:[~2023-11-02 11:12 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-05 1:39 bug#48841: fido-mode is slower than ido-mode with similar settings Dmitry Gutov
2021-06-05 9:35 ` João Távora
2021-06-05 23:02 ` Dmitry Gutov
2021-06-05 23:20 ` João Távora
2021-06-05 23:42 ` Dmitry Gutov
2021-06-06 0:25 ` Dmitry Gutov
2021-06-06 6:54 ` João Távora
2021-06-06 22:20 ` Dmitry Gutov
2021-06-06 23:49 ` João Távora
2021-06-07 0:11 ` Dmitry Gutov
2021-06-07 8:52 ` João Távora
2021-06-11 2:19 ` Dmitry Gutov
2021-06-11 17:09 ` João Távora
2021-06-11 22:34 ` Dmitry Gutov
2021-06-11 22:41 ` Dmitry Gutov
2021-06-13 14:55 ` João Távora
2021-06-17 2:36 ` Dmitry Gutov
2021-06-17 21:21 ` João Távora
2021-07-04 1:53 ` Dmitry Gutov
2021-07-07 8:56 ` bug#47711: " Daniel Mendler
2021-06-11 23:24 ` João Távora
2021-06-12 0:43 ` Dmitry Gutov
2021-06-13 14:29 ` João Távora
2021-06-14 0:08 ` Dmitry Gutov
2021-06-14 0:16 ` João Távora
2021-06-17 2:23 ` Dmitry Gutov
2021-06-17 21:29 ` João Távora
2021-07-04 1:42 ` Dmitry Gutov
2021-06-06 2:34 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-06-06 6:59 ` João Távora
2021-06-06 16:54 ` Dmitry Gutov
2021-06-06 18:37 ` João Távora
2021-06-06 22:21 ` Dmitry Gutov
2021-06-06 23:27 ` João Távora
2021-06-06 17:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-06-06 21:33 ` João Távora
2021-08-11 14:16 ` bug#48841: [PATCH] Add new `completion-filter-completions` API and deferred highlighting Daniel Mendler
2021-08-11 16:11 ` Daniel Mendler
2021-08-11 16:17 ` bug#47711: " João Távora
2021-08-12 9:24 ` Daniel Mendler
2021-08-13 10:38 ` bug#48841: [PATCH VERSION 2] " Daniel Mendler
2021-08-13 10:56 ` João Távora
2021-08-13 11:21 ` bug#48841: bug#47711: " Daniel Mendler
2021-08-13 12:05 ` João Távora
2021-08-13 12:22 ` Daniel Mendler
2021-08-13 12:37 ` bug#48841: " João Távora
2021-08-13 12:56 ` Daniel Mendler
2021-08-13 13:36 ` bug#48841: " João Távora
2021-08-13 14:03 ` Daniel Mendler
2021-08-13 14:11 ` bug#48841: " João Távora
2021-08-13 14:37 ` bug#47711: " Daniel Mendler
2021-08-14 2:47 ` Dmitry Gutov
2021-08-14 7:12 ` bug#47711: " Eli Zaretskii
2021-08-14 11:22 ` Dmitry Gutov
2021-08-16 8:48 ` Daniel Mendler
2021-08-16 11:57 ` bug#47711: " Eli Zaretskii
2021-08-16 12:02 ` João Távora
2021-08-16 12:19 ` Eli Zaretskii
2021-08-16 12:08 ` Daniel Mendler
2021-08-14 10:36 ` João Távora
2021-08-14 11:29 ` Eli Zaretskii
2021-08-14 12:12 ` bug#47711: " Lars Ingebrigtsen
2021-08-14 12:39 ` Eli Zaretskii
2021-08-14 13:29 ` Lars Ingebrigtsen
2021-08-16 3:21 ` Dmitry Gutov
2021-08-16 3:27 ` bug#47711: " João Távora
2021-08-16 3:31 ` Dmitry Gutov
2021-08-16 3:53 ` João Távora
2021-08-16 3:59 ` Dmitry Gutov
2021-08-16 4:25 ` bug#47711: " João Távora
2021-08-16 9:08 ` Daniel Mendler
2021-08-16 10:15 ` João Távora
2021-08-16 10:52 ` Daniel Mendler
2021-08-16 11:37 ` bug#48841: " João Távora
2021-08-16 12:05 ` Daniel Mendler
2021-08-16 12:17 ` João Távora
2021-08-16 12:43 ` Eli Zaretskii
2021-08-16 14:26 ` bug#48841: " Dmitry Gutov
2021-08-16 14:29 ` João Távora
2021-08-16 12:39 ` Eli Zaretskii
2021-08-16 12:49 ` bug#48841: " Daniel Mendler
2021-08-16 13:21 ` Eli Zaretskii
2021-08-16 14:00 ` Dmitry Gutov
2021-08-16 14:20 ` João Távora
2021-08-16 14:33 ` bug#48841: " Dmitry Gutov
2021-08-16 14:36 ` João Távora
2021-08-16 14:47 ` bug#47711: bug#48841: " Dmitry Gutov
2021-08-16 16:59 ` João Távora
2021-08-16 18:25 ` João Távora
2021-08-17 2:08 ` Dmitry Gutov
2021-08-17 8:59 ` João Távora
2021-08-17 11:48 ` bug#48841: " Eli Zaretskii
2021-08-17 11:52 ` bug#47711: " João Távora
2021-08-16 3:17 ` Dmitry Gutov
2021-08-16 11:46 ` Eli Zaretskii
2021-08-16 13:38 ` Dmitry Gutov
2021-08-16 13:41 ` João Távora
2021-08-16 14:14 ` bug#47711: " Dmitry Gutov
2021-08-15 18:32 ` bug#48841: [PATCH] Make fido-mode about as fast as ido-mode even with many completions João Távora
2021-08-25 15:42 ` João Távora
2021-08-14 7:01 ` bug#48841: bug#47711: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting Eli Zaretskii
2021-08-14 9:48 ` João Távora
2021-08-15 0:03 ` João Távora
2021-08-16 3:26 ` Dmitry Gutov
2021-08-16 11:48 ` bug#48841: " Eli Zaretskii
2021-08-16 8:47 ` Daniel Mendler
2021-08-14 2:55 ` bug#47711: bug#48841: " Dmitry Gutov
2021-08-14 7:16 ` bug#48841: " Eli Zaretskii
2023-10-24 22:25 ` bug#47711: " Dmitry Gutov
2023-10-25 17:52 ` João Távora
2023-10-25 20:50 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-25 21:02 ` João Távora
2023-10-25 22:12 ` João Távora
2023-10-26 21:49 ` João Távora
2023-10-26 23:10 ` Dmitry Gutov
2023-10-26 23:27 ` João Távora
2023-10-26 23:35 ` Dmitry Gutov
2023-10-26 23:52 ` João Távora
2023-10-26 23:25 ` Dmitry Gutov
2023-10-26 23:44 ` João Távora
2023-10-27 0:11 ` Dmitry Gutov
2023-10-27 0:26 ` João Távora
2023-10-27 13:29 ` Dmitry Gutov
2023-10-27 13:46 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-27 15:41 ` Dmitry Gutov
2023-10-27 16:19 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-27 17:06 ` Dmitry Gutov
2023-10-27 18:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-29 2:07 ` Dmitry Gutov
2023-10-29 4:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-03 0:16 ` Dmitry Gutov
2023-11-03 3:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-27 17:16 ` João Távora
2023-10-28 22:24 ` Dmitry Gutov
2023-10-29 23:12 ` João Távora
2023-10-31 3:20 ` Dmitry Gutov
2023-10-31 10:55 ` João Távora
2023-10-31 20:52 ` Dmitry Gutov
2023-11-01 18:47 ` João Távora
2023-11-01 22:45 ` Dmitry Gutov
2023-11-02 9:48 ` João Távora
2023-11-02 10:10 ` Eli Zaretskii
2023-11-02 10:39 ` João Távora
2023-11-02 10:58 ` Eli Zaretskii
2023-11-02 11:12 ` João Távora [this message]
2023-11-02 14:40 ` Dmitry Gutov
2023-11-02 15:24 ` João Távora
2023-11-02 15:36 ` Dmitry Gutov
2023-11-02 15:58 ` João Távora
2023-11-02 16:03 ` Dmitry Gutov
2023-11-02 16:09 ` João Távora
2023-11-02 16:15 ` Dmitry Gutov
2021-04-11 20:51 ` bug#47711: 27.1; Deferred highlighting support in `completion-all-completions', `vertico--all-completions` Daniel Mendler
[not found] ` <handler.47711.B.16181742862702.ack@debbugs.gnu.org>
2021-04-18 21:26 ` bug#47711: Acknowledgement (27.1; Deferred highlighting support in `completion-all-completions', `vertico--all-completions`) Daniel Mendler
2023-11-04 18:46 ` bug#47711: bug#48841: bug#47711: bug#48841: bug#47711: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting Howard Melman
2024-04-08 17:19 ` bug#47711: 27.1; Deferred highlighting support in `completion-all-completions', `vertico--all-completions` Dmitry Gutov
2023-11-06 16:20 ` bug#47711: bug#48841: bug#47711: bug#48841: bug#47711: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting João Távora
2023-11-06 19:38 ` Dmitry Gutov
2023-11-07 12:13 ` João Távora
2023-11-08 1:06 ` Dmitry Gutov
2023-11-08 1:24 ` João Távora
2023-11-08 1:47 ` Dmitry Gutov
2023-10-27 0:14 ` João Távora
2021-08-14 8:23 ` João Távora
2021-08-16 3:48 ` Dmitry Gutov
2021-08-16 4:20 ` bug#48841: " João Távora
2021-08-16 8:53 ` Daniel Mendler
2021-08-14 6:45 ` Eli Zaretskii
2021-08-14 3:11 ` bug#47711: bug#48841: [PATCH] " Dmitry Gutov
2021-08-12 8:00 ` Eli Zaretskii
2021-08-12 8:47 ` Daniel Mendler
2021-08-14 6:27 ` Eli Zaretskii
2021-08-16 9:42 ` Daniel Mendler
2021-08-16 12:58 ` bug#47711: " Eli Zaretskii
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=CALDnm50EDs348G_HXMbGcZfo-zyokamWu5iTG-R3xA_UVWP4KQ@mail.gmail.com \
--to=joaotavora@gmail.com \
--cc=47711@debbugs.gnu.org \
--cc=dmitry@gutov.dev \
--cc=eliz@gnu.org \
--cc=mail@daniel-mendler.de \
--cc=monnier@iro.umontreal.ca \
/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).