emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Questions about tree-sitter


From: Madhu
Subject: Re: Questions about tree-sitter
Date: Mon, 27 Nov 2023 12:46:40 +0530 (IST)

*  Eli Zaretskii  <83zg26b1nz.fsf @gnu.org>
Wrote on Fri, 01 Sep 2023 13:58:24 +0300
>> Date: Fri, 01 Sep 2023 14:45:31 +0530 (IST)
>> Cc: emacs-devel@gnu.org
>> From: Madhu <enometh @meer.net>
>> *  Eli Zaretskii <834jkecrl1.fsf @gnu.org>
>> Wrote on Fri, 01 Sep 2023 09:53:14 +0300
>> >> From: Madhu <enometh @meer.net>
>> >> Date: Fri, 01 Sep 2023 08:09:27 +0530
>> >> * Yuan Fu <C3EFD02D-F02F-4BE8-A6F4-A2506A9EFC90 @gmail.com> :
>> >> Wrote on Wed, 30 Aug 2023 00:03:03 -0700:
>> >> >> On Aug 29, 2023, at 2:26 PM, Augustin Chéneau (BTuin) <btuin 
>> >> >> @mailo.com> wrote:
>> >> >> 1. Is there a way to reload a grammar?  Emacs is pretty nice
>> >> >> as a playground for testing grammars, but once a grammar is
>> >> >> loaded, it won't be loaded again until Emacs restarts (as far
>> >> >> as I know).  Is it possible to reload a grammar after
>> >> >> modifying it?
>> >> >
>> >> > No, and it’s probably not easy to implement either, since unloading
>> >> > the grammar would require Emacs to purge/invalid all the
>> >> > node/query/parsers using that grammar.

I ran into this, when a "wrong" tressitter dll got loaded, and had an
undefined symbol.  In this situation there is no invalid state to
purge, and all I needed was a way to call dlclose from Elisp. The
shared library loading and unloading mechanism could have been exposed
to the user, in the spirit of the lisp machine.

[There may be an argument of not letting the user shoot himself in the
foot but in context it would not apply, but the security argument only
covers a locking down on freedoms of the user -- retaining control
with developers that consolidates power in a particular direction]

> It is not a change, no.  See above: we already use quite a few of
> libraries for specific jobs related to important Emacs
> functionalities.  For example, good support for sophisticated text
> display and shaping features is unimaginable without HarfBuzz, and
> some scripts cannot even be displayed in a reasonably legible way
> without it.

[But there is a fundamental sense in which the use of treesitter
modules ( "plugins" which are designed to be loaded and unloaded) that
different from the base library examples you give, which I hope you
can appreciate.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]