anchor.diff:    (if (mode-active-p (current-buffer) minor-mode)
         (disable-minor-mode minor-mode)
         (enable-minor-mode minor-mode)))
  -
  -(defun is-major (mode)
  -  (get mode 'is-major))
  -
  -(defun major-modes ()
  -  (remove-if-not #'is-major *mode-list*))
  -
  -(defun minor-modes ()
  -  (remove-if #'is-major *mode-list*))
   
   (defmacro define-major-mode (major-mode
                                parent-mode
  
positive.code: (defmethod mode-hook-variable ((mode symbol))
    (mode-hook-variable (get-mode-object mode)))
  
  (defun find-mode-from-name (mode-name)
    (find-if #'(lambda (mode)
                 (string-equal mode-name (mode-name mode)))
  
negative.code:   (let ((command-class-name (make-symbol (string major-mode))))
      `(progn
         (pushnew ',major-mode *mode-list*)
         ,@(when mode-hook
             `((defvar ,mode-hook '())))
         ,@(when keymap
  