From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: master 583cb26 2/3: Improve accuracy in string-replace description (bug#43598) Date: Mon, 28 Sep 2020 10:11:55 -0700 (PDT) Message-ID: References: <20200927124520.25321.62354@vcs0.savannah.gnu.org> <20200927124522.BA20F207E0@vcs0.savannah.gnu.org> <9B45E488-F245-4A94-A492-C60B617A734B@acm.org> <50bea60b-b70b-4a80-b85b-0c9283a033de@default> <83o8lplu2v.fsf@gnu.org> 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="14971"; mail-complaints-to="usenet@ciao.gmane.io" Cc: mattiase@acm.org, rpluim@gmail.com, emacs-devel@gnu.org, john@yates-sheets.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Sep 28 19:12:54 2020 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 1kMwhp-0003mj-SO for ged-emacs-devel@m.gmane-mx.org; Mon, 28 Sep 2020 19:12:53 +0200 Original-Received: from localhost ([::1]:45954 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kMwho-0002kk-SZ for ged-emacs-devel@m.gmane-mx.org; Mon, 28 Sep 2020 13:12:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44952) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kMwh5-0002JI-Ko for emacs-devel@gnu.org; Mon, 28 Sep 2020 13:12:07 -0400 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:46076) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kMwh3-0005eF-Hy; Mon, 28 Sep 2020 13:12:07 -0400 Original-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08SH9kNX073976; Mon, 28 Sep 2020 17:11:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=TpnPeY+3gFBywFBR16RTHM9iXtfcrgAGAgqSisyfNTs=; b=UF6wcXHD9I5DpN6HkAxEQrZrEUBzTnl7MPrRyaBvtmi+/yTl61eiGN8RjYdZvYfnOOIz pXRgFTzbWTnnKetCX80gacb/rjRoz1jzRnfBHh+l1xuAK8CN+WDTmvf5w9YW5syml/ck Q853uy2mjyInh/xnOuYQ9EmaGBZOHBqxtLojPUgsDkXJmG+av4B7tKKR4DSdkMziDBRL 2+drQG8OUl0D+Gr7FLaWe/CUlltmMXHucpNrg8HxXluZIwtAjK5+nYiYB6NyaVp6pdLS 9Ipj5vdzI05kvXsc8DePteYOXFeMMf5KdWwyrZspERRZw7dZPxP0dVTe9MyiX66c9yKx /g== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2130.oracle.com with ESMTP id 33su5apcca-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 28 Sep 2020 17:11:59 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08SH9fgE172255; Mon, 28 Sep 2020 17:11:58 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 33tfjvb75m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 28 Sep 2020 17:11:58 +0000 Original-Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 08SHBuka020448; Mon, 28 Sep 2020 17:11:56 GMT In-Reply-To: <83o8lplu2v.fsf@gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9758 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 mlxscore=0 phishscore=0 adultscore=0 bulkscore=0 mlxlogscore=902 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009280134 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9758 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=926 suspectscore=0 lowpriorityscore=0 spamscore=0 clxscore=1011 mlxscore=0 impostorscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009280134 Received-SPF: pass client-ip=141.146.126.79; envelope-from=drew.adams@oracle.com; helo=aserp2130.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/28 11:21:16 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.687, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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:256622 Archived-At: > > > Okay. Then how about > > > > > > Return a string equal to @var{instring} with every occurence of > > > @var{fromstring} replaced by @var{tostring}. > > > > Return a new string equal... >=20 > The "equal" part is extremely confusing, IMNSHO. Why do we need it > here? What do you find extremely confusing about it? I'm not the one who proposed that "equal" part, but I'd say that it helps if we draw _some_ relation between the returned string to INSTRING. And the relation needs to express that (1) they don't share structure and (2) they're equal except for the specified diffs. What do we mean by "equal", there? Predicate `equal' (or `string-equal', if you prefer - they amount to the same thing here). We don't want to say "replace" presumably, as that can suggest modification. You can say "Return a string obtained by copying INSTRING and replacing each occurrence of FROMSTRING in that copy by TOSTRING" (which is long but can be split). Mentioning copying means you don't have to say "new". Or you can say something else. But the point is: (1) The returned string is obtained from INSTRING. (2) The returned string is a new string (INSTRING isn't modified). (3) The returned string is equal to INSTRING, except for the indicated differences.