1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-25 07:28:20 +00:00

(Qfunction_documentation): New variable.

(syms_of_doc): Initialize Qfunction_documentation.
(Fdocumentation): If FUNCTION is a symbol with non-nil
`function-documentation' property, return a documentation derived
from that.
This commit is contained in:
Gerd Moellmann 2000-03-26 19:32:02 +00:00
parent bd96bd79eb
commit 9191c8ae4e

View File

@ -43,6 +43,8 @@ Boston, MA 02111-1307, USA. */
Lisp_Object Vdoc_file_name, Vhelp_manyarg_func_alist;
Lisp_Object Qfunction_documentation;
extern char *index ();
extern Lisp_Object Voverriding_local_map;
@ -309,12 +311,17 @@ string is passed through `substitute-command-keys'.")
Lisp_Object funcar;
Lisp_Object tem, doc;
if (SYMBOLP (function)
&& (tem = Fget (function, Qfunction_documentation),
!NILP (tem)))
return Fdocumentation_property (function, Qfunction_documentation, raw);
fun = Findirect_function (function);
if (SUBRP (fun))
{
if (XSUBR (fun)->doc == 0) return Qnil;
if ((EMACS_INT) XSUBR (fun)->doc >= 0)
if (XSUBR (fun)->doc == 0)
return Qnil;
else if ((EMACS_INT) XSUBR (fun)->doc >= 0)
doc = build_string (XSUBR (fun)->doc);
else
doc = get_doc_string (make_number (- (EMACS_INT) XSUBR (fun)->doc),
@ -787,6 +794,9 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int
void
syms_of_doc ()
{
Qfunction_documentation = intern ("function-documentation");
staticpro (&Qfunction_documentation);
DEFVAR_LISP ("internal-doc-file-name", &Vdoc_file_name,
"Name of file containing documentation strings of built-in symbols.");
Vdoc_file_name = Qnil;