0.7.13.28:
[sbcl.git] / src / code / eval.lisp
index e9721f2..0ed58c2 100644 (file)
@@ -79,9 +79,7 @@
            (unless (= n-args 1)
              (error "wrong number of args to FUNCTION:~% ~S" exp))
            (let ((name (second exp)))
-             (if (and (or (atom name)
-                           (and (consp name)
-                                (eq (car name) 'setf)))
+             (if (and (legal-fun-name-p name)
                        (not (consp (let ((sb!c:*lexenv* lexenv))
                                      (sb!c:lexenv-find name funs)))))
                  (fdefinition name)
                          (dolist (arg (rest exp))
                            (args (eval-in-lexenv arg lexenv)))
                          (apply (symbol-function name) (args)))
-               (%eval original-exp lexenv))))))
+               (%eval exp lexenv))))))
       (t
        exp))))
 \f