Hello, Can you please try the 'devel' branch?
There's a fix for this issue already in it: | commit 947f04912e4715e7a9df526cd99412bffa729368 | Author: Chet Ramey <chet.ra...@case.edu> | Date: Tue Jan 27 11:10:49 2015 -0500 | | commit bash-20150116 snapshot Here's the description of the fix: | lib/readline/isearch.c | - _rl_isearch_dispatch: if we are in a multibyte locale, make sure to use | _rl_find_prev_mbchar when trying to delete characters from the search | string, instead of just chopping off the previous byte. Fixes bug | reported by Kyrylo Shpytsya <kshpi...@gmail.com> This was reported earlier this year: http://lists.gnu.org/archive/html/bug-readline/2015-01/msg00017.html Or use this to patch: | dualbus@yaqui ...src/gnu/bash % git diff origin/master 947f04912e4715e7a9df526cd99412bffa729368 -- lib/readline/isearch.c | diff --git a/lib/readline/isearch.c b/lib/readline/isearch.c | index 6f6a7a6..d768560 100644 | --- a/lib/readline/isearch.c | +++ b/lib/readline/isearch.c | @@ -553,8 +553,16 @@ add_character: | do until we have a real isearch-undo. */ | if (cxt->search_string_index == 0) | rl_ding (); | - else | + else if (MB_CUR_MAX == 1 || rl_byte_oriented) | cxt->search_string[--cxt->search_string_index] = '\0'; | + else | + { | + wstart = _rl_find_prev_mbchar (cxt->search_string, cxt->search_string_index, MB_FIND_NONZERO); | + if (wstart >= 0) | + cxt->search_string[cxt->search_string_index = wstart] = '\0'; | + else | + rl_ding (); | + } | break; | | case -4: /* C-G, abort */ Greetings! -- Eduardo Bustamante https://dualbus.me/