anchor.diff:      (erase-buffer)
       (let ((dirname (buffer-get (window-buffer) :dirname))
             (files))
  +      (insert-string (namestring dirname))
  +      (insert-newline 2)
  +      (buffer-put (window-buffer) :start-linum (window-cur-linum))
         (dolist (file (cl-fad:list-directory dirname :follow-symlinks nil))
           (push file files)
           (let ((filename (enough-namestring file dirname))
  
positive.code: (defun collect-files ()
    (let ((files))
      (save-excursion
       (beginning-of-buffer)
       (do ((file nil nil))
           ((eobp))
         (when (and (eql +mark+ (following-char))
  
negative.code:     (dired-internal dirname)))
  
  (defun get-file ()
    (let ((n (- (window-cur-linum)
                (1- (buffer-get (window-buffer) :start-linum))))
          (files (buffer-get (window-buffer) :dired-files)))
      (when (<= 1 n (length files))
        (aref files (1- n)))))
  