]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/eval.c (eval_sub): Only call Ffunction if necessary.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 6 Sep 2013 14:28:05 +0000 (10:28 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 6 Sep 2013 14:28:05 +0000 (10:28 -0400)
src/ChangeLog
src/eval.c

index 2325b3512177bdf7f1f56a8491c3bfa342f65d39..526b05fbd9f171542ffaeec72e8d557655e2ba78 100644 (file)
@@ -1,3 +1,7 @@
+2013-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * eval.c (eval_sub): Only call Ffunction if necessary.
+
 2013-09-06  Dmitry Antipov  <dmantipov@yandex.ru>
 
        Attempt to make redisplay more selective when changing cursor type.
index 1ce14ae94a6bddb74e798555f1f55ab12f43432a..9db4d1fd81b51eaca051cd318871607eb439f5c5 100644 (file)
@@ -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))
     {