]> git.eshelyaron.com Git - emacs.git/commitdiff
Convert some keymaps to defvar-keymap
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 4 Oct 2021 08:15:04 +0000 (10:15 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 4 Oct 2021 08:15:11 +0000 (10:15 +0200)
* lisp/simple.el (special-mode-map):
* 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/gnus/message.el (message-mode-map): Use defvar-keymap.

* lisp/gnus/gnus-eform.el (gnus-edit-form-mode-map):
* lisp/gnus/gnus-dired.el (gnus-dired-mode-map):
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Use
defvar-keymap.

* lisp/gnus/gnus-group.el (gnus-group-mode-map): Use define-keymap.

* lisp/gnus/gnus-html.el (gnus-html-image-map): Use defvar-keymap.

* lisp/gnus/gnus.el: Autoload gnus-score-edit-all-score.

lisp/gnus/gnus-bookmark.el
lisp/gnus/gnus-dired.el
lisp/gnus/gnus-eform.el
lisp/gnus/gnus-group.el
lisp/gnus/gnus-html.el
lisp/gnus/gnus.el
lisp/gnus/message.el
lisp/net/eww.el
lisp/net/shr.el
lisp/simple.el

index 83e482f14c10c21e6bec98899eb3dc99cf68b071..a6b1a0762ba57cfe65c34cdb4093b6a126e27cb4 100644 (file)
@@ -418,32 +418,28 @@ That is, all information but the name."
 
 (defvar gnus-bookmark-bmenu-bookmark-column nil)
 (defvar gnus-bookmark-bmenu-hidden-bookmarks ())
-(defvar gnus-bookmark-bmenu-mode-map nil)
-
-(if gnus-bookmark-bmenu-mode-map
-    nil
-  (setq gnus-bookmark-bmenu-mode-map (make-keymap))
-  (suppress-keymap gnus-bookmark-bmenu-mode-map t)
-  (define-key gnus-bookmark-bmenu-mode-map "q" 'quit-window)
-  (define-key gnus-bookmark-bmenu-mode-map "\C-m" 'gnus-bookmark-bmenu-select)
-  (define-key gnus-bookmark-bmenu-mode-map "v" 'gnus-bookmark-bmenu-select)
-  (define-key gnus-bookmark-bmenu-mode-map "d" 'gnus-bookmark-bmenu-delete)
-  (define-key gnus-bookmark-bmenu-mode-map "k" 'gnus-bookmark-bmenu-delete)
-  (define-key gnus-bookmark-bmenu-mode-map "\C-d" 'gnus-bookmark-bmenu-delete-backwards)
-  (define-key gnus-bookmark-bmenu-mode-map "x" 'gnus-bookmark-bmenu-execute-deletions)
-  (define-key gnus-bookmark-bmenu-mode-map " " 'next-line)
-  (define-key gnus-bookmark-bmenu-mode-map "n" 'next-line)
-  (define-key gnus-bookmark-bmenu-mode-map "p" 'previous-line)
-  (define-key gnus-bookmark-bmenu-mode-map "\177" 'gnus-bookmark-bmenu-backup-unmark)
-  (define-key gnus-bookmark-bmenu-mode-map "?" 'describe-mode)
-  (define-key gnus-bookmark-bmenu-mode-map "u" 'gnus-bookmark-bmenu-unmark)
-  (define-key gnus-bookmark-bmenu-mode-map "m" 'gnus-bookmark-bmenu-mark)
-  (define-key gnus-bookmark-bmenu-mode-map "l" 'gnus-bookmark-bmenu-load)
-  (define-key gnus-bookmark-bmenu-mode-map "s" 'gnus-bookmark-bmenu-save)
-  (define-key gnus-bookmark-bmenu-mode-map "t" 'gnus-bookmark-bmenu-toggle-infos)
-  (define-key gnus-bookmark-bmenu-mode-map "a" 'gnus-bookmark-bmenu-show-details)
-  (define-key gnus-bookmark-bmenu-mode-map [mouse-2]
-    'gnus-bookmark-bmenu-select-by-mouse))
+
+(defvar-keymap gnus-bookmark-bmenu-mode-map (:full t
+                                             :suppress 'nodigits)
+  "q" #'quit-window
+  "\C-m" #'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
+  "x" #'gnus-bookmark-bmenu-execute-deletions
+  " " #'next-line
+  "n" #'next-line
+  "p" #'previous-line
+  "\177" #'gnus-bookmark-bmenu-backup-unmark
+  "?" #'describe-mode
+  "u" #'gnus-bookmark-bmenu-unmark
+  "m" #'gnus-bookmark-bmenu-mark
+  "l" #'gnus-bookmark-bmenu-load
+  "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)
 
 ;; Bookmark Buffer Menu mode is suitable only for specially formatted
 ;; data.
index e9eddae942fc61b5678c105f055567f292ec053c..08a4289714b3651fa76667485691f51a0d231013 100644 (file)
 (autoload 'message-buffers "message")
 (autoload 'gnus-print-buffer "gnus-sum")
 
-(defvar gnus-dired-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "\C-c\C-m\C-a" 'gnus-dired-attach)
-    (define-key map "\C-c\C-m\C-l" 'gnus-dired-find-file-mailcap)
-    (define-key map "\C-c\C-m\C-p" 'gnus-dired-print)
-    map))
+(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)
 
 ;; FIXME: Make it customizable, change the default to `mail-user-agent' when
 ;; this file is renamed (e.g. to `dired-mime.el').
index 3fd8bf51de4b0a4f85a5c5eddd49ed519460333a..922e25e277eae6573fd07dde1697f609bafbf072 100644 (file)
 (defvar gnus-edit-form-buffer "*Gnus edit form*")
 (defvar gnus-edit-form-done-function nil)
 
-(defvar gnus-edit-form-mode-map
-  (let ((map (make-sparse-keymap)))
-    (set-keymap-parent map emacs-lisp-mode-map)
-    (gnus-define-keys map
-      "\C-c\C-c" gnus-edit-form-done
-      "\C-c\C-k" gnus-edit-form-exit)
-    map))
+(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)
 
 (defun gnus-edit-form-make-menu-bar ()
   (unless (boundp 'gnus-edit-form-menu)
index b1e486b0627b463757169700b2547c8043c506ba..7c879741cf18410cf2c664938a5b3854eccac60a 100644 (file)
@@ -573,209 +573,209 @@ simple manner."
 ;;; Gnus group mode
 ;;;
 
-(gnus-define-keys gnus-group-mode-map
-  " " 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
-  "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
-  "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
-  "," 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
-  "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
-  "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
-  "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
-  "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
-  "^" gnus-group-enter-server-mode
-  [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
-  "t" gnus-topic-mode
-  "\C-c\M-g" gnus-activate-all-groups
-  "\M-&" gnus-group-universal-argument
-  "#" gnus-group-mark-group
-  "\M-#" gnus-group-unmark-group)
-
-(gnus-define-keys (gnus-group-cloud-map "~" gnus-group-mode-map)
-  "u" gnus-cloud-upload-all-data
-  "~" gnus-cloud-upload-all-data
-  "d" gnus-cloud-download-all-data
-  "\r" gnus-cloud-download-all-data)
-
-(gnus-define-keys (gnus-group-mark-map "M" gnus-group-mode-map)
-  "m" gnus-group-mark-group
-  "u" gnus-group-unmark-group
-  "w" gnus-group-mark-region
-  "b" gnus-group-mark-buffer
-  "r" gnus-group-mark-regexp
-  "U" gnus-group-unmark-all-groups)
-
-(gnus-define-keys (gnus-group-sieve-map "D" gnus-group-mode-map)
-  "u" gnus-sieve-update
-  "g" gnus-sieve-generate)
-
-(gnus-define-keys (gnus-group-group-map "G" gnus-group-mode-map)
-  "d" gnus-group-make-directory-group
-  "h" gnus-group-make-help-group
-  "u" gnus-group-make-useful-group
-  "l" gnus-group-nnimap-edit-acl
-  "m" gnus-group-make-group
-  "E" gnus-group-edit-group
-  "e" gnus-group-edit-group-method
-  "p" gnus-group-edit-group-parameters
-  "v" gnus-group-add-to-virtual
-  "V" gnus-group-make-empty-virtual
-  "D" gnus-group-enter-directory
-  "f" gnus-group-make-doc-group
-  "w" gnus-group-make-web-group
-  "G" gnus-group-read-ephemeral-search-group
-  "g" gnus-group-make-search-group
-  "M" gnus-group-read-ephemeral-group
-  "r" gnus-group-rename-group
-  "R" gnus-group-make-rss-group
-  "c" gnus-group-customize
-  "z" gnus-group-compact-group
-  "x" gnus-group-expunge-group
-  "\177" gnus-group-delete-group
-  [delete] gnus-group-delete-group)
-
-(gnus-define-keys (gnus-group-sort-map "S" gnus-group-group-map)
-  "s" gnus-group-sort-groups
-  "a" gnus-group-sort-groups-by-alphabet
-  "u" gnus-group-sort-groups-by-unread
-  "l" gnus-group-sort-groups-by-level
-  "v" gnus-group-sort-groups-by-score
-  "r" gnus-group-sort-groups-by-rank
-  "m" gnus-group-sort-groups-by-method
-  "n" gnus-group-sort-groups-by-real-name)
-
-(gnus-define-keys (gnus-group-sort-selected-map "P" gnus-group-group-map)
-  "s" gnus-group-sort-selected-groups
-  "a" gnus-group-sort-selected-groups-by-alphabet
-  "u" gnus-group-sort-selected-groups-by-unread
-  "l" gnus-group-sort-selected-groups-by-level
-  "v" gnus-group-sort-selected-groups-by-score
-  "r" gnus-group-sort-selected-groups-by-rank
-  "m" gnus-group-sort-selected-groups-by-method
-  "n" gnus-group-sort-selected-groups-by-real-name)
-
-(gnus-define-keys (gnus-group-list-map "A" gnus-group-mode-map)
-  "k" gnus-group-list-killed
-  "z" gnus-group-list-zombies
-  "s" gnus-group-list-groups
-  "u" gnus-group-list-all-groups
-  "A" gnus-group-list-active
-  "a" gnus-group-apropos
-  "d" gnus-group-description-apropos
-  "m" gnus-group-list-matching
-  "M" gnus-group-list-all-matching
-  "l" gnus-group-list-level
-  "c" gnus-group-list-cached
-  "?" gnus-group-list-dormant
-  "!" gnus-group-list-ticked)
-
-(gnus-define-keys (gnus-group-list-limit-map "/" gnus-group-list-map)
-  "k"  gnus-group-list-limit
-  "z"  gnus-group-list-limit
-  "s"  gnus-group-list-limit
-  "u"  gnus-group-list-limit
-  "A"  gnus-group-list-limit
-  "m"  gnus-group-list-limit
-  "M"  gnus-group-list-limit
-  "l"  gnus-group-list-limit
-  "c"  gnus-group-list-limit
-  "?"  gnus-group-list-limit
-  "!"  gnus-group-list-limit)
-
-(gnus-define-keys (gnus-group-list-flush-map "f" gnus-group-list-map)
-  "k"  gnus-group-list-flush
-  "z"  gnus-group-list-flush
-  "s"  gnus-group-list-flush
-  "u"  gnus-group-list-flush
-  "A"  gnus-group-list-flush
-  "m"  gnus-group-list-flush
-  "M"  gnus-group-list-flush
-  "l"  gnus-group-list-flush
-  "c"  gnus-group-list-flush
-  "?"  gnus-group-list-flush
-  "!"  gnus-group-list-flush)
-
-(gnus-define-keys (gnus-group-list-plus-map "p" gnus-group-list-map)
-  "k"  gnus-group-list-plus
-  "z"  gnus-group-list-plus
-  "s"  gnus-group-list-plus
-  "u"  gnus-group-list-plus
-  "A"  gnus-group-list-plus
-  "m"  gnus-group-list-plus
-  "M"  gnus-group-list-plus
-  "l"  gnus-group-list-plus
-  "c"  gnus-group-list-plus
-  "?"  gnus-group-list-plus
-  "!"  gnus-group-list-plus)
-
-(gnus-define-keys (gnus-group-score-map "W" gnus-group-mode-map)
-  "f" gnus-score-flush-cache
-  "e" gnus-score-edit-all-score)
-
-(gnus-define-keys (gnus-group-help-map "H" gnus-group-mode-map)
-  "d" gnus-group-describe-group
-  "v" gnus-version)
-
-(gnus-define-keys (gnus-group-sub-map "S" gnus-group-mode-map)
-  "l" gnus-group-set-current-level
-  "t" gnus-group-toggle-subscription-at-point
-  "s" gnus-group-toggle-subscription
-  "k" gnus-group-kill-group
-  "y" gnus-group-yank-group
-  "w" gnus-group-kill-region
-  "\C-k" gnus-group-kill-level
-  "z" gnus-group-kill-all-zombies)
+(define-keymap :keymap gnus-group-mode-map
+  " " #'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
+  "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
+  "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
+  "," #'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
+  "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
+  "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
+  "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
+  "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
+  "^" #'gnus-group-enter-server-mode
+  [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
+  "t" #'gnus-topic-mode
+  "\C-c\M-g" #'gnus-activate-all-groups
+  "\M-&" #'gnus-group-universal-argument
+  "#" #'gnus-group-mark-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)
+
+  "M" (define-keymap :prefix 'gnus-group-mark-map
+        "m" #'gnus-group-mark-group
+        "u" #'gnus-group-unmark-group
+        "w" #'gnus-group-mark-region
+        "b" #'gnus-group-mark-buffer
+        "r" #'gnus-group-mark-regexp
+        "U" #'gnus-group-unmark-all-groups)
+
+  "D" (define-keymap :prefix 'gnus-group-sieve-map
+        "u" #'gnus-sieve-update
+        "g" #'gnus-sieve-generate)
+
+  "G" (define-keymap :prefix 'gnus-group-group-map
+        "d" #'gnus-group-make-directory-group
+        "h" #'gnus-group-make-help-group
+        "u" #'gnus-group-make-useful-group
+        "l" #'gnus-group-nnimap-edit-acl
+        "m" #'gnus-group-make-group
+        "E" #'gnus-group-edit-group
+        "e" #'gnus-group-edit-group-method
+        "p" #'gnus-group-edit-group-parameters
+        "v" #'gnus-group-add-to-virtual
+        "V" #'gnus-group-make-empty-virtual
+        "D" #'gnus-group-enter-directory
+        "f" #'gnus-group-make-doc-group
+        "w" #'gnus-group-make-web-group
+        "G" #'gnus-group-read-ephemeral-search-group
+        "g" #'gnus-group-make-search-group
+        "M" #'gnus-group-read-ephemeral-group
+        "r" #'gnus-group-rename-group
+        "R" #'gnus-group-make-rss-group
+        "c" #'gnus-group-customize
+        "z" #'gnus-group-compact-group
+        "x" #'gnus-group-expunge-group
+        "\177" #'gnus-group-delete-group
+        [delete] #'gnus-group-delete-group)
+
+  "S" (define-keymap :prefix 'gnus-group-sort-map
+        "s" #'gnus-group-sort-groups
+        "a" #'gnus-group-sort-groups-by-alphabet
+        "u" #'gnus-group-sort-groups-by-unread
+        "l" #'gnus-group-sort-groups-by-level
+        "v" #'gnus-group-sort-groups-by-score
+        "r" #'gnus-group-sort-groups-by-rank
+        "m" #'gnus-group-sort-groups-by-method
+        "n" #'gnus-group-sort-groups-by-real-name)
+
+  "P" (define-keymap :prefix 'gnus-group-sort-selected-map
+        "s" #'gnus-group-sort-selected-groups
+        "a" #'gnus-group-sort-selected-groups-by-alphabet
+        "u" #'gnus-group-sort-selected-groups-by-unread
+        "l" #'gnus-group-sort-selected-groups-by-level
+        "v" #'gnus-group-sort-selected-groups-by-score
+        "r" #'gnus-group-sort-selected-groups-by-rank
+        "m" #'gnus-group-sort-selected-groups-by-method
+        "n" #'gnus-group-sort-selected-groups-by-real-name)
+
+  "A" (define-keymap :prefix 'gnus-group-list-map
+        "k" #'gnus-group-list-killed
+        "z" #'gnus-group-list-zombies
+        "s" #'gnus-group-list-groups
+        "u" #'gnus-group-list-all-groups
+        "A" #'gnus-group-list-active
+        "a" #'gnus-group-apropos
+        "d" #'gnus-group-description-apropos
+        "m" #'gnus-group-list-matching
+        "M" #'gnus-group-list-all-matching
+        "l" #'gnus-group-list-level
+        "c" #'gnus-group-list-cached
+        "?" #'gnus-group-list-dormant
+        "!" #'gnus-group-list-ticked)
+
+  "/" (define-keymap :prefix 'gnus-group-list-limit-map
+        "k" #'gnus-group-list-limit
+        "z" #'gnus-group-list-limit
+        "s" #'gnus-group-list-limit
+        "u" #'gnus-group-list-limit
+        "A" #'gnus-group-list-limit
+        "m" #'gnus-group-list-limit
+        "M" #'gnus-group-list-limit
+        "l" #'gnus-group-list-limit
+        "c" #'gnus-group-list-limit
+        "?" #'gnus-group-list-limit
+        "!" #'gnus-group-list-limit)
+
+  "f" (define-keymap :prefix 'gnus-group-list-flush-map
+        "k" #'gnus-group-list-flush
+        "z" #'gnus-group-list-flush
+        "s" #'gnus-group-list-flush
+        "u" #'gnus-group-list-flush
+        "A" #'gnus-group-list-flush
+        "m" #'gnus-group-list-flush
+        "M" #'gnus-group-list-flush
+        "l" #'gnus-group-list-flush
+        "c" #'gnus-group-list-flush
+        "?" #'gnus-group-list-flush
+        "!" #'gnus-group-list-flush)
+
+  "p" (define-keymap :prefix 'gnus-group-list-plus-map
+        "k" #'gnus-group-list-plus
+        "z" #'gnus-group-list-plus
+        "s" #'gnus-group-list-plus
+        "u" #'gnus-group-list-plus
+        "A" #'gnus-group-list-plus
+        "m" #'gnus-group-list-plus
+        "M" #'gnus-group-list-plus
+        "l" #'gnus-group-list-plus
+        "c" #'gnus-group-list-plus
+        "?" #'gnus-group-list-plus
+        "!" #'gnus-group-list-plus)
+
+  "W" (define-keymap :prefix 'gnus-group-score-map
+        "f" #'gnus-score-flush-cache
+        "e" #'gnus-score-edit-all-score)
+
+  "H" (define-keymap :prefix 'gnus-group-help-map
+        "d" #'gnus-group-describe-group
+        "v" #'gnus-version)
+
+  "S" (define-keymap :prefix 'gnus-group-sub-map
+        "l" #'gnus-group-set-current-level
+        "t" #'gnus-group-toggle-subscription-at-point
+        "s" #'gnus-group-toggle-subscription
+        "k" #'gnus-group-kill-group
+        "y" #'gnus-group-yank-group
+        "w" #'gnus-group-kill-region
+        "\C-k" #'gnus-group-kill-level
+        "z" #'gnus-group-kill-all-zombies))
 
 (defun gnus-topic-mode-p ()
   "Return non-nil in `gnus-topic-mode'."
index be62bfd81f5f2f70fcc8f42664ae7a7635c33441..e9fa819d0b5ddde39874ea3d178f63a5b0f77cb7 100644 (file)
@@ -71,21 +71,17 @@ fit these criteria."
   :group 'gnus-art
   :type 'float)
 
-(defvar gnus-html-image-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "u" 'gnus-article-copy-string)
-    (define-key map "i" 'gnus-html-insert-image)
-    (define-key map "v" 'gnus-html-browse-url)
-    map))
-
-(defvar gnus-html-displayed-image-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "a" 'gnus-html-show-alt-text)
-    (define-key map "i" 'gnus-html-browse-image)
-    (define-key map "\r" 'gnus-html-browse-url)
-    (define-key map "u" 'gnus-article-copy-string)
-    (define-key map [tab] 'button-forward)
-    map))
+(defvar-keymap gnus-html-image-map ()
+  "u" #'gnus-article-copy-string
+  "i" #'gnus-html-insert-image
+  "v" #'gnus-html-browse-url)
+
+(defvar-keymap gnus-html-displayed-image-map ()
+  "a" #'gnus-html-show-alt-text
+  "i" #'gnus-html-browse-image
+  "\r" #'gnus-html-browse-url
+  "u" #'gnus-article-copy-string
+  [tab] #'forward-button)
 
 (defun gnus-html-encode-url (url)
   "Encode URL."
index f558360361dd6d59accf548a61d10405480f9ff2..3c2e4ad972069ad7052180c5a67539dece153a55 100644 (file)
@@ -2537,7 +2537,7 @@ are always t.")
      ;; Only used in gnus-util, which has an autoload.
      ("rmailsum" rmail-update-summary)
      ("gnus-xmas" gnus-xmas-splash)
-     ("score-mode" :interactive t gnus-score-mode)
+     ("score-mode" :interactive t gnus-score-mode gnus-score-edit-all-score)
      ("gnus-mh" gnus-summary-save-article-folder
       gnus-Folder-save-name gnus-folder-save-name)
      ("gnus-mh" :interactive (gnus-summary-mode) gnus-summary-save-in-folder)
index d460f9bd922f85c8fda1611e77dd6ff76a46d177..b08d8c26c9a668f38a91b607a2eceac69afc21d6 100644 (file)
@@ -2868,84 +2868,77 @@ Consider adding this function to `message-header-setup-hook'"
 
 ;;; Set up keymap.
 
-(defvar message-mode-map nil)
-
-(unless message-mode-map
-  (setq message-mode-map (make-keymap))
-  (set-keymap-parent message-mode-map text-mode-map)
-  (define-key message-mode-map "\C-c?" #'describe-mode)
-
-  (define-key message-mode-map "\C-c\C-f\C-t" #'message-goto-to)
-  (define-key message-mode-map "\C-c\C-f\C-o" #'message-goto-from)
-  (define-key message-mode-map "\C-c\C-f\C-b" #'message-goto-bcc)
-  (define-key message-mode-map "\C-c\C-f\C-w" #'message-goto-fcc)
-  (define-key message-mode-map "\C-c\C-f\C-c" #'message-goto-cc)
-  (define-key message-mode-map "\C-c\C-f\C-s" #'message-goto-subject)
-  (define-key message-mode-map "\C-c\C-f\C-r" #'message-goto-reply-to)
-  (define-key message-mode-map "\C-c\C-f\C-n" #'message-goto-newsgroups)
-  (define-key message-mode-map "\C-c\C-f\C-d" #'message-goto-distribution)
-  (define-key message-mode-map "\C-c\C-f\C-f" #'message-goto-followup-to)
-  (define-key message-mode-map "\C-c\C-f\C-m" #'message-goto-mail-followup-to)
-  (define-key message-mode-map "\C-c\C-f\C-k" #'message-goto-keywords)
-  (define-key message-mode-map "\C-c\C-f\C-u" #'message-goto-summary)
-  (define-key message-mode-map "\C-c\C-f\C-i"
-    #'message-insert-or-toggle-importance)
-  (define-key message-mode-map "\C-c\C-f\C-a"
-    #'message-generate-unsubscribed-mail-followup-to)
+(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
 
   ;; modify headers (and insert notes in body)
-  (define-key message-mode-map "\C-c\C-fs"    #'message-change-subject)
+  "\C-c\C-fs"    #'message-change-subject
   ;;
-  (define-key message-mode-map "\C-c\C-fx"    #'message-cross-post-followup-to)
+  "\C-c\C-fx"    #'message-cross-post-followup-to
   ;; prefix+message-cross-post-followup-to = same w/o cross-post
-  (define-key message-mode-map "\C-c\C-ft"    #'message-reduce-to-to-cc)
-  (define-key message-mode-map "\C-c\C-fa"    #'message-add-archive-header)
+  "\C-c\C-ft"    #'message-reduce-to-to-cc
+  "\C-c\C-fa"    #'message-add-archive-header
   ;; mark inserted text
-  (define-key message-mode-map "\C-c\M-m" #'message-mark-inserted-region)
-  (define-key message-mode-map "\C-c\M-f" #'message-mark-insert-file)
-
-  (define-key message-mode-map "\C-c\C-b" #'message-goto-body)
-  (define-key message-mode-map "\C-c\C-i" #'message-goto-signature)
-
-  (define-key message-mode-map "\C-c\C-t" #'message-insert-to)
-  (define-key message-mode-map "\C-c\C-fw" #'message-insert-wide-reply)
-  (define-key message-mode-map "\C-c\C-n" #'message-insert-newsgroups)
-  (define-key message-mode-map "\C-c\C-l" #'message-to-list-only)
-  (define-key message-mode-map "\C-c\C-f\C-e" #'message-insert-expires)
-
-  (define-key message-mode-map "\C-c\C-u" #'message-insert-or-toggle-importance)
-  (define-key message-mode-map "\C-c\M-n"
-    #'message-insert-disposition-notification-to)
-
-  (define-key message-mode-map "\C-c\C-y" #'message-yank-original)
-  (define-key message-mode-map "\C-c\M-\C-y" #'message-yank-buffer)
-  (define-key message-mode-map "\C-c\C-q" #'message-fill-yanked-message)
-  (define-key message-mode-map "\C-c\C-w" #'message-insert-signature)
-  (define-key message-mode-map "\C-c\M-h" #'message-insert-headers)
-  (define-key message-mode-map "\C-c\C-r" #'message-caesar-buffer-body)
-  (define-key message-mode-map "\C-c\C-o" #'message-sort-headers)
-  (define-key message-mode-map "\C-c\M-r" #'message-rename-buffer)
-
-  (define-key message-mode-map "\C-c\C-c" #'message-send-and-exit)
-  (define-key message-mode-map "\C-c\C-s" #'message-send)
-  (define-key message-mode-map "\C-c\C-k" #'message-kill-buffer)
-  (define-key message-mode-map "\C-c\C-d" #'message-dont-send)
-  (define-key message-mode-map "\C-c\n" #'gnus-delay-article)
-
-  (define-key message-mode-map "\C-c\M-k" #'message-kill-address)
-  (define-key message-mode-map "\C-c\C-e" #'message-elide-region)
-  (define-key message-mode-map "\C-c\C-v" #'message-delete-not-region)
-  (define-key message-mode-map "\C-c\C-z" #'message-kill-to-signature)
-  (define-key message-mode-map "\M-\r" #'message-newline-and-reformat)
-  (define-key message-mode-map [remap split-line]  #'message-split-line)
-
-  (define-key message-mode-map "\C-c\C-a" #'mml-attach-file)
-  (define-key message-mode-map "\C-c\C-p" #'message-insert-screenshot)
-
-  (define-key message-mode-map "\C-a" #'message-beginning-of-line)
-  (define-key message-mode-map "\t" #'message-tab)
-
-  (define-key message-mode-map "\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-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)
 
 (easy-menu-define
   message-mode-menu message-mode-map "Message Menu."
index bb6583c2a9a09371fe84524f1cd5bf17e07b0c57..e5716d3ffd6ba00231b493a2f2cc987e4efa28f9 100644 (file)
@@ -271,15 +271,11 @@ See also `eww-form-checkbox-selected-symbol'."
   "text/html, text/plain, text/sgml, text/css, application/xhtml+xml, */*;q=0.01"
   "Value used for the HTTP 'Accept' header.")
 
-(defvar eww-link-keymap
-  (let ((map (copy-keymap shr-map)))
-    (define-key map "\r" 'eww-follow-link)
-    map))
+(defvar-keymap eww-link-keymap (:copy shr-map)
+  "\r" #'eww-follow-link)
 
-(defvar eww-image-link-keymap
-  (let ((map (copy-keymap shr-image-map)))
-    (define-key map "\r" 'eww-follow-link)
-    map))
+(defvar-keymap eww-image-link-keymap (:copy shr-map)
+  "\r" #'eww-follow-link)
 
 (defun eww-suggested-uris nil
   "Return the list of URIs to suggest at the `eww' prompt.
@@ -973,67 +969,64 @@ the like."
          (setq result highest))))
     result))
 
-(defvar eww-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "g" 'eww-reload) ;FIXME: revert-buffer-function instead!
-    (define-key map "G" 'eww)
-    (define-key map [?\M-\r] 'eww-open-in-new-buffer)
-    (define-key map [?\t] 'shr-next-link)
-    (define-key map [?\M-\t] 'shr-previous-link)
-    (define-key map [backtab] 'shr-previous-link)
-    (define-key map [delete] 'scroll-down-command)
-    (define-key map "l" 'eww-back-url)
-    (define-key map "r" 'eww-forward-url)
-    (define-key map "n" 'eww-next-url)
-    (define-key map "p" 'eww-previous-url)
-    (define-key map "u" 'eww-up-url)
-    (define-key map "t" 'eww-top-url)
-    (define-key map "&" 'eww-browse-with-external-browser)
-    (define-key map "d" 'eww-download)
-    (define-key map "w" 'eww-copy-page-url)
-    (define-key map "C" 'url-cookie-list)
-    (define-key map "v" 'eww-view-source)
-    (define-key map "R" 'eww-readable)
-    (define-key map "H" 'eww-list-histories)
-    (define-key map "E" 'eww-set-character-encoding)
-    (define-key map "s" 'eww-switch-to-buffer)
-    (define-key map "S" 'eww-list-buffers)
-    (define-key map "F" 'eww-toggle-fonts)
-    (define-key map "D" 'eww-toggle-paragraph-direction)
-    (define-key map [(meta C)] 'eww-toggle-colors)
-    (define-key map [(meta I)] 'eww-toggle-images)
-
-    (define-key map "b" 'eww-add-bookmark)
-    (define-key map "B" 'eww-list-bookmarks)
-    (define-key map [(meta n)] 'eww-next-bookmark)
-    (define-key map [(meta p)] 'eww-previous-bookmark)
-
-    (easy-menu-define nil map ""
-      '("Eww"
-       ["Exit" quit-window t]
-       ["Close browser" quit-window t]
-       ["Reload" eww-reload t]
-       ["Follow URL in new buffer" eww-open-in-new-buffer]
-       ["Back to previous page" eww-back-url
-        :active (not (zerop (length eww-history)))]
-       ["Forward to next page" eww-forward-url
-        :active (not (zerop eww-history-position))]
-       ["Browse with external browser" eww-browse-with-external-browser t]
-       ["Download" eww-download t]
-       ["View page source" eww-view-source]
-       ["Copy page URL" eww-copy-page-url t]
-       ["List histories" eww-list-histories t]
-       ["Switch to buffer" eww-switch-to-buffer t]
-       ["List buffers" eww-list-buffers t]
-       ["Add bookmark" eww-add-bookmark t]
-       ["List bookmarks" eww-list-bookmarks t]
-       ["List cookies" url-cookie-list t]
-       ["Toggle fonts" eww-toggle-fonts t]
-       ["Toggle colors" eww-toggle-colors t]
-       ["Toggle images" eww-toggle-images t]
-        ["Character Encoding" eww-set-character-encoding]
-        ["Toggle Paragraph Direction" eww-toggle-paragraph-direction]))
-    map))
+(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
+  "l" #'eww-back-url
+  "r" #'eww-forward-url
+  "n" #'eww-next-url
+  "p" #'eww-previous-url
+  "u" #'eww-up-url
+  "t" #'eww-top-url
+  "&" #'eww-browse-with-external-browser
+  "d" #'eww-download
+  "w" #'eww-copy-page-url
+  "C" #'url-cookie-list
+  "v" #'eww-view-source
+  "R" #'eww-readable
+  "H" #'eww-list-histories
+  "E" #'eww-set-character-encoding
+  "s" #'eww-switch-to-buffer
+  "S" #'eww-list-buffers
+  "F" #'eww-toggle-fonts
+  "D" #'eww-toggle-paragraph-direction
+  [(meta C)] #'eww-toggle-colors
+  [(meta I)] #'eww-toggle-images
+
+  "b" #'eww-add-bookmark
+  "B" #'eww-list-bookmarks
+  [(meta n)] #'eww-next-bookmark
+  [(meta p)] #'eww-previous-bookmark
+
+  :menu '("Eww"
+          ["Exit" quit-window t]
+          ["Close browser" quit-window t]
+          ["Reload" eww-reload t]
+          ["Follow URL in new buffer" eww-open-in-new-buffer]
+          ["Back to previous page" eww-back-url
+           :active (not (zerop (length eww-history)))]
+          ["Forward to next page" eww-forward-url
+           :active (not (zerop eww-history-position))]
+          ["Browse with external browser" eww-browse-with-external-browser t]
+          ["Download" eww-download t]
+          ["View page source" eww-view-source]
+          ["Copy page URL" eww-copy-page-url t]
+          ["List histories" eww-list-histories t]
+          ["Switch to buffer" eww-switch-to-buffer t]
+          ["List buffers" eww-list-buffers t]
+          ["Add bookmark" eww-add-bookmark t]
+          ["List bookmarks" eww-list-bookmarks t]
+          ["List cookies" url-cookie-list t]
+          ["Toggle fonts" eww-toggle-fonts t]
+          ["Toggle colors" eww-toggle-colors t]
+          ["Toggle images" eww-toggle-images t]
+          ["Character Encoding" eww-set-character-encoding]
+          ["Toggle Paragraph Direction" eww-toggle-paragraph-direction]))
 
 (defun eww-context-menu (menu click)
   "Populate MENU with eww commands at CLICK."
@@ -1230,54 +1223,40 @@ just re-display the HTML already fetched."
 
 (defvar eww-form nil)
 
-(defvar eww-submit-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "\r" 'eww-submit)
-    (define-key map [(control c) (control c)] 'eww-submit)
-    map))
-
-(defvar eww-submit-file
-  (let ((map (make-sparse-keymap)))
-    (define-key map "\r" 'eww-select-file)
-    (define-key map [(control c) (control c)] 'eww-submit)
-    map))
-
-(defvar eww-checkbox-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map " " 'eww-toggle-checkbox)
-    (define-key map "\r" 'eww-toggle-checkbox)
-    (define-key map [(control c) (control c)] 'eww-submit)
-    map))
-
-(defvar eww-text-map
-  (let ((map (make-keymap)))
-    (set-keymap-parent map text-mode-map)
-    (define-key map "\r" 'eww-submit)
-    (define-key map [(control a)] 'eww-beginning-of-text)
-    (define-key map [(control c) (control c)] 'eww-submit)
-    (define-key map [(control e)] 'eww-end-of-text)
-    (define-key map [?\t] 'shr-next-link)
-    (define-key map [?\M-\t] 'shr-previous-link)
-    (define-key map [backtab] 'shr-previous-link)
-    map))
-
-(defvar eww-textarea-map
-  (let ((map (make-keymap)))
-    (set-keymap-parent map text-mode-map)
-    (define-key map "\r" 'forward-line)
-    (define-key map [(control c) (control c)] 'eww-submit)
-    (define-key map [?\t] 'shr-next-link)
-    (define-key map [?\M-\t] 'shr-previous-link)
-    (define-key map [backtab] 'shr-previous-link)
-    map))
-
-(defvar eww-select-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "\r" 'eww-change-select)
-    (define-key map [follow-link] 'mouse-face)
-    (define-key map [mouse-2] 'eww-change-select)
-    (define-key map [(control c) (control c)] 'eww-submit)
-    map))
+(defvar-keymap eww-submit-map ()
+  "\r" #'eww-submit
+  [(control c) (control c)] #'eww-submit)
+
+(defvar-keymap eww-submit-file ()
+  "\r" #'eww-select-file
+  [(control c) (control c)] #'eww-submit)
+
+(defvar-keymap eww-checkbox-map ()
+  " " #'eww-toggle-checkbox
+  "\r" #'eww-toggle-checkbox
+  [(control c) (control 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)
+
+(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)
+
+(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)
 
 (defun eww-beginning-of-text ()
   "Move to the start of the input field."
@@ -2100,23 +2079,18 @@ If ERROR-OUT, signal user-error if there are no bookmarks."
                                        'eww-bookmark)))
     (eww-browse-url (plist-get bookmark :url))))
 
-(defvar eww-bookmark-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map [(control k)] 'eww-bookmark-kill)
-    (define-key map [(control y)] 'eww-bookmark-yank)
-    (define-key map "\r" 'eww-bookmark-browse)
-
-    (easy-menu-define nil map
-      "Menu for `eww-bookmark-mode-map'."
-      '("Eww Bookmark"
-        ["Exit" quit-window t]
-        ["Browse" eww-bookmark-browse
-         :active (get-text-property (line-beginning-position) 'eww-bookmark)]
-        ["Kill" eww-bookmark-kill
-         :active (get-text-property (line-beginning-position) 'eww-bookmark)]
-        ["Yank" eww-bookmark-yank
-         :active eww-bookmark-kill-ring]))
-    map))
+(defvar-keymap eww-bookmark-mode-map ()
+  [(control k)] #'eww-bookmark-kill
+  [(control y)] #'eww-bookmark-yank
+  "\r" #'eww-bookmark-browse
+  :menu '("Eww Bookmark"
+          ["Exit" quit-window t]
+          ["Browse" eww-bookmark-browse
+           :active (get-text-property (line-beginning-position) 'eww-bookmark)]
+          ["Kill" eww-bookmark-kill
+           :active (get-text-property (line-beginning-position) 'eww-bookmark)]
+          ["Yank" eww-bookmark-yank
+           :active eww-bookmark-kill-ring]))
 
 (define-derived-mode eww-bookmark-mode special-mode "eww bookmarks"
   "Mode for listing bookmarks.
@@ -2181,19 +2155,15 @@ If ERROR-OUT, signal user-error if there are no bookmarks."
        (pop-to-buffer-same-window buffer)))
     (eww-restore-history history)))
 
-(defvar eww-history-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "\r" 'eww-history-browse)
-    (define-key map "n" 'next-line)
-    (define-key map "p" 'previous-line)
-
-    (easy-menu-define nil map
-      "Menu for `eww-history-mode-map'."
-      '("Eww History"
-        ["Exit" quit-window t]
-        ["Browse" eww-history-browse
-         :active (get-text-property (line-beginning-position) 'eww-history)]))
-    map))
+(defvar-keymap eww-history-mode-map ()
+  "\r" #'eww-history-browse
+  "n" #'next-line
+  "p" #'previous-line
+  :menu '("Eww History"
+          ["Exit" quit-window t]
+          ["Browse" eww-history-browse
+           :active (get-text-property (line-beginning-position)
+                                      'eww-history)]))
 
 (define-derived-mode eww-history-mode special-mode "eww history"
   "Mode for listing eww-histories.
@@ -2304,22 +2274,18 @@ If ERROR-OUT, signal user-error if there are no bookmarks."
     (forward-line -1))
   (eww-buffer-show))
 
-(defvar eww-buffers-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map [(control k)] 'eww-buffer-kill)
-    (define-key map "\r" 'eww-buffer-select)
-    (define-key map "n" 'eww-buffer-show-next)
-    (define-key map "p" 'eww-buffer-show-previous)
-
-    (easy-menu-define nil map
-      "Menu for `eww-buffers-mode-map'."
-      '("Eww Buffers"
-        ["Exit" quit-window t]
-        ["Select" eww-buffer-select
-         :active (get-text-property (line-beginning-position) 'eww-buffer)]
-        ["Kill" eww-buffer-kill
-         :active (get-text-property (line-beginning-position) 'eww-buffer)]))
-    map))
+(defvar-keymap eww-buffers-mode-map ()
+  [(control k)] #'eww-buffer-kill
+  "\r" #'eww-buffer-select
+  "n" #'eww-buffer-show-next
+  "p" #'eww-buffer-show-previous
+  :menu '("Eww Buffers"
+          ["Exit" quit-window t]
+          ["Select" eww-buffer-select
+           :active (get-text-property (line-beginning-position) 'eww-buffer)]
+          ["Kill" eww-buffer-kill
+           :active (get-text-property (line-beginning-position)
+                                      'eww-buffer)]))
 
 (define-derived-mode eww-buffers-mode special-mode "eww buffers"
   "Mode for listing buffers.
index a8e15c1e0aeac62b17537e3c90a18c5bdfe95b63..8f11b140fbed5d2ec82f019afbe26d1fa5940aa0 100644 (file)
@@ -247,23 +247,21 @@ and other things:
 (defvar shr-target-id nil
   "Target fragment identifier anchor.")
 
-(defvar shr-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "a" #'shr-show-alt-text)
-    (define-key map "i" #'shr-browse-image)
-    (define-key map "z" #'shr-zoom-image)
-    (define-key map [?\t] #'shr-next-link)
-    (define-key map [?\M-\t] #'shr-previous-link)
-    (define-key map [follow-link] 'mouse-face)
-    (define-key map [mouse-2] #'shr-browse-url)
-    (define-key map [C-down-mouse-1] #'shr-mouse-browse-url-new-window)
-    (define-key map "I" #'shr-insert-image)
-    (define-key map "w" #'shr-maybe-probe-and-copy-url)
-    (define-key map "u" #'shr-maybe-probe-and-copy-url)
-    (define-key map "v" #'shr-browse-url)
-    (define-key map "O" #'shr-save-contents)
-    (define-key map "\r" #'shr-browse-url)
-    map))
+(defvar-keymap shr-map ()
+  "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
+  "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)
 
 (defvar shr-image-map
   (let ((map (copy-keymap shr-map)))
index 369541516333941467e42f5037f4e7c17914f8ed..114c841c2c3143588ce0407e4266c78db0be1aa8 100644 (file)
@@ -529,19 +529,16 @@ Other major modes are defined by comparison with this one."
 
 ;; Special major modes to view specially formatted data rather than files.
 
-(defvar special-mode-map
-  (let ((map (make-sparse-keymap)))
-    (suppress-keymap map)
-    (define-key map "q" 'quit-window)
-    (define-key map " " 'scroll-up-command)
-    (define-key map [?\S-\ ] 'scroll-down-command)
-    (define-key map "\C-?" 'scroll-down-command)
-    (define-key map "?" 'describe-mode)
-    (define-key map "h" 'describe-mode)
-    (define-key map ">" 'end-of-buffer)
-    (define-key map "<" 'beginning-of-buffer)
-    (define-key map "g" 'revert-buffer)
-    map))
+(defvar-keymap special-mode-map (:suppress t)
+  "q" #'quit-window
+  " " #'scroll-up-command
+  [?\S-\ ] #'scroll-down-command
+  "\C-?" #'scroll-down-command
+  "?" #'describe-mode
+  "h" #'describe-mode
+  ">" #'end-of-buffer
+  "<" #'beginning-of-buffer
+  "g" #'revert-buffer)
 
 (put 'special-mode 'mode-class 'special)
 (define-derived-mode special-mode nil "Special"