From: Stefan Monnier Date: Sun, 6 Mar 2011 05:07:48 +0000 (-0500) Subject: Missing file in last commit. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~20 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=798cb64441228d473f7bdd213183c70fb582595c;p=emacs.git Missing file in last commit. * src/eval.c (funcall_lambda): Adjust arglist test accordingly. --- 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