From 22b63797983f485041a2a424e6cd7732f4318885 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 6 Oct 2017 13:18:31 -0600 Subject: [PATCH] Bind keys in dwarf-mode-map definition It's bad Emacs style to define keys from a top-level form. Instead, one should define a mode map separately and binding keys in the definition. This lets users completely override the map by defining it before loading the mode. 2017-10-10 Tom Tromey * dwarf-mode.el (dwarf-mode-map): New defvar. --- binutils/ChangeLog | 4 ++++ binutils/dwarf-mode.el | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 9f2e5f0a61c..7a7edab7ed0 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2017-10-10 Tom Tromey + + * dwarf-mode.el (dwarf-mode-map): New defvar. + 2017-10-10 Tom Tromey PR 22249 diff --git a/binutils/dwarf-mode.el b/binutils/dwarf-mode.el index a944a77c8cc..c2c01ee745b 100644 --- a/binutils/dwarf-mode.el +++ b/binutils/dwarf-mode.el @@ -141,6 +141,13 @@ A prefix argument means expand all children." (expand-file-name dwarf-file))) (set-buffer-modified-p nil))) +(defvar dwarf-mode-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map special-mode-map) + (define-key map [(control ?m)] #'dwarf-insert-substructure) + map) + "Keymap for dwarf-mode buffers.") + (define-derived-mode dwarf-mode special-mode "DWARF" "Major mode for browsing DWARF output. @@ -151,8 +158,6 @@ A prefix argument means expand all children." (set (make-local-variable 'revert-buffer-function) #'dwarf-do-refresh) (jit-lock-register #'dwarf-fontify-region)) -(define-key dwarf-mode-map [(control ?m)] #'dwarf-insert-substructure) - ;;;###autoload (defun dwarf-browse (file) "Invoke `objdump' and put output into a `dwarf-mode' buffer. -- 2.39.2