aboutsummaryrefslogtreecommitdiffstats
path: root/src/comp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp.c')
-rw-r--r--src/comp.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/comp.c b/src/comp.c
index 7bb160e4f0a..fb9b1a5a2d8 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -5136,21 +5136,29 @@ make_subr (Lisp_Object symbol_name, Lisp_Object minarg, Lisp_Object maxarg,
5136 if (CONSP (minarg)) 5136 if (CONSP (minarg))
5137 { 5137 {
5138 /* Dynamic code. */ 5138 /* Dynamic code. */
5139 x->s.lambda_list[0] = maxarg; 5139#ifdef HAVE_NATIVE_COMP
5140 x->s.lambda_list = maxarg;
5141#endif
5140 maxarg = XCDR (minarg); 5142 maxarg = XCDR (minarg);
5141 minarg = XCAR (minarg); 5143 minarg = XCAR (minarg);
5142 } 5144 }
5143 else 5145 else
5144 x->s.lambda_list[0] = Qnil; 5146 {
5147#ifdef HAVE_NATIVE_COMP
5148 x->s.lambda_list = Qnil;
5149#endif
5150 }
5145 x->s.function.a0 = func; 5151 x->s.function.a0 = func;
5146 x->s.min_args = XFIXNUM (minarg); 5152 x->s.min_args = XFIXNUM (minarg);
5147 x->s.max_args = FIXNUMP (maxarg) ? XFIXNUM (maxarg) : MANY; 5153 x->s.max_args = FIXNUMP (maxarg) ? XFIXNUM (maxarg) : MANY;
5148 x->s.symbol_name = xstrdup (SSDATA (symbol_name)); 5154 x->s.symbol_name = xstrdup (SSDATA (symbol_name));
5149 x->s.native_intspec = intspec; 5155 x->s.native_intspec = intspec;
5150 x->s.doc = XFIXNUM (doc_idx); 5156 x->s.doc = XFIXNUM (doc_idx);
5151 x->s.native_comp_u[0] = comp_u; 5157#ifdef HAVE_NATIVE_COMP
5152 x->s.native_c_name[0] = xstrdup (SSDATA (c_name)); 5158 x->s.native_comp_u = comp_u;
5153 x->s.type[0] = type; 5159 x->s.native_c_name = xstrdup (SSDATA (c_name));
5160 x->s.type = type;
5161#endif
5154 Lisp_Object tem; 5162 Lisp_Object tem;
5155 XSETSUBR (tem, &x->s); 5163 XSETSUBR (tem, &x->s);
5156 5164