From 306d67bd4c0161521c465c64d9cf18d1c768e174 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 6 Sep 2013 10:28:05 -0400 Subject: [PATCH] * src/eval.c (eval_sub): Only call Ffunction if necessary. --- src/ChangeLog | 4 ++++ src/eval.c | 7 +++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2325b35121..526b05fbd9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-09-06 Stefan Monnier + + * eval.c (eval_sub): Only call Ffunction if necessary. + 2013-09-06 Dmitry Antipov Attempt to make redisplay more selective when changing cursor type. diff --git a/src/eval.c b/src/eval.c index 1ce14ae94a..9db4d1fd81 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2146,11 +2146,10 @@ eval_sub (Lisp_Object form) /* Optimize for no indirection. */ fun = original_fun; - if (SYMBOLP (fun) && !NILP (fun) - && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) - fun = indirect_function (fun); - else + if (!SYMBOLP (fun)) fun = Ffunction (Fcons (fun, Qnil)); + else if (!NILP (fun) && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) + fun = indirect_function (fun); if (SUBRP (fun)) { -- 2.20.1