X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Feval.lisp;h=0ed58c287743255851708545b50649929b0a88ca;hb=a3ab89c1db0dd9bfb911532ca134be16f16c4c1b;hp=e9721f29059ffb7726c50c63b7c1aba3950fe5a2;hpb=3eb39e017e52b5d704e7d33405c873af52a533fd;p=sbcl.git diff --git a/src/code/eval.lisp b/src/code/eval.lisp index e9721f2..0ed58c2 100644 --- a/src/code/eval.lisp +++ b/src/code/eval.lisp @@ -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) @@ -204,7 +202,7 @@ (dolist (arg (rest exp)) (args (eval-in-lexenv arg lexenv))) (apply (symbol-function name) (args))) - (%eval original-exp lexenv)))))) + (%eval exp lexenv)))))) (t exp))))