anchor.diff:  			(lisp1s arguments))))
   
   (deflisp1-walker function-binding-form (binds body)
  -  (new (class-name-of form)
  -       :binds (lisp1b binds)
  -       :body  (lisp1s body)))
  +  ;; Add all the bindings to the function namespace to be sharp
  +  ;; quoted.
  +  (with-funs-bound (mapcar #'car binds)
  +    (new (class-name-of form)
  +	 :binds (lisp1b binds)
  +	 :body  (lisp1s body))))
   
   (deflisp1-walker variable-binding-form (binds body)
  -  (new (class-name-of form)
  -       :binds (lisp1b binds)
  -       :body  (lisp1s body)))
  +  ;; Add all the bindings to the variable namespace so they aren't
  +  ;; sharp-quoted.
  +  (with-vars-bound (mapcar #'car binds)
  +    (new (class-name-of form)
  +	 :binds (lisp1b binds)
  +	 :body  (lisp1s body))))
  +
  +;; Walking all the other Common Lisp forms is rather straight-forward.
   
   (deflisp1-walker setq-form (var value)
     (new 'setq-form
  
positive.code: 
  ;;;; * Special Variables
  
  (defvar *bound-vars* nil
    "When walking code, this variable contains a list of
  variables (represented by symbols) which have been bound.")
  
  ;;;; * Definers
  
  
negative.code:   "Define a function with BODY written in Lisp-1 style.
  
  This is just like DEFUN."
    (with-vars-bound (extract-argument-names args :allow-specializers nil)
      `(defun ,name ,args
         ,(lisp1 `(block ,name ,@body)))))
  
  (defmacro defmethod1 (name (&rest args) &body body)
    "Define a method with BODY written in Lisp-1 style.
  
  This is just like DEFMETHOD."
    (with-vars-bound (extract-argument-names args :allow-specializers t)
      `(defmethod ,name ,args
         ,(lisp1 `(block ,name ,@body)))))
  
  