On 17/08/2023 17:36, Dmitry Gutov wrote: > On 17/08/2023 17:25, Dmitry Gutov wrote: >> On 17/08/2023 17:08, Felix wrote: >>> Hi, >>> >>> I tried that patch, and it crashes emacs whenever i try to scroll inside >>> a tree-sitter managed buffer. >>> >>> GNU Emacs 30.0.50 (build 22, x86_64-pc-linux-gnu, GTK+ Version >>> 3.24.38, cairo version 1.17.8) of 2023-08-17 >>> >>> compiled with pgtk running on wayland. >> >> Thanks for testing. Does that happen in any ts mode, or some >> particular ones? >> >> If you run Emacs from the terminal, could you post the error backtrace? >> >> (Please keep emacs-devel in Cc). > > For my part, I don't see it crash when scrolling (in ruby-ts-mdoe or > js-ts-mode, including larges files), but the test scenario by JD does > make it crash. > > When running under GDB, the backtrace simply looks like this: > > #0  0x00007ffff63bf93d in ts_tree_root_node (self=0x0) at lib/src/tree.c:36 > #1  0x00007ffff63a54e5 in ts_node_parent (self=...) at lib/src/node.c:462 > #2  0x00005555557f0d17 in Ftreesit_node_parent > (node=XIL(0x5555574908c5)) at treesit.c:1906 > #3  0x000055555576f62b in eval_sub (form=) at eval.c:2511 > #4  0x000055555576f987 in Fsetq (args=) at eval.c:483 > #5  0x000055555576f368 in eval_sub (form=) at eval.c:2462 > #6  0x000055555576ff75 in Fprogn (body=XIL(0)) at eval.c:436 > ... Try this one. I've read the tree-sitter docs a bit more, and also dropped the "else" case because it was unreachable anyway. I doesn't crash anymore here.