anchor.diff:           (ffi-buffer-evaluate-javascript buffer (quri:url-decode (quri:uri-path url))))
           (t (ffi-buffer-load buffer url))))))
   
  -(defun new-buffer-load (suggestion-value)
  -  "Load a URL in a new buffer."
  -  (make-buffer-focus :url (url suggestion-value)))
  -
  -(defun new-nosave-buffer-load (suggestion-value)
  -  "Load a URL in a new nosave buffer."
  -  (make-buffer-focus :url (url suggestion-value) :nosave-buffer-p t))
  -
  -(defun new-buffer-load-from-history (history-entry)
  -  "Load a URL in a new buffer (from history)."
  -  (make-buffer-focus :url (url history-entry)))
  -
  -(defun buffer-load-from-bookmark (bookmark)
  -  (buffer-load (url bookmark)))
  -
  -(defun new-buffer-load-from-bookmark (bookmark)
  -  "Load a URL in a new buffer (from bookmark)."
  -  (make-buffer-focus :url (url bookmark)))
  -
   (define-class global-history-source (prompter:source)
     ((prompter:name "Global history")
      ;; REVIEW: Collect history suggestions asynchronously or not?  It's fast
  
positive.code:      :input (if prefill-current-url-p
                  (render-url (url (current-buffer))) "")
       :history history
       :sources (list (make-instance 'new-url-or-search-source
                                     :actions (list (make-unmapped-command new-buffer-load)))
                      (make-instance 'global-history-source
                                     :actions (list (make-unmapped-command new-buffer-load-from-history)))
                      (make-instance 'bookmark-source
                                     :actions (list (make-unmapped-command new-buffer-load-from-bookmark)))
                      (make-instance 'search-engine-url-source
                                     :actions (list (make-unmapped-command new-buffer-load)))))))
  
  (define-command set-url-new-nosave-buffer (&key (prefill-current-url-p t))
    "Prompt for a URL and set it in a new focused nosave buffer."
    (prompt
     :prompt "Open URL in new nosave buffer"
     :input (if prefill-current-url-p
                (render-url (url (current-buffer))) "")
     :sources (list (make-instance 'new-url-or-search-source
                                   :name "New URL"
                                   :actions (list (make-unmapped-command new-nosave-buffer-load)))
                    (make-instance 'global-history-source
                                   :actions (list (make-unmapped-command new-nosave-buffer-load)))
                    (make-instance 'bookmark-source
                                   :actions (list (make-unmapped-command new-nosave-buffer-load)))
                    (make-instance 'search-engine-url-source
                                   :actions (list (make-unmapped-command new-nosave-buffer-load))))))
  
  (defun reload-buffer (&optional (buffer (current-buffer)))
    "Reload a BUFFER or current-buffer if not provided."
  
negative.code: 
  (define-command set-url (&key (prefill-current-url-p t))
    "Set the URL for the current buffer, completing with history."
    (let ((history (set-url-history *browser*))
          (actions (list (make-unmapped-command buffer-load)
                         (make-command new-buffer-load (suggestion-values)
                           "Load a URL in a new buffer."
                           (make-buffer-focus :url (url (first suggestion-values)))))))
      (when history
        (containers:insert-item history (render-url (url (current-buffer)))))
      (prompt
  