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: Improvement proposals for `completing-read' Date: Thu, 8 Apr 2021 21:15:12 +0200 Message-ID: <4adea266-82dc-a50d-890e-6ca7003373ed@daniel-mendler.de> References: <0342c2d5-02dd-ad9e-5b8e-dfe52f6469c6@daniel-mendler.de> <264397e8-5a03-9eff-436c-639d76514775@daniel-mendler.de> <82c86e8f-06e7-a7ed-56c5-5f6766df591b@daniel-mendler.de> <2d5f6967-c950-d6f2-f8a8-fe4532b2207b@daniel-mendler.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21470"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 08 21:16:18 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 1lUa8Y-0005VV-F2 for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Apr 2021 21:16:18 +0200 Original-Received: from localhost ([::1]:39082 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUa8X-0004zh-HO for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Apr 2021 15:16:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34152) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUa7e-0004SH-DG for emacs-devel@gnu.org; Thu, 08 Apr 2021 15:15:26 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:42959 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 1lUa7Z-00007n-SE for emacs-devel@gnu.org; Thu, 08 Apr 2021 15:15:22 -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:To:Subject:Sender:Reply-To:Cc: 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=XNoilleBqpJRCC/3hGLEyWGKUvRDG0JXXnr5OFQmqFI=; b=s/iJcFKPmhx1LdEdC80HyQ1Hh5 nXN+58ERALYOHxtXb0tjJoMIThTx0Lxz/oY25vHHRdWHZf6DIHtKmFL+ilV9jWxWeAlXSUnwv/Xt2 drAtqQ7I012aR+j/+Q69AhOI2cORk/EokOuxHoQAnMoBofwY/1pUrlOb/3WasquzmGYM=; In-Reply-To: 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:267658 Archived-At: On 4/8/21 8:13 PM, Stefan Monnier wrote: >> This is similar to what I am doing in my `consult-line` command, which is >> a Swiper equivalent. There I encode the line number in Unicode characters of >> some private plane and hide them with 'invisible or 'display. > > I can understand the `invisible` but I would have used plain `%s` or > `number-to-string` rather than funny unicode chars. I am using funny unicode tofus in order to prevent accidental matching when searching for numbers. The idea is that the numbers should be unmatchable! >> Maybe that's the cleaner solution? The nice advantage is that it would be >> backward compatible. I could just start to mark my prefixes as 'unmatchable > > Why put it in the prefix rather than the suffix? > >> and the basic completion style would suddenly start to work. On older Emacs >> versions everything would continue to work as is; the user is required to >> use a completion style which matches substrings, > > If you put the line numbers in the suffix, then they won't bother > anyone, even with the most basic completion scheme. Yes, then it would work with basic completion. The main reason was that the candidates are already prefixed with line numbers in the 'display property. The real string is the tofu-encoded number hidden behind that. Maybe it would be better to implement this differently. Use an affixation function prefix for the line numbers and append the 'invisible tofu-encoded line number as suffix. But I think I implemented `consult-line` before the affixation function came into existence. I have to consider this. Daniel