From 4b0deb0b0ef4a73ea8fe9e2b62b45321dd76a609 Mon Sep 17 00:00:00 2001 From: Michelangelo Rodriguez Date: Fri, 10 Apr 2026 01:30:21 +0200 Subject: Apply patches from Stefan Monnier * greader-dict.el: Require 'greader instead of forward-declaring greader--current-buffer, fixing byte-compilation of greader-dict-tests.el. (greader-dict-filters-prefix-map, greader-dict-prefix-map): Initialize keymaps inline in defvar declarations instead of mutating them with top-level define-key calls. Bind "d" in greader-prefix-keymap directly. * greader.el: Remove forward declaration of greader-dict-prefix-map and the eval-after-load form that bound it, since greader-dict.el now handles this itself. Co-Authored-By: Stefan Monnier --- greader-dict.el | 41 +++++++++++++++++++++++------------------ greader.el | 3 --- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/greader-dict.el b/greader-dict.el index 9fa0558..da12820 100644 --- a/greader-dict.el +++ b/greader-dict.el @@ -166,7 +166,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Code: -(defvar greader--current-buffer) + +(require 'greader) (defgroup greader-dict nil "String substitution module for greader." @@ -202,25 +203,29 @@ ;; We use this variable to know if greader-dictionary is saved after ;; the last modification. (defvar-local greader-dict--saved-flag t) -(defvar greader-dict-prefix-map (make-sparse-keymap) - "Keymap for `greader-dict' commands.") - -(defvar greader-dict-filters-prefix-map (make-sparse-keymap) +(defvar greader-dict-filters-prefix-map + (let ((map (make-sparse-keymap))) + (define-key map "a" #'greader-dict-filter-add) + (define-key map "m" #'greader-dict-filter-modify) + (define-key map "k" #'greader-dict-filter-remove) + map) "Keymap for `greader-dict' filters commands.") -(define-key greader-dict-prefix-map "i" #'greader-dict-info) -(define-key greader-dict-prefix-map "a" #'greader-dict-add-entry) -(define-key greader-dict-prefix-map "k" #'greader-dict-remove-entry) -(define-key greader-dict-prefix-map "c" #'greader-dict-change-dictionary) -(define-key greader-dict-prefix-map "l" #'greader-dict-pronounce-in-other-language) -(define-key greader-dict-prefix-map "m" #'greader-dict-modify-key) -(define-key greader-dict-prefix-map "s" #'greader-dict-save) -(define-key greader-dict-prefix-map "M" #'greader-dict-merge-dictionary) -(define-key greader-dict-prefix-map "f" greader-dict-filters-prefix-map) - -(define-key greader-dict-filters-prefix-map "a" #'greader-dict-filter-add) -(define-key greader-dict-filters-prefix-map "m" #'greader-dict-filter-modify) -(define-key greader-dict-filters-prefix-map "k" #'greader-dict-filter-remove) +(defvar greader-dict-prefix-map + (let ((map (make-sparse-keymap))) + (define-key map "i" #'greader-dict-info) + (define-key map "a" #'greader-dict-add-entry) + (define-key map "k" #'greader-dict-remove-entry) + (define-key map "c" #'greader-dict-change-dictionary) + (define-key map "l" #'greader-dict-pronounce-in-other-language) + (define-key map "m" #'greader-dict-modify-key) + (define-key map "s" #'greader-dict-save) + (define-key map "M" #'greader-dict-merge-dictionary) + (define-key map "f" greader-dict-filters-prefix-map) + map) + "Keymap for `greader-dict' commands.") + +(define-key greader-prefix-keymap "d" greader-dict-prefix-map) (defvar greader-dict--type-file-alternatives '(buffer mode global)) diff --git a/greader.el b/greader.el index 4aafbe0..e6262de 100644 --- a/greader.el +++ b/greader.el @@ -44,7 +44,6 @@ ;;; Code: (require 'seq) (require 'view) -(defvar greader-dict-prefix-map) (defvar greader-dict-mode) (defvar greader-dict-filters-mode) (declare-function greader-dict--update nil) @@ -295,8 +294,6 @@ if set to t, when you call function `greader-read', that function sets a (define-key map (kbd "") #'greader-forward) map)) -(eval-after-load 'greader-dict - '(define-key greader-prefix-keymap "d" greader-dict-prefix-map)) (defvar greader-queue-mode) ;;;###autoload (define-minor-mode greader-mode -- cgit v1.0