]> git.eshelyaron.com Git - emacs.git/commitdiff
bind-key: Use new symbols for kmapvar
authorDaniel Mendler <mail@daniel-mendler.de>
Wed, 10 Feb 2021 13:01:59 +0000 (14:01 +0100)
committerDaniel Mendler <mail@daniel-mendler.de>
Wed, 10 Feb 2021 14:23:44 +0000 (15:23 +0100)
lisp/use-package/bind-key.el

index fef23740c676418b4bcc3f80247ad2d5e57042ad..13fd02ab89b17d23a225237fa456e07ba81e3a1c 100644 (file)
@@ -168,16 +168,19 @@ or operates on menu data structures, so you should write it so it
 can safely be called at any time."
   (let ((namevar (make-symbol "name"))
         (keyvar (make-symbol "key"))
+        (kmapvar (make-symbol "kmap"))
         (kdescvar (make-symbol "kdesc"))
         (bindingvar (make-symbol "binding")))
     `(let* ((,namevar ,key-name)
             (,keyvar (if (vectorp ,namevar) ,namevar
                        (read-kbd-macro ,namevar)))
-            (kmap (if (and ,keymap (symbolp ,keymap)) (symbol-value ,keymap) ,keymap))
+            (,kmapvar (or (if (and ,keymap (symbolp ,keymap))
+                              (symbol-value ,keymap) ,keymap)
+                          global-map))
             (,kdescvar (cons (if (stringp ,namevar) ,namevar
                                (key-description ,namevar))
                              (if (symbolp ,keymap) ,keymap (quote ,keymap))))
-            (,bindingvar (lookup-key (or kmap global-map) ,keyvar)))
+            (,bindingvar (lookup-key ,kmapvar ,keyvar)))
        (let ((entry (assoc ,kdescvar personal-keybindings))
              (details (list ,command
                             (unless (numberp ,bindingvar)
@@ -186,11 +189,11 @@ can safely be called at any time."
              (setcdr entry details)
            (add-to-list 'personal-keybindings (cons ,kdescvar details))))
        ,(if predicate
-            `(define-key (or kmap global-map) ,keyvar
+            `(define-key ,kmapvar ,keyvar
                '(menu-item "" nil :filter (lambda (&optional _)
                                             (when ,predicate
                                               ,command))))
-          `(define-key (or kmap global-map) ,keyvar ,command)))))
+          `(define-key ,kmapvar ,keyvar ,command)))))
 
 ;;;###autoload
 (defmacro unbind-key (key-name &optional keymap)