Subject: bug#32501: Bouncing parentheses broken in REPL with vi-mode enabled

From: Daniel Tam <[email-masked]>
Date: Fri, 24 Aug 2018 22:42:40 +1000

Hey Mark,

On 08/24/2018 04:09 PM, Mark H Weaver wrote:
> I wrote:
>
>>> The right fix might be to simply remove the 'if' check above.
>> Actually, it probably won't be that simple.  Whereas in emacs mode, we
>> can probably rely on these bindings being added to the correct keymap,
>> namely 'emacs_standard_keymap', when in vi mode it's likely that these
>> bindings would end up in the wrong keymap, namely 'vi_movement_keymap'.
>>
>> When in vi mode, these mappings should be added to
>> 'vi_insertion_keymap', and that probably involves using
>> 'rl_bind_key_in_map' instead of 'rl_bind_key'.
> And I guess 'rl_get_keymap_by_name' is the function we should use to get
> the keymap.  From keymaps.h in readline:
>
>   /* Return the keymap corresponding to a given name.  Names look like
>      `emacs' or `emacs-meta' or `vi-insert'.  */
>   extern Keymap rl_get_keymap_by_name PARAMS((const char *));
>
>       Mark
I'm excited to have a look but I have 0 knowledge of the code base (and
am just learning Scheme although that's probably not an issue in this
case whatsoever). Do you have any advice for specific
documentation/files (other than README and HACKING) that I should read
if I were to attempt this? As well as which branch to base my changes onto.

Daniel