diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-03-06 00:07:48 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-03-06 00:07:48 -0500 |
commit | 798cb64441228d473f7bdd213183c70fb582595c (patch) | |
tree | bf920159d52152af2de247280444902a6cc97375 /src/eval.c | |
parent | e2abe5a13dffb08d6371b6a611bc39c3a9ac2bc6 (diff) | |
download | emacs-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.c | 7 |
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 |