aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2001-10-13 20:43:52 +0000
committerGerd Moellmann2001-10-13 20:43:52 +0000
commitdf7cd53bbe564223b231276db252929ed06cd593 (patch)
tree131ecf71a6e95060020565c2f928331db13bf4ec
parent74c55c82b62ef596c026d9d43991fc1cf54efce1 (diff)
downloademacs-df7cd53bbe564223b231276db252929ed06cd593.tar.gz
emacs-df7cd53bbe564223b231276db252929ed06cd593.zip
(DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
Provide definitions for doc strings in comments.
-rw-r--r--src/lisp.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h
index c01266b7a7c..368b743a274 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1503,6 +1503,9 @@ typedef unsigned char UCHAR;
1503 1503
1504#if (!defined (__STDC__) && !defined (PROTOTYPES)) \ 1504#if (!defined (__STDC__) && !defined (PROTOTYPES)) \
1505 || defined (USE_NONANSI_DEFUN) 1505 || defined (USE_NONANSI_DEFUN)
1506
1507#ifdef DOC_STRINGS_IN_COMMENTS
1508
1506#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, doc) \ 1509#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, doc) \
1507 Lisp_Object fnname (); \ 1510 Lisp_Object fnname (); \
1508 struct Lisp_Subr sname = \ 1511 struct Lisp_Subr sname = \
@@ -1510,8 +1513,30 @@ typedef unsigned char UCHAR;
1510 fnname, minargs, maxargs, lname, prompt, 0}; \ 1513 fnname, minargs, maxargs, lname, prompt, 0}; \
1511 Lisp_Object fnname 1514 Lisp_Object fnname
1512 1515
1516#else /* not DOC_STRINGS_IN_COMMENTS */
1517
1518#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, args) \
1519 Lisp_Object fnname (); \
1520 struct Lisp_Subr sname = \
1521 { PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)), \
1522 fnname, minargs, maxargs, lname, prompt, 0}; \
1523 Lisp_Object fnname args
1524
1525#endif /* not DOC_STRINGS_IN_COMMENTS */
1526
1513#else 1527#else
1514 1528
1529#ifdef DOC_STRINGS_IN_COMMENTS
1530
1531#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, args) \
1532 Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \
1533 struct Lisp_Subr sname = \
1534 { PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)), \
1535 fnname, minargs, maxargs, lname, prompt, 0}; \
1536 Lisp_Object fnname args
1537
1538#else /* not DOC_STRINGS_IN_COMMENTS */
1539
1515/* This version of DEFUN declares a function prototype with the right 1540/* This version of DEFUN declares a function prototype with the right
1516 arguments, so we can catch errors with maxargs at compile-time. */ 1541 arguments, so we can catch errors with maxargs at compile-time. */
1517#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, doc) \ 1542#define DEFUN(lname, fnname, sname, minargs, maxargs, prompt, doc) \
@@ -1521,6 +1546,8 @@ typedef unsigned char UCHAR;
1521 fnname, minargs, maxargs, lname, prompt, 0}; \ 1546 fnname, minargs, maxargs, lname, prompt, 0}; \
1522 Lisp_Object fnname 1547 Lisp_Object fnname
1523 1548
1549#endif /* not DOC_STRINGS_IN_COMMENTS */
1550
1524/* Note that the weird token-substitution semantics of ANSI C makes 1551/* Note that the weird token-substitution semantics of ANSI C makes
1525 this work for MANY and UNEVALLED. */ 1552 this work for MANY and UNEVALLED. */
1526#define DEFUN_ARGS_MANY (int, Lisp_Object *) 1553#define DEFUN_ARGS_MANY (int, Lisp_Object *)
@@ -1565,6 +1592,21 @@ extern void defvar_kboard P_ ((char *, int));
1565/* Macros we use to define forwarded Lisp variables. 1592/* Macros we use to define forwarded Lisp variables.
1566 These are used in the syms_of_FILENAME functions. */ 1593 These are used in the syms_of_FILENAME functions. */
1567 1594
1595#ifdef DOC_STRINGS_IN_COMMENTS
1596
1597#define DEFVAR_LISP(lname, vname) defvar_lisp (lname, vname)
1598#define DEFVAR_LISP_NOPRO(lname, vname) defvar_lisp_nopro (lname, vname)
1599#define DEFVAR_BOOL(lname, vname) defvar_bool (lname, vname)
1600#define DEFVAR_INT(lname, vname) defvar_int (lname, vname)
1601#define DEFVAR_PER_BUFFER(lname, vname, type) \
1602 defvar_per_buffer (lname, vname, type, 0)
1603#define DEFVAR_KBOARD(lname, vname) \
1604 defvar_kboard (lname, \
1605 (int)((char *)(&current_kboard->vname) \
1606 - (char *)current_kboard))
1607
1608#else /* not DOC_STRINGS_IN_COMMENTS */
1609
1568#define DEFVAR_LISP(lname, vname, doc) defvar_lisp (lname, vname) 1610#define DEFVAR_LISP(lname, vname, doc) defvar_lisp (lname, vname)
1569#define DEFVAR_LISP_NOPRO(lname, vname, doc) defvar_lisp_nopro (lname, vname) 1611#define DEFVAR_LISP_NOPRO(lname, vname, doc) defvar_lisp_nopro (lname, vname)
1570#define DEFVAR_BOOL(lname, vname, doc) defvar_bool (lname, vname) 1612#define DEFVAR_BOOL(lname, vname, doc) defvar_bool (lname, vname)
@@ -1575,6 +1617,10 @@ extern void defvar_kboard P_ ((char *, int));
1575 defvar_kboard (lname, \ 1617 defvar_kboard (lname, \
1576 (int)((char *)(&current_kboard->vname) \ 1618 (int)((char *)(&current_kboard->vname) \
1577 - (char *)current_kboard)) 1619 - (char *)current_kboard))
1620
1621#endif /* not DOC_STRINGS_IN_COMMENTS */
1622
1623
1578 1624
1579/* Structure for recording Lisp call stack for backtrace purposes. */ 1625/* Structure for recording Lisp call stack for backtrace purposes. */
1580 1626