From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jostein_Kj=c3=b8nigsen?= Newsgroups: gmane.emacs.devel Subject: Re: Tree-sitter integration on feature/tree-sitter Date: Fri, 17 Jun 2022 13:06:15 +0200 Message-ID: References: <2c2746e5f2558a87e8eab6f0914264a020173a9d.camel@pm.me> <27630AA3-8026-4E24-8852-ACCD9325B99D@gmail.com> <0E9E702B-B07C-4794-8498-29B9320E14CC@gmail.com> Reply-To: jostein@kjonigsen.net Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------0bUkdgz0FrRWTn3aZDqYa0pe" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1934"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 To: Yuan Fu , Emacs Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 17 13:08:30 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o29py-0000CT-OF for ged-emacs-devel@m.gmane-mx.org; Fri, 17 Jun 2022 13:08:28 +0200 Original-Received: from localhost ([::1]:33436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o29px-0007GA-Bj for ged-emacs-devel@m.gmane-mx.org; Fri, 17 Jun 2022 07:08:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57458) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o29o2-0005b3-LA for emacs-devel@gnu.org; Fri, 17 Jun 2022 07:06:27 -0400 Original-Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:40709) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o29ny-0007dj-3m for emacs-devel@gnu.org; Fri, 17 Jun 2022 07:06:26 -0400 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 445FD320095B; Fri, 17 Jun 2022 07:06:19 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Fri, 17 Jun 2022 07:06:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= secure.kjonigsen.net; h=cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:reply-to:sender:subject:subject:to:to; s=fm1; t= 1655463978; x=1655550378; bh=5wnKV1hdbKuFngfVO8HjsxfGQT4i7+Ge2Ta W6FHpMBA=; b=M4r92v8eM5xDvnb2cztnGefHHXEMOT/CJg8gRrmyw6Gp//3QWse LxVxmSK0Fv5zAtjaNMXndQEnyarcj2fQt/kVU6+jOW+BLiAtKUfXMm9X2MOcnDv8 0xMug43IG6GPjoJ5kMR6O1RgRHLBzQCvCqjjVAugIMtp80Ot0Gg078SzfD2KjqRC qzWEVJFLKbfd3Ws7Op5PjzAbesYOLBZtxq7GOFzFleuoDeHh//K83GgxPg14Y+j6 HAShLOqbm7RqzFSqXXgnH/TLdjhdIVTnRnA4vfM9U/fnNXtz8GpHn+ydJNFaC37z t14xDol6uv7hd2vWId8QcGgwSe1XcyeAPaQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1655463978; x=1655550378; bh=5wnKV1hdbKuFn gfVO8HjsxfGQT4i7+Ge2TaW6FHpMBA=; b=i8ZuN/jHCGzZo25j9M38EeCMHFk1o aAa6VBaBkHt+6YgdZHBlbaU+DR7kfLP4sxbGsOCwiguxmWemzt92NqCzEr8ZcqLL aEcoSi1gxvHX/UEBGdp+WCil+yEdHaYLQuTrQYFO5XVWiGRJkW4rpDYPbVPq2cxx j2UnLCa2995YDpMQ2AhgzWFYw/AkcxW4zsIZyyrNlriSvVMsH7kBZAhssVq6kwte z+6VWGv3o101u5Onxp1eWwze/im5/m8mBOhJe7UayXkCyQGEnxMUhUEUMIu88d4Z QOCWYqwuRXiXEhlwgQ04Np/lYhlIBYIKgVfHMs6dPvzoJrzPzl4AdpS9A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddvhedgfeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfghruffvfhfhjgesrgdtreertdefjeenucfhrhhomheplfhoshht vghinhgpmfhjpphnihhgshgvnhcuoehjohhsthgvihhnsehsvggtuhhrvgdrkhhjohhnih hgshgvnhdrnhgvtheqnecuggftrfgrthhtvghrnhepgedtfeektdettdfgtdejfeeghedv iedttdekleevteetffetjeffjeeuvdegteffnecuffhomhgrihhnpehgnhhurdhorhhgpd hkjhhnihhgshgvnhdrnhhonecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm rghilhhfrhhomhepjhhoshhtvghinhesshgvtghurhgvrdhkjhhonhhighhsvghnrdhnvg ht X-ME-Proxy: Feedback-ID: ib2f84088:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 17 Jun 2022 07:06:18 -0400 (EDT) Content-Language: nb-NO In-Reply-To: <0E9E702B-B07C-4794-8498-29B9320E14CC@gmail.com> Received-SPF: pass client-ip=64.147.123.20; envelope-from=jostein@secure.kjonigsen.net; helo=wout4-smtp.messagingengine.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:291289 Archived-At: This is a multi-part message in MIME format. --------------0bUkdgz0FrRWTn3aZDqYa0pe Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 16.06.2022 21:03, Yuan Fu wrote: > Hey, > > I’ve just finished with Real Life and got back to tree-sitter. I’ll reply to individual messages separately, but here is a summary of all the latest changes pushed to feature/tree-sitter > > - Now one can compile a query, compiled query is much faster than uncompiled queries. > - Traversal functions now have a parameter that controls how deep to traverse. > - Removed the ltree-sitter setting in configure.ac > - Consolidated all the parser creation functions into one: treesit-parser-create, that means treesit-get-parser and treesit-get-parser-create are removed. > > I think these are all the pending requests (sans highlight-paren), please let me know if I missed anything. > > Moving forward, I want to make treesit-parser-list internal and turn it into a function that returns the parser list. And add a function to remove a parser from the parser list. Because I’m not comfortable letting users to remove and re-add parsers into the list anymore. Previously we determined that if a user wants to do the wrong thing, so be it. But now I realized that there could be danger in crashing Emacs if user fiddle with treesit-parser-list incorrectly (and violates some of the assertions I put in). > > Can I just add a new Lisp_Object field in struct buffer? I assume that’s how you add an internal buffer-local data? > > Yuan Nice update! Good work! Trying latest source from emacs feature/tree-sitter branch though, and updating my code to use treesite-parser-create rather than treesit-get-parser-create... I have emacs segfaulting because of a double-free. jostein@ThinkPad-T14s:~/build/emacs$ emacs double free or corruption (out) Fatal error 6: Aborted Running it through gdb gets me this result: jostein@ThinkPad-T14s:~/build/emacs$ gdb /home/jostein/build/emacs/src/emacs GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/jostein/build/emacs/src/emacs... (gdb) r Starting program: /home/jostein/build/emacs/src/emacs [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff11bc640 (LWP 54902)] [New Thread 0x7ffff086d640 (LWP 54903)] [New Thread 0x7fffebf3d640 (LWP 54904)] [New Thread 0x7fffeb5b4640 (LWP 54905)] [New Thread 0x7fffeadb3640 (LWP 54906)] [New Thread 0x7fffea50c640 (LWP 54907)] [Thread 0x7fffea50c640 (LWP 54907) exited] [New Thread 0x7fffea50c640 (LWP 54908)] [New Thread 0x7fffe9d0b640 (LWP 54909)] [Thread 0x7fffea50c640 (LWP 54908) exited] [Thread 0x7fffe9d0b640 (LWP 54909) exited] [New Thread 0x7fffe9d0b640 (LWP 54910)] [New Thread 0x7fffea50c640 (LWP 54911)] [Thread 0x7fffe9d0b640 (LWP 54910) exited] [Thread 0x7fffea50c640 (LWP 54911) exited] [Thread 0x7fffeadb3640 (LWP 54906) exited] [Detaching after vfork from child process 54913] [Detaching after vfork from child process 54914] [Detaching after vfork from child process 54922] [Detaching after vfork from child process 54924] [Detaching after vfork from child process 54929] [Detaching after vfork from child process 54930] [Detaching after vfork from child process 54964] [Detaching after vfork from child process 54965] [Detaching after vfork from child process 54994] [Detaching after vfork from child process 54995] [Detaching after vfork from child process 54996] [Detaching after vfork from child process 54997] [Detaching after vfork from child process 54998] [Detaching after vfork from child process 54999] [Detaching after vfork from child process 55001] [Detaching after vfork from child process 55003] [Detaching after vfork from child process 55004] [Thread 0x7fffeb5b4640 (LWP 54905) exited] [Detaching after vfork from child process 55044] [Detaching after vfork from child process 55045] [Detaching after vfork from child process 55046] [Detaching after vfork from child process 55047] [Detaching after vfork from child process 55048] Thread 1 "emacs" received signal SIGSEGV, Segmentation fault. 0x00007ffff58de39f in ts_query_delete () from /usr/local/lib/libtree-sitter.so.0 (gdb) bt #0  0x00007ffff58de39f in ts_query_delete () at /usr/local/lib/libtree-sitter.so.0 #1  0x000055555573e849 in cleanup_vector (vector=) at alloc.c:3184 #2  sweep_vectors () at alloc.c:3259 #3  0x0000555555743a50 in gc_sweep () at alloc.c:7413 #4  garbage_collect () at alloc.c:6259 #5  0x0000555555743f11 in maybe_garbage_collect () at alloc.c:6108 #6  0x0000555555765e85 in maybe_gc () at /home/jostein/build/emacs/src/lisp.h:5539 #7  Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffff9310) at eval.c:2961 #8  0x0000555555764751 in internal_condition_case_n      (bfun=0x555555765cf0 , nargs=nargs@entry=2, args=args@entry=0x7fffffff9310, handlers=handlers@entry=0x30, hfun=hfun@entry=0x5555555ded20 ) at eval.c:1565 #9  0x00005555555c9e13 in safe__call (inhibit_quit=inhibit_quit@entry=false, nargs=nargs@entry=2, func=func@entry=0xb160, ap=ap@entry=0x7fffffff9390) at xdisp.c:3015 #10 0x00005555555dd3b6 in safe_call (nargs=nargs@entry=2, func=func@entry=0xb160) at xdisp.c:3030 #11 0x00005555555fed32 in safe_call1 (arg=0x55555643771d, fn=0xb160) at xdisp.c:3041 #12 display_mode_lines (w=w@entry=0x555556437718) at xdisp.c:26098 #13 0x0000555555614869 in redisplay_window (window=, just_this_one_p=) at xdisp.c:19894 #14 0x0000555555618063 in redisplay_window_0 (window=window@entry=0x55555643771d) at xdisp.c:17148 #15 0x00005555557645fc in internal_condition_case_1     (bfun=bfun@entry=0x555555618030 , arg=arg@entry=0x55555643771d, handlers=, hfun=hfun@entry=0x5555555c8ee0 ) at eval.c:1509 #16 0x00005555555caf49 in redisplay_windows (window=0x55555643771d) at xdisp.c:17128 #17 0x00005555555ffe0d in redisplay_internal () at xdisp.c:16595 #18 0x0000555555601414 in redisplay_preserve_echo_area (from_where=from_where@entry=9) at xdisp.c:16944 #19 0x00005555557bdc4f in wait_reading_process_output     (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at process.c:5334 #20 0x00005555556df7a7 in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7fffffffdb2b, kbp=) at keyboard.c:3953 #21 read_event_from_main_queue (end_time=, local_getcjmp=0x7fffffffd810, used_mouse_menu=0x7fffffffdb2b) at keyboard.c:2225 #22 0x00005555556e55bb in read_decoded_event_from_main_queue (used_mouse_menu=, prev_event=, local_getcjmp=, end_time=) at keyboard.c:2288 #23 read_char (commandflag=1, map=0x555558bfd8f3, prev_event=0x0, used_mouse_menu=0x7fffffffdb2b, end_time=0x0) at keyboard.c:2919 #24 0x00005555556e7326 in read_key_sequence (keybuf=, prompt=0x0, dont_downcase_last=, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=)     at keyboard.c:9965 #25 0x00005555556e8fbc in command_loop_1 () at keyboard.c:1391 #26 0x0000555555764567 in internal_condition_case (bfun=bfun@entry=0x5555556e8d70 , handlers=handlers@entry=0x90, hfun=hfun@entry=0x5555556dc5b0 ) at eval.c:1485 #27 0x00005555556d4c7e in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1132 #28 0x00005555557644a9 in internal_catch (tag=tag@entry=0xf6c0, func=func@entry=0x5555556d4c50 , arg=arg@entry=0x90) at eval.c:1208 #29 0x00005555556d4c19 in command_loop () at keyboard.c:1110 #30 0x00005555556dc108 in recursive_edit_1 () at keyboard.c:719 #31 0x00005555556dc4b0 in Frecursive_edit () at keyboard.c:802 #32 0x00005555555adf54 in main (argc=, argv=) at emacs.c:2518 (gdb) This is on "plain" Ubuntu 22.04, x86_64. Emacs compiled using: ./configure --with-tree-sitter && make -j4 No other features or "experimental" things enabled. -- Vennlig hilsen *Jostein Kjønigsen* jostein@kjonigsen.net 🍵 jostein@gmail.com https://jostein.kjønigsen.no --------------0bUkdgz0FrRWTn3aZDqYa0pe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 16.06.2022 21:03, Yuan Fu wrote:
Hey,

