GNU bug report logs -
#78367
31.0.50; Eglot: incoming call trees, wrong positions
Previous Next
Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Date: Sun, 11 May 2025 05:30:02 UTC
Severity: normal
Found in version 31.0.50
Done: João Távora <joaotavora <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
I am using Eglot/clangd on emcas.git again.
Navigate to insdel.c, function insert_and_inherit, C-u M-x
eglot-show-call-hierarchy RET and choose incoming call trees. The
resulting buffer looks like
[-] ∘ insert_and_inherit
├─[+] ◀ Finsert_and_inherit
├─[+] ◀ Finsert_char
└─[+] ◀ internal_self_insert
Clicking on Finsert_and_inherit takes me here:
insdel.c:
1389 if (run_mod_hooks)
1390 {
1391 ptrdiff_t range_length = to - from;
1392 prepare_to_modify_buffer (from, to, &from);
1393 to = from + range_length;
1394 }
Clicking on internal_self_insert
insdel.c:
469 * amount at least proportional to the size of the buffer.
470 * On my test (a 223.9MB zip file on a Thinkpad T61):
471 * With /5 => 24s
472 * With /32 => 25s
473 * With /64 => 26s
474 * With /128 => 28s
475 * With /1024 => 51s
and so on.
(BTW, eglot-supplements' call trees list all call sites, both in
incoming and outgoing call trees. I find that pretty useful.
- insert_and_inherit insdel.c:582
+ internal_self_insert internal_self_insert:471
+ internal_self_insert internal_self_insert:475
+ Finsert_and_inherit Finsert_and_inherit:1392
+ Finsert_char Finsert_char:1503
+ Finsert_char Finsert_char:1509
)
In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.4.0) of 2025-05-10
built on pro2
This bug report was last modified 11 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.