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
This commit is contained in:
Wang Chunye 2020-03-20 06:25:35 -07:00
parent ffa5f0397a
commit 9be2580f5f

View file

@ -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))