From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#70784: Abolish string resizing Date: Wed, 15 May 2024 19:30:43 +0200 Message-ID: <63EF9C09-16B7-4EFD-B7E9-2A9C2BB86CB3@gmail.com> References: <864jbce4nx.fsf@gnu.org> <9416BCF1-C394-483A-80DC-D6BBD10F48FE@gmail.com> <4F94AAEB-3D72-4B90-868E-F1D8369E4A59@gmail.com> <5F2B7A18-84C1-4C3D-85DB-49A901B5EB79@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33856"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , 70784@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed May 15 19:33:32 2024 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 1s7IVL-0008P7-8D for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 15 May 2024 19:33:27 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7IUO-0005DK-HU; Wed, 15 May 2024 13:32:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7ITw-0005Bn-W5 for bug-gnu-emacs@gnu.org; Wed, 15 May 2024 13:32:19 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7ITw-0001ec-KN for bug-gnu-emacs@gnu.org; Wed, 15 May 2024 13:32:00 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s7ITy-0001yY-4E for bug-gnu-emacs@gnu.org; Wed, 15 May 2024 13:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 May 2024 17:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70784 X-GNU-PR-Package: emacs Original-Received: via spool by 70784-submit@debbugs.gnu.org id=B70784.17157943177584 (code B ref 70784); Wed, 15 May 2024 17:32:02 +0000 Original-Received: (at 70784) by debbugs.gnu.org; 15 May 2024 17:31:57 +0000 Original-Received: from localhost ([127.0.0.1]:43393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s7ITt-0001yG-E5 for submit@debbugs.gnu.org; Wed, 15 May 2024 13:31:57 -0400 Original-Received: from mail-lj1-f179.google.com ([209.85.208.179]:49342) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s7ITr-0001y4-QL for 70784@debbugs.gnu.org; Wed, 15 May 2024 13:31:56 -0400 Original-Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-2e43c481b53so84737011fa.2 for <70784@debbugs.gnu.org>; Wed, 15 May 2024 10:31:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715794248; x=1716399048; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=zAMSx7MsNJSRg/htP4q0mU3OwIMEdyj13uHAbRe2RGM=; b=lOmq/roVjFcEu5KBxR4eQYjlYosc7BEXjfyCzziinxzf/vBTT9GuwHKlmhZcENab+j Jq6vu/lQzjm8ryrMYJRODCHE2wxUzKltAom4sAvCVntKatw8P+XNeIgJHRl1m0i+lRAW nZ9v8e1KKSOUrVw2VBLh1MxACjp/vWgnfle3yBUBe5mE1i3imMf40T/hqUYKCSmoenl4 fat61drML45nxnOMMpbAzhCaeEFGWEXX5tOeFPMOt1Pq1/oEhgV1TCNCsPDWe6Au3t/y mvnBm+sgBjfLbbVovkrJZjCzBokYZbde9nfqeODdWgtseCQv6mxufteiNh5XEKAvZyil yB3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715794248; x=1716399048; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=zAMSx7MsNJSRg/htP4q0mU3OwIMEdyj13uHAbRe2RGM=; b=m8cuUsynRExBT4b3FGBI3A8RsuVmCag5/O5cl1SczYRg+q/6B3Yi9i5HOhYOClUQmH S25tCpLDYRXkBNOiMVMoHTKCloHNvXSiNsHbdedTitl1DppaeG12m5YOT6mq5Z+rmxFm B22hs0KoIHKUh93gzf5LFW/SlJP8Akd7EbA4eVDVSUQTuim9Uw0uBKJPGXYdKi1JBhR6 S6GsbYPH3wcnHx6B+1cVmF+kcFuygk6/brqe8VjBY+GAnLvx2qKNHAQnbncp8AJhHE7b m7x9ZvS6fW1W3C0tQJQPGkPc0UqTVUcJt/jObc5tdFm84MBEtGAzrJ5nchjfeV1yOt5g xuDw== X-Forwarded-Encrypted: i=1; AJvYcCUSNQAndjc3p5I8JDG+Ld61g+fANnlaOvHRqw2Ws8ZyhR6+r5Gq02RONoXlg6LlyHIo01Lc4L5Stxks2AMxwq/l6xY+CHw= X-Gm-Message-State: AOJu0YwT4CMCQodQfEViJhuV7ZIWkgeRZYBH9Hvl0/0sgi6Tn0/JHFMx Lqk87e1YOCOq94cExIZKsa7kFKipQKLcv1G3rQbjWSeSMB5LAcr/M3dmiA== X-Google-Smtp-Source: AGHT+IFnZp8CsT/n0ZKKllJ3sR+KOYk8P3NK86vkDZo2aURMj7oTIClEpNSewQsKEjk0/OBcqtsnDQ== X-Received: by 2002:a2e:9094:0:b0:2e0:3c82:cb64 with SMTP id 38308e7fff4ca-2e52028d817mr113453001fa.37.1715794247442; Wed, 15 May 2024 10:30:47 -0700 (PDT) Original-Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se. [80.217.1.132]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2e4d16227a2sm21590461fa.120.2024.05.15.10.30.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 May 2024 10:30:46 -0700 (PDT) In-Reply-To: <5F2B7A18-84C1-4C3D-85DB-49A901B5EB79@gmail.com> X-Mailer: Apple Mail (2.3654.120.0.1.15) 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:285101 Archived-At: To minimise even low-probability trouble, I've looked for standard Elisp = functions that might run into the resizing mutation trouble if used in a = specific way. There's not a lot, but so far I've done: - cl-substitute[-if[-not]] - cl-sort (not that sorting strings is very common) - subst-char-in-string with INPLACE =3D nil I'm going to leave functions that explicitly mutate strings alone since = code may depend on them doing that which is completely fine. The manual would benefit from some light editing, just to make it clear = that mutating multibyte strings is not usually the best programming = style. I'll post a suggested patch. Also, I'm leaning toward removing `store-substring` from the manual = because while it probably felt like a good addition at the time, = circumstances have changed and it has hardly seen any use at all. (We = can mark it obsolete or keep it indefinitely but it doesn't really = deserve top billing these days.)