I’ve just finished with Real Life and got back to tree-sitter. I’ll reply to individual messages separately, but here is a summary of all the latest changes pushed to feature/tree-sitter

- Now one can compile a query, compiled query is much faster than uncompiled queries.
- Traversal functions now have a parameter that controls how deep to traverse.
- Removed the ltree-sitter setting in configure.ac
- Consolidated all the parser creation functions into one: treesit-parser-create, that means treesit-get-parser and treesit-get-parser-create are removed.

I think these are all the pending requests (sans highlight-paren), please let me know if I missed anything.

Moving forward, I want to make treesit-parser-list internal and turn it into a function that returns the parser list. And add a function to remove a parser from the parser list. Because I’m not comfortable letting users to remove and re-add parsers into the list anymore. Previously we determined that if a user wants to do the wrong thing, so be it. But now I realized that there could be danger in crashing Emacs if user fiddle with treesit-parser-list incorrectly (and violates some of the assertions I put in).

Can I just add a new Lisp_Object field in struct buffer? I assume that’s how you add an internal buffer-local data?

Yuan

Nice update! Good work!

Trying latest source from emacs feature/tree-sitter branch though, and updating my code to use treesite-parser-create rather than treesit-get-parser-create... I have emacs segfaulting because of a double-free.
jostein@ThinkPad-T14s:~/build/emacs$ emacs
double free or corruption (out)
Fatal error 6: Aborted
Running it through gdb gets me this result:

