Subject: bug#70059: 30.0.50; c-ts-mode crashes emacs

From: Eli Zaretskii <[email-masked]>
Date: Sun, 31 Mar 2024 10:43:48 +0300

> From: Yuan Fu <[email-masked]>
> Date: Sat, 30 Mar 2024 22:52:55 -0700
> Cc: Felix <[email-masked]>,
>  [email-masked]
> 
> It’s a bit strange since Ftreesit_pattern_expand doesn’t call tree-sitter function. This function just expands a sexp query like '(function_definition @capture) to a string “(function_definition @capture)”. 

I'm not sure I follow: the backtrace shows that
Ftreesit_pattern_expand called Fmapconcat, and I do see a call to
Fmapconcat in Ftreesit_pattern_expand.  So what did you mean by
"Ftreesit_pattern_expand doesn't call tree-sitter function"?

> Perhaps something it does triggers GC and GC tries to collect some tree-sitter node or parser, and there’s some problem when freeing the node or parser with that version of tree-sitter library.

Again, not sure I follow: according to the backtrace, Fmapconcat
called mapconcat1, which called Ffuncall.  And Ffuncall is known to
trigger GC if needed.