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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 10 Dec 2022 15:07:20 +0200

> 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?

Thanks, I've changed the example to use get-char-property.