jostein@ThinkPad-T14s:~/build/emacs$ gdb /home/jostein/build/emacs/src/emacs
GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/jostein/build/emacs/src/emacs...
(gdb) r
Starting program: /home/jostein/build/emacs/src/emacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff11bc640 (LWP 54902)]
[New Thread 0x7ffff086d640 (LWP 54903)]
[New Thread 0x7fffebf3d640 (LWP 54904)]
[New Thread 0x7fffeb5b4640 (LWP 54905)]
[New Thread 0x7fffeadb3640 (LWP 54906)]
[New Thread 0x7fffea50c640 (LWP 54907)]
[Thread 0x7fffea50c640 (LWP 54907) exited]
[New Thread 0x7fffea50c640 (LWP 54908)]
[New Thread 0x7fffe9d0b640 (LWP 54909)]
[Thread 0x7fffea50c640 (LWP 54908) exited]
[Thread 0x7fffe9d0b640 (LWP 54909) exited]
[New Thread 0x7fffe9d0b640 (LWP 54910)]
[New Thread 0x7fffea50c640 (LWP 54911)]
[Thread 0x7fffe9d0b640 (LWP 54910) exited]
[Thread 0x7fffea50c640 (LWP 54911) exited]
[Thread 0x7fffeadb3640 (LWP 54906) exited]
[Detaching after vfork from child process 54913]
[Detaching after vfork from child process 54914]
[Detaching after vfork from child process 54922]
[Detaching after vfork from child process 54924]
[Detaching after vfork from child process 54929]
[Detaching after vfork from child process 54930]
[Detaching after vfork from child process 54964]
[Detaching after vfork from child process 54965]
[Detaching after vfork from child process 54994]
[Detaching after vfork from child process 54995]
[Detaching after vfork from child process 54996]
[Detaching after vfork from child process 54997]
[Detaching after vfork from child process 54998]
[Detaching after vfork from child process 54999]
[Detaching after vfork from child process 55001]
[Detaching after vfork from child process 55003]
[Detaching after vfork from child process 55004]
[Thread 0x7fffeb5b4640 (LWP 54905) exited]
[Detaching after vfork from child process 55044]
[Detaching after vfork from child process 55045]
[Detaching after vfork from child process 55046]
[Detaching after vfork from child process 55047]
[Detaching after vfork from child process 55048]

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00007ffff58de39f in ts_query_delete () from /usr/local/lib/libtree-sitter.so.0
(gdb) bt
#0  0x00007ffff58de39f in ts_query_delete () at /usr/local/lib/libtree-sitter.so.0
#1  0x000055555573e849 in cleanup_vector (vector=<optimized out>) at alloc.c:3184
#2  sweep_vectors () at alloc.c:3259
#3  0x0000555555743a50 in gc_sweep () at alloc.c:7413
#4  garbage_collect () at alloc.c:6259
#5  0x0000555555743f11 in maybe_garbage_collect () at alloc.c:6108
#6  0x0000555555765e85 in maybe_gc () at /home/jostein/build/emacs/src/lisp.h:5539
#7  Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffff9310) at eval.c:2961
#8  0x0000555555764751 in internal_condition_case_n
     (bfun=0x555555765cf0 <Ffuncall>, nargs=nargs@entry=2, args=args@entry=0x7fffffff9310, handlers=handlers@entry=0x30, hfun=hfun@entry=0x5555555ded20 <safe_eval_handler>) at eval.c:1565
