Subject: bug#14797: 24.3.50; new, undocumented menu structure using VECTORS?

From: Eli Zaretskii <[email-masked]>
Date: Sat, 06 Aug 2016 17:42:50 +0300

> From: [email-masked]
> Date: Sat, 06 Aug 2016 09:09:50 -0400
> Cc: Stefan Monnier <[email-masked]>, [email-masked]
> 
> --- a/doc/lispref/keymaps.texi
> +++ b/doc/lispref/keymaps.texi
> @@ -199,6 +199,14 @@ Format of Keymaps
>  bindings.  A keymap with such a char-table is called a @dfn{full
>  keymap}.  Other keymaps are called @dfn{sparse keymaps}.
>  
> +@item @var{vector}
> +This kind of element is similar to a char-table: element @var{n} is
> +the binding for the character with code @var{n}.  Since the range of
> +characters that can be bound this way is limited by the vector size,
> +and vector creation allocates space for all character codes from 0 up,
> +this format should not be used except for creating menu keymaps
> +(@pxref{Menu Keymaps}), where the bindings themselves don't matter.
> +
>  @item @var{string}
>  @cindex keymap prompt string
>  @cindex overall prompt string

LGTM, except that "the character with code N" could use some better
wording.  How about

  ... element whose index is @var{c} is the binding for the character
  @var{c}.

instead?