aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/eval.c b/src/eval.c
index d2cab006d11..2928a45ac1e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -550,15 +550,12 @@ usage: (function ARG) */)
550 CHECK_STRING (docstring); 550 CHECK_STRING (docstring);
551 cdr = Fcons (XCAR (cdr), Fcons (docstring, XCDR (XCDR (cdr)))); 551 cdr = Fcons (XCAR (cdr), Fcons (docstring, XCDR (XCDR (cdr))));
552 } 552 }
553 Lisp_Object env 553 if (NILP (Vinternal_make_interpreted_closure_function))
554 = NILP (Vinternal_filter_closure_env_function) 554 return Fcons (Qclosure, Fcons (Vinternal_interpreter_environment, cdr));
555 ? Vinternal_interpreter_environment 555 else
556 /* FIXME: This macroexpands the body, so we should use the resulting 556 return call2 (Vinternal_make_interpreted_closure_function,
557 macroexpanded code! */ 557 Fcons (Qlambda, cdr),
558 : call2 (Vinternal_filter_closure_env_function, 558 Vinternal_interpreter_environment);
559 Fcons (Qprogn, CONSP (cdr) ? XCDR (cdr) : cdr),
560 Vinternal_interpreter_environment);
561 return Fcons (Qclosure, Fcons (env, cdr));
562 } 559 }
563 else 560 else
564 /* Simply quote the argument. */ 561 /* Simply quote the argument. */
@@ -4361,10 +4358,10 @@ alist of active lexical bindings. */);
4361 (Just imagine if someone makes it buffer-local). */ 4358 (Just imagine if someone makes it buffer-local). */
4362 Funintern (Qinternal_interpreter_environment, Qnil); 4359 Funintern (Qinternal_interpreter_environment, Qnil);
4363 4360
4364 DEFVAR_LISP ("internal-filter-closure-env-function", 4361 DEFVAR_LISP ("internal-make-interpreted-closure-function",
4365 Vinternal_filter_closure_env_function, 4362 Vinternal_make_interpreted_closure_function,
4366 doc: /* Function to filter the env when constructing a closure. */); 4363 doc: /* Function to filter the env when constructing a closure. */);
4367 Vinternal_filter_closure_env_function = Qnil; 4364 Vinternal_make_interpreted_closure_function = Qnil;
4368 4365
4369 Vrun_hooks = intern_c_string ("run-hooks"); 4366 Vrun_hooks = intern_c_string ("run-hooks");
4370 staticpro (&Vrun_hooks); 4367 staticpro (&Vrun_hooks);