anchor.diff:                             point
                              jump-function)))))
   
  -(defun jump-current-element ()
  +(defun jump-current-element (index)
     (funcall (aref (sourcelist-elements *current-sourcelist*)
  -                 (sourcelist-index *current-sourcelist*))
  +                 index)
              (let ((buffer-name (sourcelist-buffer-name *current-sourcelist*)))
                (lambda (buffer)
                  (with-point ((p (buffer-point buffer)))
  
positive.code:                          ,focus))
  
  (defun append-jump-function (sourcelist start end jump-function)
    (put-text-property start end 'sourcelist jump-function)
    (vector-push-extend jump-function (sourcelist-elements sourcelist)))
  
  (defun append-sourcelist (sourcelist write-function jump-function)
  
negative.code: (define-key *sourcelist-mode-keymap* "q" 'quit-window)
  
  (define-command sourcelist-jump () ()
    (let ((index (text-property-at (current-point) 'sourcelist)))
      (when index
        (jump-current-element
         (setf (sourcelist-index *current-sourcelist*) index)))))
  