mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-21 21:07:57 +02:00
80 lines
1.9 KiB
Diff
80 lines
1.9 KiB
Diff
*** ../bash-3.0/lib/readline/vi_mode.c Tue Jul 13 14:08:27 2004
|
|
--- lib/readline/vi_mode.c Tue Aug 17 00:12:09 2004
|
|
***************
|
|
*** 273,280 ****
|
|
--- 273,282 ----
|
|
{
|
|
case '?':
|
|
+ _rl_free_saved_history_line ();
|
|
rl_noninc_forward_search (count, key);
|
|
break;
|
|
|
|
case '/':
|
|
+ _rl_free_saved_history_line ();
|
|
rl_noninc_reverse_search (count, key);
|
|
break;
|
|
***************
|
|
*** 691,695 ****
|
|
wchar_t wc;
|
|
char mb[MB_LEN_MAX+1];
|
|
! int mblen;
|
|
mbstate_t ps;
|
|
|
|
--- 693,697 ----
|
|
wchar_t wc;
|
|
char mb[MB_LEN_MAX+1];
|
|
! int mblen, p;
|
|
mbstate_t ps;
|
|
|
|
***************
|
|
*** 714,722 ****
|
|
if (wc)
|
|
{
|
|
mblen = wcrtomb (mb, wc, &ps);
|
|
if (mblen >= 0)
|
|
mb[mblen] = '\0';
|
|
rl_begin_undo_group ();
|
|
! rl_delete (1, 0);
|
|
rl_insert_text (mb);
|
|
rl_end_undo_group ();
|
|
--- 716,727 ----
|
|
if (wc)
|
|
{
|
|
+ p = rl_point;
|
|
mblen = wcrtomb (mb, wc, &ps);
|
|
if (mblen >= 0)
|
|
mb[mblen] = '\0';
|
|
rl_begin_undo_group ();
|
|
! rl_vi_delete (1, 0);
|
|
! if (rl_point < p) /* Did we retreat at EOL? */
|
|
! rl_point++; /* XXX - should we advance more than 1 for mbchar? */
|
|
rl_insert_text (mb);
|
|
rl_end_undo_group ();
|
|
***************
|
|
*** 1311,1320 ****
|
|
#if defined (HANDLE_MULTIBYTE)
|
|
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
|
! while (_rl_insert_char (1, c))
|
|
! {
|
|
! RL_SETSTATE (RL_STATE_MOREINPUT);
|
|
! c = rl_read_key ();
|
|
! RL_UNSETSTATE (RL_STATE_MOREINPUT);
|
|
! }
|
|
else
|
|
#endif
|
|
--- 1316,1329 ----
|
|
#if defined (HANDLE_MULTIBYTE)
|
|
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
|
! {
|
|
! if (rl_point < p) /* Did we retreat at EOL? */
|
|
! rl_point++;
|
|
! while (_rl_insert_char (1, c))
|
|
! {
|
|
! RL_SETSTATE (RL_STATE_MOREINPUT);
|
|
! c = rl_read_key ();
|
|
! RL_UNSETSTATE (RL_STATE_MOREINPUT);
|
|
! }
|
|
! }
|
|
else
|
|
#endif
|