anchor.diff:                                      entry))))
   
   (defun walk-directory (directory fn &key (if-does-not-exist :error)
  -                       follow-symlinks (order :directory-first)
  +                       follow-symlinks (directories :before)
                          (mindepth 1) (maxdepth 65535)
                          (test (constantly t)) (key #'identity))
     "Recursively applies the function FN to all files within the
  
positive.code:                  (:directory
                    (when (and (funcall test name-key kind)
                               (< depth maxdepth))
                      (ecase order
                        (:directory-first
                         (when (<= mindepth depth)
                           (funcall fn name-key kind))
                         (walkdir name depth parent))
                        (:depth-first
                         (walkdir name depth parent)
                         (when (<= mindepth depth)
                           (funcall fn name-key kind))))))
  
negative.code:       ;; FIXME: Handle all possible syscall errors
        (isys:enoent ()
          (ecase if-does-not-exist
            (:error (isys:syscall-error "Directory ~S does not exist"
                                        directory))
            ((nil)  nil)))
        (isys:eacces ()
          (isys:syscall-error "Search permission is denied for ~S"
                              directory)))))
  
  
  