[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tree-sitter navigation time grows as sqrt(line-number)
From: |
Felix |
Subject: |
Re: Tree-sitter navigation time grows as sqrt(line-number) |
Date: |
Thu, 17 Aug 2023 17:15:53 +0200 |
User-agent: |
mu4e 1.11.14; emacs 30.0.50 |
Dmitry Gutov <dmitry@gutov.dev> writes:
> 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=<optimized out>) at eval.c:2511
>> #4 0x000055555576f987 in Fsetq (args=<optimized out>) at eval.c:483
>> #5 0x000055555576f368 in eval_sub (form=<optimized out>) 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.
>
> [2. text/x-patch; treesit-node-parent.diff]...
This one doesn't crash while scrolling.
- Re: Tree-sitter navigation time grows as sqrt(line-number), (continued)
Re: Tree-sitter navigation time grows as sqrt(line-number), Yuan Fu, 2023/08/17
Re: Tree-sitter navigation time grows as sqrt(line-number), Dmitry Gutov, 2023/08/17