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.devel Subject: Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations Date: Mon, 24 May 2021 21:53:24 +0200 Message-ID: <83f4eb63-3299-bfe7-77f9-0fc19403b966@daniel-mendler.de> References: <87zgwlb4xc.fsf@gmail.com> <617d06ca-27bf-2ae8-26eb-1042123499d3@daniel-mendler.de> <87pmxhb1rs.fsf@gmail.com> <23510125-37b9-e87e-3590-5322f44772ce@daniel-mendler.de> <87a6olazff.fsf@gmail.com> <93d2cfe9-bae8-bf94-486f-7569aa31491d@daniel-mendler.de> <874kesj6k6.fsf@gmail.com> <87zgwkhrmi.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40604"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Juri Linkov , dgutov@yandex.ru, monnier@iro.umontreal.ca, "emacs-devel@gnu.org" To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 24 21:54:47 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 1llGf0-000APJ-33 for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 21:54:46 +0200 Original-Received: from localhost ([::1]:51942 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llGey-00029t-BA for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 15:54:44 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57744) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llGdq-0000rC-Rl for emacs-devel@gnu.org; Mon, 24 May 2021 15:53:34 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:58161 helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llGdm-0000A8-R2 for emacs-devel@gnu.org; Mon, 24 May 2021 15:53:34 -0400 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: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject: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=l31ZmzwXQJwW5CQ20Y181acISQrTlIsA7KccvV9+t5o=; b=bb6m3FLkuDR7ybm1F7amXogKOi EKgzh8MLyNWJv3SO+oHKHG85acCu/FENZ8lXN6qxTFR1t7pWP6hrM2IJlEHwoXRUvfTKrgqCr6aux Hko95w6Wsm5+cFcVgDm7lYcd0Eg0t1bTcXh8AQeu2mC7h3NAMUzZqX6fBJnHVthSTTI8=; In-Reply-To: <87zgwkhrmi.fsf@gmail.com> Content-Language: en-US Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-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:269800 Archived-At: On 5/24/21 9:13 PM, João Távora wrote: > João Távora writes: > >> Daniel Mendler writes: >> >>> On 5/23/21 11:54 PM, João Távora wrote: >> >>> But regarding merging or not merging the patch, I don't agree with your >>> argument of taking this as leverage which makes the discussion more or >>> less difficult. >> >> I'm not taking this as "leverage", I just don't think icomplete.el >> should embark into what I consider (and apparently others) a misdesigned >> API. We should strive to come up with maintainable and reliable >> systems, not just merge something because it happens to work and look >> nice (which is plain to see that it does). Okay, I agree with what you say about maintainable and reliable systems. I am thankful that you are putting work into the `icomplete-vertical-mode`. And I hope we find a good solution for the annotations. My proposal to merge this is not just because it "looks nice". It replicates what is already present in the default UI which is part of the core functionality in minibuffer.el. Everything that you consider to be wrong here should also be fixed there. > By the way, another reason not to merge your patch as it is originally > is that it seems to affixate too many prospects, way way more than are > shown. My alternative patch should, in principle, only annotate the > candidates that are to be displayed. It also does suffix alignment (but > not prefix yet). So my view is that there are edges to polish in > multiple angles and we shouldn't rush this. If that is indeed the case this is a fair criticism and my patch should not be merged. However this implies that there was something wrong with the code all along since the prospects I am annotating are concatenated right away. Of course the concatenation should only be done for the candidates which are visible. Regarding the patches you are working one, I think we should first agree on a way forward regarding the `affixation-function`. I don't think it is a good idea to end up with the `affixation-function` in addition the enhanced `annotation-function` with its prefix/suffix annotations. If we go with the enhanced `annotation-function` the `affixation-function` should be removed. I wonder about the semantics of your 'prefix and 'suffix annotations. Will the 'suffix take precedence over the string itself then or are they supposed to be concatenated? Wouldn't it be sufficient to only add a 'prefix annotation? Is there a possibility to add more annotations? In my other mail I had thought about supporting multiple annotation fields which are then displayed in columns. Do you consider consider something like this to be realistic? Daniel