diff options
| author | Gerd Moellmann | 2001-10-13 20:43:52 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-10-13 20:43:52 +0000 |
| commit | df7cd53bbe564223b231276db252929ed06cd593 (patch) | |
| tree | 131ecf71a6e95060020565c2f928331db13bf4ec | |
| parent | 74c55c82b62ef596c026d9d43991fc1cf54efce1 (diff) | |
| download | emacs-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.h | 46 |
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 *)(¤t_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 *)(¤t_kboard->vname) \ | 1618 | (int)((char *)(¤t_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 | ||