Subject: bug#58979: treesitter-regression with json-mode

From: Yuan Fu <[email-masked]>
Date: Mon, 21 Nov 2022 23:44:10 -0800

Stefan Kangas <[email-masked]> writes:

> Johann Höchtl <[email-masked]> writes:
>
>> When I open a large json file (about 3_000_000 lines, about 72Mb,
>> pretty-printed) Emacs 29.0.50 opens the file just fine in
>> `js-json-mode` and when using regexp-based font locking, it works
>> well.
>>
>> When I force this buffer into javascript-mode, Emacs hangs. Memory
>> consumption as reported by Windows task manager "dances" around 2Gb,
>> yet even after waiting for three minutes, Emacs doesn't get responsive
>> any more.
>>
>> I consider this an unfortunately regression as recent commits to Emacs
>> 29 (long lines patches) actually makes working with such large files
>> with long lines absolutely pleasant, yet as it seems the interaction
>> with tree-sitter destroys this gains.
>
> Copying in Yuan Fu.

Again, sorry for the delay, I just saw this report :-)

Since your previous report is actually about emacs-tree-sitter, I think
this one is too?

Anyway, since tree-sitter is merged into master now, if you rebuild
master and turn on json-ts-mode, you should be in tree-sitter backed
JSON mode. I’d give that a try and see if works fine.

Thanks,
Yuan