Subject: bug#17685: 24.3.91.1; help-C-file-name failes to create temp buffer " *DOC*"

From: Stefan Monnier <[email-masked]>
Date: Thu, 05 Jun 2014 09:51:39 -0400

> Maybe just add an optional argument in find-lisp-object-file-name?

I'd be OK with that, yes.

> (defun show-elisp-src-at-point ()
>   (interactive)
>   (message (find-lisp-object-file-name (variable-at-point) 'defvar)))

This call to `message' is erroneous (e.g. if the file name contains % chars).
You can fix it with

   (defun show-elisp-src-at-point ()
     (interactive)
     (message "%s" (find-lisp-object-file-name (variable-at-point) 'defvar)))

At which point the `C-source' return value is not nearly as problematic.

> I don't think an extra value in help-enable-auto-load would be of any help
> in these kind of cases (i.e. when used programmatically).

Agreed, tho the caller could let-bind help-enable-auto-load (in effect
passing it an implicit additional argument).

        Stefan