Subject: bug#74727: [PATCH] ; * lisp/apropos.el (apropos-library): Fix typo.

From: Eshel Yaron <[email-masked]>
Date: Sun, 08 Dec 2024 17:37:14 +0100

Dmitry Gutov <[email-masked]> writes:

> Hi Eshel,
>
> On 07/12/2024 15:31, Eshel Yaron wrote:
>> This patch fixes the issue described below, which IIUC originates in a
>> mere typo in commit 671862f6b3089c3a503c1b6936a821ad54429359
>> 
>> 1. emacs -Q
>> 2. M-x apropos-library elisp-mode RET
>> 3. The*Apropos* buffer incorrectly lists methods that elisp-mode.el
>>     defines as if they were_features_ provided by the library.
>>     Accordingly, clicking on one of those references yields an error such
>>     as "Unknown library `xref-backend-definitions'"
>
> Thanks! That's a good suggestion.
>
> If you've started testing this area, though, do you know of a case when 
> dropping this case - like:
>
> diff --git a/lisp/apropos.el b/lisp/apropos.el
> index 0655fecd0e8..9af8a7269ae 100644
> --- a/lisp/apropos.el
> +++ b/lisp/apropos.el
> @@ -733,7 +733,7 @@ apropos-library
>           ('t nil)                     ; Skip "was an autoload" entries.
>           ;; FIXME: Print information about each individual method: both
>           ;; its docstring and specializers (bug#21422).
> -        ('cl-defmethod (push (cadr x) provides))
> +        ;; ('cl-defmethod (push (cadr x) provides))
>           ;; FIXME: Add extension point (bug#72616).
>   	(_ (let ((sym (or (cdr-safe x) x)))
>   	     (and sym (symbolp sym)
>
> ...does not work just as well?

Yes, that seems to work too, and it doesn't produce duplicate entries
for these definitions, so that's even better :)

>  From what I see now, any 'cl-defmethod' entry in load-history is 
> accompanied by a 'defun' entry anyway. And the original report 
> (https://debbugs.gnu.org/21422) was about an error being raised, but I 
> can't reproduce it now after commenting this line out.

Same here.

Eshel