summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2017-03-12 17:36:41 +0200
committerEli Zaretskii <eliz@gnu.org>2017-03-12 17:36:41 +0200
commitf08362594e2889cb6f7c9b260bda48f518575765 (patch)
tree2f210ad3a0fe98eb7bcb32792d53c80af2491986
parent649fe4246eb954f2960dc31d27c9a3e844fb9cb1 (diff)
downloademacs-f08362594e2889cb6f7c9b260bda48f518575765.tar.gz
Teach etags to process ENUM_BF correctly
* lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf. (hash): Regenerated values for asso_values[] array. (in_word_set): Update values of TOTAL_KEYWORDS and MAX_HASH_VALUE. Add "ENUM_BF" to the wordlist[] array. (in_enum_bf): New file-global variable. (consider_token): Skip ENUM_BF if not in a macro definition. (C_entries): Reset the in_enum_bf flag when past its closing parenthesis. * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/CTAGS.good: Adapt to changes in etags.
-rw-r--r--lib-src/etags.c93
-rw-r--r--test/manual/etags/CTAGS.good74
-rw-r--r--test/manual/etags/ETAGS.good_116
-rw-r--r--test/manual/etags/ETAGS.good_219
-rw-r--r--test/manual/etags/ETAGS.good_376
-rw-r--r--test/manual/etags/ETAGS.good_416
-rw-r--r--test/manual/etags/ETAGS.good_579
-rw-r--r--test/manual/etags/ETAGS.good_679
8 files changed, 321 insertions, 131 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 39b90cc6cbf..015cbbe0ef3 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -2458,7 +2458,7 @@ enum sym_type
st_none,
st_C_objprot, st_C_objimpl, st_C_objend,
st_C_gnumacro,
- st_C_ignore, st_C_attribute,
+ st_C_ignore, st_C_attribute, st_C_enum_bf,
st_C_javastruct,
st_C_operator,
st_C_class, st_C_template,
@@ -2507,6 +2507,7 @@ DEFUN, 0, st_C_gnumacro
SYSCALL, 0, st_C_gnumacro
ENTRY, 0, st_C_gnumacro
PSEUDO, 0, st_C_gnumacro
+ENUM_BF, 0, st_C_enum_bf
# These are defined inside C functions, so currently they are not met.
# EXFUN used in glibc, DEFVAR_* in emacs.
#EXFUN, 0, st_C_gnumacro
@@ -2514,46 +2515,48 @@ PSEUDO, 0, st_C_gnumacro
%]
and replace lines between %< and %> with its output, then:
- remove the #if characterset check
- - make in_word_set static and not inline. */
+ - remove any #line directives
+ - make in_word_set static and not inline
+ - remove any 'register' qualifications from variable decls. */
/*%<*/
/* C code produced by gperf version 3.0.1 */
-/* Command-line: gperf -m 5 */
+/* Command-line: gperf -m 5 */
/* Computed positions: -k'2-3' */
struct C_stab_entry { const char *name; int c_ext; enum sym_type type; };
-/* maximum key range = 33, duplicates = 0 */
+/* maximum key range = 34, duplicates = 0 */
static int
hash (const char *str, int len)
{
static char const asso_values[] =
{
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 3,
- 26, 35, 35, 35, 35, 35, 35, 35, 27, 35,
- 35, 35, 35, 24, 0, 35, 35, 35, 35, 0,
- 35, 35, 35, 35, 35, 1, 35, 16, 35, 6,
- 23, 0, 0, 35, 22, 0, 35, 35, 5, 0,
- 0, 15, 1, 35, 6, 35, 8, 19, 35, 16,
- 4, 5, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 3,
+ 27, 36, 36, 36, 36, 36, 36, 36, 26, 36,
+ 36, 36, 36, 25, 0, 0, 36, 36, 36, 0,
+ 36, 36, 36, 36, 36, 1, 36, 16, 36, 6,
+ 23, 0, 0, 36, 22, 0, 36, 36, 5, 0,
+ 0, 15, 1, 36, 6, 36, 8, 19, 36, 16,
+ 4, 5, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36
};
int hval = len;
@@ -2574,11 +2577,11 @@ in_word_set (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 33,
+ TOTAL_KEYWORDS = 34,
MIN_WORD_LENGTH = 2,
MAX_WORD_LENGTH = 15,
MIN_HASH_VALUE = 2,
- MAX_HASH_VALUE = 34
+ MAX_HASH_VALUE = 35
};
static struct C_stab_entry wordlist[] =
@@ -2613,8 +2616,9 @@ in_word_set (register const char *str, register unsigned int len)
{"undef", 0, st_C_define},
{"package", (C_JAVA & ~C_PLPL), st_C_ignore},
{"__attribute__", 0, st_C_attribute},
- {"SYSCALL", 0, st_C_gnumacro},
{"ENTRY", 0, st_C_gnumacro},
+ {"SYSCALL", 0, st_C_gnumacro},
+ {"ENUM_BF", 0, st_C_enum_bf},
{"PSEUDO", 0, st_C_gnumacro},
{"DEFUN", 0, st_C_gnumacro}
};
@@ -2651,6 +2655,11 @@ C_symtype (char *str, int len, int c_ext)
*/
static bool inattribute; /* looking at an __attribute__ construct */
+/* Ignoring ENUM_BF (type)
+ *
+ */
+static bool in_enum_bf; /* inside parentheses following ENUM_BF */
+
/*
* C functions and variables are recognized using a simple
* finite automaton. fvdef is its state variable.
@@ -2891,6 +2900,15 @@ consider_token (char *str, int len, int c, int *c_extp,
return false;
}
+ /*
+ * Skip ENUM_BF
+ */
+ if (toktype == st_C_enum_bf && definedef == dnone)
+ {
+ in_enum_bf = true;
+ return false;
+ }
+
/*
* Advance the definedef state machine.
*/
@@ -3496,7 +3514,8 @@ C_entries (int c_ext, FILE *inf)
&& templatelev == 0
&& (definedef != dnone
|| structdef != scolonseen)
- && !inattribute)
+ && !inattribute
+ && !in_enum_bf)
{
if (midtoken)
{
@@ -3959,6 +3978,12 @@ C_entries (int c_ext, FILE *inf)
inattribute = false;
break;
}
+ if (in_enum_bf)
+ {
+ if (--parlev == 0)
+ in_enum_bf = false;
+ break;
+ }
if (definedef != dnone)
break;
if (objdef == ocatseen && parlev == 1)
diff --git a/test/manual/etags/CTAGS.good b/test/manual/etags/CTAGS.good
index 380bd9b9b03..13bb37c2e6a 100644
--- a/test/manual/etags/CTAGS.good
+++ b/test/manual/etags/CTAGS.good
@@ -340,6 +340,13 @@ CHARTAB_SIZE_BITS_1 c-src/emacs/src/lisp.h 1568
CHARTAB_SIZE_BITS_2 c-src/emacs/src/lisp.h 1569
CHARTAB_SIZE_BITS_3 c-src/emacs/src/lisp.h 1570
CHAR_ALT c-src/emacs/src/lisp.h 2445
+CHAR_BIT c-src/emacs/src/lisp.h 2957
+CHAR_BIT c-src/emacs/src/lisp.h 2959
+CHAR_BIT c-src/emacs/src/lisp.h 2964
+CHAR_BIT c-src/emacs/src/lisp.h 2969
+CHAR_BIT c-src/emacs/src/lisp.h 2974
+CHAR_BIT c-src/emacs/src/lisp.h 2978
+CHAR_BIT c-src/emacs/src/lisp.h 2983
CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 593
CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 597
CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 605
@@ -532,19 +539,6 @@ EMACS_UINT c-src/emacs/src/lisp.h 104
ENTRY c-src/sysdep.h /^#define ENTRY(name) \\$/
ENUM_BF c-src/emacs/src/lisp.h /^#define ENUM_BF(TYPE) unsigned int$/
ENUM_BF c-src/emacs/src/lisp.h /^#define ENUM_BF(TYPE) enum TYPE$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (symbol_redirect) redirect : 3;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (Lisp_Misc_Type) type : 16; \/* = Lisp_M/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (Lisp_Misc_Type) type : 16; \/* = Lisp_M/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (Lisp_Misc_Type) type : 16; \/* = Lisp_/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (Lisp_Misc_Type) type : 16; \/* = Lisp_/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (Lisp_Misc_Type) type : 16; \/* = Lisp_/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
-ENUM_BF c-src/emacs/src/lisp.h /^ ENUM_BF (specbind_tag) kind : CHAR_BIT;$/
EQ c-src/emacs/src/lisp.h /^# define EQ(x, y) lisp_h_EQ (x, y)$/
EQUAL y-src/cccp.c 12
ERLSRC make-src/Makefile /^ERLSRC=gs_dialog.erl lines.erl lists.erl$/
@@ -1288,6 +1282,8 @@ SAVE_OBJECT c-src/emacs/src/lisp.h 2051
SAVE_POINTER c-src/emacs/src/lisp.h 2050
SAVE_SLOT_BITS c-src/emacs/src/lisp.h 2055
SAVE_TYPE_BITS c-src/emacs/src/lisp.h 2062
+SAVE_TYPE_BITS c-src/emacs/src/lisp.h 2114
+SAVE_TYPE_BITS c-src/emacs/src/lisp.h 2123
SAVE_TYPE_FUNCPTR_PTR_OBJ c-src/emacs/src/lisp.h 2076
SAVE_TYPE_INT_INT c-src/emacs/src/lisp.h 2066
SAVE_TYPE_INT_INT_INT c-src/emacs/src/lisp.h 2067
@@ -1323,6 +1319,7 @@ SINGLE_LETTER_MOD c-src/emacs/src/keyboard.c /^#define SINGLE_LETTER_MOD(BIT)
SINGLE_LETTER_MOD c-src/emacs/src/keyboard.c 6763
SIZEFORMAT objc-src/PackInsp.m 57
SPECPDL_BACKTRACE c-src/emacs/src/lisp.h 2948
+SPECPDL_INDEX c-src/emacs/src/lisp.h /^SPECPDL_INDEX (void)$/
SPECPDL_LET c-src/emacs/src/lisp.h 2949
SPECPDL_LET_DEFAULT c-src/emacs/src/lisp.h 2952
SPECPDL_LET_LOCAL c-src/emacs/src/lisp.h 2951
@@ -2516,10 +2513,14 @@ appendix_toc perl-src/htlmify-cystic 16
apply_modifiers c-src/emacs/src/keyboard.c /^apply_modifiers (int modifiers, Lisp_Object base)$/
apply_modifiers_uncached c-src/emacs/src/keyboard.c /^apply_modifiers_uncached (int modifiers, char *bas/
aref_addr c-src/emacs/src/lisp.h /^aref_addr (Lisp_Object array, ptrdiff_t idx)$/
+arg c-src/emacs/src/lisp.h 2961
+arg c-src/emacs/src/lisp.h 2966
+arg c-src/emacs/src/lisp.h 2971
arg c-src/h.h 13
arg_type c-src/etags.c 250
arglist y-src/cccp.y 41
argno y-src/cccp.y 45
+args c-src/emacs/src/lisp.h 2986
args c-src/h.h 30
argsindent tex-src/texinfo.tex /^\\newskip\\defargsindent \\defargsindent=50pt$/
argsindent tex-src/texinfo.tex /^\\dimen1=\\hsize \\advance \\dimen1 by -\\defargsindent/
@@ -2615,9 +2616,11 @@ bool_vector_words c-src/emacs/src/lisp.h /^bool_vector_words (EMACS_INT size)$/
boolvar c-src/emacs/src/lisp.h 2287
bracelev c-src/etags.c 2520
bsp_DevId c-src/h.h 25
+bt c-src/emacs/src/lisp.h 2988
btowc c-src/emacs/src/regex.h /^# define btowc(c) c$/
buffer c-src/etags.c 238
buffer c-src/emacs/src/regex.h 341
+buffer c-src/emacs/src/lisp.h 2000
buffer c-src/h.h 119
build prol-src/natded.prolog /^build([],Left,Left).$/
build_pure_c_string c-src/emacs/src/lisp.h /^build_pure_c_string (const char *str)$/
@@ -2631,6 +2634,7 @@ button_down_time c-src/emacs/src/keyboard.c 5218
byte_stack c-src/emacs/src/lisp.h 3049
bytecode_dest c-src/emacs/src/lisp.h 3037
bytecode_top c-src/emacs/src/lisp.h 3036
+bytepos c-src/emacs/src/lisp.h 2016
bytes_free c-src/emacs/src/gmalloc.c 314
bytes_total c-src/emacs/src/gmalloc.c 310
bytes_used c-src/emacs/src/gmalloc.c 312
@@ -2659,9 +2663,11 @@ cdr c-src/emacs/src/lisp.h 1159
cell y-src/parse.y 279
cgrep html-src/software.html /^cgrep$/
chain c-src/emacs/src/lisp.h 1162
+chain c-src/emacs/src/lisp.h 2206
chain c-src/emacs/src/lisp.h 2396
char_bits c-src/emacs/src/lisp.h 2443
char_table_specials c-src/emacs/src/lisp.h 1692
+charpos c-src/emacs/src/lisp.h 2011
charset_unibyte c-src/emacs/src/regex.h 410
chartonmstr pas-src/common.pas /^function chartonmstr; (*($/
checkQuotation php-src/lce_functions.php /^ function checkQuotation($str)$/
@@ -2713,6 +2719,7 @@ conalgorithm html-src/algrthms.html /^Convolutionally$/
concat c-src/etags.c /^concat (const char *s1, const char *s2, const char/
concatenatenamestrings pas-src/common.pas /^function concatenatenamestrings; (*($/
consider_token c-src/etags.c /^consider_token (char *str, int len, int c, int *c_/
+constant c-src/emacs/src/lisp.h 668
constant c-src/h.h 29
constant y-src/cccp.y 112
constant_args c-src/h.h 27
@@ -2754,7 +2761,9 @@ data c-src/emacs/src/lisp.h 2129
data c-src/emacs/src/lisp.h 2395
ddefineseen c-src/etags.c 2462
debian-bug html-src/software.html /^debian-bug.el$/
+debug_on_exit c-src/emacs/src/lisp.h 2984
decimalKey objcpp-src/SimpleCalc.M /^- decimalKey:sender$/
+declared_special c-src/emacs/src/lisp.h 676
decode_timer c-src/emacs/src/keyboard.c /^decode_timer (Lisp_Object timer, struct timespec */
def c-src/h.h 35
def c-src/h.h 38
@@ -2852,6 +2861,7 @@ egetenv c-src/emacs/src/lisp.h /^egetenv (const char *var)$/
emacs_abort c-src/emacs/src/lisp.h /^extern _Noreturn void emacs_abort (void) NO_INLINE/
end c-src/emacs/src/regex.h 432
end c-src/emacs/src/keyboard.c 8753
+end c-src/emacs/src/lisp.h 2039
endtoken c-src/etags.c /^#define endtoken(c) (_etk[CHAR (c)]) \/* c ends tok/
enter_critical_section c-src/h.h 116
entry perl-src/htlmify-cystic 218
@@ -3053,6 +3063,10 @@ free_var prol-src/natded.prolog /^free_var(var(V),var(V)).$/
freehook c-src/emacs/src/gmalloc.c /^freehook (void *ptr)$/
fresh_vars prol-src/natded.prolog /^fresh_vars(var(V),var(V)).$/
fstartlist c-src/etags.c 2413
+func c-src/emacs/src/lisp.h /^ void (*func) (Lisp_Object);$/
+func c-src/emacs/src/lisp.h /^ void (*func) (void *);$/
+func c-src/emacs/src/lisp.h /^ void (*func) (int);$/
+func c-src/emacs/src/lisp.h /^ void (*func) (void);$/
func1 c.c /^int func1$/
func2 c.c /^int func2 (a,b$/
func_key_syms c-src/emacs/src/keyboard.c 4626
@@ -3063,6 +3077,7 @@ function c-src/etags.c 194
function c-src/emacs/src/lisp.h 694
function c-src/emacs/src/lisp.h 1685
function c-src/emacs/src/lisp.h 2197
+function c-src/emacs/src/lisp.h 2985
functionp c-src/emacs/src/lisp.h /^functionp (Lisp_Object object)$/
fval forth-src/test-forth.fth /^fconst fvalue fval$/
fvar forth-src/test-forth.fth /^fvariable fvar$/
@@ -3078,6 +3093,11 @@ gather pyt-src/server.py /^ def gather(self):$/
gather pyt-src/server.py /^ def gather(self):$/
gc_aset c-src/emacs/src/lisp.h /^gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Ob/
gcmarkbit c-src/emacs/src/lisp.h 656
+gcmarkbit c-src/emacs/src/lisp.h 1974
+gcmarkbit c-src/emacs/src/lisp.h 1981
+gcmarkbit c-src/emacs/src/lisp.h 2035
+gcmarkbit c-src/emacs/src/lisp.h 2113
+gcmarkbit c-src/emacs/src/lisp.h 2204
gcpro c-src/emacs/src/lisp.h 3042
gcpro c-src/emacs/src/lisp.h 3132
gen_help_event c-src/emacs/src/keyboard.c /^gen_help_event (Lisp_Object help, Lisp_Object fram/
@@ -3202,6 +3222,7 @@ input_pending c-src/emacs/src/keyboard.c 239
input_polling_used c-src/emacs/src/keyboard.c /^input_polling_used (void)$/
input_was_pending c-src/emacs/src/keyboard.c 287
insert-abbrev-table-description c-src/abbrev.c /^DEFUN ("insert-abbrev-table-description", Finsert_/
+insertion_type c-src/emacs/src/lisp.h 1989
insertname pas-src/common.pas /^function insertname;(*($/
instance_method ruby-src/test.rb /^ def instance_method$/
instance_method_equals= ruby-src/test.rb /^ def instance_method_equals=$/
@@ -3221,6 +3242,7 @@ interface_locate c-src/c.c /^interface_locate(void)$/
intern c-src/emacs/src/lisp.h /^intern (const char *str)$/
intern_c_string c-src/emacs/src/lisp.h /^intern_c_string (const char *str)$/
internal_last_event_frame c-src/emacs/src/keyboard.c 228
+interned c-src/emacs/src/lisp.h 672
interpreters c-src/etags.c 197
interrupt_input c-src/emacs/src/keyboard.c 328
interrupt_input_blocked c-src/emacs/src/keyboard.c 76
@@ -3330,6 +3352,7 @@ len c-src/etags.c 237
length c-src/etags.c 2495
length y-src/cccp.y 44
length y-src/cccp.y 113
+let c-src/emacs/src/lisp.h 2981
letter tex-src/texinfo.tex /^\\chapmacro {#1}{Appendix \\appendixletter}%$/
letter tex-src/texinfo.tex /^ {#1}{Appendix \\appendixletter}{\\noexpand\\folio}}/
letter tex-src/texinfo.tex /^\\gdef\\thissection{#1}\\secheading {#1}{\\appendixlet/
@@ -3534,6 +3557,7 @@ name c-src/etags.c 218
name c-src/etags.c 261
name c-src/etags.c 2271
name c-src/emacs/src/keyboard.c 7241
+name c-src/emacs/src/lisp.h 682
name c-src/emacs/src/lisp.h 1808
name c-src/emacs/src/lisp.h 3144
name perl-src/htlmify-cystic 357
@@ -3558,6 +3582,8 @@ name y-src/cccp.y 113
name y-src/cccp.y 113
named c-src/etags.c 2505
namestringequal pas-src/common.pas /^function namestringequal;(*(var Name1,Name2 : Name/
+nargs c-src/emacs/src/lisp.h 2987
+need_adjustment c-src/emacs/src/lisp.h 1986
neighbors cp-src/clheir.hpp 59
nelem cp-src/Range.h /^ int nelem (void) const { return rng_nelem; }$/
nestlev c-src/etags.c 2525
@@ -3576,6 +3602,8 @@ next c-src/emacs/src/keyboard.c 861
next c-src/emacs/src/keyboard.c 7246
next c-src/emacs/src/lisp.h 700
next c-src/emacs/src/lisp.h 1848
+next c-src/emacs/src/lisp.h 2009
+next c-src/emacs/src/lisp.h 2037
next c-src/emacs/src/lisp.h 2192
next c-src/emacs/src/lisp.h 3028
next c-src/emacs/src/lisp.h 3134
@@ -3665,6 +3693,7 @@ oimplementation c-src/etags.c 2474
oinbody c-src/etags.c 2478
ok objc-src/PackInsp.m /^-ok:sender$/
ok_to_echo_at_next_pause c-src/emacs/src/keyboard.c 159
+old_value c-src/emacs/src/lisp.h 2980
omethodcolon c-src/etags.c 2481
omethodparm c-src/etags.c 2482
omethodsign c-src/etags.c 2479
@@ -3772,10 +3801,12 @@ pending_signals c-src/emacs/src/keyboard.c 80
pfatal c-src/etags.c /^pfatal (const char *s1)$/
pfdset c-src/h.h 57
pfnote c-src/etags.c /^pfnote (char *name, bool is_func, char *linestart,/
+pinned c-src/emacs/src/lisp.h 679
plain_C_entries c-src/etags.c /^plain_C_entries (FILE *inf)$/
plain_C_suffixes c-src/etags.c 643
plainc c-src/etags.c 2934
plist c-src/emacs/src/lisp.h 697
+plist c-src/emacs/src/lisp.h 2040
plus cp-src/functions.cpp /^void Date::plus ( int days , int month , int year /
plus go-src/test1.go 5
plusvalseq prol-src/natded.prolog /^plusvalseq([]) --> [].$/
@@ -3922,6 +3953,7 @@ recursion-depth c-src/emacs/src/keyboard.c /^DEFUN ("recursion-depth", Frecursio
recursive-edit c-src/emacs/src/keyboard.c /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
recursive_edit_1 c-src/emacs/src/keyboard.c /^recursive_edit_1 (void)$/
recursive_edit_unwind c-src/emacs/src/keyboard.c /^recursive_edit_unwind (Lisp_Object buffer)$/
+redirect c-src/emacs/src/lisp.h 663
reduce prol-src/natded.prolog /^reduce((X^M)@N,L):- % beta reduction$/
reduce_subterm prol-src/natded.prolog /^reduce_subterm(M,M2):-$/
refreshPort pyt-src/server.py /^ def refreshPort(self):$/
@@ -4088,6 +4120,10 @@ snone c-src/etags.c 2443
some_mouse_moved c-src/emacs/src/keyboard.c /^some_mouse_moved (void)$/
space tex-src/texinfo.tex /^ {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/
space tex-src/texinfo.tex /^ \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/
+spacer c-src/emacs/src/lisp.h 1975
+spacer c-src/emacs/src/lisp.h 1982
+spacer c-src/emacs/src/lisp.h 2036
+spacer c-src/emacs/src/lisp.h 2205
specbind_tag c-src/emacs/src/lisp.h 2943
specbinding c-src/emacs/src/lisp.h 2955
specialsymbol prol-src/natded.prolog /^specialsymbol(C1,C2,S):-$/
@@ -4118,6 +4154,7 @@ stagseen c-src/etags.c 2446
standalone make-src/Makefile /^standalone:$/
start c-src/emacs/src/regex.h 431
start c-src/emacs/src/keyboard.c 8753
+start c-src/emacs/src/lisp.h 2038
start php-src/lce_functions.php /^ function start($line, $class)$/
start y-src/cccp.y 143
start_polling c-src/emacs/src/keyboard.c /^start_polling (void)$/
@@ -4162,6 +4199,7 @@ swallow_events c-src/emacs/src/keyboard.c /^swallow_events (bool do_display)$/
switch_line_buffers c-src/etags.c /^#define switch_line_buffers() (curndx = 1 - curndx/
sxhash_combine c-src/emacs/src/lisp.h /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/
sym_type c-src/etags.c 2204
+symbol c-src/emacs/src/lisp.h 2980
symbol_interned c-src/emacs/src/lisp.h 639
symbol_name c-src/emacs/src/lisp.h 1687
symbol_redirect c-src/emacs/src/lisp.h 646
@@ -4339,6 +4377,11 @@ ttypeseen c-src/etags.c 2430
typdef c-src/etags.c 2434
type c-src/etags.c 2271
type c-src/emacs/src/gmalloc.c 145
+type c-src/emacs/src/lisp.h 1973
+type c-src/emacs/src/lisp.h 1980
+type c-src/emacs/src/lisp.h 2034
+type c-src/emacs/src/lisp.h 2112
+type c-src/emacs/src/lisp.h 2203
type c-src/emacs/src/lisp.h 2276
type c-src/emacs/src/lisp.h 2286
type c-src/emacs/src/lisp.h 2296
@@ -4372,6 +4415,10 @@ unchar c-src/h.h 99
unexpand-abbrev c-src/abbrev.c /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
unread_switch_frame c-src/emacs/src/keyboard.c 204
unsignedp y-src/cccp.y 112
+unwind c-src/emacs/src/lisp.h 2962
+unwind_int c-src/emacs/src/lisp.h 2972
+unwind_ptr c-src/emacs/src/lisp.h 2967
+unwind_void c-src/emacs/src/lisp.h 2976
uprintmax_t c-src/emacs/src/lisp.h 149
uprintmax_t c-src/emacs/src/lisp.h 154
usage perl-src/yagrip.pl /^sub usage {$/
@@ -4423,6 +4470,7 @@ web ftp publish make-src/Makefile /^web ftp publish:$/
what c-src/etags.c 252
wheel_syms c-src/emacs/src/keyboard.c 4628
where c-src/emacs/src/lisp.h 2348
+where c-src/emacs/src/lisp.h 2980
where cp-src/clheir.hpp 77
where_in_registry cp-src/clheir.hpp 15
windowWillClose objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/
diff --git a/test/manual/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1
index 414bdfea5fa..6c4a02ae1c1 100644
--- a/test/manual/etags/ETAGS.good_1
+++ b/test/manual/etags/ETAGS.good_1
@@ -1189,7 +1189,7 @@ syms_of_keyboard 11045,333577
keys_of_keyboard 11841,367115
mark_kboards 11916,370434
-c-src/emacs/src/lisp.h,20567
+c-src/emacs/src/lisp.h,20276
#define EMACS_LISP_H22,800
#define DECLARE_GDB_SYM(47,1421
# define DEFINE_GDB_SYMBOL_BEGIN(49,1508
@@ -1367,7 +1367,6 @@ enum symbol_redirect646,24315
SYMBOL_LOCALIZED 650,24386
SYMBOL_FORWARDED 651,24410
struct Lisp_Symbol654,24437
- ENUM_BF 663,24793
#define EXFUN(707,26252
#define DEFUN_ARGS_MANY 712,26446
#define DEFUN_ARGS_UNEVALLED 713,26498
@@ -1556,11 +1555,8 @@ static double const DEFAULT_REHASH_SIZE 1950,64299
sxhash_combine 1956,64465
SXHASH_REDUCE 1964,64648
struct Lisp_Misc_Any 1971,64806
- ENUM_BF 1973,64866
struct Lisp_Marker1978,64980
- ENUM_BF 1980,65001
struct Lisp_Overlay2021,66841
- ENUM_BF 2034,67349
SAVE_UNUSED,2047,67644
SAVE_INTEGER,2048,67661
SAVE_FUNCPOINTER,2049,67679
@@ -1582,7 +1578,6 @@ enum Lisp_Save_Type2064,68075
SAVE_TYPE_MEMORY 2080,68885
typedef void (*voidfuncptr)voidfuncptr2108,69839
struct Lisp_Save_Value2110,69876
- ENUM_BF 2112,69903
save_type 2134,70755
XSAVE_POINTER 2143,70985
set_save_pointer 2149,71147
@@ -1592,7 +1587,6 @@ set_save_integer 2170,71711
XSAVE_OBJECT 2179,71932
struct Lisp_Finalizer2186,72109
struct Lisp_Free2201,72584
- ENUM_BF 2203,72605
union Lisp_Misc2212,72885
XMISC 2223,73184
XMISCANY 2229,73273
@@ -1710,13 +1704,7 @@ enum specbind_tag 2943,93805
SPECPDL_LET_LOCAL,2951,94235
SPECPDL_LET_DEFAULT 2952,94292
union specbinding2955,94364
- ENUM_BF 2957,94386
- ENUM_BF 2959,94443
- ENUM_BF 2964,94573
- ENUM_BF 2969,94696
- ENUM_BF 2974,94814
- ENUM_BF 2978,94919
- ENUM_BF 2983,95094
+SPECPDL_INDEX 2996,95388
enum handlertype 3021,96410
enum handlertype { CATCHER,3021,96410
enum handlertype { CATCHER, CONDITION_CASE 3021,96410
diff --git a/test/manual/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2
index 7b4b010b7b3..fa784d2e7b5 100644
--- a/test/manual/etags/ETAGS.good_2
+++ b/test/manual/etags/ETAGS.good_2
@@ -1383,7 +1383,7 @@ syms_of_keyboard 11045,333577
keys_of_keyboard 11841,367115
mark_kboards 11916,370434
-c-src/emacs/src/lisp.h,33973
+c-src/emacs/src/lisp.h,33840
#define EMACS_LISP_H22,800
#define DECLARE_GDB_SYM(47,1421
# define DEFINE_GDB_SYMBOL_BEGIN(49,1508
@@ -1600,7 +1600,6 @@ enum symbol_redirect646,24315
SYMBOL_LOCALIZED 650,24386
SYMBOL_FORWARDED 651,24410
struct Lisp_Symbol654,24437
- ENUM_BF 663,24793
#define EXFUN(707,26252
#define DEFUN_ARGS_MANY 712,26446
#define DEFUN_ARGS_UNEVALLED 713,26498
@@ -1792,11 +1791,8 @@ static double const DEFAULT_REHASH_SIZE 1950,64299
sxhash_combine 1956,64465
SXHASH_REDUCE 1964,64648
struct Lisp_Misc_Any 1971,64806
- ENUM_BF 1973,64866
struct Lisp_Marker1978,64980
- ENUM_BF 1980,65001
struct Lisp_Overlay2021,66841
- ENUM_BF 2034,67349
SAVE_UNUSED,2047,67644
SAVE_INTEGER,2048,67661
SAVE_FUNCPOINTER,2049,67679
@@ -1818,7 +1814,6 @@ enum Lisp_Save_Type2064,68075
SAVE_TYPE_MEMORY 2080,68885
typedef void (*voidfuncptr)voidfuncptr2108,69839
struct Lisp_Save_Value2110,69876
- ENUM_BF 2112,69903
save_type 2134,70755
XSAVE_POINTER 2143,70985
set_save_pointer 2149,71147
@@ -1828,7 +1823,6 @@ set_save_integer 2170,71711
XSAVE_OBJECT 2179,71932
struct Lisp_Finalizer2186,72109
struct Lisp_Free2201,72584
- ENUM_BF 2203,72605
union Lisp_Misc2212,72885
XMISC 2223,73184
XMISCANY 2229,73273
@@ -1952,13 +1946,10 @@ enum specbind_tag 2943,93805
SPECPDL_LET_LOCAL,2951,94235
SPECPDL_LET_DEFAULT 2952,94292
union specbinding2955,94364
- ENUM_BF 2957,94386
- ENUM_BF 2959,94443
- ENUM_BF 2964,94573
- ENUM_BF 2969,94696
- ENUM_BF 2974,94814
- ENUM_BF 2978,94919
- ENUM_BF 2983,95094
+extern union specbinding *specpdl;specpdl2991,95265
+extern union specbinding *specpdl_ptr;specpdl_ptr2992,95300
+extern ptrdiff_t specpdl_size;2993,95339
+SPECPDL_INDEX 2996,95388
enum handlertype 3021,96410
enum handlertype { CATCHER,3021,96410
enum handlertype { CATCHER, CONDITION_CASE 3021,96410
diff --git a/test/manual/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3
index ac61d84f053..547dee2d43c 100644
--- a/test/manual/etags/ETAGS.good_3
+++ b/test/manual/etags/ETAGS.good_3
@@ -1315,7 +1315,7 @@ syms_of_keyboard 11045,333577
keys_of_keyboard 11841,367115
mark_kboards 11916,370434
-c-src/emacs/src/lisp.h,25767
+c-src/emacs/src/lisp.h,27827
#define EMACS_LISP_H22,800
#define DECLARE_GDB_SYM(47,1421
# define DEFINE_GDB_SYMBOL_BEGIN(49,1508
@@ -1495,7 +1495,12 @@ enum symbol_redirect646,24315
SYMBOL_FORWARDED 651,24410
struct Lisp_Symbol654,24437
bool_bf gcmarkbit 656,24458
- ENUM_BF 663,24793
+ ENUM_BF (symbol_redirect) redirect 663,24793
+ unsigned constant 668,25011
+ unsigned interned 672,25131
+ bool_bf declared_special 676,25293
+ bool_bf pinned 679,25394
+ Lisp_Object name;682,25463
Lisp_Object value;687,25631
struct Lisp_Symbol *alias;alias688,25654
struct Lisp_Buffer_Local_Value *blv;blv689,25685
@@ -1746,11 +1751,27 @@ static double const DEFAULT_REHASH_SIZE 1950,64299
sxhash_combine 1956,64465
SXHASH_REDUCE 1964,64648
struct Lisp_Misc_Any 1971,64806
- ENUM_BF 1973,64866
+ ENUM_BF (Lisp_Misc_Type) type 1973,64866
+ bool_bf gcmarkbit 1974,64927
+ unsigned spacer 1975,64952
struct Lisp_Marker1978,64980
- ENUM_BF 1980,65001
+ ENUM_BF (Lisp_Misc_Type) type 1980,65001
+ bool_bf gcmarkbit 1981,65065
+ unsigned spacer 1982,65090
+ bool_bf need_adjustment 1986,65282
+ bool_bf insertion_type 1989,65423
+ struct buffer *buffer;buffer2000,66016
+ struct Lisp_Marker *next;next2009,66367
+ ptrdiff_t charpos;2011,66455
+ ptrdiff_t bytepos;2016,66713
struct Lisp_Overlay2021,66841
- ENUM_BF 2034,67349
+ ENUM_BF (Lisp_Misc_Type) type 2034,67349
+ bool_bf gcmarkbit 2035,67415
+ unsigned spacer 2036,67442
+ struct Lisp_Overlay *next;next2037,67468
+ Lisp_Object start;2038,67499
+ Lisp_Object end;2039,67522
+ Lisp_Object plist;2040,67543
SAVE_UNUSED,2047,67644
SAVE_INTEGER,2048,67661
SAVE_FUNCPOINTER,2049,67679
@@ -1772,7 +1793,10 @@ enum Lisp_Save_Type2064,68075
SAVE_TYPE_MEMORY 2080,68885
typedef void (*voidfuncptr)voidfuncptr2108,69839
struct Lisp_Save_Value2110,69876
- ENUM_BF 2112,69903
+ ENUM_BF (Lisp_Misc_Type) type 2112,69903
+ bool_bf gcmarkbit 2113,69972
+ unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)2114,69999
+ ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;2123,70489
void *pointer;pointer2125,70558
voidfuncptr funcpointer;2126,70579
ptrdiff_t integer;2127,70610
@@ -1791,7 +1815,10 @@ struct Lisp_Finalizer2186,72109
struct Lisp_Finalizer *next;next2192,72256
Lisp_Object function;2197,72493
struct Lisp_Free2201,72584
- ENUM_BF 2203,72605
+ ENUM_BF (Lisp_Misc_Type) type 2203,72605
+ bool_bf gcmarkbit 2204,72668
+ unsigned spacer 2205,72695
+ union Lisp_Misc *chain;chain2206,72721
union Lisp_Misc2212,72885
struct Lisp_Misc_Any u_any;2214,72905
struct Lisp_Free u_free;2215,72976
@@ -1941,13 +1968,34 @@ enum specbind_tag 2943,93805
SPECPDL_LET_LOCAL,2951,94235
SPECPDL_LET_DEFAULT 2952,94292
union specbinding2955,94364
- ENUM_BF 2957,94386
- ENUM_BF 2959,94443
- ENUM_BF 2964,94573
- ENUM_BF 2969,94696
- ENUM_BF 2974,94814
- ENUM_BF 2978,94919
- ENUM_BF 2983,95094
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2957,94386
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2959,94443
+ void (*func)func2960,94489
+ Lisp_Object arg;2961,94523
+ } unwind;2962,94546
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2964,94573
+ void (*func)func2965,94619
+ void *arg;arg2966,94648
+ } unwind_ptr;2967,94665
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2969,94696
+ void (*func)func2970,94742
+ int arg;2971,94768
+ } unwind_int;2972,94783
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2974,94814
+ void (*func)func2975,94860
+ } unwind_void;2976,94887
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2978,94919
+ Lisp_Object symbol,2980,95026
+ Lisp_Object symbol, old_value,2980,95026
+ Lisp_Object symbol, old_value, where;2980,95026
+ } let;2981,95070
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2983,95094
+ bool_bf debug_on_exit 2984,95140
+ Lisp_Object function;2985,95173
+ Lisp_Object *args;args2986,95201
+ ptrdiff_t nargs;2987,95226
+ } bt;2988,95249
+SPECPDL_INDEX 2996,95388
enum handlertype 3021,96410
enum handlertype { CATCHER,3021,96410
enum handlertype { CATCHER, CONDITION_CASE 3021,96410
diff --git a/test/manual/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4
index ae885ee82ae..2c50ec1a742 100644
--- a/test/manual/etags/ETAGS.good_4
+++ b/test/manual/etags/ETAGS.good_4
@@ -1353,7 +1353,7 @@ mark_kboards 11916,370434
DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366013
DEFVAR_LISP ("debug-on-event",\111825,366554
-c-src/emacs/src/lisp.h,20567
+c-src/emacs/src/lisp.h,20276
#define EMACS_LISP_H22,800
#define DECLARE_GDB_SYM(47,1421
# define DEFINE_GDB_SYMBOL_BEGIN(49,1508
@@ -1531,7 +1531,6 @@ enum symbol_redirect646,24315
SYMBOL_LOCALIZED 650,24386
SYMBOL_FORWARDED 651,24410
struct Lisp_Symbol654,24437
- ENUM_BF 663,24793
#define EXFUN(707,26252
#define DEFUN_ARGS_MANY 712,26446
#define DEFUN_ARGS_UNEVALLED 713,26498
@@ -1720,11 +1719,8 @@ static double const DEFAULT_REHASH_SIZE 1950,64299
sxhash_combine 1956,64465
SXHASH_REDUCE 1964,64648
struct Lisp_Misc_Any 1971,64806
- ENUM_BF 1973,64866
struct Lisp_Marker1978,64980
- ENUM_BF 1980,65001
struct Lisp_Overlay2021,66841
- ENUM_BF 2034,67349
SAVE_UNUSED,2047,67644
SAVE_INTEGER,2048,67661
SAVE_FUNCPOINTER,2049,67679
@@ -1746,7 +1742,6 @@ enum Lisp_Save_Type2064,68075
SAVE_TYPE_MEMORY 2080,68885
typedef void (*voidfuncptr)voidfuncptr2108,69839
struct Lisp_Save_Value2110,69876
- ENUM_BF 2112,69903
save_type 2134,70755
XSAVE_POINTER 2143,70985
set_save_pointer 2149,71147
@@ -1756,7 +1751,6 @@ set_save_integer 2170,71711
XSAVE_OBJECT 2179,71932
struct Lisp_Finalizer2186,72109
struct Lisp_Free2201,72584
- ENUM_BF 2203,72605
union Lisp_Misc2212,72885
XMISC 2223,73184
XMISCANY 2229,73273
@@ -1874,13 +1868,7 @@ enum specbind_tag 2943,93805
SPECPDL_LET_LOCAL,2951,94235
SPECPDL_LET_DEFAULT 2952,94292
union specbinding2955,94364
- ENUM_BF 2957,94386
- ENUM_BF 2959,94443
- ENUM_BF 2964,94573
- ENUM_BF 2969,94696
- ENUM_BF 2974,94814
- ENUM_BF 2978,94919
- ENUM_BF 2983,95094
+SPECPDL_INDEX 2996,95388
enum handlertype 3021,96410
enum handlertype { CATCHER,3021,96410
enum handlertype { CATCHER, CONDITION_CASE 3021,96410
diff --git a/test/manual/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5
index d40c7116fff..2b431034f44 100644
--- a/test/manual/etags/ETAGS.good_5
+++ b/test/manual/etags/ETAGS.good_5
@@ -1673,7 +1673,7 @@ mark_kboards 11916,370434
DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366013
DEFVAR_LISP ("debug-on-event",\111825,366554
-c-src/emacs/src/lisp.h,39173
+c-src/emacs/src/lisp.h,41391
#define EMACS_LISP_H22,800
#define DECLARE_GDB_SYM(47,1421
# define DEFINE_GDB_SYMBOL_BEGIN(49,1508
@@ -1892,7 +1892,12 @@ enum symbol_redirect646,24315
SYMBOL_FORWARDED 651,24410
struct Lisp_Symbol654,24437
bool_bf gcmarkbit 656,24458
- ENUM_BF 663,24793
+ ENUM_BF (symbol_redirect) redirect 663,24793
+ unsigned constant 668,25011
+ unsigned interned 672,25131
+ bool_bf declared_special 676,25293
+ bool_bf pinned 679,25394
+ Lisp_Object name;682,25463
Lisp_Object value;687,25631
struct Lisp_Symbol *alias;alias688,25654
struct Lisp_Buffer_Local_Value *blv;blv689,25685
@@ -2146,11 +2151,27 @@ static double const DEFAULT_REHASH_SIZE 1950,64299
sxhash_combine 1956,64465
SXHASH_REDUCE 1964,64648
struct Lisp_Misc_Any 1971,64806
- ENUM_BF 1973,64866
+ ENUM_BF (Lisp_Misc_Type) type 1973,64866
+ bool_bf gcmarkbit 1974,64927
+ unsigned spacer 1975,64952
struct Lisp_Marker1978,64980
- ENUM_BF 1980,65001
+ ENUM_BF (Lisp_Misc_Type) type 1980,65001
+ bool_bf gcmarkbit 1981,65065
+ unsigned spacer 1982,65090
+ bool_bf need_adjustment 1986,65282
+ bool_bf insertion_type 1989,65423
+ struct buffer *buffer;buffer2000,66016
+ struct Lisp_Marker *next;next2009,66367
+ ptrdiff_t charpos;2011,66455
+ ptrdiff_t bytepos;2016,66713
struct Lisp_Overlay2021,66841
- ENUM_BF 2034,67349
+ ENUM_BF (Lisp_Misc_Type) type 2034,67349
+ bool_bf gcmarkbit 2035,67415
+ unsigned spacer 2036,67442
+ struct Lisp_Overlay *next;next2037,67468
+ Lisp_Object start;2038,67499
+ Lisp_Object end;2039,67522
+ Lisp_Object plist;2040,67543
SAVE_UNUSED,2047,67644
SAVE_INTEGER,2048,67661
SAVE_FUNCPOINTER,2049,67679
@@ -2172,7 +2193,10 @@ enum Lisp_Save_Type2064,68075
SAVE_TYPE_MEMORY 2080,68885
typedef void (*voidfuncptr)voidfuncptr2108,69839
struct Lisp_Save_Value2110,69876
- ENUM_BF 2112,69903
+ ENUM_BF (Lisp_Misc_Type) type 2112,69903
+ bool_bf gcmarkbit 2113,69972
+ unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)2114,69999
+ ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;2123,70489
void *pointer;pointer2125,70558
voidfuncptr funcpointer;2126,70579
ptrdiff_t integer;2127,70610
@@ -2191,7 +2215,10 @@ struct Lisp_Finalizer2186,72109
struct Lisp_Finalizer *next;next2192,72256
Lisp_Object function;2197,72493
struct Lisp_Free2201,72584
- ENUM_BF 2203,72605
+ ENUM_BF (Lisp_Misc_Type) type 2203,72605
+ bool_bf gcmarkbit 2204,72668
+ unsigned spacer 2205,72695
+ union Lisp_Misc *chain;chain2206,72721
union Lisp_Misc2212,72885
struct Lisp_Misc_Any u_any;2214,72905
struct Lisp_Free u_free;2215,72976
@@ -2347,13 +2374,37 @@ enum specbind_tag 2943,93805
SPECPDL_LET_LOCAL,2951,94235
SPECPDL_LET_DEFAULT 2952,94292
union specbinding2955,94364
- ENUM_BF 2957,94386
- ENUM_BF 2959,94443
- ENUM_BF 2964,94573
- ENUM_BF 2969,94696
- ENUM_BF 2974,94814
- ENUM_BF 2978,94919
- ENUM_BF 2983,95094
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2957,94386
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2959,94443
+ void (*func)func2960,94489
+ Lisp_Object arg;2961,94523
+ } unwind;2962,94546
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2964,94573
+ void (*func)func2965,94619
+ void *arg;arg2966,94648
+ } unwind_ptr;2967,94665
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2969,94696
+ void (*func)func2970,94742
+ int arg;2971,94768
+ } unwind_int;2972,94783
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2974,94814
+ void (*func)func2975,94860
+ } unwind_void;2976,94887
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2978,94919
+ Lisp_Object symbol,2980,95026
+ Lisp_Object symbol, old_value,2980,95026
+ Lisp_Object symbol, old_value, where;2980,95026
+ } let;2981,95070
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2983,95094
+ bool_bf debug_on_exit 2984,95140
+ Lisp_Object function;2985,95173
+ Lisp_Object *args;args2986,95201
+ ptrdiff_t nargs;2987,95226
+ } bt;2988,95249
+extern union specbinding *specpdl;specpdl2991,95265
+extern union specbinding *specpdl_ptr;specpdl_ptr2992,95300
+extern ptrdiff_t specpdl_size;2993,95339
+SPECPDL_INDEX 2996,95388
enum handlertype 3021,96410
enum handlertype { CATCHER,3021,96410
enum handlertype { CATCHER, CONDITION_CASE 3021,96410
diff --git a/test/manual/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6
index d4c42133972..2cb0d05e72a 100644
--- a/test/manual/etags/ETAGS.good_6
+++ b/test/manual/etags/ETAGS.good_6
@@ -1673,7 +1673,7 @@ mark_kboards 11916,370434
DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366013
DEFVAR_LISP ("debug-on-event",\111825,366554
-c-src/emacs/src/lisp.h,39173
+c-src/emacs/src/lisp.h,41391
#define EMACS_LISP_H22,800
#define DECLARE_GDB_SYM(47,1421
# define DEFINE_GDB_SYMBOL_BEGIN(49,1508
@@ -1892,7 +1892,12 @@ enum symbol_redirect646,24315
SYMBOL_FORWARDED 651,24410
struct Lisp_Symbol654,24437
bool_bf gcmarkbit 656,24458
- ENUM_BF 663,24793
+ ENUM_BF (symbol_redirect) redirect 663,24793
+ unsigned constant 668,25011
+ unsigned interned 672,25131
+ bool_bf declared_special 676,25293
+ bool_bf pinned 679,25394
+ Lisp_Object name;682,25463
Lisp_Object value;687,25631
struct Lisp_Symbol *alias;alias688,25654
struct Lisp_Buffer_Local_Value *blv;blv689,25685
@@ -2146,11 +2151,27 @@ static double const DEFAULT_REHASH_SIZE 1950,64299
sxhash_combine 1956,64465
SXHASH_REDUCE 1964,64648
struct Lisp_Misc_Any 1971,64806
- ENUM_BF 1973,64866
+ ENUM_BF (Lisp_Misc_Type) type 1973,64866
+ bool_bf gcmarkbit 1974,64927
+ unsigned spacer 1975,64952
struct Lisp_Marker1978,64980
- ENUM_BF 1980,65001
+ ENUM_BF (Lisp_Misc_Type) type 1980,65001
+ bool_bf gcmarkbit 1981,65065
+ unsigned spacer 1982,65090
+ bool_bf need_adjustment 1986,65282
+ bool_bf insertion_type 1989,65423
+ struct buffer *buffer;buffer2000,66016
+ struct Lisp_Marker *next;next2009,66367
+ ptrdiff_t charpos;2011,66455
+ ptrdiff_t bytepos;2016,66713
struct Lisp_Overlay2021,66841
- ENUM_BF 2034,67349
+ ENUM_BF (Lisp_Misc_Type) type 2034,67349
+ bool_bf gcmarkbit 2035,67415
+ unsigned spacer 2036,67442
+ struct Lisp_Overlay *next;next2037,67468
+ Lisp_Object start;2038,67499
+ Lisp_Object end;2039,67522
+ Lisp_Object plist;2040,67543
SAVE_UNUSED,2047,67644
SAVE_INTEGER,2048,67661
SAVE_FUNCPOINTER,2049,67679
@@ -2172,7 +2193,10 @@ enum Lisp_Save_Type2064,68075
SAVE_TYPE_MEMORY 2080,68885
typedef void (*voidfuncptr)voidfuncptr2108,69839
struct Lisp_Save_Value2110,69876
- ENUM_BF 2112,69903
+ ENUM_BF (Lisp_Misc_Type) type 2112,69903
+ bool_bf gcmarkbit 2113,69972
+ unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)2114,69999
+ ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;2123,70489
void *pointer;pointer2125,70558
voidfuncptr funcpointer;2126,70579
ptrdiff_t integer;2127,70610
@@ -2191,7 +2215,10 @@ struct Lisp_Finalizer2186,72109
struct Lisp_Finalizer *next;next2192,72256
Lisp_Object function;2197,72493
struct Lisp_Free2201,72584
- ENUM_BF 2203,72605
+ ENUM_BF (Lisp_Misc_Type) type 2203,72605
+ bool_bf gcmarkbit 2204,72668
+ unsigned spacer 2205,72695
+ union Lisp_Misc *chain;chain2206,72721
union Lisp_Misc2212,72885
struct Lisp_Misc_Any u_any;2214,72905
struct Lisp_Free u_free;2215,72976
@@ -2347,13 +2374,37 @@ enum specbind_tag 2943,93805
SPECPDL_LET_LOCAL,2951,94235
SPECPDL_LET_DEFAULT 2952,94292
union specbinding2955,94364
- ENUM_BF 2957,94386
- ENUM_BF 2959,94443
- ENUM_BF 2964,94573
- ENUM_BF 2969,94696
- ENUM_BF 2974,94814
- ENUM_BF 2978,94919
- ENUM_BF 2983,95094
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2957,94386
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2959,94443
+ void (*func)func2960,94489
+ Lisp_Object arg;2961,94523
+ } unwind;2962,94546
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2964,94573
+ void (*func)func2965,94619
+ void *arg;arg2966,94648
+ } unwind_ptr;2967,94665
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2969,94696
+ void (*func)func2970,94742
+ int arg;2971,94768
+ } unwind_int;2972,94783
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2974,94814
+ void (*func)func2975,94860
+ } unwind_void;2976,94887
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2978,94919
+ Lisp_Object symbol,2980,95026
+ Lisp_Object symbol, old_value,2980,95026
+ Lisp_Object symbol, old_value, where;2980,95026
+ } let;2981,95070
+ ENUM_BF (specbind_tag) kind : CHAR_BIT;2983,95094
+ bool_bf debug_on_exit 2984,95140
+ Lisp_Object function;2985,95173
+ Lisp_Object *args;args2986,95201
+ ptrdiff_t nargs;2987,95226
+ } bt;2988,95249
+extern union specbinding *specpdl;specpdl2991,95265
+extern union specbinding *specpdl_ptr;specpdl_ptr2992,95300
+extern ptrdiff_t specpdl_size;2993,95339
+SPECPDL_INDEX 2996,95388
enum handlertype 3021,96410
enum handlertype { CATCHER,3021,96410
enum handlertype { CATCHER, CONDITION_CASE 3021,96410