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.bugs Subject: bug#55205: 28.1.50; completion--replace illegally mutates completion candidates Date: Mon, 2 May 2022 18:48:47 +0200 Message-ID: <8f18460c-269f-40fb-bc69-a9c51671899a@daniel-mendler.de> References: <4d1b8687-20f2-137a-2739-7bba28828991@daniel-mendler.de> <87wnf5mpt4.fsf@gnus.org> <835ymp78hl.fsf@gnu.org> <834k276gyd.fsf@gnu.org> <8335hr6g1n.fsf@gnu.org> 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="10895"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, 55205@debbugs.gnu.org To: Eli Zaretskii , Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon May 02 18:50:09 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1nlZFQ-0002ds-UM for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 02 May 2022 18:50:08 +0200 Original-Received: from localhost ([::1]:50010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nlZFP-0006jq-HK for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 02 May 2022 12:50:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nlZEM-0005ZX-4J for bug-gnu-emacs@gnu.org; Mon, 02 May 2022 12:49:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43966) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nlZEL-0004Ta-Rn for bug-gnu-emacs@gnu.org; Mon, 02 May 2022 12:49:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nlZEL-0000NN-QU for bug-gnu-emacs@gnu.org; Mon, 02 May 2022 12:49:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 May 2022 16:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55205 X-GNU-PR-Package: emacs Original-Received: via spool by 55205-submit@debbugs.gnu.org id=B55205.16515101371434 (code B ref 55205); Mon, 02 May 2022 16:49:01 +0000 Original-Received: (at 55205) by debbugs.gnu.org; 2 May 2022 16:48:57 +0000 Original-Received: from localhost ([127.0.0.1]:37863 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nlZEG-0000N4-P8 for submit@debbugs.gnu.org; Mon, 02 May 2022 12:48:56 -0400 Original-Received: from server.qxqx.de ([178.63.65.180]:42507 helo=mail.qxqx.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nlZEE-0000Mn-NM for 55205@debbugs.gnu.org; Mon, 02 May 2022 12:48:55 -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:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID: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=T1UTszGOzTuHQIWl1nGhuXxJGVXVHL9AzLqS2nGViJQ=; b=oSsjawLl5Gkr9JJx4/nDE3eeBx RqoaIxVgOy8y607wf+4zeLeDKRWuWvtJGES+HZoletiIluUedKB/oo0P/sCO1pl/9wfzKF/JtCntx ItDHbmeXD6pqaxkT1VjomwheR4oZDPbZoaKGACLTSs9S3VQhtlGUjO48Z2YgkPQTELns=; Content-Language: en-US In-Reply-To: <8335hr6g1n.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:231272 Archived-At: On 5/2/22 18:43, Eli Zaretskii wrote: > I have no doubt that in most cases there's no modification of the > original strings. However, AFAIU the discussion was about not letting > that happen, ever, and that I cannot understand. > > IOW, I'm saying that people who want to see all the strings immutable, > all the time, have wrong expectations _in_principle_, even though in > most cases they will probably get what they want. I agree with you that one shouldn't have wrong expectations about mutation of string properties in Emacs general. But in this case, having the expectation is justified and it is also realized throughout completion. The bug report I linked originally essentially shows that if you use completion with a propertized string it is not possible to restore the original text metadata by looking up the text property, since it got destroyed in the process. I am not only taking about the default Completions buffer UI, but also about all kinds of other completion UIs (Icomplete and third-party packages). These UIs all respect the immutability of completion candidates. It is better to not weaken this contract, since it makes things much easier to reason about. Daniel