emacs-diffs
[Top][All Lists]
Advanced

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

master 6cf358d 2/2: Define some more keymaps in one step


From: Stefan Kangas
Subject: master 6cf358d 2/2: Define some more keymaps in one step
Date: Wed, 8 Dec 2021 12:47:26 -0500 (EST)

branch: master
commit 6cf358d7a270ce6fc7d032187fe042a9bf234240
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Define some more keymaps in one step
    
    * lisp/calc/calc-store.el (calc-var-name-map):
    * lisp/mail/rmailsum.el (rmail-summary-edit-map):
    * lisp/speedbar.el (speedbar-buffers-key-map): Define in one step.
    * lisp/progmodes/ebrowse.el (ebrowse-global-submap-4)
    (ebrowse-global-submap-5): Define in one step and use defvar-keymap.
---
 lisp/calc/calc-store.el   | 26 +++++++++++++-------------
 lisp/mail/rmailsum.el     | 12 +++++-------
 lisp/progmodes/ebrowse.el | 36 +++++++++++++++---------------------
 lisp/speedbar.el          | 32 +++++++++++++-------------------
 4 files changed, 46 insertions(+), 60 deletions(-)

diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el
index de2f18f..817b509 100644
--- a/lisp/calc/calc-store.el
+++ b/lisp/calc/calc-store.el
@@ -163,19 +163,19 @@
                             tag (and (not val) 1))
           (message "Variable \"%s\" changed" (calc-var-name var)))))))
 
-(defvar calc-var-name-map nil "Keymap for reading Calc variable names.")
-(if calc-var-name-map
-    ()
-  (setq calc-var-name-map (copy-keymap minibuffer-local-completion-map))
-  (define-key calc-var-name-map " " 'self-insert-command)
-  (mapc (lambda (x)
-         (define-key calc-var-name-map (char-to-string x)
-            'calcVar-digit))
-       "0123456789")
-  (mapc (lambda (x)
-         (define-key calc-var-name-map (char-to-string x)
-            'calcVar-oper))
-       "+-*/^|"))
+(defvar calc-var-name-map
+  (let ((map (copy-keymap minibuffer-local-completion-map)))
+    (define-key map " " #'self-insert-command)
+    (mapc (lambda (x)
+            (define-key map (char-to-string x)
+                        #'calcVar-digit))
+          "0123456789")
+    (mapc (lambda (x)
+            (define-key map (char-to-string x)
+                        #'calcVar-oper))
+          "+-*/^|")
+    map)
+  "Keymap for reading Calc variable names.")
 
 (defvar calc-store-opers)
 
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 9dd9573..8fc3fc0 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -1480,13 +1480,11 @@ argument says to read a file name and use that file as 
the inbox."
 (declare-function rmail-output-read-file-name "rmailout" ())
 (declare-function mail-send-and-exit "sendmail" (&optional arg))
 
-(defvar rmail-summary-edit-map nil)
-(if rmail-summary-edit-map
-    nil
-  (setq rmail-summary-edit-map
-       (nconc (make-sparse-keymap) text-mode-map))
-  (define-key rmail-summary-edit-map "\C-c\C-c" 'rmail-cease-edit)
-  (define-key rmail-summary-edit-map "\C-c\C-]" 'rmail-abort-edit))
+(defvar rmail-summary-edit-map
+  (let ((map (nconc (make-sparse-keymap) text-mode-map)))
+    (define-key map "\C-c\C-c" #'rmail-cease-edit)
+    (define-key map "\C-c\C-]" #'rmail-abort-edit)
+    map))
 
 (defun rmail-summary-edit-current-message ()
   "Edit the contents of this message."
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 6e416d0..0713370 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -4045,23 +4045,27 @@ NUMBER-OF-STATIC-VARIABLES:"
 (defvar ebrowse-global-map nil
   "Keymap for Ebrowse commands.")
 
-
 (defvar ebrowse-global-prefix-key "\C-c\C-m"
   "Prefix key for Ebrowse commands.")
 
-
-(defvar ebrowse-global-submap-4 nil
-  "Keymap used for `ebrowse-global-prefix' followed by `4'.")
-
-
-(defvar ebrowse-global-submap-5 nil
-  "Keymap used for `ebrowse-global-prefix' followed by `5'.")
-
+(defvar-keymap ebrowse-global-submap-4
+  :doc "Keymap used for `ebrowse-global-prefix' followed by `4'."
+  "." #'ebrowse-tags-find-definition-other-window
+  "f" #'ebrowse-tags-find-definition-other-window
+  "v" #'ebrowse-tags-find-declaration-other-window
+  "F" #'ebrowse-tags-view-definition-other-window
+  "V" #'ebrowse-tags-view-declaration-other-window)
+
+(defvar-keymap ebrowse-global-submap-5
+  :doc "Keymap used for `ebrowse-global-prefix' followed by `5'."
+  "." #'ebrowse-tags-find-definition-other-frame
+  "f" #'ebrowse-tags-find-definition-other-frame
+  "v" #'ebrowse-tags-find-declaration-other-frame
+  "F" #'ebrowse-tags-view-definition-other-frame
+  "V" #'ebrowse-tags-view-declaration-other-frame)
 
 (unless ebrowse-global-map
   (setq ebrowse-global-map (make-sparse-keymap))
-  (setq ebrowse-global-submap-4 (make-sparse-keymap))
-  (setq ebrowse-global-submap-5 (make-sparse-keymap))
   (define-key ebrowse-global-map "a" 'ebrowse-tags-apropos)
   (define-key ebrowse-global-map "b" 'ebrowse-pop-to-browser-buffer)
   (define-key ebrowse-global-map "-" 'ebrowse-back-in-position-stack)
@@ -4082,17 +4086,7 @@ NUMBER-OF-STATIC-VARIABLES:"
   (define-key ebrowse-global-map " " 'ebrowse-electric-buffer-list)
   (define-key ebrowse-global-map "\t" 'ebrowse-tags-complete-symbol)
   (define-key ebrowse-global-map "4" ebrowse-global-submap-4)
-  (define-key ebrowse-global-submap-4 "." 
'ebrowse-tags-find-definition-other-window)
-  (define-key ebrowse-global-submap-4 "f" 
'ebrowse-tags-find-definition-other-window)
-  (define-key ebrowse-global-submap-4 "v" 
'ebrowse-tags-find-declaration-other-window)
-  (define-key ebrowse-global-submap-4 "F" 
'ebrowse-tags-view-definition-other-window)
-  (define-key ebrowse-global-submap-4 "V" 
'ebrowse-tags-view-declaration-other-window)
   (define-key ebrowse-global-map "5" ebrowse-global-submap-5)
-  (define-key ebrowse-global-submap-5 "." 
'ebrowse-tags-find-definition-other-frame)
-  (define-key ebrowse-global-submap-5 "f" 
'ebrowse-tags-find-definition-other-frame)
-  (define-key ebrowse-global-submap-5 "v" 
'ebrowse-tags-find-declaration-other-frame)
-  (define-key ebrowse-global-submap-5 "F" 
'ebrowse-tags-view-definition-other-frame)
-  (define-key ebrowse-global-submap-5 "V" 
'ebrowse-tags-view-declaration-other-frame)
   (define-key global-map ebrowse-global-prefix-key ebrowse-global-map))
 
 
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 3cc3e27..cfa9660 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -3694,27 +3694,21 @@ regular expression EXPR."
 
 ;;; BUFFER DISPLAY mode.
 ;;
-(defvar speedbar-buffers-key-map nil
+(defvar speedbar-buffers-key-map
+  (let ((map (speedbar-make-specialized-keymap)))
+    ;; Basic tree features
+    (define-key map "e" #'speedbar-edit-line)
+    (define-key map "\C-m" #'speedbar-edit-line)
+    (define-key map "+" #'speedbar-expand-line)
+    (define-key map "=" #'speedbar-expand-line)
+    (define-key map "-" #'speedbar-contract-line)
+    (define-key map " " #'speedbar-toggle-line-expansion)
+    ;; Buffer specific keybindings
+    (define-key map "k" #'speedbar-buffer-kill-buffer)
+    (define-key map "r" #'speedbar-buffer-revert-buffer)
+    map)
   "Keymap used when in the buffers display mode.")
 
-(if speedbar-buffers-key-map
-    nil
-  (setq speedbar-buffers-key-map (speedbar-make-specialized-keymap))
-
-  ;; Basic tree features
-  (define-key speedbar-buffers-key-map "e" 'speedbar-edit-line)
-  (define-key speedbar-buffers-key-map "\C-m" 'speedbar-edit-line)
-  (define-key speedbar-buffers-key-map "+" 'speedbar-expand-line)
-  (define-key speedbar-buffers-key-map "=" 'speedbar-expand-line)
-  (define-key speedbar-buffers-key-map "-" 'speedbar-contract-line)
-  (define-key speedbar-buffers-key-map " " 'speedbar-toggle-line-expansion)
-
-  ;; Buffer specific keybindings
-  (define-key speedbar-buffers-key-map "k" 'speedbar-buffer-kill-buffer)
-  (define-key speedbar-buffers-key-map "r" 'speedbar-buffer-revert-buffer)
-
-  )
-
 (defvar speedbar-buffer-easymenu-definition
   '(["Jump to buffer" speedbar-edit-line t]
     ["Expand File Tags" speedbar-expand-line



reply via email to

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