is a list of keymaps, only those keymaps are searched.
Usually it's best to use @code{overriding-local-map} as the expression
-for @var{keymap}. Then @code{where-is-internal} searches precisely the
-keymaps that are active. To search only the global map, pass
-@code{(keymap)} (an empty keymap) as @var{keymap}.
+for @var{keymap}. Then @code{where-is-internal} searches precisely
+the keymaps that are active. To search only the global map, pass the
+value @code{(keymap)} (an empty keymap) as @var{keymap}.
If @var{firstonly} is @code{non-ascii}, then the value is a single
vector representing the first key sequence found, rather than a list of
follow indirect keymap bindings. This makes it possible to search for
an indirect definition itself.
-If another command @var{other-command} is remapped to @var{command}
-(@pxref{Remapping Commands}), this function searches for the bindings
-of @var{other-command} and treats them as though they are also
-bindings for @var{command}. But if the @var{no-remap} argument is
-non-@code{nil}, this function instead includes the vector @code{[remap
-@var{other-command}]} in the list of possible key sequences, without
-searching for the bindings of @var{other-command}.
+The fifth argument, @var{no-remap}, determines how this function
+treats command remappings (@pxref{Remapping Commands}). There are two
+cases of interest:
-On the other hand, if @var{command} is remapped to another command,
-this function still returns the original bindings of @var{command},
-even though those keys would actually invoke the other command. To
-determine the remapping status of @var{command}, use the function
-@code{command-remapping} (@pxref{Remapping Commands}).
-
-@smallexample
-@group
-(where-is-internal 'describe-function)
- @result{} ([8 102] [f1 102] [help 102]
- [menu-bar help-menu describe describe-function])
-@end group
-@end smallexample
+@table @asis
+@item If a command @var{other-command} is remapped to @var{command}:
+If @var{no-remap} is @code{nil}, find the bindings for
+@var{other-command} and treat them as though they are also bindings
+for @var{command}. If @var{no-remap} is non-@code{nil}, include the
+vector @code{[remap @var{other-command}]} in the list of possible key
+sequences, instead of finding those bindings.
+
+@item If @var{command} is remapped to @var{other-command}:
+If @var{no-remap} is @code{nil}, return the bindings for
+@var{other-command} rather than @var{command}. If @var{no-remap} is
+non-@code{nil}, return the bindings for @var{command}, ignoring the
+fact that it is remapped.
+@end table
@end defun
@deffn Command describe-bindings &optional prefix buffer-or-name
to other keymaps or slots. This makes it possible to search for an
indirect definition itself.
-If another command OTHER-COMMAND is remapped to DEFINITION, search for
-the bindings of OTHER-COMMAND and include them in the returned list.
-But if optional 5th arg NO-REMAP is non-nil, just include the vector
-[remap OTHER-COMMAND] in the returned list, without searching for
-those other bindings.
-
-If DEFINITION is remapped to another command, this function still
-returns its bindings, even though those key sequences actually invoke
-the other command. Use `command-remapping' to find the remapping
-status of DEFINITION. */)
+The optional 5th arg NO-REMAP alters how command remapping is handled:
+
+- If another command OTHER-COMMAND is remapped to DEFINITION, normally
+ search for the bindings of OTHER-COMMAND and include them in the
+ returned list. But if NO-REMAP is non-nil, include the vector
+ [remap OTHER-COMMAND] in the returned list instead, without
+ searching for those other bindings.
+
+- If DEFINITION is remapped to OTHER-COMMAND, normally return the
+ bindings for OTHER-COMMAND. But if NO-REMAP is non-nil, return the
+ bindings for DEFINITION instead, ignoring its remapping. */)
(Lisp_Object definition, Lisp_Object keymap, Lisp_Object firstonly, Lisp_Object noindirect, Lisp_Object no_remap)
{
/* The keymaps in which to search. */