1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 19:31:02 -08:00

Use defvar-keymap for some trivial keymaps

* lisp/bindings.el (mode-line-window-dedicated-keymap)
(mode-line-buffer-identification-keymap):
* lisp/emulation/cua-rect.el (cua--overlay-keymap, cua--overlay-key):
* lisp/mh-e/mh-mime.el (mh-mime-security-button-map):
* lisp/mh-e/mh-utils.el (mh-hidden-header-keymap):
* lisp/net/eudc-bob.el (eudc-bob-generic-keymap, eudc-bob-image-keymap)
(eudc-bob-sound-keymap, eudc-bob-url-keymap, eudc-bob-mail-keymap):
* lisp/progmodes/etags-regen.el (etags-regen-mode-map):
* lisp/progmodes/octave.el (octave-help-mode-map):
* lisp/replace.el (multi-query-replace-map):
* lisp/simple.el (process-menu-mode-map, messages-buffer-mode-map):
* lisp/startup.el (splash-screen-keymap):
* lisp/tab-bar.el (tab-bar-mode-map):
* lisp/textmodes/ispell.el (ispell-minor-keymap):
* lisp/textmodes/tex-mode.el (latex-mode-map, plain-tex-mode-map):
* lisp/tree-widget.el (tree-widget-button-keymap):
* lisp/vc/vc-hooks.el (vc-mode-line-map): Use defvar-keymap.
This commit is contained in:
Stefan Kangas 2025-03-15 13:39:45 +01:00
parent a07465410a
commit d8d524071d
15 changed files with 85 additions and 125 deletions

View file

@ -300,11 +300,9 @@ Value is used for `mode-line-frame-identification', which see."
;;;###autoload ;;;###autoload
(put 'mode-line-frame-identification 'risky-local-variable t) (put 'mode-line-frame-identification 'risky-local-variable t)
(defvar mode-line-window-dedicated-keymap (defvar-keymap mode-line-window-dedicated-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for what is displayed by `mode-line-window-dedicated'."
(define-key map [mode-line mouse-1] #'toggle-window-dedicated) "<mode-line> <mouse-1>" #'toggle-window-dedicated)
map)
"Keymap for what is displayed by `mode-line-window-dedicated'.")
(defun mode-line-window-control () (defun mode-line-window-control ()
"Compute mode line construct for window dedicated state. "Compute mode line construct for window dedicated state.
@ -628,20 +626,18 @@ Normally displays the buffer percentage and, optionally, the
buffer size, the line number and the column number.") buffer size, the line number and the column number.")
(put 'mode-line-position 'risky-local-variable t) (put 'mode-line-position 'risky-local-variable t)
(defvar mode-line-buffer-identification-keymap (defvar-keymap mode-line-buffer-identification-keymap
:doc "Keymap for what is displayed by `mode-line-buffer-identification'."
;; Add menu of buffer operations to the buffer identification part ;; Add menu of buffer operations to the buffer identification part
;; of the mode line.or header line. ;; of the mode line.or header line.
(let ((map (make-sparse-keymap)))
;; Bind down- events so that the global keymap won't ``shine ;; Bind down- events so that the global keymap won't ``shine
;; through''. ;; through''.
(define-key map [mode-line mouse-1] 'mode-line-previous-buffer) "<mode-line> <mouse-1>" #'mode-line-previous-buffer
(define-key map [header-line down-mouse-1] 'ignore) "<header-line> <down-mouse-1>" #'ignore
(define-key map [header-line mouse-1] 'mode-line-previous-buffer) "<header-line> <mouse-1>" #'mode-line-previous-buffer
(define-key map [mode-line mouse-3] 'mode-line-next-buffer) "<mode-line> <mouse-3>" #'mode-line-next-buffer
(define-key map [header-line down-mouse-3] 'ignore) "<header-line> <down-mouse-3>" #'ignore
(define-key map [header-line mouse-3] 'mode-line-next-buffer) "<header-line> <mouse-3>" #'mode-line-next-buffer)
map) "\
Keymap for what is displayed by `mode-line-buffer-identification'.")
(defun propertized-buffer-identification (fmt) (defun propertized-buffer-identification (fmt)
"Return a list suitable for `mode-line-buffer-identification'. "Return a list suitable for `mode-line-buffer-identification'.

View file

@ -88,9 +88,8 @@ See `cua--rectangle'.")
"List of overlays used to display current rectangle.") "List of overlays used to display current rectangle.")
(put 'cua--rectangle-overlays 'permanent-local t) (put 'cua--rectangle-overlays 'permanent-local t)
(defvar cua--overlay-keymap (defvar-keymap cua--overlay-keymap
(let ((map (make-sparse-keymap))) "RET" #'cua-rotate-rectangle)
(define-key map "\r" #'cua-rotate-rectangle)))
(defvar cua--virtual-edges-debug nil) (defvar cua--virtual-edges-debug nil)

View file

@ -201,11 +201,9 @@ Set from last use.")
(?i info ?s) (?i info ?s)
(?d details ?s) (?d details ?s)
(?D pressed-details ?s))) (?D pressed-details ?s)))
(defvar mh-mime-security-button-map (defvar-keymap mh-mime-security-button-map
(let ((map (make-sparse-keymap))) "RET" #'mh-press-button
(define-key map "\r" #'mh-press-button) "<mouse-2>" #'mh-push-button)
(define-key map [mouse-2] #'mh-push-button)
map))

View file

@ -920,10 +920,8 @@ Handle RFC 822 (or later) continuation lines."
when (equal (downcase x) field) return t when (equal (downcase x) field) return t
finally return nil))) finally return nil)))
(defvar mh-hidden-header-keymap (defvar-keymap mh-hidden-header-keymap
(let ((map (make-sparse-keymap))) "<mouse-2>" #'mh-letter-toggle-header-field-display-button)
(define-key map [mouse-2] #'mh-letter-toggle-header-field-display-button)
map))
;;;###mh-autoload ;;;###mh-autoload
(defun mh-letter-toggle-header-field-display (arg) (defun mh-letter-toggle-header-field-display (arg)

View file

@ -39,42 +39,32 @@
(require 'eudc) (require 'eudc)
(defvar eudc-bob-generic-keymap (defvar-keymap eudc-bob-generic-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for multimedia objects."
(define-key map "s" #'eudc-bob-save-object) "s" #'eudc-bob-save-object
(define-key map "!" #'eudc-bob-pipe-object-to-external-program) "!" #'eudc-bob-pipe-object-to-external-program
(define-key map [down-mouse-3] #'eudc-bob-popup-menu) "<down-mouse-3>" #'eudc-bob-popup-menu)
map)
"Keymap for multimedia objects.")
(defvar eudc-bob-image-keymap (defvar-keymap eudc-bob-image-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for inline images."
(set-keymap-parent map eudc-bob-generic-keymap) :parent eudc-bob-generic-keymap
(define-key map "t" #'eudc-bob-toggle-inline-display) "t" #'eudc-bob-toggle-inline-display)
map)
"Keymap for inline images.")
(defvar eudc-bob-sound-keymap (defvar-keymap eudc-bob-sound-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for inline sounds."
(set-keymap-parent map eudc-bob-generic-keymap) :parent eudc-bob-generic-keymap
(define-key map (kbd "RET") #'eudc-bob-play-sound-at-point) "RET" #'eudc-bob-play-sound-at-point
(define-key map [down-mouse-2] #'eudc-bob-play-sound-at-mouse) "<down-mouse-2>" #'eudc-bob-play-sound-at-mouse)
map)
"Keymap for inline sounds.")
(defvar eudc-bob-url-keymap (defvar-keymap eudc-bob-url-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for inline urls."
(define-key map (kbd "RET") #'browse-url-at-point) "RET" #'browse-url-at-point
(define-key map [down-mouse-2] #'browse-url-at-mouse) "<down-mouse-2>" #'browse-url-at-mouse)
map)
"Keymap for inline urls.")
(defvar eudc-bob-mail-keymap (defvar-keymap eudc-bob-mail-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for inline e-mail addresses."
(define-key map (kbd "RET") #'goto-address-at-point) "RET" #'goto-address-at-point
(define-key map [down-mouse-2] #'goto-address-at-point) "<down-mouse-2>" #'goto-address-at-point)
map)
"Keymap for inline e-mail addresses.")
(defvar eudc-bob-generic-menu (defvar eudc-bob-generic-menu
'("EUDC Binary Object Menu" '("EUDC Binary Object Menu"

View file

@ -409,7 +409,7 @@ File extensions to generate the tags for."
(remove-hook 'after-save-hook #'etags-regen--update-file) (remove-hook 'after-save-hook #'etags-regen--update-file)
(remove-hook 'before-save-hook #'etags-regen--mark-as-new)) (remove-hook 'before-save-hook #'etags-regen--mark-as-new))
(defvar etags-regen-mode-map (make-sparse-keymap)) (defvar-keymap etags-regen-mode-map)
;;;###autoload ;;;###autoload
(define-minor-mode etags-regen-mode (define-minor-mode etags-regen-mode

View file

@ -1666,12 +1666,10 @@ code line."
'follow-link t 'follow-link t
'action (lambda (b) (octave-help (button-label b)))) 'action (lambda (b) (octave-help (button-label b))))
(defvar octave-help-mode-map (defvar-keymap octave-help-mode-map
(let ((map (make-sparse-keymap))) "M-." #'octave-find-definition
(define-key map "\M-." 'octave-find-definition) "C-h d" #'octave-help
(define-key map "\C-hd" 'octave-help) "C-h a" #'octave-lookfor)
(define-key map "\C-ha" 'octave-lookfor)
map))
(define-derived-mode octave-help-mode help-mode "OctHelp" (define-derived-mode octave-help-mode help-mode "OctHelp"
"Major mode for displaying Octave documentation." "Major mode for displaying Octave documentation."

View file

@ -2517,19 +2517,17 @@ The valid answers include `act', `skip', `act-and-show',
This keymap is used by `y-or-n-p' as well as `query-replace'.") This keymap is used by `y-or-n-p' as well as `query-replace'.")
(defvar multi-query-replace-map (defvar-keymap multi-query-replace-map
(let ((map (make-sparse-keymap))) :doc "Keymap that defines additional bindings for multi-buffer replacements.
(set-keymap-parent map query-replace-map)
(define-key map "Y" 'automatic-all)
(define-key map "N" 'exit-current)
map)
"Keymap that defines additional bindings for multi-buffer replacements.
It extends its parent map `query-replace-map' with new bindings to It extends its parent map `query-replace-map' with new bindings to
operate on a set of buffers/files. The difference with its parent map operate on a set of buffers/files. The difference with its parent map
is the additional answers `automatic-all' to replace all remaining is the additional answers `automatic-all' to replace all remaining
matches in all remaining buffers with no more questions, and matches in all remaining buffers with no more questions, and
`exit-current' to skip remaining matches in the current buffer `exit-current' to skip remaining matches in the current buffer
and to continue with the next buffer in the sequence.") and to continue with the next buffer in the sequence."
:parent query-replace-map
"Y" 'automatic-all
"N" 'exit-current)
(defun replace-match-string-symbols (n) (defun replace-match-string-symbols (n)
"Process a list (and any sub-lists), expanding certain symbols. "Process a list (and any sub-lists), expanding certain symbols.

View file

@ -5227,10 +5227,8 @@ File name handlers might not support pty association, if PROGRAM is nil."
(defvar process-menu-query-only nil) (defvar process-menu-query-only nil)
(defvar process-menu-mode-map (defvar-keymap process-menu-mode-map
(let ((map (make-sparse-keymap))) "d" #'process-menu-delete-process)
(define-key map [?d] 'process-menu-delete-process)
map))
(define-derived-mode process-menu-mode tabulated-list-mode "Process Menu" (define-derived-mode process-menu-mode tabulated-list-mode "Process Menu"
"Major mode for listing the processes called by Emacs." "Major mode for listing the processes called by Emacs."
@ -11019,11 +11017,9 @@ and setting it to nil."
(setq buffer-invisibility-spec nil))) (setq buffer-invisibility-spec nil)))
(defvar messages-buffer-mode-map (defvar-keymap messages-buffer-mode-map
(let ((map (make-sparse-keymap))) :parent special-mode-map
(set-keymap-parent map special-mode-map) "g" nil) ; nothing to revert
(define-key map "g" nil) ; nothing to revert
map))
(define-derived-mode messages-buffer-mode special-mode "Messages" (define-derived-mode messages-buffer-mode special-mode "Messages"
"Major mode used in the \"*Messages*\" buffer." "Major mode used in the \"*Messages*\" buffer."

View file

@ -1882,16 +1882,13 @@ Each element in the list should be a list of strings or pairs
(file :tag "File"))) (file :tag "File")))
(defvar splash-screen-keymap (defvar-keymap splash-screen-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap for splash screen buffer."
(suppress-keymap map) :suppress t :parent button-buffer-map
(set-keymap-parent map button-buffer-map) "DEL" #'scroll-down-command
(define-key map "\C-?" #'scroll-down-command) "S-SPC" #'scroll-down-command
(define-key map [?\S-\ ] #'scroll-down-command) "SPC" #'scroll-up-command
(define-key map " " #'scroll-up-command) "q" #'exit-splash-screen)
(define-key map "q" #'exit-splash-screen)
map)
"Keymap for splash screen buffer.")
;; These are temporary storage areas for the splash screen display. ;; These are temporary storage areas for the splash screen display.

View file

@ -97,8 +97,8 @@
(defvar tab-bar-mode-map (make-sparse-keymap) (defvar-keymap tab-bar-mode-map
"Tab Bar mode map.") :doc "Tab Bar mode map.")
(defcustom tab-bar-define-keys t (defcustom tab-bar-define-keys t
"Define specified tab-bar key bindings. "Define specified tab-bar key bindings.

View file

@ -3816,12 +3816,10 @@ available on the net."
;;; Ispell Minor Mode ;;; Ispell Minor Mode
;;; ********************************************************************** ;;; **********************************************************************
(defvar ispell-minor-keymap (defvar-keymap ispell-minor-keymap
(let ((map (make-sparse-keymap))) :doc "Keymap used for Ispell minor mode."
(define-key map " " 'ispell-minor-check) "SPC" #'ispell-minor-check
(define-key map "\r" 'ispell-minor-check) "RET" #'ispell-minor-check)
map)
"Keymap used for Ispell minor mode.")
;;;###autoload ;;;###autoload
(define-minor-mode ispell-minor-mode (define-minor-mode ispell-minor-mode

View file

@ -945,18 +945,14 @@ START is the position of the \\ and DELIM is the delimiter char."
map) map)
"Keymap shared by TeX modes.") "Keymap shared by TeX modes.")
(defvar latex-mode-map (defvar-keymap latex-mode-map
(let ((map (make-sparse-keymap))) :doc "Keymap for `latex-mode'. See also `tex-mode-map'."
(set-keymap-parent map tex-mode-map) :parent tex-mode-map
(define-key map "\C-c\C-s" #'latex-split-block) "C-c C-s" #'latex-split-block)
map)
"Keymap for `latex-mode'. See also `tex-mode-map'.")
(defvar plain-tex-mode-map (defvar-keymap plain-tex-mode-map
(let ((map (make-sparse-keymap))) :doc "Keymap for `plain-tex-mode'. See also `tex-mode-map'."
(set-keymap-parent map tex-mode-map) :parent tex-mode-map)
map)
"Keymap for `plain-tex-mode'. See also `tex-mode-map'.")
(defvar tex-shell-map (defvar tex-shell-map
(let ((m (make-sparse-keymap))) (let ((m (make-sparse-keymap)))

View file

@ -392,13 +392,11 @@ EVENT is the mouse event received."
(if (get-char-property pos 'button) (if (get-char-property pos 'button)
(widget-button-click event)))) (widget-button-click event))))
(defvar tree-widget-button-keymap (defvar-keymap tree-widget-button-keymap
(let ((km (make-sparse-keymap))) :doc "Keymap used inside node buttons.
(set-keymap-parent km widget-keymap) Handle mouse button 1 click on buttons."
(define-key km [down-mouse-1] 'tree-widget-button-click) :parent widget-keymap
km) "<down-mouse-1>" #'tree-widget-button-click)
"Keymap used inside node buttons.
Handle mouse button 1 click on buttons.")
(define-widget 'tree-widget-icon 'push-button (define-widget 'tree-widget-icon 'push-button
"Basic widget other tree-widget icons are derived from." "Basic widget other tree-widget icons are derived from."

View file

@ -694,10 +694,8 @@ Before doing that, check if there are any old backups and get rid of them."
;; and this will simply use it. ;; and this will simply use it.
(define-key menu-bar-tools-menu [vc] vc-menu-entry)) (define-key menu-bar-tools-menu [vc] vc-menu-entry))
(defconst vc-mode-line-map (defvar-keymap vc-mode-line-map
(let ((map (make-sparse-keymap))) "<mode-line> <down-mouse-1>" vc-menu-entry)
(define-key map [mode-line down-mouse-1] vc-menu-entry)
map))
(defun vc-mode-line (file &optional backend) (defun vc-mode-line (file &optional backend)
"Set `vc-mode' to display type of version control for FILE. "Set `vc-mode' to display type of version control for FILE.