|
1 To: [email protected] |
|
2 Subject: Patch 7.2.346 |
|
3 Fcc: outbox |
|
4 From: Bram Moolenaar <[email protected]> |
|
5 Mime-Version: 1.0 |
|
6 Content-Type: text/plain; charset=UTF-8 |
|
7 Content-Transfer-Encoding: 8bit |
|
8 ------------ |
|
9 |
|
10 Patch 7.2.346 |
|
11 Problem: Repeating a command with @: causes a mapping to be applied twice. |
|
12 Solution: Do not remap characters inserted in the typeahead buffer. (Kana |
|
13 Natsuno) |
|
14 Files: src/ops.c |
|
15 |
|
16 |
|
17 *** ../vim-7.2.345/src/ops.c 2010-01-19 14:59:14.000000000 +0100 |
|
18 --- src/ops.c 2010-01-19 13:04:46.000000000 +0100 |
|
19 *************** |
|
20 *** 1301,1310 **** |
|
21 } |
|
22 } |
|
23 |
|
24 static int |
|
25 put_in_typebuf(s, esc, colon, silent) |
|
26 char_u *s; |
|
27 ! int esc; /* Escape CSI characters */ |
|
28 int colon; /* add ':' before the line */ |
|
29 int silent; |
|
30 { |
|
31 --- 1301,1316 ---- |
|
32 } |
|
33 } |
|
34 |
|
35 + /* |
|
36 + * Insert register contents "s" into the typeahead buffer, so that it will be |
|
37 + * executed again. |
|
38 + * When "esc" is TRUE it is to be taken literally: Escape CSI characters and |
|
39 + * no remapping. |
|
40 + */ |
|
41 static int |
|
42 put_in_typebuf(s, esc, colon, silent) |
|
43 char_u *s; |
|
44 ! int esc; |
|
45 int colon; /* add ':' before the line */ |
|
46 int silent; |
|
47 { |
|
48 *************** |
|
49 *** 1312,1318 **** |
|
50 |
|
51 put_reedit_in_typebuf(silent); |
|
52 if (colon) |
|
53 ! retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent); |
|
54 if (retval == OK) |
|
55 { |
|
56 char_u *p; |
|
57 --- 1318,1324 ---- |
|
58 |
|
59 put_reedit_in_typebuf(silent); |
|
60 if (colon) |
|
61 ! retval = ins_typebuf((char_u *)"\n", REMAP_NONE, 0, TRUE, silent); |
|
62 if (retval == OK) |
|
63 { |
|
64 char_u *p; |
|
65 *************** |
|
66 *** 1324,1335 **** |
|
67 if (p == NULL) |
|
68 retval = FAIL; |
|
69 else |
|
70 ! retval = ins_typebuf(p, REMAP_YES, 0, TRUE, silent); |
|
71 if (esc) |
|
72 vim_free(p); |
|
73 } |
|
74 if (colon && retval == OK) |
|
75 ! retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent); |
|
76 return retval; |
|
77 } |
|
78 |
|
79 --- 1330,1342 ---- |
|
80 if (p == NULL) |
|
81 retval = FAIL; |
|
82 else |
|
83 ! retval = ins_typebuf(p, esc ? REMAP_NONE : REMAP_YES, |
|
84 ! 0, TRUE, silent); |
|
85 if (esc) |
|
86 vim_free(p); |
|
87 } |
|
88 if (colon && retval == OK) |
|
89 ! retval = ins_typebuf((char_u *)":", REMAP_NONE, 0, TRUE, silent); |
|
90 return retval; |
|
91 } |
|
92 |
|
93 *** ../vim-7.2.345/src/version.c 2010-01-27 15:57:17.000000000 +0100 |
|
94 --- src/version.c 2010-01-27 16:25:55.000000000 +0100 |
|
95 *************** |
|
96 *** 683,684 **** |
|
97 --- 683,686 ---- |
|
98 { /* Add new patch number below this line */ |
|
99 + /**/ |
|
100 + 346, |
|
101 /**/ |
|
102 |
|
103 -- |
|
104 hundred-and-one symptoms of being an internet addict: |
|
105 155. You forget to eat because you're too busy surfing the net. |
|
106 |
|
107 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ |
|
108 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
|
109 \\\ download, build and distribute -- http://www.A-A-P.org /// |
|
110 \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |