]> git.pld-linux.org Git - packages/vim.git/blob - 7.0.067
- new
[packages/vim.git] / 7.0.067
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    ///
This page took 0.035798 seconds and 3 git commands to generate.