anchor.diff:                                     (syntax-table '(fundamental-syntax-table))
                                      mode-hook)
                                &body body)
  -  (let ((command-class-name (make-symbol (string major-mode))))
  +  (let ((command-class-name (make-mode-command-class-name major-mode)))
       `(progn
          ,@(when mode-hook
              `((defvar ,mode-hook '())))
  
positive.code:       (disable-minor-mode minor-mode)
        (enable-minor-mode minor-mode)))
  
  (defmacro define-major-mode (major-mode
                               parent-mode
                               (&key name
  
negative.code:            `((defvar ,keymap (make-keymap :name ',keymap
                                            :parent ,(when parent-mode
                                                       `(mode-keymap ',parent-mode))))))
         (define-command (,major-mode (:class ,command-class-name)) () ()
           (clear-editor-local-variables (current-buffer))
           ,(when parent-mode `(,parent-mode))
           (setf (buffer-major-mode (current-buffer)) ',major-mode)
  