Wow, thank you so much for diving into this issue! I'll keep track of it in tree-sitter repo from now on. It seems like other integrations somehow manage to avoid hanging or crashing the main process, so it doesn't affect them? I just checked in the Zed editor again to confirm. When I type a={, it fails to highlight the rest of the embedded HEEX (but only within the current function) though. > On Sep 11, 2024, at 7:45 AM, Yuan Fu wrote: > > > >> On Sep 8, 2024, at 12:48 AM, Yuan Fu wrote: >> >> >> >>> On Sep 8, 2024, at 12:02 AM, Eli Zaretskii wrote: >>> >>>> From: Yuan Fu >>>> Date: Sat, 7 Sep 2024 22:57:29 -0700 >>>> Cc: mail@ssbb.me, >>>> wkirschbaum@gmail.com, >>>> 72863@debbugs.gnu.org >>>> >>>> >>>> >>>>> On Sep 7, 2024, at 10:54 PM, Eli Zaretskii wrote: >>>>> >>>>>> From: Yuan Fu >>>>>> Date: Sat, 7 Sep 2024 22:44:53 -0700 >>>>>> Cc: Wilhelm Kirschbaum , >>>>>> Eli Zaretskii , >>>>>> 72863@debbugs.gnu.org >>>>>> >>>>>> Meanwhile, I want to push the fix for the other bug I discovered to emacs-30. Eli, I wrote a debugging function that prints parser states, naturally this function isn’t called anywhere so there’ll be a compiler warning, what should I do in this case? >>>>> >>>>> Why would there be a compiler warning? What kind of warning? >>>> >>>> A function-not-used warning. Maybe it’s an lldb thing? >>> >>> If the function is not static, there should be no such warning. >> >> Ah, you’re right, I marked it static. Thanks! >> >> Yuan > > Good news: not an Emacs bug. Bad news: a tree-sitter bug. Turns out I made an error in my test program, which is the reason why Emacs hangs but the test program doesn’t. Once I fixed the error, the test program hangs too. I submitted a bug report to tree-sitter: https://github.com/tree-sitter/tree-sitter/issues/3620 > > I can finally sleep soundly at night now; and I guess tree-sitter dev will start having sleepless nights :-) > > Yuan >