From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Recommendation for CAPF setup when you don't know completion string in advance Date: Tue, 11 May 2021 11:52:49 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18504"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: JD Smith Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 11 17:53:53 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 1lgUhk-0004dV-It for ged-emacs-devel@m.gmane-mx.org; Tue, 11 May 2021 17:53:52 +0200 Original-Received: from localhost ([::1]:59440 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lgUhj-0004Yo-MW for ged-emacs-devel@m.gmane-mx.org; Tue, 11 May 2021 11:53:51 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgUgt-0003h0-Di for emacs-devel@gnu.org; Tue, 11 May 2021 11:53:00 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:2723) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgUgp-0000gY-66 for emacs-devel@gnu.org; Tue, 11 May 2021 11:52:58 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 6DC448088B; Tue, 11 May 2021 11:52:52 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id BA8248063A; Tue, 11 May 2021 11:52:50 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1620748370; bh=wMObm+PhKMi5aw64lMhv/FUZW52jEPJ3Gt3Gksrv1Vc=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Qo1VPG7yaBd57TPzHtMmXq7D6AAQRpVoqOIUxOxEbpRRiIrRyQYHCbTseWBwI0HWW awlHosSm6Eu4g0+stgt+KRVuV53csfrHtqfvy4U31dbezr2aBFcbydsNQrLNyron0N YebhXzT8hNL4wTPX5Q5eKb1GSDQdI/yv7hcYU425i8nbUuv5h8E9Dl0SDlodre1oZZ 8wDncB1C84kasGkXp4jchDCVmOFthkaorPN7IvzhSEyWePr5i2Jdhi5Q4q7NuhT1dR as98XT7y6i/VHkwyMxoXlk7oFCPIuTYWKVKLwsz1wpicRM8AdO6z5QQ+wkuTMbW5YQ ZPKrMkxXZwr1w== Original-Received: from alfajor (76-10-140-76.dsl.teksavvy.com [76.10.140.76]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 88C8E1202DA; Tue, 11 May 2021 11:52:50 -0400 (EDT) In-Reply-To: (JD Smith's message of "Tue, 11 May 2021 09:42:21 -0400") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-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:269163 Archived-At: > Looking at `completion-table-with-context=E2=80=99, it seems just to prep= end the > prefix after the completion happens, if a string is returned from > `complete-with-action'. Indeed. > I=E2=80=99m struggling then to understand the point of > completion-boundaries lookup at all. That's catering to more complex situations. E.g. imagine completing foo:file/name:bar where your code split this up into a `foo:` prefix and a `:bar` suffix, and it uses the `completion-file-name-table` as completion table for the "middle part". In order to compute the overall boundaries to use when point is inside "name", you need to add the length of the prefix to the boundaries returned by `completion-file-name-table`. IIUC in your case the completion-table used between prefix and suffix will always be a "plain list" with no "nested" boundaries so you won't need to worry about that. Stefan