From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#34525: replace-regexp missing some matches Date: Tue, 26 Feb 2019 17:09:59 -0500 Message-ID: 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> <20190226214509.GF19653@ACM> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="105167"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: daniel.lopez999@gmail.com, 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 23:11:25 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 1gykwf-000RGX-1g for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Feb 2019 23:11:25 +0100 Original-Received: from localhost ([127.0.0.1]:33870 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gykwe-0008CN-1I for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Feb 2019 17:11:24 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:47825) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gykwR-0008BX-UD for bug-gnu-emacs@gnu.org; Tue, 26 Feb 2019 17:11:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gykwO-0003HJ-4B for bug-gnu-emacs@gnu.org; Tue, 26 Feb 2019 17:11:10 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gykwI-0003EZ-1Y; Tue, 26 Feb 2019 17:11:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gykwH-0007gl-Rg; Tue, 26 Feb 2019 17:11:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org Resent-Date: Tue, 26 Feb 2019 22:11: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.155121900529484 (code B ref 34525); Tue, 26 Feb 2019 22:11:01 +0000 Original-Received: (at 34525) by debbugs.gnu.org; 26 Feb 2019 22:10:05 +0000 Original-Received: from localhost ([127.0.0.1]:53354 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gykvM-0007fU-OA for submit@debbugs.gnu.org; Tue, 26 Feb 2019 17:10:04 -0500 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:38935) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gykvJ-0007ez-BM for 34525@debbugs.gnu.org; Tue, 26 Feb 2019 17:10:03 -0500 Original-Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x1QM9xEk002115; Tue, 26 Feb 2019 17:09:59 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 15FAE69F65; Tue, 26 Feb 2019 17:09:59 -0500 (EST) In-Reply-To: <20190226214509.GF19653@ACM> (Alan Mackenzie's message of "Tue, 26 Feb 2019 21:45:09 +0000") X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6491=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6491> : inlines <7024> : streams <1814193> : uri <2802766> 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:155830 Archived-At: >> > 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. > >> Hmm... gl_state is not supposed to be kept "live" across buffer >> modifications. It's supposed to be used only *within* read-only >> primitives which set it from scratch at the beginning (by calling >> SETUP_SYNTAX_TABLE, SETUP_BUFFER_SYNTAX_TABLE, or >> SETUP_SYNTAX_TABLE_FOR_OBJECT). The backward_i and forward_i fields are >> actually reset in the first call to update_syntax_table, by passing it >> a true value for the `init` arg. > >> So the problem you describe might be due to some place where we fail to >> reset gl_state before using it, or maybe it's a bug in >> SETUP_*_SYNTAX_TABLE* > > re_search_2 calls SETUP_SYNTAX_TABLE_FOR_OBJECT unconditionally near its > start. S_S_T_F_O calls update_syntax_table with a non-zero `init' > conditioned only on parse_sexp_lookup_properties. This initialises > gl_state.backward_i and gl_state.forward_i. > > So, I agree with you, what I am seeing is impossible. I'm seeing it, > though. Any chance the buffer is modified from within the regexp operation? Or maybe some async thread? This said, the more common problem is that UPDATE_SYNTAX_TABLE was not called, or not for the right position, or UPDATE_SYNTAX_TABLE_FORWARD was called when we actually moved (ever so slightly) backward or vice-versa. Stefan