bash30-009 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. *** bash-3.0/lib/readline/vi_mode.c Tue Jul 13 14:08:27 2004
  2. --- bash/lib/readline/vi_mode.c Tue Aug 17 00:12:09 2004
  3. ***************
  4. *** 691,695 ****
  5. wchar_t wc;
  6. char mb[MB_LEN_MAX+1];
  7. ! int mblen;
  8. mbstate_t ps;
  9. --- 693,697 ----
  10. wchar_t wc;
  11. char mb[MB_LEN_MAX+1];
  12. ! int mblen, p;
  13. mbstate_t ps;
  14. ***************
  15. *** 714,722 ****
  16. if (wc)
  17. {
  18. mblen = wcrtomb (mb, wc, &ps);
  19. if (mblen >= 0)
  20. mb[mblen] = '\0';
  21. rl_begin_undo_group ();
  22. ! rl_delete (1, 0);
  23. rl_insert_text (mb);
  24. rl_end_undo_group ();
  25. --- 716,727 ----
  26. if (wc)
  27. {
  28. + p = rl_point;
  29. mblen = wcrtomb (mb, wc, &ps);
  30. if (mblen >= 0)
  31. mb[mblen] = '\0';
  32. rl_begin_undo_group ();
  33. ! rl_vi_delete (1, 0);
  34. ! if (rl_point < p) /* Did we retreat at EOL? */
  35. ! rl_point++; /* XXX - should we advance more than 1 for mbchar? */
  36. rl_insert_text (mb);
  37. rl_end_undo_group ();
  38. ***************
  39. *** 1311,1320 ****
  40. #if defined (HANDLE_MULTIBYTE)
  41. if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
  42. ! while (_rl_insert_char (1, c))
  43. ! {
  44. ! RL_SETSTATE (RL_STATE_MOREINPUT);
  45. ! c = rl_read_key ();
  46. ! RL_UNSETSTATE (RL_STATE_MOREINPUT);
  47. ! }
  48. else
  49. #endif
  50. --- 1316,1329 ----
  51. #if defined (HANDLE_MULTIBYTE)
  52. if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
  53. ! {
  54. ! if (rl_point < p) /* Did we retreat at EOL? */
  55. ! rl_point++;
  56. ! while (_rl_insert_char (1, c))
  57. ! {
  58. ! RL_SETSTATE (RL_STATE_MOREINPUT);
  59. ! c = rl_read_key ();
  60. ! RL_UNSETSTATE (RL_STATE_MOREINPUT);
  61. ! }
  62. ! }
  63. else
  64. #endif
  65. *** bash-3.0/patchlevel.h Wed Aug 22 08:05:39 2001
  66. --- bash/patchlevel.h Thu Sep 2 15:04:32 2004
  67. ***************
  68. *** 26,30 ****
  69. looks for to find the patch level (for the sccs version string). */
  70. ! #define PATCHLEVEL 8
  71. #endif /* _PATCHLEVEL_H_ */
  72. --- 26,30 ----
  73. looks for to find the patch level (for the sccs version string). */
  74. ! #define PATCHLEVEL 9
  75. #endif /* _PATCHLEVEL_H_ */