emacs-diffs
[Top][All Lists]
Advanced

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

master 550745b 1/2: Finish conversion of Gnus from `gnus-define-keys'


From: Lars Ingebrigtsen
Subject: master 550745b 1/2: Finish conversion of Gnus from `gnus-define-keys'
Date: Wed, 6 Oct 2021 05:58:26 -0400 (EDT)

branch: master
commit 550745b98b83d94af29c9561d051bb1658efa6af
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Finish conversion of Gnus from `gnus-define-keys'
    
    * lisp/gnus/gnus-undo.el (gnus-undo-mode-map):
    * lisp/gnus/gnus-salt.el (gnus-pick-mode-map):
    (gnus-binary-mode-map):
    (gnus-tree-mode-map):
    * lisp/gnus/gnus-msg.el (gnus-summary-send-map):
    * lisp/gnus/gnus-ml.el (gnus-mailing-list-mode-map):
    * lisp/gnus/gnus-icalendar.el (gnus-icalendar-setup):
    * lisp/gnus/gnus-art.el (gnus-article-mode-map):
    (gnus-article-edit-mode-map): Use `define-keymap' instead of
    * `gnus-define-keys'.
---
 lisp/gnus/gnus-art.el       | 148 +++++++++++++++++++++-----------------------
 lisp/gnus/gnus-icalendar.el |  15 ++---
 lisp/gnus/gnus-ml.el        |  17 +++--
 lisp/gnus/gnus-msg.el       |  66 ++++++++++----------
 lisp/gnus/gnus-salt.el      |  48 ++++++--------
 lisp/gnus/gnus-undo.el      |  15 ++---
 6 files changed, 143 insertions(+), 166 deletions(-)

diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index c2ec3f1..9b738b9 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4386,44 +4386,43 @@ If variable `gnus-use-long-file-name' is non-nil, it is
 ;;; Gnus article mode
 ;;;
 
