bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#70438: Emacs error 6 abort when starting rust-ts-mode


From: Yuan Fu
Subject: bug#70438: Emacs error 6 abort when starting rust-ts-mode
Date: Fri, 26 Apr 2024 10:58:20 -0700


> On Apr 26, 2024, at 10:21 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Fri, 26 Apr 2024 09:49:01 -0700
>> Cc: Stefan Heitmann <sh@bytekomplex.de>,
>> 70438@debbugs.gnu.org
>> 
>> In the GitHub issue that tracks this incident, the author made clear that 
>> maintaining ABI versioning correctly is beyond their ability right now. So I 
>> think we should pin the tree-sitter version. But then IIUC we can only bump 
>> tree-sitter version with each Emacs release? This is a bit unfortunate but 
>> better than crashing Emacs.
> 
> We cannot pin a tree-sitter version, because that makes sense only for
> binary distributions.  We ship only source tarballs, and for those,
> _any_ tree-sitter version will do -- provided that Emacs is built with
> the same version of tree-sitter with which it will be used, or with
> the version that uses the same ABI.
> 
> We could perhaps record the version with which Emacs was built, and
> then reject incompatible versions we find at run time, but since
> tree-sitter doesn't provide any version-related symbols in their
> header files, we cannot do even that.
> 
> So the bottom line is still the same: we cannot do anything here, as
> long as the tree-sitter developers think they can break the ABI at
> will.

Can we statically link tree-sitter? From the look of it, tree-sitter devs don’t 
plan to not break ABI. We need to do something to prevent Emacs from crashing.

>> This also brings me to the versioning of tree-sitter grammars—they really do 
>> change often, we should really consider pinning their version in some way. 
>> The current catch-up game we play can’t be scalable.
> 
> That's a separate issue: when there's incompatibility with grammar
> libraries, Emacs doesn't crash.

I can open a separate thread for this.

Yuan




reply via email to

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