From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.devel Subject: Re: Stepping Back: A Wealth Of Completion systems Re: [ELPA] New package: vertico Date: Thu, 08 Apr 2021 21:21:08 -0700 Message-ID: <87lf9sjdfv.fsf@ericabrahamsen.net> References: <9c9af088-580f-9fb1-4d79-237a74ce605c@inventati.org> <874kgkxxs0.fsf@posteo.net> <78741fe6-2612-d7c9-2bc4-0b68ea7fa51a@yandex.ru> <76a4d0e2-117b-165d-d56e-5bc2f504b50c@yandex.ru> <87blapln0r.fsf@posteo.net> <37bd2e96-ce04-eb6d-24da-fdd7ea427e61@yandex.ru> <87im4wx2ct.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16370"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Philip Kaludercic , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 09 06:21:49 2021 Return-path: Envelope-to: ged-emacs-devel@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 1lUieT-00049g-4S for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Apr 2021 06:21:49 +0200 Original-Received: from localhost ([::1]:44236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUieS-00049F-68 for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Apr 2021 00:21:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42362) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUidv-0003gR-4n for emacs-devel@gnu.org; Fri, 09 Apr 2021 00:21:15 -0400 Original-Received: from ericabrahamsen.net ([52.70.2.18]:36272 helo=mail.ericabrahamsen.net) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUidr-0007xs-IH for emacs-devel@gnu.org; Fri, 09 Apr 2021 00:21:14 -0400 Original-Received: from localhost (nat-out-5.ykwc.net [199.68.205.5]) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 3126FFA086; Fri, 9 Apr 2021 04:21:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1617942070; bh=4Tn5/OjnqqYT7o/aOHC0LryDWVAC6estaSgAvU0ibLc=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=qfmZ9YgtgzT5wBqF0J+rzdN40gpDcryRUXle9LH9paMrmKS1jQbdy0X9OhnoJkA3A SLLzYMdaBqTGTN+My0HATY/n95R+8ol+pJ5nupBKlIaVq+UkAvT63n5Dcqm+ejPoM/ WlnWzvI1Yod8KmGgYIMrjpdRUQEKyJVEOj3FwqaE= In-Reply-To: (Dmitry Gutov's message of "Thu, 8 Apr 2021 21:59:31 +0300") Received-SPF: pass client-ip=52.70.2.18; envelope-from=eric@ericabrahamsen.net; helo=mail.ericabrahamsen.net X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:267685 Archived-At: Dmitry Gutov writes: > On 08.04.2021 17:44, Philip Kaludercic wrote: >> Dmitry Gutov writes: >> >>> On 08.04.2021 01:59, Philip Kaludercic wrote: >>>> Dmitry Gutov writes: >>>> >>>>> What I was disagreeing in the previous message, is whether it's worth >>>>> to create a semantic distinction between completing-read and >>>>> selecting-read. How would a Lisp author choose between the two? The >>>>> former should actually be more powerful (it will retain support for >>>>> TAB completion, and yet it could still be supported by selection-style >>>>> frameworks such as Company or Ivy); >>>> completing-read can be more powerful, as it includes expanding text >>>> and >>>> selecting items, but I if you are not interested in text-expansion you >>>> should probably limit yourself to selection, >>> >>> Am "I" in this example the user, or the author of the caller code? >> The I was probably a typo. > > I was asking what you meant by "you", actually. Probably not important > at this point. > >>>> so that everyone is ensured >>>> to have the same presentation. >>> >>> If that's the goal, why don't we make sure to include a "selection" >>> interface that supports text-expansion as well, like both Company and >>> Ivy do? >>> >>> What's the purpose of having that distinction? >> My hypothisis is that selection is held back by completing-read, and >> that a framework that is explicitly made for selection and not >> retrofitted into the existing framework could stand to improve the user >> experience. > > Ah... all right. So the idea could be to annotate the cases where > text-expansion is not needed. I'm not sure there is a good way to make > that determination, though. OTOH, I can imagine cases which pretty > much *need* selection-like interface. > xref-show-definitions-completing-read would be one example (it's > relatively awkward to make the choice using completion, though > certainly not impossible). This is exactly the sort of use-case I think selection would be perfect for. As another data point, Gnus has `gnus-multiple-choice', yet another approach to the problem.