Subject: bug#6496: documentation manual missing "autoload object" in "What Is a Function" node

From: MON KEY <[email-masked]>
Date: Tue, 22 Jun 2010 18:53:38 -0400

(info "(elisp)What Is a Function")

Does not mention "autoload objects" as a "type" of function.

It should do so and make an xref to (info "(elisp)Autoload Type").

Following is an attempt at documenting the object:

,----
|
| "autoload object"
| An "autoload object" stores a function definition in a placeholder
| for the real definition of a symbol-function.  The autoload object
| says that the real definition is found in a file of Lisp code which
| should be loaded when necessary.  An autoload object is stored as a
| list with the first element being the symbol `autoload'.
|
`----

The rationale for including this documentation is that both
`indirect-function' and `symbol-function' will return an autoload list
if the function has yet to be brought into the environment, e.g.:

(when (featurep 'dunnet) (unload-feature 'dunnet))

(symbol-function 'dunnet)
;=> (autoload "dunnet" 940287 t nil)

(require 'dunnet)

(symbol-function 'dunnet)
;=> #[ <BIG-VECTOR-HERE> ... ]

These differences of return value w/re both `indirect-function' and
`symbol-function' may be surprising to some esp. as there isn't an
autoload predicate (that I'm aware of).

--
/s_P\