anchor.diff:    ;;                 (buffer %mode))
     )
   
  +(declaim (ftype (function (htree:node &optional buffer)) set-url-from-history))
  +(defun set-url-from-history (history-node &optional (buffer (current-buffer)))
  +  "Go to HISTORY-NODE's URL."
  +  (setf (htree:current (history (find-mode buffer 'web-mode))) history-node)
  +  (set-url (htree:data history-node)))
  +
   (define-command history-backwards (&optional (buffer (current-buffer)))
     "Go to parent URL in history."
     (let* ((mode (find-mode buffer 'web-mode)))
  
positive.code:   (with-result (input (read-from-minibuffer
                         (make-instance 'next::minibuffer
                                        :input-prompt "Navigate forwards to (all branches):"
                                        :completion-function (history-forwards-completion-fn))))
      (unless (equal input "Cannot navigate forwards.")
        (set-url input))))
  
  (defun history-all-completion-fn (&optional (mode (find-mode
                                                     (current-buffer)
                                                     'web-mode)))
    "Completion function over all history URLs."
    (let ((urls (htree:all-nodes-data (history mode))))
      (lambda (input)
        (if urls
            (fuzzy-match input urls)
  
negative.code:   (echo "Finished loading: ~a." url)
    ;; TODO: Wait some time before dismissing the minibuffer.
    (echo-dismiss))
  
  (defmethod object-string ((node htree:node))
    (format nil "~a" (htree:data node)))
  