for `interactive' specs.
* src/eval.c (Feval): Accept a lexical environment.
Fixes: debbugs:13811
+2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * callint.c (Fcall_interactively): Use the right lexical environment
+ for `interactive' specs (bug#13811).
+ * eval.c (Feval): Accept a lexical environment.
+
2013-02-25 Paul Eggert <eggert@cs.ucla.edu>
Simplify data_start configuration (Bug#13783).
/* Compute the arg values using the user's expression. */
GCPRO2 (input, filter_specs);
specs = Feval (specs,
- CONSP (funval) && EQ (Qclosure, XCAR (funval))
- ? Qt : Qnil);
+ CONSP (funval) && EQ (Qclosure, XCAR (funval))
+ ? CAR_SAFE (XCDR (funval)) : Qnil);
UNGCPRO;
if (events != num_input_events || !NILP (record_flag))
{
{
ptrdiff_t count = SPECPDL_INDEX ();
specbind (Qinternal_interpreter_environment,
- NILP (lexical) ? Qnil : Fcons (Qt, Qnil));
+ CONSP (lexical) || NILP (lexical) ? lexical : Fcons (Qt, Qnil));
return unbind_to (count, eval_sub (form));
}