-(set-keymap-parent gnus-article-mode-map button-buffer-map)
-
-(gnus-define-keys gnus-article-mode-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
-  "h" gnus-article-show-summary
-  "s" gnus-article-show-summary
-  "\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
-  "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
-
-  "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)
+(defvar gnus-article-send-map nil)
+
+(define-keymap :keymap gnus-article-mode-map :suppress t
+  " " #'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
+  "h" #'gnus-article-show-summary
+  "s" #'gnus-article-show-summary
+  "\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
+  "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
+
+  "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
+
+  "S" (define-keymap :prefix 'gnus-article-send-map
+        "W" #'gnus-article-wide-reply-with-original
+        [t] #'gnus-article-read-summary-send-keys))
 
 (substitute-key-definition
  #'undefined #'gnus-article-read-summary-keys gnus-article-mode-map)
 
-(defvar gnus-article-send-map)
-(gnus-define-keys (gnus-article-send-map "S" gnus-article-mode-map)
-  "W" gnus-article-wide-reply-with-original
-  [t] gnus-article-read-summary-send-keys)
-
 (defun gnus-article-make-menu-bar ()
   (unless (boundp 'gnus-article-commands-menu)
     (gnus-summary-make-menu-bar))
@@ -7216,50 +7215,43 @@ other groups."
 
 (defvar gnus-article-edit-done-function nil)
 
-(defvar gnus-article-edit-mode-map nil)
-
-;; Should we be using derived.el for this?
-(unless gnus-article-edit-mode-map
-  (setq gnus-article-edit-mode-map (make-keymap))
-  (set-keymap-parent gnus-article-edit-mode-map text-mode-map)
-
-  (gnus-define-keys gnus-article-edit-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)
-
-  (gnus-define-keys (gnus-article-edit-wash-map
-                    "\C-c\C-w" gnus-article-edit-mode-map)
-    "f" gnus-article-edit-full-stops))
+(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))
 
 (easy-menu-define
   gnus-article-edit-mode-field-menu gnus-article-edit-mode-map ""
diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el
index 15da356..81e46d7 100644
--- a/lisp/gnus/gnus-icalendar.el
+++ b/lisp/gnus/gnus-icalendar.el
@@ -1062,13 +1062,14 @@ These will be used to retrieve the RSVP information 
from ical events."
   (add-to-list 'mm-automatic-display "text/calendar")
   (add-to-list 'mm-inline-media-tests '("text/calendar" 
gnus-icalendar-mm-inline identity))
 
-  (gnus-define-keys (gnus-summary-calendar-map "i" gnus-summary-mode-map)
-    "a" gnus-icalendar-reply-accept
-    "t" gnus-icalendar-reply-tentative
-    "d" gnus-icalendar-reply-decline
-    "c" gnus-icalendar-event-check-agenda
-    "e" gnus-icalendar-event-export
-    "s" gnus-icalendar-event-show)
+  (define-key gnus-summary-mode-map "i"
+    (define-keymap :prefix 'gnus-summary-calendar-map
+      "a" #'gnus-icalendar-reply-accept
+      "t" #'gnus-icalendar-reply-tentative
+      "d" #'gnus-icalendar-reply-decline
+      "c" #'gnus-icalendar-event-check-agenda
+      "e" #'gnus-icalendar-event-export
+      "s" #'gnus-icalendar-event-show))
 
   (require 'gnus-art)
   (add-to-list 'gnus-mime-action-alist
diff --git a/lisp/gnus/gnus-ml.el b/lisp/gnus/gnus-ml.el
index ee3abf2..bf33194 100644
--- a/lisp/gnus/gnus-ml.el
+++ b/lisp/gnus/gnus-ml.el
@@ -31,16 +31,13 @@
 
 ;;; Mailing list minor mode
 
-(defvar gnus-mailing-list-mode-map
-  (let ((map (make-sparse-keymap)))
-    (gnus-define-keys 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)
-    map))
+(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)
 
 (defvar gnus-mailing-list-menu)
 
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index 8a32720..e88aa8f 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -349,39 +349,39 @@ only affect the Gcc copy, but not the original message."
 ;;; Gnus Posting Functions
 ;;;
 
-(gnus-define-keys (gnus-summary-send-map "S" gnus-summary-mode-map)
-  "p" gnus-summary-post-news
-  "i" gnus-summary-news-other-window
-  "f" gnus-summary-followup
-  "F" gnus-summary-followup-with-original
-  "c" gnus-summary-cancel-article
-  "s" gnus-summary-supersede-article
-  "r" gnus-summary-reply
-  "y" gnus-summary-yank-message
-  "R" gnus-summary-reply-with-original
-  "L" gnus-summary-reply-to-list-with-original
-  "w" gnus-summary-wide-reply
-  "W" gnus-summary-wide-reply-with-original
-  "v" gnus-summary-very-wide-reply
-  "V" gnus-summary-very-wide-reply-with-original
-  "n" gnus-summary-followup-to-mail
-  "N" gnus-summary-followup-to-mail-with-original
-  "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)
-
-(gnus-define-keys (gnus-send-bounce-map "D" gnus-summary-send-map)
-  "b" gnus-summary-resend-bounced-mail
-  ;; "c" gnus-summary-send-draft
-  "r" gnus-summary-resend-message
-  "e" gnus-summary-resend-message-edit)
+(define-keymap :prefix 'gnus-summary-send-map
+  "p" #'gnus-summary-post-news
+  "i" #'gnus-summary-news-other-window
+  "f" #'gnus-summary-followup
+  "F" #'gnus-summary-followup-with-original
+  "c" #'gnus-summary-cancel-article
+  "s" #'gnus-summary-supersede-article
+  "r" #'gnus-summary-reply
+  "y" #'gnus-summary-yank-message
+  "R" #'gnus-summary-reply-with-original
+  "L" #'gnus-summary-reply-to-list-with-original
+  "w" #'gnus-summary-wide-reply
+  "W" #'gnus-summary-wide-reply-with-original
+  "v" #'gnus-summary-very-wide-reply
+  "V" #'gnus-summary-very-wide-reply-with-original
+  "n" #'gnus-summary-followup-to-mail
+  "N" #'gnus-summary-followup-to-mail-with-original
+  "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
+
+  "D" (define-keymap :prefix 'gnus-send-bounce-map
+        "b" #'gnus-summary-resend-bounced-mail
+        ;; "c" gnus-summary-send-draft
+        "r" #'gnus-summary-resend-message
+        "e" #'gnus-summary-resend-message-edit))
 
 ;;; Internal functions.
 
diff --git a/lisp/gnus/gnus-salt.el b/lisp/gnus/gnus-salt.el
index dc81dfc..8ffe4a4 100644
--- a/lisp/gnus/gnus-salt.el
+++ b/lisp/gnus/gnus-salt.el
@@ -64,15 +64,12 @@ It accepts the same format specs that 
`gnus-summary-line-format' does."
 
 ;;; Internal variables.
 
-(defvar gnus-pick-mode-map
-  (let ((map (make-sparse-keymap)))
-    (gnus-define-keys map
-      " " 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)
-    map))
+(defvar-keymap gnus-pick-mode-map
+  " " #'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)
 
 (defun gnus-pick-make-menu-bar ()
   (unless (boundp 'gnus-pick-menu)
@@ -315,11 +312,8 @@ This must be bound to a button-down mouse event."
 (defvar gnus-binary-mode-hook nil
   "Hook run in summary binary mode buffers.")
 
-(defvar gnus-binary-mode-map
-  (let ((map (make-sparse-keymap)))
-    (gnus-define-keys map
-      "g" gnus-binary-show-article)
-    map))
+(defvar-keymap gnus-binary-mode-map
+  "g" #'gnus-binary-show-article)
 
 (defun gnus-binary-make-menu-bar ()
   (unless (boundp 'gnus-binary-menu)
@@ -424,21 +418,17 @@ Two predefined functions are available:
 (defvar gnus-tree-displayed-thread nil)
 (defvar gnus-tree-inhibit nil)
 
-(defvar gnus-tree-mode-map
-  (let ((map (make-keymap)))
-    (suppress-keymap map)
-    (gnus-define-keys
-        map
-      "\r" gnus-tree-select-article
-      [mouse-2] gnus-tree-pick-article
-      "\C-?" gnus-tree-read-summary-keys
-      "h" gnus-tree-show-summary
-
-      "\C-c\C-i" gnus-info-find-node)
-
-    (substitute-key-definition
-     'undefined 'gnus-tree-read-summary-keys map)
-    map))
+(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
+  "h" #'gnus-tree-show-summary
+
+  "\C-c\C-i" #'gnus-info-find-node)
+
+(substitute-key-definition 'undefined #'gnus-tree-read-summary-keys
+                           gnus-tree-mode-map)
 
 (defun gnus-tree-make-menu-bar ()
   (unless (boundp 'gnus-tree-menu)
diff --git a/lisp/gnus/gnus-undo.el b/lisp/gnus/gnus-undo.el
index 64ed2bb..182c874 100644
--- a/lisp/gnus/gnus-undo.el
+++ b/lisp/gnus/gnus-undo.el
@@ -75,15 +75,12 @@
 
 ;;; Minor mode definition.
 
-(defvar gnus-undo-mode-map
-  (let ((map (make-sparse-keymap)))
-    (gnus-define-keys map
-      "\M-\C-_"     gnus-undo
-      "\C-_"        gnus-undo
-      "\C-xu"       gnus-undo
-      ;; many people are used to type `C-/' on X terminals and get `C-_'.
-      [(control /)] gnus-undo)
-    map))
+(defvar-keymap gnus-undo-mode-map
+  "\M-\C-_" #'gnus-undo
+  "\C-_" #'gnus-undo
+  "\C-xu" #'gnus-undo
+  ;; many people are used to type `C-/' on X terminals and get `C-_'.
+  [(control /)] #'gnus-undo)
 
 (defun gnus-undo-make-menu-bar ()
   ;; This is disabled for the time being.



reply via email to

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