summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2011-03-06 00:07:48 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2011-03-06 00:07:48 -0500
commit798cb64441228d473f7bdd213183c70fb582595c (patch)
treebf920159d52152af2de247280444902a6cc97375 /src/eval.c
parente2abe5a13dffb08d6371b6a611bc39c3a9ac2bc6 (diff)
downloademacs-798cb64441228d473f7bdd213183c70fb582595c.tar.gz
Missing file in last commit.
* src/eval.c (funcall_lambda): Adjust arglist test accordingly.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c
index 869d70e3d7f..1f6a5e4a1c6 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3136,8 +3136,8 @@ funcall_lambda (Lisp_Object fun, int nargs,
}
else if (COMPILEDP (fun))
{
- if ((ASIZE (fun) & PSEUDOVECTOR_SIZE_MASK) > COMPILED_PUSH_ARGS
- && ! NILP (XVECTOR (fun)->contents[COMPILED_PUSH_ARGS]))
+ syms_left = AREF (fun, COMPILED_ARGLIST);
+ if (INTEGERP (syms_left))
/* A byte-code object with a non-nil `push args' slot means we
shouldn't bind any arguments, instead just call the byte-code
interpreter directly; it will push arguments as necessary.
@@ -3154,10 +3154,9 @@ funcall_lambda (Lisp_Object fun, int nargs,
return exec_byte_code (AREF (fun, COMPILED_BYTECODE),
AREF (fun, COMPILED_CONSTANTS),
AREF (fun, COMPILED_STACK_DEPTH),
- AREF (fun, COMPILED_ARGLIST),
+ syms_left,
nargs, arg_vector);
}
- syms_left = AREF (fun, COMPILED_ARGLIST);
lexenv = Qnil;
}
else