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: Tue, 26 Feb 2019 17:36:33 +0200 Message-ID: <835zt6muim.fsf@gnu.org> References: <20190220170722.GA9655@ACM> <83sgwigwxm.fsf@gnu.org> <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> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="48111"; 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 Tue Feb 26 16:49:45 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 1gyezI-000CQT-Qb for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Feb 2019 16:49:44 +0100 Original-Received: from localhost ([127.0.0.1]:57509 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gyezH-0000BH-Qr for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Feb 2019 10:49:43 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:45477) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gyenJ-0007Lz-0u for bug-gnu-emacs@gnu.org; Tue, 26 Feb 2019 10:37:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gyen9-0002vB-Sg for bug-gnu-emacs@gnu.org; Tue, 26 Feb 2019 10:37:19 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39661) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gyen0-0002qB-LJ; Tue, 26 Feb 2019 10:37:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gyen0-0006pG-4o; Tue, 26 Feb 2019 10:37:02 -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: Tue, 26 Feb 2019 15:37:02 +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.155119539926210 (code B ref 34525); Tue, 26 Feb 2019 15:37:02 +0000 Original-Received: (at 34525) by debbugs.gnu.org; 26 Feb 2019 15:36:39 +0000 Original-Received: from localhost ([127.0.0.1]:53205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gyemd-0006of-AL for submit@debbugs.gnu.org; Tue, 26 Feb 2019 10:36:39 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:59070) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gyema-0006oR-2Y for 34525@debbugs.gnu.org; Tue, 26 Feb 2019 10:36:37 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:34646) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gyemM-0002Vs-Ra; Tue, 26 Feb 2019 10:36:24 -0500 Original-Received: from [176.228.60.248] (port=4486 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gyemK-00038L-Ax; Tue, 26 Feb 2019 10:36:22 -0500 In-reply-to: <20190226135048.GA19653@ACM> (message from Alan Mackenzie on Tue, 26 Feb 2019 13:50:48 +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:155815 Archived-At: > Date: Tue, 26 Feb 2019 13:50:48 +0000 > Cc: daniel.lopez999@gmail.com, 34525@debbugs.gnu.org, monnier@iro.umontreal.ca > From: Alan Mackenzie > > > So you are saying that gl_state uses a stale offset, which should have > > been updated due to the previous replacements? > > More precisely, I think that the interval containing "Bitmap<" has not > been adjusted after the replacement of "Bitmap.h" by "SharedBitmap.h" > early in the .h file. In general, I don't believe this can happen, because otherwise we would see the faces in the wrong places. The interval tree does get updated after each buffer change. However, if some interval data is cached, as you seem to imply: > gl_state contains a cached interval, gl_state->backward_i, and there is > no guarantee that its ->position will have been updated by > adjust_intervals_for_insertion. In the current bug, I believe it hasn't > been adjusted. then yes, that cached interval data might not be updated. But I wonder why you say "there is no guarantee" -- don't you actually see stale data there in this scenario? > The function update_syntax_table uses gl_state->backward_i to manoevre > its way to the current interval using update_interval. If > gl_state->backward_i->position hasn't already been adjusted for the > insertion, the interval update_interval returns won't have been adjusted > either. > > I'm reasonably sure this is what's happening: > adjust_intervals_for_insertion is failing to adjust the cached intervals > in gl_state. It's a nasty cache invalidation problem. Do we really have to guess here? Isn't there anyone who knows how this works? Stefan?