aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c
index 34b20f6fc8e..69483a9b205 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1,5 +1,6 @@
1/* Evaluator for GNU Emacs Lisp interpreter. 1/* Evaluator for GNU Emacs Lisp interpreter.
2 Copyright (C) 1985-1987, 1993-1995, 1999-2012 Free Software Foundation, Inc. 2 Copyright (C) 1985-1987, 1993-1995, 1999-2013 Free Software
3 Foundation, Inc.
3 4
4This file is part of GNU Emacs. 5This file is part of GNU Emacs.
5 6
@@ -1689,7 +1690,6 @@ error (const char *m, ...)
1689 va_list ap; 1690 va_list ap;
1690 va_start (ap, m); 1691 va_start (ap, m);
1691 verror (m, ap); 1692 verror (m, ap);
1692 va_end (ap);
1693} 1693}
1694 1694
1695DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0, 1695DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0,
@@ -1897,7 +1897,7 @@ If LEXICAL is t, evaluate using lexical scoping. */)
1897{ 1897{
1898 ptrdiff_t count = SPECPDL_INDEX (); 1898 ptrdiff_t count = SPECPDL_INDEX ();
1899 specbind (Qinternal_interpreter_environment, 1899 specbind (Qinternal_interpreter_environment,
1900 NILP (lexical) ? Qnil : Fcons (Qt, Qnil)); 1900 CONSP (lexical) || NILP (lexical) ? lexical : Fcons (Qt, Qnil));
1901 return unbind_to (count, eval_sub (form)); 1901 return unbind_to (count, eval_sub (form));
1902} 1902}
1903 1903
@@ -1930,7 +1930,10 @@ eval_sub (Lisp_Object form)
1930 return form; 1930 return form;
1931 1931
1932 QUIT; 1932 QUIT;
1933
1934 GCPRO1 (form);
1933 maybe_gc (); 1935 maybe_gc ();
1936 UNGCPRO;
1934 1937
1935 if (++lisp_eval_depth > max_lisp_eval_depth) 1938 if (++lisp_eval_depth > max_lisp_eval_depth)
1936 { 1939 {