summaryrefslogtreecommitdiff
path: root/lisp/use-package/bind-key.el
diff options
context:
space:
mode:
authorWang Chunye <chunywan@xilinx.com>2020-03-20 06:25:35 -0700
committerWang Chunye <chunywan@xilinx.com>2022-02-06 21:23:46 +0800
commit9be2580f5f26cc572d68a465c2fbe1159cc89a8d (patch)
treedf71c2ef5b718372c165d745525fecb2b655c913 /lisp/use-package/bind-key.el
parentffa5f0397af87c7258f58082408281bf3a5a2deb (diff)
downloademacs-9be2580f5f26cc572d68a465c2fbe1159cc89a8d.tar.gz
emacs-9be2580f5f26cc572d68a465c2fbe1159cc89a8d.tar.bz2
emacs-9be2580f5f26cc572d68a465c2fbe1159cc89a8d.zip
optimization: constand folding for read-kbd-macro
to boost startup performance, it is better to avoid invoking `read-kbd-macro` at run time which requires 'cl-lib. it takes ~20ms to load cl-lib Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/use-package/bind-key.el')
-rw-r--r--lisp/use-package/bind-key.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/use-package/bind-key.el b/lisp/use-package/bind-key.el
index 1d611c2933c..919a1772131 100644
--- a/lisp/use-package/bind-key.el
+++ b/lisp/use-package/bind-key.el
@@ -172,8 +172,9 @@ can safely be called at any time."
(kdescvar (make-symbol "kdesc"))
(bindingvar (make-symbol "binding")))
`(let* ((,namevar ,key-name)
- (,keyvar (if (vectorp ,namevar) ,namevar
- (read-kbd-macro ,namevar)))
+ (,keyvar ,(if (stringp key-name) (read-kbd-macro key-name)
+ `(if (vectorp ,namevar) ,namevar
+ (read-kbd-macro ,namevar))))
(,kmapvar (or (if (and ,keymap (symbolp ,keymap))
(symbol-value ,keymap) ,keymap)
global-map))