mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Reinstate defvar-keymap expansion
* lisp/emacs-lisp/byte-opt.el (byte-optimize-define-keymap--define): Make more robust.
This commit is contained in:
parent
94fe416c95
commit
5029684358
1 changed files with 10 additions and 7 deletions
|
|
@ -1237,14 +1237,17 @@ See Info node `(elisp) Integer Basics'."
|
||||||
|
|
||||||
(defun byte-optimize-define-keymap--define (form)
|
(defun byte-optimize-define-keymap--define (form)
|
||||||
"Expand key bindings in FORM."
|
"Expand key bindings in FORM."
|
||||||
(let ((optimized (byte-optimize-define-keymap (nth 1 form))))
|
(if (not (consp (nth 1 form)))
|
||||||
(if (eq optimized (nth 1 form))
|
form
|
||||||
;; No improvement.
|
(let ((optimized (byte-optimize-define-keymap (nth 1 form))))
|
||||||
form
|
(if (eq optimized (nth 1 form))
|
||||||
(list (car form) optimized))))
|
;; No improvement.
|
||||||
|
form
|
||||||
|
(list (car form) optimized)))))
|
||||||
|
|
||||||
;;(put 'define-keymap 'byte-optimizer #'byte-optimize-define-keymap)
|
(put 'define-keymap 'byte-optimizer #'byte-optimize-define-keymap)
|
||||||
;;(put 'define-keymap--define 'byte-optimizer #'byte-optimize-define-keymap--define)
|
(put 'define-keymap--define 'byte-optimizer
|
||||||
|
#'byte-optimize-define-keymap--define)
|
||||||
|
|
||||||
;; I'm not convinced that this is necessary. Doesn't the optimizer loop
|
;; I'm not convinced that this is necessary. Doesn't the optimizer loop
|
||||||
;; take care of this? - Jamie
|
;; take care of this? - Jamie
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue