]> git.eshelyaron.com Git - emacs.git/commitdiff
(DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
authorGerd Moellmann <gerd@gnu.org>
Sat, 13 Oct 2001 20:43:52 +0000 (20:43 +0000)
committerGerd Moellmann <gerd@gnu.org>
Sat, 13 Oct 2001 20:43:52 +0000 (20:43 +0000)
Provide definitions for doc strings in comments.

src/lisp.h

index c01266b7a7ca406dcddc8346d828412f97f12e99..368b743a274c64377aa6c381057a7b8ebc00a930 100644 (file)
@@ -1503,6 +1503,9 @@ typedef unsigned char UCHAR;
 
 #if (!defined (__STDC__) && !defined (PROTOTYPES)) \
     || defined (USE_NONANSI_DEFUN)
+
+#ifdef DOC_STRINGS_IN_COMMENTS
+
 #define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, doc)     \
   Lisp_Object fnname ();                                               \
   struct Lisp_Subr sname =                                             \
@@ -1510,8 +1513,30 @@ typedef unsigned char UCHAR;
       fnname, minargs, maxargs, lname, prompt, 0};                     \
   Lisp_Object fnname
 
+#else /* not DOC_STRINGS_IN_COMMENTS */
+
+#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, args)    \
+  Lisp_Object fnname ();                                               \
+  struct Lisp_Subr sname =                                             \
+    { PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)),    \
+      fnname, minargs, maxargs, lname, prompt, 0};                     \
+  Lisp_Object fnname args
+
+#endif /* not DOC_STRINGS_IN_COMMENTS */
+
 #else
 
+#ifdef DOC_STRINGS_IN_COMMENTS
+
+#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, args)    \
+  Lisp_Object fnname DEFUN_ARGS_ ## maxargs ;                          \
+  struct Lisp_Subr sname =                                             \
+    { PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)),    \
+      fnname, minargs, maxargs, lname, prompt, 0};                     \
+  Lisp_Object fnname args
+
+#else /* not DOC_STRINGS_IN_COMMENTS */
+
 /* This version of DEFUN declares a function prototype with the right
    arguments, so we can catch errors with maxargs at compile-time.  */
 #define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, doc)     \
@@ -1521,6 +1546,8 @@ typedef unsigned char UCHAR;
       fnname, minargs, maxargs, lname, prompt, 0};                     \
   Lisp_Object fnname
 
+#endif /* not DOC_STRINGS_IN_COMMENTS */
+
 /* Note that the weird token-substitution semantics of ANSI C makes
    this work for MANY and UNEVALLED.  */
 #define DEFUN_ARGS_MANY                (int, Lisp_Object *)
@@ -1565,6 +1592,21 @@ extern void defvar_kboard P_ ((char *, int));
 /* Macros we use to define forwarded Lisp variables.
    These are used in the syms_of_FILENAME functions.  */
 
+#ifdef DOC_STRINGS_IN_COMMENTS
+
+#define DEFVAR_LISP(lname, vname) defvar_lisp (lname, vname)
+#define DEFVAR_LISP_NOPRO(lname, vname) defvar_lisp_nopro (lname, vname)
+#define DEFVAR_BOOL(lname, vname) defvar_bool (lname, vname)
+#define DEFVAR_INT(lname, vname) defvar_int (lname, vname)
+#define DEFVAR_PER_BUFFER(lname, vname, type)  \
+ defvar_per_buffer (lname, vname, type, 0)
+#define DEFVAR_KBOARD(lname, vname) \
+ defvar_kboard (lname, \
+               (int)((char *)(&current_kboard->vname) \
+                     - (char *)current_kboard))
+
+#else /* not DOC_STRINGS_IN_COMMENTS  */
+
 #define DEFVAR_LISP(lname, vname, doc) defvar_lisp (lname, vname)
 #define DEFVAR_LISP_NOPRO(lname, vname, doc) defvar_lisp_nopro (lname, vname)
 #define DEFVAR_BOOL(lname, vname, doc) defvar_bool (lname, vname)
@@ -1575,6 +1617,10 @@ extern void defvar_kboard P_ ((char *, int));
  defvar_kboard (lname, \
                (int)((char *)(&current_kboard->vname) \
                      - (char *)current_kboard))
+
+#endif /* not DOC_STRINGS_IN_COMMENTS */
+
+
 \f
 /* Structure for recording Lisp call stack for backtrace purposes.  */