anchor.diff:                     ;; destination directory (already modified above)
                      ;; remove source file entry
                      (free-file-entry dest-dir source-start)
  -                   (write-file ffs disk dest-cluster fat dest-dir))
  +                   (write-directory ffs disk dest-cluster fat dest-dir))
                     (T
                      ;; source and destination are different directories
                      ;; remove source file entry
                      (free-file-entry source-dir source-start)
                      ;; write both directories
  -                   (write-file ffs disk source-cluster fat source-dir)
  -                   (write-file ffs disk dest-cluster fat dest-dir))))))))
  +                   (write-directory ffs disk source-cluster fat source-dir)
  +                   (write-directory ffs disk dest-cluster fat dest-dir))))))))
   
   (defmethod file-write-date-using-host ((host fat-host) path)
     (multiple-value-bind (parent-dir parent-cluster file-offset) (open-file-metadata host path)
  
positive.code:   (free-file-entry directory start)
    ;; Write to disk
    (write-fat disk ffs fat)
    (write-file ffs disk cluster-n fat directory))
  
  (defun expand-directory (directory cluster-size)
    (let ((new-dir (make-array (+ (length directory) cluster-size)
  
negative.code:                            (create-directory-entry new-dir ".." "" NIL 0)
                             dot-dot-cluster)
              ;; Write to disk
              (write-directory ffs (partition host) cluster-number fat new-dir)))
          ;; Write parent directory to disk
          (write-directory ffs (partition host) cluster-n fat directory)
          ;; Write fat
          (write-fat (partition host) ffs fat)
          ;; Return cluster-number, possibly new directory array and offset
  