emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 2daffe3 4/5: Adjust `defvar-keymap' and `define-keymap' to the ne


From: Lars Ingebrigtsen
Subject: master 2daffe3 4/5: Adjust `defvar-keymap' and `define-keymap' to the new syntax
Date: Tue, 16 Nov 2021 02:26:35 -0500 (EST)

branch: master
commit 2daffe3550ff829396f13dd21d5cb573fede30d9
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Adjust `defvar-keymap' and `define-keymap' to the new syntax
    
    * lisp/vc/smerge-mode.el (smerge-basic-map):
    * lisp/vc/pcvs.el (cvs-mode-map):
    (cvs-minor-mode-prefix):
    * lisp/vc/log-view.el (log-view-mode-map):
    * lisp/vc/log-edit.el (log-edit-mode-map):
    * lisp/vc/diff-mode.el (diff-mode-shared-map):
    (diff-minor-mode-prefix):
    * lisp/vc/cvs-status.el (cvs-status-mode-map):
    * lisp/simple.el (special-mode-map):
    * lisp/outline.el (outline--insert-open-button):
    (outline--insert-close-button):
    * lisp/net/shr.el (shr-map):
    * lisp/net/eww.el (eww-link-keymap):
    (eww-mode-map):
    (eww-submit-map):
    (eww-bookmark-mode-map):
    (eww-history-mode-map):
    (eww-buffers-mode-map):
    * lisp/mh-e/mh-speed.el (:keymap):
    * lisp/mh-e/mh-show.el (:keymap):
    * lisp/mh-e/mh-search.el (:keymap):
    * lisp/mh-e/mh-letter.el (:keymap):
    * lisp/mh-e/mh-folder.el (:keymap):
    * lisp/international/emoji.el (emoji-list-mode-map):
    * lisp/gnus/spam.el (:keymap):
    * lisp/gnus/mml.el (mml-mode-map):
    * lisp/gnus/message.el (message-mode-map):
    * lisp/gnus/gnus-undo.el (gnus-undo-mode-map):
    * lisp/gnus/gnus-topic.el (gnus-topic-mode-map):
    * lisp/gnus/gnus-sum.el (:keymap):
    * lisp/gnus/gnus-srvr.el (gnus-server-mode-map):
    (gnus-browse-mode-map):
    * lisp/gnus/gnus-salt.el (gnus-pick-mode-map):
    (gnus-tree-mode-map):
    * lisp/gnus/gnus-msg.el (:prefix):
    * lisp/gnus/gnus-ml.el (gnus-mailing-list-mode-map):
    * lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map):
    * lisp/gnus/gnus-html.el (gnus-html-displayed-image-map):
    * lisp/gnus/gnus-group.el (:keymap):
    * lisp/gnus/gnus-eform.el (gnus-edit-form-mode-map):
    * lisp/gnus/gnus-draft.el (gnus-draft-mode-map):
    * lisp/gnus/gnus-dired.el (gnus-dired-mode-map):
    * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map):
    * lisp/gnus/gnus-art.el (:keymap):
    (gnus-article-edit-mode-map):
    * lisp/gnus/gnus-agent.el (gnus-agent-group-mode-map):
    (gnus-agent-summary-mode-map):
    (gnus-agent-server-mode-map):
    (gnus-category-mode-map): Adjust `defvar-keymap' and
    `define-keymap' to the new syntax.
---
 lisp/gnus/gnus-agent.el     |  42 +++++-----
 lisp/gnus/gnus-art.el       | 105 ++++++++++++------------
 lisp/gnus/gnus-bookmark.el  |  10 +--
 lisp/gnus/gnus-dired.el     |   6 +-
 lisp/gnus/gnus-draft.el     |   8 +-
 lisp/gnus/gnus-eform.el     |   4 +-
 lisp/gnus/gnus-group.el     |  74 ++++++++---------
 lisp/gnus/gnus-html.el      |   4 +-
 lisp/gnus/gnus-kill.el      |  14 ++--
 lisp/gnus/gnus-ml.el        |  12 +--
 lisp/gnus/gnus-msg.el       |  14 ++--
 lisp/gnus/gnus-salt.el      |  14 ++--
 lisp/gnus/gnus-srvr.el      |  34 ++++----
 lisp/gnus/gnus-sum.el       | 192 ++++++++++++++++++++++----------------------
 lisp/gnus/gnus-topic.el     |  42 +++++-----
 lisp/gnus/gnus-undo.el      |   8 +-
 lisp/gnus/message.el        | 128 ++++++++++++++---------------
 lisp/gnus/mml.el            |  76 ++++++++----------
 lisp/gnus/spam.el           |  10 +--
 lisp/international/emoji.el |   6 +-
 lisp/mh-e/mh-folder.el      |  36 ++++-----
 lisp/mh-e/mh-letter.el      | 120 +++++++++++++--------------
 lisp/mh-e/mh-search.el      |  26 +++---
 lisp/mh-e/mh-show.el        |  28 +++----
 lisp/mh-e/mh-speed.el       |   2 +-
 lisp/net/eww.el             |  84 +++++++++----------
 lisp/net/shr.el             |  12 +--
 lisp/outline.el             |   8 +-
 lisp/simple.el              |   6 +-
 lisp/vc/cvs-status.el       |   4 +-
 lisp/vc/diff-mode.el        |  58 ++++++-------
 lisp/vc/log-edit.el         |  24 +++---
 lisp/vc/log-view.el         |  10 +--
 lisp/vc/pcvs.el             |  35 ++++----
 lisp/vc/smerge-mode.el      |   7 +-
 35 files changed, 629 insertions(+), 634 deletions(-)

diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 20da295..169a351 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -476,15 +476,15 @@ manipulated as follows:
                    (intern (format "gnus-agent-%s-mode-hook" buffer)))))
 
 (defvar-keymap gnus-agent-group-mode-map
-  "Ju" #'gnus-agent-fetch-groups
-  "Jc" #'gnus-enter-category-buffer
-  "Jj" #'gnus-agent-toggle-plugged
-  "Js" #'gnus-agent-fetch-session
-  "JY" #'gnus-agent-synchronize-flags
-  "JS" #'gnus-group-send-queue
-  "Ja" #'gnus-agent-add-group
-  "Jr" #'gnus-agent-remove-group
-  "Jo" #'gnus-agent-toggle-group-plugged)
+  "J u" #'gnus-agent-fetch-groups
+  "J c" #'gnus-enter-category-buffer
+  "J j" #'gnus-agent-toggle-plugged
+  "J s" #'gnus-agent-fetch-session
+  "J Y" #'gnus-agent-synchronize-flags
+  "J S" #'gnus-group-send-queue
+  "J a" #'gnus-agent-add-group
+  "J r" #'gnus-agent-remove-group
+  "J o" #'gnus-agent-toggle-group-plugged)
 
 (defun gnus-agent-group-make-menu-bar ()
   (unless (boundp 'gnus-agent-group-menu)
@@ -504,14 +504,14 @@ manipulated as follows:
        ))))
 
 (defvar-keymap gnus-agent-summary-mode-map
-  "Jj" #'gnus-agent-toggle-plugged
-  "Ju" #'gnus-agent-summary-fetch-group
-  "JS" #'gnus-agent-fetch-group
-  "Js" #'gnus-agent-summary-fetch-series
-  "J#" #'gnus-agent-mark-article
-  "J\M-#" #'gnus-agent-unmark-article
+  "J j" #'gnus-agent-toggle-plugged
+  "J u" #'gnus-agent-summary-fetch-group
+  "J S" #'gnus-agent-fetch-group
+  "J s" #'gnus-agent-summary-fetch-series
+  "J #" #'gnus-agent-mark-article
+  "J M-#" #'gnus-agent-unmark-article
   "@" #'gnus-agent-toggle-mark
-  "Jc" #'gnus-agent-catchup)
+  "J c" #'gnus-agent-catchup)
 
 (defun gnus-agent-summary-make-menu-bar ()
   (unless (boundp 'gnus-agent-summary-menu)
@@ -526,9 +526,9 @@ manipulated as follows:
        ["Catchup undownloaded" gnus-agent-catchup t]))))
 
 (defvar-keymap gnus-agent-server-mode-map
-  "Jj" #'gnus-agent-toggle-plugged
-  "Ja" #'gnus-agent-add-server
-  "Jr" #'gnus-agent-remove-server)
+  "J j" #'gnus-agent-toggle-plugged
+  "J a" #'gnus-agent-add-server
+  "J r" #'gnus-agent-remove-server)
 
 (defun gnus-agent-server-make-menu-bar ()
   (unless (boundp 'gnus-agent-server-menu)
@@ -2606,8 +2606,8 @@ General format specifiers can also be used.  See Info node
   "s" #'gnus-category-edit-score
   "l" #'gnus-category-list
 
-  "\C-c\C-i" #'gnus-info-find-node
-  "\C-c\C-b" #'gnus-bug)
+  "C-c C-i" #'gnus-info-find-node
+  "C-c C-b" #'gnus-bug)
 
 (defcustom gnus-category-menu-hook nil
   "Hook run after the creation of the menu."
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 23f1431b..9594c32 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4419,36 +4419,36 @@ If variable `gnus-use-long-file-name' is non-nil, it is
 
 (define-keymap :keymap gnus-article-mode-map :suppress t
   :parent button-buffer-map
-  " " #'gnus-article-goto-next-page
-  [?\S-\ ] #'gnus-article-goto-prev-page
-  "\177" #'gnus-article-goto-prev-page
-  [delete] #'gnus-article-goto-prev-page
-  "\C-c^" #'gnus-article-refer-article
+  "SPC" #'gnus-article-goto-next-page
+  "S-SPC" #'gnus-article-goto-prev-page
+  "DEL" #'gnus-article-goto-prev-page
+  "<delete>" #'gnus-article-goto-prev-page
+  "C-c ^" #'gnus-article-refer-article
   "h" #'gnus-article-show-summary
   "s" #'gnus-article-show-summary
-  "\C-c\C-m" #'gnus-article-mail
+  "C-c C-m" #'gnus-article-mail
   "?" #'gnus-article-describe-briefly
   "<" #'beginning-of-buffer
   ">" #'end-of-buffer
-  "\C-c\C-i" #'gnus-info-find-node
-  "\C-c\C-b" #'gnus-bug
+  "C-c TAB" #'gnus-info-find-node
+  "C-c C-b" #'gnus-bug
   "R" #'gnus-article-reply-with-original
   "F" #'gnus-article-followup-with-original
-  "\C-hk" #'gnus-article-describe-key
-  "\C-hc" #'gnus-article-describe-key-briefly
-  "\C-hb" #'gnus-article-describe-bindings
+  "C-h k" #'gnus-article-describe-key
+  "C-h c" #'gnus-article-describe-key-briefly
+  "C-h b" #'gnus-article-describe-bindings
 
   "e" #'gnus-article-read-summary-keys
-  "\C-d" #'gnus-article-read-summary-keys
-  "\C-c\C-f" #'gnus-summary-mail-forward
-  "\M-*" #'gnus-article-read-summary-keys
-  "\M-#" #'gnus-article-read-summary-keys
-  "\M-^" #'gnus-article-read-summary-keys
-  "\M-g" #'gnus-article-read-summary-keys
+  "C-d" #'gnus-article-read-summary-keys
+  "C-c C-f" #'gnus-summary-mail-forward
+  "M-*" #'gnus-article-read-summary-keys
+  "M-#" #'gnus-article-read-summary-keys
+  "M-^" #'gnus-article-read-summary-keys
+  "M-g" #'gnus-article-read-summary-keys
 
   "S" (define-keymap :prefix 'gnus-article-send-map
         "W" #'gnus-article-wide-reply-with-original
-        [t] #'gnus-article-read-summary-send-keys))
+        "<t>" #'gnus-article-read-summary-send-keys))
 
 (substitute-key-definition
  #'undefined #'gnus-article-read-summary-keys gnus-article-mode-map)
@@ -7254,41 +7254,40 @@ other groups."
 
 (defvar-keymap gnus-article-edit-mode-map
   :full t :parent text-mode-map
-  "\C-c?" #'describe-mode
-  "\C-c\C-c" #'gnus-article-edit-done
-  "\C-c\C-k" #'gnus-article-edit-exit
-  "\C-c\C-f\C-t" #'message-goto-to
-  "\C-c\C-f\C-o" #'message-goto-from
-  "\C-c\C-f\C-b" #'message-goto-bcc
-  ;;"\C-c\C-f\C-w" message-goto-fcc
-  "\C-c\C-f\C-c" #'message-goto-cc
-  "\C-c\C-f\C-s" #'message-goto-subject
-  "\C-c\C-f\C-r" #'message-goto-reply-to
-  "\C-c\C-f\C-n" #'message-goto-newsgroups
-  "\C-c\C-f\C-d" #'message-goto-distribution
-  "\C-c\C-f\C-f" #'message-goto-followup-to
-  "\C-c\C-f\C-m" #'message-goto-mail-followup-to
-  "\C-c\C-f\C-k" #'message-goto-keywords
-  "\C-c\C-f\C-u" #'message-goto-summary
-  "\C-c\C-f\C-i" #'message-insert-or-toggle-importance
-  "\C-c\C-f\C-a" #'message-generate-unsubscribed-mail-followup-to
-  "\C-c\C-b" #'message-goto-body
-  "\C-c\C-i" #'message-goto-signature
-
-  "\C-c\C-t" #'message-insert-to
-  "\C-c\C-n" #'message-insert-newsgroups
-  "\C-c\C-o" #'message-sort-headers
-  "\C-c\C-e" #'message-elide-region
-  "\C-c\C-v" #'message-delete-not-region
-  "\C-c\C-z" #'message-kill-to-signature
-  "\M-\r" #'message-newline-and-reformat
-  "\C-c\C-a" #'mml-attach-file
-  "\C-a" #'message-beginning-of-line
-  "\t" #'message-tab
-  "\M-;" #'comment-region
-
-  "\C-c\C-w" (define-keymap :prefix 'gnus-article-edit-wash-map
-               "f" #'gnus-article-edit-full-stops))
+  "C-c ?" #'describe-mode
+  "C-c C-c" #'gnus-article-edit-done
+  "C-c C-k" #'gnus-article-edit-exit
+  "C-c C-f C-t" #'message-goto-to
+  "C-c C-f C-o" #'message-goto-from
+  "C-c C-f C-b" #'message-goto-bcc
+  "C-c C-f C-c" #'message-goto-cc
+  "C-c C-f C-s" #'message-goto-subject
+  "C-c C-f C-r" #'message-goto-reply-to
+  "C-c C-f C-n" #'message-goto-newsgroups
+  "C-c C-f C-d" #'message-goto-distribution
+  "C-c C-f C-f" #'message-goto-followup-to
+  "C-c C-f RET" #'message-goto-mail-followup-to
+  "C-c C-f C-k" #'message-goto-keywords
+  "C-c C-f C-u" #'message-goto-summary
+  "C-c C-f TAB" #'message-insert-or-toggle-importance
+  "C-c C-f C-a" #'message-generate-unsubscribed-mail-followup-to
+  "C-c C-b" #'message-goto-body
+  "C-c TAB" #'message-goto-signature
+
+  "C-c C-t" #'message-insert-to
+  "C-c C-n" #'message-insert-newsgroups
+  "C-c C-o" #'message-sort-headers
+  "C-c C-e" #'message-elide-region
+  "C-c C-v" #'message-delete-not-region
+  "C-c C-z" #'message-kill-to-signature
+  "M-RET" #'message-newline-and-reformat
+  "C-c C-a" #'mml-attach-file
+  "C-a" #'message-beginning-of-line
+  "TAB" #'message-tab
+  "M-;" #'comment-region
+
+  "C-c C-w" (define-keymap :prefix 'gnus-article-edit-wash-map
+              "f" #'gnus-article-edit-full-stops))
 
 (easy-menu-define
   gnus-article-edit-mode-field-menu gnus-article-edit-mode-map ""
diff --git a/lisp/gnus/gnus-bookmark.el b/lisp/gnus/gnus-bookmark.el
index 171da9d..e9696b6 100644
--- a/lisp/gnus/gnus-bookmark.el
+++ b/lisp/gnus/gnus-bookmark.el
@@ -423,16 +423,16 @@ That is, all information but the name."
   :full t
   :suppress 'nodigits
   "q" #'quit-window
-  "\C-m" #'gnus-bookmark-bmenu-select
+  "RET" #'gnus-bookmark-bmenu-select
   "v" #'gnus-bookmark-bmenu-select
   "d" #'gnus-bookmark-bmenu-delete
   "k" #'gnus-bookmark-bmenu-delete
-  "\C-d" #'gnus-bookmark-bmenu-delete-backwards
+  "C-d" #'gnus-bookmark-bmenu-delete-backwards
   "x" #'gnus-bookmark-bmenu-execute-deletions
-  " " #'next-line
+  "SPC" #'next-line
   "n" #'next-line
   "p" #'previous-line
-  "\177" #'gnus-bookmark-bmenu-backup-unmark
+  "DEL" #'gnus-bookmark-bmenu-backup-unmark
   "?" #'describe-mode
   "u" #'gnus-bookmark-bmenu-unmark
   "m" #'gnus-bookmark-bmenu-mark
@@ -440,7 +440,7 @@ That is, all information but the name."
   "s" #'gnus-bookmark-bmenu-save
   "t" #'gnus-bookmark-bmenu-toggle-infos
   "a" #'gnus-bookmark-bmenu-show-details
-  [mouse-2] #'gnus-bookmark-bmenu-select-by-mouse)
+  "<mouse-2>" #'gnus-bookmark-bmenu-select-by-mouse)
 
 ;; Bookmark Buffer Menu mode is suitable only for specially formatted
 ;; data.
diff --git a/lisp/gnus/gnus-dired.el b/lisp/gnus/gnus-dired.el
index be46d3a..1d16e00 100644
--- a/lisp/gnus/gnus-dired.el
+++ b/lisp/gnus/gnus-dired.el
@@ -54,9 +54,9 @@
 (autoload 'gnus-print-buffer "gnus-sum")
 
 (defvar-keymap gnus-dired-mode-map
-  "\C-c\C-m\C-a" #'gnus-dired-attach
-  "\C-c\C-m\C-l" #'gnus-dired-find-file-mailcap
-  "\C-c\C-m\C-p" #'gnus-dired-print)
+  "C-c C-m C-a" #'gnus-dired-attach
+  "C-c C-m C-l" #'gnus-dired-find-file-mailcap
+  "C-c C-m C-p" #'gnus-dired-print)
 
 ;; FIXME: Make it customizable, change the default to `mail-user-agent' when
 ;; this file is renamed (e.g. to `dired-mime.el').
diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el
index 756e6d2..7c56db0 100644
--- a/lisp/gnus/gnus-draft.el
+++ b/lisp/gnus/gnus-draft.el
@@ -34,11 +34,11 @@
 ;;; Draft minor mode
 
 (defvar-keymap gnus-draft-mode-map
-  "Dt" #'gnus-draft-toggle-sending
+  "D t" #'gnus-draft-toggle-sending
   "e" #' gnus-draft-edit-message ;; Use `B w' for `gnus-summary-edit-article'
-  "De" #'gnus-draft-edit-message
-  "Ds" #'gnus-draft-send-message
-  "DS" #'gnus-draft-send-all-messages)
+  "D e" #'gnus-draft-edit-message
+  "D s" #'gnus-draft-send-message
+  "D S" #'gnus-draft-send-all-messages)
 
 (defun gnus-draft-make-menu-bar ()
   (unless (boundp 'gnus-draft-menu)
diff --git a/lisp/gnus/gnus-eform.el b/lisp/gnus/gnus-eform.el
index b0aa58f..c727926 100644
--- a/lisp/gnus/gnus-eform.el
+++ b/lisp/gnus/gnus-eform.el
@@ -50,8 +50,8 @@
 
 (defvar-keymap gnus-edit-form-mode-map
   :parent emacs-lisp-mode-map
-  "\C-c\C-c" #'gnus-edit-form-done
-  "\C-c\C-k" #'gnus-edit-form-exit)
+  "C-c C-c" #'gnus-edit-form-done
+  "C-c C-k" #'gnus-edit-form-exit)
 
 (defun gnus-edit-form-make-menu-bar ()
   (unless (boundp 'gnus-edit-form-menu)
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index ddc8198..f0b0ca5 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -574,79 +574,79 @@ simple manner."
 ;;;
 
 (define-keymap :keymap gnus-group-mode-map
-  " " #'gnus-group-read-group
+  "SPC" #'gnus-group-read-group
   "=" #'gnus-group-select-group
-  "\r" #'gnus-group-select-group
-  "\M-\r" #'gnus-group-quick-select-group
-  "\M- " #'gnus-group-visible-select-group
-  [(meta control return)] #'gnus-group-select-group-ephemerally
+  "RET" #'gnus-group-select-group
+  "M-RET" #'gnus-group-quick-select-group
+  "M-SPC" #'gnus-group-visible-select-group
+  "C-M-<return>" #'gnus-group-select-group-ephemerally
   "j" #'gnus-group-jump-to-group
   "n" #'gnus-group-next-unread-group
   "p" #'gnus-group-prev-unread-group
-  "\177" #'gnus-group-prev-unread-group
-  [delete] #'gnus-group-prev-unread-group
+  "DEL" #'gnus-group-prev-unread-group
+  "<delete>" #'gnus-group-prev-unread-group
   "N" #'gnus-group-next-group
   "P" #'gnus-group-prev-group
-  "\M-n" #'gnus-group-next-unread-group-same-level
-  "\M-p" #'gnus-group-prev-unread-group-same-level
+  "M-n" #'gnus-group-next-unread-group-same-level
+  "M-p" #'gnus-group-prev-unread-group-same-level
   "," #'gnus-group-best-unread-group
   "." #'gnus-group-first-unread-group
   "u" #'gnus-group-toggle-subscription-at-point
   "U" #'gnus-group-toggle-subscription
   "c" #'gnus-group-catchup-current
   "C" #'gnus-group-catchup-current-all
-  "\M-c" #'gnus-group-clear-data
+  "M-c" #'gnus-group-clear-data
   "l" #'gnus-group-list-groups
   "L" #'gnus-group-list-all-groups
   "m" #'gnus-group-mail
   "i" #'gnus-group-news
   "g" #'gnus-group-get-new-news
-  "\M-g" #'gnus-group-get-new-news-this-group
+  "M-g" #'gnus-group-get-new-news-this-group
   "R" #'gnus-group-restart
   "r" #'gnus-group-read-init-file
   "B" #'gnus-group-browse-foreign-server
   "b" #'gnus-group-check-bogus-groups
   "F" #'gnus-group-find-new-groups
-  "\C-c\C-d" #'gnus-group-describe-group
-  "\M-d" #'gnus-group-describe-all-groups
-  "\C-c\C-a" #'gnus-group-apropos
-  "\C-c\M-\C-a" #'gnus-group-description-apropos
+  "C-c C-d" #'gnus-group-describe-group
+  "M-d" #'gnus-group-describe-all-groups
+  "C-c C-a" #'gnus-group-apropos
+  "C-c C-M-a" #'gnus-group-description-apropos
   "a" #'gnus-group-post-news
-  "\ek" #'gnus-group-edit-local-kill
-  "\eK" #'gnus-group-edit-global-kill
-  "\C-k" #'gnus-group-kill-group
-  "\C-y" #'gnus-group-yank-group
-  "\C-w" #'gnus-group-kill-region
-  "\C-x\C-t" #'gnus-group-transpose-groups
-  "\C-c\C-l" #'gnus-group-list-killed
-  "\C-c\C-x" #'gnus-group-expire-articles
-  "\C-c\M-\C-x" #'gnus-group-expire-all-groups
+  "ESC k" #'gnus-group-edit-local-kill
+  "ESC K" #'gnus-group-edit-global-kill
+  "C-k" #'gnus-group-kill-group
+  "C-y" #'gnus-group-yank-group
+  "C-w" #'gnus-group-kill-region
+  "C-x C-t" #'gnus-group-transpose-groups
+  "C-c C-l" #'gnus-group-list-killed
+  "C-c C-x" #'gnus-group-expire-articles
+  "C-c C-M-x" #'gnus-group-expire-all-groups
   "V" #'gnus-version
   "s" #'gnus-group-save-newsrc
   "z" #'gnus-group-suspend
   "q" #'gnus-group-exit
   "Q" #'gnus-group-quit
   "?" #'gnus-group-describe-briefly
-  "\C-c\C-i" #'gnus-info-find-node
-  "\M-e" #'gnus-group-edit-group-method
+  "C-c C-i" #'gnus-info-find-node
+  "M-e" #'gnus-group-edit-group-method
   "^" #'gnus-group-enter-server-mode
-  [mouse-2] #'gnus-mouse-pick-group
-  [follow-link] 'mouse-face
+  "<mouse-2>" #'gnus-mouse-pick-group
+  "<follow-link>" 'mouse-face
   "<" #'beginning-of-buffer
   ">" #'end-of-buffer
-  "\C-c\C-b" #'gnus-bug
-  "\C-c\C-s" #'gnus-group-sort-groups
+  "C-c C-b" #'gnus-bug
+  "C-c C-s" #'gnus-group-sort-groups
   "t" #'gnus-topic-mode
-  "\C-c\M-g" #'gnus-activate-all-groups
-  "\M-&" #'gnus-group-universal-argument
+  "C-c M-g" #'gnus-activate-all-groups
+  "M-&" #'gnus-group-universal-argument
   "#" #'gnus-group-mark-group
-  "\M-#" #'gnus-group-unmark-group
+  "M-#" #'gnus-group-unmark-group
 
   "~" (define-keymap :prefix 'gnus-group-cloud-map
         "u" #'gnus-cloud-upload-all-data
         "~" #'gnus-cloud-upload-all-data
         "d" #'gnus-cloud-download-all-data
-        "\r" #'gnus-cloud-download-all-data)
+        "RET" #'gnus-cloud-download-all-data)
 
   "M" (define-keymap :prefix 'gnus-group-mark-map
         "m" #'gnus-group-mark-group
@@ -682,8 +682,8 @@ simple manner."
         "c" #'gnus-group-customize
         "z" #'gnus-group-compact-group
         "x" #'gnus-group-expunge-group
-        "\177" #'gnus-group-delete-group
-        [delete] #'gnus-group-delete-group
+        "DEL" #'gnus-group-delete-group
+        "<delete>" #'gnus-group-delete-group
 
         "S" (define-keymap :prefix 'gnus-group-sort-map
               "s" #'gnus-group-sort-groups
@@ -774,7 +774,7 @@ simple manner."
         "k" #'gnus-group-kill-group
         "y" #'gnus-group-yank-group
         "w" #'gnus-group-kill-region
-        "\C-k" #'gnus-group-kill-level
+        "C-k" #'gnus-group-kill-level
         "z" #'gnus-group-kill-all-zombies))
 
 (defun gnus-topic-mode-p ()
diff --git a/lisp/gnus/gnus-html.el b/lisp/gnus/gnus-html.el
index c1815d3..ef376f1 100644
--- a/lisp/gnus/gnus-html.el
+++ b/lisp/gnus/gnus-html.el
@@ -79,9 +79,9 @@ fit these criteria."
 (defvar-keymap gnus-html-displayed-image-map
   "a" #'gnus-html-show-alt-text
   "i" #'gnus-html-browse-image
-  "\r" #'gnus-html-browse-url
+  "RET" #'gnus-html-browse-url
   "u" #'gnus-article-copy-string
-  [tab] #'forward-button)
+  "<tab>" #'forward-button)
 
 (defun gnus-html-encode-url (url)
   "Encode URL."
diff --git a/lisp/gnus/gnus-kill.el b/lisp/gnus/gnus-kill.el
index 7e589c5..7137efd 100644
--- a/lisp/gnus/gnus-kill.el
+++ b/lisp/gnus/gnus-kill.el
@@ -68,13 +68,13 @@ of time."
 
 (defvar-keymap gnus-kill-file-mode-map
   :parent emacs-lisp-mode-map
-  "\C-c\C-k\C-s" #'gnus-kill-file-kill-by-subject
-  "\C-c\C-k\C-a" #'gnus-kill-file-kill-by-author
-  "\C-c\C-k\C-t" #'gnus-kill-file-kill-by-thread
-  "\C-c\C-k\C-x" #'gnus-kill-file-kill-by-xref
-  "\C-c\C-a" #'gnus-kill-file-apply-buffer
-  "\C-c\C-e" #'gnus-kill-file-apply-last-sexp
-  "\C-c\C-c" #'gnus-kill-file-exit)
+  "C-c C-k C-s" #'gnus-kill-file-kill-by-subject
+  "C-c C-k C-a" #'gnus-kill-file-kill-by-author
+  "C-c C-k C-t" #'gnus-kill-file-kill-by-thread
+  "C-c C-k C-x" #'gnus-kill-file-kill-by-xref
+  "C-c C-a" #'gnus-kill-file-apply-buffer
+  "C-c C-e" #'gnus-kill-file-apply-last-sexp
+  "C-c C-c" #'gnus-kill-file-exit)
 
 (define-derived-mode gnus-kill-file-mode emacs-lisp-mode "Kill"
   "Major mode for editing kill files.
diff --git a/lisp/gnus/gnus-ml.el b/lisp/gnus/gnus-ml.el
index bf33194..a5358e9 100644
--- a/lisp/gnus/gnus-ml.el
+++ b/lisp/gnus/gnus-ml.el
@@ -32,12 +32,12 @@
 ;;; Mailing list minor mode
 
 (defvar-keymap gnus-mailing-list-mode-map
-  "\C-c\C-nh" #'gnus-mailing-list-help
-  "\C-c\C-ns" #'gnus-mailing-list-subscribe
-  "\C-c\C-nu" #'gnus-mailing-list-unsubscribe
-  "\C-c\C-np" #'gnus-mailing-list-post
-  "\C-c\C-no" #'gnus-mailing-list-owner
-  "\C-c\C-na" #'gnus-mailing-list-archive)
+  "C-c C-n h" #'gnus-mailing-list-help
+  "C-c C-n s" #'gnus-mailing-list-subscribe
+  "C-c C-n u" #'gnus-mailing-list-unsubscribe
+  "C-c C-n p" #'gnus-mailing-list-post
+  "C-c C-n o" #'gnus-mailing-list-owner
+  "C-c C-n a" #'gnus-mailing-list-archive)
 
 (defvar gnus-mailing-list-menu)
 
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index dfadfd3..bb26564 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -369,13 +369,13 @@ only affect the Gcc copy, but not the original message."
   "m" #'gnus-summary-mail-other-window
   "u" #'gnus-uu-post-news
   "A" #'gnus-summary-attach-article
-  "\M-c" #'gnus-summary-mail-crosspost-complaint
-  "Br" #'gnus-summary-reply-broken-reply-to
-  "BR" #'gnus-summary-reply-broken-reply-to-with-original
-  "om" #'gnus-summary-mail-forward
-  "op" #'gnus-summary-post-forward
-  "Om" #'gnus-uu-digest-mail-forward
-  "Op" #'gnus-uu-digest-post-forward
+  "M-c" #'gnus-summary-mail-crosspost-complaint
+  "B r" #'gnus-summary-reply-broken-reply-to
+  "B R" #'gnus-summary-reply-broken-reply-to-with-original
+  "o m" #'gnus-summary-mail-forward
+  "o p" #'gnus-summary-post-forward
+  "O m" #'gnus-uu-digest-mail-forward
+  "O p" #'gnus-uu-digest-post-forward
 
   "D" (define-keymap :prefix 'gnus-send-bounce-map
         "b" #'gnus-summary-resend-bounced-mail
diff --git a/lisp/gnus/gnus-salt.el b/lisp/gnus/gnus-salt.el
index 8ffe4a4..205e936 100644
--- a/lisp/gnus/gnus-salt.el
+++ b/lisp/gnus/gnus-salt.el
@@ -65,11 +65,11 @@ It accepts the same format specs that 
`gnus-summary-line-format' does."
 ;;; Internal variables.
 
 (defvar-keymap gnus-pick-mode-map
-  " " #'gnus-pick-next-page
+  "SPC" #'gnus-pick-next-page
   "u" #'gnus-pick-unmark-article-or-thread
   "." #'gnus-pick-article-or-thread
-  [down-mouse-2] #'gnus-pick-mouse-pick-region
-  "\r" #'gnus-pick-start-reading)
+  "<down-mouse-2>" #'gnus-pick-mouse-pick-region
+  "RET" #'gnus-pick-start-reading)
 
 (defun gnus-pick-make-menu-bar ()
   (unless (boundp 'gnus-pick-menu)
@@ -420,12 +420,12 @@ Two predefined functions are available:
 
 (defvar-keymap gnus-tree-mode-map
   :full t :suppress t
-  "\r" #'gnus-tree-select-article
-  [mouse-2] #'gnus-tree-pick-article
-  "\C-?" #'gnus-tree-read-summary-keys
+  "RET" #'gnus-tree-select-article
+  "<mouse-2>" #'gnus-tree-pick-article
+  "DEL" #'gnus-tree-read-summary-keys
   "h" #'gnus-tree-show-summary
 
-  "\C-c\C-i" #'gnus-info-find-node)
+  "C-c C-i" #'gnus-info-find-node)
 
 (substitute-key-definition 'undefined #'gnus-tree-read-summary-keys
                            gnus-tree-mode-map)
diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el
index f2ffb06..fa880b7 100644
--- a/lisp/gnus/gnus-srvr.el
+++ b/lisp/gnus/gnus-srvr.el
@@ -105,9 +105,9 @@ If nil, a faster, but more primitive, buffer is used 
instead."
 
 (defvar-keymap gnus-server-mode-map
   :full t :suppress t
-  " " #'gnus-server-read-server-in-server-buffer
-  "\r" #'gnus-server-read-server
-  [mouse-2] #'gnus-server-pick-server
+  "SPC" #'gnus-server-read-server-in-server-buffer
+  "RET" #'gnus-server-read-server
+  "<mouse-2>" #'gnus-server-pick-server
   "q" #'gnus-server-exit
   "l" #'gnus-server-list-servers
   "k" #'gnus-server-kill-server
@@ -119,9 +119,9 @@ If nil, a faster, but more primitive, buffer is used 
instead."
   "s" #'gnus-server-scan-server
 
   "O" #'gnus-server-open-server
-  "\M-o" #'gnus-server-open-all-servers
+  "M-o" #'gnus-server-open-all-servers
   "C" #'gnus-server-close-server
-  "\M-c" #'gnus-server-close-all-servers
+  "M-c" #'gnus-server-close-all-servers
   "D" #'gnus-server-deny-server
   "L" #'gnus-server-offline-server
   "R" #'gnus-server-remove-denials
@@ -138,8 +138,8 @@ If nil, a faster, but more primitive, buffer is used 
instead."
   "i" #'gnus-server-toggle-cloud-server
   "I" #'gnus-server-set-cloud-method-server
 
-  "\C-c\C-i" #'gnus-info-find-node
-  "\C-c\C-b" #'gnus-bug)
+  "C-c C-i" #'gnus-info-find-node
+  "C-c C-b" #'gnus-bug)
 
 (defcustom gnus-server-menu-hook nil
   "Hook run after the creation of the server mode menu."
@@ -694,29 +694,29 @@ claim them."
 
 (defvar-keymap gnus-browse-mode-map
   :full t :suppress t
-  " " #'gnus-browse-read-group
+  "SPC" #'gnus-browse-read-group
   "=" #'gnus-browse-select-group
   "n" #'gnus-browse-next-group
   "p" #'gnus-browse-prev-group
-  "\177" #'gnus-browse-prev-group
-  [delete] #'gnus-browse-prev-group
+  "DEL" #'gnus-browse-prev-group
+  "<delete>" #'gnus-browse-prev-group
   "N" #'gnus-browse-next-group
   "P" #'gnus-browse-prev-group
-  "\M-n" #'gnus-browse-next-group
-  "\M-p" #'gnus-browse-prev-group
-  "\r" #'gnus-browse-select-group
+  "M-n" #'gnus-browse-next-group
+  "M-p" #'gnus-browse-prev-group
+  "RET" #'gnus-browse-select-group
   "u" #'gnus-browse-toggle-subscription-at-point
   "l" #'gnus-browse-exit
   "L" #'gnus-browse-exit
   "q" #'gnus-browse-exit
   "Q" #'gnus-browse-exit
   "d" #'gnus-browse-describe-group
-  [delete] #'gnus-browse-delete-group
-  "\C-c\C-c" #'gnus-browse-exit
+  "<delete>" #'gnus-browse-delete-group
+  "C-c C-c" #'gnus-browse-exit
   "?" #'gnus-browse-describe-briefly
 
-  "\C-c\C-i" #'gnus-info-find-node
-  "\C-c\C-b" #'gnus-bug)
+  "C-c C-i" #'gnus-info-find-node
+  "C-c C-b" #'gnus-bug)
 
 (defun gnus-browse-make-menu-bar ()
   (gnus-turn-off-edit-menu 'browse)
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index f066612..dcdf3d9 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -1908,129 +1908,129 @@ increase the score of each group you read."
 ;; Non-orthogonal keys
 
 (define-keymap :keymap gnus-summary-mode-map
-  " " #'gnus-summary-next-page
-  [?\S-\ ] #'gnus-summary-prev-page
-  "\177" #'gnus-summary-prev-page
-  [delete] #'gnus-summary-prev-page
-  "\r" #'gnus-summary-scroll-up
-  "\M-\r" #'gnus-summary-scroll-down
+  "SPC" #'gnus-summary-next-page
+  "S-SPC" #'gnus-summary-prev-page
+  "DEL" #'gnus-summary-prev-page
+  "<delete>" #'gnus-summary-prev-page
+  "RET" #'gnus-summary-scroll-up
+  "M-RET" #'gnus-summary-scroll-down
   "n" #'gnus-summary-next-unread-article
   "p" #'gnus-summary-prev-unread-article
   "N" #'gnus-summary-next-article
   "P" #'gnus-summary-prev-article
-  "\M-\C-n" #'gnus-summary-next-same-subject
-  "\M-\C-p" #'gnus-summary-prev-same-subject
-  "\M-n" #'gnus-summary-next-unread-subject
-  "\M-p" #'gnus-summary-prev-unread-subject
+  "C-M-n" #'gnus-summary-next-same-subject
+  "C-M-p" #'gnus-summary-prev-same-subject
+  "M-n" #'gnus-summary-next-unread-subject
+  "M-p" #'gnus-summary-prev-unread-subject
   "." #'gnus-summary-first-unread-article
   "," #'gnus-summary-best-unread-article
   "[" #'gnus-summary-prev-unseen-article
   "]" #'gnus-summary-next-unseen-article
-  "\M-s\M-s" #'gnus-summary-search-article-forward
-  "\M-s\M-r" #'gnus-summary-search-article-backward
-  "\M-r" #'gnus-summary-search-article-backward
-  "\M-S" #'gnus-summary-repeat-search-article-forward
-  "\M-R" #'gnus-summary-repeat-search-article-backward
+  "M-s M-s" #'gnus-summary-search-article-forward
+  "M-s M-r" #'gnus-summary-search-article-backward
+  "M-r" #'gnus-summary-search-article-backward
+  "M-S" #'gnus-summary-repeat-search-article-forward
+  "M-R" #'gnus-summary-repeat-search-article-backward
   "<" #'gnus-summary-beginning-of-article
   ">" #'gnus-summary-end-of-article
   "j" #'gnus-summary-goto-article
   "^" #'gnus-summary-refer-parent-article
-  "\M-^" #'gnus-summary-refer-article
+  "M-^" #'gnus-summary-refer-article
   "u" #'gnus-summary-tick-article-forward
   "!" #'gnus-summary-tick-article-forward
   "U" #'gnus-summary-tick-article-backward
   "d" #'gnus-summary-mark-as-read-forward
   "D" #'gnus-summary-mark-as-read-backward
   "E" #'gnus-summary-mark-as-expirable
-  "\M-u" #'gnus-summary-clear-mark-forward
-  "\M-U" #'gnus-summary-clear-mark-backward
+  "M-u" #'gnus-summary-clear-mark-forward
+  "M-U" #'gnus-summary-clear-mark-backward
   "k" #'gnus-summary-kill-same-subject-and-select
-  "\C-k" #'gnus-summary-kill-same-subject
-  "\M-\C-k" #'gnus-summary-kill-thread
-  "\M-\C-l" #'gnus-summary-lower-thread
+  "C-k" #'gnus-summary-kill-same-subject
+  "C-M-k" #'gnus-summary-kill-thread
+  "C-M-l" #'gnus-summary-lower-thread
   "e" #'gnus-summary-edit-article
   "#" #'gnus-summary-mark-as-processable
-  "\M-#" #'gnus-summary-unmark-as-processable
-  "\M-\C-t" #'gnus-summary-toggle-threads
-  "\M-\C-s" #'gnus-summary-show-thread
-  "\M-\C-h" #'gnus-summary-hide-thread
-  "\M-\C-f" #'gnus-summary-next-thread
-  "\M-\C-b" #'gnus-summary-prev-thread
-  [(meta down)] #'gnus-summary-next-thread
-  [(meta up)] #'gnus-summary-prev-thread
-  "\M-\C-u" #'gnus-summary-up-thread
-  "\M-\C-d" #'gnus-summary-down-thread
+  "M-#" #'gnus-summary-unmark-as-processable
+  "C-M-t" #'gnus-summary-toggle-threads
+  "C-M-s" #'gnus-summary-show-thread
+  "C-M-h" #'gnus-summary-hide-thread
+  "C-M-f" #'gnus-summary-next-thread
+  "C-M-b" #'gnus-summary-prev-thread
+  "M-<down>" #'gnus-summary-next-thread
+  "M-<up>" #'gnus-summary-prev-thread
+  "C-M-u" #'gnus-summary-up-thread
+  "C-M-d" #'gnus-summary-down-thread
   "&" #'gnus-summary-execute-command
   "c" #'gnus-summary-catchup-and-exit
-  "\C-w" #'gnus-summary-mark-region-as-read
-  "\C-t" #'toggle-truncate-lines
+  "C-w" #'gnus-summary-mark-region-as-read
+  "C-t" #'toggle-truncate-lines
   "?" #'gnus-summary-mark-as-dormant
-  "\C-c\M-\C-s" #'gnus-summary-limit-include-expunged
-  "\C-c\C-s\C-n" #'gnus-summary-sort-by-number
-  "\C-c\C-s\C-m\C-n" #'gnus-summary-sort-by-most-recent-number
-  "\C-c\C-s\C-l" #'gnus-summary-sort-by-lines
-  "\C-c\C-s\C-c" #'gnus-summary-sort-by-chars
-  "\C-c\C-s\C-m\C-m" #'gnus-summary-sort-by-marks
-  "\C-c\C-s\C-a" #'gnus-summary-sort-by-author
-  "\C-c\C-s\C-t" #'gnus-summary-sort-by-recipient
-  "\C-c\C-s\C-s" #'gnus-summary-sort-by-subject
-  "\C-c\C-s\C-d" #'gnus-summary-sort-by-date
-  "\C-c\C-s\C-m\C-d" #'gnus-summary-sort-by-most-recent-date
-  "\C-c\C-s\C-i" #'gnus-summary-sort-by-score
-  "\C-c\C-s\C-o" #'gnus-summary-sort-by-original
-  "\C-c\C-s\C-r" #'gnus-summary-sort-by-random
-  "\C-c\C-s\C-u" #'gnus-summary-sort-by-newsgroups
-  "\C-c\C-s\C-x" #'gnus-summary-sort-by-extra
+  "C-c C-M-s" #'gnus-summary-limit-include-expunged
+  "C-c C-s C-n" #'gnus-summary-sort-by-number
+  "C-c C-s C-m C-n" #'gnus-summary-sort-by-most-recent-number
+  "C-c C-s C-l" #'gnus-summary-sort-by-lines
+  "C-c C-s C-c" #'gnus-summary-sort-by-chars
+  "C-c C-s C-m C-m" #'gnus-summary-sort-by-marks
+  "C-c C-s C-a" #'gnus-summary-sort-by-author
+  "C-c C-s C-t" #'gnus-summary-sort-by-recipient
+  "C-c C-s C-s" #'gnus-summary-sort-by-subject
+  "C-c C-s C-d" #'gnus-summary-sort-by-date
+  "C-c C-s C-m C-d" #'gnus-summary-sort-by-most-recent-date
+  "C-c C-s C-i" #'gnus-summary-sort-by-score
+  "C-c C-s C-o" #'gnus-summary-sort-by-original
+  "C-c C-s C-r" #'gnus-summary-sort-by-random
+  "C-c C-s C-u" #'gnus-summary-sort-by-newsgroups
+  "C-c C-s C-x" #'gnus-summary-sort-by-extra
   "=" #'gnus-summary-expand-window
-  "\C-x\C-s" #'gnus-summary-reselect-current-group
-  "\M-g" #'gnus-summary-rescan-group
-  "\C-c\C-r" #'gnus-summary-caesar-message
+  "C-x C-s" #'gnus-summary-reselect-current-group
+  "M-g" #'gnus-summary-rescan-group
+  "C-c C-r" #'gnus-summary-caesar-message
   "f" #'gnus-summary-followup
   "F" #'gnus-summary-followup-with-original
   "C" #'gnus-summary-cancel-article
   "r" #'gnus-summary-reply
   "R" #'gnus-summary-reply-with-original
-  "\C-c\C-f" #'gnus-summary-mail-forward
+  "C-c C-f" #'gnus-summary-mail-forward
   "o" #'gnus-summary-save-article
-  "\C-o" #'gnus-summary-save-article-mail
+  "C-o" #'gnus-summary-save-article-mail
   "|" #'gnus-summary-pipe-output
-  "\M-k" #'gnus-summary-edit-local-kill
-  "\M-K" #'gnus-summary-edit-global-kill
+  "M-k" #'gnus-summary-edit-local-kill
+  "M-K" #'gnus-summary-edit-global-kill
   ;; "V" gnus-version
-  "\C-c\C-d" #'gnus-summary-describe-group
-  "\C-c\C-p" #'gnus-summary-make-group-from-search
+  "C-c C-d" #'gnus-summary-describe-group
+  "C-c C-p" #'gnus-summary-make-group-from-search
   "q" #'gnus-summary-exit
   "Q" #'gnus-summary-exit-no-update
-  "\C-c\C-i" #'gnus-info-find-node
-  [mouse-2] #'gnus-mouse-pick-article
-  [follow-link] 'mouse-face
+  "C-c C-i" #'gnus-info-find-node
+  "<mouse-2>" #'gnus-mouse-pick-article
+  "<follow-link>" 'mouse-face
   "m" #'gnus-summary-mail-other-window
   "a" #'gnus-summary-post-news
   "x" #'gnus-summary-limit-to-unread
   "s" #'gnus-summary-isearch-article
-  "\t" #'gnus-summary-button-forward
-  [backtab] #'gnus-summary-button-backward
+  "TAB" #'gnus-summary-button-forward
+  "<backtab>" #'gnus-summary-button-backward
   "w" #'gnus-summary-browse-url
   "t" #'gnus-summary-toggle-header
   "g" #'gnus-summary-show-article
   "l" #'gnus-summary-goto-last-article
-  "\C-c\C-v\C-v" #'gnus-uu-decode-uu-view
-  "\C-d" #'gnus-summary-enter-digest-group
-  "\M-\C-d" #'gnus-summary-read-document
-  "\M-\C-e" #'gnus-summary-edit-parameters
-  "\M-\C-a" #'gnus-summary-customize-parameters
-  "\C-c\C-b" #'gnus-bug
+  "C-c C-v C-v" #'gnus-uu-decode-uu-view
+  "C-d" #'gnus-summary-enter-digest-group
+  "C-M-d" #'gnus-summary-read-document
+  "C-M-e" #'gnus-summary-edit-parameters
+  "C-M-a" #'gnus-summary-customize-parameters
+  "C-c C-b" #'gnus-bug
   "*" #'gnus-cache-enter-article
-  "\M-*" #'gnus-cache-remove-article
-  "\M-&" #'gnus-summary-universal-argument
-  "\C-l" #'gnus-recenter
+  "M-*" #'gnus-cache-remove-article
+  "M-&" #'gnus-summary-universal-argument
+  "C-l" #'gnus-recenter
   "I" #'gnus-summary-increase-score
   "L" #'gnus-summary-lower-score
-  "\M-i" #'gnus-symbolic-argument
+  "M-i" #'gnus-symbolic-argument
   "h" #'gnus-summary-select-article-buffer
 
   "b" #'gnus-article-view-part
-  "\M-t" #'gnus-summary-toggle-display-buttonized
+  "M-t" #'gnus-summary-toggle-display-buttonized
 
   "S" #'gnus-summary-send-map
 
@@ -2041,19 +2041,19 @@ increase the score of each group you read."
         "d" #'gnus-summary-mark-as-read-forward
         "r" #'gnus-summary-mark-as-read-forward
         "c" #'gnus-summary-clear-mark-forward
-        " " #'gnus-summary-clear-mark-forward
+        "SPC" #'gnus-summary-clear-mark-forward
         "e" #'gnus-summary-mark-as-expirable
         "x" #'gnus-summary-mark-as-expirable
         "?" #'gnus-summary-mark-as-dormant
         "b" #'gnus-summary-set-bookmark
         "B" #'gnus-summary-remove-bookmark
         "#" #'gnus-summary-mark-as-processable
-        "\M-#" #'gnus-summary-unmark-as-processable
+        "M-#" #'gnus-summary-unmark-as-processable
         "S" #'gnus-summary-limit-include-expunged
         "C" #'gnus-summary-catchup
         "H" #'gnus-summary-catchup-to-here
         "h" #'gnus-summary-catchup-from-here
-        "\C-c" #'gnus-summary-catchup-all
+        "C-c" #'gnus-summary-catchup-all
         "k" #'gnus-summary-kill-same-subject-and-select
         "K" #'gnus-summary-kill-same-subject
 
@@ -2118,10 +2118,10 @@ increase the score of each group you read."
         "p" #'gnus-summary-prev-unread-article
         "N" #'gnus-summary-next-article
         "P" #'gnus-summary-prev-article
-        "\C-n" #'gnus-summary-next-same-subject
-        "\C-p" #'gnus-summary-prev-same-subject
-        "\M-n" #'gnus-summary-next-unread-subject
-        "\M-p" #'gnus-summary-prev-unread-subject
+        "C-n" #'gnus-summary-next-same-subject
+        "C-p" #'gnus-summary-prev-same-subject
+        "M-n" #'gnus-summary-next-unread-subject
+        "M-p" #'gnus-summary-prev-unread-subject
         "f" #'gnus-summary-first-unread-article
         "b" #'gnus-summary-best-unread-article
         "u" #'gnus-summary-next-unseen-article
@@ -2139,7 +2139,7 @@ increase the score of each group you read."
         "T" #'gnus-summary-toggle-threads
         "t" #'gnus-summary-rethread-current
         "^" #'gnus-summary-reparent-thread
-        "\M-^" #'gnus-summary-reparent-children
+        "M-^" #'gnus-summary-reparent-children
         "s" #'gnus-summary-show-thread
         "S" #'gnus-summary-show-all-threads
         "h" #'gnus-summary-hide-thread
@@ -2150,7 +2150,7 @@ increase the score of each group you read."
         "o" #'gnus-summary-top-thread
         "d" #'gnus-summary-down-thread
         "#" #'gnus-uu-mark-thread
-        "\M-#" #'gnus-uu-unmark-thread)
+        "M-#" #'gnus-uu-unmark-thread)
 
   "Y" (define-keymap :prefix 'gnus-summary-buffer-map
         "g" #'gnus-summary-prepare
@@ -2173,14 +2173,14 @@ increase the score of each group you read."
         "P" #'gnus-summary-prev-group)
 
   "A" (define-keymap :prefix 'gnus-summary-article-map
-        " " #'gnus-summary-next-page
+        "SPC" #'gnus-summary-next-page
         "n" #'gnus-summary-next-page
-        [?\S-\ ] #'gnus-summary-prev-page
-        "\177" #'gnus-summary-prev-page
-        [delete] #'gnus-summary-prev-page
+        "S-SPC" #'gnus-summary-prev-page
+        "DEL" #'gnus-summary-prev-page
+        "<delete>" #'gnus-summary-prev-page
         "p" #'gnus-summary-prev-page
-        "\r" #'gnus-summary-scroll-up
-        "\M-\r" #'gnus-summary-scroll-down
+        "RET" #'gnus-summary-scroll-up
+        "M-RET" #'gnus-summary-scroll-down
         "<" #'gnus-summary-beginning-of-article
         ">" #'gnus-summary-end-of-article
         "b" #'gnus-summary-beginning-of-article
@@ -2194,8 +2194,8 @@ increase the score of each group you read."
         "W" #'gnus-warp-to-article
         "g" #'gnus-summary-show-article
         "s" #'gnus-summary-isearch-article
-        "\t" #'gnus-summary-button-forward
-        [backtab] #'gnus-summary-button-backward
+        "TAB" #'gnus-summary-button-forward
+        "<backtab>" #'gnus-summary-button-backward
         "w" #'gnus-summary-browse-url
         "P" #'gnus-summary-print-article
         "S" #'gnus-sticky-article
@@ -2250,7 +2250,7 @@ increase the score of each group you read."
               "l" #'gnus-article-hide-list-identifiers
               "B" #'gnus-article-strip-banner
               "P" #'gnus-article-hide-pem
-              "\C-c" #'gnus-article-hide-citation-maybe)
+              "C-c" #'gnus-article-hide-citation-maybe)
 
         "H" (define-keymap :prefix 'gnus-summary-wash-highlight-map
               "a" #'gnus-article-highlight
@@ -2312,10 +2312,10 @@ increase the score of each group you read."
 
   "B" (define-keymap :prefix 'gnus-summary-backend-map
         "e" #'gnus-summary-expire-articles
-        "\M-\C-e" #'gnus-summary-expire-articles-now
-        "\177" #'gnus-summary-delete-article
-        [delete] #'gnus-summary-delete-article
-        [backspace] #'gnus-summary-delete-article
+        "C-M-e" #'gnus-summary-expire-articles-now
+        "DEL" #'gnus-summary-delete-article
+        "<delete>" #'gnus-summary-delete-article
+        "<backspace>" #'gnus-summary-delete-article
         "m" #'gnus-summary-move-article
         "r" #'gnus-summary-respool-article
         "w" #'gnus-summary-edit-article
diff --git a/lisp/gnus/gnus-topic.el b/lisp/gnus/gnus-topic.el
index e78dd15..0855e98 100644
--- a/lisp/gnus/gnus-topic.el
+++ b/lisp/gnus/gnus-topic.el
@@ -1059,26 +1059,26 @@ articles in the topic and its subtopics."
 (defvar-keymap gnus-topic-mode-map
   ;; Override certain group mode keys.
   "=" #'gnus-topic-select-group
-  "\r" #'gnus-topic-select-group
-  " " #'gnus-topic-read-group
-  "\C-c\C-x" #'gnus-topic-expire-articles
+  "RET" #'gnus-topic-select-group
+  "SPC" #'gnus-topic-read-group
+  "C-c C-x" #'gnus-topic-expire-articles
   "c" #'gnus-topic-catchup-articles
-  "\C-k" #'gnus-topic-kill-group
-  "\C-y" #'gnus-topic-yank-group
-  "\M-g" #'gnus-topic-get-new-news-this-topic
-  "AT" #'gnus-topic-list-active
-  "Gp" #'gnus-topic-edit-parameters
+  "C-k" #'gnus-topic-kill-group
+  "C-y" #'gnus-topic-yank-group
+  "M-g" #'gnus-topic-get-new-news-this-topic
+  "A T" #'gnus-topic-list-active
+  "G p" #'gnus-topic-edit-parameters
   "#" #'gnus-topic-mark-topic
-  "\M-#" #'gnus-topic-unmark-topic
-  [tab] #'gnus-topic-indent
-  [(meta tab)] #'gnus-topic-unindent
-  "\C-i" #'gnus-topic-indent
-  "\M-\C-i" #'gnus-topic-unindent
-  [mouse-2] #'gnus-mouse-pick-topic
+  "M-#" #'gnus-topic-unmark-topic
+  "<tab>" #'gnus-topic-indent
+  "M-<tab>" #'gnus-topic-unindent
+  "TAB" #'gnus-topic-indent
+  "C-M-i" #'gnus-topic-unindent
+  "<mouse-2>" #'gnus-mouse-pick-topic
 
   "T" (define-keymap :prefix 'gnus-group-topic-map
         "#" #'gnus-topic-mark-topic
-        "\M-#" #'gnus-topic-unmark-topic
+        "M-#" #'gnus-topic-unmark-topic
         "n" #'gnus-topic-create-topic
         "m" #'gnus-topic-move-group
         "D" #'gnus-topic-remove-group
@@ -1088,13 +1088,13 @@ articles in the topic and its subtopics."
         "j" #'gnus-topic-jump-to-topic
         "M" #'gnus-topic-move-matching
         "C" #'gnus-topic-copy-matching
-        "\M-p" #'gnus-topic-goto-previous-topic
-        "\M-n" #'gnus-topic-goto-next-topic
-        "\C-i" #'gnus-topic-indent
-        [tab] #'gnus-topic-indent
+        "M-p" #'gnus-topic-goto-previous-topic
+        "M-n" #'gnus-topic-goto-next-topic
+        "TAB" #'gnus-topic-indent
+        "<tab>" #'gnus-topic-indent
         "r" #'gnus-topic-rename
-        "\177" #'gnus-topic-delete
-        [delete] #'gnus-topic-delete
+        "DEL" #'gnus-topic-delete
+        "<delete>" #'gnus-topic-delete
         "H" #'gnus-topic-toggle-display-empty-topics
 
         "S" (define-keymap :prefix 'gnus-topic-sort-map
diff --git a/lisp/gnus/gnus-undo.el b/lisp/gnus/gnus-undo.el
index 0717a7c..a82b1f8 100644
--- a/lisp/gnus/gnus-undo.el
+++ b/lisp/gnus/gnus-undo.el
@@ -76,11 +76,11 @@
 ;;; Minor mode definition.
 
 (defvar-keymap gnus-undo-mode-map
-  "\M-\C-_" #'gnus-undo
-  "\C-_" #'gnus-undo
-  "\C-xu" #'gnus-undo
+  "C-M-_" #'gnus-undo
+  "C-_" #'gnus-undo
+  "C-x u" #'gnus-undo
   ;; many people are used to type `C-/' on GUI frames and get `C-_'.
-  [(control /)] #'gnus-undo)
+  "C-/" #'gnus-undo)
 
 (defun gnus-undo-make-menu-bar ()
   ;; This is disabled for the time being.
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 77e8fcd..4a0ea59 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -2875,75 +2875,75 @@ Consider adding this function to 
`message-header-setup-hook'"
 (defvar-keymap message-mode-map
   :full t :parent text-mode-map
   :doc "Message Mode keymap."
-  "\C-c?" #'describe-mode
-
-  "\C-c\C-f\C-t" #'message-goto-to
-  "\C-c\C-f\C-o" #'message-goto-from
-  "\C-c\C-f\C-b" #'message-goto-bcc
-  "\C-c\C-f\C-w" #'message-goto-fcc
-  "\C-c\C-f\C-c" #'message-goto-cc
-  "\C-c\C-f\C-s" #'message-goto-subject
-  "\C-c\C-f\C-r" #'message-goto-reply-to
-  "\C-c\C-f\C-n" #'message-goto-newsgroups
-  "\C-c\C-f\C-d" #'message-goto-distribution
-  "\C-c\C-f\C-f" #'message-goto-followup-to
-  "\C-c\C-f\C-m" #'message-goto-mail-followup-to
-  "\C-c\C-f\C-k" #'message-goto-keywords
-  "\C-c\C-f\C-u" #'message-goto-summary
-  "\C-c\C-f\C-i" #'message-insert-or-toggle-importance
-  "\C-c\C-f\C-a" #'message-generate-unsubscribed-mail-followup-to
+  "C-c ?" #'describe-mode
+
+  "C-c C-f C-t" #'message-goto-to
+  "C-c C-f C-o" #'message-goto-from
+  "C-c C-f C-b" #'message-goto-bcc
+  "C-c C-f C-w" #'message-goto-fcc
+  "C-c C-f C-c" #'message-goto-cc
+  "C-c C-f C-s" #'message-goto-subject
+  "C-c C-f C-r" #'message-goto-reply-to
+  "C-c C-f C-n" #'message-goto-newsgroups
+  "C-c C-f C-d" #'message-goto-distribution
+  "C-c C-f C-f" #'message-goto-followup-to
+  "C-c C-f C-m" #'message-goto-mail-followup-to
+  "C-c C-f C-k" #'message-goto-keywords
+  "C-c C-f C-u" #'message-goto-summary
+  "C-c C-f C-i" #'message-insert-or-toggle-importance
+  "C-c C-f C-a" #'message-generate-unsubscribed-mail-followup-to
 
   ;; modify headers (and insert notes in body)
-  "\C-c\C-fs"    #'message-change-subject
+  "C-c C-f s"    #'message-change-subject
   ;;
-  "\C-c\C-fx"    #'message-cross-post-followup-to
+  "C-c C-f x"    #'message-cross-post-followup-to
   ;; prefix+message-cross-post-followup-to = same w/o cross-post
-  "\C-c\C-ft"    #'message-reduce-to-to-cc
-  "\C-c\C-fa"    #'message-add-archive-header
+  "C-c C-f t"    #'message-reduce-to-to-cc
+  "C-c C-f a"    #'message-add-archive-header
   ;; mark inserted text
-  "\C-c\M-m" #'message-mark-inserted-region
-  "\C-c\M-f" #'message-mark-insert-file
-
-  "\C-c\C-b" #'message-goto-body
-  "\C-c\C-i" #'message-goto-signature
-
-  "\C-c\C-t" #'message-insert-to
-  "\C-c\C-fw" #'message-insert-wide-reply
-  "\C-c\C-n" #'message-insert-newsgroups
-  "\C-c\C-l" #'message-to-list-only
-  "\C-c\C-f\C-e" #'message-insert-expires
-  "\C-c\C-u" #'message-insert-or-toggle-importance
-  "\C-c\M-n" #'message-insert-disposition-notification-to
-
-  "\C-c\C-y" #'message-yank-original
-  "\C-c\M-\C-y" #'message-yank-buffer
-  "\C-c\C-q" #'message-fill-yanked-message
-  "\C-c\C-w" #'message-insert-signature
-  "\C-c\M-h" #'message-insert-headers
-  "\C-c\C-r" #'message-caesar-buffer-body
-  "\C-c\C-o" #'message-sort-headers
-  "\C-c\M-r" #'message-rename-buffer
-
-  "\C-c\C-c" #'message-send-and-exit
-  "\C-c\C-s" #'message-send
-  "\C-c\C-k" #'message-kill-buffer
-  "\C-c\C-d" #'message-dont-send
-  "\C-c\n" #'gnus-delay-article
-
-  "\C-c\M-k" #'message-kill-address
-  "\C-c\C-e" #'message-elide-region
-  "\C-c\C-v" #'message-delete-not-region
-  "\C-c\C-z" #'message-kill-to-signature
-  "\M-\r" #'message-newline-and-reformat
-  [remap split-line]  #'message-split-line
-
-  "\C-c\C-a" #'mml-attach-file
-  "\C-c\C-p" #'message-insert-screenshot
-
-  "\C-a" #'message-beginning-of-line
-  "\t" #'message-tab
-
-  "\M-n" #'message-display-abbrev)
+  "C-c M-m" #'message-mark-inserted-region
+  "C-c M-f" #'message-mark-insert-file
+
+  "C-c C-b" #'message-goto-body
+  "C-c C-i" #'message-goto-signature
+
+  "C-c C-t" #'message-insert-to
+  "C-c C-f w" #'message-insert-wide-reply
+  "C-c C-n" #'message-insert-newsgroups
+  "C-c C-l" #'message-to-list-only
+  "C-c C-f C-e" #'message-insert-expires
+  "C-c C-u" #'message-insert-or-toggle-importance
+  "C-c M-n" #'message-insert-disposition-notification-to
+
+  "C-c C-y" #'message-yank-original
+  "C-c C-M-y" #'message-yank-buffer
+  "C-c C-q" #'message-fill-yanked-message
+  "C-c C-w" #'message-insert-signature
+  "C-c M-h" #'message-insert-headers
+  "C-c C-r" #'message-caesar-buffer-body
+  "C-c C-o" #'message-sort-headers
+  "C-c M-r" #'message-rename-buffer
+
+  "C-c C-c" #'message-send-and-exit
+  "C-c C-s" #'message-send
+  "C-c C-k" #'message-kill-buffer
+  "C-c C-d" #'message-dont-send
+  "C-c C-j" #'gnus-delay-article
+
+  "C-c M-k" #'message-kill-address
+  "C-c C-e" #'message-elide-region
+  "C-c C-v" #'message-delete-not-region
+  "C-c C-z" #'message-kill-to-signature
+  "M-RET" #'message-newline-and-reformat
+  "<remap> <split-line>"  #'message-split-line
+
+  "C-c C-a" #'mml-attach-file
+  "C-c C-p" #'message-insert-screenshot
+
+  "C-a" #'message-beginning-of-line
+  "TAB" #'message-tab
+
+  "M-n" #'message-display-abbrev)
 
 (easy-menu-define
   message-mode-menu message-mode-map "Message Menu."
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index 079c1b5..e60d777 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -1143,48 +1143,40 @@ If HANDLES is non-nil, use it instead reparsing the 
buffer."
 ;;; Mode for inserting and editing MML forms
 ;;;
 
-(defvar mml-mode-map
-  (let ((sign (make-sparse-keymap))
-       (encrypt (make-sparse-keymap))
-       (signpart (make-sparse-keymap))
-       (encryptpart (make-sparse-keymap))
-       (map (make-sparse-keymap))
-       (main (make-sparse-keymap)))
-    (define-key map "\C-s" 'mml-secure-message-sign)
-    (define-key map "\C-c" 'mml-secure-message-encrypt)
-    (define-key map "\C-e" 'mml-secure-message-sign-encrypt)
-    (define-key map "\C-p\C-s" 'mml-secure-sign)
-    (define-key map "\C-p\C-c" 'mml-secure-encrypt)
-    (define-key sign "p" 'mml-secure-message-sign-pgpmime)
-    (define-key sign "o" 'mml-secure-message-sign-pgp)
-    (define-key sign "s" 'mml-secure-message-sign-smime)
-    (define-key signpart "p" 'mml-secure-sign-pgpmime)
-    (define-key signpart "o" 'mml-secure-sign-pgp)
-    (define-key signpart "s" 'mml-secure-sign-smime)
-    (define-key encrypt "p" 'mml-secure-message-encrypt-pgpmime)
-    (define-key encrypt "o" 'mml-secure-message-encrypt-pgp)
-    (define-key encrypt "s" 'mml-secure-message-encrypt-smime)
-    (define-key encryptpart "p" 'mml-secure-encrypt-pgpmime)
-    (define-key encryptpart "o" 'mml-secure-encrypt-pgp)
-    (define-key encryptpart "s" 'mml-secure-encrypt-smime)
-    (define-key map "\C-n" 'mml-unsecure-message)
-    (define-key map "f" 'mml-attach-file)
-    (define-key map "b" 'mml-attach-buffer)
-    (define-key map "e" 'mml-attach-external)
-    (define-key map "q" 'mml-quote-region)
-    (define-key map "m" 'mml-insert-multipart)
-    (define-key map "p" 'mml-insert-part)
-    (define-key map "v" 'mml-validate)
-    (define-key map "P" 'mml-preview)
-    (define-key map "s" sign)
-    (define-key map "S" signpart)
-    (define-key map "c" encrypt)
-    (define-key map "C" encryptpart)
-    ;;(define-key map "n" 'mml-narrow-to-part)
-    ;; `M-m' conflicts with `back-to-indentation'.
-    ;; (define-key main "\M-m" map)
-    (define-key main "\C-c\C-m" map)
-    main))
+(defvar-keymap mml-mode-map
+  "C-c C-m"
+  (define-keymap
+    "C-s" #'mml-secure-message-sign
+    "C-c" #'mml-secure-message-encrypt
+    "C-e" #'mml-secure-message-sign-encrypt
+    "C-p C-s" #'mml-secure-sign
+    "C-p C-c" #'mml-secure-encrypt
+
+    "s" (define-keymap
+          "p" #'mml-secure-message-sign-pgpmime
+          "o" #'mml-secure-message-sign-pgp
+          "s" #'mml-secure-message-sign-smime)
+    "S" (define-keymap
+          "p" #'mml-secure-sign-pgpmime
+          "o" #'mml-secure-sign-pgp
+          "s" #'mml-secure-sign-smime)
+    "c" (define-keymap
+          "p" #'mml-secure-message-encrypt-pgpmime
+          "o" #'mml-secure-message-encrypt-pgp
+          "s" #'mml-secure-message-encrypt-smime)
+    "C" (define-keymap
+          "p" #'mml-secure-encrypt-pgpmime
+          "o" #'mml-secure-encrypt-pgp
+          "s" #'mml-secure-encrypt-smime)
+    "C-n" #'mml-unsecure-message
+    "f" #'mml-attach-file
+    "b" #'mml-attach-buffer
+    "e" #'mml-attach-external
+    "q" #'mml-quote-region
+    "m" #'mml-insert-multipart
+    "p" #'mml-insert-part
+    "v" #'mml-validate
+    "P" #'mml-preview))
 
 (easy-menu-define
   mml-menu mml-mode-map ""
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index cfef69f..508ef54 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -664,11 +664,11 @@ order for SpamAssassin to recognize the new registered 
spam."
 ;;; Key bindings for spam control.
 
 (define-keymap :keymap gnus-summary-mode-map
-  "St" #'spam-generic-score
-  "Sx" #'gnus-summary-mark-as-spam
-  "Mst" #'spam-generic-score
-  "Msx" #'gnus-summary-mark-as-spam
-  "\M-d" #'gnus-summary-mark-as-spam
+  "S t" #'spam-generic-score
+  "S x" #'gnus-summary-mark-as-spam
+  "M s t" #'spam-generic-score
+  "M s x" #'gnus-summary-mark-as-spam
+  "M-d" #'gnus-summary-mark-as-spam
   "$" #'gnus-summary-mark-as-spam)
 
 (defvar spam-cache-lookups t
diff --git a/lisp/international/emoji.el b/lisp/international/emoji.el
index d2570e9..5f8c358 100644
--- a/lisp/international/emoji.el
+++ b/lisp/international/emoji.el
@@ -184,10 +184,10 @@ character) under point is."
       (get-char-code-property (aref glyph 0) 'name)))
 
 (defvar-keymap emoji-list-mode-map
-  ["RET"] #'emoji-list-select
-  ["<mouse-2>"] #'emoji-list-select
+  "RET" #'emoji-list-select
+  "<mouse-2>" #'emoji-list-select
   "h" #'emoji-list-help
-  [follow-link] 'mouse-face)
+  "<follow-link>" 'mouse-face)
 
 (define-derived-mode emoji-list-mode special-mode "Emoji"
   "Mode to display emojis."
diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el
index c700b33..ddf13d1 100644
--- a/lisp/mh-e/mh-folder.el
+++ b/lisp/mh-e/mh-folder.el
@@ -212,7 +212,7 @@ annotation.")
 
 ;; Save the "b" binding for a future `back'. Maybe?
 (define-keymap :keymap mh-folder-mode-map
-  " "           #'mh-page-msg
+  "SPC"         #'mh-page-msg
   "!"           #'mh-refile-or-write-again
   "'"           #'mh-toggle-tick
   ","           #'mh-header-display
@@ -223,15 +223,15 @@ annotation.")
   "?"           #'mh-help
   "E"           #'mh-extract-rejected-mail
   "M"           #'mh-modify
-  "\177"        #'mh-previous-page
-  "\C-d"        #'mh-delete-msg-no-motion
-  "\t"          #'mh-index-next-folder
-  [backtab]     #'mh-index-previous-folder
-  "\M-\t"       #'mh-index-previous-folder
-  "\e<"         #'mh-first-msg
-  "\e>"         #'mh-last-msg
-  "\ed"         #'mh-redistribute
-  "\r"          #'mh-show
+  "DEL"         #'mh-previous-page
+  "C-d"         #'mh-delete-msg-no-motion
+  "TAB"         #'mh-index-next-folder
+  "<backtab>"   #'mh-index-previous-folder
+  "C-M-i"       #'mh-index-previous-folder
+  "ESC <"       #'mh-first-msg
+  "ESC >"       #'mh-last-msg
+  "ESC d"       #'mh-redistribute
+  "RET"         #'mh-show
   "^"           #'mh-alt-refile-msg
   "c"           #'mh-copy-msg
   "d"           #'mh-delete-msg
@@ -242,10 +242,10 @@ annotation.")
   "k"           #'mh-delete-subject-or-thread
   "m"           #'mh-alt-send
   "n"           #'mh-next-undeleted-msg
-  "\M-n"        #'mh-next-unread-msg
+  "M-n"         #'mh-next-unread-msg
   "o"           #'mh-refile-msg
   "p"           #'mh-previous-undeleted-msg
-  "\M-p"        #'mh-previous-unread-msg
+  "M-p"         #'mh-previous-unread-msg
   "q"           #'mh-quit
   "r"           #'mh-reply
   "s"           #'mh-send
@@ -324,9 +324,9 @@ annotation.")
         "u"           #'mh-store-msg)   ;uuencode
 
   "D" (define-keymap :prefix 'mh-digest-map
-        " "           #'mh-page-digest
+        "SPC"         #'mh-page-digest
         "?"           #'mh-prefix-help
-        "\177"        #'mh-page-digest-backwards
+        "DEL"         #'mh-page-digest-backwards
         "b"           #'mh-burst-digest)
 
   "K" (define-keymap :prefix 'mh-mime-map
@@ -337,11 +337,11 @@ annotation.")
         "o"           #'mh-folder-save-mime-part
         "t"           #'mh-toggle-mime-buttons
         "v"           #'mh-folder-toggle-mime-part
-        "\t"          #'mh-next-button
-        [backtab]     #'mh-prev-button
-        "\M-\t"       #'mh-prev-button)
+        "TAB"         #'mh-next-button
+        "<backtab>"   #'mh-prev-button
+        "C-M-i"       #'mh-prev-button)
 
-  [mouse-2] #'mh-show-mouse)
+  "<mouse-2>" #'mh-show-mouse)
 
 ;; "C-c /" prefix is used in mh-folder-mode by pgp.el and mailcrypt
 
diff --git a/lisp/mh-e/mh-letter.el b/lisp/mh-e/mh-letter.el
index 1f79026..ebe94a7 100644
--- a/lisp/mh-e/mh-letter.el
+++ b/lisp/mh-e/mh-letter.el
@@ -115,67 +115,67 @@
 
 ;; If this changes, modify mh-letter-mode-help-messages accordingly, above.
 (define-keymap :keymap mh-letter-mode-map
-  " "                   #'mh-letter-complete-or-space
+  "SPC"                 #'mh-letter-complete-or-space
   ","                   #'mh-letter-confirm-address
-  "\C-c?"               #'mh-help
-  "\C-c\C-\\"           #'mh-fully-kill-draft ;if no C-q
-  "\C-c\C-^"            #'mh-insert-signature ;if no C-s
-  "\C-c\C-c"            #'mh-send-letter
-  "\C-c\C-d"            #'mh-insert-identity
-  "\C-c\C-e"            #'mh-mh-to-mime
-  "\C-c\C-f\C-a"        #'mh-to-field
-  "\C-c\C-f\C-b"        #'mh-to-field
-  "\C-c\C-f\C-c"        #'mh-to-field
-  "\C-c\C-f\C-d"        #'mh-to-field
-  "\C-c\C-f\C-f"        #'mh-to-fcc
-  "\C-c\C-f\C-l"        #'mh-to-field
-  "\C-c\C-f\C-m"        #'mh-to-field
-  "\C-c\C-f\C-r"        #'mh-to-field
-  "\C-c\C-f\C-s"        #'mh-to-field
-  "\C-c\C-f\C-t"        #'mh-to-field
-  "\C-c\C-fa"           #'mh-to-field
-  "\C-c\C-fb"           #'mh-to-field
-  "\C-c\C-fc"           #'mh-to-field
-  "\C-c\C-fd"           #'mh-to-field
-  "\C-c\C-ff"           #'mh-to-fcc
-  "\C-c\C-fl"           #'mh-to-field
-  "\C-c\C-fm"           #'mh-to-field
-  "\C-c\C-fr"           #'mh-to-field
-  "\C-c\C-fs"           #'mh-to-field
-  "\C-c\C-ft"           #'mh-to-field
-  "\C-c\C-i"            #'mh-insert-letter
-  "\C-c\C-m\C-e"        #'mh-mml-secure-message-encrypt
-  "\C-c\C-m\C-f"        #'mh-compose-forward
-  "\C-c\C-m\C-g"        #'mh-mh-compose-anon-ftp
-  "\C-c\C-m\C-i"        #'mh-compose-insertion
-  "\C-c\C-m\C-m"        #'mh-mml-to-mime
-  "\C-c\C-m\C-n"        #'mh-mml-unsecure-message
-  "\C-c\C-m\C-s"        #'mh-mml-secure-message-sign
-  "\C-c\C-m\C-t"        #'mh-mh-compose-external-compressed-tar
-  "\C-c\C-m\C-u"        #'mh-mh-to-mime-undo
-  "\C-c\C-m\C-x"        #'mh-mh-compose-external-type
-  "\C-c\C-mee"          #'mh-mml-secure-message-encrypt
-  "\C-c\C-mes"          #'mh-mml-secure-message-signencrypt
-  "\C-c\C-mf"           #'mh-compose-forward
-  "\C-c\C-mg"           #'mh-mh-compose-anon-ftp
-  "\C-c\C-mi"           #'mh-compose-insertion
-  "\C-c\C-mm"           #'mh-mml-to-mime
-  "\C-c\C-mn"           #'mh-mml-unsecure-message
-  "\C-c\C-mse"          #'mh-mml-secure-message-signencrypt
-  "\C-c\C-mss"          #'mh-mml-secure-message-sign
-  "\C-c\C-mt"           #'mh-mh-compose-external-compressed-tar
-  "\C-c\C-mu"           #'mh-mh-to-mime-undo
-  "\C-c\C-mx"           #'mh-mh-compose-external-type
-  "\C-c\C-o"            #'mh-open-line
-  "\C-c\C-q"            #'mh-fully-kill-draft
-  "\C-c\C-s"            #'mh-insert-signature
-  "\C-c\C-t"            #'mh-letter-toggle-header-field-display
-  "\C-c\C-w"            #'mh-check-whom
-  "\C-c\C-y"            #'mh-yank-cur-msg
-  "\C-c\M-d"            #'mh-insert-auto-fields
-  "\M-\t"               #'completion-at-point
-  "\t"                  #'mh-letter-next-header-field-or-indent
-  [backtab]             #'mh-letter-previous-header-field)
+  "C-c ?"               #'mh-help
+  "C-c C-\\"            #'mh-fully-kill-draft ;if no C-q
+  "C-c C-^"             #'mh-insert-signature ;if no C-s
+  "C-c C-c"             #'mh-send-letter
+  "C-c C-d"             #'mh-insert-identity
+  "C-c C-e"             #'mh-mh-to-mime
+  "C-c C-f C-a"         #'mh-to-field
+  "C-c C-f C-b"         #'mh-to-field
+  "C-c C-f C-c"         #'mh-to-field
+  "C-c C-f C-d"         #'mh-to-field
+  "C-c C-f C-f"         #'mh-to-fcc
+  "C-c C-f C-l"         #'mh-to-field
+  "C-c C-f C-m"         #'mh-to-field
+  "C-c C-f C-r"         #'mh-to-field
+  "C-c C-f C-s"         #'mh-to-field
+  "C-c C-f C-t"         #'mh-to-field
+  "C-c C-f a"           #'mh-to-field
+  "C-c C-f b"           #'mh-to-field
+  "C-c C-f c"           #'mh-to-field
+  "C-c C-f d"           #'mh-to-field
+  "C-c C-f f"           #'mh-to-fcc
+  "C-c C-f l"           #'mh-to-field
+  "C-c C-f m"           #'mh-to-field
+  "C-c C-f r"           #'mh-to-field
+  "C-c C-f s"           #'mh-to-field
+  "C-c C-f t"           #'mh-to-field
+  "C-c C-i"             #'mh-insert-letter
+  "C-c C-m C-e"         #'mh-mml-secure-message-encrypt
+  "C-c C-m C-f"         #'mh-compose-forward
+  "C-c C-m C-g"         #'mh-mh-compose-anon-ftp
+  "C-c C-m TAB"         #'mh-compose-insertion
+  "C-c C-m C-m"         #'mh-mml-to-mime
+  "C-c C-m C-n"         #'mh-mml-unsecure-message
+  "C-c C-m C-s"         #'mh-mml-secure-message-sign
+  "C-c C-m C-t"         #'mh-mh-compose-external-compressed-tar
+  "C-c C-m C-u"         #'mh-mh-to-mime-undo
+  "C-c C-m C-x"         #'mh-mh-compose-external-type
+  "C-c C-m e e"         #'mh-mml-secure-message-encrypt
+  "C-c C-m e s"         #'mh-mml-secure-message-signencrypt
+  "C-c C-m f"           #'mh-compose-forward
+  "C-c C-m g"           #'mh-mh-compose-anon-ftp
+  "C-c C-m i"           #'mh-compose-insertion
+  "C-c C-m m"           #'mh-mml-to-mime
+  "C-c C-m n"           #'mh-mml-unsecure-message
+  "C-c C-m s e"         #'mh-mml-secure-message-signencrypt
+  "C-c C-m s s"         #'mh-mml-secure-message-sign
+  "C-c C-m t"           #'mh-mh-compose-external-compressed-tar
+  "C-c C-m u"           #'mh-mh-to-mime-undo
+  "C-c C-m x"           #'mh-mh-compose-external-type
+  "C-c C-o"             #'mh-open-line
+  "C-c C-q"             #'mh-fully-kill-draft
+  "C-c C-s"             #'mh-insert-signature
+  "C-c C-t"             #'mh-letter-toggle-header-field-display
+  "C-c C-w"             #'mh-check-whom
+  "C-c C-y"             #'mh-yank-cur-msg
+  "C-c M-d"             #'mh-insert-auto-fields
+  "C-M-i"               #'completion-at-point
+  "TAB"                 #'mh-letter-next-header-field-or-indent
+  "<backtab>"           #'mh-letter-previous-header-field)
 
 ;; "C-c /" prefix is used in mh-letter-mode by pgp.el and mailcrypt.el.
 
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el
index ef84c5e..8012e62 100644
--- a/lisp/mh-e/mh-search.el
+++ b/lisp/mh-e/mh-search.el
@@ -550,19 +550,19 @@ group of results."
 
 ;; If this changes, modify mh-search-mode-help-messages accordingly, below.
 (define-keymap :keymap mh-search-mode-map
-  "\C-c?"               #'mh-help
-  "\C-c\C-c"            #'mh-index-do-search
-  "\C-c\C-p"            #'mh-pick-do-search
-  "\C-c\C-f\C-b"        #'mh-to-field
-  "\C-c\C-f\C-c"        #'mh-to-field
-  "\C-c\C-f\C-m"        #'mh-to-field
-  "\C-c\C-f\C-s"        #'mh-to-field
-  "\C-c\C-f\C-t"        #'mh-to-field
-  "\C-c\C-fb"           #'mh-to-field
-  "\C-c\C-fc"           #'mh-to-field
-  "\C-c\C-fm"           #'mh-to-field
-  "\C-c\C-fs"           #'mh-to-field
-  "\C-c\C-ft"           #'mh-to-field)
+  "C-c ?"              #'mh-help
+  "C-c C-c"            #'mh-index-do-search
+  "C-c C-p"            #'mh-pick-do-search
+  "C-c C-f C-b"        #'mh-to-field
+  "C-c C-f C-c"        #'mh-to-field
+  "C-c C-f C-m"        #'mh-to-field
+  "C-c C-f C-s"        #'mh-to-field
+  "C-c C-f C-t"        #'mh-to-field
+  "C-c C-f b"           #'mh-to-field
+  "C-c C-f c"           #'mh-to-field
+  "C-c C-f m"           #'mh-to-field
+  "C-c C-f s"           #'mh-to-field
+  "C-c C-f t"           #'mh-to-field)
 
 
 
diff --git a/lisp/mh-e/mh-show.el b/lisp/mh-e/mh-show.el
index 5241796..0f85cd6 100644
--- a/lisp/mh-e/mh-show.el
+++ b/lisp/mh-e/mh-show.el
@@ -560,7 +560,7 @@ still visible.\n")
 ;;; MH-Show Keys
 
 (define-keymap :keymap mh-show-mode-map
-  " "    #'mh-show-page-msg
+  "SPC"  #'mh-show-page-msg
   "!"    #'mh-show-refile-or-write-again
   "'"    #'mh-show-toggle-tick
   ","    #'mh-show-header-display
@@ -570,12 +570,12 @@ still visible.\n")
   "?"    #'mh-help
   "E"    #'mh-show-extract-rejected-mail
   "M"    #'mh-show-modify
-  "\177" #'mh-show-previous-page
-  "\C-d" #'mh-show-delete-msg-no-motion
-  "\t"   #'mh-show-next-button
-  [backtab] #'mh-show-prev-button
-  "\M-\t" #'mh-show-prev-button
-  "\ed"  #'mh-show-redistribute
+  "DEL"  #'mh-show-previous-page
+  "C-d"  #'mh-show-delete-msg-no-motion
+  "TAB"   #'mh-show-next-button
+  "<backtab>" #'mh-show-prev-button
+  "C-M-i" #'mh-show-prev-button
+  "ESC d" #'mh-show-redistribute
   "^"    #'mh-show-refile-msg
   "c"    #'mh-show-copy-msg
   "d"    #'mh-show-delete-msg
@@ -586,10 +586,10 @@ still visible.\n")
   "k"    #'mh-show-delete-subject-or-thread
   "m"    #'mh-show-send
   "n"    #'mh-show-next-undeleted-msg
-  "\M-n" #'mh-show-next-unread-msg
+  "M-n"  #'mh-show-next-unread-msg
   "o"    #'mh-show-refile-msg
   "p"    #'mh-show-previous-undeleted-msg
-  "\M-p" #'mh-show-previous-unread-msg
+  "M-p"  #'mh-show-previous-unread-msg
   "q"    #'mh-show-quit
   "r"    #'mh-show-reply
   "s"    #'mh-show-send
@@ -670,8 +670,8 @@ still visible.\n")
 
   "D" (define-keymap :prefix 'mh-show-digest-map
         "?"    #'mh-prefix-help
-        " "    #'mh-show-page-digest
-        "\177" #'mh-show-page-digest-backwards
+        "SPC"  #'mh-show-page-digest
+        "DEL"  #'mh-show-page-digest-backwards
         "b"    #'mh-show-burst-digest)
 
   "K" (define-keymap :prefix 'mh-show-mime-map
@@ -682,9 +682,9 @@ still visible.\n")
         "o"           #'mh-show-save-mime-part
         "i"           #'mh-show-inline-mime-part
         "t"           #'mh-show-toggle-mime-buttons
-        "\t"          #'mh-show-next-button
-        [backtab]     #'mh-show-prev-button
-        "\M-\t"       #'mh-show-prev-button))
+        "TAB"         #'mh-show-next-button
+        "<backtab>"   #'mh-show-prev-button
+        "C-M-i"       #'mh-show-prev-button))
 
 
 
diff --git a/lisp/mh-e/mh-speed.el b/lisp/mh-e/mh-speed.el
index 82b108c..bf3a9e5 100644
--- a/lisp/mh-e/mh-speed.el
+++ b/lisp/mh-e/mh-speed.el
@@ -86,7 +86,7 @@
 (define-keymap :keymap mh-folder-speedbar-key-map
   "+"           #'mh-speed-expand-folder
   "-"           #'mh-speed-contract-folder
-  "\r"          #'mh-speed-view
+  "RET"         #'mh-speed-view
   "r"           #'mh-speed-refresh)
 
 (defvar mh-show-speedbar-key-map mh-folder-speedbar-key-map)
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 70ebc1d..031a731 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -314,11 +314,11 @@ parameter, and should return the (possibly) transformed 
URL."
 
 (defvar-keymap eww-link-keymap
   :parent shr-map
-  "\r" #'eww-follow-link)
+  "RET" #'eww-follow-link)
 
 (defvar-keymap eww-image-link-keymap
   :parent shr-map
-  "\r" #'eww-follow-link)
+  "RET" #'eww-follow-link)
 
 (defun eww-suggested-uris nil
   "Return the list of URIs to suggest at the `eww' prompt.
@@ -1045,11 +1045,11 @@ the like."
 (defvar-keymap eww-mode-map
   "g" #'eww-reload             ;FIXME: revert-buffer-function instead!
   "G" #'eww
-  [?\M-\r] #'eww-open-in-new-buffer
-  [?\t] #'shr-next-link
-  [?\M-\t] #'shr-previous-link
-  [backtab] #'shr-previous-link
-  [delete] #'scroll-down-command
+  "M-RET" #'eww-open-in-new-buffer
+  "TAB" #'shr-next-link
+  "C-M-i" #'shr-previous-link
+  "<backtab>" #'shr-previous-link
+  "<delete>" #'scroll-down-command
   "l" #'eww-back-url
   "r" #'eww-forward-url
   "n" #'eww-next-url
@@ -1068,16 +1068,16 @@ the like."
   "S" #'eww-list-buffers
   "F" #'eww-toggle-fonts
   "D" #'eww-toggle-paragraph-direction
-  [(meta C)] #'eww-toggle-colors
-  [(meta I)] #'eww-toggle-images
+  "M-C" #'eww-toggle-colors
+  "M-I" #'eww-toggle-images
 
   "b" #'eww-add-bookmark
   "B" #'eww-list-bookmarks
-  [(meta n)] #'eww-next-bookmark
-  [(meta p)] #'eww-previous-bookmark
+  "M-n" #'eww-next-bookmark
+  "M-p" #'eww-previous-bookmark
 
-  [(mouse-8)] #'eww-back-url
-  [(mouse-9)] #'eww-forward-url
+  "<mouse-8>" #'eww-back-url
+  "<mouse-9>" #'eww-forward-url
 
   :menu '("Eww"
           ["Exit" quit-window t]
@@ -1300,42 +1300,42 @@ just re-display the HTML already fetched."
 (defvar eww-form nil)
 
 (defvar-keymap eww-submit-map
-  "\r" #'eww-submit
-  [(control c) (control c)] #'eww-submit)
+  "RET" #'eww-submit
+  "C-c C-c" #'eww-submit)
 
 (defvar-keymap eww-submit-file
-  "\r" #'eww-select-file
-  [(control c) (control c)] #'eww-submit)
+  "RET" #'eww-select-file
+  "C-c C-c" #'eww-submit)
 
 (defvar-keymap eww-checkbox-map
-  " " #'eww-toggle-checkbox
-  "\r" #'eww-toggle-checkbox
-  [(control c) (control c)] #'eww-submit)
+  "SPC" #'eww-toggle-checkbox
+  "RET" #'eww-toggle-checkbox
+  "C-c C-c" #'eww-submit)
 
 (defvar-keymap eww-text-map
   :full t :parent text-mode-map
-  "\r" #'eww-submit
-  [(control a)] #'eww-beginning-of-text
-  [(control c) (control c)] #'eww-submit
-  [(control e)] #'eww-end-of-text
-  [?\t] #'shr-next-link
-  [?\M-\t] #'shr-previous-link
-  [backtab] #'shr-previous-link)
+  "RET" #'eww-submit
+  "C-a" #'eww-beginning-of-text
+  "C-c C-c" #'eww-submit
+  "C-e" #'eww-end-of-text
+  "TAB" #'shr-next-link
+  "M-TAB" #'shr-previous-link
+  "<backtab>" #'shr-previous-link)
 
 (defvar-keymap eww-textarea-map
   :full t :parent text-mode-map
-  "\r" #'forward-line
-  [(control c) (control c)] #'eww-submit
-  [?\t] #'shr-next-link
-  [?\M-\t] #'shr-previous-link
-  [backtab] #'shr-previous-link)
+  "RET" #'forward-line
+  "C-c C-c" #'eww-submit
+  "TAB" #'shr-next-link
+  "M-TAB" #'shr-previous-link
+  "<backtab>" #'shr-previous-link)
 
 (defvar-keymap eww-select-map
   :doc "Map for select buttons"
-  "\r" #'eww-change-select
-  [follow-link] 'mouse-face
-  [mouse-2] #'eww-change-select
-  [(control c) (control c)] #'eww-submit)
+  "RET" #'eww-change-select
+  "<follow-link>" 'mouse-face
+  "<mouse-2>" #'eww-change-select
+  "C-c C-c" #'eww-submit)
 
 (defun eww-beginning-of-text ()
   "Move to the start of the input field."
@@ -2171,9 +2171,9 @@ If ERROR-OUT, signal user-error if there are no 
bookmarks."
     (eww-browse-url (plist-get bookmark :url))))
 
 (defvar-keymap eww-bookmark-mode-map
-  [(control k)] #'eww-bookmark-kill
-  [(control y)] #'eww-bookmark-yank
-  "\r" #'eww-bookmark-browse
+  "C-k" #'eww-bookmark-kill
+  "C-y" #'eww-bookmark-yank
+  "RET" #'eww-bookmark-browse
   :menu '("Eww Bookmark"
           ["Exit" quit-window t]
           ["Browse" eww-bookmark-browse
@@ -2247,7 +2247,7 @@ If ERROR-OUT, signal user-error if there are no 
bookmarks."
     (eww-restore-history history)))
 
 (defvar-keymap eww-history-mode-map
-  "\r" #'eww-history-browse
+  "RET" #'eww-history-browse
   "n" #'next-line
   "p" #'previous-line
   :menu '("Eww History"
@@ -2366,8 +2366,8 @@ If ERROR-OUT, signal user-error if there are no 
bookmarks."
   (eww-buffer-show))
 
 (defvar-keymap eww-buffers-mode-map
-  [(control k)] #'eww-buffer-kill
-  "\r" #'eww-buffer-select
+  "C-k" #'eww-buffer-kill
+  "RET" #'eww-buffer-select
   "n" #'eww-buffer-show-next
   "p" #'eww-buffer-show-previous
   :menu '("Eww Buffers"
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index fd74693..b9e8a18 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -251,17 +251,17 @@ and other things:
   "a" #'shr-show-alt-text
   "i" #'shr-browse-image
   "z" #'shr-zoom-image
-  [?\t] #'shr-next-link
-  [?\M-\t] #'shr-previous-link
-  [follow-link] 'mouse-face
-  [mouse-2] #'shr-browse-url
-  [C-down-mouse-1] #'shr-mouse-browse-url-new-window
+  "TAB" #'shr-next-link
+  "C-M-i" #'shr-previous-link
+  "<follow-link>" 'mouse-face
+  "<mouse-2>" #'shr-browse-url
+  "C-<down-mouse-1>" #'shr-mouse-browse-url-new-window
   "I" #'shr-insert-image
   "w" #'shr-maybe-probe-and-copy-url
   "u" #'shr-maybe-probe-and-copy-url
   "v" #'shr-browse-url
   "O" #'shr-save-contents
-  "\r" #'shr-browse-url)
+  "RET" #'shr-browse-url)
 
 (defvar shr-image-map
   (let ((map (copy-keymap shr-map)))
diff --git a/lisp/outline.el b/lisp/outline.el
index 9a2e432..a4d2a3b 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -992,8 +992,8 @@ If non-nil, EVENT should be a mouse event."
       (overlay-put o 'keymap
                    (define-keymap
                      :parent outline-minor-mode-cycle-map
-                     ["RET"] #'outline-hide-subtree
-                     ["<mouse-2>"] #'outline-hide-subtree)))))
+                     "RET" #'outline-hide-subtree
+                     "<mouse-2>" #'outline-hide-subtree)))))
 
 (defun outline--insert-close-button ()
   (save-excursion
@@ -1003,8 +1003,8 @@ If non-nil, EVENT should be a mouse event."
       (overlay-put o 'keymap
                    (define-keymap
                      :parent outline-minor-mode-cycle-map
-                     ["RET"] #'outline-show-subtree
-                     ["<mouse-2>"] #'outline-show-subtree)))))
+                     "RET" #'outline-show-subtree
+                     "<mouse-2>" #'outline-show-subtree)))))
 
 (defun outline--fix-up-all-buttons (&optional from to)
   (when from
diff --git a/lisp/simple.el b/lisp/simple.el
index ad6d28c..58283e7 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -541,9 +541,9 @@ Other major modes are defined by comparison with this one."
 (defvar-keymap special-mode-map
   :suppress t
   "q" #'quit-window
-  " " #'scroll-up-command
-  [?\S-\ ] #'scroll-down-command
-  "\C-?" #'scroll-down-command
+  "SPC" #'scroll-up-command
+  "S-SPC" #'scroll-down-command
+  "DEL" #'scroll-down-command
   "?" #'describe-mode
   "h" #'describe-mode
   ">" #'end-of-buffer
diff --git a/lisp/vc/cvs-status.el b/lisp/vc/cvs-status.el
index 86b62eb..7886cc1 100644
--- a/lisp/vc/cvs-status.el
+++ b/lisp/vc/cvs-status.el
@@ -40,8 +40,8 @@
   "p"         #'previous-line
   "N"         #'cvs-status-next
   "P"         #'cvs-status-prev
-  ["M-n"]     #'cvs-status-next
-  ["M-p"]     #'cvs-status-prev
+  "M-n"       #'cvs-status-next
+  "M-p"       #'cvs-status-prev
   "t"         #'cvs-status-cvstrees
   "T"         #'cvs-status-trees
   ">"         #'cvs-mode-checkout)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index e68aa22..87d3066 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -169,49 +169,49 @@ and hunk-based syntax highlighting otherwise as a 
fallback."
   "N" #'diff-file-next
   "p" #'diff-hunk-prev
   "P" #'diff-file-prev
-  ["TAB"] #'diff-hunk-next
-  [backtab] #'diff-hunk-prev
+  "TAB" #'diff-hunk-next
+  "<backtab>" #'diff-hunk-prev
   "k" #'diff-hunk-kill
   "K" #'diff-file-kill
   "}" #'diff-file-next                  ; From compilation-minor-mode.
   "{" #'diff-file-prev
-  ["RET"] #'diff-goto-source
-  [mouse-2] #'diff-goto-source
+  "RET" #'diff-goto-source
+  "<mouse-2>" #'diff-goto-source
   "W" #'widen
   "o" #'diff-goto-source                ; other-window
   "A" #'diff-ediff-patch
   "r" #'diff-restrict-view
   "R" #'diff-reverse-direction
-  [remap undo] #'diff-undo)
+  "<remap> <undo>" #'diff-undo)
 
 (defvar-keymap diff-mode-map
   :doc "Keymap for `diff-mode'.  See also `diff-mode-shared-map'."
-  ["ESC"] (let ((map (define-keymap :parent diff-mode-shared-map)))
-            ;; We want to inherit most bindings from
-            ;; `diff-mode-shared-map', but not all since they may hide
-            ;; useful `M-<foo>' global bindings when editing.
-            (dolist (key '("A" "r" "R" "g" "q" "W" "z"))
-              (define-key map key nil))
-            map)
+  "ESC" (let ((map (define-keymap :parent diff-mode-shared-map)))
+          ;; We want to inherit most bindings from
+          ;; `diff-mode-shared-map', but not all since they may hide
+          ;; useful `M-<foo>' global bindings when editing.
+          (dolist (key '("A" "r" "R" "g" "q" "W" "z"))
+            (keymap-set map key nil))
+          map)
   ;; From compilation-minor-mode.
-  ["C-c C-c"] #'diff-goto-source
+  "C-c C-c" #'diff-goto-source
   ;; By analogy with the global C-x 4 a binding.
-  ["C-x 4 A"] #'diff-add-change-log-entries-other-window
+  "C-x 4 A" #'diff-add-change-log-entries-other-window
   ;; Misc operations.
-  ["C-c C-a"] #'diff-apply-hunk
-  ["C-c C-e"] #'diff-ediff-patch
-  ["C-c C-n"] #'diff-restrict-view
-  ["C-c C-s"] #'diff-split-hunk
-  ["C-c C-t"] #'diff-test-hunk
-  ["C-c C-r"] #'diff-reverse-direction
-  ["C-c C-u"] #'diff-context->unified
+  "C-c C-a" #'diff-apply-hunk
+  "C-c C-e" #'diff-ediff-patch
+  "C-c C-n" #'diff-restrict-view
+  "C-c C-s" #'diff-split-hunk
+  "C-c C-t" #'diff-test-hunk
+  "C-c C-r" #'diff-reverse-direction
+  "C-c C-u" #'diff-context->unified
   ;; `d' because it duplicates the context :-(  --Stef
-  ["C-c C-d"] #'diff-unified->context
-  ["C-c C-w"] #'diff-ignore-whitespace-hunk
+  "C-c C-d" #'diff-unified->context
+  "C-c C-w" #'diff-ignore-whitespace-hunk
   ;; `l' because it "refreshes" the hunk like C-l refreshes the screen
-  ["C-c C-l"] #'diff-refresh-hunk
-  ["C-c C-b"] #'diff-refine-hunk        ;No reason for `b' :-(
-  ["C-c C-f"] #'next-error-follow-minor-mode)
+  "C-c C-l" #'diff-refresh-hunk
+  "C-c C-b" #'diff-refine-hunk        ;No reason for `b' :-(
+  "C-c C-f" #'next-error-follow-minor-mode)
 
 (easy-menu-define diff-mode-menu diff-mode-map
   "Menu for `diff-mode'."
@@ -264,9 +264,11 @@ and hunk-based syntax highlighting otherwise as a 
fallback."
      :help "Go to the next count'th file"]
     ))
 
-(defcustom diff-minor-mode-prefix "\C-c="
+(defcustom diff-minor-mode-prefix "C-c ="
   "Prefix key for `diff-minor-mode' commands."
-  :type '(choice (string "\e") (string "C-c=") string))
+  :type '(choice (string "ESC")
+                 (string "C-c =") string)
+  :version "29.1")
 
 (defvar-keymap diff-minor-mode-map
   :doc "Keymap for `diff-minor-mode'.  See also `diff-mode-shared-map'."
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el
index c8d089e..6e3f302 100644
--- a/lisp/vc/log-edit.el
+++ b/lisp/vc/log-edit.el
@@ -55,18 +55,18 @@
 (define-obsolete-variable-alias 'vc-log-entry-mode 'log-edit-mode-map "28.1")
 
 (defvar-keymap log-edit-mode-map
-  (kbd "C-c C-c") #'log-edit-done
-  (kbd "C-c C-a") #'log-edit-insert-changelog
-  (kbd "C-c C-w") #'log-edit-generate-changelog-from-diff
-  (kbd "C-c C-d") #'log-edit-show-diff
-  (kbd "C-c C-f") #'log-edit-show-files
-  (kbd "C-c C-k") #'log-edit-kill-buffer
-  (kbd "C-a")     #'log-edit-beginning-of-line
-  (kbd "M-n")     #'log-edit-next-comment
-  (kbd "M-p")     #'log-edit-previous-comment
-  (kbd "M-r")     #'log-edit-comment-search-backward
-  (kbd "M-s")     #'log-edit-comment-search-forward
-  (kbd "C-c ?")   #'log-edit-mode-help)
+  "C-c C-c" #'log-edit-done
+  "C-c C-a" #'log-edit-insert-changelog
+  "C-c C-w" #'log-edit-generate-changelog-from-diff
+  "C-c C-d" #'log-edit-show-diff
+  "C-c C-f" #'log-edit-show-files
+  "C-c C-k" #'log-edit-kill-buffer
+  "C-a"     #'log-edit-beginning-of-line
+  "M-n"     #'log-edit-next-comment
+  "M-p"     #'log-edit-previous-comment
+  "M-r"     #'log-edit-comment-search-backward
+  "M-s"     #'log-edit-comment-search-forward
+  "C-c ?"   #'log-edit-mode-help)
 
 (easy-menu-define log-edit-menu log-edit-mode-map
   "Menu used for `log-edit-mode'."
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 2c78000..d45c169 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -123,7 +123,7 @@
   :prefix "log-view-")
 
 (defvar-keymap log-view-mode-map
-  (kbd "RET") #'log-view-toggle-entry-display
+  "RET" #'log-view-toggle-entry-display
   "m" #'log-view-toggle-mark-entry
   "e" #'log-view-modify-change-comment
   "d" #'log-view-diff
@@ -133,12 +133,12 @@
   "f" #'log-view-find-revision
   "n" #'log-view-msg-next
   "p" #'log-view-msg-prev
-  (kbd "TAB") #'log-view-msg-next
-  (kbd "<backtab>") #'log-view-msg-prev
+  "TAB" #'log-view-msg-next
+  "<backtab>" #'log-view-msg-prev
   "N" #'log-view-file-next
   "P" #'log-view-file-prev
-  (kbd "M-n") #'log-view-file-next
-  (kbd "M-p") #'log-view-file-prev)
+  "M-n" #'log-view-file-next
+  "M-p" #'log-view-file-prev)
 
 (easy-menu-define log-view-mode-menu log-view-mode-map
   "Log-View Display Menu."
diff --git a/lisp/vc/pcvs.el b/lisp/vc/pcvs.el
index 2daa42f..fa28d07 100644
--- a/lisp/vc/pcvs.el
+++ b/lisp/vc/pcvs.el
@@ -164,33 +164,33 @@
   "z"              #'kill-this-buffer
   "F"              #'cvs-mode-set-flags
   "!"              #'cvs-mode-force-command
-  ["C-c C-c"]      #'cvs-mode-kill-process
+  "C-c C-c"        #'cvs-mode-kill-process
   ;; marking
   "m"              #'cvs-mode-mark
   "M"              #'cvs-mode-mark-all-files
   "S"              #'cvs-mode-mark-on-state
   "u"              #'cvs-mode-unmark
-  ["DEL"]          #'cvs-mode-unmark-up
+  "DEL"            #'cvs-mode-unmark-up
   "%"              #'cvs-mode-mark-matching-files
   "T"              #'cvs-mode-toggle-marks
-  ["M-DEL"]        #'cvs-mode-unmark-all-files
+  "M-DEL"          #'cvs-mode-unmark-all-files
   ;; navigation keys
-  " "              #'cvs-mode-next-line
+  "SPC"            #'cvs-mode-next-line
   "n"              #'cvs-mode-next-line
   "p"              #'cvs-mode-previous-line
-  "\t"             #'cvs-mode-next-line
-  [backtab]        #'cvs-mode-previous-line
+  "TAB"            #'cvs-mode-next-line
+  "<backtab>"      #'cvs-mode-previous-line
   ;; M- keys are usually those that operate on modules
-  ["M-c"]          #'cvs-checkout
-  ["M-e"]          #'cvs-examine
+  "M-c"            #'cvs-checkout
+  "M-e"            #'cvs-examine
   "g"              #'cvs-mode-revert-buffer
-  ["M-u"]          #'cvs-update
-  ["M-s"]          #'cvs-status
+  "M-u"            #'cvs-update
+  "M-s"            #'cvs-status
   ;; diff commands
   "="              #'cvs-mode-diff
   "d"              cvs-mode-diff-map
   ;; keys that operate on individual files
-  ["C-k"]          #'cvs-mode-acknowledge
+  "C-k"            #'cvs-mode-acknowledge
   "A"              #'cvs-mode-add-change-log-entry-other-window
   "C"              #'cvs-mode-commit-setup
   "O"              #'cvs-mode-update
@@ -202,7 +202,7 @@
   "c"              #'cvs-mode-commit
   "e"              #'cvs-mode-examine
   "f"              #'cvs-mode-find-file
-  ["RET"]          #'cvs-mode-find-file
+  "RET"            #'cvs-mode-find-file
   "i"              #'cvs-mode-ignore
   "l"              #'cvs-mode-log
   "o"              #'cvs-mode-find-file-other-window
@@ -214,12 +214,12 @@
   ;; cvstree bindings
   "+"              #'cvs-mode-tree
   ;; mouse bindings
-  [mouse-2]        #'cvs-mode-find-file
-  [follow-link]    (lambda (pos)
+  "<mouse-2>"      #'cvs-mode-find-file
+  "<follow-link>"  (lambda (pos)
                      (eq (get-char-property pos 'face) 'cvs-filename))
-  [(down-mouse-3)] #'cvs-menu
+  "<down-mouse-3>" #'cvs-menu
   ;; dired-like bindings
-  "\C-o"           #'cvs-mode-display-file)
+  "C-o"            #'cvs-mode-display-file)
 
 (easy-menu-define cvs-menu cvs-mode-map "Menu used in `cvs-mode'."
   '("CVS"
@@ -266,9 +266,10 @@
 ;;;; CVS-Minor mode
 ;;;;
 
-(defcustom cvs-minor-mode-prefix "\C-xc"
+(defcustom cvs-minor-mode-prefix "C-x c"
   "Prefix key for the `cvs-mode' bindings in `cvs-minor-mode'."
   :type 'string
+  :version "29.1"
   :group 'pcl-cvs)
 
 (defvar-keymap cvs-minor-mode-map
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 2cc5ee7..ee6ddf1 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -156,16 +156,17 @@ Used in `smerge-diff-base-upper' and related functions."
   "E" #'smerge-ediff
   "C" #'smerge-combine-with-next
   "R" #'smerge-refine
-  ["C-m"] #'smerge-keep-current
+  "C-m" #'smerge-keep-current
   "=" (define-keymap :name "Diff"
         "<" (cons "base-upper" #'smerge-diff-base-upper)
         ">" (cons "base-lower" #'smerge-diff-base-lower)
         "=" (cons "upper-lower" #'smerge-diff-upper-lower)))
 
-(defcustom smerge-command-prefix "\C-c^"
+(defcustom smerge-command-prefix "C-c ^"
   "Prefix for `smerge-mode' commands."
+  :version "29.1"
   :type '(choice (const :tag "ESC"   "\e")
-                (const :tag "C-c ^" "\C-c^" )
+                (const :tag "C-c ^" "C-c ^")
                 (const :tag "none"  "")
                 string))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]