From 9be2580f5f26cc572d68a465c2fbe1159cc89a8d Mon Sep 17 00:00:00 2001 From: Wang Chunye Date: Fri, 20 Mar 2020 06:25:35 -0700 Subject: [PATCH] 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 --- lisp/use-package/bind-key.el | 5 +++-- 1 file 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)) -- 2.39.2