Index: /trunk/source/compiler/nx1.lisp
===================================================================
--- /trunk/source/compiler/nx1.lisp	(revision 15334)
+++ /trunk/source/compiler/nx1.lisp	(revision 15335)
@@ -203,4 +203,13 @@
                     (setq args (cdr args)))))))
 
+(defun nx1-check-local-function-binding (funcname env)
+  (if (and (symbolp funcname) (special-operator-p funcname))
+    (nx-error "Can't lexically bind special operator ~s." funcname)
+    (unless (nx-declared-notinline-p funcname env)
+      (or (maybe-warn-about-shadowing-cl-function-name funcname)
+          (when (and (symbolp funcname)
+                     (gethash funcname *nx1-alphatizers*))
+            (nx1-whine :special-fbinding funcname))))))
+
 ;;; New semantics: expansion functions are defined in current lexical environment
 ;;; vice null environment.  May be meaningless ...
@@ -211,5 +220,7 @@
     (dolist (def defs)
       (destructuring-bind (name arglist &body mbody) def
+        (setq name (nx-need-function-name name))
         (push name names)
+        (nx1-check-local-function-binding name old-env)
         (push 
          (cons 
@@ -1788,9 +1799,5 @@
     t))
 
-(defun maybe-warn-about-nx1-alphatizer-binding (funcname)
-  (or (maybe-warn-about-shadowing-cl-function-name funcname)
-      (when (and (symbolp funcname)
-                 (gethash funcname *nx1-alphatizers*))
-        (nx1-whine :special-fbinding funcname))))
+
 
 
@@ -1814,5 +1821,5 @@
             (setq fname (nx-need-function-name funcname))
             (push fname fnames)
-            (maybe-warn-about-nx1-alphatizer-binding funcname)
+            (nx1-check-local-function-binding funcname env)
             (multiple-value-bind (body decls)
                                  (parse-body flet-function-body env)
@@ -1900,5 +1907,5 @@
         (dolist (def defs (setq funcs (nreverse funcs) bodies (nreverse bodies)))
           (destructuring-bind (funcname lambda-list &body labels-function-body) def
-            (maybe-warn-about-nx1-alphatizer-binding funcname)
+            (nx1-check-local-function-binding funcname env)
             (push (setq func (make-afunc)) funcs)
             (setq blockname funcname)
