[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 5c99647: Error out on invalid `define-keymap' keywords
From: |
Lars Ingebrigtsen |
Subject: |
master 5c99647: Error out on invalid `define-keymap' keywords |
Date: |
Mon, 18 Oct 2021 22:51:10 -0400 (EDT) |
branch: master
commit 5c996471babfca2ac54591f7182d31fe7df151f0
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
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.
---
lisp/emacs-lisp/byte-opt.el | 3 +++
lisp/subr.el | 3 ++-
lisp/vc/cvs-status.el | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index abfc9b3..9b3b2e5 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -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))
diff --git a/lisp/subr.el b/lisp/subr.el
index 78709b7..9118978 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -6664,7 +6664,8 @@ should be a MENU form as accepted by `easy-menu-define'.
(:parent (setq parent value))
(:suppress (setq suppress value))
(:name (setq name value))
- (:prefix (setq prefix value))))))
+ (:prefix (setq prefix value))
+ (_ (error "Invalid keyword: %s" keyword))))))
(when (and prefix
(or full parent suppress keymap))
diff --git a/lisp/vc/cvs-status.el b/lisp/vc/cvs-status.el
index 723f277..86b62eb 100644
--- a/lisp/vc/cvs-status.el
+++ b/lisp/vc/cvs-status.el
@@ -35,7 +35,7 @@
;;;
(defvar-keymap cvs-status-mode-map
- :inherit 'cvs-mode-map
+ :parent 'cvs-mode-map
"n" #'next-line
"p" #'previous-line
"N" #'cvs-status-next
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 5c99647: Error out on invalid `define-keymap' keywords,
Lars Ingebrigtsen <=