home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 7.0 / 7.0.067 < prev    next >
Encoding:
Internet Message Format  |  2006-08-28  |  3.0 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 7.0.067
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=ISO-8859-1
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 7.0.067
  11. Problem:    Undo doesn't always work properly when using "scim" input method.
  12.         Undo is split up when using preediting.
  13. Solution:   Reset xim_has_preediting also when preedit_start_col is not
  14.         MAXCOL.  Don't split undo when <Left> is used while preediting.
  15.         (Yukihiro Nakadaira)
  16. Files:        src/edit.c, src/mbyte.c
  17.  
  18.  
  19. *** ../vim-7.0.066/src/edit.c    Tue Aug 22 19:58:22 2006
  20. --- src/edit.c    Tue Aug 29 14:57:46 2006
  21. ***************
  22. *** 8597,8603 ****
  23.       tpos = curwin->w_cursor;
  24.       if (oneleft() == OK)
  25.       {
  26. !     start_arrow(&tpos);
  27.   #ifdef FEAT_RIGHTLEFT
  28.       /* If exit reversed string, position is fixed */
  29.       if (revins_scol != -1 && (int)curwin->w_cursor.col >= revins_scol)
  30. --- 8597,8608 ----
  31.       tpos = curwin->w_cursor;
  32.       if (oneleft() == OK)
  33.       {
  34. ! #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
  35. !     /* Only call start_arrow() when not busy with preediting, it will
  36. !      * break undo.  K_LEFT is inserted in im_correct_cursor(). */
  37. !     if (!im_is_preediting())
  38. ! #endif
  39. !         start_arrow(&tpos);
  40.   #ifdef FEAT_RIGHTLEFT
  41.       /* If exit reversed string, position is fixed */
  42.       if (revins_scol != -1 && (int)curwin->w_cursor.col >= revins_scol)
  43. *** ../vim-7.0.066/src/mbyte.c    Wed Aug 16 18:05:36 2006
  44. --- src/mbyte.c    Tue Aug 29 14:41:45 2006
  45. ***************
  46. *** 3514,3519 ****
  47. --- 3514,3524 ----
  48.       add_to_input_buf(delkey, (int)sizeof(delkey));
  49.   }
  50.   
  51. + /*
  52. +  * Move the cursor left by "num_move_back" characters.
  53. +  * Note that ins_left() checks im_is_preediting() to avoid breaking undo for
  54. +  * these K_LEFT keys.
  55. +  */
  56.       static void
  57.   im_correct_cursor(int num_move_back)
  58.   {
  59. ***************
  60. *** 3741,3748 ****
  61.       }
  62.       else if (cursor_index == 0 && preedit_string[0] == '\0')
  63.       {
  64. !     if (preedit_start_col == MAXCOL)
  65. !         xim_has_preediting = FALSE;
  66.   
  67.       /* If at the start position (after typing backspace)
  68.        * preedit_start_col must be reset. */
  69. --- 3746,3752 ----
  70.       }
  71.       else if (cursor_index == 0 && preedit_string[0] == '\0')
  72.       {
  73. !     xim_has_preediting = FALSE;
  74.   
  75.       /* If at the start position (after typing backspace)
  76.        * preedit_start_col must be reset. */
  77. *** ../vim-7.0.066/src/version.c    Tue Aug 22 21:51:18 2006
  78. --- src/version.c    Tue Aug 29 16:09:35 2006
  79. ***************
  80. *** 668,669 ****
  81. --- 668,671 ----
  82.   {   /* Add new patch number below this line */
  83. + /**/
  84. +     67,
  85.   /**/
  86.  
  87. -- 
  88. hundred-and-one symptoms of being an internet addict:
  89. 265. Your reason for not staying in touch with family is that
  90.      they do not have e-mail addresses.
  91.  
  92.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  93. ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  94. \\\        download, build and distribute -- http://www.A-A-P.org        ///
  95.  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
  96.