#9  0x00005555555c9e13 in safe__call (inhibit_quit=inhibit_quit@entry=false, nargs=nargs@entry=2, func=func@entry=0xb160, ap=ap@entry=0x7fffffff9390) at xdisp.c:3015
#10 0x00005555555dd3b6 in safe_call (nargs=nargs@entry=2, func=func@entry=0xb160) at xdisp.c:3030
#11 0x00005555555fed32 in safe_call1 (arg=0x55555643771d, fn=0xb160) at xdisp.c:3041
#12 display_mode_lines (w=w@entry=0x555556437718) at xdisp.c:26098
#13 0x0000555555614869 in redisplay_window (window=<optimized out>, just_this_one_p=<optimized out>) at xdisp.c:19894
#14 0x0000555555618063 in redisplay_window_0 (window=window@entry=0x55555643771d) at xdisp.c:17148
#15 0x00005555557645fc in internal_condition_case_1
    (bfun=bfun@entry=0x555555618030 <redisplay_window_0>, arg=arg@entry=0x55555643771d, handlers=<optimized out>, hfun=hfun@entry=0x5555555c8ee0 <redisplay_window_error>) at eval.c:1509
#16 0x00005555555caf49 in redisplay_windows (window=0x55555643771d) at xdisp.c:17128
#17 0x00005555555ffe0d in redisplay_internal () at xdisp.c:16595
#18 0x0000555555601414 in redisplay_preserve_echo_area (from_where=from_where@entry=9) at xdisp.c:16944
#19 0x00005555557bdc4f in wait_reading_process_output
    (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at process.c:5334
#20 0x00005555556df7a7 in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7fffffffdb2b, kbp=<synthetic pointer>) at keyboard.c:3953
#21 read_event_from_main_queue (end_time=<optimized out>, local_getcjmp=0x7fffffffd810, used_mouse_menu=0x7fffffffdb2b) at keyboard.c:2225
#22 0x00005555556e55bb in read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>, prev_event=<optimized out>, local_getcjmp=<optimized out>, end_time=<optimized out>) at keyboard.c:2288
#23 read_char (commandflag=1, map=0x555558bfd8f3, prev_event=0x0, used_mouse_menu=0x7fffffffdb2b, end_time=0x0) at keyboard.c:2919
#24 0x00005555556e7326 in read_key_sequence (keybuf=<optimized out>, prompt=0x0, dont_downcase_last=<optimized out>, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=<optimized out>)
    at keyboard.c:9965
#25 0x00005555556e8fbc in command_loop_1 () at keyboard.c:1391
#26 0x0000555555764567 in internal_condition_case (bfun=bfun@entry=0x5555556e8d70 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x5555556dc5b0 <cmd_error>) at eval.c:1485
#27 0x00005555556d4c7e in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1132
#28 0x00005555557644a9 in internal_catch (tag=tag@entry=0xf6c0, func=func@entry=0x5555556d4c50 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1208
#29 0x00005555556d4c19 in command_loop () at keyboard.c:1110
#30 0x00005555556dc108 in recursive_edit_1 () at keyboard.c:719
#31 0x00005555556dc4b0 in Frecursive_edit () at keyboard.c:802
#32 0x00005555555adf54 in main (argc=<optimized out>, argv=<optimized out>) at emacs.c:2518
(gdb)

This is on "plain" Ubuntu 22.04, x86_64.

Emacs compiled using: ./configure --with-tree-sitter && make -j4

No other features or "experimental" things enabled.



--------------0bUkdgz0FrRWTn3aZDqYa0pe--