From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#34525: replace-regexp missing some matches Date: Wed, 27 Feb 2019 18:39:31 +0200 Message-ID: <838sy1kwxo.fsf@gnu.org> References: <20190220185850.GB9655@ACM> <83lg2agt0j.fsf@gnu.org> <20190220213003.GC9655@ACM> <83bm35hkqo.fsf@gnu.org> <20190224173746.GA21808@ACM> <83mumlnk8y.fsf@gnu.org> <20190224210058.GB21808@ACM> <83mumjmxv6.fsf@gnu.org> <20190226135048.GA19653@ACM> <20190227142251.GB4772@ACM> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="60509"; mail-complaints-to="usenet@blaine.gmane.org" Cc: daniel.lopez999@gmail.com, monnier@IRO.UMontreal.CA, 34525@debbugs.gnu.org To: Alan Mackenzie Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Feb 27 17:40:24 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gz2Fs-000Fcr-6M for geb-bug-gnu-emacs@m.gmane.org; Wed, 27 Feb 2019 17:40:24 +0100 Original-Received: from localhost ([127.0.0.1]:47110 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gz2Fr-00019A-7T for geb-bug-gnu-emacs@m.gmane.org; Wed, 27 Feb 2019 11:40:23 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41695) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gz2Fk-00018y-25 for bug-gnu-emacs@gnu.org; Wed, 27 Feb 2019 11:40:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gz2Fj-0006bv-C8 for bug-gnu-emacs@gnu.org; Wed, 27 Feb 2019 11:40:15 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40691) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gz2FW-0006Qg-2P; Wed, 27 Feb 2019 11:40:07 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gz2FV-0004Xn-Qr; Wed, 27 Feb 2019 11:40:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org Resent-Date: Wed, 27 Feb 2019 16:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34525 X-GNU-PR-Package: emacs,cc-mode Original-Received: via spool by 34525-submit@debbugs.gnu.org id=B34525.155128556817421 (code B ref 34525); Wed, 27 Feb 2019 16:40:01 +0000 Original-Received: (at 34525) by debbugs.gnu.org; 27 Feb 2019 16:39:28 +0000 Original-Received: from localhost ([127.0.0.1]:54235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gz2Ev-0004Ws-8h for submit@debbugs.gnu.org; Wed, 27 Feb 2019 11:39:27 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55201) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gz2Es-0004Wg-IS for 34525@debbugs.gnu.org; Wed, 27 Feb 2019 11:39:23 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:52054) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gz2Em-0005zL-GF; Wed, 27 Feb 2019 11:39:16 -0500 Original-Received: from [176.228.60.248] (port=2799 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gz2Em-0004ms-3V; Wed, 27 Feb 2019 11:39:16 -0500 In-reply-to: <20190227142251.GB4772@ACM> (message from Alan Mackenzie on Wed, 27 Feb 2019 14:22:51 +0000) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:155856 Archived-At: > Date: Wed, 27 Feb 2019 14:22:51 +0000 > Cc: Eli Zaretskii , daniel.lopez999@gmail.com, > 34525@debbugs.gnu.org > From: Alan Mackenzie > > if (! NULL_RIGHT_CHILD (i)) > { > i = i->right; > while (! NULL_LEFT_CHILD (i)) > i = i->left; <=============== > > i->position = next_position; > return i; > } > > Here, in seeking the next interval, we go down a chain of `left's. We > do not set the ->position field of these intervals, except for the last > one, which we return. The position field is just a cache, isn't it? > So the returned interval doesn't satisfy the condition that all its > parents have their ->position's set correctly. Thus if we use this > interval as an argument to update_interval, we will likely fail. I > think this can happen in update_syntax_table. next_interval and previous_interval are used extensively, so I'm having hard time believing that they have such a blatant bug.