anchor.diff:        keys)))
   
   (defun keymap-find-command (keymap keys)
  -  (let ((cmd (cdr
  -              (assoc (keys-to-keystr keys)
  -                (keymap-alist keymap)
  -                :test 'equal))))
  +  (let ((cmd (gethash (keys-to-keystr keys)
  +                       (keymap-table keymap))))
       (or cmd
         (let ((keymap (keymap-parent keymap)))
           (when keymap
  
positive.code:   name
    undef-hook
    parent
    alist)
  
  (defun make-keymap (name &optional undef-hook parent)
    (let ((keymap (make-keymap-internal
                   :name name
                   :undef-hook undef-hook
                   :parent parent)))
      (push keymap *keymaps*)
      keymap))
  
  (defvar *global-keymap* (make-keymap "global" 'undefined-key))
  
  (defun define-key (keymap kbd cmd-name)
    (push (cons kbd cmd-name)
      (keymap-alist keymap)))
  
  (defun keys-to-keystr (keys)
    (apply 'concatenate 'string
  
negative.code: (defun keybind-find-from-command (name)
    (let ((name (intern (string-upcase name) :lem)))
      (dolist (keymap *keymaps*)
        (maphash (lambda (key val)
                   (when (eq name val)
                     (return-from keybind-find-from-command
                       (list key (keymap-name keymap)))))
                 (keymap-table keymap)))))
  
  (defun key-undef-hook (keymap keys)
    (when (keymap-undef-hook keymap)
  