From: Eli Zaretskii <eliz@gnu.org>
To: Yuan Fu <casouri@gmail.com>
Cc: serg.foo@gmail.com, dancol@dancol.org, 69952@debbugs.gnu.org
Subject: bug#69952: [PATCH] Support pdumping compiled queries by dumping their source
Date: Mon, 22 Apr 2024 08:47:31 +0300 [thread overview]
Message-ID: <86eday6j9o.fsf@gnu.org> (raw)
In-Reply-To: <B00CF6F5-8A3B-4EE4-BC89-9890BADB8F62@gmail.com> (message from Yuan Fu on Sun, 21 Apr 2024 16:41:54 -0700)
> 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?
next prev parent reply other threads:[~2024-04-22 5:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-23 3:27 bug#69952: [PATCH] Support pdumping compiled queries by dumping their source Sergey Vinokurov
2024-03-23 7:08 ` Eli Zaretskii
2024-03-23 12:53 ` Sergey Vinokurov
2024-03-23 13:09 ` Eli Zaretskii
2024-04-13 7:41 ` Eli Zaretskii
2024-04-20 8:08 ` Yuan Fu
2024-04-20 9:32 ` Eli Zaretskii
2024-04-20 22:50 ` Yuan Fu
2024-04-21 4:53 ` Eli Zaretskii
2024-04-21 23:41 ` Yuan Fu
2024-04-22 5:47 ` Eli Zaretskii [this message]
2024-04-22 6:04 ` Yuan Fu
2024-04-22 6:18 ` Eli Zaretskii
2024-04-22 6:25 ` Yuan Fu
2024-05-04 9:39 ` Eli Zaretskii
2024-05-04 21:29 ` Yuan Fu
2024-05-18 8:38 ` Eli Zaretskii
2024-05-22 6:36 ` Yuan Fu
2024-05-22 12:55 ` Eli Zaretskii
2024-05-29 16:35 ` Andrea Corallo
2024-06-01 17:07 ` Yuan Fu
2024-06-15 7:59 ` Eli Zaretskii
2024-06-19 6:25 ` Yuan Fu
2024-07-06 7:24 ` Eli Zaretskii
2024-07-20 9:43 ` Eli Zaretskii
2024-07-20 21:06 ` Yuan Fu
2024-07-21 4:30 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86eday6j9o.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=69952@debbugs.gnu.org \
--cc=casouri@gmail.com \
--cc=dancol@dancol.org \
--cc=serg.foo@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).