diff options
| author | Eli Zaretskii | 2015-10-24 13:27:52 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2015-10-24 13:27:52 +0300 |
| commit | aca9354c01af0625997d60b089289140695e5e91 (patch) | |
| tree | 04afefb32afcf948c45d9b09f7a4cbcea0639254 /src | |
| parent | c2c12a1426b5dde9e2436e7dd0d24d71b2f67125 (diff) | |
| download | emacs-aca9354c01af0625997d60b089289140695e5e91.tar.gz emacs-aca9354c01af0625997d60b089289140695e5e91.zip | |
Avoid missing inline functions from lisp.h in TAGS
* src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
need to end each invocation with a semi-colon.
Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
and LISP_MACRO_DEFUN_VOID. This is to avoid missing in TAGS
inline functions defined immediately after each invocation, and
also avoid tagging every invocation of these macros.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 66 |
1 files changed, 37 insertions, 29 deletions
diff --git a/src/lisp.h b/src/lisp.h index 12e00f1f25b..e2b7b67103d 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -318,7 +318,15 @@ error !; | |||
| 318 | Bug#11935. | 318 | Bug#11935. |
| 319 | 319 | ||
| 320 | Commentary for these macros can be found near their corresponding | 320 | Commentary for these macros can be found near their corresponding |
| 321 | functions, below. */ | 321 | functions, below. |
| 322 | |||
| 323 | Note: Each use of LISP_MACRO_DEFUN should have a semi-colon ; at | ||
| 324 | its end, although the expansion of that macro doesn't require that. | ||
| 325 | That's because any inline function defined immediately after the | ||
| 326 | use of that macro will otherwise be missed by 'etags' (because | ||
| 327 | 'etags' works on un-preprocessed source, and treats the invocation | ||
| 328 | of LISP_MACRO_DEFUN as some kind of data type), and will not end up | ||
| 329 | in TAGS. */ | ||
| 322 | 330 | ||
| 323 | #if CHECK_LISP_OBJECT_TYPE | 331 | #if CHECK_LISP_OBJECT_TYPE |
| 324 | # define lisp_h_XLI(o) ((o).i) | 332 | # define lisp_h_XLI(o) ((o).i) |
| @@ -751,8 +759,8 @@ struct Lisp_Symbol | |||
| 751 | 759 | ||
| 752 | /* Convert a Lisp_Object to the corresponding EMACS_INT and vice versa. | 760 | /* Convert a Lisp_Object to the corresponding EMACS_INT and vice versa. |
| 753 | At the machine level, these operations are no-ops. */ | 761 | At the machine level, these operations are no-ops. */ |
| 754 | LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o), (o)) | 762 | LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o), (o)); |
| 755 | LISP_MACRO_DEFUN (XIL, Lisp_Object, (EMACS_INT i), (i)) | 763 | LISP_MACRO_DEFUN (XIL, Lisp_Object, (EMACS_INT i), (i)); |
| 756 | 764 | ||
| 757 | /* In the size word of a vector, this bit means the vector has been marked. */ | 765 | /* In the size word of a vector, this bit means the vector has been marked. */ |
| 758 | 766 | ||
| @@ -828,12 +836,12 @@ DEFINE_GDB_SYMBOL_END (VALMASK) | |||
| 828 | 836 | ||
| 829 | #if USE_LSB_TAG | 837 | #if USE_LSB_TAG |
| 830 | 838 | ||
| 831 | LISP_MACRO_DEFUN (make_number, Lisp_Object, (EMACS_INT n), (n)) | 839 | LISP_MACRO_DEFUN (make_number, Lisp_Object, (EMACS_INT n), (n)); |
| 832 | LISP_MACRO_DEFUN (XINT, EMACS_INT, (Lisp_Object a), (a)) | 840 | LISP_MACRO_DEFUN (XINT, EMACS_INT, (Lisp_Object a), (a)); |
| 833 | LISP_MACRO_DEFUN (XFASTINT, EMACS_INT, (Lisp_Object a), (a)) | 841 | LISP_MACRO_DEFUN (XFASTINT, EMACS_INT, (Lisp_Object a), (a)); |
| 834 | LISP_MACRO_DEFUN (XSYMBOL, struct Lisp_Symbol *, (Lisp_Object a), (a)) | 842 | LISP_MACRO_DEFUN (XSYMBOL, struct Lisp_Symbol *, (Lisp_Object a), (a)); |
| 835 | LISP_MACRO_DEFUN (XTYPE, enum Lisp_Type, (Lisp_Object a), (a)) | 843 | LISP_MACRO_DEFUN (XTYPE, enum Lisp_Type, (Lisp_Object a), (a)); |
| 836 | LISP_MACRO_DEFUN (XUNTAG, void *, (Lisp_Object a, int type), (a, type)) | 844 | LISP_MACRO_DEFUN (XUNTAG, void *, (Lisp_Object a, int type), (a, type)); |
| 837 | 845 | ||
| 838 | #else /* ! USE_LSB_TAG */ | 846 | #else /* ! USE_LSB_TAG */ |
| 839 | 847 | ||
| @@ -924,7 +932,7 @@ XUINT (Lisp_Object a) | |||
| 924 | /* Return A's (Lisp-integer sized) hash. Happens to be like XUINT | 932 | /* Return A's (Lisp-integer sized) hash. Happens to be like XUINT |
| 925 | right now, but XUINT should only be applied to objects we know are | 933 | right now, but XUINT should only be applied to objects we know are |
| 926 | integers. */ | 934 | integers. */ |
| 927 | LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a), (a)) | 935 | LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a), (a)); |
| 928 | 936 | ||
| 929 | /* Like make_number (N), but may be faster. N must be in nonnegative range. */ | 937 | /* Like make_number (N), but may be faster. N must be in nonnegative range. */ |
| 930 | INLINE Lisp_Object | 938 | INLINE Lisp_Object |
| @@ -936,7 +944,7 @@ make_natnum (EMACS_INT n) | |||
| 936 | } | 944 | } |
| 937 | 945 | ||
| 938 | /* Return true if X and Y are the same object. */ | 946 | /* Return true if X and Y are the same object. */ |
| 939 | LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_Object y), (x, y)) | 947 | LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_Object y), (x, y)); |
| 940 | 948 | ||
| 941 | /* Value is true if I doesn't fit into a Lisp fixnum. It is | 949 | /* Value is true if I doesn't fit into a Lisp fixnum. It is |
| 942 | written this way so that it also works if I is of unsigned | 950 | written this way so that it also works if I is of unsigned |
| @@ -954,7 +962,7 @@ clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper) | |||
| 954 | 962 | ||
| 955 | /* Extract a value or address from a Lisp_Object. */ | 963 | /* Extract a value or address from a Lisp_Object. */ |
| 956 | 964 | ||
| 957 | LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp_Object a), (a)) | 965 | LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp_Object a), (a)); |
| 958 | 966 | ||
| 959 | INLINE struct Lisp_Vector * | 967 | INLINE struct Lisp_Vector * |
| 960 | XVECTOR (Lisp_Object a) | 968 | XVECTOR (Lisp_Object a) |
| @@ -1129,7 +1137,7 @@ make_pointer_integer (void *p) | |||
| 1129 | 1137 | ||
| 1130 | LISP_MACRO_DEFUN_VOID (CHECK_TYPE, | 1138 | LISP_MACRO_DEFUN_VOID (CHECK_TYPE, |
| 1131 | (int ok, Lisp_Object predicate, Lisp_Object x), | 1139 | (int ok, Lisp_Object predicate, Lisp_Object x), |
| 1132 | (ok, predicate, x)) | 1140 | (ok, predicate, x)); |
| 1133 | 1141 | ||
| 1134 | /* See the macros in intervals.h. */ | 1142 | /* See the macros in intervals.h. */ |
| 1135 | 1143 | ||
| @@ -1169,8 +1177,8 @@ xcdr_addr (Lisp_Object c) | |||
| 1169 | } | 1177 | } |
| 1170 | 1178 | ||
| 1171 | /* Use these from normal code. */ | 1179 | /* Use these from normal code. */ |
| 1172 | LISP_MACRO_DEFUN (XCAR, Lisp_Object, (Lisp_Object c), (c)) | 1180 | LISP_MACRO_DEFUN (XCAR, Lisp_Object, (Lisp_Object c), (c)); |
| 1173 | LISP_MACRO_DEFUN (XCDR, Lisp_Object, (Lisp_Object c), (c)) | 1181 | LISP_MACRO_DEFUN (XCDR, Lisp_Object, (Lisp_Object c), (c)); |
| 1174 | 1182 | ||
| 1175 | /* Use these to set the fields of a cons cell. | 1183 | /* Use these to set the fields of a cons cell. |
| 1176 | 1184 | ||
| @@ -1707,7 +1715,7 @@ verify (offsetof (struct Lisp_Sub_Char_Table, contents) | |||
| 1707 | 1715 | ||
| 1708 | /* Value is name of symbol. */ | 1716 | /* Value is name of symbol. */ |
| 1709 | 1717 | ||
| 1710 | LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct Lisp_Symbol *sym), (sym)) | 1718 | LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct Lisp_Symbol *sym), (sym)); |
| 1711 | 1719 | ||
| 1712 | INLINE struct Lisp_Symbol * | 1720 | INLINE struct Lisp_Symbol * |
| 1713 | SYMBOL_ALIAS (struct Lisp_Symbol *sym) | 1721 | SYMBOL_ALIAS (struct Lisp_Symbol *sym) |
| @@ -1729,7 +1737,7 @@ SYMBOL_FWD (struct Lisp_Symbol *sym) | |||
| 1729 | } | 1737 | } |
| 1730 | 1738 | ||
| 1731 | LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL, | 1739 | LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL, |
| 1732 | (struct Lisp_Symbol *sym, Lisp_Object v), (sym, v)) | 1740 | (struct Lisp_Symbol *sym, Lisp_Object v), (sym, v)); |
| 1733 | 1741 | ||
| 1734 | INLINE void | 1742 | INLINE void |
| 1735 | SET_SYMBOL_ALIAS (struct Lisp_Symbol *sym, struct Lisp_Symbol *v) | 1743 | SET_SYMBOL_ALIAS (struct Lisp_Symbol *sym, struct Lisp_Symbol *v) |
| @@ -1776,7 +1784,7 @@ SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object sym) | |||
| 1776 | value cannot be changed (there is an exception for keyword symbols, | 1784 | value cannot be changed (there is an exception for keyword symbols, |
| 1777 | whose value can be set to the keyword symbol itself). */ | 1785 | whose value can be set to the keyword symbol itself). */ |
| 1778 | 1786 | ||
| 1779 | LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Object sym), (sym)) | 1787 | LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Object sym), (sym)); |
| 1780 | 1788 | ||
| 1781 | /* Placeholder for make-docfile to process. The actual symbol | 1789 | /* Placeholder for make-docfile to process. The actual symbol |
| 1782 | definition is done by lread.c's defsym. */ | 1790 | definition is done by lread.c's defsym. */ |
| @@ -2446,7 +2454,7 @@ enum char_bits | |||
| 2446 | 2454 | ||
| 2447 | /* Data type checking. */ | 2455 | /* Data type checking. */ |
| 2448 | 2456 | ||
| 2449 | LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)) | 2457 | LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)); |
| 2450 | 2458 | ||
| 2451 | INLINE bool | 2459 | INLINE bool |
| 2452 | NUMBERP (Lisp_Object x) | 2460 | NUMBERP (Lisp_Object x) |
| @@ -2470,13 +2478,13 @@ RANGED_INTEGERP (intmax_t lo, Lisp_Object x, intmax_t hi) | |||
| 2470 | && (TYPE_SIGNED (type) ? TYPE_MINIMUM (type) <= XINT (x) : 0 <= XINT (x)) \ | 2478 | && (TYPE_SIGNED (type) ? TYPE_MINIMUM (type) <= XINT (x) : 0 <= XINT (x)) \ |
| 2471 | && XINT (x) <= TYPE_MAXIMUM (type)) | 2479 | && XINT (x) <= TYPE_MAXIMUM (type)) |
| 2472 | 2480 | ||
| 2473 | LISP_MACRO_DEFUN (CONSP, bool, (Lisp_Object x), (x)) | 2481 | LISP_MACRO_DEFUN (CONSP, bool, (Lisp_Object x), (x)); |
| 2474 | LISP_MACRO_DEFUN (FLOATP, bool, (Lisp_Object x), (x)) | 2482 | LISP_MACRO_DEFUN (FLOATP, bool, (Lisp_Object x), (x)); |
| 2475 | LISP_MACRO_DEFUN (MISCP, bool, (Lisp_Object x), (x)) | 2483 | LISP_MACRO_DEFUN (MISCP, bool, (Lisp_Object x), (x)); |
| 2476 | LISP_MACRO_DEFUN (SYMBOLP, bool, (Lisp_Object x), (x)) | 2484 | LISP_MACRO_DEFUN (SYMBOLP, bool, (Lisp_Object x), (x)); |
| 2477 | LISP_MACRO_DEFUN (INTEGERP, bool, (Lisp_Object x), (x)) | 2485 | LISP_MACRO_DEFUN (INTEGERP, bool, (Lisp_Object x), (x)); |
| 2478 | LISP_MACRO_DEFUN (VECTORLIKEP, bool, (Lisp_Object x), (x)) | 2486 | LISP_MACRO_DEFUN (VECTORLIKEP, bool, (Lisp_Object x), (x)); |
| 2479 | LISP_MACRO_DEFUN (MARKERP, bool, (Lisp_Object x), (x)) | 2487 | LISP_MACRO_DEFUN (MARKERP, bool, (Lisp_Object x), (x)); |
| 2480 | 2488 | ||
| 2481 | INLINE bool | 2489 | INLINE bool |
| 2482 | STRINGP (Lisp_Object x) | 2490 | STRINGP (Lisp_Object x) |
| @@ -2627,9 +2635,9 @@ CHECK_LIST (Lisp_Object x) | |||
| 2627 | CHECK_TYPE (CONSP (x) || NILP (x), Qlistp, x); | 2635 | CHECK_TYPE (CONSP (x) || NILP (x), Qlistp, x); |
| 2628 | } | 2636 | } |
| 2629 | 2637 | ||
| 2630 | LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Object x, Lisp_Object y), (x, y)) | 2638 | LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Object x, Lisp_Object y), (x, y)); |
| 2631 | LISP_MACRO_DEFUN_VOID (CHECK_SYMBOL, (Lisp_Object x), (x)) | 2639 | LISP_MACRO_DEFUN_VOID (CHECK_SYMBOL, (Lisp_Object x), (x)); |
| 2632 | LISP_MACRO_DEFUN_VOID (CHECK_NUMBER, (Lisp_Object x), (x)) | 2640 | LISP_MACRO_DEFUN_VOID (CHECK_NUMBER, (Lisp_Object x), (x)); |
| 2633 | 2641 | ||
| 2634 | INLINE void | 2642 | INLINE void |
| 2635 | CHECK_STRING (Lisp_Object x) | 2643 | CHECK_STRING (Lisp_Object x) |