/* Evaluator for GNU Emacs Lisp interpreter.
- Copyright (C) 1985-1987, 1993-1995, 1999-2012 Free Software Foundation, Inc.
+ Copyright (C) 1985-1987, 1993-1995, 1999-2013 Free Software
+ Foundation, Inc.
This file is part of GNU Emacs.
{
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));
}
return form;
QUIT;
+
+ GCPRO1 (form);
maybe_gc ();
+ UNGCPRO;
if (++lisp_eval_depth > max_lisp_eval_depth)
{