[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#69952: [PATCH] Support pdumping compiled queries by dumping their so
From: |
Eli Zaretskii |
Subject: |
bug#69952: [PATCH] Support pdumping compiled queries by dumping their source |
Date: |
Mon, 22 Apr 2024 08:47:31 +0300 |
> From: Yuan Fu <casouri@gmail.com>
> Date: Sun, 21 Apr 2024 16:41:54 -0700
> Cc: Daniel Colascione <dancol@dancol.org>,
> serg.foo@gmail.com,
> 69952@debbugs.gnu.org
>
>
>
> > On Apr 20, 2024, at 9:53 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> >> From: Yuan Fu <casouri@gmail.com>
> >> Date: Sat, 20 Apr 2024 15:50:36 -0700
> >> Cc: Daniel Colascione <dancol@dancol.org>,
> >> serg.foo@gmail.com,
> >> 69952@debbugs.gnu.org
> >>
> >>>>> On Apr 13, 2024, at 12:41 AM, Eli Zaretskii <eliz@gnu.org> 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?
>
> No. You need both tree-sitter library and the grammar library.
That's what I thought. So starting Emacs in that case will attempt to
call a function from the tree-sitter library, and will segfault,
right? If so, we should have some protection in the code in
pdumper.c that loads queries, which tests that tree-sitter is
availabale, and if not does something to prevent the segfault, like
not loading the query, perhaps?
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Eli Zaretskii, 2024/04/13
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Yuan Fu, 2024/04/20
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Eli Zaretskii, 2024/04/20
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Yuan Fu, 2024/04/20
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Eli Zaretskii, 2024/04/21
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Yuan Fu, 2024/04/21
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source,
Eli Zaretskii <=
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Yuan Fu, 2024/04/22
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Eli Zaretskii, 2024/04/22
- bug#69952: [PATCH] Support pdumping compiled queries by dumping their source, Yuan Fu, 2024/04/22