anchor.diff:       ;; a globaly defined symbol-macro
        (walk-form (macroexpand-1 form) parent env))
       (t
  +     (when (and *warn-undefined*
  +                (not (boundp form)))
  +       (warn 'undefined-variable-reference :name form))
        (make-instance 'free-variable-reference :name form
                       :parent parent :source form))))
   
  
positive.code: ;;;; FORM objects.
  
  (defvar *walker-handlers* (make-hash-table :test 'eq))
  
  (defvar +atom-marker+ '+atom-marker+)
  
  
negative.code:     (values environment declares)))
  
  (defun walk-implict-progn (parent forms env &key docstring declare)
    (handler-bind ((undefined-reference (lambda (condition)
                                          (unless (enclosing-code condition)
                                            (setf (enclosing-code condition) `(progn ,@forms))))))
      (multiple-value-bind (body env docstring declarations)
          (split-body forms env :parent parent :docstring docstring :declare declare)
        (values (mapcar (lambda (form)
                          (walk-form form parent env))
                        body)
                docstring
                declarations))))
  
  ;;;; Atoms
  
  