changeset 27552:60c820c7f330

(Vhelp_manyarg_func_alist): New variable. (Fdocumentation): Use it. (syms_of_doc): Define it.
author Dave Love <fx@gnu.org>
date Tue, 01 Feb 2000 14:45:38 +0000
parents 2dd8115a9f72
children 49dd86912d71
files src/doc.c
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/doc.c	Tue Feb 01 14:32:21 2000 +0000
+++ b/src/doc.c	Tue Feb 01 14:45:38 2000 +0000
@@ -41,7 +41,7 @@
 #include "keyboard.h"
 #include "charset.h"
 
-Lisp_Object Vdoc_file_name;
+Lisp_Object Vdoc_file_name, Vhelp_manyarg_func_alist;
 
 extern char *index ();
 
@@ -319,6 +319,8 @@
       else
 	doc = get_doc_string (make_number (- (EMACS_INT) XSUBR (fun)->doc),
 			      0, 0);
+      if (! NILP (tem = Fassq (function, Vhelp_manyarg_func_alist)))
+	doc = concat3 (doc, build_string ("\n"), Fcdr (tem));
     }
   else if (COMPILEDP (fun))
     {
@@ -781,6 +783,12 @@
   DEFVAR_LISP ("internal-doc-file-name", &Vdoc_file_name,
     "Name of file containing documentation strings of built-in symbols.");
   Vdoc_file_name = Qnil;
+  DEFVAR_LISP ("help-manyarg-func-alist", &Vhelp_manyarg_func_alist,
+    "Alist of primitive functions and descriptions of their arg lists.\n\
+All special forms and primitives which effectively have &rest args\n\
+should have an entry here so that `documentation' can provide their\n\
+arg list.");
+  Vhelp_manyarg_func_alist = Qnil;
 
   defsubr (&Sdocumentation);
   defsubr (&Sdocumentation_property);