GNU bug report logs - #22324
25.0.50; completion-category-defaults style doesn't override completion-styles (gets prepended instead)

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Thu, 7 Jan 2016 20:28:01 UTC

Severity: normal

Merged with 38101

Found in version 25.0.50

Fixed in version 29.1

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Daniel Mendler <mail <at> daniel-mendler.de>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 22324 <at> debbugs.gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: bug#22324: 25.0.50; completion-category-defaults style doesn't override completion-styles (gets prepended instead)
Date: Wed, 26 Jan 2022 08:36:34 -0500
>> 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.

We can probably have our cake and eat it too by adding a `fail`
completion style.  Such a style would always take responsibility
(i.e. would never return nil to delegate to subsequent styles), but
would always return a "useless" value that gives no completions.

Then entries in `completion-category-override/defaults` could choose to
either be mere additions to the global default (as now) or be a full
override (which they'd get by having this `fail` style at the end).

> 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.

No, the role of those two is already quite different:
`completion-category-defaults` is for packages to set, whereas
`completion-category-override` is to be set by end-users.


        Stefan





This bug report was last modified 3 years and 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.