diff options
| author | Robert Pluim | 2022-08-02 14:22:32 +0200 |
|---|---|---|
| committer | Robert Pluim | 2022-08-02 14:29:43 +0200 |
| commit | bf47851e0817abcf17eeb4a10d27cf18de2c68a2 (patch) | |
| tree | 7fc3cb4b2dd1726eaa6d1e8807cee27155ba485a /test/src | |
| parent | e5e840168c039f3daf9cce05e0b8ac4c49a450ec (diff) | |
| download | emacs-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.el | 12 |
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 |