;; ======================================================================
;; supercite keymaps
-(defvar sc-T-keymap
- (let ((map (make-sparse-keymap)))
- (define-key map "a" #'sc-S-preferred-attribution-list)
- (define-key map "b" #'sc-T-mail-nuke-blank-lines)
- (define-key map "c" #'sc-T-confirm-always)
- (define-key map "d" #'sc-T-downcase)
- (define-key map "e" #'sc-T-electric-references)
- (define-key map "f" #'sc-T-auto-fill-region)
- (define-key map "h" #'sc-T-describe)
- (define-key map "l" #'sc-S-cite-region-limit)
- (define-key map "n" #'sc-S-mail-nuke-mail-headers)
- (define-key map "N" #'sc-S-mail-header-nuke-list)
- (define-key map "o" #'sc-T-electric-circular)
- (define-key map "p" #'sc-S-preferred-header-style)
- (define-key map "s" #'sc-T-nested-citation)
- (define-key map "u" #'sc-T-use-only-preferences)
- (define-key map "w" #'sc-T-fixup-whitespace)
- (define-key map "?" #'sc-T-describe)
- map)
- "Keymap for sub-keymap of setting and toggling functions.")
-
-(defvar sc-mode-map
- (let ((map (make-sparse-keymap)))
- (define-key map "c" #'sc-cite-region)
- (define-key map "f" #'sc-mail-field-query)
- (define-key map "g" #'sc-mail-process-headers)
- (define-key map "h" #'sc-describe)
- (define-key map "i" #'sc-insert-citation)
- (define-key map "o" #'sc-open-line)
- (define-key map "r" #'sc-recite-region)
- (define-key map "\C-p" #'sc-raw-mode-toggle)
- (define-key map "u" #'sc-uncite-region)
- (define-key map "w" #'sc-insert-reference)
- (define-key map "\C-t" sc-T-keymap)
- (define-key map "?" #'sc-describe)
- map)
- "Keymap for Supercite quasi-mode.")
-
-(defvar sc-electric-mode-map
- (let ((map (make-sparse-keymap)))
- (define-key map "p" #'sc-eref-prev)
- (define-key map "n" #'sc-eref-next)
- (define-key map "s" #'sc-eref-setn)
- (define-key map "j" #'sc-eref-jump)
- (define-key map "x" #'sc-eref-abort)
- (define-key map "q" #'sc-eref-abort)
- (define-key map "\r" #'sc-eref-exit)
- (define-key map "\n" #'sc-eref-exit)
- (define-key map "g" #'sc-eref-goto)
- (define-key map "?" #'describe-mode)
- (define-key map "\C-h" #'describe-mode)
- (define-key map [f1] #'describe-mode)
- (define-key map [help] #'describe-mode)
- map)
- "Keymap for `sc-electric-mode' electric references mode.")
-
-
-(defvar sc-minibuffer-local-completion-map
- (let ((map (copy-keymap minibuffer-local-completion-map)))
- (define-key map "\C-t" #'sc-toggle-fn)
- (define-key map " " #'self-insert-command)
- map)
- "Keymap for minibuffer confirmation of attribution strings.")
-
-(defvar sc-minibuffer-local-map
- (let ((map (copy-keymap minibuffer-local-map)))
- (define-key map "\C-t" #'sc-toggle-fn)
- map)
- "Keymap for minibuffer confirmation of attribution strings.")
+(defvar-keymap sc-T-keymap
+ :doc "Keymap for sub-keymap of setting and toggling functions."
+ "a" #'sc-S-preferred-attribution-list
+ "b" #'sc-T-mail-nuke-blank-lines
+ "c" #'sc-T-confirm-always
+ "d" #'sc-T-downcase
+ "e" #'sc-T-electric-references
+ "f" #'sc-T-auto-fill-region
+ "h" #'sc-T-describe
+ "l" #'sc-S-cite-region-limit
+ "n" #'sc-S-mail-nuke-mail-headers
+ "N" #'sc-S-mail-header-nuke-list
+ "o" #'sc-T-electric-circular
+ "p" #'sc-S-preferred-header-style
+ "s" #'sc-T-nested-citation
+ "u" #'sc-T-use-only-preferences
+ "w" #'sc-T-fixup-whitespace
+ "?" #'sc-T-describe)
+
+(defvar-keymap sc-mode-map
+ :doc "Keymap for Supercite quasi-mode."
+ "c" #'sc-cite-region
+ "f" #'sc-mail-field-query
+ "g" #'sc-mail-process-headers
+ "h" #'sc-describe
+ "i" #'sc-insert-citation
+ "o" #'sc-open-line
+ "r" #'sc-recite-region
+ "C-p" #'sc-raw-mode-toggle
+ "u" #'sc-uncite-region
+ "w" #'sc-insert-reference
+ "C-t" sc-T-keymap
+ "?" #'sc-describe)
+
+(defvar-keymap sc-electric-mode-map
+ :doc "Keymap for `sc-electric-mode' electric references mode."
+ "p" #'sc-eref-prev
+ "n" #'sc-eref-next
+ "s" #'sc-eref-setn
+ "j" #'sc-eref-jump
+ "x" #'sc-eref-abort
+ "q" #'sc-eref-abort
+ "RET" #'sc-eref-exit
+ "C-j" #'sc-eref-exit
+ "g" #'sc-eref-goto
+ "?" #'describe-mode
+ "C-h" #'describe-mode
+ "<f1>" #'describe-mode
+ "<help>" #'describe-mode)
+
+
+(defvar-keymap sc-minibuffer-local-completion-map
+ :doc "Keymap for minibuffer confirmation of attribution strings."
+ :parent minibuffer-local-completion-map
+ "C-t" #'sc-toggle-fn
+ "SPC" #'self-insert-command)
+
+(defvar-keymap sc-minibuffer-local-map
+ :doc "Keymap for minibuffer confirmation of attribution strings."
+ :parent minibuffer-local-map
+ "C-t" #'sc-toggle-fn)
\f
;; ======================================================================