anchor.diff:            mode-name
             mode-keymap
             mode-syntax-table
  +          mode-hook
             current-mode-keymap
             find-mode-from-name
             mode-active-p
  
positive.code:                              (&key name keymap syntax-table mode-hook)
                               &body body)
    `(progn
       ,(when mode-hook `(defvar ,mode-hook '()))
       (pushnew ',major-mode *mode-list*)
       (setf (mode-name ',major-mode) ,name)
       ,@(cond (keymap
  
negative.code:   (def mode-keymap)
    (def mode-syntax-table)
    (def mode-enable-hook)
    (def mode-disable-hook)
    (def mode-hook))
  
  (defun current-mode-keymap ()
    (mode-keymap (buffer-major-mode (current-buffer))))
  