aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorRobert Pluim2022-08-02 14:22:32 +0200
committerRobert Pluim2022-08-02 14:29:43 +0200
commitbf47851e0817abcf17eeb4a10d27cf18de2c68a2 (patch)
tree7fc3cb4b2dd1726eaa6d1e8807cee27155ba485a /test/src
parente5e840168c039f3daf9cce05e0b8ac4c49a450ec (diff)
downloademacs-bf47851e0817abcf17eeb4a10d27cf18de2c68a2.tar.gz
emacs-bf47851e0817abcf17eeb4a10d27cf18de2c68a2.zip
Signal error on duplicate key definitions
* lisp/keymap.el (define-keymap, defvar-keymap): Signal error if the same key is specified twice. (Bug#56873) * doc/lispref/keymaps.texi (Creating Keymaps): Document error signaling behaviour. * test/src/keymap-tests.el (keymap-test-duplicate-definitions): Test duplicate definition detection.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/keymap-tests.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/src/keymap-tests.el b/test/src/keymap-tests.el
index b0876664ed1..ce96be6869e 100644
--- a/test/src/keymap-tests.el
+++ b/test/src/keymap-tests.el
@@ -430,6 +430,18 @@ g .. h foo
430 (make-non-key-event 'keymap-tests-event) 430 (make-non-key-event 'keymap-tests-event)
431 (should (equal (where-is-internal 'keymap-tests-command) '([3 103])))) 431 (should (equal (where-is-internal 'keymap-tests-command) '([3 103]))))
432 432
433(ert-deftest keymap-test-duplicate-definitions ()
434 "Check that defvar-keymap rejects duplicate key definitions."
435 (should-error
436 (defvar-keymap
437 ert-keymap-duplicate
438 "a" #'next-line
439 "a" #'previous-line))
440 (should-error
441 (define-keymap
442 "a" #'next-line
443 "a" #'previous-line)))
444
433(provide 'keymap-tests) 445(provide 'keymap-tests)
434 446
435;;; keymap-tests.el ends here 447;;; keymap-tests.el ends here