Subject: Re: bug#69952: [PATCH] Support pdumping compiled queries by dumping their source

From: Eli Zaretskii <[email-masked]>
Date: Sun, 21 Apr 2024 07:53:46 +0300

> From: Yuan Fu <[email-masked]>
> Date: Sat, 20 Apr 2024 15:50:36 -0700
> Cc: Daniel Colascione <[email-masked]>,
>  [email-masked],
>  [email-masked]
> 
> >>> On Apr 13, 2024, at 12:41 AM, Eli Zaretskii <[email-masked]> wrote:
> >>>> 
> >>>> And I have a question: what happens if the pdumper file dumped with
> >>>> tree-sitter available is loaded by an Emacs session in which
> >>>> tree-sitter is not available?  That can happen on Windows, for
> >>>> example, if the tree-sitter library or the grammar library required
> >>>> for recomputing the query is not available.  I think we need some code
> >>>> to prevent Emacs from crashing on startup in that case.
> >> 
> >> Yeah, being able to dump queries is certainly nice. There will be problems if the Emacs session that later loads the query either have a different grammar version loaded, or a difference grammar library for the same language, or outright doesn’t have tree-sitter like Eli mentioned. I don’t know if they are big enough problems to give up dumping queries, though.
> > 
> > Giving up: no.  But I think the code which loads the queries from the
> > pdumper file should be protected from crashing in those cases.  Can
> > you suggest how to do that?
> 
> Would Emacs crash? If the dump file just contains the query (which is a string), then Emacs would just compile the query with treesit-query-compile, it could fail (due to the reasons I mentioned), but shouldn’t crash Emacs.

Can Emacs compile a query if the tree-sitter shared library and/or the
grammar library is not available?