Stefan Monnier <monnier@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 30 Jan 2025 19:54:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 30 14:54:39 2025 Received: from localhost ([127.0.0.1]:48014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tdacY-0001NK-Sk for submit <at> debbugs.gnu.org; Thu, 30 Jan 2025 14:54:39 -0500 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]:47441) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <morgan@HIDDEN>) id 1tdacV-0001N3-Vq for 73041 <at> debbugs.gnu.org; Thu, 30 Jan 2025 14:54:36 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 08AA3442EE; Thu, 30 Jan 2025 19:54:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ice9.digital; s=gm1; t=1738266867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UM5WEzzjtyjekN7WS7/JBqYF6RCVygDic/bciuLUjBw=; b=ks5hetuKrJEZFjrqkQ5+dcoZceTi7X5z4opuvBFW6IOkf2EokuLa7V1RKFyxwtKYLyt/h8 mybDtijkUzVcHdcpSQBbih9MWA/O2mzkV+JwInkxPfYguHKhr4Zx56tX0z8UN3OSYQ5m44 BN1Am5Or0KZ2OZhD+jOQOa4Wbe8fvES0AuJcgC9WupGKN7bERcHzfOm1PNZCCgOGbNiIbr UGbrlHJGJObqws7U8nXLGX3o15Ay/OXVVJ1cZQoAayyKUd+48aX2ObJp05OpbJTKZPKctz FBVPJbOSmz2eMWoxfWkRplgJsUGV4OcK299TQr2p9HfoGkO6NKNjUDUXGpKZBg== From: Morgan Willcock <morgan@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <jwvv7twqhvg.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Thu, 30 Jan 2025 13:33:05 -0500") References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> <874j264jce.fsf_-_@HIDDEN> <86jzajwaja.fsf@HIDDEN> <jwvsep67b7t.fsf-monnier+emacs@HIDDEN> <877c6djwua.fsf@HIDDEN> <jwvv7twqhvg.fsf-monnier+emacs@HIDDEN> Date: Thu, 30 Jan 2025 19:54:24 +0000 Message-ID: <87sep0cc27.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeijedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjfhffkfgfgggtgfesthhqredttderjeenucfhrhhomhepofhorhhgrghnucghihhllhgtohgtkhcuoehmohhrghgrnhesihgtvgelrdguihhgihhtrghlqeenucggtffrrghtthgvrhhnpedugeduhfdvleefheefgffgueelfeehueejleevudekuedutdduiefggeefveejieenucfkphepkedtrdeggedrvddvkedrudelieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeektddrgeegrddvvdekrdduleeipdhhvghlohepihhnshhpihhrohhnrdhnohhtlhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmohhrghgrnhesihgtvgelrdguihhgihhtrghlpdhnsggprhgtphhtthhopeegpdhrtghpthhtohepjeeftdegudesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopegvphhgsehprhgvthiivghlnhgvthdrohhrghdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehmohhnnhhivghrsehirhhordhumhhonhhtrhgvrghlrdgtrg X-GND-Sasl: morgan@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, epg@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Stefan Monnier <monnier@HIDDEN> writes: >>>> I haven't figured out a way to reproduce it yet, but I've set >>>> track-changes-record-errors to 'trace to try and get more information >>>> the next time that it occurs. > > Hmm... looks like you're using the `emacs-30` code, where > `track-changes-record-errors` doesn't yet support `trace`. =F0=9F=99=81 > >> I encountered the issue again while doing a query-replace in a buffer >> narrowed to a single function, after moving to the beginning of the >> buffer. >> >> Here is the relevant part of my messages buffer: >> >> Beginning of buffer >> track-changes--after: Assertion failed: (or >> track-changes--before-no (<=3D track-changes--before-beg >> (track-changes--state-beg track-changes--state) beg end >> (track-changes--state-end track-changes--state) >> track-changes--before-end)) >> Mark set >> track-changes-fetch: Assertion failed: (not (memq id track-changes--cl= ean-trackers)) >> Undo >> Saving file /home/mwillcock/path/to/file/UserChooser.php... >> Use C-x 4 s to update shadows. >> Wrote /home/mwillcock/path/to/file/UserChooser.php >> track-changes-fetch: Assertion failed: (not (memq id track-changes--cl= ean-trackers)) >> >> The undo was because I had tried to answer "y" to the next replacement, >> but I imagine that the track-changes error had exited the query-replace >> process because the "y" was inserted into the buffer. > > Thanks for the details, it's very helpful. > > These seem to point not just to errors in other parts of Emacs, but in > errors in `track-changes.el` itself. I'll have to look more closely to > try and figure out where it might come from. > > Just to rule some obvious candidate, could you clarify exactly which > version of Emacs you were running? Is it built from the Emacs-30.0.93 > tarball or from a particular commit in Git, or does it come from elsewher= e? The Emacs I am using is from the Emacs-30.0.93 tarball. --=20 Morgan Willcock
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 30 Jan 2025 18:33:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 30 13:33:22 2025 Received: from localhost ([127.0.0.1]:47753 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tdZLq-0008Kw-ET for submit <at> debbugs.gnu.org; Thu, 30 Jan 2025 13:33:21 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:23775) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1tdZLo-0008Ki-O1 for 73041 <at> debbugs.gnu.org; Thu, 30 Jan 2025 13:33:17 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B47A180A75; Thu, 30 Jan 2025 13:33:09 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1738261988; bh=bawZ9b8smVcraUYQeMe3BjQQ5W0h8cDNUF1wkwekNCQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=m7w/T8OozP/+tjQeGpdQ1HYWl9ncNaApqSjgkQIILesQacUOEd/UK4bQ2zt3BH1ZQ d4lhxPuhzXwcXNKL3D5rsSDL9lYpR8auPqDblBjYDAq6dM/ONhXeStgAsbHDagOVDA rTYyHdw7XAxGaQAz622N1lb3lUttNqsitG7EOIq1fx22Xw+6Btmeddz0J/zPtgL826 JofKspuuNe7++xIwicfufLsqxWJAvgTbmBrLKzinZTEScu4hMWSTld0/txhmCH+0v4 dzBKbU4VSk+CSEoqy4K4/FqtQI3tZkBsjkdh39c9Xi3Cl2Jw8/43F5lmqQOGNemKXW L3Gb4WQOR+ILA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id CD61480883; Thu, 30 Jan 2025 13:33:08 -0500 (EST) Received: from asado (unknown [185.252.130.169]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6F02D120602; Thu, 30 Jan 2025 13:33:07 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Morgan Willcock <morgan@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <877c6djwua.fsf@HIDDEN> (Morgan Willcock's message of "Wed, 29 Jan 2025 18:31:25 +0000") Message-ID: <jwvv7twqhvg.fsf-monnier+emacs@HIDDEN> References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> <874j264jce.fsf_-_@HIDDEN> <86jzajwaja.fsf@HIDDEN> <jwvsep67b7t.fsf-monnier+emacs@HIDDEN> <877c6djwua.fsf@HIDDEN> Date: Thu, 30 Jan 2025 13:33:05 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.036 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, epg@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) >>> I haven't figured out a way to reproduce it yet, but I've set >>> track-changes-record-errors to 'trace to try and get more information >>> the next time that it occurs. Hmm... looks like you're using the `emacs-30` code, where `track-changes-record-errors` doesn't yet support `trace`. =F0=9F=99=81 > I encountered the issue again while doing a query-replace in a buffer > narrowed to a single function, after moving to the beginning of the > buffer. > > Here is the relevant part of my messages buffer: > > Beginning of buffer > track-changes--after: Assertion failed: (or track-changes--before-no (<= =3D track-changes--before-beg (track-changes--state-beg track-changes--stat= e) beg end (track-changes--state-end track-changes--state) track-changes--b= efore-end)) > Mark set > track-changes-fetch: Assertion failed: (not (memq id track-changes--cle= an-trackers)) > Undo > Saving file /home/mwillcock/path/to/file/UserChooser.php... > Use C-x 4 s to update shadows. > Wrote /home/mwillcock/path/to/file/UserChooser.php > track-changes-fetch: Assertion failed: (not (memq id track-changes--cle= an-trackers)) > > The undo was because I had tried to answer "y" to the next replacement, > but I imagine that the track-changes error had exited the query-replace > process because the "y" was inserted into the buffer. Thanks for the details, it's very helpful. These seem to point not just to errors in other parts of Emacs, but in errors in `track-changes.el` itself. I'll have to look more closely to try and figure out where it might come from. Just to rule some obvious candidate, could you clarify exactly which version of Emacs you were running? Is it built from the Emacs-30.0.93 tarball or from a particular commit in Git, or does it come from elsewhere? Stefan
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 29 Jan 2025 18:31:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 29 13:31:39 2025 Received: from localhost ([127.0.0.1]:42962 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tdCqh-0003sX-94 for submit <at> debbugs.gnu.org; Wed, 29 Jan 2025 13:31:39 -0500 Received: from relay2-d.mail.gandi.net ([2001:4b98:dc4:8::222]:57327) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <morgan@HIDDEN>) id 1tdCqe-0003sI-MI for 73041 <at> debbugs.gnu.org; Wed, 29 Jan 2025 13:31:37 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 42B1E44103; Wed, 29 Jan 2025 18:31:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ice9.digital; s=gm1; t=1738175490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=DIXcVywYtdbPKHYCAF36TbcgEp4ypcOk0/MzDT5BP0o=; b=GD8UIRCZbgN0jNDWrt3NiqtzyMl8TskI+86XKxlFOIqD64HDJzMMfbK4BVUX1sIp1jHmwt lKBhhHRG9W+BeFhZpc1xCd07pONYGRszySnanNA8vf79XZWVyOFrmguKpyrov63ezA/FKg 4eMmOq9pGbRbmT6IJWXQUMpeH0s6aiP36DGTfy4ubf73XKUgB6oU6i0IeOriKK//MPZSe1 Asomg7fZ+SaZs0rxf3DFLkIH7NK8rmph++e10ntqVE0jGhuLbscsNjepufgiwULYKCw7/Y tT4OddvyxLgXoA9z9Ubo8TqiE0USYw6wHd+prhs4obV7oVJjVstSas8DzAZjSg== From: Morgan Willcock <morgan@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <jwvsep67b7t.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Sat, 25 Jan 2025 19:16:18 -0500") References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> <874j264jce.fsf_-_@HIDDEN> <86jzajwaja.fsf@HIDDEN> <jwvsep67b7t.fsf-monnier+emacs@HIDDEN> Date: Wed, 29 Jan 2025 18:31:25 +0000 Message-ID: <877c6djwua.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdefjedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjfhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefoohhrghgrnhcuhghilhhltghotghkuceomhhorhhgrghnsehitggvledrughighhithgrlheqnecuggftrfgrthhtvghrnhepueduvdeguefgvdeuudekleejhfethfekgeefveejffdvheffkeduvddugefgjeeinecukfhppeektddrgeegrddvvdekrdduleeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepkedtrdeggedrvddvkedrudeliedphhgvlhhopehinhhsphhirhhonhdrnhhothhlohgtrghlhhhoshhtpdhmrghilhhfrhhomhepmhhorhhgrghnsehitggvledrughighhithgrlhdpnhgspghrtghpthhtohepgedprhgtphhtthhopeejfedtgeduseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepvghpghesphhrvghtiigvlhhnvghtrdhorhhgpdhrtghpthhtohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepmhhonhhnihgvrhesihhrohdruhhmohhnthhrvggrlhdrtggr X-GND-Sasl: morgan@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, epg@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Stefan Monnier <monnier@HIDDEN> writes: >> I haven't figured out a way to reproduce it yet, but I've set >> track-changes-record-errors to 'trace to try and get more information >> the next time that it occurs. > > Thanks. Send us the contents of `track-changes--error-log` (but note > that it can contain sensitive information) next time it occurs. I encountered the issue again while doing a query-replace in a buffer narrowed to a single function, after moving to the beginning of the buffer. Here is the relevant part of my messages buffer: Beginning of buffer track-changes--after: Assertion failed: (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) beg end (track-changes--state-end track-changes--state) track-changes--before-end)) Mark set track-changes-fetch: Assertion failed: (not (memq id track-changes--clean-trackers)) Undo Saving file /home/mwillcock/path/to/file/UserChooser.php... Use C-x 4 s to update shadows. Wrote /home/mwillcock/path/to/file/UserChooser.php track-changes-fetch: Assertion failed: (not (memq id track-changes--clean-trackers)) The undo was because I had tried to answer "y" to the next replacement, but I imagine that the track-changes error had exited the query-replace process because the "y" was inserted into the buffer. Here is the value of track-changes--error-log: (("UserChooser.php" #1=(buffer-size 3999 4001) ((t track-changes--recover-from-error (#1#) nil) (t track-changes-fetch (#2= #s(track-changes--tracker :signal eglot--track-changes-signal :state #s(track-changes--state :beg 1156 :end 1858 :before error :next nil) :nobefore nil :immediate nil) #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_135>) nil) (t eglot--track-changes-fetch (#2#) nil) (t eglot--track-changes-signal (#2# 112) nil) (t track-changes--before (1292 1298) nil) (t replace-match-maybe-edit (#3="is_null" nil t nil (1292 1298 #<buffer UserChooser.php>) nil) nil) (t perform-replace (#4="!isset" #3# t nil nil nil nil nil nil nil nil) nil) (t query-replace (#4# #3# nil nil nil nil nil) nil) (t funcall-interactively (query-replace #4# #3# nil nil nil nil nil) nil) (t command-execute (query-replace) nil)) [110 (nil . self-insert-command) 117 (nil . self-insert-command) 108 (nil . self-insert-command) 108 (nil . self-insert-command) 108 (nil . self-insert-command) backspace (nil . c-electric-backspace) 59 (nil . c-electric-semi&comma) 134217765 (nil . query-replace) return (nil . exit-minibuffer) 121 121])) If it is relevant, I have also seen this being logged by Eglot in a previous Emacs session: [eglot] Server reports (type=2): Diagnostic provider "php" errored with "Col number cannot be less than 1 (got "0")", removing from pool The Eglot version is 1.18. The LSP server is Phpactor version "2024.11.28.1". The major-mode is php-ts-mode, as supplied with Emacs 30.0.93. -- Morgan Willcock
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 26 Jan 2025 00:16:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 25 19:16:47 2025 Received: from localhost ([127.0.0.1]:53178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tbqKU-00085K-P3 for submit <at> debbugs.gnu.org; Sat, 25 Jan 2025 19:16:47 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53671) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1tbqKR-000851-HD for 73041 <at> debbugs.gnu.org; Sat, 25 Jan 2025 19:16:44 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D8DA8440429; Sat, 25 Jan 2025 19:16:34 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1737850589; bh=6W3a29zZCoKmfcmTdOin3RjSPocTvu/eabzgK/abKY4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=A+ZzR9b1vc8vdQgXrlVyhMU4l2xoFl9EV5WYq+dFWvONz4x3D8hi5C9aym5+tENG8 z3CcC86O4386lHHS6Li6VfjwhJweIJEdYXM3fNa/fOSLtv52am6GP+wlWg4DPGA5EO AjLyZLGNxRvjrImT3ep8qgPlg1jxWncdkO/1P6dx1dthrZW1qmko7I9YNNGH1gzYut XtoOPGAlODNaBfXFQbmfWN2c72Q4LG31qetZRXWJR/FCmuGc7VrWLsF6D/urAGSH3U lE46vglT45XW6xFNeNN4rF/kBWfUREydXwKu2fJFqo1JneOj7vht/u707KduMFSnee 8Y3zkAoChXafQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 92E634407DF; Sat, 25 Jan 2025 19:16:29 -0500 (EST) Received: from asado (dyn.144-85-147-102.dsl.vtx.ch [144.85.147.102]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4DF7A12085B; Sat, 25 Jan 2025 19:16:28 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <86jzajwaja.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 25 Jan 2025 10:41:13 +0200") Message-ID: <jwvsep67b7t.fsf-monnier+emacs@HIDDEN> References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> <874j264jce.fsf_-_@HIDDEN> <86jzajwaja.fsf@HIDDEN> Date: Sat, 25 Jan 2025 19:16:18 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.119 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, epg@HIDDEN, Morgan Willcock <morgan@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > I am still seeing similar issues with Eglot and Phpactor with Emacs > 30.0.93, with this warning occurring fairly regularly: > > track-changes--after: Assertion failed: (or track-changes--before-no (<= > track-changes--before-beg (track-changes--state-beg track-changes--state) > beg end (track-changes--state-end track-changes--state) > track-changes--before-end)) > > I haven't figured out a way to reproduce it yet, but I've set > track-changes-record-errors to 'trace to try and get more information > the next time that it occurs. Thanks. Send us the contents of `track-changes--error-log` (but note that it can contain sensitive information) next time it occurs. Stefan
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 25 Jan 2025 08:41:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 25 03:41:26 2025 Received: from localhost ([127.0.0.1]:48352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tbbjK-00016g-2r for submit <at> debbugs.gnu.org; Sat, 25 Jan 2025 03:41:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54896) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tbbjH-00016N-1H for 73041 <at> debbugs.gnu.org; Sat, 25 Jan 2025 03:41:24 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tbbjA-0001nU-DJ; Sat, 25 Jan 2025 03:41:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=9xHzeiBhNrvWXmo2FSB72RaM2kPDyCN4XV+1RPvHbUU=; b=FKS5AvhfvX31 UeDk9t1RYBLMwjqg0fsC+cOcdogoBK+Hu9caR4PDubqTXNpmnWB7JaiaDK09NK4zuNiKTeaGcT9XE AR6OQGf6mYYzJfC90M+XOc/fKiFjTkPLt6w4q+9GodW/Qv+rbqrI2UvTAdDFJJqvzDG0pGRlOuCl+ 0OLD9cAqI61pRDmIVqt+os+xW/3wOwqDR3ZpVXPvlYBnaRUynjZ2dXT7o5o3XNBnnaCjISimxY5A1 mby0bCT1Ip9olvIUSAGZkth+GOOugL73jE53/jL/mloEpE5VxJCRoct5bYjVDvjvYteu0fOdmI+rq iBeOfwz24o1YsF7Qmg+ruA==; Date: Sat, 25 Jan 2025 10:41:13 +0200 Message-Id: <86jzajwaja.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: monnier@HIDDEN, Morgan Willcock <morgan@HIDDEN> In-Reply-To: <874j264jce.fsf_-_@HIDDEN> (message from Morgan Willcock on Fri, 10 Jan 2025 18:25:21 +0000) Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> <874j264jce.fsf_-_@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, epg@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Morgan Willcock <morgan@HIDDEN> > Cc: Eric Gillespie <epg@HIDDEN>, 73041 <at> debbugs.gnu.org, Eli > Zaretskii <eliz@HIDDEN> > Date: Fri, 10 Jan 2025 18:25:21 +0000 > > I am still seeing similar issues with Eglot and Phpactor with Emacs > 30.0.93, with this warning occurring fairly regularly: > > track-changes--after: Assertion failed: (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) beg end (track-changes--state-end track-changes--state) track-changes--before-end)) > > I haven't figured out a way to reproduce it yet, but I've set > track-changes-record-errors to 'trace to try and get more information > the next time that it occurs. Stefan, any suggestions?
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 10 Jan 2025 18:25:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 10 13:25:32 2025 Received: from localhost ([127.0.0.1]:58743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tWJhM-0000QT-10 for submit <at> debbugs.gnu.org; Fri, 10 Jan 2025 13:25:32 -0500 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]:58009) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <morgan@HIDDEN>) id 1tWJhK-0000Q4-Eb for 73041 <at> debbugs.gnu.org; Fri, 10 Jan 2025 13:25:30 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 2589B20003; Fri, 10 Jan 2025 18:25:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ice9.digital; s=gm1; t=1736533523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=U9Mb2+eIUPFTGf8247Um1vWpjQA9MKJScOLE1xMMIYk=; b=c0i6L1jbLPpzhe0R9xB0R/8jnXyM7Acg8wz/pB1bJc555LqXnd4IdGY1QjXT83gp97GoZU WTrl9EMa1++PZetoxyRsQ1wISB8fDoLHsqP0qBag07CXiJXLtWnXAJCJfPu7WtRoLyQmxo jU431bev0LfUM4d/saCAIDApf3/1W3xfnAKDXBivctPdSkKrDfz6rgO7Pvm6G5MqmsLPIg Y75KynqmZ0tAL4HlQvj5mO0q3/Lxf+3Bq/3VdKidMTJETV7j0fimUk8RujbVcrgKv27efr qrawp+4EzplnhOn88LExanr3UtZPLh9AjHWcuNna8BvjsyMpSlbkiLNOr+2dlw== From: Morgan Willcock <morgan@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Thu, 17 Oct 2024 11:45:24 -0400") References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> Date: Fri, 10 Jan 2025 18:25:21 +0000 Message-ID: <874j264jce.fsf_-_@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: morgan@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Eric Gillespie <epg@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) I am still seeing similar issues with Eglot and Phpactor with Emacs 30.0.93, with this warning occurring fairly regularly: track-changes--after: Assertion failed: (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) beg end (track-changes--state-end track-changes--state) track-changes--before-end)) I haven't figured out a way to reproduce it yet, but I've set track-changes-record-errors to 'trace to try and get more information the next time that it occurs. -- Morgan Willcock
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 17 Oct 2024 15:46:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 17 11:46:04 2024 Received: from localhost ([127.0.0.1]:35311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1t1ShM-0006Px-9i for submit <at> debbugs.gnu.org; Thu, 17 Oct 2024 11:46:04 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:9538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1t1ShG-0006Pf-3K for 73041 <at> debbugs.gnu.org; Thu, 17 Oct 2024 11:45:58 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C576B100055; Thu, 17 Oct 2024 11:45:26 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1729179925; bh=NUoZ3eBWJAsGwaXwZsg3g9XxN801hrLz/c6WdpUAPeA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=JyjGZ7WLc09Drqb9ys8DMkcneq33P2lc8MVpY2LirX1HYp0yuXV0Lq6OKePlztXFA W3EbCz/Ikce7T6BxI+QQxdPwj5r6jMWgq6ZqigRv5ZPxEBk9hgMAzoYKqCCM4mpglH 1JK/W+iywpKtcY/BB+2xo3kXM3VBzLGTrZzY3e0BAn909NjYRN/m/9NH6lsXeMpRYQ wJM/T+Nvqrtv3xIV1AXoFy8uGD+9uTojKRLDFY1MgohOnmpJnGbzFj1c+u4Le/B5II +ipp70WWiVR4I+8J9mJxSdIGqWkQbCwtHEyTRZFngunp3Yy/7u+cjzZQzApn6OAcAW miib9eEo57eFw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C9D90100042; Thu, 17 Oct 2024 11:45:25 -0400 (EDT) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A09AF1203AB; Thu, 17 Oct 2024 11:45:25 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eric Gillespie <epg@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <87cyk80vzy.fsf@HIDDEN> (Eric Gillespie's message of "Thu, 10 Oct 2024 11:21:21 -0500") Message-ID: <jwv1q0eoijd.fsf-monnier+emacs@HIDDEN> References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> <87cyk80vzy.fsf@HIDDEN> Date: Thu, 17 Oct 2024 11:45:24 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.034 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain > 1. cargo new --vcs git foo > 2. echo 'mod foo;' >> foo/src/main.rs > 3. emacs -Q foo/src/foo.rs > (foo.rs DOES NOT EXIST YET -- that is part of the bug) > 4. M-x rust-ts-mode RET > 5. (progn (setq track-changes-record-errors 'trace) (setq debug-on-error t)) > 6. C-x C-f main.rs RET > 7. M-x eglot RET > 8. echo 'struct foo;' > foo/src/foo.rs > 9. C-x C-f foo.rs RET > 10. yes RET Thanks, I managed to reproduce it locally with: rm foo.c emacs -Q foo.c -f eglot echo 'struct foo;' > foo.c M-x revert-buffer RET and that pointed to a bug in `track-changes.el` which could explain the problem you reported originally. So, I pushed the patch below to `emacs-30`. It seems part of the problem also comes from `insert-file-contents` which apparently fails to run the `before-change-functions` in the above recipe, but I haven't investigated this any further yet, and track-changes *should* tolerate this (potentially emitting a warning along the way), and with the patch, the above recipe now works for me without error nor warning. Stefan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=track-changes.patch diff --git a/lisp/emacs-lisp/track-changes.el b/lisp/emacs-lisp/track-changes.el index 92d14959763..1d5c5e9917a 100644 --- a/lisp/emacs-lisp/track-changes.el +++ b/lisp/emacs-lisp/track-changes.el @@ -555,16 +555,16 @@ track-changes--before (defun track-changes--after (beg end len) (cl-assert track-changes--state) - (and (eq track-changes--before-clean 'unset) - (not track-changes--before-no) - ;; This can be a sign that a `before-change-functions' went missing, - ;; or that we called `track-changes--clean-state' between - ;; a `before-change-functions' and `after-change-functions'. - (track-changes--before beg end)) - (setq track-changes--before-clean nil) (let ((offset (- (- end beg) len))) - (cl-incf track-changes--before-end offset) (cl-incf track-changes--buffer-size offset) + (if (and (eq track-changes--before-clean 'unset) + (not track-changes--before-no)) + ;; This can be a sign that a `before-change-functions' went missing, + ;; or that we called `track-changes--clean-state' between + ;; a `before-change-functions' and `after-change-functions'. + (track-changes--before beg end) + (cl-incf track-changes--before-end offset)) + (setq track-changes--before-clean nil) (if (not (or track-changes--before-no (save-restriction (widen) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 10 Oct 2024 16:21:44 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 10 12:21:44 2024 Received: from localhost ([127.0.0.1]:60297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1syvv5-0002nV-Fn for submit <at> debbugs.gnu.org; Thu, 10 Oct 2024 12:21:43 -0400 Received: from fhigh-a7-smtp.messagingengine.com ([103.168.172.158]:34167) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <epg@HIDDEN>) id 1syvv1-0002nE-RM for 73041 <at> debbugs.gnu.org; Thu, 10 Oct 2024 12:21:41 -0400 Received: from phl-compute-06.internal (phl-compute-06.phl.internal [10.202.2.46]) by mailfhigh.phl.internal (Postfix) with ESMTP id 29F57114008F; Thu, 10 Oct 2024 12:21:23 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Thu, 10 Oct 2024 12:21:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pretzelnet.org; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1728577283; x= 1728663683; bh=NuJbutCvGEakrWw+XsO7V6Vc5kWrNQp7yMp/H+1Un5Y=; b=d +EvRhDTdknQZcA/TIMY5loICoRIdiP4OtGW+2jcHiMiHv0pHFb5gcUnw50yGeQzJ v//4a+k/4rQwNkgQZrHzKMNU6BVFCi8Sm/VnaXIzTm+nxdF7dWBd+lhCEW1BZeYM CgnJ1kMiVk0CnzZOz74NrDN50T6Vd30NK9tyiEcX0GOjIYogZVbHlCmhhtCt9C4D HLWEAjCq4MmNDcF0tCFArqrjfWdB/LHYptagrLRVzN6IAX+rQmkCH81obt72LUwv ilK7ZG5B5OE7NfeaLQ9+9FbhpVeMn5qsRi9fbQIEgTJrWrcvfoCC55fcJ9PIW1oH ItlxT5Y6EBvGt8hA7wllA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1728577283; x=1728663683; bh=NuJbutCvGEakrWw+XsO7V6Vc5kWr NQp7yMp/H+1Un5Y=; b=asvSPxcPUGSUmLkz4Gv4BOWgjWkg0iQDiZ1rZ8Qqmska 15/PUfz+Wun5kKXeKt7sqHSEMIO/bJDhPK8nbVHo5zaJJ47SHd3y2ao1G3IJK26R kmpKDB/VAKLUeUBEXWykbhKCWDt7qKz1s8h7NBI5QrVzeU0iXlFqg9YfxrOoNPTK O2JbvN61yVzherCGPk/LV+zLpl2ukomvtC5oy44MWcO8ttsvqeAB674iyReZul5Y s6/+jptJi84GN+eyYZToXbUnGJx6hR+0On/47KXHbRG9i6vH/Bw3Enwiu8eC30m1 xciXSVCmb/KXnAaH7KUgWQgpXUvB/5wsvtnT4og4Hg== X-ME-Sender: <xms:Av8HZ47rJSX6FTHQdWrPK4c927D0TNZyC6bIYJgdxExt0eeCWtHStA> <xme:Av8HZ577pHVJK9tqvJdg3CE6tUL1uMSG8kZI8b4SFsF8Ws4H5Eds8ZosRcjWLYday 2mR_quvbCgjzKA5LoI> X-ME-Received: <xmr:Av8HZ3duV0JJ6X_6OI73JN3PfBe5xHR3Yl4xWVcgfWPkk6TN_0E7F1etRE-Km3A-6GWKbLf4xcqFCuVBj9r85qFSBuz2zaz5TRRAyptruw3GG2xrFy4UUQ_BgShRKymr30M> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdefhedguddtfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefhvfevufgjfhffkfgfgggtsehttdertddtredt necuhfhrohhmpefgrhhitgcuifhilhhlvghsphhivgcuoegvphhgsehprhgvthiivghlnh gvthdrohhrgheqnecuggftrfgrthhtvghrnhepleffgfevjeetteelteffudfhhefhteeu heehkeefledvgfetudfhgeeiteeuteeknecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepvghpghesphhrvghtiigvlhhnvghtrdhorhhgpdhnsggp rhgtphhtthhopeefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeejfedtgeduse guvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepvghlihiisehgnhhurdhorhhg pdhrtghpthhtohepmhhonhhnihgvrhesihhrohdruhhmohhnthhrvggrlhdrtggr X-ME-Proxy: <xmx:Av8HZ9JeEBkaUr9NBgpVWOuQir-VOlo9f8c5sGuwobSRlf_YTmjXlQ> <xmx:Av8HZ8LPBCPEQvEZZQQmaz6C7U_AlqnCchlad60kpRfcQjh4ZB49Yg> <xmx:Av8HZ-xdc38yMr0Dro5V98FPN1yC2d5JhbY3KnXIzl7tRfNU8maGSw> <xmx:Av8HZwKXrprKMIqxEAdczWqiRZ648Dqj30vwKlPCNvSW6k-dCFS4bw> <xmx:A_8HZw0V-SE-xeiPIhFU1UwXW2AagWGL7Z1vXhC02z-Qidcv6utk8hC1> Feedback-ID: i58794908:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Oct 2024 12:21:22 -0400 (EDT) From: Eric Gillespie <epg@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Thu, 03 Oct 2024 15:21:24 -0400") References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> Date: Thu, 10 Oct 2024 11:21:21 -0500 Message-ID: <87cyk80vzy.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Hi Stefan! Stefan Monnier <monnier@HIDDEN> writes: > If you're able to try Emacs `master` (which would be helpful), then the > patch I sent doesn't apply to it (any more), so please use the patch > below instead and add `(setq track-changes-record-errors 'trace)` to your > init file so as to activate the additional recording. I applied that patch to master and have been using it every day. This morning I FINALLY hit it... on a NEW FILE, where I'm switching in and out of a branch with a new file. I'm not sure all the previous occurrences were on new files, but I could believe they were. Anyway, with that clue in hand, I was able to narrow it down to a simple reproduction recipe. I'm running emacs built from this commit to master: commit ef587bf6b46b2ea3ef91b260ac2542666081260d Author: Stefan Monnier <monnier@HIDDEN> Date: Thu Oct 3 13:32:09 2024 With your cl-assert patch applied on top of that. GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.18.2) of 2024-10-04 (We won't use git in the recipe, but eglot requires project-root which I can't get to work without git (which also seems like a bug, albeit unrelated...)) 1. cargo new --vcs git foo 2. echo 'mod foo;' >> foo/src/main.rs 3. emacs -Q foo/src/foo.rs (foo.rs DOES NOT EXIST YET -- that is part of the bug) 4. M-x rust-ts-mode RET 5. (progn (setq track-changes-record-errors 'trace) (setq debug-on-error t)) 6. C-x C-f main.rs RET 7. M-x eglot RET 8. echo 'struct foo;' > foo/src/foo.rs 9. C-x C-f foo.rs RET 10. yes RET BOOM TODAY Note that #8 must be an edit behind emacs's back. In my daily life, what's happening there is I had the buffer 'foo.rs' open earlier while working on the branch where I added it, I'd switched to a branch without it, and then I switch back, and everything fell apart when I reverted it. Debugger entered--Lisp error: (cl-assertion-failed ((track-changes--sane-state-p) nil)) cl--assertion-failed((track-changes--sane-state-p)) track-changes--before(1 13) track-changes--after(1 13 0) insert-file-contents("/home/epg/tmp/emacsbug73041/foo/src/foo.rs" t nil nil if-regular) revert-buffer-insert-file-contents--default-function("/home/epg/tmp/emacsbug73041/foo/src/foo.rs" nil) revert-buffer--default(t t) revert-buffer(t t) find-file-noselect("~/tmp/emacsbug73041/foo/src/foo.rs" nil nil t) find-file("~/tmp/emacsbug73041/foo/src/foo.rs" t) funcall-interactively(find-file "~/tmp/emacsbug73041/foo/src/foo.rs" t) call-interactively(find-file nil nil) command-execute(find-file) I hope this is enough to go on now. Thanks! -- Eric Gillespie <*> epg@HIDDEN
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 3 Oct 2024 19:21:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 03 15:21:36 2024 Received: from localhost ([127.0.0.1]:33897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1swROK-0006WO-3O for submit <at> debbugs.gnu.org; Thu, 03 Oct 2024 15:21:36 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:16913) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1swROI-0006WA-Sm for 73041 <at> debbugs.gnu.org; Thu, 03 Oct 2024 15:21:35 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 894E680904; Thu, 3 Oct 2024 15:21:26 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727983285; bh=cltt1MyL7d+gUHB6xtGV+X7JYQ9iGfVSehsSHH/jF2o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=LSUoapcFCc0u9ij1ZtgTcoChdNX7PDNvBefmCth1tYdiFzslzZ02EKOTGTRSht5Ym iYQ6i+NpXzb/HiX+6kKy01UWYhtiaop6xc+3MPlTx65bTDAz3pspDFGr5lxxm6sMJO OanA/7odNOc/t0R/9tKNdZHpvaaKaHZadtb0GBvwTzyjV69luKEA6rjNh6neRhDbQw 3RilpUg7AEhbtO3ZFwsyuR0nKlPGLFBbViIi40Sdi+kiAv2+LxB78IM2QJPAoKQyZL 082PDXfVbLxuTdF2YLb2BNahZpI8hhMV2/9rfb244lsdeR4du+OTSm3vh0K41LQn6o dXSNftKrUFq7w== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 41641803A3; Thu, 3 Oct 2024 15:21:25 -0400 (EDT) Received: from pastel (unknown [216.154.14.167]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 162D612064E; Thu, 3 Oct 2024 15:21:25 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eric Gillespie <epg@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Fri, 27 Sep 2024 10:55:58 -0400") Message-ID: <jwvbk01uhgu.fsf-monnier+emacs@HIDDEN> References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> Date: Thu, 03 Oct 2024 15:21:24 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.142 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Hi Eric, > Duh, sorry. Try this patch instead. I pushed to Emacs `master` a patch to `track-changes.el` which doesn't fix any bug but allows it to record more information to help find the root cause of errors. If you're able to try Emacs `master` (which would be helpful), then the patch I sent doesn't apply to it (any more), so please use the patch below instead and add `(setq track-changes-record-errors 'trace)` to your init file so as to activate the additional recording. Stefan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=track-changes.patch diff --git a/lisp/emacs-lisp/track-changes.el b/lisp/emacs-lisp/track-changes.el index 1b0f64f544d..245b7b89ae5 100644 --- a/lisp/emacs-lisp/track-changes.el +++ b/lisp/emacs-lisp/track-changes.el @@ -219,6 +219,7 @@ track-changes-register When IMMEDIATE is non-nil, the SIGNAL should probably not always call `track-changes-fetch', since that would defeat the purpose of this library." (track-changes--trace) + (cl-assert (track-changes--sane-state-p)) (when (and nobefore disjoint) ;; FIXME: Without `before-change-functions', we can discover ;; a disjoint change only after the fact, which is not good enough. @@ -235,6 +236,7 @@ track-changes-register (push tracker track-changes--clean-trackers) (when disjoint (push tracker track-changes--disjoint-trackers)) + (cl-assert (track-changes--sane-state-p)) tracker)) (defun track-changes-unregister (id) @@ -243,6 +245,7 @@ track-changes-unregister not called), so it is good practice to unregister them when you don't need them any more." (track-changes--trace) + (cl-assert (track-changes--sane-state-p)) (unless (memq id track-changes--trackers) (error "Unregistering a non-registered tracker: %S" id)) (setq track-changes--trackers (delq id track-changes--trackers)) @@ -260,7 +263,8 @@ track-changes-unregister track-changes--buffer-size track-changes--before-clean track-changes--state)) - (remove-hook 'after-change-functions #'track-changes--after t))) + (remove-hook 'after-change-functions #'track-changes--after t)) + (cl-assert (track-changes--sane-state-p))) (defun track-changes-fetch (id func) "Fetch the pending changes for tracker ID pass them to FUNC. @@ -380,7 +384,8 @@ track-changes-fetch (funcall func beg end (or before lenbefore))) ;; Re-enable the tracker's signal only after running `func', so ;; as to avoid nested invocations. - (cl-pushnew id track-changes--clean-trackers)))) + (cl-pushnew id track-changes--clean-trackers) + (cl-assert (track-changes--sane-state-p))))) (defun track-changes-inconsistent-state-p () "Return whether the current buffer is in an inconsistent state. @@ -418,6 +423,26 @@ track-changes--trace (track-change--backtrace 10 #'track-changes--trace))))) +(defun track-changes--sane-state-p () + (if (null track-changes--trackers) + (and (zerop track-changes--before-beg) + (zerop track-changes--before-end) + (equal track-changes--before-string "") + (null track-changes--buffer-size) + (eq track-changes--before-clean 'unset) + (null track-changes--state)) + (and (equal track-changes--buffer-size (buffer-size)) + (or track-changes--before-no + (pcase track-changes--before-clean + ('unset t) + ('set (<= track-changes--before-beg track-changes--before-end)) + ('nil + (<= track-changes--before-beg + (track-changes--state-beg track-changes--state) + (track-changes--state-end track-changes--state) + track-changes--before-end)) + (_ nil)))))) + (defun track-changes--clean-state () (cond ((null track-changes--state) @@ -586,7 +611,8 @@ track-changes--before (length track-changes--before-string)))))) (setf track-changes--before-end new-bend) (cl-callf concat track-changes--before-string - (buffer-substring-no-properties old-bend new-bend))))))))) + (buffer-substring-no-properties old-bend new-bend)))))))) + (cl-assert (track-changes--sane-state-p))) (defun track-changes--after (beg end len) (track-changes--trace) @@ -612,10 +638,26 @@ track-changes--after ;; BEG..END is not covered by previous `before-change-functions'!! (track-changes--recover-from-error `(unexpected-after ,beg ,end ,len)) ;; Note the new changes. + (let ((orig-beg (track-changes--state-beg track-changes--state)) + (orig-end (track-changes--state-end track-changes--state))) (when (< beg (track-changes--state-beg track-changes--state)) (setf (track-changes--state-beg track-changes--state) beg)) (cl-callf (lambda (old-end) (max end (+ old-end offset))) (track-changes--state-end track-changes--state)) + (cl-assert (or track-changes--before-no + (<= track-changes--before-beg + (track-changes--state-beg track-changes--state))) + nil "<=? %S %S (was %S)" + track-changes--before-beg + (track-changes--state-beg track-changes--state) + orig-beg) + (cl-assert (or track-changes--before-no + (<= (track-changes--state-end track-changes--state) + track-changes--before-end)) + nil "<=? %S %S (was %S)" + (track-changes--state-end track-changes--state) + track-changes--before-end + orig-end)) (cl-assert (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) @@ -627,7 +669,8 @@ track-changes--after (if (track-changes--tracker-immediate tracker) (funcall (track-changes--tracker-signal tracker) tracker) (run-with-timer 0 nil #'track-changes--call-signal - (current-buffer) tracker))))) + (current-buffer) tracker)))) + (cl-assert (track-changes--sane-state-p))) (defun track-changes--call-signal (buf tracker) (when (buffer-live-p buf) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 27 Sep 2024 14:56:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 27 10:56:38 2024 Received: from localhost ([127.0.0.1]:38614 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1suCOc-0001RX-6C for submit <at> debbugs.gnu.org; Fri, 27 Sep 2024 10:56:38 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:26840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1suCOa-0001RJ-2M for 73041 <at> debbugs.gnu.org; Fri, 27 Sep 2024 10:56:36 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id DC206441767; Fri, 27 Sep 2024 10:56:01 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727448960; bh=adoYFkBpvlE+wv7amfyQUmFeyfmxGyw/oJRxT0ifDOA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=N5Yh/KDbYOXIz3yuuJFF5vYsYrJRnzF2KXE+TctKOa8Gy5wIbJXVQdMoaILOK3bjO vp/4ZpfwfKy6XS5ME50qPEjiIy1TunZtlUnrbOX3+ueYea771l3EUpg9vJQc6XKGdw uUwIM8vZhJNn87p/rEgj8Ie1rXGsOnrQqB9O/BfVtWZyhdAfUoYsgsmYxhdPCgXJsI Wb+QroB0xrpzRfBixzUGVuoERd7UX5Rt+muTIx2SVwI7kiBK/4DrH3pPUXDLyjwIZn tuO4BUDDdS/W9uGyyq1GXLTfc2Q1Fi2luSBuN2yBS+co9vfQq1XtyT/LRIj5NqtShD jFSVInnBqbs4A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0A9ED441755; Fri, 27 Sep 2024 10:56:00 -0400 (EDT) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D870912020C; Fri, 27 Sep 2024 10:55:59 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eric Gillespie <epg@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <87o74c1pl0.fsf@HIDDEN> (Eric Gillespie's message of "Tue, 24 Sep 2024 20:36:59 -0500") Message-ID: <jwvldzduoyf.fsf-monnier+emacs@HIDDEN> References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> <87o74c1pl0.fsf@HIDDEN> Date: Fri, 27 Sep 2024 10:55:58 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.143 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain > 1. Run 'cargo new foo' to create a new cargo project > 2. emacs -Q foo/src/main.rs > 3. M-x rust-ts-mode RET > 4. M-x eglot RET > 5. C-x k RET > > Expected: > Buffer main.rs is killed. > > Actual: > (cl-assert (track-changes--sane-state-p)) assertion triggered. Duh, sorry. Try this patch instead. Stefan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=track-changes.patch diff --git a/lisp/emacs-lisp/track-changes.el b/lisp/emacs-lisp/track-changes.el index 92d14959763..24df0aac6bb 100644 --- a/lisp/emacs-lisp/track-changes.el +++ b/lisp/emacs-lisp/track-changes.el @@ -213,6 +213,7 @@ track-changes-register that may block, do as little work as possible, ... When IMMEDIATE is non-nil, the SIGNAL should probably not always call `track-changes-fetch', since that would defeat the purpose of this library." + (cl-assert (track-changes--sane-state-p)) (when (and nobefore disjoint) ;; FIXME: Without `before-change-functions', we can discover ;; a disjoint change only after the fact, which is not good enough. @@ -229,6 +230,7 @@ track-changes-register (push tracker track-changes--clean-trackers) (when disjoint (push tracker track-changes--disjoint-trackers)) + (cl-assert (track-changes--sane-state-p)) tracker)) (defun track-changes-unregister (id) @@ -236,6 +238,7 @@ track-changes-unregister Trackers can consume resources (especially if `track-changes-fetch' is not called), so it is good practice to unregister them when you don't need them any more." + (cl-assert (track-changes--sane-state-p)) (unless (memq id track-changes--trackers) (error "Unregistering a non-registered tracker: %S" id)) (setq track-changes--trackers (delq id track-changes--trackers)) @@ -253,7 +256,8 @@ track-changes-unregister track-changes--buffer-size track-changes--before-clean track-changes--state)) - (remove-hook 'after-change-functions #'track-changes--after t))) + (remove-hook 'after-change-functions #'track-changes--after t)) + (cl-assert (track-changes--sane-state-p))) (defun track-changes-fetch (id func) "Fetch the pending changes for tracker ID pass them to FUNC. @@ -372,7 +376,8 @@ track-changes-fetch (funcall func beg end (or before lenbefore))) ;; Re-enable the tracker's signal only after running `func', so ;; as to avoid nested invocations. - (cl-pushnew id track-changes--clean-trackers)))) + (cl-pushnew id track-changes--clean-trackers) + (cl-assert (track-changes--sane-state-p))))) (defun track-changes-inconsistent-state-p () "Return whether the current buffer is in an inconsistent state. @@ -387,6 +392,26 @@ track-changes-inconsistent-state-p ;;;; Auxiliary functions. +(defun track-changes--sane-state-p () + (if (null track-changes--trackers) + (and (zerop track-changes--before-beg) + (zerop track-changes--before-end) + (equal track-changes--before-string "") + (null track-changes--buffer-size) + (eq track-changes--before-clean 'unset) + (null track-changes--state)) + (and (equal track-changes--buffer-size (buffer-size)) + (or track-changes--before-no + (pcase track-changes--before-clean + ('unset t) + ('set (<= track-changes--before-beg track-changes--before-end)) + ('nil + (<= track-changes--before-beg + (track-changes--state-beg track-changes--state) + (track-changes--state-end track-changes--state) + track-changes--before-end)) + (_ nil)))))) + (defun track-changes--clean-state () (cond ((null track-changes--state) @@ -551,7 +576,8 @@ track-changes--before (length track-changes--before-string)))))) (setf track-changes--before-end new-bend) (cl-callf concat track-changes--before-string - (buffer-substring-no-properties old-bend new-bend))))))))) + (buffer-substring-no-properties old-bend new-bend)))))))) + (cl-assert (track-changes--sane-state-p))) (defun track-changes--after (beg end len) (cl-assert track-changes--state) @@ -576,10 +602,26 @@ track-changes--after ;; BEG..END is not covered by previous `before-change-functions'!! (track-changes--recover-from-error `(unexpected-after ,beg ,end ,len)) ;; Note the new changes. + (let ((orig-beg (track-changes--state-beg track-changes--state)) + (orig-end (track-changes--state-end track-changes--state))) (when (< beg (track-changes--state-beg track-changes--state)) (setf (track-changes--state-beg track-changes--state) beg)) (cl-callf (lambda (old-end) (max end (+ old-end offset))) (track-changes--state-end track-changes--state)) + (cl-assert (or track-changes--before-no + (<= track-changes--before-beg + (track-changes--state-beg track-changes--state))) + nil "<=? %S %S (was %S)" + track-changes--before-beg + (track-changes--state-beg track-changes--state) + orig-beg) + (cl-assert (or track-changes--before-no + (<= (track-changes--state-end track-changes--state) + track-changes--before-end)) + nil "<=? %S %S (was %S)" + (track-changes--state-end track-changes--state) + track-changes--before-end + orig-end)) (cl-assert (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) @@ -591,7 +633,8 @@ track-changes--after (if (track-changes--tracker-immediate tracker) (funcall (track-changes--tracker-signal tracker) tracker) (run-with-timer 0 nil #'track-changes--call-signal - (current-buffer) tracker))))) + (current-buffer) tracker)))) + (cl-assert (track-changes--sane-state-p))) (defun track-changes--call-signal (buf tracker) (when (buffer-live-p buf) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 25 Sep 2024 01:55:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 24 21:55:18 2024 Received: from localhost ([127.0.0.1]:58495 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1stHFM-0003eM-IW for submit <at> debbugs.gnu.org; Tue, 24 Sep 2024 21:55:18 -0400 Received: from fhigh-a1-smtp.messagingengine.com ([103.168.172.152]:56237) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <epg@HIDDEN>) id 1stGyC-0002Uc-EG for 73041 <at> debbugs.gnu.org; Tue, 24 Sep 2024 21:37:33 -0400 Received: from phl-compute-10.internal (phl-compute-10.phl.internal [10.202.2.50]) by mailfhigh.phl.internal (Postfix) with ESMTP id 2AA8E114024C; Tue, 24 Sep 2024 21:37:01 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-10.internal (MEProxy); Tue, 24 Sep 2024 21:37:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pretzelnet.org; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1727228221; x= 1727314621; bh=NJE29BoXVj8pEDehDfDYNu4MkgUrjQzOr61pG4d5vpQ=; b=n Xl0oomr9orzDQ5V1X/+jnvjR2IpxPmueo3hnCNKj6JujpzHfVz3jGB/LtImayZgx DxQ3iPukXOSAX2/3dKQ4K+aa+a6WZrXgseh9ftnlsJ9/lnzeovBZSx+/sKHcvu+n uworVQ9LwfpwHhR62gIFZFDh9DQj+pwFIFUgr6hIK+vWEEed6VOSbH/E2fxW/2iY uORZ3Mh52rmyUuAy7BqnvioqUyu30WeRmHoB8PHWMJJr13n+rbCtu9CEpwLkhFH7 wtN2iy5vka6hLQZJfbusPBCQ6xqxdl53ER+CbKjMGpammXAkPoItDfv4KwYQrFbj btiRj3z3NEr0OdN9Pz9hQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1727228221; x=1727314621; bh=NJE29BoXVj8pEDehDfDYNu4MkgUr jQzOr61pG4d5vpQ=; b=NL6w2D6mXBKM+lpDf7klbUu768wMMgG3wMHmjZBorrci Irp2O5VJwC2ETAij2sgbH1wX3eHO6ES/6sSBjy7pBoBNHxDpNATRumT5ue4ouglr 8F93FR6ymZ1fHiN0Lm4uNI5m/Uxb1hKIDBgdEj9rmplBTUGAcXgWS4zOO41v0mVy Tcdng6mWJz83rRUr4xJerw6BMb3Rjp4P1B46sedM81xInWA7b5Q7Unyo5ygwC8c3 XUL16DZ4j6WdJOysVlVc+YJQZKTrlLlbwJ0go8JWz83Tcg1ijLnx8eZNNsQO36nO CgfHU8gT4Fv/Z4eJqbtj8RNAm0UaL+4M2PR6Qt/PVg== X-ME-Sender: <xms:PGnzZsKkXxLffnVJjVFTkRc1w0kGwMNsbkxR6W3G9Jt7-rRS0BGFaA> <xme:PGnzZsKOjSfzbPR_jnw-PSkgxt2frB6W2wkDc4Xq8hldVP7iCFgBdgoM0brn6UHXC q1wk35IO0BZBNNdZ7U> X-ME-Received: <xmr:PGnzZstswNP7XGRrzjy5mr3mGlO2LEWcwebJPVvPt9cR0PyMOVjEWrH3STHkJJbR3SQ6Krcr56z8d0VzJElRH8Oh6pIIVMMfaWOn_l0TeGC44tgLVSUQdncdZNW63kpZeiI> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvddtgedggeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhephffvvefujghffffkfgggtgesthdtredttdertden ucfhrhhomhepgfhrihgtucfiihhllhgvshhpihgvuceovghpghesphhrvghtiigvlhhnvg htrdhorhhgqeenucggtffrrghtthgvrhhnpeelfffgveejteetleetffduhfehhfetueeh heekfeelvdfgteduhfegieetueetkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpegvphhgsehprhgvthiivghlnhgvthdrohhrghdpnhgspghr tghpthhtohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjeeftdegudesug gvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehmohhnnhhivghrsehirhhordhu mhhonhhtrhgvrghlrdgtrgdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrgh X-ME-Proxy: <xmx:PGnzZpYgtKRcMFgQ-zjbrfvXDiqSLnxJIQUY-sbmDSEFpcL9T4-bbg> <xmx:PGnzZjZohFB2bxgRpxCRxeqQa_4-_RBBb4QQhPmG0ehAkcIFmWUv_Q> <xmx:PGnzZlB_r6RKZjbNA8xv-lFhCznP1XzSICBI09wyNgD9q4lcIvOJnA> <xmx:PGnzZpamePs0m36X1QZPEGiuWa82qoqOkvN9fnMCtMZPFiexx4aeZA> <xmx:PWnzZvF-6jZNIG6qwqIcHTHSq1CZX4h-1Jf3_lxfXQWn8LIKbKIhT5c_> Feedback-ID: i58794908:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 24 Sep 2024 21:37:00 -0400 (EDT) From: Eric Gillespie <epg@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <86r09d4bie.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 21 Sep 2024 12:11:21 +0300") References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> <86r09d4bie.fsf@HIDDEN> Date: Tue, 24 Sep 2024 20:36:59 -0500 Message-ID: <87o74c1pl0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Eli Zaretskii <eliz@HIDDEN> writes: > Ping! epg, could you please try Stefan's patches and report back? Sorry for the delay. I applied that patch the next time I built, and it definitely had an impact, but not what I expected. I now have a trivial -Q test case for a bug, though I fear it may not be the bug I originally reported here. 1. Run 'cargo new foo' to create a new cargo project 2. emacs -Q foo/src/main.rs 3. M-x rust-ts-mode RET 4. M-x eglot RET 5. C-x k RET Expected: Buffer main.rs is killed. Actual: (cl-assert (track-changes--sane-state-p)) assertion triggered. Who knows, maybe these two bugs share a root cause. > From: Stefan Monnier <monnier@HIDDEN> >> Hmm... this clearly points to a bug in track-changes. In fact, I was able to trace this kill-buffer behavior all the way back to the birth of track-changes in commit d7a83e23d47ca9e3e6ca70078e956e31301e5e6d (the patch needed a tiny bit of conflict resolution to apply that far back, but it was no problem). Thanks! -- Eric Gillespie <*> epg@HIDDEN
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 21 Sep 2024 09:11:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 21 05:11:54 2024 Received: from localhost ([127.0.0.1]:37159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1srw9h-0001pm-SW for submit <at> debbugs.gnu.org; Sat, 21 Sep 2024 05:11:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37042) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1srw9f-0001pW-8j for 73041 <at> debbugs.gnu.org; Sat, 21 Sep 2024 05:11:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1srw9F-00069B-F7; Sat, 21 Sep 2024 05:11:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=56cdcE3e3m02tD8SqawW7+hZ+PDFOFJRQueP3hq5GrY=; b=Lr0wvQRI+eFGcPQv1GNy 52ByKXJxEz+vvNpbHJzuMiqsi1OrCYmKGEooM2MG3cBSnBLoKEDqaO29mXMJVMNE0cPQijefZqp8F yqQa2uXuN+eObf43GRKEIKUzDSC64FDnXHMNiSlmHS7pb5dOzbddbPhLoQNGxgvPiYRFh7D0hqq/m fYUJIZr+Kf7rfVYGO2kCMVNoIqDsifwbhwqdIwA8Wi0rQTUGIv+RSh2VD//VFzEUgxL4ib19WD5H5 q2HvAcWg3iNhfrQarlWUIMcPHjA6q+8HwnZBUoiBEBovQ0YmTb9w2GX2J4tlHACzFXOxUwV/vDZk+ xb9QHm3ODfOVaQ==; Date: Sat, 21 Sep 2024 12:11:21 +0300 Message-Id: <86r09d4bie.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: epg@HIDDEN, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> (message from Stefan Monnier on Sun, 08 Sep 2024 19:06:09 -0400) Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! epg, could you please try Stefan's patches and report back? > From: Stefan Monnier <monnier@HIDDEN> > Cc: epg@HIDDEN, 73041 <at> debbugs.gnu.org > Date: Sun, 08 Sep 2024 19:06:09 -0400 > > > >> I wish I could describe exactly what happened. I found > >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70541 which sounds > >> very much like what I'm seeing, but I don't use any input method. > > Thanks for your description of the problem. A reproducible recipe is of > course better, but sadly, we can't always have what we want. > Let's hope we find that eventually we'll get what we need. > > >> Eventually, this pops into *Messages*: > >> > >> #+begin_quote > >> cl--assertion-failed: Assertion failed: (or track-changes--before-no (<= > >> track-changes--before-beg (track-changes--state-beg track-changes--state) > >> beg end (track-changes--state-end track-changes--state) > >> track-changes--before-end)) > >> #+end_quote > > Hmm... this clearly points to a bug in track-changes. > > >> #+begin_quote > >> ⛔ Warning (emacs): Missing/incorrect calls to ‘before/after-change-functions’!! > >> Details logged to ‘track-changes--error-log’ > >> #+end_quote > > Barring bugs in track-changes, this points to a bug in some other part > of Emacs, which prevents track-changes from getting the info it needs. > Track-changes (and Eglot) are supposedly equipped to deal with such > problems, because we know we still have many of them. > > >> Over time, they just keep repeating, > > Hmm... `track-changes--recover-from-error` should (as the name suggests) > "recover" so they shouldn't just keep repeating, unless the source of > the problem keeps repeating as well. Or unless there's a bug in > track-changes. > > >> although I think killing the > >> buffer and reopening the file makes it stop. > >> > >> If I have inspected ‘track-changes--error-log’ correctly, this is > >> what it contains (looks like some binary, hope it comes through > >> in some useful fashion or another): > > It's a list of debug info, one per "recovery". Each debug info is made > of the buffer name, the inconsistency encountered, then a backtrace, and > an extract of (raw) `view-lossage`. Here's your data reformatted: > > (("lib.rs" (buffer-size 5254 5218) > ((t track-changes--recover-from-error ... nil) > (t track-changes-fetch ... nil) > (t eglot--track-changes-fetch ... nil) > (t eglot--signal-textDocument/didChange nil nil) > (t eglot--signal-textDocument/didSave nil nil) > (t run-hooks ... nil) > (t basic-save-buffer ... nil) > (t save-buffer ... nil) > (t funcall-interactively ... nil) > (t call-interactively ... nil) > (t command-execute ... nil)) > [111 (nil . other-window) > 103 (nil . recompile) > 121 (nil . undefined) > 24 96 (nil . next-error) > 1 (nil . move-beginning-of-line) > 11 ...]) > ("lib.rs" (buffer-size 5256 5254) > ((t track-changes--recover-from-error ... nil) > (t track-changes-fetch ... nil) > (t eglot--track-changes-fetch ... nil) > (t eglot--signal-textDocument/didChange nil nil) > (t eglot--signal-textDocument/didSave nil nil) > (t run-hooks ... nil) > (t basic-save-buffer ... nil) > (t save-buffer nil nil) > (t #[257 "r\211q\210\300 )\207" [save-buffer] 2 ...] > (t map-y-or-n-p ... nil) > (t save-some-buffers ... nil) > (t recompile ... nil) > ...) > [19 (nil . save-buffer) > 24 24 (nil . exchange-point-and-mark) > 23 (nil . kill-region) > 24 19 (nil . save-buffer) > backspace (nil . delete-backward-char) ...]) > ("lib.rs" (buffer-size 5278 5256) > ((t track-changes--recover-from-error ... nil) > (t track-changes-fetch ... nil) > (t eglot--track-changes-fetch ... nil) > (t eglot--signal-textDocument/didChange nil nil) > (t eglot--signal-textDocument/didSave nil nil) > (t run-hooks ... nil) > (t basic-save-buffer ... nil) > (t save-buffer ... nil) > (t funcall-interactively ... nil) > (t call-interactively ... nil) > (t command-execute ... nil)) > [(nil . backward-word) > 2 (nil . backward-char) > 67108896 (nil . set-mark-command) > 134217734 (nil . forward-sexp) > 23 (nil . kill-region) > 24 19 (nil . save-buffer) > ...]) > ("lib.rs" (buffer-size 5324 5278) > ((t track-changes--recover-from-error ... nil) > (t track-changes-fetch ... nil) > (t eglot--track-changes-fetch ... nil) > (t eglot--track-changes-signal ... nil) > (t #[771 "\211^BZ\211^HG^E] ...) > ...) > ...) > ...) > > This suggests the error is always detected "late" when we find that the > buffer-size is not the one we expected, so some buffer change presumably > happened without informing track-changes. > That doesn't explain the assertion failure. > > Also, I don't see anything "unusual" in the view-lossage. > > >> I wish I could reliably repeat it. Given that it occurs after > >> many hours of work, `emacs -Q` isn't an option. > > Thanks. > I stared at the code for a bit trying to see how that assertion failure > can occur, but nothing came to mind yet. I think we'll need more data. > > Can you try to install the patch below, then run with > `debug-on-error` enabled? > Hopefully when the error occurs, this will give us more info (ideally > including a backtrace). > > > Stefan > > diff --git a/lisp/emacs-lisp/track-changes.el b/lisp/emacs-lisp/track-changes.el > index 92d14959763..325a92317ca 100644 > --- a/lisp/emacs-lisp/track-changes.el > +++ b/lisp/emacs-lisp/track-changes.el > @@ -229,6 +229,7 @@ track-changes-register > (push tracker track-changes--clean-trackers) > (when disjoint > (push tracker track-changes--disjoint-trackers)) > + (cl-assert (track-changes--sane-state-p)) > tracker)) > > (defun track-changes-unregister (id) > @@ -253,7 +254,8 @@ track-changes-unregister > track-changes--buffer-size > track-changes--before-clean > track-changes--state)) > - (remove-hook 'after-change-functions #'track-changes--after t))) > + (remove-hook 'after-change-functions #'track-changes--after t)) > + (cl-assert (track-changes--sane-state-p))) > > (defun track-changes-fetch (id func) > "Fetch the pending changes for tracker ID pass them to FUNC. > @@ -372,7 +374,8 @@ track-changes-fetch > (funcall func beg end (or before lenbefore))) > ;; Re-enable the tracker's signal only after running `func', so > ;; as to avoid nested invocations. > - (cl-pushnew id track-changes--clean-trackers)))) > + (cl-pushnew id track-changes--clean-trackers) > + (cl-assert (track-changes--sane-state-p))))) > > (defun track-changes-inconsistent-state-p () > "Return whether the current buffer is in an inconsistent state. > @@ -387,6 +390,19 @@ track-changes-inconsistent-state-p > > ;;;; Auxiliary functions. > > +(defun track-changes--sane-state-p () > + (and (equal track-changes--buffer-size (buffer-size)) > + (or track-changes--before-no > + (pcase track-changes--before-clean > + ('unset t) > + ('set (<= track-changes--before-beg track-changes--before-end)) > + ('nil > + (<= track-changes--before-beg > + (track-changes--state-beg track-changes--state) > + (track-changes--state-end track-changes--state) > + track-changes--before-end)) > + (_ nil))))) > + > (defun track-changes--clean-state () > (cond > ((null track-changes--state) > @@ -551,7 +567,8 @@ track-changes--before > (length track-changes--before-string)))))) > (setf track-changes--before-end new-bend) > (cl-callf concat track-changes--before-string > - (buffer-substring-no-properties old-bend new-bend))))))))) > + (buffer-substring-no-properties old-bend new-bend)))))))) > + (cl-assert (track-changes--sane-state-p))) > > (defun track-changes--after (beg end len) > (cl-assert track-changes--state) > @@ -576,10 +593,26 @@ track-changes--after > ;; BEG..END is not covered by previous `before-change-functions'!! > (track-changes--recover-from-error `(unexpected-after ,beg ,end ,len)) > ;; Note the new changes. > + (let ((orig-beg (track-changes--state-beg track-changes--state)) > + (orig-end (track-changes--state-end track-changes--state))) > (when (< beg (track-changes--state-beg track-changes--state)) > (setf (track-changes--state-beg track-changes--state) beg)) > (cl-callf (lambda (old-end) (max end (+ old-end offset))) > (track-changes--state-end track-changes--state)) > + (cl-assert (or track-changes--before-no > + (<= track-changes--before-beg > + (track-changes--state-beg track-changes--state))) > + nil "<=? %S %S (was %S)" > + track-changes--before-beg > + (track-changes--state-beg track-changes--state) > + orig-beg) > + (cl-assert (or track-changes--before-no > + (<= (track-changes--state-end track-changes--state) > + track-changes--before-end)) > + nil "<=? %S %S (was %S)" > + (track-changes--state-end track-changes--state) > + track-changes--before-end > + orig-end)) > (cl-assert (or track-changes--before-no > (<= track-changes--before-beg > (track-changes--state-beg track-changes--state) > @@ -591,7 +624,8 @@ track-changes--after > (if (track-changes--tracker-immediate tracker) > (funcall (track-changes--tracker-signal tracker) tracker) > (run-with-timer 0 nil #'track-changes--call-signal > - (current-buffer) tracker))))) > + (current-buffer) tracker)))) > + (cl-assert (track-changes--sane-state-p))) > > (defun track-changes--call-signal (buf tracker) > (when (buffer-live-p buf) > diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el > index 82e99a2c920..a2c9f73fc73 100644 > --- a/lisp/progmodes/eglot.el > +++ b/lisp/progmodes/eglot.el > @@ -2813,6 +2813,8 @@ eglot--signal-textDocument/didChange > > (defun eglot--signal-textDocument/didOpen () > "Send textDocument/didOpen to server." > + ;; Flush any potential pending change. > + (eglot--track-changes-fetch eglot--track-changes) > (setq eglot--recent-changes nil > eglot--versioned-identifier 0 > eglot--TextDocumentIdentifier-cache nil)
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 8 Sep 2024 23:06:34 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 08 19:06:34 2024 Received: from localhost ([127.0.0.1]:60273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1snQzJ-0001qR-Rd for submit <at> debbugs.gnu.org; Sun, 08 Sep 2024 19:06:34 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:5253) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1snQzH-0001qE-S7 for 73041 <at> debbugs.gnu.org; Sun, 08 Sep 2024 19:06:32 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 73183442AF4; Sun, 8 Sep 2024 19:06:23 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1725836780; bh=Kb/CpvYAhLGtoq8BXfj4/fLeDgkUAEQ2vGXxD12QBlU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=KVG302gAu4KcCkqAiDbGTEocRSrPhZ3tDnNKQ8n9ci8XqJHy5klT3/JLXuwC6+pcu ypDmySY8NMDEG7lcrztiFWLcXYKtRDhd3UyUx7pcdYIUodpViBdz+QcitM/gyEjx/j u9npoGeK1aN5Jg7PflMrujRHoGPcLOCop7P2a7fJRAXkUOfIn+ARcp6L36MbyOk20K hi/wUX/oO1uhn7H0/D4GOdyzzo1eLYhTUvpBuNgUMrCV5xCngxKju8BMg9Eri/UldP tXbt7sc5vQggpvddPtA0Xf9M5Ss5QmH8MszEXBZY9cjcjVb+JgPUlLOemHlulFoU3K 530Lb/WlRc/ig== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id DD078442AEC; Sun, 8 Sep 2024 19:06:20 -0400 (EDT) Received: from asado (104-195-201-118.cpe.teksavvy.com [104.195.201.118]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7B40B12056B; Sun, 8 Sep 2024 19:06:19 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) In-Reply-To: <86zfom2okl.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 05 Sep 2024 16:54:34 +0300") Message-ID: <jwva5ghbveq.fsf-monnier+emacs@HIDDEN> References: <87ed5yfcve.fsf@HIDDEN> <86zfom2okl.fsf@HIDDEN> Date: Sun, 08 Sep 2024 19:06:09 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.005 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [gnu.org, lib.rs] X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org, epg@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >> I wish I could describe exactly what happened. I found >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D70541 which sounds >> very much like what I'm seeing, but I don't use any input method. Thanks for your description of the problem. A reproducible recipe is of course better, but sadly, we can't always have what we want. Let's hope we find that eventually we'll get what we need. >> Eventually, this pops into *Messages*: >>=20 >> #+begin_quote >> cl--assertion-failed: Assertion failed: (or track-changes--before-no (<= =3D >> track-changes--before-beg (track-changes--state-beg track-changes--state) >> beg end (track-changes--state-end track-changes--state) >> track-changes--before-end)) >> #+end_quote Hmm... this clearly points to a bug in track-changes. >> #+begin_quote >> =E2=9B=94 Warning (emacs): Missing/incorrect calls to =E2=80=98before/af= ter-change-functions=E2=80=99!! >> Details logged to =E2=80=98track-changes--error-log=E2=80=99 >> #+end_quote Barring bugs in track-changes, this points to a bug in some other part of Emacs, which prevents track-changes from getting the info it needs. Track-changes (and Eglot) are supposedly equipped to deal with such problems, because we know we still have many of them. >> Over time, they just keep repeating, Hmm... `track-changes--recover-from-error` should (as the name suggests) "recover" so they shouldn't just keep repeating, unless the source of the problem keeps repeating as well. Or unless there's a bug in track-changes. >> although I think killing the >> buffer and reopening the file makes it stop. >> >> If I have inspected =E2=80=98track-changes--error-log=E2=80=99 correctly= , this is >> what it contains (looks like some binary, hope it comes through >> in some useful fashion or another): It's a list of debug info, one per "recovery". Each debug info is made of the buffer name, the inconsistency encountered, then a backtrace, and an extract of (raw) `view-lossage`. Here's your data reformatted: (("lib.rs" (buffer-size 5254 5218) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer ... nil) (t funcall-interactively ... nil) (t call-interactively ... nil) (t command-execute ... nil)) [111 (nil . other-window) 103 (nil . recompile) 121 (nil . undefined) 24 96 (nil . next-error) 1 (nil . move-beginning-of-line) 11 ...]) ("lib.rs" (buffer-size 5256 5254) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer nil nil) (t #[257 "r\211q\210\300 )\207" [save-buffer] 2 ...] (t map-y-or-n-p ... nil) (t save-some-buffers ... nil) (t recompile ... nil) ...) [19 (nil . save-buffer) 24 24 (nil . exchange-point-and-mark) 23 (nil . kill-region) 24 19 (nil . save-buffer) backspace (nil . delete-backward-char) ...]) ("lib.rs" (buffer-size 5278 5256) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer ... nil) (t funcall-interactively ... nil) (t call-interactively ... nil) (t command-execute ... nil)) [(nil . backward-word) 2 (nil . backward-char) 67108896 (nil . set-mark-command) 134217734 (nil . forward-sexp) 23 (nil . kill-region) 24 19 (nil . save-buffer) ...]) ("lib.rs" (buffer-size 5324 5278) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--track-changes-signal ... nil) (t #[771 "\211^BZ\211^HG^E] ...) ...) ...) ...) This suggests the error is always detected "late" when we find that the buffer-size is not the one we expected, so some buffer change presumably happened without informing track-changes. That doesn't explain the assertion failure. Also, I don't see anything "unusual" in the view-lossage. >> I wish I could reliably repeat it. Given that it occurs after >> many hours of work, `emacs -Q` isn't an option. Thanks. I stared at the code for a bit trying to see how that assertion failure can occur, but nothing came to mind yet. I think we'll need more data. Can you try to install the patch below, then run with `debug-on-error` enabled? Hopefully when the error occurs, this will give us more info (ideally including a backtrace). Stefan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=track-changes.patch diff --git a/lisp/emacs-lisp/track-changes.el b/lisp/emacs-lisp/track-changes.el index 92d14959763..325a92317ca 100644 --- a/lisp/emacs-lisp/track-changes.el +++ b/lisp/emacs-lisp/track-changes.el @@ -229,6 +229,7 @@ track-changes-register (push tracker track-changes--clean-trackers) (when disjoint (push tracker track-changes--disjoint-trackers)) + (cl-assert (track-changes--sane-state-p)) tracker)) (defun track-changes-unregister (id) @@ -253,7 +254,8 @@ track-changes-unregister track-changes--buffer-size track-changes--before-clean track-changes--state)) - (remove-hook 'after-change-functions #'track-changes--after t))) + (remove-hook 'after-change-functions #'track-changes--after t)) + (cl-assert (track-changes--sane-state-p))) (defun track-changes-fetch (id func) "Fetch the pending changes for tracker ID pass them to FUNC. @@ -372,7 +374,8 @@ track-changes-fetch (funcall func beg end (or before lenbefore))) ;; Re-enable the tracker's signal only after running `func', so ;; as to avoid nested invocations. - (cl-pushnew id track-changes--clean-trackers)))) + (cl-pushnew id track-changes--clean-trackers) + (cl-assert (track-changes--sane-state-p))))) (defun track-changes-inconsistent-state-p () "Return whether the current buffer is in an inconsistent state. @@ -387,6 +390,19 @@ track-changes-inconsistent-state-p ;;;; Auxiliary functions. +(defun track-changes--sane-state-p () + (and (equal track-changes--buffer-size (buffer-size)) + (or track-changes--before-no + (pcase track-changes--before-clean + ('unset t) + ('set (<= track-changes--before-beg track-changes--before-end)) + ('nil + (<= track-changes--before-beg + (track-changes--state-beg track-changes--state) + (track-changes--state-end track-changes--state) + track-changes--before-end)) + (_ nil))))) + (defun track-changes--clean-state () (cond ((null track-changes--state) @@ -551,7 +567,8 @@ track-changes--before (length track-changes--before-string)))))) (setf track-changes--before-end new-bend) (cl-callf concat track-changes--before-string - (buffer-substring-no-properties old-bend new-bend))))))))) + (buffer-substring-no-properties old-bend new-bend)))))))) + (cl-assert (track-changes--sane-state-p))) (defun track-changes--after (beg end len) (cl-assert track-changes--state) @@ -576,10 +593,26 @@ track-changes--after ;; BEG..END is not covered by previous `before-change-functions'!! (track-changes--recover-from-error `(unexpected-after ,beg ,end ,len)) ;; Note the new changes. + (let ((orig-beg (track-changes--state-beg track-changes--state)) + (orig-end (track-changes--state-end track-changes--state))) (when (< beg (track-changes--state-beg track-changes--state)) (setf (track-changes--state-beg track-changes--state) beg)) (cl-callf (lambda (old-end) (max end (+ old-end offset))) (track-changes--state-end track-changes--state)) + (cl-assert (or track-changes--before-no + (<= track-changes--before-beg + (track-changes--state-beg track-changes--state))) + nil "<=? %S %S (was %S)" + track-changes--before-beg + (track-changes--state-beg track-changes--state) + orig-beg) + (cl-assert (or track-changes--before-no + (<= (track-changes--state-end track-changes--state) + track-changes--before-end)) + nil "<=? %S %S (was %S)" + (track-changes--state-end track-changes--state) + track-changes--before-end + orig-end)) (cl-assert (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) @@ -591,7 +624,8 @@ track-changes--after (if (track-changes--tracker-immediate tracker) (funcall (track-changes--tracker-signal tracker) tracker) (run-with-timer 0 nil #'track-changes--call-signal - (current-buffer) tracker))))) + (current-buffer) tracker)))) + (cl-assert (track-changes--sane-state-p))) (defun track-changes--call-signal (buf tracker) (when (buffer-live-p buf) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 82e99a2c920..a2c9f73fc73 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -2813,6 +2813,8 @@ eglot--signal-textDocument/didChange (defun eglot--signal-textDocument/didOpen () "Send textDocument/didOpen to server." + ;; Flush any potential pending change. + (eglot--track-changes-fetch eglot--track-changes) (setq eglot--recent-changes nil eglot--versioned-identifier 0 eglot--TextDocumentIdentifier-cache nil) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at 73041) by debbugs.gnu.org; 5 Sep 2024 14:06:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 05 10:06:46 2024 Received: from localhost ([127.0.0.1]:37729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1smD8H-0004Jg-Mn for submit <at> debbugs.gnu.org; Thu, 05 Sep 2024 10:06:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1smD8F-0004J3-Un for 73041 <at> debbugs.gnu.org; Thu, 05 Sep 2024 10:06:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1smCwW-0004UZ-RZ; Thu, 05 Sep 2024 09:54:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:Subject:In-Reply-To:To:From: Date; bh=7om8+Iye48L8OPKQhIyYRM5BcW7RChPpq47TEinp8Ro=; b=VFLaEErpdR6rG1LajHYw Ddz38Pjh8tfpuCWQLtM2+VHn3BT+uY2DmEZvOcOs07CqNpK97eKvNGxKQiQS4YYjZGz+c9XhgOgCb I39twaFEKBnexUUwfYgXOP72Ebkc1FTe7ate1mAdQwwidipMggzhNBZ7dHpMk0wZnVnMPtLnn1HUv +nDQcyD3/8vf9aKDe6omA0WyQhTSwtqEkr5tyizC6WBy6H9nyOTHP1Oq7BNgvTakD1NVb5eDyig5q Y+IQXFbviKAJ4fyd5TxMR8qRQ6CqqamVjHlfbSOpBlVRSw1D5oPEjS/phfWyHPvmW8Ou+HrOCER0i X5HkRernA8Dohg==; Date: Thu, 05 Sep 2024 16:54:34 +0300 Message-Id: <86zfom2okl.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: epg@HIDDEN, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <87ed5yfcve.fsf@HIDDEN> (epg@HIDDEN) Subject: Re: bug#73041: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) References: <87ed5yfcve.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73041 Cc: 73041 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: epg@HIDDEN > Date: Thu, 05 Sep 2024 08:28:53 -0500 >=20 > I wish I could describe exactly what happened. I found > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D70541 which sounds > very much like what I'm seeing, but I don't use any input method. >=20 > What I can say: >=20 > - I use rust-mode (not rust-ts-mode) > - I use eglot (config below) > - I use rust-analyzer 1.80.1 (3f5fd8d 2024-08-06) > - The problem seems to happen deep into a work day, after many > commits, reverts, etc. >=20 > My eglot configuration: >=20 > #+begin_src elisp > (setq > eglot-extend-to-xref t > eglot-ignored-server-capabilities > '( > :inlayHintProvider > :documentOnTypeFormattingProvider > ) > ) > #+end_src >=20 > Eventually, this pops into *Messages*: >=20 > #+begin_quote > cl--assertion-failed: Assertion failed: (or track-changes--before-no (<= =3D track-changes--before-beg (track-changes--state-beg track-changes--stat= e) beg end (track-changes--state-end track-changes--state) track-changes--b= efore-end)) > #+end_quote >=20 > And this in *Warnings*: >=20 > #+begin_quote > =E2=9B=94 Warning (emacs): Missing/incorrect calls to =E2=80=98before/aft= er-change-functions=E2=80=99!! > Details logged to =E2=80=98track-changes--error-log=E2=80=99 > #+end_quote >=20 > Over time, they just keep repeating, although I think killing the > buffer and reopening the file makes it stop. >=20 > If I have inspected =E2=80=98track-changes--error-log=E2=80=99 correctly,= this is > what it contains (looks like some binary, hope it comes through > in some useful fashion or another): >=20 > #+begin_quote > (("lib.rs" (buffer-size 5254 5218) ((t track-changes--recover-from-error = ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... = nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-text= Document/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... ni= l) (t save-buffer ... nil) (t funcall-interactively ... nil) (t call-intera= ctively ... nil) (t command-execute ... nil)) [111 (nil . other-window) 103= (nil . recompile) 121 (nil . undefined) 24 96 (nil . next-error) 1 (nil . = move-beginning-of-line) 11 ...]) ("lib.rs" (buffer-size 5256 5254) ((t trac= k-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t e= glot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange = nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... ni= l) (t basic-save-buffer ... nil) (t save-buffer nil nil) (t #[257 "r\211q\2= 10\300 )\207" [save-buffer] 2 ...] ... nil) (t map-y-or-n-p ... nil) (t sav= e-some-buffers ... nil) (t recompile ... nil) ...) [19 (nil . save-buffer) = 24 24 (nil . exchange-point-and-mark) 23 (nil . kill-region) 24 19 (nil . s= ave-buffer) backspace (nil . delete-backward-char) ...]) ("lib.rs" (buffer-= size 5278 5256) ((t track-changes--recover-from-error ... nil) (t track-cha= nges-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal= -textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil = nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer ...= nil) (t funcall-interactively ... nil) (t call-interactively ... nil) (t c= ommand-execute ... nil)) [(nil . backward-word) 2 (nil . backward-char) 671= 08896 (nil . set-mark-command) 134217734 (nil . forward-sexp) 23 (nil . kil= l-region) 24 19 (nil . save-buffer) ...]) ("lib.rs" (buffer-size 5324 5278)= ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... = nil) (t eglot--track-changes-fetch ... nil) (t eglot--track-changes-signal = ... nil) (t #[771 "\211^BZ\211^HG^E]=09 > #+end_quote >=20 > I wish I could reliably repeat it. Given that it occurs after > many hours of work, `emacs -Q` isn't an option. Adding Stefan.
bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 5 Sep 2024 13:48:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 05 09:48:53 2024 Received: from localhost ([127.0.0.1]:36443 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1smCqy-0002YI-QZ for submit <at> debbugs.gnu.org; Thu, 05 Sep 2024 09:48:53 -0400 Received: from lists.gnu.org ([209.51.188.17]:57096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <epg@HIDDEN>) id 1smCqu-0002X7-UF for submit <at> debbugs.gnu.org; Thu, 05 Sep 2024 09:48:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <epg@HIDDEN>) id 1smCXj-0002bi-D4 for bug-gnu-emacs@HIDDEN; Thu, 05 Sep 2024 09:28:59 -0400 Received: from fout3-smtp.messagingengine.com ([103.168.172.146]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <epg@HIDDEN>) id 1smCXg-0007dM-PJ for bug-gnu-emacs@HIDDEN; Thu, 05 Sep 2024 09:28:59 -0400 Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43]) by mailfout.phl.internal (Postfix) with ESMTP id 94C0C1380207 for <bug-gnu-emacs@HIDDEN>; Thu, 5 Sep 2024 09:28:54 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Thu, 05 Sep 2024 09:28:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pretzelnet.org; h=cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm2; t=1725542934; x=1725629334; bh=WE TNIBbrnozNaNXQGVS08R4cbOUAyqAVEgiXoheiHP8=; b=Y+JJaI31RFC0/3KCTX sd4FUzw5ISa1n63eApq/2NHINPUzi15UyRlVwtIC8NjRYEpdH71a1AYb+1xGnf5e rHf9z4sfvIXOmjVYKdkR/W7KWTPJl4EFPuEpwoMRM1IWINzfgWlftMVPkSJWFE0F jCkf68VouNmScJVWAmx7KIXbsB/76CFEs7kMAz1Fq1Vy7zdsTyUnbeW4DDAwsPv4 iYVyvkFSatboG4Vwti515NYkiKKjw4leijUozzj/Nwwdj1lae8LgWr8UsjPvL5GM wPMuv06dZu6dkkvthh6s3fX07LV7kmDMnWDl1/lYfUGeCEred9IKt3QAbRSXMzAP Ph5Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1725542934; x=1725629334; bh=WETNIBbrnozNaNXQGVS08R4cbOUA yqAVEgiXoheiHP8=; b=rWUBpTbTHDTv7WIg1SjZWgcpm97u/O4vD/BG0xSe7ej5 Df6BHJDthi1kue9tTiGL5KvQ3KKO14DKIxs1vR0hdRylr1W9kuAwMYFB2NJ654MW KYxxY7OooFBhVGG08bT7N+GrHnUrvljsl7N1jX5aYGpynMydl5V/fq1uNZCzbC9l A+DchXwhWbw/RN/efMV/NA0N4fTpz+1tPlq0/Cc7cZ92RTzagjNheLyA1/x7u58D DqyBFes2ixVwF4jgAHQDksoTh2dSLMix/ccu8P32uGrIpKU8hUYUG0P8bEpY5I6w 9j4XjkDxMDjaZOCIXc6P8CU+RSYeARdDTKlsOD22mA== X-ME-Sender: <xms:FrLZZlDcLli10FtMb5gUgMUtPCfI67wM7bjiMm8T9u5xx-fkly3Ktw> <xme:FrLZZjjKmWeT2zcAjb1G0MkHXvoPG5W5-QX3biNzdCwwgJPMulK0F_51fn1iFK0eU 2Ln_QnJCrEhQue1Xko> X-ME-Received: <xmr:FrLZZgnCKTupwCh5CKcUuEb07dWtz5akTvCe_xFa5_VzDNaDpyNaQmWjPu8TkrOh02jDS29XTn_CXDWzK-dV8fhEDAXibqhXNXisdEpoKP7P> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudehledgieegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvffuff fkfgggtgfgsehtqhertddtreejnecuhfhrohhmpegvphhgsehprhgvthiivghlnhgvthdr ohhrghenucggtffrrghtthgvrhhnpeduhfdvvefhfefggeeutdeklefhheffhedvieegle efudelvdekudettdfgiedtleenucffohhmrghinhepghhnuhdrohhrghenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvphhgsehprhgvthiivg hlnhgvthdrohhrghdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhr tghpthhtohepsghughdqghhnuhdqvghmrggtshesghhnuhdrohhrgh X-ME-Proxy: <xmx:FrLZZvwfS6hIYEyTJBVO7AU2-ot26p_N2n53q18jZKnqiwru8-uikA> <xmx:FrLZZqTKTGfVJqwbwkorc67BRN0ryR0kH9ykXfEc24uEb1JX45GN0Q> <xmx:FrLZZiY82IE-apr-chNF-ns9pYCO0jizBy_6jND4RDtOd1DY8-VdSw> <xmx:FrLZZrRRwWgnbknhZ9mjeDJmIPbvG8pjgjeUeINqk13V_hu636-nlA> <xmx:FrLZZtKuT5miYTzVehGNv2w8PGhCtvLAHT7sEeX-zweNL5yOmSRBZ7K5> Feedback-ID: i58794908:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for <bug-gnu-emacs@HIDDEN>; Thu, 5 Sep 2024 09:28:54 -0400 (EDT) From: epg@HIDDEN To: bug-gnu-emacs@HIDDEN Subject: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?) Date: Thu, 05 Sep 2024 08:28:53 -0500 Message-ID: <87ed5yfcve.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=103.168.172.146; envelope-from=epg@HIDDEN; helo=fout3-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) I wish I could describe exactly what happened. I found https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D70541 which sounds very much like what I'm seeing, but I don't use any input method. What I can say: - I use rust-mode (not rust-ts-mode) - I use eglot (config below) - I use rust-analyzer 1.80.1 (3f5fd8d 2024-08-06) - The problem seems to happen deep into a work day, after many commits, reverts, etc. My eglot configuration: #+begin_src elisp (setq eglot-extend-to-xref t eglot-ignored-server-capabilities '( :inlayHintProvider :documentOnTypeFormattingProvider ) ) #+end_src Eventually, this pops into *Messages*: #+begin_quote cl--assertion-failed: Assertion failed: (or track-changes--before-no (<=3D = track-changes--before-beg (track-changes--state-beg track-changes--state) b= eg end (track-changes--state-end track-changes--state) track-changes--befor= e-end)) #+end_quote And this in *Warnings*: #+begin_quote =E2=9B=94 Warning (emacs): Missing/incorrect calls to =E2=80=98before/after= -change-functions=E2=80=99!! Details logged to =E2=80=98track-changes--error-log=E2=80=99 #+end_quote Over time, they just keep repeating, although I think killing the buffer and reopening the file makes it stop. If I have inspected =E2=80=98track-changes--error-log=E2=80=99 correctly, t= his is what it contains (looks like some binary, hope it comes through in some useful fashion or another): #+begin_quote (("lib.rs" (buffer-size 5254 5218) ((t track-changes--recover-from-error ..= . nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... ni= l) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDo= cument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil)= (t save-buffer ... nil) (t funcall-interactively ... nil) (t call-interact= ively ... nil) (t command-execute ... nil)) [111 (nil . other-window) 103 (= nil . recompile) 121 (nil . undefined) 24 96 (nil . next-error) 1 (nil . mo= ve-beginning-of-line) 11 ...]) ("lib.rs" (buffer-size 5256 5254) ((t track-= changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t egl= ot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange ni= l nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil)= (t basic-save-buffer ... nil) (t save-buffer nil nil) (t #[257 "r\211q\210= \300 )\207" [save-buffer] 2 ...] ... nil) (t map-y-or-n-p ... nil) (t save-= some-buffers ... nil) (t recompile ... nil) ...) [19 (nil . save-buffer) 24= 24 (nil . exchange-point-and-mark) 23 (nil . kill-region) 24 19 (nil . sav= e-buffer) backspace (nil . delete-backward-char) ...]) ("lib.rs" (buffer-si= ze 5278 5256) ((t track-changes--recover-from-error ... nil) (t track-chang= es-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-t= extDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil ni= l) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer ... n= il) (t funcall-interactively ... nil) (t call-interactively ... nil) (t com= mand-execute ... nil)) [(nil . backward-word) 2 (nil . backward-char) 67108= 896 (nil . set-mark-command) 134217734 (nil . forward-sexp) 23 (nil . kill-= region) 24 19 (nil . save-buffer) ...]) ("lib.rs" (buffer-size 5324 5278) (= (t track-changes--recover-from-error ... nil) (t track-changes-fetch ... ni= l) (t eglot--track-changes-fetch ... nil) (t eglot--track-changes-signal ..= . nil) (t #[771 "\211^BZ\211^HG^E]=09 #+end_quote I wish I could reliably repeat it. Given that it occurs after many hours of work, `emacs -Q` isn't an option. Thanks! In GNU Emacs 30.0.90 (build 9, x86_64-pc-linux-gnu, cairo version 1.18.0) of 2024-09-03 built on dogato Repository revision: ae2463796f236b8ee2cef3b5e38bffa13abd2233 Repository branch: emacs-30 Windowing system distributor 'The X.Org Foundation', version 11.0.12101012 System Description: openSUSE Tumbleweed Configured using: 'configure -C --prefix=3D/opt/emacs-30.0.90.5.ae2463796f2 --disable-silent-rules --with-x-toolkit=3Dno --without-gsettings --with-native-compilation=3Dno' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM ZLIB Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $XMODIFIERS: @im=3Dlocal locale-coding-system: utf-8-unix Major mode: ELisp/d Minor modes in effect: server-mode: t editorconfig-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr tabify cus-edit cus-start cus-load cl-print help-fns radix-tree mh-utils emacsbug conf-mode smerge-mode whitespace time-stamp perl-mode bug-reference log-edit mule-util display-line-numbers dired-aux view pulse color vc-annotate oc-basic org-element org-persist org-id org-refile org-element-ast inline avl-tree generator ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail browse-url mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range message yank-media rfc822 mailabbrev gmm-utils mailheader gnus-win gnus nnheader range wid-edit ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi org org-macro org-pcomplete org-list org-footnote org-faces org-entities noutline outline org-version ob-sql ob-emacs-lisp ob-C ob ob-tangle org-src sh-script smie treesit executable ob-ref ob-lob ob-table ob-exp ob-comint ob-core ob-eval cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs org-compat org-macs format-spec misearch multi-isearch add-log cl-extra server shell pcomplete files-x grep vc-cvs vc-rcs log-view pcvs-util vc-dir vc rust-utils rust-mode rust-rustfmt rust-playpen rust-compile rust-cargo rx eglot external-completion jsonrpc xref flymake thingatpt project compat diff ert pp ewoc debug backtrace help-mode find-func filenotify warnings compile comint ansi-osc ansi-color ring pcase vc-git diff-mode track-changes easy-mmode vc-dispatcher url-cache url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source eieio eieio-core cl-macs icons json map byte-opt gv bytecomp byte-compile url-vars mh-acros mh-folder which-func imenu mh-comp sendmail mail-utils mh-scan mh-gnus mml mm-view mml-smime mml-sec epa derived epg rfc6068 epg-config smime cl-seq password-cache gnutls puny dig mailcap mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr gnus-util text-property-search time-date subr-x mh-e mh-buffers mh-loaddefs editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting font-render-setting cairo xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 407345 108770) (symbols 48 32008 1) (strings 32 102422 6760) (string-bytes 1 2997195) (vectors 16 63439) (vector-slots 8 1388223 211290) (floats 8 478 2399) (intervals 56 29367 817) (buffers 992 73))
epg@HIDDEN
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#73041
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.