]> git.pld-linux.org Git - packages/vim.git/blob - 7.3.020
- new
[packages/vim.git] / 7.3.020
1 To: vim-dev@vim.org
2 Subject: Patch 7.3.020
3 Fcc: outbox
4 From: Bram Moolenaar <Bram@moolenaar.net>
5 Mime-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8 ------------
9
10 Patch 7.3.020
11 Problem:    Cursor position wrong when joining multiple lines and
12             'formatoptions' contains "a". (Moshe Kamensky)
13 Solution:   Adjust cursor position for skipped indent. (Carlo Teubner)
14 Files:      src/ops.c, src/testdir/test68.in, src/testdir/test68.ok
15
16
17 *** ../vim-7.3.019/src/ops.c    2010-08-15 21:57:28.000000000 +0200
18 --- src/ops.c   2010-10-09 17:00:35.000000000 +0200
19 ***************
20 *** 4153,4161 ****
21       int           save_undo;
22   {
23       char_u    *curr = NULL;
24       char_u    *cend;
25       char_u    *newp;
26 !     char_u    *spaces;        /* number of spaces inserte before a line */
27       int               endcurr1 = NUL;
28       int               endcurr2 = NUL;
29       int               currsize = 0;   /* size of the current line */
30 --- 4153,4162 ----
31       int           save_undo;
32   {
33       char_u    *curr = NULL;
34 +     char_u      *curr_start = NULL;
35       char_u    *cend;
36       char_u    *newp;
37 !     char_u    *spaces;        /* number of spaces inserted before a line */
38       int               endcurr1 = NUL;
39       int               endcurr2 = NUL;
40       int               currsize = 0;   /* size of the current line */
41 ***************
42 *** 4181,4187 ****
43        */
44       for (t = 0; t < count; ++t)
45       {
46 !       curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
47         if (insert_space && t > 0)
48         {
49             curr = skipwhite(curr);
50 --- 4182,4188 ----
51        */
52       for (t = 0; t < count; ++t)
53       {
54 !       curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
55         if (insert_space && t > 0)
56         {
57             curr = skipwhite(curr);
58 ***************
59 *** 4265,4274 ****
60             copy_spaces(cend, (size_t)(spaces[t]));
61         }
62         mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
63 !                                (long)(cend - newp + spaces[t]));
64         if (t == 0)
65             break;
66 !       curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
67         if (insert_space && t > 1)
68             curr = skipwhite(curr);
69         currsize = (int)STRLEN(curr);
70 --- 4266,4275 ----
71             copy_spaces(cend, (size_t)(spaces[t]));
72         }
73         mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
74 !                        (long)(cend - newp + spaces[t] - (curr - curr_start)));
75         if (t == 0)
76             break;
77 !       curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
78         if (insert_space && t > 1)
79             curr = skipwhite(curr);
80         currsize = (int)STRLEN(curr);
81 *** ../vim-7.3.019/src/testdir/test68.in        2010-08-15 21:57:29.000000000 +0200
82 --- src/testdir/test68.in       2010-10-09 16:53:02.000000000 +0200
83 ***************
84 *** 51,56 ****
85 --- 51,67 ----
86   }
87   
88   STARTTEST
89 + /^{/+2
90 + :set tw& fo=a
91 + I^^\e
92 + ENDTEST
93
94 + {
95 +    1aa
96 +    2bb
97 + }
98
99 + STARTTEST
100   :g/^STARTTEST/.,/^ENDTEST/d
101   :1;/^Results/,$wq! test.out
102   ENDTEST
103 *** ../vim-7.3.019/src/testdir/test68.ok        2010-08-15 21:57:29.000000000 +0200
104 --- src/testdir/test68.ok       2010-10-09 16:53:02.000000000 +0200
105 ***************
106 *** 33,35 ****
107 --- 33,38 ----
108   #a b
109   }
110   
111
112 + { 1aa ^^2bb }
113
114 *** ../vim-7.3.019/src/version.c        2010-09-30 21:03:13.000000000 +0200
115 --- src/version.c       2010-10-09 17:05:31.000000000 +0200
116 ***************
117 *** 716,717 ****
118 --- 716,719 ----
119   {   /* Add new patch number below this line */
120 + /**/
121 +     20,
122   /**/
123
124 -- 
125 Did you hear about the new 3 million dollar West Virginia State Lottery?
126 The winner gets 3 dollars a year for a million years.
127
128  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
129 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
130 \\\        download, build and distribute -- http://www.A-A-P.org        ///
131  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.032474 seconds and 3 git commands to generate.