From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: master 13fe8a2: Fix rare undefined behaviors in replace-match Date: Sat, 3 Aug 2019 13:30:08 -0700 Organization: UCLA Computer Science Department Message-ID: References: <20190803200033.5628.11021@vcs0.savannah.gnu.org> <20190803200034.9E5F1209B1@vcs0.savannah.gnu.org> <87sgqic8rn.fsf@mouse.gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="92267"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Aug 03 22:30:25 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hu0fY-000Npn-C5 for ged-emacs-devel@m.gmane.org; Sat, 03 Aug 2019 22:30:24 +0200 Original-Received: from localhost ([::1]:41870 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hu0fW-0008C9-Nz for ged-emacs-devel@m.gmane.org; Sat, 03 Aug 2019 16:30:22 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46336) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hu0fO-0008Bu-T0 for emacs-devel@gnu.org; Sat, 03 Aug 2019 16:30:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hu0fN-0000k0-NY for emacs-devel@gnu.org; Sat, 03 Aug 2019 16:30:14 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:58550) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hu0fN-0000ip-IG for emacs-devel@gnu.org; Sat, 03 Aug 2019 16:30:13 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A9E4416183C; Sat, 3 Aug 2019 13:30:09 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id cuW3iooYCNv1; Sat, 3 Aug 2019 13:30:08 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 839671618B1; Sat, 3 Aug 2019 13:30:08 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id GKuypBj_AkeP; Sat, 3 Aug 2019 13:30:08 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 4DE1316183C; Sat, 3 Aug 2019 13:30:08 -0700 (PDT) In-Reply-To: <87sgqic8rn.fsf@mouse.gnus.org> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:239158 Archived-At: Lars Ingebrigtsen wrote: > This is probably a better error to signal here for this error, but it > possibly changes the behaviour. If somebody previously had > condition-case'd this for args-out-of-range, then they'll get a new > error signalled now (which is why I kept that signal)... In this particular case the error is so rare and the signal so inappropriate for the error that I thought it better to make the signal more accurate. It's possible for (replace-match ... N) to work for N equal to 0, 1, 3, and 4 but to signal an error for other N, so signaling an args-out-of-range error when N=2 would be misleading. Another possibility would be to signal a domain error when N=2 in that example.