anchor.diff:                                             :system-file-name
                                              :name
                                              :required-systems)))
  -         (let ((release (find-release-in-dist (release instance) dist)))
  -           (setf (release instance) release)
  -           (if (slot-boundp release 'provided-systems)
  -               (pushnew instance (provided-systems release))
  -               (setf (provided-systems release) (list instance))))
  -         (setf (dist instance) dist)
  -         (setf (gethash (name instance) index) instance))))
  +         ;; Don't clobber anything previously loaded via CDB
  +         (unless (gethash (name instance) index)
  +           (let ((release (find-release-in-dist (release instance) dist)))
  +             (setf (release instance) release)
  +             (if (slot-boundp release 'provided-systems)
  +                 (pushnew instance (provided-systems release))
  +                 (setf (provided-systems release) (list instance))))
  +           (setf (dist instance) dist)
  +           (setf (gethash (name instance) index) instance)))))
       (setf (system-index dist) index)))
   
   (defmethod slot-unbound (class (release release) (slot (eql 'provided-systems)))
     (declare (ignore class))
  +  ;; FIXME: This isn't right, since the system index has systems that
  +  ;; don't match the defining system file name.
     (setf (slot-value release 'provided-systems)
           (mapcar (lambda (system-file)
                     (find-system-in-dist (pathname-name system-file)
  
positive.code: (defmethod provided-systems ((system system))
    (list system))
  
  (defmethod initialize-indexes ((dist dist))
    (let ((systems (ensure-system-index-file dist))
          (index (make-hash-table :test 'equal)))
      (call-for-each-index-entry
       systems
       (lambda (line)
  
negative.code: 
  (defmethod slot-unbound (class (dist dist) (slot (eql 'provided-systems)))
    (declare (ignore class))
    (initialize-system-index dist)
    (setf (slot-value dist 'provided-systems)
          (loop for system being each hash-value of (system-index dist)
                collect system)))
  
  (defmethod slot-unbound (class (dist dist) (slot (eql 'provided-releases)))
    (declare (ignore class))
    (initialize-release-index dist)
    (setf (slot-value dist 'provided-releases)
          (loop for system being each hash-value of (release-index dist)
                collect system)))
  