Package: emacs;
Reported by: Steven Allen <steven <at> stebalien.com>
Date: Mon, 15 Apr 2024 13:37:06 UTC
Severity: normal
Found in version 30.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 70396 in the body.
You can then email your comments to 70396 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 13:37:08 GMT) Full text and rfc822 format available.Steven Allen <steven <at> stebalien.com>
:bug-gnu-emacs <at> gnu.org
.
(Mon, 15 Apr 2024 13:37:08 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 08:35:23 -0500
When formatting a specific rust file with with `eglot-format-buffer` (rust-analyzer LSP), I'm getting: * Track changes errors (below). * An `args-out-of-range` error in `replace-buffer-contents`. To reproduce: 1. Checkout `https://github.com/Stebalien/xattr/`. I can try for a minimal reproducer if necessary. 2. Install rust-analyzer. 2. Run `emacs -Q` 3. `M-x find-file "src/sys/linux_macos.rs"` (https://github.com/Stebalien/xattr/blob/master/src/sys/linux_macos.rs). 4. `M-x rust-ts-mode` 5. `M-x eglot` 6. `M-x eglot-format-buffer` ((#1="linux_macos.rs" ((t track-changes--recover-from-error nil nil) (t track-changes--after (1 1 1) nil) (t delete-backward-char (1 nil) nil) (t funcall-interactively (delete-backward-char 1 nil) nil) (t command-execute (delete-backward-char) nil)) [#2= (down-mouse-1 (#<window 3 on *Warnings*> 148 (202 . 279) 3984902 nil 148 (16 . 3) nil (202 . 201) (12 . 26))) #3=(nil . mouse-drag-region) #4= (mouse-1 (#<window 3 on *Warnings*> 148 (202 . 279) 3985082 nil 148 (16 . 3) nil (202 . 201) (12 . 26))) #5=(nil . mouse-set-point) 134217848 #6= (nil . execute-extended-command) 102 #7= (nil . self-insert-command) 105 #8=(nil . self-insert-command) 110 #9=(nil . self-insert-command) 100 #10= (nil . self-insert-command) 45 #11=(nil . self-insert-command) 102 #12=(nil . self-insert-command) 105 #13= (nil . self-insert-command) tab #14=(nil . minibuffer-complete) return #15=(nil . minibuffer-complete-and-exit) 108 #16= (nil . self-insert-command) 105 #17=(nil . self-insert-command) 110 #18=(nil . self-insert-command) tab #19= (nil . minibuffer-complete) return #20= (nil . minibuffer-complete-and-exit) 134217848 #21= (nil . execute-extended-command) 101 #22= (nil . self-insert-command) 103 #23=(nil . self-insert-command) 108 #24=(nil . self-insert-command) tab #25= (nil . minibuffer-complete) 45 #26=(nil . self-insert-command) 101 #27=(nil . self-insert-command) tab #28= (nil . minibuffer-complete) backspace #29= (nil . delete-backward-char) backspace #30= (nil . delete-backward-char) backspace #31= (nil . delete-backward-char) backspace #32= (nil . delete-backward-char) backspace #33= (nil . delete-backward-char) backspace #34= (nil . delete-backward-char) backspace #35= (nil . delete-backward-char) backspace #36= (nil . delete-backward-char) backspace #37= (nil . delete-backward-char) backspace #38= (nil . delete-backward-char) backspace #39= (nil . delete-backward-char) backspace #40= (nil . delete-backward-char) backspace #41= (nil . delete-backward-char) backspace #42= (nil . delete-backward-char) return #43= (nil . minibuffer-complete-and-exit) 7 #44= (nil . abort-minibuffers) 134217848 #45= (nil . execute-extended-command) 114 #46= (nil . self-insert-command) 117 #47=(nil . self-insert-command) 115 #48=(nil . self-insert-command) 116 #49= (nil . self-insert-command) 45 #50=(nil . self-insert-command) tab #51=(nil . minibuffer-complete) return #52= (nil . minibuffer-complete-and-exit) 134217848 #53= (nil . execute-extended-command) 101 #54= (nil . self-insert-command) 103 #55=(nil . self-insert-command) 108 #56=(nil . self-insert-command) 111 #57= (nil . self-insert-command) tab #58=(nil . minibuffer-complete) return #59=(nil . minibuffer-complete-and-exit) 106 #60= (nil . self-insert-command) 106 #61=(nil . self-insert-command) 106 #62=(nil . self-insert-command) 106 #63= (nil . self-insert-command) 106 #64=(nil . self-insert-command) 106 #65=(nil . self-insert-command) 106 #66= (nil . self-insert-command) 106 #67=(nil . self-insert-command) 106 #68=(nil . self-insert-command) 106 #69= (nil . self-insert-command) 106 #70=(nil . self-insert-command) 106 #71=(nil . self-insert-command) 106 #72= (nil . self-insert-command) 106 #73=(nil . self-insert-command) 106 #74=(nil . self-insert-command) backspace #75= (nil . delete-backward-char) backspace #76= (nil . delete-backward-char) backspace #77= (nil . delete-backward-char) backspace #78= (nil . delete-backward-char) backspace #79= (nil . delete-backward-char) backspace #80= (nil . delete-backward-char) backspace #81= (nil . delete-backward-char) backspace #82= (nil . delete-backward-char) backspace #83= (nil . delete-backward-char) backspace #84= (nil . delete-backward-char) backspace #85= (nil . delete-backward-char) backspace #86= (nil . delete-backward-char) backspace #87= (nil . delete-backward-char) backspace #88= (nil . delete-backward-char) backspace #89= (nil . delete-backward-char) 134217848 #90= (nil . execute-extended-command) 102 #91= (nil . self-insert-command) 111 #92=(nil . self-insert-command) 114 #93=(nil . self-insert-command) 109 #94= (nil . self-insert-command) 97 #95=(nil . self-insert-command) 116 #96=(nil . self-insert-command) 45 #97= (nil . self-insert-command) 98 #98=(nil . self-insert-command) 117 #99=(nil . self-insert-command) 102 #100= (nil . self-insert-command) tab #101=(nil . minibuffer-complete) 120 #102=(nil . self-insert-command) backspace #103= (nil . delete-backward-char) tab #104= (nil . minibuffer-complete) 5 #105=(nil . move-end-of-line) backspace #106=(nil . delete-backward-char) backspace #107= (nil . delete-backward-char) backspace #108= (nil . delete-backward-char) backspace #109= (nil . delete-backward-char) backspace #110= (nil . delete-backward-char) backspace #111= (nil . delete-backward-char) backspace #112= (nil . delete-backward-char) backspace #113= (nil . delete-backward-char) backspace #114= (nil . delete-backward-char) backspace #115= (nil . delete-backward-char) backspace #116= (nil . delete-backward-char) backspace #117= (nil . delete-backward-char) backspace #118= (nil . delete-backward-char) backspace #119= (nil . delete-backward-char) backspace #120= (nil . delete-backward-char) backspace #121= (nil . delete-backward-char) backspace #122= (nil . delete-backward-char) backspace #123= (nil . delete-backward-char) 101 #124= (nil . self-insert-command) 103 #125=(nil . self-insert-command) 108 #126=(nil . self-insert-command) 111 #127= (nil . self-insert-command) 116 #128=(nil . self-insert-command) 45 #129=(nil . self-insert-command) 102 #130= (nil . self-insert-command) 111 #131=(nil . self-insert-command) 114 #132=(nil . self-insert-command) tab #133= (nil . minibuffer-complete) tab #134=(nil . minibuffer-complete) tab #135=(nil . minibuffer-complete) 109 #136= (nil . self-insert-command) 97 #137=(nil . self-insert-command) 116 #138=(nil . self-insert-command) 45 #139= (nil . self-insert-command) tab #140=(nil . minibuffer-complete) return #141=(nil . minibuffer-complete-and-exit) 106 #142= (nil . self-insert-command) 106 #143=(nil . self-insert-command) 106 #144=(nil . self-insert-command) 106 #145= (nil . self-insert-command) 106 #146=(nil . self-insert-command) 106 #147=(nil . self-insert-command) backspace #148= (nil . delete-backward-char) backspace #149= (nil . delete-backward-char) backspace #150= (nil . delete-backward-char) backspace #151= (nil . delete-backward-char) backspace #152= (nil . delete-backward-char) backspace (nil . delete-backward-char)]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes--after (2 2 1) nil) (t delete-backward-char (1 nil) nil) (t funcall-interactively (delete-backward-char 1 nil) nil) (t command-execute (delete-backward-char) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143# 106 #144# 106 #145# 106 #146# 106 #147# backspace #148# backspace #149# backspace #150# backspace #151# backspace #152#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes--after (3 3 1) nil) (t delete-backward-char (1 nil) nil) (t funcall-interactively (delete-backward-char 1 nil) nil) (t command-execute (delete-backward-char) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143# 106 #144# 106 #145# 106 #146# 106 #147# backspace #148# backspace #149# backspace #150# backspace #151#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes--after (4 4 1) nil) (t delete-backward-char (1 nil) nil) (t funcall-interactively (delete-backward-char 1 nil) nil) (t command-execute (delete-backward-char) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143# 106 #144# 106 #145# 106 #146# 106 #147# backspace #148# backspace #149# backspace #150#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes--after (5 5 1) nil) (t delete-backward-char (1 nil) nil) (t funcall-interactively (delete-backward-char 1 nil) nil) (t command-execute (delete-backward-char) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143# 106 #144# 106 #145# 106 #146# 106 #147# backspace #148# backspace #149#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes--after (6 6 1) nil) (t delete-backward-char (1 nil) nil) (t funcall-interactively (delete-backward-char 1 nil) nil) (t command-execute (delete-backward-char) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143# 106 #144# 106 #145# 106 #146# 106 #147# backspace #148#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes-fetch (#153= #s(track-changes--tracker :signal eglot--track-changes-signal :state #s(track-changes--state :beg 3969 :end 1 :before nil :next nil) :nobefore nil :immediate nil) #f(compiled-function (beg end before) #<bytecode 0x10e235d56586>)) nil) (t eglot--track-changes-fetch (#153#) nil) (t eglot--signal-textDocument/didChange nil nil) (t run-hooks (eglot--document-changed-hook) nil) (t #154=#f(compiled-function () #<bytecode -0x2804b3cee14c5fc>) nil nil) (t apply (#154# nil) nil) (t timer-event-handler ([t 0 0 500000 nil #154# nil idle 0 nil]) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143# 106 #144# 106 #145# 106 #146# 106 #147#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes-fetch (#153# #f(compiled-function (beg end before) #<bytecode 0x10e235d56586>)) nil) (t eglot--track-changes-fetch (#153#) nil) (t eglot--track-changes-signal (#153# 3815) nil) (t track-changes--before (2 3) nil) (t track-changes--after (2 3 0) nil) (t self-insert-command (1 106) nil) (t funcall-interactively (self-insert-command 1 106) nil) (t command-execute (self-insert-command) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142# 106 #143#]) (#1# ((t track-changes--recover-from-error nil nil) (t track-changes--after (1 2 0) nil) (t self-insert-command (1 106) nil) (t funcall-interactively (self-insert-command 1 106) nil) (t command-execute (self-insert-command) nil)) [#2# #3# #4# #5# 134217848 #6# 102 #7# 105 #8# 110 #9# 100 #10# 45 #11# 102 #12# 105 #13# tab #14# return #15# 108 #16# 105 #17# 110 #18# tab #19# return #20# 134217848 #21# 101 #22# 103 #23# 108 #24# tab #25# 45 #26# 101 #27# tab #28# backspace #29# backspace #30# backspace #31# backspace #32# backspace #33# backspace #34# backspace #35# backspace #36# backspace #37# backspace #38# backspace #39# backspace #40# backspace #41# backspace #42# return #43# 7 #44# 134217848 #45# 114 #46# 117 #47# 115 #48# 116 #49# 45 #50# tab #51# return #52# 134217848 #53# 101 #54# 103 #55# 108 #56# 111 #57# tab #58# return #59# 106 #60# 106 #61# 106 #62# 106 #63# 106 #64# 106 #65# 106 #66# 106 #67# 106 #68# 106 #69# 106 #70# 106 #71# 106 #72# 106 #73# 106 #74# backspace #75# backspace #76# backspace #77# backspace #78# backspace #79# backspace #80# backspace #81# backspace #82# backspace #83# backspace #84# backspace #85# backspace #86# backspace #87# backspace #88# backspace #89# 134217848 #90# 102 #91# 111 #92# 114 #93# 109 #94# 97 #95# 116 #96# 45 #97# 98 #98# 117 #99# 102 #100# tab #101# 120 #102# backspace #103# tab #104# 5 #105# backspace #106# backspace #107# backspace #108# backspace #109# backspace #110# backspace #111# backspace #112# backspace #113# backspace #114# backspace #115# backspace #116# backspace #117# backspace #118# backspace #119# backspace #120# backspace #121# backspace #122# backspace #123# 101 #124# 103 #125# 108 #126# 111 #127# 116 #128# 45 #129# 102 #130# 111 #131# 114 #132# tab #133# tab #134# tab #135# 109 #136# 97 #137# 116 #138# 45 #139# tab #140# return #141# 106 #142#])) In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.18.0) of 2024-04-14 built on Laptop Repository revision: 3d3602055264ca3095b7f28ca7e27a6f2782649a Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-m17n-flt --without-selinux --without-pop --without-gconf --enable-link-time-optimization --with-native-compilation=yes --with-xinput2 --with-x-toolkit=no --without-toolkit-scroll-bars --without-xft --without-xaw3d --with-cairo-xcb --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -Wl,-z,noexecstack -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Rust Minor modes in effect: eglot-inlay-hints-mode: t eglot--managed-mode: t flymake-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rust-ts-mode rx c-ts-common treesit shell pcomplete cl-extra eglot external-completion jsonrpc xref flymake thingatpt project diff ert pp ewoc debug backtrace help-mode find-func filenotify warnings compile text-property-search comint ansi-osc ansi-color ring pcase url-util url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json map byte-opt gv bytecomp byte-compile url-vars imenu vc-git diff-mode track-changes easy-mmode vc-dispatcher time-date subr-x 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 system-font-setting font-render-setting cairo xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 129374 9610) (symbols 48 11382 0) (strings 32 32936 3210) (string-bytes 1 1071331) (vectors 16 20476) (vector-slots 8 251373 8274) (floats 8 74 289) (intervals 56 767 0) (buffers 992 18))
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 13:56:12 GMT) Full text and rfc822 format available.Message #8 received at 70396 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: 70396 <at> debbugs.gnu.org Subject: Re: bug#70396: Acknowledgement (30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors) Date: Mon, 15 Apr 2024 08:54:37 -0500
One additional detail I forgot to mention: repeatedly calling `eglot-format-buffer` starts to corrupt the text the end of the buffer (but rust-analyzer may be to blame for that one).
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 13:58:06 GMT) Full text and rfc822 format available.Message #11 received at 70396 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Steven Allen <steven <at> stebalien.com>, Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 70396 <at> debbugs.gnu.org Subject: Re: bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 16:57:11 +0300
> Date: Mon, 15 Apr 2024 08:35:23 -0500 > From: Steven Allen via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> > > > When formatting a specific rust file with with `eglot-format-buffer` > (rust-analyzer LSP), I'm getting: > > * Track changes errors (below). > * An `args-out-of-range` error in `replace-buffer-contents`. > > To reproduce: > > 1. Checkout `https://github.com/Stebalien/xattr/`. I can try for a > minimal reproducer if necessary. > 2. Install rust-analyzer. > 2. Run `emacs -Q` > 3. `M-x find-file "src/sys/linux_macos.rs"` > (https://github.com/Stebalien/xattr/blob/master/src/sys/linux_macos.rs). > 4. `M-x rust-ts-mode` > 5. `M-x eglot` > 6. `M-x eglot-format-buffer` Adding Stefan, as I think this might be related to the recent track-changes changes.
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 14:08:11 GMT) Full text and rfc822 format available.Message #14 received at 70396 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Steven Allen <steven <at> stebalien.com> Cc: 70396 <at> debbugs.gnu.org Subject: Re: bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 10:07:07 -0400
> When formatting a specific rust file with with `eglot-format-buffer` > (rust-analyzer LSP), I'm getting: > > * Track changes errors (below). > * An `args-out-of-range` error in `replace-buffer-contents`. > > To reproduce: > > 1. Checkout `https://github.com/Stebalien/xattr/`. I can try for a > minimal reproducer if necessary. > 2. Install rust-analyzer. > 2. Run `emacs -Q` > 3. `M-x find-file "src/sys/linux_macos.rs"` > (https://github.com/Stebalien/xattr/blob/master/src/sys/linux_macos.rs). > 4. `M-x rust-ts-mode` > 5. `M-x eglot` > 6. `M-x eglot-format-buffer` Thanks for the nice bug report. Will look into it ASAP, Stefan
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 14:18:03 GMT) Full text and rfc822 format available.Message #17 received at 70396 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 70396 <at> debbugs.gnu.org Subject: Re: bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 09:16:39 -0500
Thanks!
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 20:02:03 GMT) Full text and rfc822 format available.Message #20 received at 70396 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Steven Allen <steven <at> stebalien.com> Cc: 70396 <at> debbugs.gnu.org Subject: Re: bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 16:01:21 -0400
>> * Track changes errors (below). >> * An `args-out-of-range` error in `replace-buffer-contents`. >> >> To reproduce: >> >> 1. Checkout `https://github.com/Stebalien/xattr/`. I can try for a >> minimal reproducer if necessary. >> 2. Install rust-analyzer. >> 2. Run `emacs -Q` >> 3. `M-x find-file "src/sys/linux_macos.rs"` >> (https://github.com/Stebalien/xattr/blob/master/src/sys/linux_macos.rs). >> 4. `M-x rust-ts-mode` >> 5. `M-x eglot` >> 6. `M-x eglot-format-buffer` I could reproduce this in a C mode buffer (and hence save me the trouble of installing more tools). I pushed the patch below to `master` which should fix the problem. Can you confirm it's fixed in your side as well? Stefan diff --git a/lisp/emacs-lisp/track-changes.el b/lisp/emacs-lisp/track-changes.el index 1bab7ca38fd..df4aad0d596 100644 --- a/lisp/emacs-lisp/track-changes.el +++ b/lisp/emacs-lisp/track-changes.el @@ -481,12 +481,12 @@ (funcall signal-if-disjoint end track-changes--before-beg) (funcall signal-if-disjoint track-changes--before-end beg))) (funcall reset)) - (cl-assert (save-restriction + (save-restriction (widen) - (<= (point-min) + (cl-assert (<= (point-min) track-changes--before-beg track-changes--before-end - (point-max)))) + (point-max))) (when (< beg track-changes--before-beg) (if (and track-changes--disjoint-trackers (funcall signal-if-disjoint end track-changes--before-beg)) @@ -517,6 +517,6 @@ (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))))))))) (defun track-changes--after (beg end len) (cl-assert track-changes--state)
bug-gnu-emacs <at> gnu.org
:bug#70396
; Package emacs
.
(Mon, 15 Apr 2024 20:32:03 GMT) Full text and rfc822 format available.Message #23 received at 70396 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 70396 <at> debbugs.gnu.org Subject: Re: bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 15:30:46 -0500
> I could reproduce this in a C mode buffer (and hence save me the > trouble of installing more tools). > I pushed the patch below to `master` which should fix the problem. > Can you confirm it's fixed in your side as well? Master works for me. Thanks for the quick fix! - Steven
Stefan Monnier <monnier <at> iro.umontreal.ca>
:Steven Allen <steven <at> stebalien.com>
:Message #28 received at 70396-done <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Steven Allen <steven <at> stebalien.com> Cc: 70396-done <at> debbugs.gnu.org Subject: Re: bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Date: Mon, 15 Apr 2024 17:49:54 -0400
>> I could reproduce this in a C mode buffer (and hence save me the >> trouble of installing more tools). >> I pushed the patch below to `master` which should fix the problem. >> Can you confirm it's fixed in your side as well? > Master works for me. Thanks, closing. > Thanks for the quick fix! My pleasure, Stefan
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Tue, 14 May 2024 11:24:08 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.