GNU bug report logs -
#73041
30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?)
Previous Next
Reported by: epg <at> pretzelnet.org
Date: Thu, 5 Sep 2024 13:49:02 UTC
Severity: normal
Merged with 75906
Found in versions 30.0.90, 30.0.93
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Stefan Monnier <monnier <at> iro.umontreal.ca> 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
This bug report was last modified 164 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.