Subject: Re: bug#60880: 30.0.50; tree-sitter `treesit-explore-mode' is buggy and does not behave properly

From: Yuan Fu <[email-masked]>
Date: Thu, 19 Jan 2023 14:30:46 -0800

Mickey Petersen <[email-masked]> writes:

> A medley of issues here:
>
> 1. Executing `treesit-explore-mode' on a buffer with no valid grammar
> support causes the minor mode (and playground buffer) to stick around and "load" anyway.
>
> 2. Bailing out of the grammar prompt does not, in actual fact, stop
> explore mode from proceeding. Instead it creates an empty buffer and
> it still engages the minor mode.
>
> 3. Killing the playground buffer does not remove the explore mode buffer.
>
> 4. treesit-explore-mode is stored against a buffer during
> `desktop-save' (and subsequently read with) `desktop-read'. Thus
> broken buffers or files inherit the explore mode. This is especially
> pernicious due to #1, #2, and #3.

Ok, I fixed those problems. Now if the language is not available,
treesit-explore-mode raises an error instead of continuing, desktop-save
will not save the explorer buffer, and killing the source buffer also
kills the explorer buffer.

Invalid language doesn’t stop treesit-explore-mode from turning on, even
if it doesn’t create buffers, etc, since I think this is how minor modes
usually behave.

Yuan