The character-search command accepts multibyte characters just fine, but
when reading input from a macro, multibyte characters are not processed
correctly. For example trying to invoke the macro defined with:

bind '"\C-f": "\C-]π"'

will fail to search and will instead type just the second byte of the
character (x80).

The following one-line patch fixes the behavior, but I'm not sure if this
the right place to do it.

--- a/lib/readline/input.c
+++ b/lib/readline/input.c
@@ -457,7 +457,7 @@ rl_read_key ()
     {
       /* If input is coming from a macro, then use that. */
       if (c = _rl_next_macro_key ())
-       return (c);
+       return ((unsigned char) c);

       /* If the user has an event function, then call it periodically. */
       if (rl_event_hook)

Reply via email to