]>
Commit | Line | Data |
---|---|---|
7ca5039e AG |
1 | To: vim-dev@vim.org |
2 | Subject: Patch 7.2.346 | |
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.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 -- Bram@Moolenaar.net -- 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 /// |