OK I just find the java-ts-mode and treesit.el is not from `straight'... So the start script now only load `outli'. I tried clone `outli' into `~/src/outli', and it works fine, while the straight build version is not. I diffed the `~/.emacs.d/straight/build/outli/outli.el' with `~/src/outli/outli.el' and found that they are same. But there is a file `outli-autoloads.el' in `~/.emacs.d/straight/build/outli', which be generated by `straight'. This file contains: ```elisp (autoload 'outli-mode "outli" "\ Simple outline mode interaction based on comment-headings. This is a minor mode. If called interactively, toggle the `Outli mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate the variable `outli-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. \\{outli-mode-map} (fn &optional ARG)" t) (register-definition-prefixes "outli" '("outli-")) ``` I commented the line `(register-definition-prefixes "outli" '("outli-"))', and load `~/.emacs.d/straight/build/outli/outli.el', and the `revert-buffer' works. 在 2024/11/20 15:15, Juri Linkov 写道: >> I'm using `straight' so I start the emacs as >> >> ```sh >> >> /Applications/Emacs.app/Contents/MacOS/Emacs -q --eval "(progn >>           (add-to-list 'load-path >> \"~/.emacs.d/straight/build/java-ts-mode\") > Where do you get straight's version of java-ts-mode? > > Does it differ from lisp/progmodes/java-ts-mode.el > provided by Emacs core? > > Do you use treesit.el from `straight' too? > >>           (add-to-list 'load-path \"~/.emacs.d/straight/build/outli\") >>           (require 'java-ts-mode) >>           (require 'outli))" >> >> ``` >> >> The file I tried is >> >> ```java >> >> public class Test { >>     public static void main(String[] args) { >> >>     } >> } >> >> ``` >> >> You might need to enable the outli-mode in the java file manually. > I tried this with lisp/progmodes/java-ts-mode.el, > and can't reproduce the bug. > >> It seems this bug only appears in gui emacs. The `revert-buffer' works >> fine in tui. > Very strange, there should be no difference between gui and tui.