From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.bugs 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 Message-ID: References: <868u41rv84.fsf@yandex.ru> <83fuy8p8oq.fsf@gnu.org> <568FA9D0.2040609@yandex.ru> <83egdsp88n.fsf@gnu.org> <568FABFC.3000205@yandex.ru> <87tufr74of.fsf@gnus.org> <87lf0yjwpw.fsf@gnus.org> <87r1aodus0.fsf@gnus.org> <66aa873d-5f5f-9024-efb6-e6110c27ab3a@yandex.ru> <87ilvy4m94.fsf@gnus.org> <87czklnqvs.fsf@gnus.org> <3045ca8b-f5d6-c85e-d170-3fe158fec64e@yandex.ru> <87ilu94gac.fsf@gnus.org> <43725c9f-1f0a-fb43-82a2-3f284791fdf5@yandex.ru> <875yq8ypmi.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20889"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Monnier , 22324@debbugs.gnu.org To: Dmitry Gutov , Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jan 26 03:32:15 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nCY6Z-0005Kr-7c for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 26 Jan 2022 03:32:15 +0100 Original-Received: from localhost ([::1]:55820 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nCY6X-0004uF-ND for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 25 Jan 2022 21:32:13 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:56850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nCY6M-0004ts-Ae for bug-gnu-emacs@gnu.org; Tue, 25 Jan 2022 21:32:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:57700) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nCY6M-0001D3-0B for bug-gnu-emacs@gnu.org; Tue, 25 Jan 2022 21:32:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nCY6L-0002Qn-UL for bug-gnu-emacs@gnu.org; Tue, 25 Jan 2022 21:32:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 26 Jan 2022 02:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22324 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 22324-submit@debbugs.gnu.org id=B22324.16431642799286 (code B ref 22324); Wed, 26 Jan 2022 02:32:01 +0000 Original-Received: (at 22324) by debbugs.gnu.org; 26 Jan 2022 02:31:19 +0000 Original-Received: from localhost ([127.0.0.1]:50603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nCY5f-0002Pg-IH for submit@debbugs.gnu.org; Tue, 25 Jan 2022 21:31:19 -0500 Original-Received: from server.qxqx.de ([178.63.65.180]:52095 helo=mail.qxqx.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nCY5d-0002PR-Dy for 22324@debbugs.gnu.org; Tue, 25 Jan 2022 21:31:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=cMWdQF/NljCskGmsg7mM8SAg9yNdUBD9gZ7CGeDXa9w=; b=XGIlZow5nZkn+MOHLOW9JU9fLO vR9BwhDUtcgELqS82YBaBzwJy8ZCgAv9SP4W3+5sH8UTSRn2YKh+0uxqqdggyAMWibNa3akLz2Hg9 4WkXRZKOXPulTKy7WFVQ+ZDD/QoauP4c9eomd9Q3wzMNkl9G/PaR3M0vGIP/eH13D9KU=; Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:225234 Archived-At: 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