anchor.diff:     if necessary."))
   
   
  -(defgeneric initialize-release-index (dist)
  -  (:documentation
  -   "Initialize the release index of DIST."))
  -
  -(defgeneric initialize-system-index (dist)
  -  (:documentation
  -   "Initialize the system index of DIST."))
  +(defgeneric initialize-indexes (dist)
  +  (:documentation
  +   "Initialize the system and release indexes of DIST."))
   
   
   (defgeneric local-archive-file (release)
  
positive.code:             (unless (ignorable line)
                (funcall fun line))))))
  
  (defmethod initialize-release-index ((dist dist))
    (let ((releases (ensure-release-index-file dist))
          (index (make-hash-table :test 'equal)))
      (call-for-each-index-entry
       releases
       (lambda (line)
         (let ((instance (make-line-instance line 'release
                                             :project-name
                                             :archive-url
                                             :archive-size
                                             :archive-md5
                                             :archive-content-sha1
                                             :prefix
                                             :system-files)))
           (setf (dist instance) dist)
           (setf (archive-size instance) (parse-integer (archive-size instance)))
           (setf (gethash (project-name instance) index) instance))))
      (setf (release-index dist) index)))
  
  (defmethod slot-unbound (class (dist dist) (slot (eql 'release-index)))
    (declare (ignore class))
    (setf (slot-value dist 'release-index)
  
negative.code:     (setf (available-versions-url dist) new-url)))
  
  
  (defmethod ensure-system-index-file ((dist dist))
    (let ((pathname (relative-to dist "systems.txt")))
      (or (probe-file pathname)
  