commit 38432854fc09471adbfb24255f2cc0406d7f705a parent 3a7fdc25f548b277ff3db3a541cd10930eb46f4e Author: Wilfred Hughes <me@wilfred.me.uk> Date: Sun, 23 Sep 2018 10:33:59 +0100 Only set the keybindings inside a defvar form Otherwise, users can't run eval-buffer without clobbering their personal keybindings. See discussion in https://github.com/Wilfred/elisp-refs/pull/20 . Diffstat:
| M | helpful.el | | | 31 | +++++++++++++++++-------------- |
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/helpful.el b/helpful.el @@ -2300,14 +2300,6 @@ imenu." (forward-line)) (nreverse headings))) -(define-derived-mode helpful-mode special-mode "Helpful" - "Major mode for *Helpful* buffers." - (add-hook 'xref-backend-functions #'elisp--xref-backend nil t) - - (setq imenu-create-index-function #'helpful--imenu-index) - ;; Prevent imenu converting "Source Code" to "Source.Code". - (setq-local imenu-space-replacement " ")) - (defun helpful--flash-region (start end) "Temporarily highlight region from START to END." (let ((overlay (make-overlay start end))) @@ -2359,14 +2351,25 @@ See also `helpful-max-buffers'." (when (eq (buffer-local-value 'major-mode buffer) 'helpful-mode) (kill-buffer buffer)))) -(define-key helpful-mode-map (kbd "g") #'helpful-update) -(define-key helpful-mode-map (kbd "RET") #'helpful-visit-reference) +(defvar helpful-mode-map + (let* ((map (make-sparse-keymap))) + (define-key map (kbd "g") #'helpful-update) + (define-key map (kbd "RET") #'helpful-visit-reference) -(define-key helpful-mode-map (kbd "TAB") #'forward-button) -(define-key helpful-mode-map (kbd "<backtab>") #'backward-button) + (define-key map (kbd "TAB") #'forward-button) + (define-key map (kbd "<backtab>") #'backward-button) -(define-key helpful-mode-map (kbd "n") #'forward-button) -(define-key helpful-mode-map (kbd "p") #'backward-button) + (define-key map (kbd "n") #'forward-button) + (define-key map (kbd "p") #'backward-button)) + "Keymap for `helpful-mode'.") + +(define-derived-mode helpful-mode special-mode "Helpful" + "Major mode for *Helpful* buffers." + (add-hook 'xref-backend-functions #'elisp--xref-backend nil t) + + (setq imenu-create-index-function #'helpful--imenu-index) + ;; Prevent imenu converting "Source Code" to "Source.Code". + (setq-local imenu-space-replacement " ")) (provide 'helpful) ;;; helpful.el ends here