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: 
  (deflisp1-walker lambda-function-form (arguments body)
    ;; For any function-form (ie lambda), we just transform the body.
    ;; We also must add the parameters to the variable namespace, and
    ;; remove the parameters from the function namespace.
    (with-vars-bound (mapcar #'name arguments)
      (new 'lambda-function-form
  	 :arguments arguments
  	 :body      (lisp1s body))))
  
  (deflisp1-walker variable-reference (name)
    ;; If a free variable is bound in the toplevel, *and* not bound by
    ;; an enclosing lambda, then we'll return that function.  Also, if
    ;; the variable has been bound by an enclosing function binding form
    ;; then we'll return that function.  We take advantage of the fact
    ;; that the `name' slot is shared.
    (if (or (and (fboundp name) (not (member name *vars-bound*)))
  	  (member name *funs-bound*))
        (change-class form 'free-function-object-form)
        form))
  
  