anchor.diff:      (cond
         ((and (nyxt/web-mode:input-tag-p response)
               (find-submode buffer 'vi-normal-mode))
  -       (enable-modes '(vi-insert-mode)))
  +       (enable-modes '(vi-insert-mode) buffer))
         ((and (not (nyxt/web-mode:input-tag-p response))
               (find-submode buffer 'vi-insert-mode))
  -       (enable-modes '(vi-normal-mode))))))
  +       (enable-modes '(vi-normal-mode) buffer)))))
   
   (defmethod on-signal-load-finished ((mode vi-insert-mode) url)
     (declare (ignore url))
  
positive.code:                 (keymap-scheme-name buffer))
              (previous-vi-normal-mode mode)
              vi-normal)
        (disable vi-normal))
      (setf (keymap-scheme-name buffer) scheme:vi-insert)
      (when (passthrough-mode-p mode)
        (enable-modes '(nyxt/passthrough-mode:passthrough-mode)))))
  
  (defmethod disable ((mode vi-insert-mode) &key)
    (setf (keymap-scheme-name (buffer mode))
  
negative.code:             (if vi-insert
                  (previous-keymap-scheme-name vi-insert)
                  (keymap-scheme-name buffer)))
        (when vi-insert
          ;; Destroy vi-normal mode after setting previous-keymap-scheme-name, or
          ;; else we can't save the previous keymap scheme.
          (disable vi-insert)))
      (setf (keymap-scheme-name buffer) scheme:vi-normal)
      (setf (forward-input-events-p buffer) nil)))
  
  