GNU bug report logs - #78250
31.0.50; Eglot: eglot-show-call-hierarchy

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Mon, 5 May 2025 03:37: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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: 78250 <at> debbugs.gnu.org
Subject: bug#78250: 31.0.50; Eglot: eglot-show-call-hierarchy
Date: Mon, 05 May 2025 05:36:39 +0200
In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.4.0) of 2025-05-04

This is in an Emacs repository, with clangd 20.1 installed via Homebrew
on macOS.

In insdel.c, navigate to function insert_and_inherit, then, on the
function name, C-u M-x eglot-show-call-hierarchy RET and choose
outgoing.

The resulting buffer looks like this:

  [-]  ∘ insert_and_inherit
   |-[+]  → chars_in_text
   |-[+]  → insert_1_both
   |-[+]  → signal_after_change
   `-[+]  → update_compositions

1. Wishlist: Expanding/collapsing nodes and jumping to call sites is not
easily reachable with the "usual" keys like TAG, RET, and so on that are
used by the profiler, Magit etc. It would be very nice if that could be
added.

2. Bug: Clicking on "chars_in_text" in the tree above takes me here:

character.c:
  586 ptrdiff_t
  587 str_as_multibyte (unsigned char *str, ptrdiff_t len, ptrdiff_t nbytes,
  588                   ptrdiff_t *nchars)
  589 {

Clicking on "insert_1_both" OTOH takes me here which is correct

insdel.c:
  581 void
  582 insert_and_inherit (const char *string, ptrdiff_t nbytes)
  583 {
  584   if (nbytes > 0)
  585     {
  586       ptrdiff_t len = chars_in_text ((unsigned char *) string, nbytes), opoint;
  587       insert_1_both (string, len, nbytes, 1, 1, 0);

Clicking on "signal_after_change" is also correct, and clicking on
update_compositions is incorrect again.

The outgoing call tree I get from eglot-supplements does all correctly.





This bug report was last modified 10 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.