anchor.diff:    "Select previous entry in minibuffer."
     (when (> (completion-cursor minibuffer) 0)
       (decf (completion-cursor minibuffer))
  +    (state-changed minibuffer)
       (update-display minibuffer)
       (evaluate-script minibuffer
                        (ps:ps (ps:chain (ps:chain document (get-element-by-id "head"))
  
positive.code:   (when (multi-selection-p minibuffer)
      (with-slots (completions marked-completions) minibuffer
        (setf marked-completions (union completions marked-completions)))
      (update-display minibuffer)))
  
  (define-command minibuffer-unmark-all (&optional (minibuffer (current-minibuffer)))
  
negative.code:                          (setf (ps:chain document (get-element-by-id "input-buffer") |innerHTML|)
                                 (ps:lisp input-text))
                           (setf (ps:chain document (get-element-by-id "completions") |innerHTML|)
                                 (ps:lisp completion-html)))))))
  
  (defmethod state-changed ((minibuffer minibuffer))
    (when (changed-callback minibuffer)
      (funcall (changed-callback minibuffer))))
  
  (define-command select-next (&optional (minibuffer (current-minibuffer)))
    "Select next entry in minibuffer."
    (when (< (completion-cursor minibuffer) (- (length (completions minibuffer)) 1))
      (incf (completion-cursor minibuffer))
      (state-changed minibuffer)
      (update-display minibuffer)
      (evaluate-script minibuffer
                       (ps:ps (ps:chain (ps:chain document (get-element-by-id "selected"))
  