Subject: Re: bug#74412: 31.0.50; Treesit-outline conflict with outli in Emacs 31

From: Taka Obsid <[email-masked]>
Date: Tue, 19 Nov 2024 09:47:34 +0800

Yes, I have reported it in https://github.com/jdtsmith/outli/issues/17 
and the developer
recommended me to file this bug report. This is what he said:

 > This seems to be a new conflict with Emacs 31, and potentially a 
problem with |treesit-outline|.
 > Can you please file an Emacs bug report and link it here?

在 2024/11/18 20:29, Eli Zaretskii 写道:
>> Date: Mon, 18 Nov 2024 10:59:00 +0800
>> From: Taka Obsid<[email-masked]>
>>
>> Hi, I'm using `java-ts-mode' andhttps://github.com/jdtsmith/outli.
>>
>> While I tried to `revert-buffer' in a java file, it reports
>> `outline-map-region: Wrong type argument: number-or-marker-p, nil'.
>>
>> The backtrace is:
>>
>> ```bt
>> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
>> #f(compiled-function () #<bytecode -0x1964e0de811a96ab>)()
>> outline-map-region(#f(compiled-function () #<bytecode
>> -0x1964e0de811a96ab>) 1 31382)
>> outline--hidden-headings-paths()
>> outline-revert-buffer-restore-visibility()
>> #f(compiled-function (f) #<bytecode
>> 0x6badcbe8273644b>)(outline-revert-buffer-restore-visibility)
>> run-hook-wrapped(#f(compiled-function (f) #<bytecode 0x6badcbe8273644b>)
>> outline-revert-buffer-restore-visibility)
>> revert-buffer(t)
>> funcall-interactively(revert-buffer t)
>> call-interactively(revert-buffer record nil)
>> command-execute(revert-buffer record)
>> execute-extended-command(nil "revert-buffer" "rev")
>> funcall-interactively(execute-extended-command nil "revert-buffer" "rev")
>> call-interactively(execute-extended-command nil nil)
>> command-execute(execute-extended-command)
>> ```
>>
>> To repreduce it:
>>
>> 1. start Emacs with `java-ts-mode' and `outli' installed;
>>
>> 2. go to a java file;
>>
>> 3. `M-x outli-mode';
>>
>> 4. `M-x revert-buffer'.
>>
>> The `outline-search-function' is `#'treesit-outline-search' and while I
>> set it to `nil', I can successfully revert the buffer.
>>
>>
>> ```
>> emacs -q --eval "(progn
>> (add-to-list 'load-path \"/path/to/java-ts-mode/\")
>> (add-to-list 'load-path \"/path/to/outli/\")
>> (require 'java-ts-mode)
>> (require 'outli))"
>> ```
> Thanks, this seems to be a problem in the outli package?  Because the
> error is signaled by one of its functions (a hook it places on
> revert-buffer-function, I guess?).
>
> Did you report this to the developer of outli?  If not, I suggest to
> report it there first.