From: Robert Pluim Date: Fri, 17 Mar 2023 13:16:00 +0000 (+0100) Subject: Document `keymap-unset' in lispref X-Git-Tag: emacs-29.0.90~160 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e4a7d0cd6eaf4feb4cb2a6bbb8058b70d6676b62;p=emacs.git Document `keymap-unset' in lispref * doc/lispref/keymaps.texi (Changing Key Bindings): Document keymap-unset. --- diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index 7876780dcd4..02feda5cd04 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -1427,6 +1427,17 @@ If @var{key} is @kbd{}, this sets the default binding in @var{keymap}. When an event has no binding of its own, the Emacs command loop uses the keymap's default binding, if there is one. +@findex keymap-unset +@defun keymap-unset keymap key &optional remove +This function is the inverse of @code{keymap-set}, it unsets the +binding for @var{key} in @var{keymap}, which is the same as setting +the binding to @code{nil}. In order to instead remove the binding +completely, specify @var{remove} as non-nil. This only makes a +difference if @var{keymap} has a parent keymap. When unsetting a key +in a child map, it will still shadow the same key in the parent +keymap. Removing the binding will allow the key in the parent keymap +to be used. + @cindex invalid prefix key error @cindex key sequence error Every prefix of @var{key} must be a prefix key (i.e., bound to a keymap)