Subject: Re: bug#22955: 25.1.50; *Help* xref for generic methods broken

From: Eric Abrahamsen <[email-masked]>
Date: Thu, 10 Mar 2016 09:53:27 +0800

On 03/09/16 22:19 PM, Dmitry Gutov wrote:
> On 03/09/2016 06:16 AM, Eric Abrahamsen wrote:
>>
>> If you `describe-function' on a generic method, the resulting *Help*
>> buffer shows the various implementations correctly. However,
>> clicking/RET on the implementation links fails with:
>
> Have you tried it with a build from emacs-25?
>
> It seems to work fine here, at least for xref-backend-definitions and
> xref-backend-apropos.
>
>> Debugger entered--Lisp error: (wrong-number-of-arguments (lambda
>> (fun file) (require (quote find-func)) (if (eq file (quote
>> C-source)) (progn (setq file (help-C-file-name (indirect-function
>> fun) (quote fun))))) (let ((location
>> (find-function-search-for-symbol fun nil file)))
>> (my-find-symbol-switch-to-buffer (car location)) (if (cdr location)
>> (goto-char (cdr location)) (message "Unable to find location in
>> file")))) 3)
>>   help-do-xref(nil (lambda (fun file) (require (quote find-func))
>> (if (eq file (quote C-source)) (progn (setq file (help-C-file-name
>> (indirect-function fun) (quote fun))))) (let ((location
>> (find-function-search-for-symbol fun nil file)))
>> (my-find-symbol-switch-to-buffer (car location)) (if (cdr location)
>> (goto-char (cdr location)) (message "Unable to find location in
>> file")))) ((bbdb-db-load bbdb-db)
>> "/home/eric/.emacs.d/bbdb/lisp/bbdb.el" cl-defmethod))
>>   help-button-action(#<marker (moves after insertion) at 276 in *Help*>)
>>   button-activate(#<marker (moves after insertion) at 276 in *Help*> nil)
>>   push-button(276)
>>   funcall-interactively(push-button 276)
>>   call-interactively(push-button nil nil)
>>   command-execute(push-button)
>
> What's that my-find-symbol-switch-to-buffer in the backtrace?

Well, damn -- my apologies for not trying this with emacs -Q. I had some
long-forgotten customizations causing the problem. Sorry for the noise!