Error out on invalid `define-keymap' keywords

* lisp/subr.el (define-keymap--define): Error out on invalid
keywords (bug#51268).

* lisp/emacs-lisp/byte-opt.el (byte-optimize-define-keymap): Check
keywords at compile time.
* lisp/vc/cvs-status.el (cvs-status-mode-map): Fix keyword.
This commit is contained in:
Lars Ingebrigtsen 2021-10-19 04:50:59 +02:00
parent fbf7dd3cce
commit 5c996471ba
3 changed files with 6 additions and 2 deletions

View file

@ -1211,6 +1211,9 @@ See Info node `(elisp) Integer Basics'."
(while (and form
(keywordp (car form))
(not (eq (car form) :menu)))
(unless (memq (car form)
'(:full :keymap :parent :suppress :name :prefix))
(error "Invalid keyword: %s" (car form)))
(push (pop form) result)
(when (null form)
(error "Uneven number of keywords in %S" form))