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

From: Drew Adams <[email-masked]>
Date: Wed, 4 Jun 2014 07:08:05 -0700 (PDT)

> > emacs -Q
> > (find-lisp-object-file-name 'visible-bell 'defvar) ;visible-bell is just
> > an example and can be replaced with any variable.
> > RESULT:          C-source
> > EXPECTED RESULT: "src/dispnew.c"
> 
> Here's the reason for the behavior:
> the DOC file is moderately large, so we don't want to load it into
> memory just because the user did C-h v visible-bell RET.
> 
> So we only populate the *DOC* buffer when the user actually clicks on
> the "C-source" link to jump to the source code.  And once the buffer is
> populated, then there's no reason not to use it, so if *DOC* exists then
> we do use it.

Is this behavior new (e.g. since 24.3)?  Do you think it might be related
to bug #17564: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17564
(That report is about `C-source' being passed as the FILE-NAME arg to
`help-fns--autoloaded-p'.)

emacs -Q
(fset 'ORIG-top-level (symbol-function 'top-level))
(defun top-level () (interactive) (ORIG-top-level))

C-h f top-level
Debugger entered--Lisp error: (wrong-type-argument arrayp C-source)
  file-truename(C-source)
  ...