]> git.eshelyaron.com Git - emacs.git/commit
Add new 'keymap-*' functions
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 16 Nov 2021 07:15:43 +0000 (08:15 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 16 Nov 2021 07:26:24 +0000 (08:26 +0100)
commitde477ec683482a5dd27d791d7fdcfc4021ed3cb7
treee76ae6aa9969b07cf71bb57651ac2368327d1bf8
parent560c921ed8d2d14e593aaee68b8be57b189128e5
Add new 'keymap-*' functions

* lisp/keymap.el: New file with all the new keymap-* functions.

* lisp/loadup.el ("keymap"): Load.

* lisp/subr.el (kbd): Refactor out all the code to key-parse.
(define-key-after, keyboard-translate, global-set-key)
(local-set-key, global-unset-key, local-unset-key)
(local-key-binding, global-key-binding)
(substitute-key-definition): Note in doc strings that these are
legacy functions.
(define-keymap--define): Use keymap-set.

* lisp/emacs-lisp/byte-opt.el: Remove the optimizations for
defvar-keymap and define-keymap since the macros now only
understand the kbd syntax.
* lisp/emacs-lisp/bytecomp.el (byte-compile-define-keymap)
(byte-compile-define-keymap--define): Warn about invalid key
definitions in all keymap-* functions.

* lisp/emacs-lisp/shortdoc.el (keymaps): Add shortdocs form
keymap* functions.

* src/keymap.c (possibly_translate_key_sequence): Adjust callers
to key-valid-p and key-parse.
(syms_of_keymap): Adjust defs.
etc/NEWS
lisp/emacs-lisp/byte-opt.el
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/shortdoc.el
lisp/keymap.el [new file with mode: 0644]
lisp/loadup.el
lisp/subr.el
src/keymap.c
test/lisp/subr-tests.el