summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/alloc.c2
-rw-r--r--src/comp.c2
-rw-r--r--src/data.c6
-rw-r--r--src/eval.c2
-rw-r--r--src/lisp.h6
-rw-r--r--src/pdumper.c4
6 files changed, 11 insertions, 11 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 8fd981a51f9..4fc40445874 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6894,7 +6894,7 @@ process_mark_stack (ptrdiff_t base_sp)
{
set_vector_marked (ptr);
struct Lisp_Subr *subr = XSUBR (obj);
- mark_stack_push_value (subr->native_intspec);
+ mark_stack_push_value (subr->intspec.native);
mark_stack_push_value (subr->command_modes);
mark_stack_push_value (subr->native_comp_u);
mark_stack_push_value (subr->lambda_list);
diff --git a/src/comp.c b/src/comp.c
index 398f35ddb0b..66a7ab789a8 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -5439,7 +5439,7 @@ make_subr (Lisp_Object symbol_name, Lisp_Object minarg, Lisp_Object maxarg,
x->s.min_args = XFIXNUM (minarg);
x->s.max_args = FIXNUMP (maxarg) ? XFIXNUM (maxarg) : MANY;
x->s.symbol_name = xstrdup (SSDATA (symbol_name));
- x->s.native_intspec = intspec;
+ x->s.intspec.native = intspec;
x->s.command_modes = command_modes;
x->s.doc = XFIXNUM (doc_idx);
#ifdef HAVE_NATIVE_COMP
diff --git a/src/data.c b/src/data.c
index f06b561dcc6..72af8a6648e 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1090,10 +1090,10 @@ Value, if non-nil, is a list (interactive SPEC). */)
if (SUBRP (fun))
{
- if (SUBR_NATIVE_COMPILEDP (fun) && !NILP (XSUBR (fun)->native_intspec))
- return XSUBR (fun)->native_intspec;
+ if (SUBR_NATIVE_COMPILEDP (fun) && !NILP (XSUBR (fun)->intspec.native))
+ return XSUBR (fun)->intspec.native;
- const char *spec = XSUBR (fun)->intspec;
+ const char *spec = XSUBR (fun)->intspec.string;
if (spec)
return list2 (Qinteractive,
(*spec != '(') ? build_string (spec) :
diff --git a/src/eval.c b/src/eval.c
index 6b1e12b8232..37bc03465cc 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2055,7 +2055,7 @@ then strings and vectors are not accepted. */)
/* Emacs primitives are interactive if their DEFUN specifies an
interactive spec. */
if (SUBRP (fun))
- return XSUBR (fun)->intspec ? Qt : if_prop;
+ return XSUBR (fun)->intspec.string ? Qt : if_prop;
/* Bytecode objects are interactive if they are long enough to
have an element whose index is COMPILED_INTERACTIVE, which is
diff --git a/src/lisp.h b/src/lisp.h
index f723876634a..fb43bfa791b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2151,9 +2151,9 @@ struct Lisp_Subr
short min_args, max_args;
const char *symbol_name;
union {
- const char *intspec;
- Lisp_Object native_intspec;
- };
+ const char *string;
+ Lisp_Object native;
+ } intspec;
Lisp_Object command_modes;
EMACS_INT doc;
#ifdef HAVE_NATIVE_COMP
diff --git a/src/pdumper.c b/src/pdumper.c
index 24393e03665..0b74e6431fe 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -2876,13 +2876,13 @@ dump_subr (struct dump_context *ctx, const struct Lisp_Subr *subr)
dump_remember_cold_op (ctx,
COLD_OP_NATIVE_SUBR,
make_lisp_ptr ((void *) subr, Lisp_Vectorlike));
- dump_field_lv (ctx, &out, subr, &subr->native_intspec, WEIGHT_NORMAL);
+ dump_field_lv (ctx, &out, subr, &subr->intspec.native, WEIGHT_NORMAL);
dump_field_lv (ctx, &out, subr, &subr->command_modes, WEIGHT_NORMAL);
}
else
{
dump_field_emacs_ptr (ctx, &out, subr, &subr->symbol_name);
- dump_field_emacs_ptr (ctx, &out, subr, &subr->intspec);
+ dump_field_emacs_ptr (ctx, &out, subr, &subr->intspec.string);
dump_field_emacs_ptr (ctx, &out, subr, &subr->command_modes);
}
DUMP_FIELD_COPY (&out, subr, doc);