Revert "keymap.el: Ease up support for non-kbd formats."

This reverts commit 570a11052b.

We do not want to support several keymap formats in
`keymap-set' and friends -- the point is to have an
interface with easy-to-understand semantics that
give good feedback on valid/invalid key sequences.
This commit is contained in:
Lars Ingebrigtsen 2022-10-03 11:04:16 +02:00
parent 2973f91fb3
commit 450d94920f
2 changed files with 4 additions and 18 deletions

View file

@ -39,8 +39,7 @@
(defun keymap-set (keymap key definition)
"Set KEY to DEFINITION in KEYMAP.
KEY is a string that satisfies `key-valid-p' (or a vector using the
internal representation of key sequences).
KEY is a string that satisfies `key-valid-p'.
DEFINITION is anything that can be a key's definition:
nil (means key is undefined in this keymap),
@ -58,13 +57,13 @@ DEFINITION is anything that can be a key's definition:
or an extended menu item definition.
(See info node `(elisp)Extended Menu Items'.)"
(declare (compiler-macro (lambda (form) (keymap--compile-check key) form)))
(unless (vectorp key) (keymap--check key))
(keymap--check key)
;; If we're binding this key to another key, then parse that other
;; key, too.
(when (stringp definition)
(keymap--check definition)
(setq definition (key-parse definition)))
(define-key keymap (if (vectorp key) key (key-parse key)) definition))
(define-key keymap (key-parse key) definition))
(defun keymap-global-set (key command)
"Give KEY a global binding as COMMAND.
@ -284,18 +283,6 @@ See `kbd' for a descripion of KEYS."
(setq res (vconcat res key))))))
res)))
(defun key-parse-old-format (keys)
"Convert old-style string representation of KEYS to a vector.
Simpler alternative to the Rube-Goldbergesque composition of
`key-description' and `key-parse'."
(cond
((vectorp keys) keys)
((multibyte-string-p keys) (vconcat keys))
((stringp keys)
(vconcat (mapcar (lambda (c) (if (> c 127) (logior (- c 128) ?\M-\0) c))
keys)))
(t (error "Invalid old-style key sequence: %S" keys))))
(defun key-valid-p (keys)
"Say whether KEYS is a valid key.
A key is a string consisting of one or more key strokes.

View file

@ -496,8 +496,7 @@ See the command `outline-mode' for more information on this mode."
"<right-margin> <mouse-1>" 'outline-cycle
"<left-margin> S-<mouse-1>" 'outline-cycle-buffer
"<right-margin> S-<mouse-1>" 'outline-cycle-buffer
(key-parse-old-format outline-minor-mode-prefix)
outline-mode-prefix-map)
(key-description outline-minor-mode-prefix) outline-mode-prefix-map)
(if outline-minor-mode
(progn
(cond