anchor.diff:                           (push ,new-mode (modes buffer))
                            (hooks:run-hook (enable-hook ,new-mode) ,new-mode)
                            (hooks:run-hook (enable-mode-hook buffer) ,new-mode))
  -                       (print-status)
  +                       (if (prompt-buffer-p buffer)
  +                           (prompt-render-prompt buffer)
  +                           (print-status))
                          (log:debug "~a enabled." ',name))
                        (when ,existing-instance
                          (hooks:run-hook (disable-hook ,existing-instance) ,existing-instance)
  
positive.code:                        (funcall* (destructor ,existing-instance) ,existing-instance)
                         (setf (modes buffer) (delete ,existing-instance
                                                      (modes buffer)))
                         (print-status)
                         (log:debug "~a disabled." ',name))))
                 buffer))))))
  
  
negative.code:          ,(unless (eq name 'root-mode)
              `(define-command ,name (&rest args
                                      &key
                                      (buffer (or (current-prompt-buffer) (current-buffer)))
                                      (activate t explicit?)
                                      &allow-other-keys)
                 ,docstring
  