unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Daniel Mendler <mail@daniel-mendler.de>
To: Dmitry Gutov <dgutov@yandex.ru>, Lars Ingebrigtsen <larsi@gnus.org>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 22324@debbugs.gnu.org
Subject: bug#22324: 25.0.50; completion-category-defaults style doesn't override completion-styles (gets prepended instead)
Date: Wed, 26 Jan 2022 03:31:08 +0100	[thread overview]
Message-ID: <d3a97207-c944-c941-8a85-dbf59056987f@daniel-mendler.de> (raw)
In-Reply-To: <a9258e5f-4ee5-61dc-dc94-8ca697ff8a41@yandex.ru>

Hello Dmitry,

thank you for pinging me.

> Apparently this config is recommended in the README of both Corfu and 
> Vertico (https://github.com/minad/vertico#configuration), both projects 
> by Daniel Mendler.
> 
> I guess we should ask Daniel whether he has been aware of the 
> completion-styles failover mechanic, and what he thinks about it.

Yes, I've been aware of the failover mechanic and I think it is not
good. From my experience, I would prefer if the override is a real
override, which this issue is about. Users can still opt-in to the
default styles on a case by case basis if this is desired.

The assessment that the variable `completion-category-overrides` is
modified rarely might have been true, but this is not the case anymore.
In the context of the GNU ELPA packages Orderless, Vertico, Consult,
Embark, Marginalia etc., we educate users to make heavy use of this
variable since it permits fine tuning of the completion behavior
depending on the completion category. We also use the completion
category heavily in Marginalia and Embark to determine the type of the
candidates for annotations and minibuffer actions.

Unfortunately the configurations you mentioned, Dmitry, make use of the
failover mechanism. I indeed want to use partial-completion and then
failover to the orderless default. If there wouldn't be a failover I
would have of course recommended another override (partial-completion +
orderless).

Nevertheless I would appreciate the removal (or replacing) of the
failover mechanism. I noticed that it has lead to confusion for some
users before. It leads to performance issues when the slow default sets
in as has been pointed out already. Since currently there is no
possibility to really override the completion styles except via an
advice, removing the failover seems like a good idea.

Furthermore we've also got `completion-category-defaults`. It may make
sense to distinguish them by making the override a real override and
keep the current behavior for the defaults. The alternative would be a
deprecation of the override variable and the introduction of new
variable which is a real override.

One final statement regarding making a breaking change here: You should
consider that the packages orderless etc are fairly new and still have
breaking changes from time to time, so even if these configurations are
widespread or see growing adoption, this should not hold you back from
making a breaking change. I will then promptly adapt the documentation
of these projects and add a warning note, which will soon propagate to
the users who use Emacs master, which is still young in the development
cycle. Of course my statement applies only if the aforementioned are
truly the only widespread packages affected by this.

Daniel





  reply	other threads:[~2022-01-26  2:31 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-07 20:27 bug#22324: 25.0.50; completion-category-defaults style doesn't override completion-styles (gets prepended instead) Dmitry Gutov
2016-01-08 12:17 ` Eli Zaretskii
2016-01-08 12:21   ` Dmitry Gutov
2016-01-08 12:26     ` Eli Zaretskii
2016-01-08 12:30       ` Dmitry Gutov
2016-01-08 15:31         ` Eli Zaretskii
2021-12-02  9:10         ` Lars Ingebrigtsen
2021-12-02  9:45           ` Eli Zaretskii
2021-12-06  1:16           ` Dmitry Gutov
2021-12-06  2:25             ` Lars Ingebrigtsen
2021-12-07  1:35               ` Dmitry Gutov
2021-12-07 20:28                 ` Lars Ingebrigtsen
2021-12-07 22:46                   ` Dmitry Gutov
2021-12-09  1:09                     ` Lars Ingebrigtsen
2022-01-21 13:46                       ` Lars Ingebrigtsen
2022-01-24  2:03                         ` Dmitry Gutov
2022-01-24  9:46                           ` Lars Ingebrigtsen
2022-01-25  2:27                             ` Dmitry Gutov
2022-01-25 12:19                               ` Lars Ingebrigtsen
2022-01-26  1:43                                 ` Dmitry Gutov
2022-01-26  2:31                                   ` Daniel Mendler [this message]
2022-01-26 13:36                                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-26 13:49                                       ` Daniel Mendler
2022-01-26 17:19                                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-26 18:59                                           ` Daniel Mendler
2022-01-26 22:57                                             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-26 23:32                                               ` Daniel Mendler
2022-01-27  6:52                                                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-28  2:35                                             ` Dmitry Gutov
2022-01-28 11:54                                               ` Daniel Mendler
2022-01-28 16:56                                               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-28 22:06                                                 ` Dmitry Gutov
2022-01-28 23:18                                                   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-29  1:57                                                     ` Dmitry Gutov
2022-01-28  2:37                                       ` Dmitry Gutov
2022-01-28 16:59                                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-28 21:23                                           ` Dmitry Gutov
2022-01-28  2:39                                     ` Dmitry Gutov

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=d3a97207-c944-c941-8a85-dbf59056987f@daniel-mendler.de \
    --to=mail@daniel-mendler.de \
    --cc=22324@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=larsi@gnus.org \
    --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).