Fix tests on Emacs 26 or older

This fixes the following error in Emacs 25.3:

In toplevel form:
bind-key.el:549:1:Error: the function ‘mapcan’ is not known to be defined.
This commit is contained in:
Stefan Kangas 2022-11-13 23:16:05 +01:00
parent 6b25a41bc6
commit 45e6ee1371

View file

@ -223,11 +223,11 @@ See `bind-key' for more details."
In contrast to `define-key', this function removes the binding from the keymap."
(define-key keymap key nil)
;; Split M-key in ESC key
(setq key (mapcan (lambda (k)
(if (and (integerp k) (/= (logand k ?\M-\0) 0))
(list ?\e (logxor k ?\M-\0))
(list k)))
key))
(setq key (cl-mapcan (lambda (k)
(if (and (integerp k) (/= (logand k ?\M-\0) 0))
(list ?\e (logxor k ?\M-\0))
(list k)))
key))
;; Delete single keys directly
(if (= (length key) 1)
(delete key keymap)
@ -241,7 +241,7 @@ In contrast to `define-key', this function removes the binding from the keymap."
(delete (last key) submap)
;; Delete submap if it is empty
(when (= 1 (length submap))
(bind-key--remove prefix keymap)))))
(bind-key--remove prefix keymap)))))
;;;###autoload
(defmacro bind-key* (key-name command &optional predicate)