Commit e610eaca authored by Paul Eggert's avatar Paul Eggert
Browse files

* eval.c (funcall_lambda): Rename local to avoid shadowing.

parent b895abce
2011-04-03 Paul Eggert <eggert@cs.ucla.edu>
* eval.c (funcall_lambda): Rename local to avoid shadowing.
* alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
Otherwise, GCC 4.6.0 optimizes the loop check away since the check
can always succeed if overflow has undefined behavior.
......@@ -3206,26 +3206,26 @@ funcall_lambda (Lisp_Object fun, size_t nargs,
optional = 1;
else
{
Lisp_Object val;
Lisp_Object arg;
if (rest)
{
val = Flist (nargs - i, &arg_vector[i]);
arg = Flist (nargs - i, &arg_vector[i]);
i = nargs;
}
else if (i < nargs)
val = arg_vector[i++];
arg = arg_vector[i++];
else if (!optional)
xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs));
else
val = Qnil;
arg = Qnil;
/* Bind the argument. */
if (!NILP (lexenv) && SYMBOLP (next))
/* Lexically bind NEXT by adding it to the lexenv alist. */
lexenv = Fcons (Fcons (next, val), lexenv);
lexenv = Fcons (Fcons (next, arg), lexenv);
else
/* Dynamically bind NEXT. */
specbind (next, val);
specbind (next, arg);
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment