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] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH VERSION 2) Date: Sun, 2 May 2021 02:32:41 +0200 Message-ID: <6718c89f-88a0-b529-1676-7e89fc152f00@daniel-mendler.de> References: <0bbdeece-90d5-160c-07ec-2ad8edbf9872@daniel-mendler.de> <87czudm7bv.fsf@mail.linkov.net> <976056e8-3d46-db27-32c2-ddf3ca32d5a7@daniel-mendler.de> <878s5090e9.fsf@mail.linkov.net> <69fd42ed-a1a0-adcb-ac8b-caad80cb0967@daniel-mendler.de> <878s4zzpvc.fsf@mail.linkov.net> <95ac7ef3-5e8c-fc58-b316-544096c82aa0@daniel-mendler.de> <87o8dus00b.fsf@mail.linkov.net> 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="19539"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Gregory Heytings , Dmitry Gutov , Stefan Monnier , "emacs-devel@gnu.org" To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 02 02:34:11 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 1ld03n-0004zb-AX for ged-emacs-devel@m.gmane-mx.org; Sun, 02 May 2021 02:34:11 +0200 Original-Received: from localhost ([::1]:44014 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ld03m-0000XE-EK for ged-emacs-devel@m.gmane-mx.org; Sat, 01 May 2021 20:34:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35712) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ld02p-0008W1-6P for emacs-devel@gnu.org; Sat, 01 May 2021 20:33:11 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:55103 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 1ld02i-0000lK-UM for emacs-devel@gnu.org; Sat, 01 May 2021 20:33:09 -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=5DBKxBbNV+H+P28AKYkhdjIWHIZCIzH2ivpO38Zy0/s=; b=QRmCttk3ZPC2xURQvRx3nQYlNX wuvKd4zPHhEZ9Kz2qQP1Fcrnd77DIHSoj7FEYMdsRYqBfUN/0wxpp1WM+vDR3fW2LJtCguZPii2yR vALwXEIfcJ3pdm/ow3VgamCkVhqKiJzo6eG/SygF+I2OMz9hJee0xVn35WJEelQA/0Fo=; In-Reply-To: <87o8dus00b.fsf@mail.linkov.net> 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:268741 Archived-At: On 5/1/21 9:54 PM, Juri Linkov wrote: > I think both completions-detailed and completions-group should be > checked only by the API user like in help-fns.el. Otherwise, > there is duplication that you can see in my previous patch > for read-char-by-name: > > (let* ((enable-recursive-minibuffers t) > (completion-ignore-case t) > (completion-tab-width 4) > (completions-group read-char-by-name-group) > ======================= > (input > (completing-read > prompt > (lambda (string pred action) > (if (eq action 'metadata) > `(metadata > (group-function > . ,(when read-char-by-name-group > ======================= > #'mule--ucs-names-group)) > > The same user option read-char-by-name-group is checked twice. > It should suffice to leave only the latter. This is a matter of preference. In this case I think I would prefer to have the settings checked only once centrally in order to avoid the code duplicatication in every completion table. Furthermore it seems that the style to check the setting locally in every completion table will lead to an unnecessary proliferation of configuration variables, since you introduced the variable `read-char-by-name-group` here. I don't think we should introduce an extra configuration variable per completion table. Daniel