Subject: bug#59886: Manual error in (elisp) Searching Keymaps regarding keymap char properties?

From: hokomo <[email-masked]>
Date: Wed, 07 Dec 2022 17:21:36 +0100

Hello,

The psuedo-Lisp code presented in the manual (elisp) Searching 
Keymaps says:

(if (get-text-property (point) 'local-map)
   (FIND-IN (get-char-property (point) 'local-map))
 (FIND-IN (current-local-map)))

Why does the condition use `get-text-property', but then the 
consequent uses `get-char-property'? Shouldn't they both be 
`get-char-property'? According to (elisp) Active Keymaps:

"If there is a 'local-map' /text or overlay/ property at point, 
that specifies the local keymap to use, in place of the buffer's 
default local keymap."

Am I missing something?

Additionally, perhaps the two paragraphs in (elisp) Active Keymaps 
that mention the `keymap` and the `local-map' property (search for 
"property") should be reworded slightly to emphasize that the 
search prefers the overlay property over the text property, since 
that's how `get-char-property' is documented to work. Maybe change 
the ordering of "text or overlay" to "overlay or text", along with 
an explicit emphasis?

hokomo