* bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors
@ 2024-04-15 13:35 Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <handler.70396.B.17131881964616.ack@debbugs.gnu.org>
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-15 13:35 UTC (permalink / raw)
To: 70396
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`
\f
((#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#]))
\f
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))
^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <handler.70396.B.17131881964616.ack@debbugs.gnu.org>]
* bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors
2024-04-15 13:35 bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <handler.70396.B.17131881964616.ack@debbugs.gnu.org>
@ 2024-04-15 13:57 ` Eli Zaretskii
2024-04-15 14:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2024-04-15 13:57 UTC (permalink / raw)
To: Steven Allen, Stefan Monnier; +Cc: 70396
> 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@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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors
2024-04-15 13:35 bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <handler.70396.B.17131881964616.ack@debbugs.gnu.org>
2024-04-15 13:57 ` bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Eli Zaretskii
@ 2024-04-15 14:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 14:16 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2 siblings, 2 replies; 8+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-15 14:07 UTC (permalink / raw)
To: Steven Allen; +Cc: 70396
> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors
2024-04-15 14:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-15 14:16 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 8+ messages in thread
From: Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-15 14:16 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 70396
Thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors
2024-04-15 14:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 14:16 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-15 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 20:30 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 8+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-15 20:01 UTC (permalink / raw)
To: Steven Allen; +Cc: 70396
>> * 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)
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-04-15 21:49 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-15 13:35 bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <handler.70396.B.17131881964616.ack@debbugs.gnu.org>
2024-04-15 13:54 ` bug#70396: Acknowledgement (30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors) Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 13:57 ` bug#70396: 30.0.50; Eglot, rust-analyzer buffer formatting, and track changes errors Eli Zaretskii
2024-04-15 14:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 14:16 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 20:30 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 21:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.