Subject: bug#61640: 30.0.50; Help Elisp xref recognize defclass parent classes

From: Dmitry Gutov <[email-masked]>
Date: Mon, 20 Feb 2023 00:42:25 +0200

Hi!

On 20/02/2023 00:08, Eric Abrahamsen wrote:
> In a form such as this:
> 
> (defclass ebdb-field-id (ebdb-field-labeled ebdb-field-obfuscated ebdb-field-user)
>    ((label-list :initform 'ebdb-id-label-list)
>     ...
>     ))
> 
> All the symbols in
> 
> (ebdb-field-labeled ebdb-field-obfuscated ebdb-field-user)
> 
> should be recognized by `elisp--xref-infer-namespace' as 'function.
> Right now, this is treated like a function call (ie like '(function
> variable variable)).
> 
> I can't promise that the attached patch is exactly the right thing, but
> it ought to be pretty close.

Thanks for the patch. Could you try including a corresponding test?

There are examples in test/lisp/progmodes/elisp-mode-tests.el, see the 
ones using the helper xref-elisp-deftest, starting with line 395.