Compare commits

...
Sign in to create a new pull request.

207 commits

Author SHA1 Message Date
Karsten Hopp
3ed9790342 drop opsolete patches
update to patchlevel 206
2011-06-07 11:45:58 +02:00
Karsten Hopp
14908b588c Patchlevel 205 2011-06-07 11:44:17 +02:00
Karsten Hopp
d80763bff4 Patchlevel 204 2011-06-07 11:44:17 +02:00
Karsten Hopp
6c4a9f008a Patchlevel 203 2011-06-07 11:44:17 +02:00
Karsten Hopp
3b552b01c3 Patchlevel 202 2011-06-07 11:44:17 +02:00
Karsten Hopp
ace2dcc32b Patchlevel 201 2011-06-07 11:44:17 +02:00
Karsten Hopp
a6915916af Patchlevel 200 2011-06-07 11:44:17 +02:00
Karsten Hopp
bc8ae9c166 Patchlevel 199 2011-06-07 11:44:17 +02:00
Karsten Hopp
c8dfdac0a5 Patchlevel 198 2011-06-07 11:44:17 +02:00
Karsten Hopp
800059e7f9 Patchlevel 197 2011-06-07 11:44:17 +02:00
Karsten Hopp
b959a2d709 Patchlevel 196 2011-06-07 11:44:17 +02:00
Karsten Hopp
b40f31760f Patchlevel 195 2011-06-07 11:44:17 +02:00
Karsten Hopp
131b8d611d Patchlevel 194 2011-06-07 11:44:17 +02:00
Karsten Hopp
2d0b081c52 Patchlevel 193 2011-06-07 11:44:17 +02:00
Karsten Hopp
d996f19d38 Patchlevel 192 2011-06-07 11:44:17 +02:00
Karsten Hopp
162facd953 Patchlevel 191 2011-06-07 11:44:17 +02:00
Karsten Hopp
1b0b621b81 Patchlevel 190 2011-06-07 11:44:17 +02:00
Karsten Hopp
700c2575c8 Patchlevel 189 2011-06-07 11:44:17 +02:00
Karsten Hopp
18132dbd73 Patchlevel 188 2011-06-07 11:44:17 +02:00
Karsten Hopp
f31852187f Patchlevel 187 2011-06-07 11:44:17 +02:00
Karsten Hopp
a183ffaea5 Patchlevel 186 2011-06-07 11:44:17 +02:00
Karsten Hopp
d7fc38a4b3 Patchlevel 185 2011-06-07 11:44:17 +02:00
Karsten Hopp
6004513be6 Patchlevel 184 2011-06-07 11:44:17 +02:00
Karsten Hopp
df22a5c56d Patchlevel 183 2011-06-07 11:44:17 +02:00
Karsten Hopp
c05932627e Patchlevel 182 2011-06-07 11:44:17 +02:00
Karsten Hopp
7dee8a7379 Patchlevel 181 2011-06-07 11:44:17 +02:00
Karsten Hopp
cc40d62373 Patchlevel 180 2011-06-07 11:44:17 +02:00
Karsten Hopp
5eb1d2f876 Patchlevel 179 2011-06-07 11:44:17 +02:00
Karsten Hopp
b5dc58016c Patchlevel 178 2011-06-07 11:44:17 +02:00
Karsten Hopp
a724e590ed Patchlevel 177 2011-06-07 11:44:17 +02:00
Karsten Hopp
2d8d72813a Patchlevel 176 2011-06-07 11:44:17 +02:00
Karsten Hopp
7d2766faf7 Patchlevel 175 2011-06-07 11:44:17 +02:00
Karsten Hopp
7597e926f1 Patchlevel 174 2011-06-07 11:44:17 +02:00
Karsten Hopp
ea559b433c Patchlevel 173 2011-06-07 11:44:17 +02:00
Karsten Hopp
969e9e8e76 Patchlevel 172 2011-06-07 11:44:17 +02:00
Karsten Hopp
ed64b5a572 Patchlevel 171 2011-06-07 11:44:17 +02:00
Karsten Hopp
2d54d072cf Patchlevel 170 2011-06-07 11:44:17 +02:00
Karsten Hopp
6a878e0a66 Patchlevel 169 2011-06-07 11:44:17 +02:00
Karsten Hopp
4db2164a3a Patchlevel 168 2011-06-07 11:44:17 +02:00
Karsten Hopp
c93e4e1a3a Patchlevel 167 2011-06-07 11:44:17 +02:00
Karsten Hopp
5a2c4962b0 Patchlevel 166 2011-06-07 11:44:17 +02:00
Karsten Hopp
2306058a73 Patchlevel 165 2011-06-07 11:44:17 +02:00
Karsten Hopp
5a31509dd0 Patchlevel 164 2011-06-07 11:44:17 +02:00
Karsten Hopp
f03b4c7234 Patchlevel 163 2011-06-07 11:44:17 +02:00
Karsten Hopp
ae21e3adb9 Patchlevel 162 2011-06-07 11:44:17 +02:00
Karsten Hopp
266bc257d3 Patchlevel 161 2011-06-07 11:44:17 +02:00
Karsten Hopp
70040e2426 Patchlevel 160 2011-06-07 11:44:17 +02:00
Karsten Hopp
a73bac5cdf Patchlevel 159 2011-06-07 11:44:17 +02:00
Karsten Hopp
ef8be35ad6 Patchlevel 158 2011-06-07 11:44:17 +02:00
Karsten Hopp
25f58c3ba7 Patchlevel 157 2011-06-07 11:44:17 +02:00
Karsten Hopp
5d1bb0707a Patchlevel 156 2011-06-07 11:44:17 +02:00
Karsten Hopp
dff5b23db4 Patchlevel 155 2011-06-07 11:44:17 +02:00
Karsten Hopp
ad34591a4e Patchlevel 154 2011-06-07 11:44:17 +02:00
Karsten Hopp
62cd1a5608 Patchlevel 153 2011-06-07 11:44:17 +02:00
Karsten Hopp
8555db133d Patchlevel 152 2011-06-07 11:44:17 +02:00
Karsten Hopp
500cf6bde3 Patchlevel 151 2011-06-07 11:44:17 +02:00
Karsten Hopp
cc49630394 Patchlevel 150 2011-06-07 11:44:17 +02:00
Karsten Hopp
e60d44f895 Patchlevel 149 2011-06-07 11:44:17 +02:00
Karsten Hopp
657f608fd8 Patchlevel 148 2011-06-07 11:44:17 +02:00
Karsten Hopp
e1950acda4 Patchlevel 147 2011-06-07 11:44:17 +02:00
Karsten Hopp
af68e8a2c6 Patchlevel 146 2011-06-07 11:44:17 +02:00
Karsten Hopp
ed7c160706 Patchlevel 145 2011-06-07 11:44:17 +02:00
Karsten Hopp
18d2d56e86 Patchlevel 144 2011-06-07 11:44:17 +02:00
Karsten Hopp
9cbfb8a171 Patchlevel 143 2011-06-07 11:44:17 +02:00
Karsten Hopp
99c35b4a58 Patchlevel 142 2011-06-07 11:44:17 +02:00
Karsten Hopp
4096a471ef Patchlevel 141 2011-06-07 11:44:17 +02:00
Karsten Hopp
8604a4c031 Patchlevel 140 2011-06-07 11:44:17 +02:00
Karsten Hopp
d46de11094 Patchlevel 139 2011-06-07 11:44:17 +02:00
Karsten Hopp
11c8e0eead Patchlevel 138 2011-06-07 11:44:17 +02:00
Karsten Hopp
ee42d7cc46 Patchlevel 137 2011-06-07 11:44:17 +02:00
Karsten Hopp
1ab4c20b34 Patchlevel 136 2011-06-07 11:44:17 +02:00
Karsten Hopp
4c8a4677e2 Patchlevel 135 2011-06-07 11:44:17 +02:00
Karsten Hopp
ae570c2491 Patchlevel 134 2011-06-07 11:44:17 +02:00
Karsten Hopp
250891f647 Patchlevel 133 2011-06-07 11:44:17 +02:00
Karsten Hopp
5a6bd036d5 Patchlevel 132 2011-06-07 11:44:17 +02:00
Karsten Hopp
630a836519 Patchlevel 131 2011-06-07 11:44:17 +02:00
Karsten Hopp
e3361df88f Patchlevel 130 2011-06-07 11:44:17 +02:00
Karsten Hopp
1947e7c9ae Patchlevel 129 2011-06-07 11:44:17 +02:00
Karsten Hopp
b88897f63c Patchlevel 128 2011-06-07 11:44:17 +02:00
Karsten Hopp
8b72aa594a Patchlevel 127 2011-06-07 11:44:17 +02:00
Karsten Hopp
848e4ace7d Patchlevel 126 2011-06-07 11:44:17 +02:00
Karsten Hopp
5ed4bea166 Patchlevel 125 2011-06-07 11:44:17 +02:00
Karsten Hopp
146e0d489e Patchlevel 124 2011-06-07 11:44:17 +02:00
Karsten Hopp
383147ba40 Patchlevel 123 2011-06-07 11:44:17 +02:00
Karsten Hopp
ef6a737a1a Patchlevel 122 2011-06-07 11:44:17 +02:00
Karsten Hopp
e2a9aa3c4d Patchlevel 121 2011-06-07 11:44:17 +02:00
Karsten Hopp
67b55d9ff4 Patchlevel 120 2011-06-07 11:44:17 +02:00
Karsten Hopp
f7add040f8 Patchlevel 119 2011-06-07 11:44:17 +02:00
Karsten Hopp
f8aa1bdce9 Patchlevel 118 2011-06-07 11:44:17 +02:00
Karsten Hopp
bc132c8de0 Patchlevel 117 2011-06-07 11:44:17 +02:00
Karsten Hopp
cbfeff34d7 Patchlevel 116 2011-06-07 11:44:17 +02:00
Karsten Hopp
993ea3acb6 Patchlevel 115 2011-06-07 11:44:17 +02:00
Karsten Hopp
b686a0952b Patchlevel 114 2011-06-07 11:44:17 +02:00
Karsten Hopp
80e7f717a2 Patchlevel 113 2011-06-07 11:44:17 +02:00
Karsten Hopp
06bd8ca392 Patchlevel 112 2011-06-07 11:44:17 +02:00
Karsten Hopp
e9d74f9ab2 Patchlevel 111 2011-06-07 11:44:17 +02:00
Karsten Hopp
f46c53609d Patchlevel 110 2011-06-07 11:44:17 +02:00
Karsten Hopp
7b8ba3d67b Patchlevel 109 2011-06-07 11:44:17 +02:00
Karsten Hopp
5696d26a2e Patchlevel 108 2011-06-07 11:44:17 +02:00
Karsten Hopp
410cb993ae Patchlevel 107 2011-06-07 11:44:17 +02:00
Karsten Hopp
e423a19bd0 Patchlevel 106 2011-06-07 11:44:17 +02:00
Karsten Hopp
a0674e8cdc Patchlevel 105 2011-06-07 11:44:17 +02:00
Karsten Hopp
46a198374b Patchlevel 104 2011-06-07 11:44:17 +02:00
Karsten Hopp
f21795f48e Patchlevel 103 2011-06-07 11:44:17 +02:00
Karsten Hopp
adcb8af315 Patchlevel 102 2011-06-07 11:44:17 +02:00
Karsten Hopp
08e61e2e66 Patchlevel 101 2011-06-07 11:44:16 +02:00
Karsten Hopp
2451f23ca2 Patchlevel 100 2011-06-07 11:44:16 +02:00
Karsten Hopp
feb24050db Patchlevel 099 2011-06-07 11:44:16 +02:00
Karsten Hopp
08b2fd2336 Patchlevel 098 2011-06-07 11:44:16 +02:00
Karsten Hopp
0a122640f1 Patchlevel 097 2011-06-07 11:44:16 +02:00
Karsten Hopp
821107e026 Patchlevel 096 2011-06-07 11:44:16 +02:00
Karsten Hopp
69050df79b Patchlevel 095 2011-06-07 11:44:16 +02:00
Karsten Hopp
bfc13c634e Patchlevel 094 2011-06-07 11:44:16 +02:00
Karsten Hopp
de8edfc823 Patchlevel 093 2011-06-07 11:44:16 +02:00
Karsten Hopp
d96b88ed45 Patchlevel 092 2011-06-07 11:44:16 +02:00
Karsten Hopp
d6850c501e Patchlevel 091 2011-06-07 11:44:16 +02:00
Karsten Hopp
e6d0b39e09 Patchlevel 090 2011-06-07 11:44:16 +02:00
Karsten Hopp
bf306a5a25 Patchlevel 089 2011-06-07 11:44:16 +02:00
Karsten Hopp
4314607d16 Patchlevel 088 2011-06-07 11:44:16 +02:00
Karsten Hopp
48f656a886 Patchlevel 087 2011-06-07 11:44:16 +02:00
Karsten Hopp
0bfd6391c1 Patchlevel 086 2011-06-07 11:44:16 +02:00
Karsten Hopp
44c4da0ee4 Patchlevel 085 2011-06-07 11:44:16 +02:00
Karsten Hopp
affb91eb7f Patchlevel 084 2011-06-07 11:44:16 +02:00
Karsten Hopp
4c02e4cc5c Patchlevel 083 2011-06-07 11:44:16 +02:00
Karsten Hopp
571c3e6963 Patchlevel 082 2011-06-07 11:44:16 +02:00
Karsten Hopp
eaae164583 Patchlevel 081 2011-06-07 11:44:16 +02:00
Karsten Hopp
f7e795f635 Patchlevel 080 2011-06-07 11:44:16 +02:00
Karsten Hopp
bdb58c8166 Patchlevel 079 2011-06-07 11:44:16 +02:00
Karsten Hopp
08cb9621b0 Patchlevel 078 2011-06-07 11:44:16 +02:00
Karsten Hopp
e0d4ba564d Patchlevel 077 2011-06-07 11:44:16 +02:00
Karsten Hopp
2528c53220 Patchlevel 076 2011-06-07 11:44:16 +02:00
Karsten Hopp
8edf96134b Patchlevel 075 2011-06-07 11:44:16 +02:00
Karsten Hopp
6444359cf8 Patchlevel 074 2011-06-07 11:44:16 +02:00
Karsten Hopp
c0991f0cc5 Patchlevel 073 2011-06-07 11:44:16 +02:00
Karsten Hopp
dac4c712c0 Patchlevel 072 2011-06-07 11:44:16 +02:00
Karsten Hopp
a356313cb4 Patchlevel 071 2011-06-07 11:44:16 +02:00
Karsten Hopp
8f7a50539c Patchlevel 070 2011-06-07 11:44:16 +02:00
Karsten Hopp
cbaf2f542d Patchlevel 069 2011-06-07 11:44:16 +02:00
Karsten Hopp
2ecfd68c92 Patchlevel 068 2011-06-07 11:44:16 +02:00
Karsten Hopp
e95c32b208 Patchlevel 067 2011-06-07 11:44:16 +02:00
Karsten Hopp
f0bda03f97 Patchlevel 066 2011-06-07 11:44:16 +02:00
Karsten Hopp
659d752e21 Patchlevel 065 2011-06-07 11:44:16 +02:00
Karsten Hopp
1d7b79be83 Patchlevel 064 2011-06-07 11:44:16 +02:00
Karsten Hopp
d59bb209d2 Patchlevel 063 2011-06-07 11:44:16 +02:00
Karsten Hopp
a9e00675ac Patchlevel 062 2011-06-07 11:44:16 +02:00
Karsten Hopp
552ed2b5a7 Patchlevel 061 2011-06-07 11:44:16 +02:00
Karsten Hopp
4d80333143 Patchlevel 060 2011-06-07 11:44:16 +02:00
Karsten Hopp
95c4782434 Patchlevel 059 2011-06-07 11:44:16 +02:00
Karsten Hopp
89d807edda Patchlevel 058 2011-06-07 11:44:16 +02:00
Karsten Hopp
14af445816 Patchlevel 057 2011-06-07 11:44:16 +02:00
Karsten Hopp
25cb99877b Patchlevel 056 2011-06-07 11:44:16 +02:00
Karsten Hopp
d702a862d9 Merge branch 'master' into f13
* master: (174 commits)
  - patchlevel 55
  - patchlevel 055
  - patchlevel 054
  - patchlevel 053
  - patchlevel 052
  - patchlevel 51
  - patchlevel 051
  - patchlevel 50
  - patchlevel 050
  - patchlevel 049
  - patchlevel 48
  - patchlevel 048
  - patchlevel 47
  - patchlevel 047
  - patchlevel 46
  - patchlevel 046
  - patchlevel 045
  - patchlevel 044
  - patchlevel 043
  - patchlevel 042
  ...

Conflicts:
	README.patches
	vim-update.sh
	vim.spec
2010-11-11 15:43:21 +01:00
Fedora Release Engineering
8bc8e57e4e dist-git conversion 2010-07-29 15:00:27 +00:00
Karsten Hopp
3a0ef340f3 - fix rvim manpage (#583180) 2010-04-20 10:17:57 +00:00
Karsten Hopp
65ea48d181 - patchlevel 411 2010-03-25 23:16:54 +00:00
Karsten Hopp
6832ccdb35 - patchlevel 410 2010-03-25 23:16:32 +00:00
Karsten Hopp
cb96e0f18b - patchlevel 409 2010-03-25 23:16:19 +00:00
Karsten Hopp
631def1581 - patchlevel 408 2010-03-25 23:16:06 +00:00
Karsten Hopp
fbfa3e8990 - patchlevel 407 2010-03-25 23:15:53 +00:00
Karsten Hopp
a559a2ca5a - patchlevel 406 2010-03-25 23:15:41 +00:00
Karsten Hopp
bafe393ea7 - patchlevel 405 2010-03-25 23:15:28 +00:00
Karsten Hopp
61ab6aa843 - patchlevel 404 2010-03-25 23:15:16 +00:00
Karsten Hopp
ee68449e17 - patchlevel 403 2010-03-25 23:15:02 +00:00
Karsten Hopp
556859e0e3 - patchlevel 402 2010-03-25 23:14:49 +00:00
Karsten Hopp
87691c4421 - patchlevel 401 2010-03-25 23:14:36 +00:00
Karsten Hopp
266939bb29 - patchlevel 400 2010-03-25 23:14:23 +00:00
Karsten Hopp
eed495cca2 - patchlevel 399 2010-03-25 23:14:09 +00:00
Karsten Hopp
a91b517a59 - patchlevel 398 2010-03-25 23:13:55 +00:00
Karsten Hopp
5b6120ca93 - patchlevel 397 2010-03-25 23:13:42 +00:00
Karsten Hopp
bc78b41b39 - patchlevel 396 2010-03-25 23:13:28 +00:00
Karsten Hopp
712a65387a - patchlevel 395 2010-03-25 23:13:15 +00:00
Karsten Hopp
57a5f64f3c - patchlevel 394 2010-03-25 23:13:03 +00:00
Karsten Hopp
e769f1b2e8 - patchlevel 393 2010-03-25 23:12:50 +00:00
Karsten Hopp
90b7d6d9ab - patchlevel 392 2010-03-25 23:12:37 +00:00
Karsten Hopp
2da1221fd8 - patchlevel 391 2010-03-25 23:12:24 +00:00
Karsten Hopp
9404b7f2af - patchlevel 390 2010-03-25 23:12:11 +00:00
Karsten Hopp
0be68c2c3f - patchlevel 389 2010-03-25 23:11:57 +00:00
Karsten Hopp
bd03dfbeec - patchlevel 388 2010-03-25 23:11:44 +00:00
Karsten Hopp
84f32794b6 - patchlevel 387 2010-03-25 23:11:31 +00:00
Karsten Hopp
0d12ac6fc8 - patchlevel 386 2010-03-25 23:11:18 +00:00
Karsten Hopp
e2323cf130 - patchlevel 385 2010-03-25 23:11:04 +00:00
Karsten Hopp
cef82b9973 - patchlevel 384 2010-03-25 23:10:51 +00:00
Karsten Hopp
764b34ea67 - patchlevel 383 2010-03-25 23:10:38 +00:00
Karsten Hopp
0e9b129630 - patchlevel 382 2010-03-25 23:10:25 +00:00
Karsten Hopp
17ea7f0cc4 - patchlevel 381 2010-03-25 23:10:12 +00:00
Karsten Hopp
d9d360a4e0 - patchlevel 380 2010-03-25 23:09:58 +00:00
Karsten Hopp
57d295f81e - patchlevel 379 2010-03-25 23:09:46 +00:00
Karsten Hopp
6d13a487b9 - patchlevel 378 2010-03-25 23:09:32 +00:00
Karsten Hopp
b5f93cd1d3 - patchlevel 377 2010-03-25 23:09:19 +00:00
Karsten Hopp
e87f5507e5 - patchlevel 376 2010-03-25 23:09:04 +00:00
Karsten Hopp
42e1e53e55 - patchlevel 375 2010-03-25 23:08:51 +00:00
Karsten Hopp
2c0ca19ed9 - patchlevel 374 2010-03-25 23:08:37 +00:00
Karsten Hopp
9874d92132 - patchlevel 373 2010-03-25 23:08:23 +00:00
Karsten Hopp
e1c53acefe - patchlevel 372 2010-03-25 23:08:10 +00:00
Karsten Hopp
3b13040d96 - patchlevel 371 2010-03-25 23:07:57 +00:00
Karsten Hopp
2ce6b39110 - patchlevel 370 2010-03-25 23:07:42 +00:00
Karsten Hopp
1ac2c5d314 - patchlevel 369 2010-03-25 23:07:28 +00:00
Karsten Hopp
baa2d49331 - patchlevel 368 2010-02-18 15:09:33 +00:00
Karsten Hopp
ab65c6c9b5 - patchlevel 367 2010-02-18 14:13:38 +00:00
Karsten Hopp
e34f3f4861 - patchlevel 366 2010-02-18 14:13:17 +00:00
Karsten Hopp
417e2681cc - patchlevel 365 2010-02-18 14:13:05 +00:00
Karsten Hopp
25356bbee7 - patchlevel 364 2010-02-18 14:12:53 +00:00
Karsten Hopp
dcd767cfa5 - patchlevel 363 2010-02-18 14:12:41 +00:00
Karsten Hopp
38615932de - patchlevel 362 2010-02-18 14:12:29 +00:00
Karsten Hopp
bb6a72a646 - patchlevel 361 2010-02-18 14:12:16 +00:00
Karsten Hopp
c95e329784 - patchlevel 360 2010-02-18 14:12:03 +00:00
Jesse Keating
3d12e8b154 Initialize branch F-13 for vim 2010-02-17 03:25:23 +00:00
153 changed files with 29560 additions and 36 deletions

542
7.3.056 Normal file
View file

@ -0,0 +1,542 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.056
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.056
Problem: "getline" argument in do_cmdline() shadows global.
Solution: Rename the argument.
Files: src/ex_docmd.c
*** ../vim-7.3.055/src/ex_docmd.c 2010-11-10 18:59:50.000000000 +0100
--- src/ex_docmd.c 2010-11-16 11:24:40.000000000 +0100
***************
*** 733,739 ****
* do_cmdline(): execute one Ex command line
*
* 1. Execute "cmdline" when it is not NULL.
! * If "cmdline" is NULL, or more lines are needed, getline() is used.
* 2. Split up in parts separated with '|'.
*
* This function can be called recursively!
--- 733,739 ----
* do_cmdline(): execute one Ex command line
*
* 1. Execute "cmdline" when it is not NULL.
! * If "cmdline" is NULL, or more lines are needed, fgetline() is used.
* 2. Split up in parts separated with '|'.
*
* This function can be called recursively!
***************
*** 741,747 ****
* flags:
* DOCMD_VERBOSE - The command will be included in the error message.
* DOCMD_NOWAIT - Don't call wait_return() and friends.
! * DOCMD_REPEAT - Repeat execution until getline() returns NULL.
* DOCMD_KEYTYPED - Don't reset KeyTyped.
* DOCMD_EXCRESET - Reset the exception environment (used for debugging).
* DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
--- 741,747 ----
* flags:
* DOCMD_VERBOSE - The command will be included in the error message.
* DOCMD_NOWAIT - Don't call wait_return() and friends.
! * DOCMD_REPEAT - Repeat execution until fgetline() returns NULL.
* DOCMD_KEYTYPED - Don't reset KeyTyped.
* DOCMD_EXCRESET - Reset the exception environment (used for debugging).
* DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
***************
*** 749,763 ****
* return FAIL if cmdline could not be executed, OK otherwise
*/
int
! do_cmdline(cmdline, getline, cookie, flags)
char_u *cmdline;
! char_u *(*getline) __ARGS((int, void *, int));
! void *cookie; /* argument for getline() */
int flags;
{
char_u *next_cmdline; /* next cmd to execute */
char_u *cmdline_copy = NULL; /* copy of cmd line */
! int used_getline = FALSE; /* used "getline" to obtain command */
static int recursive = 0; /* recursive depth */
int msg_didout_before_start = 0;
int count = 0; /* line number count */
--- 749,763 ----
* return FAIL if cmdline could not be executed, OK otherwise
*/
int
! do_cmdline(cmdline, fgetline, cookie, flags)
char_u *cmdline;
! char_u *(*fgetline) __ARGS((int, void *, int));
! void *cookie; /* argument for fgetline() */
int flags;
{
char_u *next_cmdline; /* next cmd to execute */
char_u *cmdline_copy = NULL; /* copy of cmd line */
! int used_getline = FALSE; /* used "fgetline" to obtain command */
static int recursive = 0; /* recursive depth */
int msg_didout_before_start = 0;
int count = 0; /* line number count */
***************
*** 775,788 ****
struct msglist **saved_msg_list = NULL;
struct msglist *private_msg_list;
! /* "getline" and "cookie" passed to do_one_cmd() */
char_u *(*cmd_getline) __ARGS((int, void *, int));
void *cmd_cookie;
struct loop_cookie cmd_loop_cookie;
void *real_cookie;
int getline_is_func;
#else
! # define cmd_getline getline
# define cmd_cookie cookie
#endif
static int call_depth = 0; /* recursiveness */
--- 775,788 ----
struct msglist **saved_msg_list = NULL;
struct msglist *private_msg_list;
! /* "fgetline" and "cookie" passed to do_one_cmd() */
char_u *(*cmd_getline) __ARGS((int, void *, int));
void *cmd_cookie;
struct loop_cookie cmd_loop_cookie;
void *real_cookie;
int getline_is_func;
#else
! # define cmd_getline fgetline
# define cmd_cookie cookie
#endif
static int call_depth = 0; /* recursiveness */
***************
*** 822,831 ****
cstack.cs_lflags = 0;
ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
! real_cookie = getline_cookie(getline, cookie);
/* Inside a function use a higher nesting level. */
! getline_is_func = getline_equal(getline, cookie, get_func_line);
if (getline_is_func && ex_nesting_level == func_level(real_cookie))
++ex_nesting_level;
--- 822,831 ----
cstack.cs_lflags = 0;
ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
! real_cookie = getline_cookie(fgetline, cookie);
/* Inside a function use a higher nesting level. */
! getline_is_func = getline_equal(fgetline, cookie, get_func_line);
if (getline_is_func && ex_nesting_level == func_level(real_cookie))
++ex_nesting_level;
***************
*** 837,843 ****
breakpoint = func_breakpoint(real_cookie);
dbg_tick = func_dbg_tick(real_cookie);
}
! else if (getline_equal(getline, cookie, getsourceline))
{
fname = sourcing_name;
breakpoint = source_breakpoint(real_cookie);
--- 837,843 ----
breakpoint = func_breakpoint(real_cookie);
dbg_tick = func_dbg_tick(real_cookie);
}
! else if (getline_equal(fgetline, cookie, getsourceline))
{
fname = sourcing_name;
breakpoint = source_breakpoint(real_cookie);
***************
*** 881,887 ****
* KeyTyped is only set when calling vgetc(). Reset it here when not
* calling vgetc() (sourced command lines).
*/
! if (!(flags & DOCMD_KEYTYPED) && !getline_equal(getline, cookie, getexline))
KeyTyped = FALSE;
/*
--- 881,888 ----
* KeyTyped is only set when calling vgetc(). Reset it here when not
* calling vgetc() (sourced command lines).
*/
! if (!(flags & DOCMD_KEYTYPED)
! && !getline_equal(fgetline, cookie, getexline))
KeyTyped = FALSE;
/*
***************
*** 894,900 ****
do
{
#ifdef FEAT_EVAL
! getline_is_func = getline_equal(getline, cookie, get_func_line);
#endif
/* stop skipping cmds for an error msg after all endif/while/for */
--- 895,901 ----
do
{
#ifdef FEAT_EVAL
! getline_is_func = getline_equal(fgetline, cookie, get_func_line);
#endif
/* stop skipping cmds for an error msg after all endif/while/for */
***************
*** 909,915 ****
/*
* 1. If repeating a line in a loop, get a line from lines_ga.
! * 2. If no line given: Get an allocated line with getline().
* 3. If a line is given: Make a copy, so we can mess with it.
*/
--- 910,916 ----
/*
* 1. If repeating a line in a loop, get a line from lines_ga.
! * 2. If no line given: Get an allocated line with fgetline().
* 3. If a line is given: Make a copy, so we can mess with it.
*/
***************
*** 938,949 ****
}
#ifdef FEAT_PROFILE
else if (do_profiling == PROF_YES
! && getline_equal(getline, cookie, getsourceline))
script_line_end();
#endif
/* Check if a sourced file hit a ":finish" command. */
! if (source_finished(getline, cookie))
{
retval = FAIL;
break;
--- 939,950 ----
}
#ifdef FEAT_PROFILE
else if (do_profiling == PROF_YES
! && getline_equal(fgetline, cookie, getsourceline))
script_line_end();
#endif
/* Check if a sourced file hit a ":finish" command. */
! if (source_finished(fgetline, cookie))
{
retval = FAIL;
break;
***************
*** 954,960 ****
&& *dbg_tick != debug_tick)
{
*breakpoint = dbg_find_breakpoint(
! getline_equal(getline, cookie, getsourceline),
fname, sourcing_lnum);
*dbg_tick = debug_tick;
}
--- 955,961 ----
&& *dbg_tick != debug_tick)
{
*breakpoint = dbg_find_breakpoint(
! getline_equal(fgetline, cookie, getsourceline),
fname, sourcing_lnum);
*dbg_tick = debug_tick;
}
***************
*** 969,975 ****
dbg_breakpoint(fname, sourcing_lnum);
/* Find next breakpoint. */
*breakpoint = dbg_find_breakpoint(
! getline_equal(getline, cookie, getsourceline),
fname, sourcing_lnum);
*dbg_tick = debug_tick;
}
--- 970,976 ----
dbg_breakpoint(fname, sourcing_lnum);
/* Find next breakpoint. */
*breakpoint = dbg_find_breakpoint(
! getline_equal(fgetline, cookie, getsourceline),
fname, sourcing_lnum);
*dbg_tick = debug_tick;
}
***************
*** 978,984 ****
{
if (getline_is_func)
func_line_start(real_cookie);
! else if (getline_equal(getline, cookie, getsourceline))
script_line_start();
}
# endif
--- 979,985 ----
{
if (getline_is_func)
func_line_start(real_cookie);
! else if (getline_equal(fgetline, cookie, getsourceline))
script_line_start();
}
# endif
***************
*** 987,993 ****
if (cstack.cs_looplevel > 0)
{
/* Inside a while/for loop we need to store the lines and use them
! * again. Pass a different "getline" function to do_one_cmd()
* below, so that it stores lines in or reads them from
* "lines_ga". Makes it possible to define a function inside a
* while/for loop. */
--- 988,994 ----
if (cstack.cs_looplevel > 0)
{
/* Inside a while/for loop we need to store the lines and use them
! * again. Pass a different "fgetline" function to do_one_cmd()
* below, so that it stores lines in or reads them from
* "lines_ga". Makes it possible to define a function inside a
* while/for loop. */
***************
*** 995,1021 ****
cmd_cookie = (void *)&cmd_loop_cookie;
cmd_loop_cookie.lines_gap = &lines_ga;
cmd_loop_cookie.current_line = current_line;
! cmd_loop_cookie.getline = getline;
cmd_loop_cookie.cookie = cookie;
cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
}
else
{
! cmd_getline = getline;
cmd_cookie = cookie;
}
#endif
! /* 2. If no line given, get an allocated line with getline(). */
if (next_cmdline == NULL)
{
/*
* Need to set msg_didout for the first line after an ":if",
* otherwise the ":if" will be overwritten.
*/
! if (count == 1 && getline_equal(getline, cookie, getexline))
msg_didout = TRUE;
! if (getline == NULL || (next_cmdline = getline(':', cookie,
#ifdef FEAT_EVAL
cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
#else
--- 996,1022 ----
cmd_cookie = (void *)&cmd_loop_cookie;
cmd_loop_cookie.lines_gap = &lines_ga;
cmd_loop_cookie.current_line = current_line;
! cmd_loop_cookie.getline = fgetline;
cmd_loop_cookie.cookie = cookie;
cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
}
else
{
! cmd_getline = fgetline;
cmd_cookie = cookie;
}
#endif
! /* 2. If no line given, get an allocated line with fgetline(). */
if (next_cmdline == NULL)
{
/*
* Need to set msg_didout for the first line after an ":if",
* otherwise the ":if" will be overwritten.
*/
! if (count == 1 && getline_equal(fgetline, cookie, getexline))
msg_didout = TRUE;
! if (fgetline == NULL || (next_cmdline = fgetline(':', cookie,
#ifdef FEAT_EVAL
cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
#else
***************
*** 1142,1148 ****
* If the command was typed, remember it for the ':' register.
* Do this AFTER executing the command to make :@: work.
*/
! if (getline_equal(getline, cookie, getexline)
&& new_last_cmdline != NULL)
{
vim_free(last_cmdline);
--- 1143,1149 ----
* If the command was typed, remember it for the ':' register.
* Do this AFTER executing the command to make :@: work.
*/
! if (getline_equal(fgetline, cookie, getexline)
&& new_last_cmdline != NULL)
{
vim_free(last_cmdline);
***************
*** 1163,1169 ****
#ifdef FEAT_EVAL
/* reset did_emsg for a function that is not aborted by an error */
if (did_emsg && !force_abort
! && getline_equal(getline, cookie, get_func_line)
&& !func_has_abort(real_cookie))
did_emsg = FALSE;
--- 1164,1170 ----
#ifdef FEAT_EVAL
/* reset did_emsg for a function that is not aborted by an error */
if (did_emsg && !force_abort
! && getline_equal(fgetline, cookie, get_func_line)
&& !func_has_abort(real_cookie))
did_emsg = FALSE;
***************
*** 1202,1208 ****
if (breakpoint != NULL)
{
*breakpoint = dbg_find_breakpoint(
! getline_equal(getline, cookie, getsourceline),
fname,
((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
*dbg_tick = debug_tick;
--- 1203,1209 ----
if (breakpoint != NULL)
{
*breakpoint = dbg_find_breakpoint(
! getline_equal(fgetline, cookie, getsourceline),
fname,
((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
*dbg_tick = debug_tick;
***************
*** 1296,1303 ****
#endif
)
&& !(did_emsg && used_getline
! && (getline_equal(getline, cookie, getexmodeline)
! || getline_equal(getline, cookie, getexline)))
&& (next_cmdline != NULL
#ifdef FEAT_EVAL
|| cstack.cs_idx >= 0
--- 1297,1304 ----
#endif
)
&& !(did_emsg && used_getline
! && (getline_equal(fgetline, cookie, getexmodeline)
! || getline_equal(fgetline, cookie, getexline)))
&& (next_cmdline != NULL
#ifdef FEAT_EVAL
|| cstack.cs_idx >= 0
***************
*** 1316,1324 ****
* unclosed conditional.
*/
if (!got_int && !did_throw
! && ((getline_equal(getline, cookie, getsourceline)
! && !source_finished(getline, cookie))
! || (getline_equal(getline, cookie, get_func_line)
&& !func_has_ended(real_cookie))))
{
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
--- 1317,1325 ----
* unclosed conditional.
*/
if (!got_int && !did_throw
! && ((getline_equal(fgetline, cookie, getsourceline)
! && !source_finished(fgetline, cookie))
! || (getline_equal(fgetline, cookie, get_func_line)
&& !func_has_ended(real_cookie))))
{
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
***************
*** 1354,1360 ****
/* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
* lack was reported above and the error message is to be converted to an
* exception, do this now after rewinding the cstack. */
! do_errthrow(&cstack, getline_equal(getline, cookie, get_func_line)
? (char_u *)"endfunction" : (char_u *)NULL);
if (trylevel == 0)
--- 1355,1361 ----
/* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
* lack was reported above and the error message is to be converted to an
* exception, do this now after rewinding the cstack. */
! do_errthrow(&cstack, getline_equal(fgetline, cookie, get_func_line)
? (char_u *)"endfunction" : (char_u *)NULL);
if (trylevel == 0)
***************
*** 1449,1457 ****
*/
if (did_throw)
need_rethrow = TRUE;
! if ((getline_equal(getline, cookie, getsourceline)
&& ex_nesting_level > source_level(real_cookie))
! || (getline_equal(getline, cookie, get_func_line)
&& ex_nesting_level > func_level(real_cookie) + 1))
{
if (!did_throw)
--- 1450,1458 ----
*/
if (did_throw)
need_rethrow = TRUE;
! if ((getline_equal(fgetline, cookie, getsourceline)
&& ex_nesting_level > source_level(real_cookie))
! || (getline_equal(fgetline, cookie, get_func_line)
&& ex_nesting_level > func_level(real_cookie) + 1))
{
if (!did_throw)
***************
*** 1460,1475 ****
else
{
/* When leaving a function, reduce nesting level. */
! if (getline_equal(getline, cookie, get_func_line))
--ex_nesting_level;
/*
* Go to debug mode when returning from a function in which we are
* single-stepping.
*/
! if ((getline_equal(getline, cookie, getsourceline)
! || getline_equal(getline, cookie, get_func_line))
&& ex_nesting_level + 1 <= debug_break_level)
! do_debug(getline_equal(getline, cookie, getsourceline)
? (char_u *)_("End of sourced file")
: (char_u *)_("End of function"));
}
--- 1461,1476 ----
else
{
/* When leaving a function, reduce nesting level. */
! if (getline_equal(fgetline, cookie, get_func_line))
--ex_nesting_level;
/*
* Go to debug mode when returning from a function in which we are
* single-stepping.
*/
! if ((getline_equal(fgetline, cookie, getsourceline)
! || getline_equal(fgetline, cookie, get_func_line))
&& ex_nesting_level + 1 <= debug_break_level)
! do_debug(getline_equal(fgetline, cookie, getsourceline)
? (char_u *)_("End of sourced file")
: (char_u *)_("End of function"));
}
*** ../vim-7.3.055/src/version.c 2010-11-16 11:28:33.000000000 +0100
--- src/version.c 2010-11-16 11:27:09.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 56,
/**/
--
Lawmakers made it obligatory for everybody to take at least one bath
each week -- on Saturday night.
[real standing law in Vermont, United States of America]
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

62
7.3.057 Normal file
View file

@ -0,0 +1,62 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.057
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.057
Problem: Segfault with command line abbreviation. (Randy Morris)
Solution: Don't retrigger the abbreviation when abandoning the command line.
Continue editing the command line after the error.
Files: src/ex_getln.c
*** ../vim-7.3.056/src/ex_getln.c 2010-11-10 15:37:00.000000000 +0100
--- src/ex_getln.c 2010-11-16 14:03:09.000000000 +0100
***************
*** 712,718 ****
}
}
beep_flush();
! c = ESC;
}
#endif
else
--- 712,722 ----
}
}
beep_flush();
! got_int = FALSE; /* don't abandon the command line */
! did_emsg = FALSE;
! emsg_on_display = FALSE;
! redrawcmd();
! goto cmdline_not_changed;
}
#endif
else
*** ../vim-7.3.056/src/version.c 2010-11-16 11:29:30.000000000 +0100
--- src/version.c 2010-11-16 14:04:25.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 57,
/**/
--
FROG: How you English say: I one more time, mac, I unclog my nose towards
you, sons of a window-dresser, so, you think you could out-clever us
French fellows with your silly knees-bent creeping about advancing
behaviour. (blows a raspberry) I wave my private parts at your aunties,
you brightly-coloured, mealy-templed, cranberry-smelling, electric
donkey-bottom biters.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

158
7.3.058 Normal file
View file

@ -0,0 +1,158 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.058
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.058
Problem: Error "code converter not found" when loading Ruby script.
Solution: Load Gem module. (Yasuhiro Matsumoto)
Files: src/if_ruby.c
*** ../vim-7.3.057/src/if_ruby.c 2010-10-27 17:40:53.000000000 +0200
--- src/if_ruby.c 2010-11-16 14:37:48.000000000 +0100
***************
*** 229,234 ****
--- 229,237 ----
# define rb_enc_find_index dll_rb_enc_find_index
# define rb_enc_find dll_rb_enc_find
# define rb_enc_str_new dll_rb_enc_str_new
+ # define rb_intern2 dll_rb_intern2
+ # define rb_const_remove dll_rb_const_remove
+ # define Init_prelude dll_Init_prelude
# define rb_sprintf dll_rb_sprintf
# define ruby_init_stack dll_ruby_init_stack
#endif
***************
*** 317,322 ****
--- 320,328 ----
static int (*dll_rb_enc_find_index) (const char*);
static rb_encoding* (*dll_rb_enc_find) (const char*);
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
+ static ID (*dll_rb_intern2) (const char*, long);
+ static void (*dll_Init_prelude) (void);
+ static VALUE (*dll_rb_const_remove) (VALUE, ID);
static VALUE (*dll_rb_sprintf) (const char*, ...);
static void (*ruby_init_stack)(VALUE*);
#endif
***************
*** 425,430 ****
--- 431,439 ----
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
+ {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
+ {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
+ {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
#endif
***************
*** 662,667 ****
--- 671,682 ----
ruby_io_init();
#ifdef RUBY19_OR_LATER
rb_enc_find_index("encdb");
+
+ /* This avoids the error "Encoding::ConverterNotFoundError: code
+ * converter not found (UTF-16LE to ASCII-8BIT)". */
+ rb_define_module("Gem");
+ Init_prelude();
+ rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
#endif
ruby_vim_init();
ruby_initialized = 1;
***************
*** 946,958 ****
static VALUE get_buffer_line(buf_T *buf, linenr_T n)
{
! if (n > 0 && n <= buf->b_ml.ml_line_count)
! {
! char *line = (char *)ml_get_buf(buf, n, FALSE);
! return line ? vim_str2rb_enc_str(line) : Qnil;
! }
! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
! return Qnil; /* For stop warning */
}
static VALUE buffer_aref(VALUE self, VALUE num)
--- 961,969 ----
static VALUE get_buffer_line(buf_T *buf, linenr_T n)
{
! if (n <= 0 || n > buf->b_ml.ml_line_count)
! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
! return vim_str2rb_enc_str((char *)ml_get_buf(buf, n, FALSE));
}
static VALUE buffer_aref(VALUE self, VALUE num)
***************
*** 991,999 ****
else
{
rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
- #ifndef __GNUC__
- return Qnil; /* For stop warning */
- #endif
}
return str;
}
--- 1002,1007 ----
***************
*** 1048,1054 ****
long n = NUM2LONG(num);
aco_save_T aco;
! if (line == NULL) {
rb_raise(rb_eIndexError, "NULL line");
}
else if (n >= 0 && n <= buf->b_ml.ml_line_count)
--- 1056,1063 ----
long n = NUM2LONG(num);
aco_save_T aco;
! if (line == NULL)
! {
rb_raise(rb_eIndexError, "NULL line");
}
else if (n >= 0 && n <= buf->b_ml.ml_line_count)
***************
*** 1072,1078 ****
update_curbuf(NOT_VALID);
}
! else {
rb_raise(rb_eIndexError, "line number %ld out of range", n);
}
return str;
--- 1081,1088 ----
update_curbuf(NOT_VALID);
}
! else
! {
rb_raise(rb_eIndexError, "line number %ld out of range", n);
}
return str;
*** ../vim-7.3.057/src/version.c 2010-11-16 14:05:48.000000000 +0100
--- src/version.c 2010-11-16 14:44:42.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 58,
/**/
--
SIGIRO -- irony detected (iron core dumped)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

116
7.3.059 Normal file
View file

@ -0,0 +1,116 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.059
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.059
Problem: Netbeans: Problem with recursively handling messages for Athena
and Motif.
Solution: Call netbeans_parse_messages() in the main loop, like it's done
for GTK. (Xavier de Gaye)
Files: src/gui_x11.c, src/netbeans.c
*** ../vim-7.3.058/src/gui_x11.c 2010-08-15 21:57:25.000000000 +0200
--- src/gui_x11.c 2010-11-16 14:53:18.000000000 +0100
***************
*** 2895,2900 ****
--- 2895,2905 ----
focus = gui.in_focus;
}
+ #if defined(FEAT_NETBEANS_INTG)
+ /* Process any queued netbeans messages. */
+ netbeans_parse_messages();
+ #endif
+
/*
* Don't use gui_mch_update() because then we will spin-lock until a
* char arrives, instead we use XtAppProcessEvent() to hang until an
*** ../vim-7.3.058/src/netbeans.c 2010-09-30 21:03:13.000000000 +0200
--- src/netbeans.c 2010-11-16 14:52:55.000000000 +0100
***************
*** 726,734 ****
static char_u *buf = NULL;
int len = 0;
int readlen = 0;
- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
- static int level = 0;
- #endif
#ifdef HAVE_SELECT
struct timeval tval;
fd_set rfds;
--- 726,731 ----
***************
*** 744,756 ****
return;
}
- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
- /* recursion guard; this will be called from the X event loop at unknown
- * moments */
- if (NB_HAS_GUI)
- ++level;
- #endif
-
/* Allocate a buffer to read into. */
if (buf == NULL)
{
--- 741,746 ----
***************
*** 803,823 ****
return; /* don't try to parse it */
}
! #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32)
! /* Let the main loop handle messages. */
! if (NB_HAS_GUI)
! {
! # ifdef FEAT_GUI_GTK
! if (gtk_main_level() > 0)
! gtk_main_quit();
! # else
! /* Parse the messages now, but avoid recursion. */
! if (level == 1)
! netbeans_parse_messages();
!
! --level;
! # endif
! }
#endif
}
--- 793,801 ----
return; /* don't try to parse it */
}
! #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
! if (NB_HAS_GUI && gtk_main_level() > 0)
! gtk_main_quit();
#endif
}
*** ../vim-7.3.058/src/version.c 2010-11-16 14:46:14.000000000 +0100
--- src/version.c 2010-11-16 14:50:57.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 59,
/**/
--
ARTHUR: If you do not open these doors, we will take this castle by force ...
[A bucket of slops land on ARTHUR. He tries to retain his dignity.]
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

227
7.3.060 Normal file
View file

@ -0,0 +1,227 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.060
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.060
Problem: Netbeans: crash when socket is disconnected unexpectedly.
Solution: Don't cleanup when a read fails, put a message in the queue and
disconnect later. (Xavier de Gaye)
Files: src/netbeans.c
*** ../vim-7.3.059/src/netbeans.c 2010-11-16 15:04:51.000000000 +0100
--- src/netbeans.c 2010-11-16 15:48:36.000000000 +0100
***************
*** 135,148 ****
static int needupdate = 0;
static int inAtomic = 0;
static void
! netbeans_close(void)
{
- if (!NETBEANS_OPEN)
- return;
-
- netbeans_send_disconnect();
-
#ifdef FEAT_GUI_X11
if (inputHandler != (XtInputId)NULL)
{
--- 135,146 ----
static int needupdate = 0;
static int inAtomic = 0;
+ /*
+ * Close the socket and remove the input handlers.
+ */
static void
! nb_close_socket(void)
{
#ifdef FEAT_GUI_X11
if (inputHandler != (XtInputId)NULL)
{
***************
*** 167,179 ****
# endif
#endif
#ifdef FEAT_BEVAL
bevalServers &= ~BEVAL_NETBEANS;
#endif
- sock_close(nbsock);
- nbsock = -1;
-
needupdate = 0;
inAtomic = 0;
nb_free();
--- 165,191 ----
# endif
#endif
+ sock_close(nbsock);
+ nbsock = -1;
+ }
+
+ /*
+ * Close the connection and cleanup.
+ * May be called when nb_close_socket() was called earlier.
+ */
+ static void
+ netbeans_close(void)
+ {
+ if (NETBEANS_OPEN)
+ {
+ netbeans_send_disconnect();
+ nb_close_socket();
+ }
+
#ifdef FEAT_BEVAL
bevalServers &= ~BEVAL_NETBEANS;
#endif
needupdate = 0;
inAtomic = 0;
nb_free();
***************
*** 632,640 ****
char_u *p;
queue_T *node;
- if (!NETBEANS_OPEN)
- return;
-
while (head.next != NULL && head.next != &head)
{
node = head.next;
--- 644,649 ----
***************
*** 720,725 ****
--- 729,736 ----
}
#endif
+ #define DETACH_MSG "DETACH\n"
+
void
netbeans_read()
{
***************
*** 780,801 ****
break; /* did read everything that's available */
}
if (readlen <= 0)
{
! /* read error or didn't read anything */
! netbeans_close();
! nbdebug(("messageFromNetbeans: Error in read() from socket\n"));
if (len < 0)
{
nbdebug(("read from Netbeans socket\n"));
PERROR(_("read from Netbeans socket"));
}
- return; /* don't try to parse it */
}
#if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
if (NB_HAS_GUI && gtk_main_level() > 0)
! gtk_main_quit();
#endif
}
--- 791,822 ----
break; /* did read everything that's available */
}
+ /* Reading a socket disconnection (readlen == 0), or a socket error. */
if (readlen <= 0)
{
! /* Queue a "DETACH" netbeans message in the command queue in order to
! * terminate the netbeans session later. Do not end the session here
! * directly as we may be running in the context of a call to
! * netbeans_parse_messages():
! * netbeans_parse_messages
! * -> autocmd triggered while processing the netbeans cmd
! * -> ui_breakcheck
! * -> gui event loop or select loop
! * -> netbeans_read()
! */
! save((char_u *)DETACH_MSG, strlen(DETACH_MSG));
! nb_close_socket();
!
if (len < 0)
{
nbdebug(("read from Netbeans socket\n"));
PERROR(_("read from Netbeans socket"));
}
}
#if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
if (NB_HAS_GUI && gtk_main_level() > 0)
! gtk_main_quit();
#endif
}
***************
*** 1164,1169 ****
--- 1185,1194 ----
nbdebug(("REP %d: <none>\n", cmdno));
+ /* Avoid printing an annoying error message. */
+ if (!NETBEANS_OPEN)
+ return;
+
sprintf(reply, "%d\n", cmdno);
nb_send(reply, "nb_reply_nil");
}
***************
*** 2753,2763 ****
{
#ifdef FEAT_GUI
# if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
! && !defined(FEAT_GUI_W32)
if (gui.in_use)
{
! EMSG(_("E838: netbeans is not supported with this GUI"));
! return;
}
# endif
#endif
--- 2778,2788 ----
{
#ifdef FEAT_GUI
# if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
! && !defined(FEAT_GUI_W32)
if (gui.in_use)
{
! EMSG(_("E838: netbeans is not supported with this GUI"));
! return;
}
# endif
#endif
*** ../vim-7.3.059/src/version.c 2010-11-16 15:04:51.000000000 +0100
--- src/version.c 2010-11-16 15:22:39.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 60,
/**/
--
Another bucket of what can only be described as human ordure hits ARTHUR.
ARTHUR: ... Right! (to the KNIGHTS) That settles it!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

89
7.3.061 Normal file
View file

@ -0,0 +1,89 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.061
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.061
Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding)
Solution: Don't restore the directory when 'autochdir' is set. (Benjamin
Fritz)
Files: src/main.c
*** ../vim-7.3.060/src/main.c 2010-09-29 17:26:57.000000000 +0200
--- src/main.c 2010-11-16 16:16:11.000000000 +0100
***************
*** 3817,3822 ****
--- 3817,3824 ----
/* Check if we have at least one argument. */
if (filec <= 0)
mainerr_arg_missing((char_u *)filev[-1]);
+
+ /* Temporarily cd to the current directory to handle relative file names. */
if (mch_dirname(cwd, MAXPATHL) != OK)
return NULL;
if ((p = vim_strsave_escaped_ext(cwd,
***************
*** 3858,3870 ****
ga_concat(&ga, p);
vim_free(p);
}
/* The :drop commands goes to Insert mode when 'insertmode' is set, use
* CTRL-\ CTRL-N again. */
! ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
! ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd -");
if (sendReply)
! ga_concat(&ga, (char_u *)"<CR>:call SetupRemoteReplies()");
! ga_concat(&ga, (char_u *)"<CR>:");
if (inicmd != NULL)
{
/* Can't use <CR> after "inicmd", because an "startinsert" would cause
--- 3860,3879 ----
ga_concat(&ga, p);
vim_free(p);
}
+ ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
+
/* The :drop commands goes to Insert mode when 'insertmode' is set, use
* CTRL-\ CTRL-N again. */
! ga_concat(&ga, (char_u *)"<C-\\><C-N>");
!
! /* Switch back to the correct current directory (prior to temporary path
! * switch) unless 'autochdir' is set, in which case it will already be
! * correct after the :drop command. */
! ga_concat(&ga, (char_u *)":if !exists('+acd')||!&acd|cd -|endif<CR>");
!
if (sendReply)
! ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>");
! ga_concat(&ga, (char_u *)":");
if (inicmd != NULL)
{
/* Can't use <CR> after "inicmd", because an "startinsert" would cause
*** ../vim-7.3.060/src/version.c 2010-11-16 15:48:57.000000000 +0100
--- src/version.c 2010-11-16 16:19:58.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 61,
/**/
--
BEDEVERE: Stand by for attack!!
[CUT TO enormous army forming up. Trebuchets, rows of PIKEMEN, siege
towers, pennants flying, shouts of "Stand by for attack!" Traditional
army build-up shots. The shouts echo across the ranks of the army.
We see various groups reacting, and stirring themselves in readiness.]
ARTHUR: Who are they?
BEDEVERE: Oh, just some friends!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

609
7.3.062 Normal file
View file

@ -0,0 +1,609 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.062
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.062
Problem: Python doesn't work properly when installed in another directory
than expected.
Solution: Figure out home directory in configure and use Py_SetPythonHome()
at runtime. (Roland Puntaier)
Files: src/configure.in, src/auto/configure, src/if_python.c,
src/if_python3.c
*** ../vim-7.3.061/src/configure.in 2010-11-03 22:32:18.000000000 +0100
--- src/configure.in 2010-11-16 17:47:36.000000000 +0100
***************
*** 891,899 ****
PYTHON_LIBS="${vi_cv_path_python_plibs}"
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
else
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
fi
PYTHON_SRC="if_python.c"
dnl For Mac OSX 10.2 config.o is included in the Python library.
--- 891,899 ----
PYTHON_LIBS="${vi_cv_path_python_plibs}"
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
else
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
dnl For Mac OSX 10.2 config.o is included in the Python library.
***************
*** 905,911 ****
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
dnl On FreeBSD linking with "-pthread" is required to use threads.
dnl _THREAD_SAFE must be used for compiling then.
--- 905,911 ----
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
dnl On FreeBSD linking with "-pthread" is required to use threads.
dnl _THREAD_SAFE must be used for compiling then.
***************
*** 1063,1071 ****
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}"
else
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}"
fi
PYTHON3_SRC="if_python3.c"
dnl For Mac OSX 10.2 config.o is included in the Python library.
--- 1063,1071 ----
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
else
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
dnl For Mac OSX 10.2 config.o is included in the Python library.
***************
*** 1143,1151 ****
if test "$python_ok" = yes && test "$python3_ok" = yes; then
AC_DEFINE(DYNAMIC_PYTHON)
AC_DEFINE(DYNAMIC_PYTHON3)
! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL)
cflags_save=$CFLAGS
! CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
ldflags_save=$LDFLAGS
LDFLAGS="$LDFLAGS -ldl"
AC_RUN_IFELSE([
--- 1143,1151 ----
if test "$python_ok" = yes && test "$python3_ok" = yes; then
AC_DEFINE(DYNAMIC_PYTHON)
AC_DEFINE(DYNAMIC_PYTHON3)
! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python)
cflags_save=$CFLAGS
! CFLAGS="$CFLAGS $PYTHON_CFLAGS"
ldflags_save=$LDFLAGS
LDFLAGS="$LDFLAGS -ldl"
AC_RUN_IFELSE([
***************
*** 1156,1170 ****
* Only the first pyhton version used will be switched on.
*/
! int no_rtl_global_needed_for(char *python_instsoname)
{
int needed = 0;
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
if (pylib != 0)
{
void (*init)(void) = dlsym(pylib, "Py_Initialize");
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
void (*final)(void) = dlsym(pylib, "Py_Finalize");
(*init)();
needed = (*simple)("import termios") == -1;
(*final)();
--- 1156,1172 ----
* Only the first pyhton version used will be switched on.
*/
! int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
{
int needed = 0;
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
if (pylib != 0)
{
+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
void (*init)(void) = dlsym(pylib, "Py_Initialize");
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
void (*final)(void) = dlsym(pylib, "Py_Finalize");
+ (*pfx)(prefix);
(*init)();
needed = (*simple)("import termios") == -1;
(*final)();
***************
*** 1176,1188 ****
int main(int argc, char** argv)
{
int not_needed = 0;
! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0"))
not_needed = 1;
return !not_needed;
}],
[AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
CFLAGS=$cflags_save
LDFLAGS=$ldflags_save
PYTHON_SRC="if_python.c"
PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
--- 1178,1237 ----
int main(int argc, char** argv)
{
int not_needed = 0;
! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
not_needed = 1;
return !not_needed;
}],
[AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
+
CFLAGS=$cflags_save
LDFLAGS=$ldflags_save
+
+ AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python3)
+ cflags_save=$CFLAGS
+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
+ ldflags_save=$LDFLAGS
+ LDFLAGS="$LDFLAGS -ldl"
+ AC_RUN_IFELSE([
+ #include <dlfcn.h>
+ #include <wchar.h>
+ /* If this program fails, then RTLD_GLOBAL is needed.
+ * RTLD_GLOBAL will be used and then it is not possible to
+ * have both python versions enabled in the same vim instance.
+ * Only the first pyhton version used will be switched on.
+ */
+
+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
+ {
+ int needed = 0;
+ void* pylib = dlopen(python_instsoname, RTLD_LAZY);
+ if (pylib != 0)
+ {
+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
+ void (*init)(void) = dlsym(pylib, "Py_Initialize");
+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
+ void (*final)(void) = dlsym(pylib, "Py_Finalize");
+ (*pfx)(prefix);
+ (*init)();
+ needed = (*simple)("import termios") == -1;
+ (*final)();
+ dlclose(pylib);
+ }
+ return !needed;
+ }
+
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }],
+ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
+
+ CFLAGS=$cflags_save
+ LDFLAGS=$ldflags_save
+
PYTHON_SRC="if_python.c"
PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
*** ../vim-7.3.061/src/auto/configure 2010-11-03 22:32:18.000000000 +0100
--- src/auto/configure 2010-11-16 17:47:42.000000000 +0100
***************
*** 5326,5334 ****
PYTHON_LIBS="${vi_cv_path_python_plibs}"
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
else
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
fi
PYTHON_SRC="if_python.c"
if test "x$MACOSX" = "xyes"; then
--- 5326,5334 ----
PYTHON_LIBS="${vi_cv_path_python_plibs}"
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
else
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
if test "x$MACOSX" = "xyes"; then
***************
*** 5339,5345 ****
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
$as_echo_n "checking if -pthread should be used... " >&6; }
--- 5339,5345 ----
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
$as_echo_n "checking if -pthread should be used... " >&6; }
***************
*** 5601,5609 ****
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}"
else
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}"
fi
PYTHON3_SRC="if_python3.c"
if test "x$MACOSX" = "xyes"; then
--- 5601,5609 ----
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
else
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
if test "x$MACOSX" = "xyes"; then
***************
*** 5708,5717 ****
$as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL" >&5
! $as_echo_n "checking whether we can do without RTLD_GLOBAL... " >&6; }
cflags_save=$CFLAGS
! CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
ldflags_save=$LDFLAGS
LDFLAGS="$LDFLAGS -ldl"
if test "$cross_compiling" = yes; then :
--- 5708,5717 ----
$as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python" >&5
! $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python... " >&6; }
cflags_save=$CFLAGS
! CFLAGS="$CFLAGS $PYTHON_CFLAGS"
ldflags_save=$LDFLAGS
LDFLAGS="$LDFLAGS -ldl"
if test "$cross_compiling" = yes; then :
***************
*** 5730,5744 ****
* Only the first pyhton version used will be switched on.
*/
! int no_rtl_global_needed_for(char *python_instsoname)
{
int needed = 0;
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
if (pylib != 0)
{
void (*init)(void) = dlsym(pylib, "Py_Initialize");
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
void (*final)(void) = dlsym(pylib, "Py_Finalize");
(*init)();
needed = (*simple)("import termios") == -1;
(*final)();
--- 5730,5746 ----
* Only the first pyhton version used will be switched on.
*/
! int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
{
int needed = 0;
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
if (pylib != 0)
{
+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
void (*init)(void) = dlsym(pylib, "Py_Initialize");
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
void (*final)(void) = dlsym(pylib, "Py_Finalize");
+ (*pfx)(prefix);
(*init)();
needed = (*simple)("import termios") == -1;
(*final)();
***************
*** 5750,5756 ****
int main(int argc, char** argv)
{
int not_needed = 0;
! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0"))
not_needed = 1;
return !not_needed;
}
--- 5752,5758 ----
int main(int argc, char** argv)
{
int not_needed = 0;
! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
not_needed = 1;
return !not_needed;
}
***************
*** 5767,5774 ****
--- 5769,5844 ----
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+
CFLAGS=$cflags_save
LDFLAGS=$ldflags_save
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python3" >&5
+ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python3... " >&6; }
+ cflags_save=$CFLAGS
+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
+ ldflags_save=$LDFLAGS
+ LDFLAGS="$LDFLAGS -ldl"
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ as_fn_error "cannot run test program while cross compiling
+ See \`config.log' for more details." "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ #include <dlfcn.h>
+ #include <wchar.h>
+ /* If this program fails, then RTLD_GLOBAL is needed.
+ * RTLD_GLOBAL will be used and then it is not possible to
+ * have both python versions enabled in the same vim instance.
+ * Only the first pyhton version used will be switched on.
+ */
+
+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
+ {
+ int needed = 0;
+ void* pylib = dlopen(python_instsoname, RTLD_LAZY);
+ if (pylib != 0)
+ {
+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
+ void (*init)(void) = dlsym(pylib, "Py_Initialize");
+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
+ void (*final)(void) = dlsym(pylib, "Py_Finalize");
+ (*pfx)(prefix);
+ (*init)();
+ needed = (*simple)("import termios") == -1;
+ (*final)();
+ dlclose(pylib);
+ }
+ return !needed;
+ }
+
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }
+ _ACEOF
+ if ac_fn_c_try_run "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; };$as_echo "#define PY3_NO_RTLD_GLOBAL 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+
+
+ CFLAGS=$cflags_save
+ LDFLAGS=$ldflags_save
+
PYTHON_SRC="if_python.c"
PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
*** ../vim-7.3.061/src/if_python.c 2010-10-23 14:02:48.000000000 +0200
--- src/if_python.c 2010-11-16 17:07:00.000000000 +0100
***************
*** 102,108 ****
# include <dlfcn.h>
# define FARPROC void*
# define HINSTANCE void*
! # ifdef PY_NO_RTLD_GLOBAL
# define load_dll(n) dlopen((n), RTLD_LAZY)
# else
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
--- 102,108 ----
# include <dlfcn.h>
# define FARPROC void*
# define HINSTANCE void*
! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)
# define load_dll(n) dlopen((n), RTLD_LAZY)
# else
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
***************
*** 168,173 ****
--- 168,174 ----
# define Py_BuildValue dll_Py_BuildValue
# define Py_FindMethod dll_Py_FindMethod
# define Py_InitModule4 dll_Py_InitModule4
+ # define Py_SetPythonHome dll_Py_SetPythonHome
# define Py_Initialize dll_Py_Initialize
# define Py_Finalize dll_Py_Finalize
# define Py_IsInitialized dll_Py_IsInitialized
***************
*** 226,231 ****
--- 227,233 ----
static PyObject*(*dll_Py_BuildValue)(char *, ...);
static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
+ static void(*dll_Py_SetPythonHome)(char *home);
static void(*dll_Py_Initialize)(void);
static void(*dll_Py_Finalize)(void);
static int(*dll_Py_IsInitialized)(void);
***************
*** 310,315 ****
--- 312,318 ----
# else
{"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
# endif
+ {"Py_SetPythonHome", (PYTHON_PROC*)&dll_Py_SetPythonHome},
{"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize},
{"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize},
{"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized},
***************
*** 349,355 ****
{
int i;
! #if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON3)
/* Can't have Python and Python3 loaded at the same time.
* It cause a crash, because RTLD_GLOBAL is needed for
* standard C extension libraries of one or both python versions. */
--- 352,358 ----
{
int i;
! #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3)
/* Can't have Python and Python3 loaded at the same time.
* It cause a crash, because RTLD_GLOBAL is needed for
* standard C extension libraries of one or both python versions. */
***************
*** 543,548 ****
--- 546,555 ----
}
#endif
+ #ifdef PYTHON_HOME
+ Py_SetPythonHome(PYTHON_HOME);
+ #endif
+
init_structs();
#if !defined(MACOS) || defined(MACOS_X_UNIX)
*** ../vim-7.3.061/src/if_python3.c 2010-10-23 14:02:48.000000000 +0200
--- src/if_python3.c 2010-11-16 17:07:26.000000000 +0100
***************
*** 80,86 ****
# include <dlfcn.h>
# define FARPROC void*
# define HINSTANCE void*
! # ifdef PY_NO_RTLD_GLOBAL
# define load_dll(n) dlopen((n), RTLD_LAZY)
# else
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
--- 80,86 ----
# include <dlfcn.h>
# define FARPROC void*
# define HINSTANCE void*
! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)
# define load_dll(n) dlopen((n), RTLD_LAZY)
# else
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
***************
*** 132,137 ****
--- 132,138 ----
# define PyType_Ready py3_PyType_Ready
#undef Py_BuildValue
# define Py_BuildValue py3_Py_BuildValue
+ # define Py_SetPythonHome py3_Py_SetPythonHome
# define Py_Initialize py3_Py_Initialize
# define Py_Finalize py3_Py_Finalize
# define Py_IsInitialized py3_Py_IsInitialized
***************
*** 170,175 ****
--- 171,177 ----
* Pointers for dynamic link
*/
static int (*py3_PySys_SetArgv)(int, wchar_t **);
+ static void (*py3_Py_SetPythonHome)(wchar_t *home);
static void (*py3_Py_Initialize)(void);
static PyObject* (*py3_PyList_New)(Py_ssize_t size);
static PyGILState_STATE (*py3_PyGILState_Ensure)(void);
***************
*** 254,259 ****
--- 256,262 ----
} py3_funcname_table[] =
{
{"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv},
+ {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
{"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
{"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
{"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
***************
*** 336,342 ****
int i;
void *ucs_from_string, *ucs_from_string_and_size;
! # if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON)
/* Can't have Python and Python3 loaded at the same time.
* It cause a crash, because RTLD_GLOBAL is needed for
* standard C extension libraries of one or both python versions. */
--- 339,345 ----
int i;
void *ucs_from_string, *ucs_from_string_and_size;
! # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON)
/* Can't have Python and Python3 loaded at the same time.
* It cause a crash, because RTLD_GLOBAL is needed for
* standard C extension libraries of one or both python versions. */
***************
*** 539,544 ****
--- 542,552 ----
init_structs();
+
+ #ifdef PYTHON3_HOME
+ Py_SetPythonHome(PYTHON3_HOME);
+ #endif
+
/* initialise threads */
PyEval_InitThreads();
*** ../vim-7.3.061/src/version.c 2010-11-16 16:25:46.000000000 +0100
--- src/version.c 2010-11-16 17:12:40.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 62,
/**/
--
ARTHUR: CHARGE!
[The mighty ARMY charges. Thundering noise of feet. Clatter of coconuts.
Shouts etc. Suddenly there is a wail of a siren and a couple of police
cars roar round in front of the charging ARMY and the POLICE leap out and
stop them. TWO POLICEMAN and the HISTORIAN'S WIFE. Black Marias skid up
behind them.]
HISTORIAN'S WIFE: They're the ones, I'm sure.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

59
7.3.063 Normal file
View file

@ -0,0 +1,59 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.063
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.063
Problem: Win32: Running a filter command makes Vim lose focus.
Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
Files: src/os_win32.c
*** ../vim-7.3.062/src/os_win32.c 2010-11-10 15:37:00.000000000 +0100
--- src/os_win32.c 2010-11-24 12:31:46.000000000 +0100
***************
*** 3185,3193 ****
* It's nicer to run a filter command in a minimized window, but in
* Windows 95 this makes the command MUCH slower. We can't do it under
* Win32s either as it stops the synchronous spawn workaround working.
*/
if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s())
! si.wShowWindow = SW_SHOWMINIMIZED;
else
si.wShowWindow = SW_SHOWNORMAL;
si.cbReserved2 = 0;
--- 3185,3194 ----
* It's nicer to run a filter command in a minimized window, but in
* Windows 95 this makes the command MUCH slower. We can't do it under
* Win32s either as it stops the synchronous spawn workaround working.
+ * Don't activate the window to keep focus on Vim.
*/
if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s())
! si.wShowWindow = SW_SHOWMINNOACTIVE;
else
si.wShowWindow = SW_SHOWNORMAL;
si.cbReserved2 = 0;
*** ../vim-7.3.062/src/version.c 2010-11-16 19:25:56.000000000 +0100
--- src/version.c 2010-11-24 12:32:52.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 63,
/**/
--
SOLDIER: Where did you get the coconuts?
ARTHUR: Through ... We found them.
SOLDIER: Found them? In Mercea. The coconut's tropical!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

72
7.3.064 Normal file
View file

@ -0,0 +1,72 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.064
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.064
Problem: Win32: ":dis +" shows nothing, but "+p does insert text.
Solution: Display the * register, since that's what will be inserted.
(Christian Brabandt)
Files: src/globals.h, src/ops.c
*** ../vim-7.3.063/src/globals.h 2010-08-15 21:57:27.000000000 +0200
--- src/globals.h 2010-11-24 14:06:47.000000000 +0100
***************
*** 510,515 ****
--- 510,516 ----
EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */
# else
# define clip_plus clip_star /* there is only one clipboard */
+ # define ONE_CLIPBOARD
# endif
EXTERN int clip_unnamed INIT(= FALSE);
EXTERN int clip_autoselect INIT(= FALSE);
*** ../vim-7.3.063/src/ops.c 2010-10-09 17:21:42.000000000 +0200
--- src/ops.c 2010-11-24 14:26:25.000000000 +0100
***************
*** 3979,3985 ****
for (i = -1; i < NUM_REGISTERS && !got_int; ++i)
{
name = get_register_name(i);
! if (arg != NULL && vim_strchr(arg, name) == NULL)
continue; /* did not ask for this register */
#ifdef FEAT_CLIPBOARD
--- 3979,3990 ----
for (i = -1; i < NUM_REGISTERS && !got_int; ++i)
{
name = get_register_name(i);
! if (arg != NULL && vim_strchr(arg, name) == NULL
! #ifdef ONE_CLIPBOARD
! /* Star register and plus register contain the same thing. */
! && (name != '*' || vim_strchr(arg, '+') == NULL)
! #endif
! )
continue; /* did not ask for this register */
#ifdef FEAT_CLIPBOARD
*** ../vim-7.3.063/src/version.c 2010-11-24 12:35:14.000000000 +0100
--- src/version.c 2010-11-24 14:24:03.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 64,
/**/
--
FIRST SOLDIER: So they wouldn't be able to bring a coconut back anyway.
SECOND SOLDIER: Wait a minute! Suppose two swallows carried it together?
FIRST SOLDIER: No, they'd have to have it on a line.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

120
7.3.065 Normal file
View file

@ -0,0 +1,120 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.065
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.065
Problem: Can't get current line number in a source file.
Solution: Add the <slnum> item, similar to <sfile>.
Files: src/ex_docmd.c
*** ../vim-7.3.064/src/ex_docmd.c 2010-11-16 11:29:30.000000000 +0100
--- src/ex_docmd.c 2010-11-24 15:41:51.000000000 +0100
***************
*** 9538,9554 ****
#define SPEC_CFILE 4
"<sfile>", /* ":so" file name */
#define SPEC_SFILE 5
#ifdef FEAT_AUTOCMD
"<afile>", /* autocommand file name */
! # define SPEC_AFILE 6
"<abuf>", /* autocommand buffer number */
! # define SPEC_ABUF 7
"<amatch>", /* autocommand match name */
! # define SPEC_AMATCH 8
#endif
#ifdef FEAT_CLIENTSERVER
"<client>"
! # define SPEC_CLIENT 9
#endif
};
--- 9538,9560 ----
#define SPEC_CFILE 4
"<sfile>", /* ":so" file name */
#define SPEC_SFILE 5
+ "<slnum>", /* ":so" file line number */
+ #define SPEC_SLNUM 6
#ifdef FEAT_AUTOCMD
"<afile>", /* autocommand file name */
! # define SPEC_AFILE 7
"<abuf>", /* autocommand buffer number */
! # define SPEC_ABUF 8
"<amatch>", /* autocommand match name */
! # define SPEC_AMATCH 9
#endif
#ifdef FEAT_CLIENTSERVER
"<client>"
! # ifdef FEAT_AUTOCMD
! # define SPEC_CLIENT 10
! # else
! # define SPEC_CLIENT 7
! # endif
#endif
};
***************
*** 9573,9578 ****
--- 9579,9585 ----
* '<cWORD>' to WORD under the cursor
* '<cfile>' to path name under the cursor
* '<sfile>' to sourced file name
+ * '<slnum>' to sourced file line number
* '<afile>' to file name for autocommand
* '<abuf>' to buffer number for autocommand
* '<amatch>' to matching name for autocommand
***************
*** 9604,9613 ****
#ifdef FEAT_MODIFY_FNAME
int skip_mod = FALSE;
#endif
-
- #if defined(FEAT_AUTOCMD) || defined(FEAT_CLIENTSERVER)
char_u strbuf[30];
- #endif
*errormsg = NULL;
if (escaped != NULL)
--- 9611,9617 ----
***************
*** 9796,9801 ****
--- 9800,9814 ----
return NULL;
}
break;
+ case SPEC_SLNUM: /* line in file for ":so" command */
+ if (sourcing_name == NULL || sourcing_lnum == 0)
+ {
+ *errormsg = (char_u *)_("E842: no line number to use for \"<slnum>\"");
+ return NULL;
+ }
+ sprintf((char *)strbuf, "%ld", (long)sourcing_lnum);
+ result = strbuf;
+ break;
#if defined(FEAT_CLIENTSERVER)
case SPEC_CLIENT: /* Source of last submitted input */
sprintf((char *)strbuf, PRINTF_HEX_LONG_U,
*** ../vim-7.3.064/src/version.c 2010-11-24 14:28:53.000000000 +0100
--- src/version.c 2010-11-24 15:49:57.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 65,
/**/
--
If you don't get everything you want, think of
everything you didn't get and don't want.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

90
7.3.066 Normal file
View file

@ -0,0 +1,90 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.066
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.066
Problem: Crash when changing to another window while in a :vimgrep command.
(Christian Brabandt)
Solution: When wiping out the dummy before, remove it from aucmd_win.
Files: src/quickfix.c
*** ../vim-7.3.065/src/quickfix.c 2010-09-21 16:56:29.000000000 +0200
--- src/quickfix.c 2010-11-24 16:27:40.000000000 +0100
***************
*** 3432,3437 ****
--- 3432,3438 ----
char_u *fname;
{
buf_T *newbuf;
+ buf_T *newbuf_to_wipe = NULL;
int failed = TRUE;
aco_save_T aco;
***************
*** 3468,3482 ****
failed = FALSE;
if (curbuf != newbuf)
{
! /* Bloody autocommands changed the buffer! */
! if (buf_valid(newbuf))
! wipe_buffer(newbuf, FALSE);
newbuf = curbuf;
}
}
/* restore curwin/curbuf and a few other things */
aucmd_restbuf(&aco);
}
if (!buf_valid(newbuf))
--- 3469,3487 ----
failed = FALSE;
if (curbuf != newbuf)
{
! /* Bloody autocommands changed the buffer! Can happen when
! * using netrw and editing a remote file. Use the current
! * buffer instead, delete the dummy one after restoring the
! * window stuff. */
! newbuf_to_wipe = newbuf;
newbuf = curbuf;
}
}
/* restore curwin/curbuf and a few other things */
aucmd_restbuf(&aco);
+ if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe))
+ wipe_buffer(newbuf_to_wipe, FALSE);
}
if (!buf_valid(newbuf))
*** ../vim-7.3.065/src/version.c 2010-11-24 15:50:54.000000000 +0100
--- src/version.c 2010-11-24 16:30:44.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 66,
/**/
--
CART DRIVER: Bring out your dead!
We follow the cart through a wretched, impoverished plague-ridden village.
A few starved mongrels run about in the mud scavenging. In the open
doorway of one house perhaps we jug glimpse a pair of legs dangling from
the ceiling. In another doorway an OLD WOMAN is beating a cat against a
wall rather like one does with a mat. The cart passes round a dead donkey
or cow in the mud. And a MAN tied to a cart is being hammered to death by
four NUNS with huge mallets.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

68
7.3.067 Normal file
View file

@ -0,0 +1,68 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.067
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.067 (after 7.3.058)
Problem: Ruby: Init_prelude is not always available.
Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto)
Files: src/if_ruby.c
*** ../vim-7.3.066/src/if_ruby.c 2010-11-16 14:46:14.000000000 +0100
--- src/if_ruby.c 2010-11-24 16:53:06.000000000 +0100
***************
*** 231,237 ****
# define rb_enc_str_new dll_rb_enc_str_new
# define rb_intern2 dll_rb_intern2
# define rb_const_remove dll_rb_const_remove
- # define Init_prelude dll_Init_prelude
# define rb_sprintf dll_rb_sprintf
# define ruby_init_stack dll_ruby_init_stack
#endif
--- 231,236 ----
***************
*** 433,439 ****
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
{"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
{"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
- {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
#endif
--- 432,437 ----
***************
*** 675,681 ****
/* This avoids the error "Encoding::ConverterNotFoundError: code
* converter not found (UTF-16LE to ASCII-8BIT)". */
rb_define_module("Gem");
- Init_prelude();
rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
#endif
ruby_vim_init();
--- 673,678 ----
*** ../vim-7.3.066/src/version.c 2010-11-24 16:31:55.000000000 +0100
--- src/version.c 2010-11-24 16:53:35.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 67,
/**/
--
CART DRIVER: Bring out your dead!
LARGE MAN: Here's one!
CART DRIVER: Ninepence.
BODY: I'm not dead!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.3.068 Normal file
View file

@ -0,0 +1,50 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.068
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.068
Problem: Using freed memory when doing ":saveas" and an autocommand sets
'autochdir'. (Kevin Klement)
Solution: Get the value of fname again after executing autocommands.
Files: src/ex_cmds.c
*** ../vim-7.3.067/src/ex_cmds.c 2010-10-15 20:20:00.000000000 +0200
--- src/ex_cmds.c 2010-11-24 17:53:07.000000000 +0100
***************
*** 2705,2710 ****
--- 2705,2714 ----
TRUE);
do_modelines(0);
}
+
+ /* Autocommands may have changed buffer names, esp. when
+ * 'autochdir' is set. */
+ fname = curbuf->b_sfname;
#endif
}
*** ../vim-7.3.067/src/version.c 2010-11-24 17:03:34.000000000 +0100
--- src/version.c 2010-11-24 17:55:11.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 68,
/**/
--
I used to wonder about the meaning of life. But I looked it
up in the dictionary under "L" and there it was - the meaning
of life. It was less than I expected. - Dogbert
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

49
7.3.069 Normal file
View file

@ -0,0 +1,49 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.069
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.069
Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK
as documented.
Solution: call gtk_entry_set_activates_default(). (Britton Kerin)
Files: src/gui_gtk.c
*** ../vim-7.3.068/src/gui_gtk.c 2010-08-15 21:57:32.000000000 +0200
--- src/gui_gtk.c 2010-11-24 18:44:21.000000000 +0100
***************
*** 1287,1292 ****
--- 1287,1295 ----
entry = gtk_entry_new();
gtk_widget_show(entry);
+ /* Make Enter work like pressing OK. */
+ gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
+
text = CONVERT_TO_UTF8(textfield);
gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
CONVERT_TO_UTF8_FREE(text);
*** ../vim-7.3.068/src/version.c 2010-11-24 17:59:27.000000000 +0100
--- src/version.c 2010-11-24 18:46:39.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 69,
/**/
--
Why I like vim:
> I like VIM because, when I ask a question in this newsgroup, I get a
> one-line answer. With xemacs, I get a 1Kb lisp script with bugs in it ;-)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.3.070 Normal file
View file

@ -0,0 +1,53 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.070
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.070
Problem: Can set environment variables in the sandbox, could be abused.
Solution: Disallow it.
Files: src/eval.c
*** ../vim-7.3.069/src/eval.c 2010-11-10 20:31:24.000000000 +0100
--- src/eval.c 2010-12-02 14:42:31.000000000 +0100
***************
*** 2326,2332 ****
else if (endchars != NULL
&& vim_strchr(endchars, *skipwhite(arg)) == NULL)
EMSG(_(e_letunexp));
! else
{
c1 = name[len];
name[len] = NUL;
--- 2326,2332 ----
else if (endchars != NULL
&& vim_strchr(endchars, *skipwhite(arg)) == NULL)
EMSG(_(e_letunexp));
! else if (!check_secure())
{
c1 = name[len];
name[len] = NUL;
*** ../vim-7.3.069/src/version.c 2010-11-24 18:48:08.000000000 +0100
--- src/version.c 2010-12-02 14:46:44.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 70,
/**/
--
The only way the average employee can speak to an executive is by taking a
second job as a golf caddie.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

65
7.3.071 Normal file
View file

@ -0,0 +1,65 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.071
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.071
Problem: Editing a file in a window that's in diff mode resets 'diff'
but not cursor binding.
Solution: Reset cursor binding in two more places.
Files: src/quickfix.c, src/option.c
*** ../vim-7.3.070/src/quickfix.c 2010-11-24 16:31:55.000000000 +0100
--- src/quickfix.c 2010-12-02 15:02:00.000000000 +0100
***************
*** 2359,2364 ****
--- 2359,2365 ----
set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
OPT_LOCAL);
set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL);
+ RESET_BINDING(curwin);
#ifdef FEAT_DIFF
curwin->w_p_diff = FALSE;
#endif
*** ../vim-7.3.070/src/option.c 2010-10-13 14:05:29.000000000 +0200
--- src/option.c 2010-12-02 15:12:02.000000000 +0100
***************
*** 9756,9761 ****
--- 9759,9767 ----
#ifdef FEAT_SCROLLBIND
to->wo_scb = from->wo_scb;
#endif
+ #ifdef FEAT_CURSORBIND
+ to->wo_crb = from->wo_crb;
+ #endif
#ifdef FEAT_SPELL
to->wo_spell = from->wo_spell;
#endif
*** ../vim-7.3.070/src/version.c 2010-12-02 14:47:56.000000000 +0100
--- src/version.c 2010-12-02 15:31:12.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 71,
/**/
--
A salesperson says: Translation:
"backward compatible" Old technology
"Premium" Overpriced
"Can't keep it on the shelf" Unavailable
"Stands alone" Piece of shit
"Proprietary" Incompatible
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

295
7.3.072 Normal file
View file

@ -0,0 +1,295 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.072
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.072
Problem: Can't complete file names while ignoring case.
Solution: Add 'wildignorecase'.
Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c,
src/option.h, src/vim.h, runtime/doc/options.txt
*** ../vim-7.3.071/src/ex_docmd.c 2010-11-24 15:50:54.000000000 +0100
--- src/ex_docmd.c 2010-12-02 15:58:10.000000000 +0100
***************
*** 4524,4535 ****
else /* n == 2 */
{
expand_T xpc;
ExpandInit(&xpc);
xpc.xp_context = EXPAND_FILES;
p = ExpandOne(&xpc, eap->arg, NULL,
! WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
! WILD_EXPAND_FREE);
if (p == NULL)
return FAIL;
}
--- 4524,4537 ----
else /* n == 2 */
{
expand_T xpc;
+ int options = WILD_LIST_NOTFOUND|WILD_ADD_SLASH;
ExpandInit(&xpc);
xpc.xp_context = EXPAND_FILES;
+ if (p_wic)
+ options += WILD_ICASE;
p = ExpandOne(&xpc, eap->arg, NULL,
! options, WILD_EXPAND_FREE);
if (p == NULL)
return FAIL;
}
*** ../vim-7.3.071/src/ex_getln.c 2010-11-16 14:05:48.000000000 +0100
--- src/ex_getln.c 2010-11-28 15:07:49.000000000 +0100
***************
*** 3339,3348 ****
p2 = NULL;
else
{
p2 = ExpandOne(xp, p1,
vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
! WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE
! |options, type);
vim_free(p1);
/* longest match: make sure it is not shorter, happens with :help */
if (p2 != NULL && type == WILD_LONGEST)
--- 3339,3352 ----
p2 = NULL;
else
{
+ int use_options = options |
+ WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE;
+
+ if (p_wic)
+ use_options += WILD_ICASE;
p2 = ExpandOne(xp, p1,
vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
! use_options, type);
vim_free(p1);
/* longest match: make sure it is not shorter, happens with :help */
if (p2 != NULL && type == WILD_LONGEST)
***************
*** 3428,3433 ****
--- 3432,3438 ----
* options = WILD_KEEP_ALL: don't remove 'wildignore' entries
* options = WILD_SILENT: don't print warning messages
* options = WILD_ESCAPE: put backslash before special chars
+ * options = WILD_ICASE: ignore case for files
*
* The variables xp->xp_context and xp->xp_backslash must have been set!
*/
***************
*** 4361,4366 ****
--- 4366,4372 ----
char_u ***matches; /* return: array of pointers to matches */
{
char_u *file_str = NULL;
+ int options = WILD_ADD_SLASH|WILD_SILENT;
if (xp->xp_context == EXPAND_UNSUCCESSFUL)
{
***************
*** 4379,4387 ****
if (file_str == NULL)
return EXPAND_UNSUCCESSFUL;
/* find all files that match the description */
! if (ExpandFromContext(xp, file_str, matchcount, matches,
! WILD_ADD_SLASH|WILD_SILENT) == FAIL)
{
*matchcount = 0;
*matches = NULL;
--- 4385,4395 ----
if (file_str == NULL)
return EXPAND_UNSUCCESSFUL;
+ if (p_wic)
+ options += WILD_ICASE;
+
/* find all files that match the description */
! if (ExpandFromContext(xp, file_str, matchcount, matches, options) == FAIL)
{
*matchcount = 0;
*matches = NULL;
***************
*** 4433,4439 ****
char_u *pat;
int *num_file;
char_u ***file;
! int options;
{
#ifdef FEAT_CMDL_COMPL
regmatch_T regmatch;
--- 4441,4447 ----
char_u *pat;
int *num_file;
char_u ***file;
! int options; /* EW_ flags */
{
#ifdef FEAT_CMDL_COMPL
regmatch_T regmatch;
***************
*** 4487,4492 ****
--- 4495,4503 ----
flags |= (EW_FILE | EW_PATH);
else
flags = (flags | EW_DIR) & ~EW_FILE;
+ if (options & WILD_ICASE)
+ flags |= EW_ICASE;
+
/* Expand wildcards, supporting %:h and the like. */
ret = expand_wildcards_eval(&pat, num_file, file, flags);
if (free_pat)
*** ../vim-7.3.071/src/misc1.c 2010-08-16 21:46:12.000000000 +0200
--- src/misc1.c 2010-11-28 15:02:57.000000000 +0100
***************
*** 9161,9167 ****
#ifdef CASE_INSENSITIVE_FILENAME
regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
#else
! regmatch.rm_ic = FALSE; /* Don't ever ignore case */
#endif
regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
vim_free(pat);
--- 9161,9170 ----
#ifdef CASE_INSENSITIVE_FILENAME
regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
#else
! if (flags & EW_ICASE)
! regmatch.rm_ic = TRUE; /* 'wildignorecase' set */
! else
! regmatch.rm_ic = FALSE; /* Don't ignore case */
#endif
regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
vim_free(pat);
***************
*** 9643,9649 ****
if (paths == NULL)
return 0;
! files = globpath(paths, pattern, 0);
vim_free(paths);
if (files == NULL)
return 0;
--- 9646,9652 ----
if (paths == NULL)
return 0;
! files = globpath(paths, pattern, (flags & EW_ICASE) ? WILD_ICASE : 0);
vim_free(paths);
if (files == NULL)
return 0;
*** ../vim-7.3.071/src/option.c 2010-12-02 15:33:10.000000000 +0100
--- src/option.c 2010-12-02 15:12:02.000000000 +0100
***************
*** 2740,2746 ****
(char_u *)&p_wc, PV_NONE,
{(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
SCRIPTID_INIT},
! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
(char_u *)&p_wcm, PV_NONE,
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
{"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
--- 2740,2746 ----
(char_u *)&p_wc, PV_NONE,
{(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
SCRIPTID_INIT},
! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
(char_u *)&p_wcm, PV_NONE,
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
{"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
***************
*** 2750,2755 ****
--- 2750,2758 ----
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
+ {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
+ (char_u *)&p_wic, PV_NONE,
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
{"wildmenu", "wmnu", P_BOOL|P_VI_DEF,
#ifdef FEAT_WILDMENU
(char_u *)&p_wmnu, PV_NONE,
*** ../vim-7.3.071/src/option.h 2010-08-15 21:57:28.000000000 +0200
--- src/option.h 2010-11-28 14:29:18.000000000 +0100
***************
*** 872,877 ****
--- 872,878 ----
EXTERN char_u *p_ww; /* 'whichwrap' */
EXTERN long p_wc; /* 'wildchar' */
EXTERN long p_wcm; /* 'wildcharm' */
+ EXTERN long p_wic; /* 'wildignorecase' */
EXTERN char_u *p_wim; /* 'wildmode' */
#ifdef FEAT_WILDMENU
EXTERN int p_wmnu; /* 'wildmenu' */
*** ../vim-7.3.071/src/vim.h 2010-10-20 19:17:43.000000000 +0200
--- src/vim.h 2010-11-28 14:49:02.000000000 +0100
***************
*** 798,803 ****
--- 798,804 ----
#define WILD_KEEP_ALL 32
#define WILD_SILENT 64
#define WILD_ESCAPE 128
+ #define WILD_ICASE 256
/* Flags for expand_wildcards() */
#define EW_DIR 0x01 /* include directory names */
***************
*** 808,813 ****
--- 809,815 ----
#define EW_SILENT 0x20 /* don't print "1 returned" from shell */
#define EW_EXEC 0x40 /* executable files */
#define EW_PATH 0x80 /* search in 'path' too */
+ #define EW_ICASE 0x100 /* ignore case */
/* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
* is used when executing commands and EW_SILENT for interactive expanding. */
*** ../vim-7.3.071/runtime/doc/options.txt 2010-10-20 17:44:01.000000000 +0200
--- runtime/doc/options.txt 2010-12-02 11:15:01.000000000 +0100
***************
*** 7748,7753 ****
--- 7756,7772 ----
a pattern from the list. This avoids problems when a future version
uses another default.
+
+ *'wildignorecase* *'wic'* *'nowildignorecase* *'nowic'*
+ 'wildignorecase' 'wic' boolean (default off)
+ global
+ {not in Vi}
+ When set case is ignored when completing file names and directories.
+ Has no effect on systems where file name case is generally ignored.
+ Does not apply when the shell is used to expand wildcards, which
+ happens when there are special characters.
+
+
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default off)
global
*** ../vim-7.3.071/src/version.c 2010-12-02 15:33:10.000000000 +0100
--- src/version.c 2010-12-02 15:57:14.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 72,
/**/
--
I recommend ordering large cargo containers of paper towels to make up
whatever budget underruns you have. Paper products are always useful and they
have the advantage of being completely flushable if you need to make room in
the storage area later.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

92
7.3.073 Normal file
View file

@ -0,0 +1,92 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.073
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.073
Problem: Double free memory when netbeans command follows DETACH.
Solution: Only free the node when owned. (Xavier de Gaye)
Files: src/netbeans.c
*** ../vim-7.3.072/src/netbeans.c 2010-11-16 15:48:57.000000000 +0100
--- src/netbeans.c 2010-12-02 16:59:11.000000000 +0100
***************
*** 643,648 ****
--- 643,649 ----
{
char_u *p;
queue_T *node;
+ int own_node;
while (head.next != NULL && head.next != &head)
{
***************
*** 681,700 ****
*p++ = NUL;
if (*p == NUL)
{
head.next = node->next;
node->next->prev = node->prev;
}
/* now, parse and execute the commands */
nb_parse_cmd(node->buffer);
! if (*p == NUL)
{
/* buffer finished, dispose of the node and buffer */
vim_free(node->buffer);
vim_free(node);
}
! else
{
/* more follows, move to the start */
STRMOVE(node->buffer, p);
--- 682,706 ----
*p++ = NUL;
if (*p == NUL)
{
+ own_node = TRUE;
head.next = node->next;
node->next->prev = node->prev;
}
+ else
+ own_node = FALSE;
/* now, parse and execute the commands */
nb_parse_cmd(node->buffer);
! if (own_node)
{
/* buffer finished, dispose of the node and buffer */
vim_free(node->buffer);
vim_free(node);
}
! /* Check that "head" wasn't changed under our fingers, e.g. when a
! * DETACH command was handled. */
! else if (head.next == node)
{
/* more follows, move to the start */
STRMOVE(node->buffer, p);
*** ../vim-7.3.072/src/version.c 2010-12-02 16:01:23.000000000 +0100
--- src/version.c 2010-12-02 17:00:29.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 73,
/**/
--
If the Universe is constantly expanding, why can't I ever find a parking space?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

235
7.3.074 Normal file
View file

@ -0,0 +1,235 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.074
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.074
Problem: Can't use the "+ register like "* for yank and put.
Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c,
src/option.c
*** ../vim-7.3.073/runtime/doc/options.txt 2010-12-02 16:01:23.000000000 +0100
--- runtime/doc/options.txt 2010-12-02 21:22:48.000000000 +0100
***************
*** 1434,1439 ****
--- 1434,1448 ----
explicitly accessed using the "* notation. Also see
|gui-clipboard|.
+ unnamedplus A variant of "unnamed" flag which uses the clipboard
+ register '+' (|quoteplus|) instead of register '*' for
+ all operations except yank. Yank shall copy the text
+ into register '+' and also into '*' when "unnamed" is
+ included.
+ Only available with the |+x11| feature.
+ Availability can be checked with: >
+ if has('unnamedplus')
+ <
autoselect Works like the 'a' flag in 'guioptions': If present,
then whenever Visual mode is started, or the Visual
area extended, Vim tries to become the owner of the
*** ../vim-7.3.073/src/eval.c 2010-12-02 14:47:56.000000000 +0100
--- src/eval.c 2010-12-02 17:30:23.000000000 +0100
***************
*** 12135,12140 ****
--- 12139,12147 ----
#ifdef FEAT_TOOLBAR
"toolbar",
#endif
+ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
+ "unnamedplus",
+ #endif
#ifdef FEAT_USR_CMDS
"user-commands", /* was accidentally included in 5.4 */
"user_commands",
*** ../vim-7.3.073/src/globals.h 2010-11-24 14:28:53.000000000 +0100
--- src/globals.h 2010-12-02 20:07:42.000000000 +0100
***************
*** 512,518 ****
# define clip_plus clip_star /* there is only one clipboard */
# define ONE_CLIPBOARD
# endif
! EXTERN int clip_unnamed INIT(= FALSE);
EXTERN int clip_autoselect INIT(= FALSE);
EXTERN int clip_autoselectml INIT(= FALSE);
EXTERN int clip_html INIT(= FALSE);
--- 512,522 ----
# define clip_plus clip_star /* there is only one clipboard */
# define ONE_CLIPBOARD
# endif
!
! #define CLIP_UNNAMED 1
! #define CLIP_UNNAMED_PLUS 2
! EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
!
EXTERN int clip_autoselect INIT(= FALSE);
EXTERN int clip_autoselectml INIT(= FALSE);
EXTERN int clip_html INIT(= FALSE);
*** ../vim-7.3.073/src/ops.c 2010-11-24 14:28:53.000000000 +0100
--- src/ops.c 2010-12-02 21:33:04.000000000 +0100
***************
*** 1584,1592 ****
adjust_clip_reg(rp)
int *rp;
{
! /* If no reg. specified, and "unnamed" is in 'clipboard', use '*' reg. */
! if (*rp == 0 && clip_unnamed)
! *rp = '*';
if (!clip_star.available && *rp == '*')
*rp = 0;
if (!clip_plus.available && *rp == '+')
--- 1584,1594 ----
adjust_clip_reg(rp)
int *rp;
{
! /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard',
! * use '*' or '+' reg, respectively. "unnamedplus" prevails. */
! if (*rp == 0 && clip_unnamed != 0)
! *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available)
! ? '+' : '*';
if (!clip_star.available && *rp == '*')
*rp = 0;
if (!clip_plus.available && *rp == '+')
***************
*** 2842,2847 ****
--- 2844,2850 ----
char_u *p;
char_u *pnew;
struct block_def bd;
+ int did_star = FALSE;
/* check for read-only register */
if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE))
***************
*** 3115,3121 ****
*/
if (clip_star.available
&& (curr == &(y_regs[STAR_REGISTER])
! || (!deleting && oap->regname == 0 && clip_unnamed)))
{
if (curr != &(y_regs[STAR_REGISTER]))
/* Copy the text from register 0 to the clipboard register. */
--- 3118,3125 ----
*/
if (clip_star.available
&& (curr == &(y_regs[STAR_REGISTER])
! || (!deleting && oap->regname == 0
! && (clip_unnamed & CLIP_UNNAMED))))
{
if (curr != &(y_regs[STAR_REGISTER]))
/* Copy the text from register 0 to the clipboard register. */
***************
*** 3123,3128 ****
--- 3127,3133 ----
clip_own_selection(&clip_star);
clip_gen_set_selection(&clip_star);
+ did_star = TRUE;
}
# ifdef FEAT_X11
***************
*** 3130,3141 ****
* If we were yanking to the '+' register, send result to selection.
* Also copy to the '*' register, in case auto-select is off.
*/
! else if (clip_plus.available && curr == &(y_regs[PLUS_REGISTER]))
{
/* No need to copy to * register upon 'unnamed' now - see below */
clip_own_selection(&clip_plus);
clip_gen_set_selection(&clip_plus);
! if (!clip_isautosel())
{
copy_yank_reg(&(y_regs[STAR_REGISTER]));
clip_own_selection(&clip_star);
--- 3135,3153 ----
* If we were yanking to the '+' register, send result to selection.
* Also copy to the '*' register, in case auto-select is off.
*/
! if (clip_plus.available
! && (curr == &(y_regs[PLUS_REGISTER])
! || (!deleting && oap->regname == 0
! && (clip_unnamed & CLIP_UNNAMED_PLUS))))
{
+ if (curr != &(y_regs[PLUS_REGISTER]))
+ /* Copy the text from register 0 to the clipboard register. */
+ copy_yank_reg(&(y_regs[PLUS_REGISTER]));
+
/* No need to copy to * register upon 'unnamed' now - see below */
clip_own_selection(&clip_plus);
clip_gen_set_selection(&clip_plus);
! if (!clip_isautosel() && !did_star)
{
copy_yank_reg(&(y_regs[STAR_REGISTER]));
clip_own_selection(&clip_star);
*** ../vim-7.3.073/src/option.c 2010-12-02 16:01:23.000000000 +0100
--- src/option.c 2010-12-02 21:41:32.000000000 +0100
***************
*** 7307,7313 ****
static char_u *
check_clipboard_option()
{
! int new_unnamed = FALSE;
int new_autoselect = FALSE;
int new_autoselectml = FALSE;
int new_html = FALSE;
--- 7307,7313 ----
static char_u *
check_clipboard_option()
{
! int new_unnamed = 0;
int new_autoselect = FALSE;
int new_autoselectml = FALSE;
int new_html = FALSE;
***************
*** 7319,7327 ****
{
if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL))
{
! new_unnamed = TRUE;
p += 7;
}
else if (STRNCMP(p, "autoselect", 10) == 0
&& (p[10] == ',' || p[10] == NUL))
{
--- 7319,7333 ----
{
if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL))
{
! new_unnamed |= CLIP_UNNAMED;
p += 7;
}
+ else if (STRNCMP(p, "unnamedplus", 11) == 0
+ && (p[11] == ',' || p[11] == NUL))
+ {
+ new_unnamed |= CLIP_UNNAMED_PLUS;
+ p += 11;
+ }
else if (STRNCMP(p, "autoselect", 10) == 0
&& (p[10] == ',' || p[10] == NUL))
{
*** ../vim-7.3.073/src/version.c 2010-12-02 17:09:48.000000000 +0100
--- src/version.c 2010-12-02 21:34:40.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 74,
/**/
--
The budget process was invented by an alien race of sadistic beings who
resemble large cats.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

132
7.3.075 Normal file
View file

@ -0,0 +1,132 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.075
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.075 (after 7.3.072)
Problem: Missing part of 'wildignorecase'
Solution: Also adjust expand()
Files: src/eval.c
*** ../vim-7.3.074/src/eval.c 2010-12-02 21:43:10.000000000 +0100
--- src/eval.c 2010-12-02 17:30:23.000000000 +0100
***************
*** 9876,9882 ****
char_u *s;
int len;
char_u *errormsg;
! int flags = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
expand_T xpc;
int error = FALSE;
--- 9876,9882 ----
char_u *s;
int len;
char_u *errormsg;
! int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
expand_T xpc;
int error = FALSE;
***************
*** 9894,9905 ****
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
if (argvars[1].v_type != VAR_UNKNOWN
&& get_tv_number_chk(&argvars[1], &error))
! flags |= WILD_KEEP_ALL;
if (!error)
{
ExpandInit(&xpc);
xpc.xp_context = EXPAND_FILES;
! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL);
}
else
rettv->vval.v_string = NULL;
--- 9894,9907 ----
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
if (argvars[1].v_type != VAR_UNKNOWN
&& get_tv_number_chk(&argvars[1], &error))
! options |= WILD_KEEP_ALL;
if (!error)
{
ExpandInit(&xpc);
xpc.xp_context = EXPAND_FILES;
! if (p_wic)
! options += WILD_ICASE;
! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, options, WILD_ALL);
}
else
rettv->vval.v_string = NULL;
***************
*** 11672,11678 ****
typval_T *argvars;
typval_T *rettv;
{
! int flags = WILD_SILENT|WILD_USE_NL;
expand_T xpc;
int error = FALSE;
--- 11674,11680 ----
typval_T *argvars;
typval_T *rettv;
{
! int options = WILD_SILENT|WILD_USE_NL;
expand_T xpc;
int error = FALSE;
***************
*** 11680,11693 ****
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
if (argvars[1].v_type != VAR_UNKNOWN
&& get_tv_number_chk(&argvars[1], &error))
! flags |= WILD_KEEP_ALL;
rettv->v_type = VAR_STRING;
if (!error)
{
ExpandInit(&xpc);
xpc.xp_context = EXPAND_FILES;
rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
! NULL, flags, WILD_ALL);
}
else
rettv->vval.v_string = NULL;
--- 11682,11697 ----
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
if (argvars[1].v_type != VAR_UNKNOWN
&& get_tv_number_chk(&argvars[1], &error))
! options |= WILD_KEEP_ALL;
rettv->v_type = VAR_STRING;
if (!error)
{
ExpandInit(&xpc);
xpc.xp_context = EXPAND_FILES;
+ if (p_wic)
+ options += WILD_ICASE;
rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
! NULL, options, WILD_ALL);
}
else
rettv->vval.v_string = NULL;
*** ../vim-7.3.074/src/version.c 2010-12-02 21:43:10.000000000 +0100
--- src/version.c 2010-12-02 21:43:59.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 75,
/**/
--
Engineers will go without food and hygiene for days to solve a problem.
(Other times just because they forgot.)
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

203
7.3.076 Normal file
View file

@ -0,0 +1,203 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.076
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.076
Problem: Clang warnings for dead code.
Solution: Remove it. (Carlo Teubner)
Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c,
src/spell.c
*** ../vim-7.3.075/src/gui_gtk.c 2010-11-24 18:48:08.000000000 +0100
--- src/gui_gtk.c 2010-12-08 12:25:17.000000000 +0100
***************
*** 1798,1804 ****
char_u *repl_text;
gboolean direction_down;
SharedFindReplace *sfr;
- int rc;
flags = (int)(long)data; /* avoid a lint warning here */
--- 1798,1803 ----
***************
*** 1824,1830 ****
repl_text = CONVERT_FROM_UTF8(repl_text);
find_text = CONVERT_FROM_UTF8(find_text);
! rc = gui_do_findrepl(flags, find_text, repl_text, direction_down);
CONVERT_FROM_UTF8_FREE(repl_text);
CONVERT_FROM_UTF8_FREE(find_text);
}
--- 1823,1829 ----
repl_text = CONVERT_FROM_UTF8(repl_text);
find_text = CONVERT_FROM_UTF8(find_text);
! gui_do_findrepl(flags, find_text, repl_text, direction_down);
CONVERT_FROM_UTF8_FREE(repl_text);
CONVERT_FROM_UTF8_FREE(find_text);
}
*** ../vim-7.3.075/src/if_ruby.c 2010-11-24 17:03:34.000000000 +0100
--- src/if_ruby.c 2010-12-08 12:30:38.000000000 +0100
***************
*** 586,594 ****
if (u_save(eap->line1 - 1, eap->line2 + 1) != OK)
return;
for (i = eap->line1; i <= eap->line2; i++) {
! VALUE line, oldline;
! line = oldline = vim_str2rb_enc_str((char *)ml_get(i));
rb_lastline_set(line);
eval_enc_string_protect((char *) eap->arg, &state);
if (state) {
--- 586,594 ----
if (u_save(eap->line1 - 1, eap->line2 + 1) != OK)
return;
for (i = eap->line1; i <= eap->line2; i++) {
! VALUE line;
! line = vim_str2rb_enc_str((char *)ml_get(i));
rb_lastline_set(line);
eval_enc_string_protect((char *) eap->arg, &state);
if (state) {
*** ../vim-7.3.075/src/misc2.c 2010-08-15 21:57:32.000000000 +0200
--- src/misc2.c 2010-12-08 12:42:44.000000000 +0100
***************
*** 200,206 ****
}
#endif
- idx = -1;
ptr = line;
while (col <= wcol && *ptr != NUL)
{
--- 200,205 ----
***************
*** 1223,1229 ****
#endif
/*
! * copy a string into newly allocated memory
*/
char_u *
vim_strsave(string)
--- 1222,1228 ----
#endif
/*
! * Copy "string" into newly allocated memory.
*/
char_u *
vim_strsave(string)
***************
*** 1239,1244 ****
--- 1238,1249 ----
return p;
}
+ /*
+ * Copy up to "len" bytes of "string" into newly allocated memory and
+ * terminate with a NUL.
+ * The allocated memory always has size "len + 1", also when "string" is
+ * shorter.
+ */
char_u *
vim_strnsave(string, len)
char_u *string;
*** ../vim-7.3.075/src/netbeans.c 2010-12-02 17:09:48.000000000 +0100
--- src/netbeans.c 2010-12-08 12:43:57.000000000 +0100
***************
*** 960,966 ****
keyQ_T *key_node = keyHead.next;
queue_T *cmd_node = head.next;
nbbuf_T buf;
- buf_T *bufp;
int i;
/* free the netbeans buffer list */
--- 960,965 ----
***************
*** 969,975 ****
buf = buf_list[i];
vim_free(buf.displayname);
vim_free(buf.signmap);
! if ((bufp=buf.bufp) != NULL)
{
buf.bufp->b_netbeans_file = FALSE;
buf.bufp->b_was_netbeans_file = FALSE;
--- 968,974 ----
buf = buf_list[i];
vim_free(buf.displayname);
vim_free(buf.signmap);
! if (buf.bufp != NULL)
{
buf.bufp->b_netbeans_file = FALSE;
buf.bufp->b_was_netbeans_file = FALSE;
*** ../vim-7.3.075/src/spell.c 2010-09-29 18:32:47.000000000 +0200
--- src/spell.c 2010-12-08 12:47:13.000000000 +0100
***************
*** 9839,9848 ****
{
/* be quick for ASCII */
if (wp->w_s->b_spell_ismw[*p])
- {
s = p + 1; /* skip a mid-word character */
- l = MB_BYTE2LEN(*s);
- }
}
else
{
--- 9839,9845 ----
***************
*** 9850,9859 ****
if (c < 256 ? wp->w_s->b_spell_ismw[c]
: (wp->w_s->b_spell_ismw_mb != NULL
&& vim_strchr(wp->w_s->b_spell_ismw_mb, c) != NULL))
- {
s = p + l;
- l = MB_BYTE2LEN(*s);
- }
}
c = mb_ptr2char(s);
--- 9847,9853 ----
***************
*** 13813,13823 ****
su->su_sfmaxscore = cleanup_suggestions(gap,
su->su_sfmaxscore, SUG_CLEAN_COUNT(su));
else
- {
- i = su->su_maxscore;
su->su_maxscore = cleanup_suggestions(gap,
su->su_maxscore, SUG_CLEAN_COUNT(su));
- }
}
}
}
--- 13807,13814 ----
*** ../vim-7.3.075/src/version.c 2010-12-02 21:44:35.000000000 +0100
--- src/version.c 2010-12-08 13:10:00.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 76,
/**/
--
Never enter the boss's office unless it's absolutely necessary. Every boss
saves one corner of the desk for useless assignments that are doled out like
Halloween candy to each visitor.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

134
7.3.077 Normal file
View file

@ -0,0 +1,134 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.077
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.077
Problem: When updating crypt of swapfile fails there is no error message.
(Carlo Teubner)
Solution: Add the error message.
Files: src/memline.c
*** ../vim-7.3.076/src/memline.c 2010-08-15 21:57:31.000000000 +0200
--- src/memline.c 2010-12-08 12:39:10.000000000 +0100
***************
*** 582,587 ****
--- 582,590 ----
idx = ip->ip_index + 1; /* go to next index */
page_count = 1;
}
+
+ if (error > 0)
+ EMSG(_("E843: Error while updating swap file crypt"));
}
mfp->mf_old_key = NULL;
***************
*** 2384,2390 ****
* Make a copy of the line if necessary.
*/
/*
! * get a pointer to a (read-only copy of a) line
*
* On failure an error message is given and IObuff is returned (to avoid
* having to check for error everywhere).
--- 2387,2393 ----
* Make a copy of the line if necessary.
*/
/*
! * Return a pointer to a (read-only copy of a) line.
*
* On failure an error message is given and IObuff is returned (to avoid
* having to check for error everywhere).
***************
*** 2397,2403 ****
}
/*
! * ml_get_pos: get pointer to position 'pos'
*/
char_u *
ml_get_pos(pos)
--- 2400,2406 ----
}
/*
! * Return pointer to position "pos".
*/
char_u *
ml_get_pos(pos)
***************
*** 2407,2413 ****
}
/*
! * ml_get_curline: get pointer to cursor line.
*/
char_u *
ml_get_curline()
--- 2410,2416 ----
}
/*
! * Return pointer to cursor line.
*/
char_u *
ml_get_curline()
***************
*** 2416,2422 ****
}
/*
! * ml_get_cursor: get pointer to cursor position
*/
char_u *
ml_get_cursor()
--- 2419,2425 ----
}
/*
! * Return pointer to cursor position.
*/
char_u *
ml_get_cursor()
***************
*** 2426,2432 ****
}
/*
! * get a pointer to a line in a specific buffer
*
* "will_change": if TRUE mark the buffer dirty (chars in the line will be
* changed)
--- 2429,2435 ----
}
/*
! * Return a pointer to a line in a specific buffer
*
* "will_change": if TRUE mark the buffer dirty (chars in the line will be
* changed)
*** ../vim-7.3.076/src/version.c 2010-12-08 13:11:15.000000000 +0100
--- src/version.c 2010-12-08 13:15:44.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 77,
/**/
--
An operatingsystem is just a name you give to the rest of bloating
idiosyncratic machine-based-features you left out of your editor.
(author unknown)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.078 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.078
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.078
Problem: Warning for unused variable.
Solution: Adjuste #ifdefs.
Files: src/ops.c
*** ../vim-7.3.077/src/ops.c 2010-12-02 21:43:10.000000000 +0100
--- src/ops.c 2010-12-08 14:21:48.000000000 +0100
***************
*** 2844,2850 ****
--- 2844,2852 ----
char_u *p;
char_u *pnew;
struct block_def bd;
+ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
int did_star = FALSE;
+ #endif
/* check for read-only register */
if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE))
***************
*** 3127,3133 ****
--- 3129,3137 ----
clip_own_selection(&clip_star);
clip_gen_set_selection(&clip_star);
+ # ifdef FEAT_X11
did_star = TRUE;
+ # endif
}
# ifdef FEAT_X11
*** ../vim-7.3.077/src/version.c 2010-12-08 13:16:58.000000000 +0100
--- src/version.c 2010-12-08 14:22:42.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 78,
/**/
--
A)bort, R)etry, D)o it right this time
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.3.079 Normal file
View file

@ -0,0 +1,50 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.079
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.079
Problem: Duplicate lines in makefile.
Solution: Remove the lines. (Hong Xu)
Files: src/Make_mvc.mak
*** ../vim-7.3.078/src/Make_mvc.mak 2010-11-03 21:59:23.000000000 +0100
--- src/Make_mvc.mak 2010-12-08 14:53:16.000000000 +0100
***************
*** 380,388 ****
!if "$(_NMAKE_VER)" == "10.00.30319.01"
MSVCVER = 10.0
!endif
- !if "$(_NMAKE_VER)" == "9.00.30729.01"
- MSVCVER = 9.0
- !endif
!endif
# Abort bulding VIM if version of VC is unrecognised.
--- 380,385 ----
*** ../vim-7.3.078/src/version.c 2010-12-08 14:23:08.000000000 +0100
--- src/version.c 2010-12-08 14:54:02.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 79,
/**/
--
login: yes
password: I don't know, please tell me
password is incorrect
login: yes
password: incorrect
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

205
7.3.080 Normal file
View file

@ -0,0 +1,205 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.080
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.080
Problem: Spell doesn't work on VMS.
Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
Files: src/spell.c
*** ../vim-7.3.079/src/spell.c 2010-12-08 13:11:15.000000000 +0100
--- src/spell.c 2010-12-08 17:01:13.000000000 +0100
***************
*** 327,332 ****
--- 327,342 ----
typedef long idx_T;
#endif
+ #ifdef VMS
+ # define SPL_FNAME_TMPL "%s_%s.spl"
+ # define SPL_FNAME_ADD "_add."
+ # define SPL_FNAME_ASCII "_ascii."
+ #else
+ # define SPL_FNAME_TMPL "%s.%s.spl"
+ # define SPL_FNAME_ADD ".add."
+ # define SPL_FNAME_ASCII ".ascii."
+ #endif
+
/* Flags used for a word. Only the lowest byte can be used, the region byte
* comes above it. */
#define WF_REGION 0x01 /* region byte follows */
***************
*** 2471,2484 ****
* Find the first spell file for "lang" in 'runtimepath' and load it.
*/
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
! "spell/%s.%s.spl", lang, spell_enc());
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
if (r == FAIL && *sl.sl_lang != NUL)
{
/* Try loading the ASCII version. */
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
! "spell/%s.ascii.spl", lang);
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
#ifdef FEAT_AUTOCMD
--- 2481,2504 ----
* Find the first spell file for "lang" in 'runtimepath' and load it.
*/
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
! #ifdef VMS
! "spell/%s_%s.spl",
! #else
! "spell/%s.%s.spl",
! #endif
! lang, spell_enc());
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
if (r == FAIL && *sl.sl_lang != NUL)
{
/* Try loading the ASCII version. */
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
! #ifdef VMS
! "spell/%s_ascii.spl",
! #else
! "spell/%s.ascii.spl",
! #endif
! lang);
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
#ifdef FEAT_AUTOCMD
***************
*** 2496,2502 ****
if (r == FAIL)
{
! smsg((char_u *)_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
lang, spell_enc(), lang);
}
else if (sl.sl_slang != NULL)
--- 2516,2527 ----
if (r == FAIL)
{
! smsg((char_u *)
! #ifdef VMS
! _("Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""),
! #else
! _("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
! #endif
lang, spell_enc(), lang);
}
else if (sl.sl_slang != NULL)
***************
*** 2530,2536 ****
int_wordlist_spl(fname)
char_u *fname;
{
! vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl",
int_wordlist, spell_enc());
}
--- 2555,2561 ----
int_wordlist_spl(fname)
char_u *fname;
{
! vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL,
int_wordlist, spell_enc());
}
***************
*** 2785,2792 ****
if (lp->sl_fname == NULL)
goto endFAIL;
! /* Check for .add.spl. */
! lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL;
}
else
lp = old_lp;
--- 2810,2817 ----
if (lp->sl_fname == NULL)
goto endFAIL;
! /* Check for .add.spl (_add.spl for VMS). */
! lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL;
}
else
lp = old_lp;
***************
*** 9109,9116 ****
/* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
innames = &fnames[0];
incount = 1;
! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
! spin.si_ascii ? (char_u *)"ascii" : spell_enc());
}
else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
{
--- 9134,9141 ----
/* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
innames = &fnames[0];
incount = 1;
! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
}
else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
{
***************
*** 9119,9133 ****
}
else
/* Name should be language, make the file name from it. */
! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
! spin.si_ascii ? (char_u *)"ascii" : spell_enc());
/* Check for .ascii.spl. */
! if (strstr((char *)gettail(wfname), ".ascii.") != NULL)
spin.si_ascii = TRUE;
/* Check for .add.spl. */
! if (strstr((char *)gettail(wfname), ".add.") != NULL)
spin.si_add = TRUE;
}
--- 9144,9158 ----
}
else
/* Name should be language, make the file name from it. */
! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
/* Check for .ascii.spl. */
! if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL)
spin.si_ascii = TRUE;
/* Check for .add.spl. */
! if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL)
spin.si_add = TRUE;
}
*** ../vim-7.3.079/src/version.c 2010-12-08 14:54:58.000000000 +0100
--- src/version.c 2010-12-08 16:58:03.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 80,
/**/
--
hundred-and-one symptoms of being an internet addict:
5. You find yourself brainstorming for new subjects to search.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

84
7.3.081 Normal file
View file

@ -0,0 +1,84 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.081
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.081
Problem: Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution: Use transstr(). (partly by Caio Ariede)
Files: src/screen.c
*** ../vim-7.3.080/src/screen.c 2010-08-15 21:57:32.000000000 +0200
--- src/screen.c 2010-12-08 19:27:20.000000000 +0100
***************
*** 3405,3413 ****
# endif
)
{
! int_u text_sign;
# ifdef FEAT_SIGN_ICONS
! int_u icon_sign;
# endif
/* Draw two cells with the sign value or blank. */
--- 3405,3413 ----
# endif
)
{
! int text_sign;
# ifdef FEAT_SIGN_ICONS
! int icon_sign;
# endif
/* Draw two cells with the sign value or blank. */
***************
*** 6522,6529 ****
stl, use_sandbox,
fillchar, maxwidth, hltab, tabtab);
vim_free(stl);
- len = (int)STRLEN(buf);
while (width < maxwidth && len < (int)sizeof(buf) - 1)
{
#ifdef FEAT_MBYTE
--- 6522,6538 ----
stl, use_sandbox,
fillchar, maxwidth, hltab, tabtab);
vim_free(stl);
+ /* Make all characters printable. */
+ p = transstr(buf);
+ if (p != NULL)
+ {
+ vim_strncpy(buf, p, sizeof(buf) - 1);
+ vim_free(p);
+ }
+
+ /* fill up with "fillchar" */
+ len = (int)STRLEN(buf);
while (width < maxwidth && len < (int)sizeof(buf) - 1)
{
#ifdef FEAT_MBYTE
*** ../vim-7.3.080/src/version.c 2010-12-08 17:09:27.000000000 +0100
--- src/version.c 2010-12-08 19:31:40.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 81,
/**/
--
hundred-and-one symptoms of being an internet addict:
6. You refuse to go to a vacation spot with no electricity and no phone lines.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

51
7.3.082 Normal file
View file

@ -0,0 +1,51 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.082
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.082
Problem: Leaking file descriptor when hostname doesn't exist.
Solution: Remove old debugging lines.
Files: src/netbeans.c
*** ../vim-7.3.081/src/netbeans.c 2010-12-08 13:11:15.000000000 +0100
--- src/netbeans.c 2010-12-17 12:13:32.000000000 +0100
***************
*** 323,334 ****
server.sin_port = htons(port);
if ((host = gethostbyname(hostname)) == NULL)
{
- if (mch_access(hostname, R_OK) >= 0)
- {
- /* DEBUG: input file */
- sd = mch_open(hostname, O_RDONLY, 0);
- goto theend;
- }
nbdebug(("error in gethostbyname() in netbeans_connect()\n"));
PERROR("gethostbyname() in netbeans_connect()");
goto theend;
--- 323,328 ----
*** ../vim-7.3.081/src/version.c 2010-12-08 19:56:52.000000000 +0100
--- src/version.c 2010-12-17 12:17:11.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 82,
/**/
--
How To Keep A Healthy Level Of Insanity:
1. At lunch time, sit in your parked car with sunglasses on and point
a hair dryer at passing cars. See if they slow down.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

362
7.3.083 Normal file
View file

@ -0,0 +1,362 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.083
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.083
Problem: When a read() or write() is interrupted by a signal it fails.
Solution: Add read_eintr() and write_eintr().
Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c,
src/os_unix.c, src/undo.c, src/vim.h
*** ../vim-7.3.082/src/fileio.c 2010-08-15 21:57:26.000000000 +0200
--- src/fileio.c 2010-12-17 16:04:30.000000000 +0100
***************
*** 918,924 ****
{
/* Read the first line (and a bit more). Immediately rewind to
* the start of the file. If the read() fails "len" is -1. */
! len = vim_read(fd, firstline, 80);
lseek(fd, (off_t)0L, SEEK_SET);
for (p = firstline; p < firstline + len; ++p)
if (*p >= 0x80)
--- 918,924 ----
{
/* Read the first line (and a bit more). Immediately rewind to
* the start of the file. If the read() fails "len" is -1. */
! len = read_eintr(fd, firstline, 80);
lseek(fd, (off_t)0L, SEEK_SET);
for (p = firstline; p < firstline + len; ++p)
if (*p >= 0x80)
***************
*** 1373,1379 ****
/*
* Read bytes from the file.
*/
! size = vim_read(fd, ptr, size);
}
if (size <= 0)
--- 1373,1379 ----
/*
* Read bytes from the file.
*/
! size = read_eintr(fd, ptr, size);
}
if (size <= 0)
***************
*** 4000,4006 ****
#ifdef HAS_BW_FLAGS
write_info.bw_flags = FIO_NOCONVERT;
#endif
! while ((write_info.bw_len = vim_read(fd, copybuf,
BUFSIZE)) > 0)
{
if (buf_write_bytes(&write_info) == FAIL)
--- 4000,4006 ----
#ifdef HAS_BW_FLAGS
write_info.bw_flags = FIO_NOCONVERT;
#endif
! while ((write_info.bw_len = read_eintr(fd, copybuf,
BUFSIZE)) > 0)
{
if (buf_write_bytes(&write_info) == FAIL)
***************
*** 4813,4819 ****
#ifdef HAS_BW_FLAGS
write_info.bw_flags = FIO_NOCONVERT;
#endif
! while ((write_info.bw_len = vim_read(fd, smallbuf,
SMBUFSIZE)) > 0)
if (buf_write_bytes(&write_info) == FAIL)
break;
--- 4813,4819 ----
#ifdef HAS_BW_FLAGS
write_info.bw_flags = FIO_NOCONVERT;
#endif
! while ((write_info.bw_len = read_eintr(fd, smallbuf,
SMBUFSIZE)) > 0)
if (buf_write_bytes(&write_info) == FAIL)
break;
***************
*** 5330,5336 ****
/*
* Call write() to write a number of bytes to the file.
! * Also handles encryption and 'encoding' conversion.
*
* Return FAIL for failure, OK otherwise.
*/
--- 5330,5336 ----
/*
* Call write() to write a number of bytes to the file.
! * Handles encryption and 'encoding' conversion.
*
* Return FAIL for failure, OK otherwise.
*/
***************
*** 5702,5717 ****
crypt_encode(buf, len, buf);
#endif
! /* Repeat the write(), it may be interrupted by a signal. */
! while (len > 0)
! {
! wlen = vim_write(ip->bw_fd, buf, len);
! if (wlen <= 0) /* error! */
! return FAIL;
! len -= wlen;
! buf += wlen;
! }
! return OK;
}
#ifdef FEAT_MBYTE
--- 5702,5709 ----
crypt_encode(buf, len, buf);
#endif
! wlen = write_eintr(ip->bw_fd, buf, len);
! return (wlen < len) ? FAIL : OK;
}
#ifdef FEAT_MBYTE
***************
*** 6662,6669 ****
return -1;
}
! while ((n = vim_read(fd_in, buffer, BUFSIZE)) > 0)
! if (vim_write(fd_out, buffer, n) != n)
{
errmsg = _("E208: Error writing to \"%s\"");
break;
--- 6654,6661 ----
return -1;
}
! while ((n = read_eintr(fd_in, buffer, BUFSIZE)) > 0)
! if (write_eintr(fd_out, buffer, n) != n)
{
errmsg = _("E208: Error writing to \"%s\"");
break;
***************
*** 10304,10306 ****
--- 10296,10350 ----
}
return reg_pat;
}
+
+ #if defined(EINTR) || defined(PROTO)
+ /*
+ * Version of read() that retries when interrupted by EINTR (possibly
+ * by a SIGWINCH).
+ */
+ long
+ read_eintr(fd, buf, bufsize)
+ int fd;
+ void *buf;
+ size_t bufsize;
+ {
+ long ret;
+
+ for (;;)
+ {
+ ret = vim_read(fd, buf, bufsize);
+ if (ret >= 0 || errno != EINTR)
+ break;
+ }
+ return ret;
+ }
+
+ /*
+ * Version of write() that retries when interrupted by EINTR (possibly
+ * by a SIGWINCH).
+ */
+ long
+ write_eintr(fd, buf, bufsize)
+ int fd;
+ void *buf;
+ size_t bufsize;
+ {
+ long ret = 0;
+ long wlen;
+
+ /* Repeat the write() so long it didn't fail, other than being interrupted
+ * by a signal. */
+ while (ret < (long)bufsize)
+ {
+ wlen = vim_write(fd, buf + ret, bufsize - ret);
+ if (wlen < 0)
+ {
+ if (errno != EINTR)
+ break;
+ }
+ else
+ ret += wlen;
+ }
+ return ret;
+ }
+ #endif
*** ../vim-7.3.082/src/proto/fileio.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/fileio.pro 2010-12-17 15:01:26.000000000 +0100
***************
*** 54,57 ****
--- 54,59 ----
int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
+ long read_eintr __ARGS((int fd, void *buf, size_t bufsize));
+ long write_eintr __ARGS((int fd, void *buf, size_t bufsize));
/* vim: set ft=c : */
*** ../vim-7.3.082/src/memfile.c 2010-08-15 21:57:25.000000000 +0200
--- src/memfile.c 2010-12-17 16:02:54.000000000 +0100
***************
*** 1049,1055 ****
PERROR(_("E294: Seek error in swap file read"));
return FAIL;
}
! if ((unsigned)vim_read(mfp->mf_fd, hp->bh_data, size) != size)
{
PERROR(_("E295: Read error in swap file"));
return FAIL;
--- 1049,1055 ----
PERROR(_("E294: Seek error in swap file read"));
return FAIL;
}
! if ((unsigned)read_eintr(mfp->mf_fd, hp->bh_data, size) != size)
{
PERROR(_("E295: Read error in swap file"));
return FAIL;
***************
*** 1168,1174 ****
}
#endif
! if ((unsigned)vim_write(mfp->mf_fd, data, size) != size)
result = FAIL;
#ifdef FEAT_CRYPT
--- 1168,1174 ----
}
#endif
! if ((unsigned)write_eintr(mfp->mf_fd, data, size) != size)
result = FAIL;
#ifdef FEAT_CRYPT
*** ../vim-7.3.082/src/memline.c 2010-12-08 13:16:58.000000000 +0100
--- src/memline.c 2010-12-17 15:46:49.000000000 +0100
***************
*** 2062,2068 ****
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
if (fd >= 0)
{
! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0))
{
if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0)
{
--- 2062,2068 ----
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
if (fd >= 0)
{
! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0))
{
if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0)
{
***************
*** 4392,4398 ****
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
if (fd >= 0)
{
! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0))
{
/*
* If the swapfile has the same directory as the
--- 4392,4398 ----
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
if (fd >= 0)
{
! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0))
{
/*
* If the swapfile has the same directory as the
*** ../vim-7.3.082/src/os_unix.c 2010-10-20 19:17:43.000000000 +0200
--- src/os_unix.c 2010-12-17 16:17:43.000000000 +0100
***************
*** 4454,4460 ****
++noread_cnt;
while (RealWaitForChar(fromshell_fd, 10L, NULL))
{
! len = read(fromshell_fd, (char *)buffer
# ifdef FEAT_MBYTE
+ buffer_off, (size_t)(BUFLEN - buffer_off)
# else
--- 4454,4460 ----
++noread_cnt;
while (RealWaitForChar(fromshell_fd, 10L, NULL))
{
! len = read_eintr(fromshell_fd, buffer
# ifdef FEAT_MBYTE
+ buffer_off, (size_t)(BUFLEN - buffer_off)
# else
*** ../vim-7.3.082/src/undo.c 2010-11-03 19:32:36.000000000 +0100
--- src/undo.c 2010-12-17 15:39:24.000000000 +0100
***************
*** 1386,1392 ****
char_u mbuf[UF_START_MAGIC_LEN];
int len;
! len = vim_read(fd, mbuf, UF_START_MAGIC_LEN);
close(fd);
if (len < UF_START_MAGIC_LEN
|| memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)
--- 1386,1392 ----
char_u mbuf[UF_START_MAGIC_LEN];
int len;
! len = read_eintr(fd, mbuf, UF_START_MAGIC_LEN);
close(fd);
if (len < UF_START_MAGIC_LEN
|| memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)
*** ../vim-7.3.082/src/vim.h 2010-12-02 16:01:23.000000000 +0100
--- src/vim.h 2010-12-17 14:55:04.000000000 +0100
***************
*** 1642,1647 ****
--- 1642,1652 ----
# define USE_INPUT_BUF
#endif
+ #ifndef EINTR
+ # define read_eintr(fd, buf, count) vim_read((fd), (buf), (count))
+ # define write_eintr(fd, buf, count) vim_write((fd), (buf), (count))
+ #endif
+
#ifdef MSWIN
/* On MS-Windows the third argument isn't size_t. This matters for Win64,
* where sizeof(size_t)==8, not 4 */
*** ../vim-7.3.082/src/version.c 2010-12-17 12:19:14.000000000 +0100
--- src/version.c 2010-12-17 16:10:58.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 83,
/**/
--
How To Keep A Healthy Level Of Insanity:
9. As often as possible, skip rather than walk.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

123
7.3.084 Normal file
View file

@ -0,0 +1,123 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.084
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.084
Problem: When splitting the window, the new one scrolls with the cursor at
the top.
Solution: Compute w_fraction before setting the new height.
Files: src/window.c
*** ../vim-7.3.083/src/window.c 2010-09-21 16:56:29.000000000 +0200
--- src/window.c 2010-12-17 17:09:51.000000000 +0100
***************
*** 70,76 ****
#endif /* FEAT_WINDOWS */
static win_T *win_alloc __ARGS((win_T *after, int hidden));
! static void win_new_height __ARGS((win_T *, int));
#define URL_SLASH 1 /* path_is_url() has found "://" */
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
--- 70,77 ----
#endif /* FEAT_WINDOWS */
static win_T *win_alloc __ARGS((win_T *after, int hidden));
! static void set_fraction __ARGS((win_T *wp));
! static void win_new_height __ARGS((win_T *wp, int height));
#define URL_SLASH 1 /* path_is_url() has found "://" */
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
***************
*** 983,992 ****
--- 984,999 ----
else
frame_append(curfrp, frp);
+ /* Set w_fraction now so that the cursor keeps the same relative
+ * vertical position. */
+ set_fraction(oldwin);
+ wp->w_fraction = oldwin->w_fraction;
+
#ifdef FEAT_VERTSPLIT
if (flags & WSP_VERT)
{
wp->w_p_scr = curwin->w_p_scr;
+
if (need_status)
{
win_new_height(oldwin, oldwin->w_height - 1);
***************
*** 5453,5458 ****
--- 5460,5478 ----
#endif /* FEAT_WINDOWS */
+ #define FRACTION_MULT 16384L
+
+ /*
+ * Set wp->w_fraction for the current w_wrow and w_height.
+ */
+ static void
+ set_fraction(wp)
+ win_T *wp;
+ {
+ wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
+ + FRACTION_MULT / 2) / (long)wp->w_height;
+ }
+
/*
* Set the height of a window.
* This takes care of the things inside the window, not what happens to the
***************
*** 5465,5471 ****
{
linenr_T lnum;
int sline, line_size;
- #define FRACTION_MULT 16384L
/* Don't want a negative height. Happens when splitting a tiny window.
* Will equalize heights soon to fix it. */
--- 5485,5490 ----
***************
*** 5475,5482 ****
return; /* nothing to do */
if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
! wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
! + FRACTION_MULT / 2) / (long)wp->w_height;
wp->w_height = height;
wp->w_skipcol = 0;
--- 5494,5500 ----
return; /* nothing to do */
if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
! set_fraction(wp);
wp->w_height = height;
wp->w_skipcol = 0;
*** ../vim-7.3.083/src/version.c 2010-12-17 16:27:10.000000000 +0100
--- src/version.c 2010-12-17 17:14:19.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 84,
/**/
--
How To Keep A Healthy Level Of Insanity:
12. Sing along at the opera.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

313
7.3.085 Normal file
View file

@ -0,0 +1,313 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.085
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.085 (after 7.3.083)
Problem: Inconsistency with preproc symbols. void * computation.
Solution: Include vimio.h from vim.h. Add type cast.
Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c,
src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c,
src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c,
src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c,
src/undo.c, src/vim.h
*** ../vim-7.3.084/src/eval.c 2010-12-02 21:44:35.000000000 +0100
--- src/eval.c 2010-12-17 17:45:37.000000000 +0100
***************
*** 10,18 ****
/*
* eval.c: Expression evaluation.
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for mch_open(), must be before vim.h */
- #endif
#include "vim.h"
--- 10,15 ----
*** ../vim-7.3.084/src/ex_cmds.c 2010-11-24 17:59:27.000000000 +0100
--- src/ex_cmds.c 2010-12-17 17:46:09.000000000 +0100
***************
*** 11,20 ****
* ex_cmds.c: some functions for command line commands
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for mch_open(), must be before vim.h */
- #endif
-
#include "vim.h"
#include "version.h"
--- 11,16 ----
*** ../vim-7.3.084/src/ex_cmds2.c 2010-09-21 16:56:29.000000000 +0200
--- src/ex_cmds2.c 2010-12-17 17:46:26.000000000 +0100
***************
*** 11,20 ****
* ex_cmds2.c: some more functions for command line commands
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for mch_open(), must be before vim.h */
- #endif
-
#include "vim.h"
#include "version.h"
--- 11,16 ----
*** ../vim-7.3.084/src/fileio.c 2010-12-17 16:27:09.000000000 +0100
--- src/fileio.c 2010-12-17 17:52:42.000000000 +0100
***************
*** 11,24 ****
* fileio.c: read from and write to a file
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for lseek(), must be before vim.h */
- #endif
-
- #if defined __EMX__
- # include "vimio.h" /* for mktemp(), CJW 1997-12-03 */
- #endif
-
#include "vim.h"
#if defined(__TANDEM) || defined(__MINT__)
--- 11,16 ----
***************
*** 10336,10342 ****
* by a signal. */
while (ret < (long)bufsize)
{
! wlen = vim_write(fd, buf + ret, bufsize - ret);
if (wlen < 0)
{
if (errno != EINTR)
--- 10328,10334 ----
* by a signal. */
while (ret < (long)bufsize)
{
! wlen = vim_write(fd, (char *)buf + ret, bufsize - ret);
if (wlen < 0)
{
if (errno != EINTR)
*** ../vim-7.3.084/src/if_cscope.c 2010-09-21 16:56:29.000000000 +0200
--- src/if_cscope.c 2010-12-17 17:47:02.000000000 +0100
***************
*** 20,28 ****
#include <sys/stat.h>
#if defined(UNIX)
# include <sys/wait.h>
- #else
- /* not UNIX, must be WIN32 */
- # include "vimio.h"
#endif
#include "if_cscope.h"
--- 20,25 ----
*** ../vim-7.3.084/src/if_sniff.c 2010-08-15 21:57:25.000000000 +0200
--- src/if_sniff.c 2010-12-17 17:47:20.000000000 +0100
***************
*** 9,15 ****
#ifdef WIN32
# include <stdio.h>
- # include "vimio.h"
# include <process.h>
# include <string.h>
# include <assert.h>
--- 9,14 ----
*** ../vim-7.3.084/src/main.c 2010-11-16 16:25:46.000000000 +0100
--- src/main.c 2010-12-17 17:47:41.000000000 +0100
***************
*** 7,16 ****
* See README.txt for an overview of the Vim source code.
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for close() and dup() */
- #endif
-
#define EXTERN
#include "vim.h"
--- 7,12 ----
*** ../vim-7.3.084/src/memfile.c 2010-12-17 16:27:10.000000000 +0100
--- src/memfile.c 2010-12-17 17:47:54.000000000 +0100
***************
*** 32,41 ****
* file is opened.
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for lseek(), must be before vim.h */
- #endif
-
#include "vim.h"
/*
--- 32,37 ----
*** ../vim-7.3.084/src/memline.c 2010-12-17 16:27:10.000000000 +0100
--- src/memline.c 2010-12-17 17:48:06.000000000 +0100
***************
*** 42,51 ****
* mf_get().
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for mch_open(), must be before vim.h */
- #endif
-
#include "vim.h"
#ifndef UNIX /* it's in os_unix.h for Unix */
--- 42,47 ----
*** ../vim-7.3.084/src/netbeans.c 2010-12-17 12:19:14.000000000 +0100
--- src/netbeans.c 2010-12-17 17:48:19.000000000 +0100
***************
*** 16,25 ****
* See ":help netbeans-protocol" for explanation.
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for mch_open(), must be before vim.h */
- #endif
-
#include "vim.h"
#if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
--- 16,21 ----
*** ../vim-7.3.084/src/os_msdos.c 2010-08-15 21:57:25.000000000 +0200
--- src/os_msdos.c 2010-12-17 17:48:40.000000000 +0100
***************
*** 21,27 ****
* Some functions are also used for Win16 (MS-Windows 3.1).
*/
- #include "vimio.h"
#include "vim.h"
#include <conio.h>
--- 21,26 ----
*** ../vim-7.3.084/src/os_mswin.c 2010-10-23 14:02:48.000000000 +0200
--- src/os_mswin.c 2010-12-17 17:48:51.000000000 +0100
***************
*** 22,28 ****
# endif
#endif
- #include "vimio.h"
#include "vim.h"
#ifdef WIN16
--- 22,27 ----
*** ../vim-7.3.084/src/os_win16.c 2010-08-15 21:57:32.000000000 +0200
--- src/os_win16.c 2010-12-17 17:49:02.000000000 +0100
***************
*** 20,26 ****
# pragma warn -obs
#endif
- #include "vimio.h"
#include "vim.h"
#include <dos.h>
--- 20,25 ----
*** ../vim-7.3.084/src/os_win32.c 2010-11-24 12:35:14.000000000 +0100
--- src/os_win32.c 2010-12-17 17:49:11.000000000 +0100
***************
*** 20,26 ****
* Roger Knobbe <rogerk@wonderware.com> did the initial port of Vim 3.0.
*/
- #include "vimio.h"
#include "vim.h"
#ifdef FEAT_MZSCHEME
--- 20,25 ----
*** ../vim-7.3.084/src/spell.c 2010-12-08 17:09:27.000000000 +0100
--- src/spell.c 2010-12-17 17:49:24.000000000 +0100
***************
*** 303,312 ****
* few bytes as possible, see offset2bytes())
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for lseek(), must be before vim.h */
- #endif
-
#include "vim.h"
#if defined(FEAT_SPELL) || defined(PROTO)
--- 303,308 ----
*** ../vim-7.3.084/src/tag.c 2010-09-21 16:56:29.000000000 +0200
--- src/tag.c 2010-12-17 17:49:35.000000000 +0100
***************
*** 11,20 ****
* Code to handle tags and the tag stack
*/
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for lseek(), must be before vim.h */
- #endif
-
#include "vim.h"
/*
--- 11,16 ----
*** ../vim-7.3.084/src/undo.c 2010-12-17 16:27:10.000000000 +0100
--- src/undo.c 2010-12-17 17:49:59.000000000 +0100
***************
*** 81,90 ****
#define UH_MAGIC 0x18dade /* value for uh_magic when in use */
#define UE_MAGIC 0xabc123 /* value for ue_magic when in use */
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
- # include "vimio.h" /* for vim_read(), must be before vim.h */
- #endif
-
#include "vim.h"
static void u_unch_branch __ARGS((u_header_T *uhp));
--- 81,86 ----
*** ../vim-7.3.084/src/vim.h 2010-12-17 16:27:10.000000000 +0100
--- src/vim.h 2010-12-17 17:51:43.000000000 +0100
***************
*** 27,32 ****
--- 27,37 ----
# endif
#endif
+ #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64) \
+ || defined(__EMX__)
+ # include "vimio.h"
+ #endif
+
/* ============ the header file puzzle (ca. 50-100 pieces) ========= */
#ifdef HAVE_CONFIG_H /* GNU autoconf (or something else) was here */
*** ../vim-7.3.084/src/version.c 2010-12-17 17:35:05.000000000 +0100
--- src/version.c 2010-12-17 17:55:39.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 85,
/**/
--
How To Keep A Healthy Level Of Insanity:
14. Put mosquito netting around your work area. Play a tape of jungle
sounds all day.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

138
7.3.086 Normal file
View file

@ -0,0 +1,138 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.086
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.086
Problem: When using a mapping with an expression and there was no count,
v:count has the value of the previous command. (ZyX)
Solution: Also set v:count and v:count1 before getting the character that
could be a command or a count.
Files: src/normal.c
*** ../vim-7.3.085/src/normal.c 2010-10-13 18:06:42.000000000 +0200
--- src/normal.c 2010-12-17 18:46:56.000000000 +0100
***************
*** 25,30 ****
--- 25,33 ----
static int restart_VIsual_select = 0;
#endif
+ #ifdef FEAT_EVAL
+ static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
+ #endif
static int
# ifdef __BORLANDC__
_RTLENTRYF
***************
*** 648,653 ****
--- 651,664 ----
dont_scroll = FALSE; /* allow scrolling here */
#endif
+ #ifdef FEAT_EVAL
+ /* Set v:count here, when called from main() and not a stuffed
+ * command, so that v:count can be used in an expression mapping
+ * when there is no count. */
+ if (toplevel && stuff_empty())
+ set_vcount_ca(&ca, &set_prevcount);
+ #endif
+
/*
* Get the command character from the user.
*/
***************
*** 725,739 ****
* command, so that v:count can be used in an expression mapping
* right after the count. */
if (toplevel && stuff_empty())
! {
! long count = ca.count0;
!
! /* multiply with ca.opcount the same way as below */
! if (ca.opcount != 0)
! count = ca.opcount * (count == 0 ? 1 : count);
! set_vcount(count, count == 0 ? 1 : count, set_prevcount);
! set_prevcount = FALSE; /* only set v:prevcount once */
! }
#endif
if (ctrl_w)
{
--- 736,742 ----
* command, so that v:count can be used in an expression mapping
* right after the count. */
if (toplevel && stuff_empty())
! set_vcount_ca(&ca, &set_prevcount);
#endif
if (ctrl_w)
{
***************
*** 1386,1391 ****
--- 1389,1414 ----
opcount = ca.opcount;
}
+ #ifdef FEAT_EVAL
+ /*
+ * Set v:count and v:count1 according to "cap".
+ * Set v:prevcount only when "set_prevcount" is TRUE.
+ */
+ static void
+ set_vcount_ca(cap, set_prevcount)
+ cmdarg_T *cap;
+ int *set_prevcount;
+ {
+ long count = cap->count0;
+
+ /* multiply with cap->opcount the same way as above */
+ if (cap->opcount != 0)
+ count = cap->opcount * (count == 0 ? 1 : count);
+ set_vcount(count, count == 0 ? 1 : count, *set_prevcount);
+ *set_prevcount = FALSE; /* only set v:prevcount once */
+ }
+ #endif
+
/*
* Handle an operator after visual mode or when the movement is finished
*/
***************
*** 8529,8535 ****
else
curwin->w_curswant = 0;
/* keep curswant at the column where we wanted to go, not where
! we ended; differs if line is too short */
curwin->w_set_curswant = FALSE;
}
--- 8552,8558 ----
else
curwin->w_curswant = 0;
/* keep curswant at the column where we wanted to go, not where
! * we ended; differs if line is too short */
curwin->w_set_curswant = FALSE;
}
*** ../vim-7.3.085/src/version.c 2010-12-17 18:06:00.000000000 +0100
--- src/version.c 2010-12-17 18:51:20.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 86,
/**/
--
How To Keep A Healthy Level Of Insanity:
15. Five days in advance, tell your friends you can't attend their
party because you're not in the mood.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

152
7.3.087 Normal file
View file

@ -0,0 +1,152 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.087
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.087
Problem: EINTR is not always defined.
Solution: Include errno.h in vim.h.
Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c,
src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h,
src/workshop.c
*** ../vim-7.3.086/src/if_cscope.c 2010-12-17 18:06:00.000000000 +0100
--- src/if_cscope.c 2010-12-17 20:06:01.000000000 +0100
***************
*** 13,20 ****
#if defined(FEAT_CSCOPE) || defined(PROTO)
- #include <string.h>
- #include <errno.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
--- 13,18 ----
*** ../vim-7.3.086/src/if_tcl.c 2010-08-15 21:57:27.000000000 +0200
--- src/if_tcl.c 2010-12-17 20:06:56.000000000 +0100
***************
*** 74,80 ****
#endif
#include <tcl.h>
- #include <errno.h>
#include <string.h>
typedef struct
--- 74,79 ----
*** ../vim-7.3.086/src/integration.c 2010-08-15 21:57:29.000000000 +0200
--- src/integration.c 2010-12-17 20:07:12.000000000 +0100
***************
*** 33,39 ****
#include <sys/un.h>
#endif
- #include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/param.h>
--- 33,38 ----
*** ../vim-7.3.086/src/memline.c 2010-12-17 18:06:00.000000000 +0100
--- src/memline.c 2010-12-17 20:07:31.000000000 +0100
***************
*** 52,61 ****
# include <proto/dos.h> /* for Open() and Close() */
#endif
- #ifdef HAVE_ERRNO_H
- # include <errno.h>
- #endif
-
typedef struct block0 ZERO_BL; /* contents of the first block */
typedef struct pointer_block PTR_BL; /* contents of a pointer block */
typedef struct data_block DATA_BL; /* contents of a data block */
--- 52,57 ----
*** ../vim-7.3.086/src/os_mswin.c 2010-12-17 18:06:00.000000000 +0100
--- src/os_mswin.c 2010-12-17 20:08:14.000000000 +0100
***************
*** 30,36 ****
# include <string.h>
#endif
#include <sys/types.h>
- #include <errno.h>
#include <signal.h>
#include <limits.h>
#include <process.h>
--- 30,35 ----
*** ../vim-7.3.086/src/os_win16.c 2010-12-17 18:06:00.000000000 +0100
--- src/os_win16.c 2010-12-17 20:08:53.000000000 +0100
***************
*** 25,31 ****
#include <dos.h>
#include <string.h>
#include <sys/types.h>
- #include <errno.h>
#include <signal.h>
#include <limits.h>
#include <process.h>
--- 25,30 ----
*** ../vim-7.3.086/src/os_win32.c 2010-12-17 18:06:00.000000000 +0100
--- src/os_win32.c 2010-12-17 20:09:18.000000000 +0100
***************
*** 27,33 ****
#endif
#include <sys/types.h>
- #include <errno.h>
#include <signal.h>
#include <limits.h>
#include <process.h>
--- 27,32 ----
*** ../vim-7.3.086/src/vim.h 2010-12-17 18:06:00.000000000 +0100
--- src/vim.h 2010-12-17 20:09:56.000000000 +0100
***************
*** 480,485 ****
--- 480,490 ----
# include <sys/stat.h>
#endif
+ #if defined(HAVE_ERRNO_H) || defined(DJGPP) || defined(WIN16) \
+ || defined(WIN32) || defined(_WIN64) || defined(__EMX__)
+ # include <errno.h>
+ #endif
+
/*
* Allow other (non-unix) systems to configure themselves now
* These are also in os_unix.h, because osdef.sh needs them there.
*** ../vim-7.3.086/src/workshop.c 2010-08-15 21:57:26.000000000 +0200
--- src/workshop.c 2010-12-17 20:09:31.000000000 +0100
***************
*** 16,22 ****
#include <sys/types.h>
#include <netdb.h>
#include <netinet/in.h>
- #include <errno.h>
#include <sys/socket.h>
#ifdef HAVE_LIBGEN_H
# include <libgen.h>
--- 16,21 ----
*** ../vim-7.3.086/src/version.c 2010-12-17 18:52:56.000000000 +0100
--- src/version.c 2010-12-17 20:14:49.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 87,
/**/
--
How To Keep A Healthy Level Of Insanity:
17. When the money comes out the ATM, scream "I won!, I won! 3rd
time this week!!!!!"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

152
7.3.088 Normal file
View file

@ -0,0 +1,152 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.088
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.088
Problem: Ruby can't load Gems sometimes, may cause a crash.
Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto)
Files: src/if_ruby.c
*** ../vim-7.3.087/src/if_ruby.c 2010-12-08 13:11:15.000000000 +0100
--- src/if_ruby.c 2010-12-24 12:18:31.000000000 +0100
***************
*** 90,95 ****
--- 90,96 ----
# include <ruby/encoding.h>
#endif
+ #undef off_t /* ruby defines off_t as _int64, Mingw uses long */
#undef EXTERN
#undef _
***************
*** 229,238 ****
# define rb_enc_find_index dll_rb_enc_find_index
# define rb_enc_find dll_rb_enc_find
# define rb_enc_str_new dll_rb_enc_str_new
- # define rb_intern2 dll_rb_intern2
- # define rb_const_remove dll_rb_const_remove
# define rb_sprintf dll_rb_sprintf
# define ruby_init_stack dll_ruby_init_stack
#endif
/*
--- 230,239 ----
# define rb_enc_find_index dll_rb_enc_find_index
# define rb_enc_find dll_rb_enc_find
# define rb_enc_str_new dll_rb_enc_str_new
# define rb_sprintf dll_rb_sprintf
+ # define rb_require dll_rb_require
# define ruby_init_stack dll_ruby_init_stack
+ # define ruby_process_options dll_ruby_process_options
#endif
/*
***************
*** 319,329 ****
static int (*dll_rb_enc_find_index) (const char*);
static rb_encoding* (*dll_rb_enc_find) (const char*);
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
- static ID (*dll_rb_intern2) (const char*, long);
- static void (*dll_Init_prelude) (void);
- static VALUE (*dll_rb_const_remove) (VALUE, ID);
static VALUE (*dll_rb_sprintf) (const char*, ...);
static void (*ruby_init_stack)(VALUE*);
#endif
#ifdef RUBY19_OR_LATER
--- 320,329 ----
static int (*dll_rb_enc_find_index) (const char*);
static rb_encoding* (*dll_rb_enc_find) (const char*);
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
static VALUE (*dll_rb_sprintf) (const char*, ...);
+ static VALUE (*dll_rb_require) (const char*);
static void (*ruby_init_stack)(VALUE*);
+ static void* (*ruby_process_options)(int, char**);
#endif
#ifdef RUBY19_OR_LATER
***************
*** 430,439 ****
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
- {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
- {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
#endif
{"", NULL},
};
--- 430,439 ----
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
+ {"rb_require", (RUBY_PROC*)&dll_rb_require},
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
+ {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options},
#endif
{"", NULL},
};
***************
*** 663,680 ****
ruby_init();
}
#ifdef RUBY19_OR_LATER
ruby_script("vim-ruby");
! #endif
ruby_init_loadpath();
- ruby_io_init();
- #ifdef RUBY19_OR_LATER
- rb_enc_find_index("encdb");
-
- /* This avoids the error "Encoding::ConverterNotFoundError: code
- * converter not found (UTF-16LE to ASCII-8BIT)". */
- rb_define_module("Gem");
- rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
#endif
ruby_vim_init();
ruby_initialized = 1;
#ifdef DYNAMIC_RUBY
--- 663,678 ----
ruby_init();
}
#ifdef RUBY19_OR_LATER
+ {
+ int dummy_argc = 2;
+ char *dummy_argv[] = {"vim-ruby", "-e0"};
+ ruby_process_options(dummy_argc, dummy_argv);
+ }
ruby_script("vim-ruby");
! #else
ruby_init_loadpath();
#endif
+ ruby_io_init();
ruby_vim_init();
ruby_initialized = 1;
#ifdef DYNAMIC_RUBY
*** ../vim-7.3.087/src/version.c 2010-12-17 20:23:56.000000000 +0100
--- src/version.c 2010-12-24 13:38:51.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 88,
/**/
--
It is hard to understand how a cemetery raised its burial
cost and blamed it on the cost of living.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.3.089 Normal file
View file

@ -0,0 +1,52 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.089
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.089
Problem: Compiler warning on 64 bit MS-Windows.
Solution: Add type cast. (Mike Williams)
Files: src/netbeans.c
*** ../vim-7.3.088/src/netbeans.c 2010-12-17 18:06:00.000000000 +0100
--- src/netbeans.c 2010-12-17 20:21:05.000000000 +0100
***************
*** 800,806 ****
* -> gui event loop or select loop
* -> netbeans_read()
*/
! save((char_u *)DETACH_MSG, strlen(DETACH_MSG));
nb_close_socket();
if (len < 0)
--- 800,806 ----
* -> gui event loop or select loop
* -> netbeans_read()
*/
! save((char_u *)DETACH_MSG, (int)strlen(DETACH_MSG));
nb_close_socket();
if (len < 0)
*** ../vim-7.3.088/src/version.c 2010-12-24 13:39:29.000000000 +0100
--- src/version.c 2010-12-24 13:59:03.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 89,
/**/
--
The 50-50-90 rule: Anytime you have a 50-50 chance of getting
something right, there's a 90% probability you'll get it wrong.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

68
7.3.090 Normal file
View file

@ -0,0 +1,68 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.090
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.090
Problem: Wrong help text for Cscope.
Solution: Adjust the help text for "t". (Dominique Pelle)
Files: src/if_cscope.c
*** ../vim-7.3.089/src/if_cscope.c 2010-12-17 20:23:56.000000000 +0100
--- src/if_cscope.c 2010-12-30 11:35:37.000000000 +0100
***************
*** 1346,1352 ****
" g: Find this definition\n"
" i: Find files #including this file\n"
" s: Find this C symbol\n"
! " t: Find assignments to\n"));
cmdp++;
}
--- 1346,1352 ----
" g: Find this definition\n"
" i: Find files #including this file\n"
" s: Find this C symbol\n"
! " t: Find this text string\n"));
cmdp++;
}
***************
*** 1657,1663 ****
/*
* PRIVATE: cs_make_vim_style_matches
*
! * convert the cscope output into into a ctags style entry (as might be found
* in a ctags tags file). there's one catch though: cscope doesn't tell you
* the type of the tag you are looking for. for example, in Darren Hiebert's
* ctags (the one that comes with vim), #define's use a line number to find the
--- 1657,1663 ----
/*
* PRIVATE: cs_make_vim_style_matches
*
! * convert the cscope output into a ctags style entry (as might be found
* in a ctags tags file). there's one catch though: cscope doesn't tell you
* the type of the tag you are looking for. for example, in Darren Hiebert's
* ctags (the one that comes with vim), #define's use a line number to find the
*** ../vim-7.3.089/src/version.c 2010-12-24 14:00:09.000000000 +0100
--- src/version.c 2010-12-30 11:36:33.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 90,
/**/
--
ERROR 047: Keyboard not found. Press RETURN to continue.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

321
7.3.091 Normal file
View file

@ -0,0 +1,321 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.091
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.091
Problem: "vim -w foo" writes special key codes for removed escape
sequences. (Josh Triplett)
Solution: Don't write K_IGNORE codes.
Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h
*** ../vim-7.3.090/src/getchar.c 2010-10-27 17:39:00.000000000 +0200
--- src/getchar.c 2010-12-30 12:16:36.000000000 +0100
***************
*** 1506,1514 ****
}
}
- #define KL_PART_KEY -1 /* keylen value for incomplete key-code */
- #define KL_PART_MAP -2 /* keylen value for incomplete mapping */
-
/*
* Get the next input character.
* Can return a special key or a multi-byte character.
--- 1506,1511 ----
***************
*** 2171,2177 ****
if (!timedout)
{
/* break at a partly match */
! keylen = KL_PART_MAP;
break;
}
}
--- 2168,2174 ----
if (!timedout)
{
/* break at a partly match */
! keylen = KEYLEN_PART_MAP;
break;
}
}
***************
*** 2192,2198 ****
/* If no partly match found, use the longest full
* match. */
! if (keylen != KL_PART_MAP)
{
mp = mp_match;
keylen = mp_match_len;
--- 2189,2195 ----
/* If no partly match found, use the longest full
* match. */
! if (keylen != KEYLEN_PART_MAP)
{
mp = mp_match;
keylen = mp_match_len;
***************
*** 2230,2236 ****
}
/* Need more chars for partly match. */
if (mlen == typebuf.tb_len)
! keylen = KL_PART_KEY;
else if (max_mlen < mlen)
/* no match, may have to check for termcode at
* next character */
--- 2227,2233 ----
}
/* Need more chars for partly match. */
if (mlen == typebuf.tb_len)
! keylen = KEYLEN_PART_KEY;
else if (max_mlen < mlen)
/* no match, may have to check for termcode at
* next character */
***************
*** 2238,2244 ****
}
if ((mp == NULL || max_mlen >= mp_match_len)
! && keylen != KL_PART_MAP)
{
int save_keylen = keylen;
--- 2235,2241 ----
}
if ((mp == NULL || max_mlen >= mp_match_len)
! && keylen != KEYLEN_PART_MAP)
{
int save_keylen = keylen;
***************
*** 2264,2271 ****
/* If no termcode matched but 'pastetoggle'
* matched partially it's like an incomplete key
* sequence. */
! if (keylen == 0 && save_keylen == KL_PART_KEY)
! keylen = KL_PART_KEY;
/*
* When getting a partial match, but the last
--- 2261,2268 ----
/* If no termcode matched but 'pastetoggle'
* matched partially it's like an incomplete key
* sequence. */
! if (keylen == 0 && save_keylen == KEYLEN_PART_KEY)
! keylen = KEYLEN_PART_KEY;
/*
* When getting a partial match, but the last
***************
*** 2302,2308 ****
continue;
}
if (*s == NUL) /* need more characters */
! keylen = KL_PART_KEY;
}
if (keylen >= 0)
#endif
--- 2299,2305 ----
continue;
}
if (*s == NUL) /* need more characters */
! keylen = KEYLEN_PART_KEY;
}
if (keylen >= 0)
#endif
***************
*** 2339,2345 ****
if (keylen > 0) /* full matching terminal code */
{
#if defined(FEAT_GUI) && defined(FEAT_MENU)
! if (typebuf.tb_buf[typebuf.tb_off] == K_SPECIAL
&& typebuf.tb_buf[typebuf.tb_off + 1]
== KS_MENU)
{
--- 2336,2343 ----
if (keylen > 0) /* full matching terminal code */
{
#if defined(FEAT_GUI) && defined(FEAT_MENU)
! if (typebuf.tb_len >= 2
! && typebuf.tb_buf[typebuf.tb_off] == K_SPECIAL
&& typebuf.tb_buf[typebuf.tb_off + 1]
== KS_MENU)
{
***************
*** 2381,2387 ****
/* Partial match: get some more characters. When a
* matching mapping was found use that one. */
if (mp == NULL || keylen < 0)
! keylen = KL_PART_KEY;
else
keylen = mp_match_len;
}
--- 2379,2385 ----
/* Partial match: get some more characters. When a
* matching mapping was found use that one. */
if (mp == NULL || keylen < 0)
! keylen = KEYLEN_PART_KEY;
else
keylen = mp_match_len;
}
***************
*** 2553,2559 ****
#endif
&& typebuf.tb_maplen == 0
&& (State & INSERT)
! && (p_timeout || (keylen == KL_PART_KEY && p_ttimeout))
&& (c = inchar(typebuf.tb_buf + typebuf.tb_off
+ typebuf.tb_len, 3, 25L,
typebuf.tb_change_cnt)) == 0)
--- 2551,2558 ----
#endif
&& typebuf.tb_maplen == 0
&& (State & INSERT)
! && (p_timeout
! || (keylen == KEYLEN_PART_KEY && p_ttimeout))
&& (c = inchar(typebuf.tb_buf + typebuf.tb_off
+ typebuf.tb_len, 3, 25L,
typebuf.tb_change_cnt)) == 0)
***************
*** 2783,2791 ****
? 0
: ((typebuf.tb_len == 0
|| !(p_timeout || (p_ttimeout
! && keylen == KL_PART_KEY)))
? -1L
! : ((keylen == KL_PART_KEY && p_ttm >= 0)
? p_ttm
: p_tm)), typebuf.tb_change_cnt);
--- 2782,2790 ----
? 0
: ((typebuf.tb_len == 0
|| !(p_timeout || (p_ttimeout
! && keylen == KEYLEN_PART_KEY)))
? -1L
! : ((keylen == KEYLEN_PART_KEY && p_ttm >= 0)
? p_ttm
: p_tm)), typebuf.tb_change_cnt);
*** ../vim-7.3.090/src/misc1.c 2010-12-02 16:01:23.000000000 +0100
--- src/misc1.c 2010-12-30 12:28:59.000000000 +0100
***************
*** 3114,3123 ****
&& (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
continue;
! /* found a termcode: adjust length */
! if (n > 0)
len = n;
! if (len == 0) /* nothing typed yet */
continue;
/* Handle modifier and/or special key code. */
--- 3114,3124 ----
&& (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
continue;
! if (n == KEYLEN_REMOVED) /* key code removed */
! continue;
! if (n > 0) /* found a termcode: adjust length */
len = n;
! if (len == 0) /* nothing typed yet */
continue;
/* Handle modifier and/or special key code. */
*** ../vim-7.3.090/src/term.c 2010-08-15 21:57:32.000000000 +0200
--- src/term.c 2010-12-30 12:14:48.000000000 +0100
***************
*** 3828,3833 ****
--- 3831,3837 ----
* Check from typebuf.tb_buf[typebuf.tb_off] to typebuf.tb_buf[typebuf.tb_off
* + max_offset].
* Return 0 for no match, -1 for partial match, > 0 for full match.
+ * Return KEYLEN_REMOVED when a key code was deleted.
* With a match, the match is removed, the replacement code is inserted in
* typebuf.tb_buf[] and the number of characters in typebuf.tb_buf[] is
* returned.
***************
*** 3845,3850 ****
--- 3849,3855 ----
int slen = 0; /* init for GCC */
int modslen;
int len;
+ int retval = 0;
int offset;
char_u key_name[2];
int modifiers;
***************
*** 4940,4945 ****
--- 4945,4957 ----
#endif
string[new_slen++] = key_name[1];
}
+ else if (new_slen == 0 && key_name[0] == KS_EXTRA
+ && key_name[1] == KE_IGNORE)
+ {
+ /* Do not put K_IGNORE into the buffer, do return KEYLEN_REMOVED
+ * to indicate what happened. */
+ retval = KEYLEN_REMOVED;
+ }
else
{
string[new_slen++] = K_SPECIAL;
***************
*** 4976,4982 ****
(size_t)(buflen - offset));
mch_memmove(buf + offset, string, (size_t)new_slen);
}
! return (len + extra + offset);
}
return 0; /* no match found */
--- 4988,4994 ----
(size_t)(buflen - offset));
mch_memmove(buf + offset, string, (size_t)new_slen);
}
! return retval == 0 ? (len + extra + offset) : retval;
}
return 0; /* no match found */
*** ../vim-7.3.090/src/vim.h 2010-12-17 20:23:56.000000000 +0100
--- src/vim.h 2010-12-30 12:06:45.000000000 +0100
***************
*** 2211,2214 ****
--- 2211,2218 ----
#define MSCR_LEFT -1
#define MSCR_RIGHT -2
+ #define KEYLEN_PART_KEY -1 /* keylen value for incomplete key-code */
+ #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */
+ #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */
+
#endif /* VIM__H */
*** ../vim-7.3.090/src/version.c 2010-12-30 11:41:05.000000000 +0100
--- src/version.c 2010-12-30 12:24:56.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 91,
/**/
--
hundred-and-one symptoms of being an internet addict:
56. You leave the modem speaker on after connecting because you think it
sounds like the ocean wind...the perfect soundtrack for "surfing the net".
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

62
7.3.092 Normal file
View file

@ -0,0 +1,62 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.092
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.092
Problem: Resizing the window when exiting.
Solution: Don't resize when exiting.
Files: src/term.c
*** ../vim-7.3.091/src/term.c 2010-12-30 12:30:26.000000000 +0100
--- src/term.c 2010-12-30 12:14:48.000000000 +0100
***************
*** 3053,3062 ****
int old_Rows = Rows;
int old_Columns = Columns;
! (void)ui_get_shellsize();
! check_shellsize();
! if (old_Rows != Rows || old_Columns != Columns)
! shell_resized();
}
/*
--- 3053,3065 ----
int old_Rows = Rows;
int old_Columns = Columns;
! if (!exiting)
! {
! (void)ui_get_shellsize();
! check_shellsize();
! if (old_Rows != Rows || old_Columns != Columns)
! shell_resized();
! }
}
/*
*** ../vim-7.3.091/src/version.c 2010-12-30 12:30:26.000000000 +0100
--- src/version.c 2010-12-30 14:47:04.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 92,
/**/
--
hundred-and-one symptoms of being an internet addict:
57. You begin to wonder how on earth your service provider is allowed to call
200 hours per month "unlimited."
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

201
7.3.093 Normal file
View file

@ -0,0 +1,201 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.093
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.093
Problem: New DLL dependencies in MingW with gcc 4.5.0.
Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak
*** ../vim-7.3.092/src/GvimExt/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200
--- src/GvimExt/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
***************
*** 17,22 ****
--- 17,33 ----
# check also the executables
MINGWOLD = no
+ # Link against the shared versions of libgcc/libstdc++ by default. Set
+ # STATIC_STDCPLUS to "yes" to link against static versions instead.
+ STATIC_STDCPLUS=no
+ #STATIC_STDCPLUS=yes
+
+ # Note: -static-libstdc++ is not available until gcc 4.5.x.
+ LDFLAGS += -shared
+ ifeq (yes, $(STATIC_STDCPLUS))
+ LDFLAGS += -static-libgcc -static-libstdc++
+ endif
+
ifeq ($(CROSS),yes)
DEL = rm
ifeq ($(MINGWOLD),yes)
***************
*** 33,39 ****
endif
endif
CXX := $(CROSS_COMPILE)g++
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
LIBS := -luuid
RES := gvimext.res
DEFFILE = gvimext_ming.def
--- 44,52 ----
endif
endif
CXX := $(CROSS_COMPILE)g++
! WINDRES := $(CROSS_COMPILE)windres
! WINDRES_CXX = $(CXX)
! WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
LIBS := -luuid
RES := gvimext.res
DEFFILE = gvimext_ming.def
***************
*** 46,52 ****
all: all-before $(DLL) all-after
$(DLL): $(OBJ) $(RES) $(DEFFILE)
! $(CXX) -shared $(CXXFLAGS) -s -o $@ \
-Wl,--enable-auto-image-base \
-Wl,--enable-auto-import \
-Wl,--whole-archive \
--- 59,65 ----
all: all-before $(DLL) all-after
$(DLL): $(OBJ) $(RES) $(DEFFILE)
! $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
-Wl,--enable-auto-image-base \
-Wl,--enable-auto-import \
-Wl,--whole-archive \
***************
*** 58,64 ****
$(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
$(RES): gvimext_ming.rc
! $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
clean: clean-custom
-$(DEL) $(OBJ) $(RES) $(DLL)
--- 71,77 ----
$(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
$(RES): gvimext_ming.rc
! $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
clean: clean-custom
-$(DEL) $(OBJ) $(RES) $(DLL)
*** ../vim-7.3.092/src/Make_ming.mak 2010-11-03 21:59:23.000000000 +0100
--- src/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
***************
*** 56,61 ****
--- 56,67 ----
NETBEANS=$(GUI)
+ # Link against the shared version of libstdc++ by default. Set
+ # STATIC_STDCPLUS to "yes" to link against static version instead.
+ ifndef STATIC_STDCPLUS
+ STATIC_STDCPLUS=no
+ endif
+
# If the user doesn't want gettext, undefine it.
ifeq (no, $(GETTEXT))
GETTEXT=
***************
*** 309,320 ****
endif
endif
CC := $(CROSS_COMPILE)gcc
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
#>>>>> end of choices
###########################################################################
CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
ifdef GETTEXT
DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
--- 315,328 ----
endif
endif
CC := $(CROSS_COMPILE)gcc
! WINDRES := $(CROSS_COMPILE)windres
! WINDRES_CC = $(CC)
#>>>>> end of choices
###########################################################################
CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
+ WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
ifdef GETTEXT
DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
***************
*** 577,584 ****
endif
ifeq (yes, $(OLE))
! LIB += -loleaut32 -lstdc++
OBJ += $(OUTDIR)/if_ole.o
endif
ifeq (yes, $(MBYTE))
--- 585,597 ----
endif
ifeq (yes, $(OLE))
! LIB += -loleaut32
OBJ += $(OUTDIR)/if_ole.o
+ ifeq (yes, $(STATIC_STDCPLUS))
+ LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+ else
+ LIB += -lstdc++
+ endif
endif
ifeq (yes, $(MBYTE))
***************
*** 656,665 ****
$(CC) -c $(CFLAGS) $< -o $@
$(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
! $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
$(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
! $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
$(OUTDIR):
$(MKDIR) $(OUTDIR)
--- 669,678 ----
$(CC) -c $(CFLAGS) $< -o $@
$(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
$(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
$(OUTDIR):
$(MKDIR) $(OUTDIR)
*** ../vim-7.3.092/src/version.c 2010-12-30 14:47:32.000000000 +0100
--- src/version.c 2010-12-30 14:48:34.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 93,
/**/
--
Creating the world with Emacs: M-x let-there-be-light
Creating the world with Vim: :make world
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

70
7.3.094 Normal file
View file

@ -0,0 +1,70 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.094
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.094
Problem: Using abs() requires type cast to int.
Solution: Use labs() so that the value remains long. (Hong Xu)
Files: src/screen.c
*** ../vim-7.3.093/src/screen.c 2010-12-08 19:56:52.000000000 +0100
--- src/screen.c 2010-12-30 14:54:08.000000000 +0100
***************
*** 2317,2323 ****
num = (long)lnum;
else
/* 'relativenumber', don't use negative numbers */
! num = (long)abs((int)get_cursor_rel_lnum(wp, lnum));
sprintf((char *)buf, "%*ld ", w, num);
#ifdef FEAT_RIGHTLEFT
--- 2317,2323 ----
num = (long)lnum;
else
/* 'relativenumber', don't use negative numbers */
! num = labs((long)get_cursor_rel_lnum(wp, lnum));
sprintf((char *)buf, "%*ld ", w, num);
#ifdef FEAT_RIGHTLEFT
***************
*** 3475,3482 ****
num = (long)lnum;
else
/* 'relativenumber', don't use negative numbers */
! num = (long)abs((int)get_cursor_rel_lnum(wp,
! lnum));
sprintf((char *)extra, "%*ld ",
number_width(wp), num);
--- 3475,3481 ----
num = (long)lnum;
else
/* 'relativenumber', don't use negative numbers */
! num = labs((long)get_cursor_rel_lnum(wp, lnum));
sprintf((char *)extra, "%*ld ",
number_width(wp), num);
*** ../vim-7.3.093/src/version.c 2010-12-30 14:50:46.000000000 +0100
--- src/version.c 2010-12-30 14:56:32.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 94,
/**/
--
hundred-and-one symptoms of being an internet addict:
58. You turn on your computer and turn off your wife.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

70
7.3.095 Normal file
View file

@ -0,0 +1,70 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.095
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.095
Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley)
Solution: Use menu_name_equal(). (Alex Jakushev)
Files: src/menu.c
*** ../vim-7.3.094/src/menu.c 2010-08-15 21:57:25.000000000 +0200
--- src/menu.c 2011-01-04 17:41:38.000000000 +0100
***************
*** 1512,1519 ****
{
#ifdef FEAT_MULTI_LANG
if (menu->en_name != NULL
! && (menu_namecmp(name,menu->en_name)
! || menu_namecmp(name,menu->en_dname)))
return TRUE;
#endif
return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
--- 1512,1519 ----
{
#ifdef FEAT_MULTI_LANG
if (menu->en_name != NULL
! && (menu_namecmp(name, menu->en_name)
! || menu_namecmp(name, menu->en_dname)))
return TRUE;
#endif
return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
***************
*** 2342,2348 ****
while (menu != NULL)
{
! if (STRCMP(name, menu->name) == 0 || STRCMP(name, menu->dname) == 0)
{
if (menu->children == NULL)
{
--- 2342,2348 ----
while (menu != NULL)
{
! if (menu_name_equal(name, menu))
{
if (menu->children == NULL)
{
*** ../vim-7.3.094/src/version.c 2010-12-30 14:57:03.000000000 +0100
--- src/version.c 2011-01-04 17:43:41.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 95,
/**/
--
If your nose runs, and your feet smell, you might be upside down.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

97
7.3.096 Normal file
View file

@ -0,0 +1,97 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.096
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.096
Problem: "gvim -nb" is not interruptable. Leaking file descriptor on
netbeans connection error.
Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye)
Files: src/netbeans.c
*** ../vim-7.3.095/src/netbeans.c 2010-12-24 14:00:09.000000000 +0100
--- src/netbeans.c 2011-01-04 18:00:35.000000000 +0100
***************
*** 321,326 ****
--- 321,327 ----
{
nbdebug(("error in gethostbyname() in netbeans_connect()\n"));
PERROR("gethostbyname() in netbeans_connect()");
+ sock_close(sd);
goto theend;
}
memcpy((char *)&server.sin_addr, host->h_addr, host->h_length);
***************
*** 370,384 ****
|| (errno == EINTR)))
{
nbdebug(("retrying...\n"));
! sleep(5);
! if (!doabort)
{
! ui_breakcheck();
! if (got_int)
! {
! errno = EINTR;
! break;
! }
}
if (connect(sd, (struct sockaddr *)&server,
sizeof(server)) == 0)
--- 371,382 ----
|| (errno == EINTR)))
{
nbdebug(("retrying...\n"));
! mch_delay(3000L, TRUE);
! ui_breakcheck();
! if (got_int)
{
! errno = EINTR;
! break;
}
if (connect(sd, (struct sockaddr *)&server,
sizeof(server)) == 0)
***************
*** 393,398 ****
--- 391,397 ----
/* Get here when the server can't be found. */
nbdebug(("Cannot connect to Netbeans #2\n"));
PERROR(_("Cannot connect to Netbeans #2"));
+ sock_close(sd);
if (doabort)
getout(1);
goto theend;
***************
*** 403,408 ****
--- 402,408 ----
{
nbdebug(("Cannot connect to Netbeans\n"));
PERROR(_("Cannot connect to Netbeans"));
+ sock_close(sd);
if (doabort)
getout(1);
goto theend;
*** ../vim-7.3.095/src/version.c 2011-01-04 17:49:25.000000000 +0100
--- src/version.c 2011-01-04 18:09:46.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 96,
/**/
--
hundred-and-one symptoms of being an internet addict:
85. Choice between paying Compuserve bill and paying for kids education
is a no brainer -- although a bit painful for your kids.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

54
7.3.097 Normal file
View file

@ -0,0 +1,54 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.097
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.097
Problem: Using ":call" inside "if 0" does not see that a function returns a
Dict and gives error for "." as string concatenation.
Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto)
Files: src/eval.c
*** ../vim-7.3.096/src/eval.c 2010-12-17 18:06:00.000000000 +0100
--- src/eval.c 2011-01-04 18:54:27.000000000 +0100
***************
*** 3335,3340 ****
--- 3335,3349 ----
int failed = FALSE;
funcdict_T fudi;
+ if (eap->skip)
+ {
+ /* trans_function_name() doesn't work well when skipping, use eval0()
+ * instead to skip to any following command, e.g. for:
+ * :if 0 | call dict.foo().bar() | endif */
+ eval0(eap->arg, &rettv, &eap->nextcmd, FALSE);
+ return;
+ }
+
tofree = trans_function_name(&arg, eap->skip, TFN_INT, &fudi);
if (fudi.fd_newkey != NULL)
{
*** ../vim-7.3.096/src/version.c 2011-01-04 18:11:39.000000000 +0100
--- src/version.c 2011-01-04 19:00:21.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 97,
/**/
--
hundred-and-one symptoms of being an internet addict:
86. E-mail Deficiency Depression (EDD) forces you to e-mail yourself.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

61
7.3.098 Normal file
View file

@ -0,0 +1,61 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.098
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.098
Problem: Function that ignores error still causes called_emsg to be set.
E.g. when expand() fails the status line is disabled.
Solution: Move check for emsg_not_now() up. (James Vega)
Files: src/message.c
*** ../vim-7.3.097/src/message.c 2010-10-20 21:22:17.000000000 +0200
--- src/message.c 2011-01-04 19:19:04.000000000 +0100
***************
*** 569,574 ****
--- 569,578 ----
int severe;
#endif
+ /* Skip this if not giving error messages at the moment. */
+ if (emsg_not_now())
+ return TRUE;
+
called_emsg = TRUE;
ex_exitval = 1;
***************
*** 581,590 ****
emsg_severe = FALSE;
#endif
- /* Skip this if not giving error messages at the moment. */
- if (emsg_not_now())
- return TRUE;
-
if (!emsg_off || vim_strchr(p_debug, 't') != NULL)
{
#ifdef FEAT_EVAL
--- 585,590 ----
*** ../vim-7.3.097/src/version.c 2011-01-04 19:03:22.000000000 +0100
--- src/version.c 2011-01-04 19:24:30.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 98,
/**/
--
Ed's Radiator Shop: The Best Place in Town to Take a Leak.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

54
7.3.099 Normal file
View file

@ -0,0 +1,54 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.099
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.099
Problem: Crash when splitting a window with zero height. (Yukihiro
Nakadaira)
Solution: Don't set the fraction in a window with zero height.
Files: src/window.c
*** ../vim-7.3.098/src/window.c 2010-12-17 17:35:05.000000000 +0100
--- src/window.c 2011-01-08 14:41:32.000000000 +0100
***************
*** 986,992 ****
/* Set w_fraction now so that the cursor keeps the same relative
* vertical position. */
! set_fraction(oldwin);
wp->w_fraction = oldwin->w_fraction;
#ifdef FEAT_VERTSPLIT
--- 986,993 ----
/* Set w_fraction now so that the cursor keeps the same relative
* vertical position. */
! if (oldwin->w_height > 0)
! set_fraction(oldwin);
wp->w_fraction = oldwin->w_fraction;
#ifdef FEAT_VERTSPLIT
*** ../vim-7.3.098/src/version.c 2011-01-04 19:25:46.000000000 +0100
--- src/version.c 2011-01-08 14:44:02.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 99,
/**/
--
From "know your smileys":
8-O "Omigod!!" (done "rm -rf *" ?)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.3.100 Normal file
View file

@ -0,0 +1,52 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.100
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.100
Problem: When using :normal v:count isn't set.
Solution: Call normal_cmd() with toplevel set to TRUE.
Files: src/ex_docmd.c
*** ../vim-7.3.099/src/ex_docmd.c 2010-12-02 16:01:23.000000000 +0100
--- src/ex_docmd.c 2011-01-06 17:23:43.000000000 +0100
***************
*** 9310,9316 ****
&& !got_int)
{
update_topline_cursor();
! normal_cmd(&oa, FALSE); /* execute a Normal mode cmd */
}
}
#endif
--- 9310,9316 ----
&& !got_int)
{
update_topline_cursor();
! normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */
}
}
#endif
*** ../vim-7.3.099/src/version.c 2011-01-08 14:45:57.000000000 +0100
--- src/version.c 2011-01-17 19:49:07.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 100,
/**/
--
hundred-and-one symptoms of being an internet addict:
109. You actually read -- and enjoy -- lists like this.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

92
7.3.101 Normal file
View file

@ -0,0 +1,92 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.1
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.101
Problem: ino_t defined with wrong size.
Solution: Move including auto/config.h before other includes. (Marius
Geminas)
Files: src/if_ruby.c, src/if_lua.c
*** ../vim-7.3.100/src/if_ruby.c 2010-12-24 13:39:29.000000000 +0100
--- src/if_ruby.c 2011-01-09 14:43:14.000000000 +0100
***************
*** 11,23 ****
* See README.txt for an overview of the Vim source code.
*/
- #include <stdio.h>
- #include <string.h>
-
#ifdef HAVE_CONFIG_H
# include "auto/config.h"
#endif
#ifdef _WIN32
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
# define NT
--- 11,23 ----
* See README.txt for an overview of the Vim source code.
*/
#ifdef HAVE_CONFIG_H
# include "auto/config.h"
#endif
+ #include <stdio.h>
+ #include <string.h>
+
#ifdef _WIN32
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
# define NT
*** ../vim-7.3.100/src/if_lua.c 2010-10-23 14:02:48.000000000 +0200
--- src/if_lua.c 2011-01-09 14:46:46.000000000 +0100
***************
*** 9,20 ****
* See README.txt for an overview of the Vim source code.
*/
! #include <stdio.h>
! #include <string.h>
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
- #include "vim.h"
/* Only do the following when the feature is enabled. Needed for "make
* depend". */
--- 9,19 ----
* See README.txt for an overview of the Vim source code.
*/
! #include "vim.h"
!
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
/* Only do the following when the feature is enabled. Needed for "make
* depend". */
*** ../vim-7.3.100/src/version.c 2011-01-17 19:50:01.000000000 +0100
--- src/version.c 2011-01-17 19:51:40.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 101,
/**/
--
In a world without walls and borders, who needs windows and gates?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

615
7.3.102 Normal file
View file

@ -0,0 +1,615 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.102
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.102
Problem: When using ":make", typing the next command and then getting the
"reload" prompt the next command is (partly) eaten by the reload
prompt.
Solution: Accept ':' as a special character at the reload prompt to accept
the default choice and execute the command.
Files: src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c,
src/memline.c, src/message.c, src/proto/message.pro,
src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c,
src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c
src/proto/gui_athena.pro, src/proto/gui_gtk.pro,
src/proto/gui_mac.pro, src/proto/gui_motif.pro,
src/proto/gui_photon.pro, src/proto/gui_w16.pro,
src/proto/gui_w32.pro
*** ../vim-7.3.101/src/eval.c 2011-01-04 19:03:22.000000000 +0100
--- src/eval.c 2011-01-16 00:14:21.000000000 +0100
***************
*** 9323,9329 ****
if (!error)
rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
! def, NULL);
#endif
}
--- 9323,9329 ----
if (!error)
rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
! def, NULL, FALSE);
#endif
}
***************
*** 12744,12750 ****
IObuff[0] = NUL;
if (message != NULL && defstr != NULL
&& do_dialog(VIM_QUESTION, NULL, message,
! (char_u *)_("&OK\n&Cancel"), 1, IObuff) == 1)
rettv->vval.v_string = vim_strsave(IObuff);
else
{
--- 12744,12750 ----
IObuff[0] = NUL;
if (message != NULL && defstr != NULL
&& do_dialog(VIM_QUESTION, NULL, message,
! (char_u *)_("&OK\n&Cancel"), 1, IObuff, FALSE) == 1)
rettv->vval.v_string = vim_strsave(IObuff);
else
{
*** ../vim-7.3.101/src/fileio.c 2010-12-17 18:06:00.000000000 +0100
--- src/fileio.c 2011-01-16 00:14:37.000000000 +0100
***************
*** 7008,7014 ****
STRCAT(tbuf, mesg2);
}
if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
! (char_u *)_("&OK\n&Load File"), 1, NULL) == 2)
reload = TRUE;
}
else
--- 7008,7014 ----
STRCAT(tbuf, mesg2);
}
if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
! (char_u *)_("&OK\n&Load File"), 1, NULL, TRUE) == 2)
reload = TRUE;
}
else
*** ../vim-7.3.101/src/gui.c 2010-10-20 19:17:43.000000000 +0200
--- src/gui.c 2011-01-16 00:14:56.000000000 +0100
***************
*** 4903,4909 ****
if (STRLEN(p) > 2000)
STRCPY(p + 2000 - 14, "...(truncated)");
(void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
! p, (char_u *)_("&Ok"), 1, NULL);
break;
}
ga_clear(&error_ga);
--- 4903,4909 ----
if (STRLEN(p) > 2000)
STRCPY(p + 2000 - 14, "...(truncated)");
(void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
! p, (char_u *)_("&Ok"), 1, NULL, FALSE);
break;
}
ga_clear(&error_ga);
*** ../vim-7.3.101/src/gui_xmdlg.c 2010-08-15 21:57:32.000000000 +0200
--- src/gui_xmdlg.c 2011-01-16 00:15:33.000000000 +0100
***************
*** 688,694 ****
do_dialog(VIM_ERROR,
(char_u *)_("Error"),
(char_u *)_("Invalid font specification"),
! (char_u *)_("&Dismiss"), 1, NULL);
return True;
}
--- 688,694 ----
do_dialog(VIM_ERROR,
(char_u *)_("Error"),
(char_u *)_("Invalid font specification"),
! (char_u *)_("&Dismiss"), 1, NULL, FALSE);
return True;
}
***************
*** 807,813 ****
do_dialog(VIM_ERROR,
(char_u *)_("Error"),
(char_u *)_("Invalid font specification"),
! (char_u *)_("&Dismiss"), 1, NULL);
XFreeFontNames(name);
}
else
--- 807,813 ----
do_dialog(VIM_ERROR,
(char_u *)_("Error"),
(char_u *)_("Invalid font specification"),
! (char_u *)_("&Dismiss"), 1, NULL, FALSE);
XFreeFontNames(name);
}
else
*** ../vim-7.3.101/src/memline.c 2010-12-17 20:23:56.000000000 +0100
--- src/memline.c 2011-01-16 00:15:47.000000000 +0100
***************
*** 4516,4522 ****
process_still_running
? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
# endif
! (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL);
# if defined(UNIX) || defined(__EMX__) || defined(VMS)
if (process_still_running && choice >= 4)
--- 4516,4522 ----
process_still_running
? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
# endif
! (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL, FALSE);
# if defined(UNIX) || defined(__EMX__) || defined(VMS)
if (process_still_running && choice >= 4)
*** ../vim-7.3.101/src/message.c 2011-01-04 19:25:46.000000000 +0100
--- src/message.c 2011-01-17 19:57:30.000000000 +0100
***************
*** 3315,3321 ****
* different letter.
*/
int
! do_dialog(type, title, message, buttons, dfltbutton, textfield)
int type UNUSED;
char_u *title UNUSED;
char_u *message;
--- 3315,3321 ----
* different letter.
*/
int
! do_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
int type UNUSED;
char_u *title UNUSED;
char_u *message;
***************
*** 3323,3328 ****
--- 3323,3330 ----
int dfltbutton;
char_u *textfield UNUSED; /* IObuff for inputdialog(), NULL
otherwise */
+ int ex_cmd; /* when TRUE pressing : accepts default and starts
+ Ex command */
{
int oldState;
int retval = 0;
***************
*** 3341,3347 ****
if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
{
c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
! textfield);
/* avoid a hit-enter prompt without clearing the cmdline */
need_wait_return = FALSE;
emsg_on_display = FALSE;
--- 3343,3349 ----
if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
{
c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
! textfield, ex_cmd);
/* avoid a hit-enter prompt without clearing the cmdline */
need_wait_return = FALSE;
emsg_on_display = FALSE;
***************
*** 3388,3393 ****
--- 3390,3402 ----
default: /* Could be a hotkey? */
if (c < 0) /* special keys are ignored here */
continue;
+ if (c == ':' && ex_cmd)
+ {
+ retval = dfltbutton;
+ ins_char_typebuf(':');
+ break;
+ }
+
/* Make the character lowercase, as chars in "hotkeys" are. */
c = MB_TOLOWER(c);
retval = 1;
***************
*** 3661,3667 ****
if (do_dialog(type,
title == NULL ? (char_u *)_("Question") : title,
message,
! (char_u *)_("&Yes\n&No"), dflt, NULL) == 1)
return VIM_YES;
return VIM_NO;
}
--- 3670,3676 ----
if (do_dialog(type,
title == NULL ? (char_u *)_("Question") : title,
message,
! (char_u *)_("&Yes\n&No"), dflt, NULL, FALSE) == 1)
return VIM_YES;
return VIM_NO;
}
***************
*** 3676,3682 ****
switch (do_dialog(type,
title == NULL ? (char_u *)_("Question") : title,
message,
! (char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL))
{
case 1: return VIM_YES;
case 2: return VIM_NO;
--- 3685,3691 ----
switch (do_dialog(type,
title == NULL ? (char_u *)_("Question") : title,
message,
! (char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL, FALSE))
{
case 1: return VIM_YES;
case 2: return VIM_NO;
***************
*** 3695,3701 ****
title == NULL ? (char_u *)"Question" : title,
message,
(char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
! dflt, NULL))
{
case 1: return VIM_YES;
case 2: return VIM_NO;
--- 3704,3710 ----
title == NULL ? (char_u *)"Question" : title,
message,
(char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
! dflt, NULL, FALSE))
{
case 1: return VIM_YES;
case 2: return VIM_NO;
*** ../vim-7.3.101/src/proto/message.pro 2010-10-20 21:22:17.000000000 +0200
--- src/proto/message.pro 2011-01-16 00:22:36.000000000 +0100
***************
*** 64,70 ****
int verbose_open __ARGS((void));
void give_warning __ARGS((char_u *message, int hl));
void msg_advance __ARGS((int col));
! int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
void display_confirm_msg __ARGS((void));
int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
--- 64,70 ----
int verbose_open __ARGS((void));
void give_warning __ARGS((char_u *message, int hl));
void msg_advance __ARGS((int col));
! int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
void display_confirm_msg __ARGS((void));
int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
*** ../vim-7.3.101/src/gui_athena.c 2010-08-15 21:57:25.000000000 +0200
--- src/gui_athena.c 2011-01-16 00:18:47.000000000 +0100
***************
*** 2117,2129 ****
}
int
! gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield)
int type UNUSED;
char_u *title;
char_u *message;
char_u *buttons;
int dfltbutton UNUSED;
char_u *textfield;
{
char_u *buts;
char_u *p, *next;
--- 2117,2130 ----
}
int
! gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
int type UNUSED;
char_u *title;
char_u *message;
char_u *buttons;
int dfltbutton UNUSED;
char_u *textfield;
+ int ex_cmd UNUSED;
{
char_u *buts;
char_u *p, *next;
*** ../vim-7.3.101/src/gui_gtk.c 2010-12-08 13:11:15.000000000 +0100
--- src/gui_gtk.c 2011-01-16 00:24:44.000000000 +0100
***************
*** 1268,1274 ****
char_u *message, /* message text */
char_u *buttons, /* names of buttons */
int def_but, /* default button */
! char_u *textfield) /* text for textfield or NULL */
{
GtkWidget *dialog;
GtkWidget *entry = NULL;
--- 1268,1275 ----
char_u *message, /* message text */
char_u *buttons, /* names of buttons */
int def_but, /* default button */
! char_u *textfield, /* text for textfield or NULL */
! int ex_cmd UNUSED)
{
GtkWidget *dialog;
GtkWidget *entry = NULL;
*** ../vim-7.3.101/src/gui_mac.c 2010-09-21 17:34:26.000000000 +0200
--- src/gui_mac.c 2011-01-16 00:19:52.000000000 +0100
***************
*** 5583,5589 ****
char_u *message,
char_u *buttons,
int dfltbutton,
! char_u *textfield)
{
Handle buttonDITL;
Handle iconDITL;
--- 5583,5590 ----
char_u *message,
char_u *buttons,
int dfltbutton,
! char_u *textfield,
! int ex_cmd)
{
Handle buttonDITL;
Handle iconDITL;
*** ../vim-7.3.101/src/gui_motif.c 2010-08-15 21:57:28.000000000 +0200
--- src/gui_motif.c 2011-01-16 00:20:14.000000000 +0100
***************
*** 2549,2561 ****
#endif
int
! gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield)
int type UNUSED;
char_u *title;
char_u *message;
char_u *button_names;
int dfltbutton;
char_u *textfield; /* buffer of size IOSIZE */
{
char_u *buts;
char_u *p, *next;
--- 2549,2562 ----
#endif
int
! gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield, ex_cmd)
int type UNUSED;
char_u *title;
char_u *message;
char_u *button_names;
int dfltbutton;
char_u *textfield; /* buffer of size IOSIZE */
+ int ex_cmd UNUSED;
{
char_u *buts;
char_u *p, *next;
*** ../vim-7.3.101/src/gui_photon.c 2010-08-15 21:57:27.000000000 +0200
--- src/gui_photon.c 2011-01-16 00:20:28.000000000 +0100
***************
*** 1502,1508 ****
char_u *message,
char_u *buttons,
int default_button,
! char_u *textfield)
{
char_u *str;
char_u **button_array;
--- 1502,1509 ----
char_u *message,
char_u *buttons,
int default_button,
! char_u *textfield,
! int ex_cmd)
{
char_u *str;
char_u **button_array;
*** ../vim-7.3.101/src/gui_w16.c 2010-08-15 21:57:28.000000000 +0200
--- src/gui_w16.c 2011-01-16 00:20:48.000000000 +0100
***************
*** 1098,1104 ****
char_u *message,
char_u *buttons,
int dfltbutton,
! char_u *textfield)
{
FARPROC dp;
LPWORD p, pnumitems;
--- 1098,1105 ----
char_u *message,
char_u *buttons,
int dfltbutton,
! char_u *textfield,
! int ex_cmd)
{
FARPROC dp;
LPWORD p, pnumitems;
*** ../vim-7.3.101/src/gui_w32.c 2010-10-27 12:33:12.000000000 +0200
--- src/gui_w32.c 2011-01-16 00:21:08.000000000 +0100
***************
*** 3005,3011 ****
char_u *message,
char_u *buttons,
int dfltbutton,
! char_u *textfield)
{
WORD *p, *pdlgtemplate, *pnumitems;
DWORD *dwp;
--- 3005,3012 ----
char_u *message,
char_u *buttons,
int dfltbutton,
! char_u *textfield,
! int ex_cmd)
{
WORD *p, *pdlgtemplate, *pnumitems;
DWORD *dwp;
*** ../vim-7.3.101/src/os_mswin.c 2010-12-17 20:23:56.000000000 +0100
--- src/os_mswin.c 2011-01-16 00:21:41.000000000 +0100
***************
*** 593,599 ****
gui.starting ? (char_u *)_("Message") :
#endif
(char_u *)_("Error"),
! p, (char_u *)_("&Ok"), 1, NULL);
break;
}
ga_clear(&error_ga);
--- 593,599 ----
gui.starting ? (char_u *)_("Message") :
#endif
(char_u *)_("Error"),
! p, (char_u *)_("&Ok"), 1, NULL, FALSE);
break;
}
ga_clear(&error_ga);
*** ../vim-7.3.101/src/proto/gui_athena.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_athena.pro 2011-01-16 00:23:00.000000000 +0100
***************
*** 27,31 ****
void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
Window gui_x11_get_wid __ARGS((void));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
/* vim: set ft=c : */
--- 27,31 ----
void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
Window gui_x11_get_wid __ARGS((void));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
/* vim: set ft=c : */
*** ../vim-7.3.101/src/proto/gui_gtk.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_gtk.pro 2011-01-16 00:22:57.000000000 +0100
***************
*** 13,19 ****
void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
void gui_mch_find_dialog __ARGS((exarg_T *eap));
--- 13,19 ----
void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield, int ex_cmd));
void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
void gui_mch_find_dialog __ARGS((exarg_T *eap));
*** ../vim-7.3.101/src/proto/gui_mac.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_mac.pro 2011-01-16 00:31:46.000000000 +0100
***************
*** 81,87 ****
int gui_mch_get_mouse_y __ARGS((void));
void gui_mch_setmouse __ARGS((int x, int y));
void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
void gui_mch_set_foreground __ARGS((void));
void gui_mch_show_tabline __ARGS((int showit));
--- 81,87 ----
int gui_mch_get_mouse_y __ARGS((void));
void gui_mch_setmouse __ARGS((int x, int y));
void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
void gui_mch_set_foreground __ARGS((void));
void gui_mch_show_tabline __ARGS((int showit));
*** ../vim-7.3.101/src/proto/gui_motif.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_motif.pro 2011-01-16 00:22:58.000000000 +0100
***************
*** 29,35 ****
void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
Window gui_x11_get_wid __ARGS((void));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
void gui_mch_enable_footer __ARGS((int showit));
void gui_mch_set_footer __ARGS((char_u *s));
void gui_mch_show_toolbar __ARGS((int showit));
--- 29,35 ----
void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
Window gui_x11_get_wid __ARGS((void));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield, int ex_cmd));
void gui_mch_enable_footer __ARGS((int showit));
void gui_mch_set_footer __ARGS((char_u *s));
void gui_mch_show_toolbar __ARGS((int showit));
*** ../vim-7.3.101/src/proto/gui_photon.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_photon.pro 2011-01-16 00:32:33.000000000 +0100
***************
*** 8,14 ****
void gui_mch_update __ARGS((void));
int gui_mch_wait_for_chars __ARGS((int wtime));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield));
int gui_mch_get_winpos __ARGS((int *x, int *y));
void gui_mch_set_winpos __ARGS((int x, int y));
void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
--- 8,14 ----
void gui_mch_update __ARGS((void));
int gui_mch_wait_for_chars __ARGS((int wtime));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield, int ex_cmd));
int gui_mch_get_winpos __ARGS((int *x, int *y));
void gui_mch_set_winpos __ARGS((int x, int y));
void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
*** ../vim-7.3.101/src/proto/gui_w16.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_w16.pro 2011-01-16 00:34:36.000000000 +0100
***************
*** 74,79 ****
void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
void gui_mch_set_foreground __ARGS((void));
/* vim: set ft=c : */
--- 74,79 ----
void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
void gui_mch_set_foreground __ARGS((void));
/* vim: set ft=c : */
*** ../vim-7.3.101/src/proto/gui_w32.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_w32.pro 2011-01-16 00:33:12.000000000 +0100
***************
*** 81,87 ****
void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
void gui_mch_set_foreground __ARGS((void));
void gui_mch_drawsign __ARGS((int row, int col, int typenr));
void *gui_mch_register_sign __ARGS((char_u *signfile));
--- 81,87 ----
void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
void gui_mch_set_foreground __ARGS((void));
void gui_mch_drawsign __ARGS((int row, int col, int typenr));
void *gui_mch_register_sign __ARGS((char_u *signfile));
*** ../vim-7.3.101/src/version.c 2011-01-17 19:53:20.000000000 +0100
--- src/version.c 2011-01-17 20:05:02.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 102,
/**/
--
hundred-and-one symptoms of being an internet addict:
110. You actually volunteer to become your employer's webmaster.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

145
7.3.103 Normal file
View file

@ -0,0 +1,145 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.103
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.103
Problem: Changing 'fileformat' and then using ":w" in an empty file sets
the 'modified' option.
Solution: In unchanged() don't ignore 'ff' for an empty file.
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c
*** ../vim-7.3.102/src/misc1.c 2010-12-30 12:30:26.000000000 +0100
--- src/misc1.c 2011-01-22 00:00:24.000000000 +0100
***************
*** 2919,2925 ****
buf_T *buf;
int ff; /* also reset 'fileformat' */
{
! if (buf->b_changed || (ff && file_ff_differs(buf)))
{
buf->b_changed = 0;
ml_setflags(buf);
--- 2919,2925 ----
buf_T *buf;
int ff; /* also reset 'fileformat' */
{
! if (buf->b_changed || (ff && file_ff_differs(buf, FALSE)))
{
buf->b_changed = 0;
ml_setflags(buf);
*** ../vim-7.3.102/src/option.c 2010-12-02 21:43:10.000000000 +0100
--- src/option.c 2011-01-22 00:03:40.000000000 +0100
***************
*** 11296,11311 ****
* from when editing started (save_file_ff() called).
* Also when 'endofline' was changed and 'binary' is set, or when 'bomb' was
* changed and 'binary' is not set.
! * Don't consider a new, empty buffer to be changed.
*/
int
! file_ff_differs(buf)
buf_T *buf;
{
/* In a buffer that was never loaded the options are not valid. */
if (buf->b_flags & BF_NEVERLOADED)
return FALSE;
! if ((buf->b_flags & BF_NEW)
&& buf->b_ml.ml_line_count == 1
&& *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
return FALSE;
--- 11296,11314 ----
* from when editing started (save_file_ff() called).
* Also when 'endofline' was changed and 'binary' is set, or when 'bomb' was
* changed and 'binary' is not set.
! * When "ignore_empty" is true don't consider a new, empty buffer to be
! * changed.
*/
int
! file_ff_differs(buf, ignore_empty)
buf_T *buf;
+ int ignore_empty;
{
/* In a buffer that was never loaded the options are not valid. */
if (buf->b_flags & BF_NEVERLOADED)
return FALSE;
! if (ignore_empty
! && (buf->b_flags & BF_NEW)
&& buf->b_ml.ml_line_count == 1
&& *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
return FALSE;
*** ../vim-7.3.102/src/proto/option.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/option.pro 2011-01-22 00:04:35.000000000 +0100
***************
*** 54,59 ****
int option_was_set __ARGS((char_u *name));
int can_bs __ARGS((int what));
void save_file_ff __ARGS((buf_T *buf));
! int file_ff_differs __ARGS((buf_T *buf));
int check_ff_value __ARGS((char_u *p));
/* vim: set ft=c : */
--- 54,59 ----
int option_was_set __ARGS((char_u *name));
int can_bs __ARGS((int what));
void save_file_ff __ARGS((buf_T *buf));
! int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
int check_ff_value __ARGS((char_u *p));
/* vim: set ft=c : */
*** ../vim-7.3.102/src/undo.c 2010-12-17 18:06:00.000000000 +0100
--- src/undo.c 2011-01-22 00:03:58.000000000 +0100
***************
*** 3304,3310 ****
#ifdef FEAT_QUICKFIX
!bt_dontwrite(buf) &&
#endif
! (buf->b_changed || file_ff_differs(buf));
}
int
--- 3304,3310 ----
#ifdef FEAT_QUICKFIX
!bt_dontwrite(buf) &&
#endif
! (buf->b_changed || file_ff_differs(buf, TRUE));
}
int
***************
*** 3314,3320 ****
#ifdef FEAT_QUICKFIX
!bt_dontwrite(curbuf) &&
#endif
! (curbuf->b_changed || file_ff_differs(curbuf));
}
#if defined(FEAT_EVAL) || defined(PROTO)
--- 3314,3320 ----
#ifdef FEAT_QUICKFIX
!bt_dontwrite(curbuf) &&
#endif
! (curbuf->b_changed || file_ff_differs(curbuf, TRUE));
}
#if defined(FEAT_EVAL) || defined(PROTO)
*** ../vim-7.3.102/src/version.c 2011-01-17 20:08:03.000000000 +0100
--- src/version.c 2011-01-22 00:07:56.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 103,
/**/
--
In a world without fences, who needs Gates and Windows?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.3.104 Normal file
View file

@ -0,0 +1,50 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.104
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Problem: Conceal: using Tab for cchar causes problems. (ZyX)
Solution: Do not accept a control character for cchar.
Files: src/syntax.c
*** ../vim-7.3.103/src/syntax.c 2010-09-29 18:32:47.000000000 +0200
--- src/syntax.c 2011-01-22 00:50:20.000000000 +0100
***************
*** 4537,4542 ****
--- 4537,4549 ----
;
#endif
}
+ #ifdef FEAT_CONCEAL
+ if (!vim_isprintc_strict(*conceal_char))
+ {
+ EMSG(_("E844: invalid cchar value"));
+ return NULL;
+ }
+ #endif
arg = skipwhite(arg + 7);
}
else
*** ../vim-7.3.103/src/version.c 2011-01-22 00:11:42.000000000 +0100
--- src/version.c 2011-01-22 00:54:56.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 104,
/**/
--
hundred-and-one symptoms of being an internet addict:
132. You come back and check this list every half-hour.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.3.105 Normal file
View file

@ -0,0 +1,50 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.105
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.105
Problem: Can't get the value of "b:changedtick" with getbufvar().
Solution: Make it work. (Christian Brabandt)
Files: src/eval.c
*** ../vim-7.3.104/src/eval.c 2011-01-17 20:08:03.000000000 +0100
--- src/eval.c 2011-01-22 01:10:42.000000000 +0100
***************
*** 10866,10871 ****
--- 10866,10876 ----
if (*varname == '&') /* buffer-local-option */
get_option_tv(&varname, rettv, TRUE);
+ else if (STRCMP(varname, "changedtick") == 0)
+ {
+ rettv->v_type = VAR_NUMBER;
+ rettv->vval.v_number = curbuf->b_changedtick;
+ }
else
{
if (*varname == NUL)
*** ../vim-7.3.104/src/version.c 2011-01-22 00:58:15.000000000 +0100
--- src/version.c 2011-01-22 01:13:19.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 105,
/**/
--
hundred-and-one symptoms of being an internet addict:
133. You communicate with people on other continents more than you
do with your own neighbors.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.106 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.106
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.106
Problem: When 'cursorbind' is set another window may scroll unexpectedly
when 'scrollbind' is also set. (Xavier Wang)
Solution: Don't call update_topline() if 'scrollbind' is set.
Files: src/move.c
*** ../vim-7.3.105/src/move.c 2010-08-15 21:57:29.000000000 +0200
--- src/move.c 2011-01-22 20:58:50.000000000 +0100
***************
*** 2882,2890 ****
if (has_mbyte)
mb_adjust_cursor();
# endif
-
redraw_later(VALID);
! update_topline();
# ifdef FEAT_WINDOWS
curwin->w_redr_status = TRUE;
# endif
--- 2882,2892 ----
if (has_mbyte)
mb_adjust_cursor();
# endif
redraw_later(VALID);
!
! /* Only scroll when 'scrollbind' hasn't done this. */
! if (!curwin->w_p_scb)
! update_topline();
# ifdef FEAT_WINDOWS
curwin->w_redr_status = TRUE;
# endif
*** ../vim-7.3.105/src/version.c 2011-01-22 01:13:33.000000000 +0100
--- src/version.c 2011-01-22 21:03:21.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 106,
/**/
--
Never eat yellow snow.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.107 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.107
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.107
Problem: Year number for :undolist can be confused with month or day.
Solution: Change "%y" to "%Y".
Files: src/undo.c
*** ../vim-7.3.106/src/undo.c 2011-01-22 00:11:42.000000000 +0100
--- src/undo.c 2011-01-22 00:03:58.000000000 +0100
***************
*** 2884,2890 ****
(void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
else
/* long ago */
! (void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime);
}
else
#endif
--- 2884,2890 ----
(void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
else
/* long ago */
! (void)strftime((char *)buf, buflen, "%Y/%m/%d %H:%M:%S", curtime);
}
else
#endif
*** ../vim-7.3.106/src/version.c 2011-01-22 21:05:02.000000000 +0100
--- src/version.c 2011-01-22 21:24:07.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 107,
/**/
--
"The sun oozed over the horizon, shoved aside darkness, crept along the
greensward, and, with sickly fingers, pushed through the castle window,
revealing the pillaged princess, hand at throat, crown asunder, gaping
in frenzied horror at the sated, sodden amphibian lying beside her,
disbelieving the magnitude of the frog's deception, screaming madly,
"You lied!"
- Winner of the Bulwer-Lytton contest (San Jose State University),
wherein one writes only the first line of a bad novel
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

111
7.3.108 Normal file
View file

@ -0,0 +1,111 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.108
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.108
Problem: Useless check for NULL when calling vim_free().
Solution: Remove the check. (Dominique Pelle)
Files: src/eval.c, src/ex_cmds.c, src/os_win32.c
*** ../vim-7.3.107/src/eval.c 2011-01-22 01:13:33.000000000 +0100
--- src/eval.c 2011-01-30 21:37:53.000000000 +0100
***************
*** 5106,5114 ****
else
ret = OK;
}
!
! if (alias != NULL)
! vim_free(alias);
}
*arg = skipwhite(*arg);
--- 5106,5112 ----
else
ret = OK;
}
! vim_free(alias);
}
*arg = skipwhite(*arg);
***************
*** 19807,19813 ****
EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
return;
}
! /* Don't allow hiding a function. When "v" is not NULL we migth be
* assigning another function to the same var, the type is checked
* below. */
if (v == NULL && function_exists(name))
--- 19805,19811 ----
EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
return;
}
! /* Don't allow hiding a function. When "v" is not NULL we might be
* assigning another function to the same var, the type is checked
* below. */
if (v == NULL && function_exists(name))
*** ../vim-7.3.107/src/ex_cmds.c 2010-12-17 18:06:00.000000000 +0100
--- src/ex_cmds.c 2011-01-30 21:37:53.000000000 +0100
***************
*** 5412,5418 ****
vir_T *virp;
int force;
{
! if (old_sub != NULL && force)
vim_free(old_sub);
if (force || old_sub == NULL)
old_sub = viminfo_readstring(virp, 1, TRUE);
--- 5412,5418 ----
vir_T *virp;
int force;
{
! if (force)
vim_free(old_sub);
if (force || old_sub == NULL)
old_sub = viminfo_readstring(virp, 1, TRUE);
*** ../vim-7.3.107/src/os_win32.c 2010-12-17 20:23:56.000000000 +0100
--- src/os_win32.c 2011-01-30 21:37:53.000000000 +0100
***************
*** 1886,1893 ****
cb->BufferSize.X = cb->Info.dwSize.X;
cb->BufferSize.Y = cb->Info.dwSize.Y;
NumCells = cb->BufferSize.X * cb->BufferSize.Y;
! if (cb->Buffer != NULL)
! vim_free(cb->Buffer);
cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
if (cb->Buffer == NULL)
return FALSE;
--- 1886,1892 ----
cb->BufferSize.X = cb->Info.dwSize.X;
cb->BufferSize.Y = cb->Info.dwSize.Y;
NumCells = cb->BufferSize.X * cb->BufferSize.Y;
! vim_free(cb->Buffer);
cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
if (cb->Buffer == NULL)
return FALSE;
*** ../vim-7.3.107/src/version.c 2011-01-22 21:25:07.000000000 +0100
--- src/version.c 2011-02-01 13:47:07.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 108,
/**/
--
hundred-and-one symptoms of being an internet addict:
173. You keep tracking down the email addresses of all your friends
(even childhood friends).
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

266
7.3.109 Normal file
View file

@ -0,0 +1,266 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.109
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.109
Problem: Processing new Esperanto spell file fails and crashes Vim.
(Dominique Pelle)
Solution: When running out of memory give an error. Handle '?' in
COMPOUNDRULE properly.
Files: src/spell.c
*** ../vim-7.3.108/src/spell.c 2010-12-17 18:06:00.000000000 +0100
--- src/spell.c 2011-02-01 13:43:52.000000000 +0100
***************
*** 3634,3640 ****
}
/* Add all flags to "sl_compallflags". */
! if (vim_strchr((char_u *)"+*[]/", c) == NULL
&& !byte_in_str(slang->sl_compallflags, c))
{
*ap++ = c;
--- 3634,3640 ----
}
/* Add all flags to "sl_compallflags". */
! if (vim_strchr((char_u *)"?*+[]/", c) == NULL
&& !byte_in_str(slang->sl_compallflags, c))
{
*ap++ = c;
***************
*** 3664,3670 ****
/* Copy flag to "sl_comprules", unless we run into a wildcard. */
if (crp != NULL)
{
! if (c == '+' || c == '*')
{
vim_free(slang->sl_comprules);
slang->sl_comprules = NULL;
--- 3664,3670 ----
/* Copy flag to "sl_comprules", unless we run into a wildcard. */
if (crp != NULL)
{
! if (c == '?' || c == '+' || c == '*')
{
vim_free(slang->sl_comprules);
slang->sl_comprules = NULL;
***************
*** 3682,3689 ****
}
else /* normal char, "[abc]" and '*' are copied as-is */
{
! if (c == '+' || c == '~')
! *pp++ = '\\'; /* "a+" becomes "a\+" */
#ifdef FEAT_MBYTE
if (enc_utf8)
pp += mb_char2bytes(c, pp);
--- 3682,3689 ----
}
else /* normal char, "[abc]" and '*' are copied as-is */
{
! if (c == '?' || c == '+' || c == '~')
! *pp++ = '\\'; /* "a?" becomes "a\?", "a+" becomes "a\+" */
#ifdef FEAT_MBYTE
if (enc_utf8)
pp += mb_char2bytes(c, pp);
***************
*** 4951,4956 ****
--- 4951,4958 ----
sblock_T *si_blocks; /* memory blocks used */
long si_blocks_cnt; /* memory blocks allocated */
+ int si_did_emsg; /* TRUE when ran out of memory */
+
long si_compress_cnt; /* words to add before lowering
compression limit */
wordnode_T *si_first_free; /* List of nodes that have been freed during
***************
*** 5477,5497 ****
}
else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
{
! /* Concatenate this string to previously defined ones, using a
! * slash to separate them. */
! l = (int)STRLEN(items[1]) + 1;
! if (compflags != NULL)
! l += (int)STRLEN(compflags) + 1;
! p = getroom(spin, l, FALSE);
! if (p != NULL)
{
if (compflags != NULL)
{
! STRCPY(p, compflags);
! STRCAT(p, "/");
}
- STRCAT(p, items[1]);
- compflags = p;
}
}
else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
--- 5479,5503 ----
}
else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
{
! /* Don't use the first rule if it is a number. */
! if (compflags != NULL || *skipdigits(items[1]) != NUL)
{
+ /* Concatenate this string to previously defined ones,
+ * using a slash to separate them. */
+ l = (int)STRLEN(items[1]) + 1;
if (compflags != NULL)
+ l += (int)STRLEN(compflags) + 1;
+ p = getroom(spin, l, FALSE);
+ if (p != NULL)
{
! if (compflags != NULL)
! {
! STRCPY(p, compflags);
! STRCAT(p, "/");
! }
! STRCAT(p, items[1]);
! compflags = p;
}
}
}
else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
***************
*** 6291,6297 ****
for (p = compflags; *p != NUL; )
{
! if (vim_strchr((char_u *)"/*+[]", *p) != NULL)
/* Copy non-flag characters directly. */
*tp++ = *p++;
else
--- 6297,6303 ----
for (p = compflags; *p != NUL; )
{
! if (vim_strchr((char_u *)"/?*+[]", *p) != NULL)
/* Copy non-flag characters directly. */
*tp++ = *p++;
else
***************
*** 6320,6326 ****
{
check_renumber(spin);
id = spin->si_newcompID--;
! } while (vim_strchr((char_u *)"/+*[]\\-^", id) != NULL);
ci->ci_newID = id;
hash_add(&aff->af_comp, ci->ci_key);
}
--- 6326,6332 ----
{
check_renumber(spin);
id = spin->si_newcompID--;
! } while (vim_strchr((char_u *)"/?*+[]\\-^", id) != NULL);
ci->ci_newID = id;
hash_add(&aff->af_comp, ci->ci_key);
}
***************
*** 7364,7373 ****
if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
{
! /* Allocate a block of memory. This is not freed until much later. */
! bl = (sblock_T *)alloc_clear((unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
if (bl == NULL)
return NULL;
bl->sb_next = spin->si_blocks;
spin->si_blocks = bl;
bl->sb_used = 0;
--- 7370,7390 ----
if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
{
! if (len >= SBLOCKSIZE)
! bl = NULL;
! else
! /* Allocate a block of memory. It is not freed until much later. */
! bl = (sblock_T *)alloc_clear(
! (unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
if (bl == NULL)
+ {
+ if (!spin->si_did_emsg)
+ {
+ EMSG(_("E845: Insufficient memory, word list will be incomplete"));
+ spin->si_did_emsg = TRUE;
+ }
return NULL;
+ }
bl->sb_next = spin->si_blocks;
spin->si_blocks = bl;
bl->sb_used = 0;
***************
*** 7382,7387 ****
--- 7399,7405 ----
/*
* Make a copy of a string into memory allocated with getroom().
+ * Returns NULL when out of memory.
*/
static char_u *
getroom_save(spin, s)
***************
*** 7416,7421 ****
--- 7434,7440 ----
/*
* Allocate the root of a word tree.
+ * Returns NULL when out of memory.
*/
static wordnode_T *
wordtree_alloc(spin)
***************
*** 7700,7705 ****
--- 7719,7725 ----
/*
* Get a wordnode_T, either from the list of previously freed nodes or
* allocate a new one.
+ * Returns NULL when out of memory.
*/
static wordnode_T *
get_wordnode(spin)
***************
*** 7717,7723 ****
--spin->si_free_count;
}
#ifdef SPELL_PRINTTREE
! n->wn_nr = ++spin->si_wordnode_nr;
#endif
return n;
}
--- 7737,7744 ----
--spin->si_free_count;
}
#ifdef SPELL_PRINTTREE
! if (n != NULL)
! n->wn_nr = ++spin->si_wordnode_nr;
#endif
return n;
}
*** ../vim-7.3.108/src/version.c 2011-02-01 13:48:47.000000000 +0100
--- src/version.c 2011-02-01 13:56:38.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 109,
/**/
--
hundred-and-one symptoms of being an internet addict:
174. You know what a listserv is.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

76
7.3.110 Normal file
View file

@ -0,0 +1,76 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.110
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.110
Problem: The "nbsp" item in 'listchars' isn't used for ":list".
Solution: Make it work. (Christian Brabandt)
Files: src/message.c
*** ../vim-7.3.109/src/message.c 2011-01-17 20:08:03.000000000 +0100
--- src/message.c 2011-02-01 17:06:21.000000000 +0100
***************
*** 1637,1644 ****
else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
{
col += (*mb_ptr2cells)(s);
! mch_memmove(buf, s, (size_t)l);
! buf[l] = NUL;
msg_puts(buf);
s += l;
continue;
--- 1637,1652 ----
else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
{
col += (*mb_ptr2cells)(s);
! if (lcs_nbsp != NUL && list && mb_ptr2char(s) == 160)
! {
! mb_char2bytes(lcs_nbsp, buf);
! buf[(*mb_ptr2len)(buf)] = NUL;
! }
! else
! {
! mch_memmove(buf, s, (size_t)l);
! buf[l] = NUL;
! }
msg_puts(buf);
s += l;
continue;
***************
*** 1664,1669 ****
--- 1672,1682 ----
attr = hl_attr(HLF_8);
}
}
+ else if (c == 160 && list && lcs_nbsp != NUL)
+ {
+ c = lcs_nbsp;
+ attr = hl_attr(HLF_8);
+ }
else if (c == NUL && list && lcs_eol != NUL)
{
p_extra = (char_u *)"";
*** ../vim-7.3.109/src/version.c 2011-02-01 13:59:44.000000000 +0100
--- src/version.c 2011-02-01 17:08:31.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 110,
/**/
--
hundred-and-one symptoms of being an internet addict:
176. You lie, even to user-friends, about how long you were online yesterday.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

121
7.3.111 Normal file
View file

@ -0,0 +1,121 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.111
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.111 (after 7.3.100)
Problem: Executing a :normal command in 'statusline' evaluation causes the
cursor to move. (Dominique Pelle)
Solution: When updating the cursor for 'cursorbind' allow the cursor beyond
the end of the line. When evaluating 'statusline' temporarily
reset 'cursorbind'.
Files: src/move.c, src/screen.c
*** ../vim-7.3.110/src/move.c 2011-01-22 21:05:02.000000000 +0100
--- src/move.c 2011-02-01 17:36:10.000000000 +0100
***************
*** 2846,2851 ****
--- 2846,2852 ----
colnr_T col = curwin->w_cursor.col;
win_T *old_curwin = curwin;
buf_T *old_curbuf = curbuf;
+ int restart_edit_save;
# ifdef FEAT_VISUAL
int old_VIsual_select = VIsual_select;
int old_VIsual_active = VIsual_active;
***************
*** 2875,2882 ****
curwin->w_cursor.lnum = line;
curwin->w_cursor.col = col;
! /* Make sure the cursor is in a valid position. */
check_cursor();
# ifdef FEAT_MBYTE
/* Correct cursor for multi-byte character. */
if (has_mbyte)
--- 2876,2887 ----
curwin->w_cursor.lnum = line;
curwin->w_cursor.col = col;
! /* Make sure the cursor is in a valid position. Temporarily set
! * "restart_edit" to allow the cursor to be beyond the EOL. */
! restart_edit_save = restart_edit;
! restart_edit = TRUE;
check_cursor();
+ restart_edit = restart_edit_save;
# ifdef FEAT_MBYTE
/* Correct cursor for multi-byte character. */
if (has_mbyte)
*** ../vim-7.3.110/src/screen.c 2010-12-30 14:57:03.000000000 +0100
--- src/screen.c 2011-02-01 17:45:45.000000000 +0100
***************
*** 6435,6440 ****
--- 6435,6442 ----
struct stl_hlrec hltab[STL_MAX_ITEM];
struct stl_hlrec tabtab[STL_MAX_ITEM];
int use_sandbox = FALSE;
+ win_T *ewp;
+ int p_crb_save;
/* setup environment for the task at hand */
if (wp == NULL)
***************
*** 6513,6526 ****
if (maxwidth <= 0)
return;
/* Make a copy, because the statusline may include a function call that
* might change the option value and free the memory. */
stl = vim_strsave(stl);
! width = build_stl_str_hl(wp == NULL ? curwin : wp,
! buf, sizeof(buf),
stl, use_sandbox,
fillchar, maxwidth, hltab, tabtab);
vim_free(stl);
/* Make all characters printable. */
p = transstr(buf);
--- 6515,6534 ----
if (maxwidth <= 0)
return;
+ /* Temporarily reset 'cursorbind', we don't want a side effect from moving
+ * the cursor away and back. */
+ ewp = wp == NULL ? curwin : wp;
+ p_crb_save = ewp->w_p_crb;
+ ewp->w_p_crb = FALSE;
+
/* Make a copy, because the statusline may include a function call that
* might change the option value and free the memory. */
stl = vim_strsave(stl);
! width = build_stl_str_hl(ewp, buf, sizeof(buf),
stl, use_sandbox,
fillchar, maxwidth, hltab, tabtab);
vim_free(stl);
+ ewp->w_p_crb = p_crb_save;
/* Make all characters printable. */
p = transstr(buf);
*** ../vim-7.3.110/src/version.c 2011-02-01 17:12:20.000000000 +0100
--- src/version.c 2011-02-01 18:00:14.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 111,
/**/
--
hundred-and-one symptoms of being an internet addict:
177. You log off of your system because it's time to go to work.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

63
7.3.112 Normal file
View file

@ -0,0 +1,63 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.112
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.112
Problem: Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
Solution: Check for NUL after %.
Files: src/buffer.c
*** ../vim-7.3.111/src/buffer.c 2010-10-27 16:17:56.000000000 +0200
--- src/buffer.c 2011-02-01 21:40:17.000000000 +0100
***************
*** 3364,3370 ****
* or truncated if too long, fillchar is used for all whitespace.
*/
int
! build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar, maxwidth, hltab, tabtab)
win_T *wp;
char_u *out; /* buffer to write into != NameBuff */
size_t outlen; /* length of out[] */
--- 3364,3371 ----
* or truncated if too long, fillchar is used for all whitespace.
*/
int
! build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
! maxwidth, hltab, tabtab)
win_T *wp;
char_u *out; /* buffer to write into != NameBuff */
size_t outlen; /* length of out[] */
***************
*** 3474,3479 ****
--- 3475,3482 ----
* Handle one '%' item.
*/
s++;
+ if (*s == NUL) /* ignore trailing % */
+ break;
if (*s == '%')
{
if (p + 1 >= out + outlen)
*** ../vim-7.3.111/src/version.c 2011-02-01 18:01:06.000000000 +0100
--- src/version.c 2011-02-01 21:54:01.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 112,
/**/
--
Rule #1: Don't give somebody a tool that he's going to hurt himself with.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

55
7.3.113 Normal file
View file

@ -0,0 +1,55 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.113
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.113
Problem: Windows: Fall back directory for creating temp file is wrong.
Solution: Use "." instead of empty string. (Hong Xu)
Files: src/fileio.c
*** ../vim-7.3.112/src/fileio.c 2011-01-17 20:08:03.000000000 +0100
--- src/fileio.c 2011-02-06 13:14:25.000000000 +0100
***************
*** 7459,7465 ****
STRCPY(itmp, "");
if (GetTempPath(_MAX_PATH, szTempFile) == 0)
! szTempFile[0] = NUL; /* GetTempPath() failed, use current dir */
strcpy(buf4, "VIM");
buf4[2] = extra_char; /* make it "VIa", "VIb", etc. */
if (GetTempFileName(szTempFile, buf4, 0, itmp) == 0)
--- 7459,7468 ----
STRCPY(itmp, "");
if (GetTempPath(_MAX_PATH, szTempFile) == 0)
! {
! szTempFile[0] = '.'; /* GetTempPath() failed, use current dir */
! szTempFile[1] = NUL;
! }
strcpy(buf4, "VIM");
buf4[2] = extra_char; /* make it "VIa", "VIb", etc. */
if (GetTempFileName(szTempFile, buf4, 0, itmp) == 0)
*** ../vim-7.3.112/src/version.c 2011-02-01 21:54:56.000000000 +0100
--- src/version.c 2011-02-09 14:46:12.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 113,
/**/
--
'Psychologist' -- Someone who looks at everyone else when
an attractive woman enters the room.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.3.114 Normal file
View file

@ -0,0 +1,50 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.114
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.114
Problem: Potential problem in initialization when giving an error message
early.
Solution: Initialize 'verbosefile' empty. (Ben Schmidt)
Files: src/option.h
*** ../vim-7.3.113/src/option.h 2010-12-02 16:01:23.000000000 +0100
--- src/option.h 2011-02-09 15:37:36.000000000 +0100
***************
*** 854,860 ****
--- 854,864 ----
# define VE_ONEMORE 8
#endif
EXTERN long p_verbose; /* 'verbose' */
+ #ifdef IN_OPTION_C
+ char_u *p_vfile = (char_u *)""; /* used before options are initialized */
+ #else
EXTERN char_u *p_vfile; /* 'verbosefile' */
+ #endif
EXTERN int p_warn; /* 'warn' */
#ifdef FEAT_CMDL_COMPL
EXTERN char_u *p_wop; /* 'wildoptions' */
*** ../vim-7.3.113/src/version.c 2011-02-09 14:46:58.000000000 +0100
--- src/version.c 2011-02-09 15:46:17.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 114,
/**/
--
From the classified section of a city newspaper:
Dog for sale: eats anything and is fond of children.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.115 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.115
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.115
Problem: Vim can crash when tmpnam() returns NULL.
Solution: Check for NULL. (Hong Xu)
Files: src/fileio.c
*** ../vim-7.3.114/src/fileio.c 2011-02-09 14:46:58.000000000 +0100
--- src/fileio.c 2011-02-09 16:14:35.000000000 +0100
***************
*** 7483,7490 ****
# else /* WIN3264 */
# ifdef USE_TMPNAM
/* tmpnam() will make its own name */
! if (*tmpnam((char *)itmp) == NUL)
return NULL;
# else
char_u *p;
--- 7483,7493 ----
# else /* WIN3264 */
# ifdef USE_TMPNAM
+ char_u *p;
+
/* tmpnam() will make its own name */
! p = tmpnam((char *)itmp);
! if (p == NULL || *p == NUL)
return NULL;
# else
char_u *p;
*** ../vim-7.3.114/src/version.c 2011-02-09 15:59:32.000000000 +0100
--- src/version.c 2011-02-09 16:44:11.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 115,
/**/
--
hundred-and-one symptoms of being an internet addict:
218. Your spouse hands you a gift wrapped magnet with your PC's name
on it and you accuse him or her of genocide.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.116 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.116
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.116
Problem: 'cursorline' is displayed too short when there are concealed
characters and 'list' is set. (Dennis Preiser)
Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt)
Files: src/screen.c
*** ../vim-7.3.115/src/screen.c 2011-02-01 18:01:06.000000000 +0100
--- src/screen.c 2011-02-09 16:59:28.000000000 +0100
***************
*** 5099,5105 ****
#ifdef FEAT_DIFF
|| filler_todo > 0
#endif
! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str)
|| (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
)
{
--- 5099,5109 ----
#ifdef FEAT_DIFF
|| filler_todo > 0
#endif
! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str
! #ifdef FEAT_SYN_HL
! && !wp->w_p_cul
! #endif
! )
|| (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
)
{
*** ../vim-7.3.115/src/version.c 2011-02-09 16:44:45.000000000 +0100
--- src/version.c 2011-02-09 17:08:58.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 116,
/**/
--
hundred-and-one symptoms of being an internet addict:
219. Your spouse has his or her lawyer deliver the divorce papers...
via e-mail.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

89
7.3.117 Normal file
View file

@ -0,0 +1,89 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.117
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.117
Problem: On some systems --as-needed does not work, because the "tinfo"
library is included indirectly from "ncurses". (Charles Campbell)
Solution: In configure prefer using "tinfo" instead of "ncurses".
Files: src/configure.in, src/auto/configure
*** ../vim-7.3.116/src/configure.in 2010-11-16 19:25:56.000000000 +0100
--- src/configure.in 2011-02-09 17:28:16.000000000 +0100
***************
*** 2618,2630 ****
AC_MSG_RESULT([empty: automatic terminal library selection])
dnl On HP-UX 10.10 termcap or termlib should be used instead of
dnl curses, because curses is much slower.
! dnl Newer versions of ncurses are preferred over anything.
dnl Older versions of ncurses have bugs, get a new one!
dnl Digital Unix (OSF1) should use curses (Ronald Schild).
dnl On SCO Openserver should prefer termlib (Roger Cornelius).
case "`uname -s 2>/dev/null`" in
! OSF1|SCO_SV) tlibs="ncurses curses termlib termcap";;
! *) tlibs="ncurses termlib termcap curses";;
esac
for libname in $tlibs; do
AC_CHECK_LIB(${libname}, tgetent,,)
--- 2618,2631 ----
AC_MSG_RESULT([empty: automatic terminal library selection])
dnl On HP-UX 10.10 termcap or termlib should be used instead of
dnl curses, because curses is much slower.
! dnl Newer versions of ncurses are preferred over anything, except
! dnl when tinfo has been split off, it conains all we need.
dnl Older versions of ncurses have bugs, get a new one!
dnl Digital Unix (OSF1) should use curses (Ronald Schild).
dnl On SCO Openserver should prefer termlib (Roger Cornelius).
case "`uname -s 2>/dev/null`" in
! OSF1|SCO_SV) tlibs="tinfo ncurses curses termlib termcap";;
! *) tlibs="tinfo ncurses termlib termcap curses";;
esac
for libname in $tlibs; do
AC_CHECK_LIB(${libname}, tgetent,,)
*** ../vim-7.3.116/src/auto/configure 2010-11-16 19:25:56.000000000 +0100
--- src/auto/configure 2011-02-09 17:29:13.000000000 +0100
***************
*** 9886,9894 ****
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: empty: automatic terminal library selection" >&5
$as_echo "empty: automatic terminal library selection" >&6; }
! case "`uname -s 2>/dev/null`" in
! OSF1|SCO_SV) tlibs="ncurses curses termlib termcap";;
! *) tlibs="ncurses termlib termcap curses";;
esac
for libname in $tlibs; do
as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
--- 9886,9894 ----
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: empty: automatic terminal library selection" >&5
$as_echo "empty: automatic terminal library selection" >&6; }
! case "`uname -s 2>/dev/null`" in
! OSF1|SCO_SV) tlibs="tinfo ncurses curses termlib termcap";;
! *) tlibs="tinfo ncurses termlib termcap curses";;
esac
for libname in $tlibs; do
as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
*** ../vim-7.3.116/src/version.c 2011-02-09 17:09:26.000000000 +0100
--- src/version.c 2011-02-09 17:41:37.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 117,
/**/
--
hundred-and-one symptoms of being an internet addict:
220. Your wife asks for sex and you tell her where to find you on IRC.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

69
7.3.118 Normal file
View file

@ -0,0 +1,69 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.118
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.118
Problem: Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
Solution: Ignore SIGVTALARM. (Dominique Pelle)
Files: src/os_unix.c
*** ../vim-7.3.117/src/os_unix.c 2010-12-17 16:27:10.000000000 +0100
--- src/os_unix.c 2011-02-09 18:19:57.000000000 +0100
***************
*** 283,289 ****
#ifdef SIGTERM
{SIGTERM, "TERM", TRUE},
#endif
! #ifdef SIGVTALRM
{SIGVTALRM, "VTALRM", TRUE},
#endif
#if defined(SIGPROF) && !defined(FEAT_MZSCHEME) && !defined(WE_ARE_PROFILING)
--- 283,289 ----
#ifdef SIGTERM
{SIGTERM, "TERM", TRUE},
#endif
! #if defined(SIGVTALRM) && !defined(FEAT_RUBY)
{SIGVTALRM, "VTALRM", TRUE},
#endif
#if defined(SIGPROF) && !defined(FEAT_MZSCHEME) && !defined(WE_ARE_PROFILING)
***************
*** 1107,1113 ****
* On Linux, signal is not always handled immediately either.
* See https://bugs.launchpad.net/bugs/291373
*
! * volatile because it is used in in signal handler sigcont_handler().
*/
static volatile int sigcont_received;
static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG);
--- 1107,1113 ----
* On Linux, signal is not always handled immediately either.
* See https://bugs.launchpad.net/bugs/291373
*
! * volatile because it is used in signal handler sigcont_handler().
*/
static volatile int sigcont_received;
static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG);
*** ../vim-7.3.117/src/version.c 2011-02-09 17:42:53.000000000 +0100
--- src/version.c 2011-02-09 18:46:53.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 118,
/**/
--
hundred-and-one symptoms of being an internet addict:
221. Your wife melts your keyboard in the oven.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.3.119 Normal file
View file

@ -0,0 +1,52 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.1
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.119
Problem: Build problem on Mac. (Nicholas Stallard)
Solution: Use "extern" instead of "EXTERN" for p_vfile.
Files: src/option.h
*** ../vim-7.3.118/src/option.h 2011-02-09 15:59:32.000000000 +0100
--- src/option.h 2011-02-12 13:56:50.000000000 +0100
***************
*** 857,863 ****
#ifdef IN_OPTION_C
char_u *p_vfile = (char_u *)""; /* used before options are initialized */
#else
! EXTERN char_u *p_vfile; /* 'verbosefile' */
#endif
EXTERN int p_warn; /* 'warn' */
#ifdef FEAT_CMDL_COMPL
--- 857,863 ----
#ifdef IN_OPTION_C
char_u *p_vfile = (char_u *)""; /* used before options are initialized */
#else
! extern char_u *p_vfile; /* 'verbosefile' */
#endif
EXTERN int p_warn; /* 'warn' */
#ifdef FEAT_CMDL_COMPL
*** ../vim-7.3.118/src/version.c 2011-02-09 18:47:36.000000000 +0100
--- src/version.c 2011-02-12 13:59:41.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 119,
/**/
--
hundred-and-one symptoms of being an internet addict:
237. You tattoo your email address on your forehead.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

59
7.3.120 Normal file
View file

@ -0,0 +1,59 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.120
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.120
Problem: The message for an existing swap file is too long to fit in a 25
line terminal.
Solution: Make the message shorter. (Chad Miller)
Files: src/memline.c
*** ../vim-7.3.119/src/memline.c 2011-01-17 20:08:03.000000000 +0100
--- src/memline.c 2011-02-13 14:18:08.000000000 +0100
***************
*** 4071,4079 ****
}
/* Some of these messages are long to allow translation to
* other languages. */
! MSG_PUTS(_("\n(1) Another program may be editing the same file.\n If this is the case, be careful not to end up with two\n different instances of the same file when making changes.\n"));
! MSG_PUTS(_(" Quit, or continue with caution.\n"));
! MSG_PUTS(_("\n(2) An edit session for this file crashed.\n"));
MSG_PUTS(_(" If this is the case, use \":recover\" or \"vim -r "));
msg_outtrans(buf->b_fname);
MSG_PUTS(_("\"\n to recover the changes (see \":help recovery\").\n"));
--- 4071,4079 ----
}
/* Some of these messages are long to allow translation to
* other languages. */
! MSG_PUTS(_("\n(1) Another program may be editing the same file. If this is the case,\n be careful not to end up with two different instances of the same\n file when making changes."));
! MSG_PUTS(_(" Quit, or continue with caution.\n"));
! MSG_PUTS(_("(2) An edit session for this file crashed.\n"));
MSG_PUTS(_(" If this is the case, use \":recover\" or \"vim -r "));
msg_outtrans(buf->b_fname);
MSG_PUTS(_("\"\n to recover the changes (see \":help recovery\").\n"));
*** ../vim-7.3.119/src/version.c 2011-02-12 13:59:55.000000000 +0100
--- src/version.c 2011-02-15 11:56:14.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 120,
/**/
--
hundred-and-one symptoms of being an internet addict:
257. Your "hundred-and-one" lists include well over 101 items, since you
automatically interpret all numbers in hexadecimal notation.
(hex 101 = decimal 257)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

57
7.3.121 Normal file
View file

@ -0,0 +1,57 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.121
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.121
Problem: Complicated 'statusline' causes a crash. (Christian Brabandt)
Solution: Check that the number of items is not too big.
Files: src/buffer.c
*** ../vim-7.3.120/src/buffer.c 2011-02-01 21:54:56.000000000 +0100
--- src/buffer.c 2011-02-15 14:00:51.000000000 +0100
***************
*** 3460,3465 ****
--- 3461,3478 ----
prevchar_isitem = FALSE;
for (s = usefmt; *s; )
{
+ if (curitem == STL_MAX_ITEM)
+ {
+ /* There are too many items. Add the error code to the statusline
+ * to give the user a hint about what went wrong. */
+ if (p + 6 < out + outlen)
+ {
+ mch_memmove(p, " E541", (size_t)5);
+ p += 5;
+ }
+ break;
+ }
+
if (*s != NUL && *s != '%')
prevchar_isflag = prevchar_isitem = FALSE;
*** ../vim-7.3.120/src/version.c 2011-02-15 11:56:56.000000000 +0100
--- src/version.c 2011-02-15 14:23:39.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 121,
/**/
--
hundred-and-one symptoms of being an internet addict:
265. Your reason for not staying in touch with family is that
they do not have e-mail addresses.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

100
7.3.122 Normal file
View file

@ -0,0 +1,100 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.122
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.122
Problem: Having auto/config.mk in the repository causes problems.
Solution: Remove auto/config.mk from the distribution. In the toplevel
Makefile copy it from the "dist" file.
Files: Makefile, src/Makefile, src/auto/config.mk
*** ../vim-7.3.121/Makefile 2010-08-15 21:57:20.000000000 +0200
--- Makefile 2011-02-12 14:28:09.000000000 +0100
***************
*** 23,28 ****
--- 23,31 ----
# has run can result in compiling with $(CC) empty.
first:
+ @if test ! -f src/auto/config.mk; then \
+ cp src/config.mk.dist src/auto/config.mk; \
+ fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
***************
*** 30,35 ****
--- 33,41 ----
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
+ @if test ! -f src/auto/config.mk; then \
+ cp src/config.mk.dist src/auto/config.mk; \
+ fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
*** ../vim-7.3.121/src/Makefile 2010-11-03 22:32:18.000000000 +0100
--- src/Makefile 2011-02-15 15:21:37.000000000 +0100
***************
*** 283,294 ****
######################## auto/config.mk ######################## {{{1
# At this position auto/config.mk is included. When starting from the
! # distribution it is almost empty. After running auto/configure it contains
! # settings that have been discovered for your system. Settings below this
! # include override settings in auto/config.mk!
!
! # Note: if auto/config.mk is lost somehow (e.g., because configure was
! # interrupted), create an empty auto/config.mk file and do "make config".
# (X) How to include auto/config.mk depends on the version of "make" you have,
# if the current choice doesn't work, try the other one.
--- 283,295 ----
######################## auto/config.mk ######################## {{{1
# At this position auto/config.mk is included. When starting from the
! # toplevel Makefile it is almost empty. After running auto/configure it
! # contains settings that have been discovered for your system. Settings below
! # this include override settings in auto/config.mk!
!
! # Note: If make fails because auto/config.mk does not exist (it is not
! # included in the repository), do:
! # cp config.mk.dist auto/config.mk
# (X) How to include auto/config.mk depends on the version of "make" you have,
# if the current choice doesn't work, try the other one.
*** ../vim-7.3.121/src/auto/config.mk 2010-08-16 21:59:00.000000000 +0200
--- src/auto/config.mk 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,5 ****
- the first targets to make vim are: scratch config myself
- srcdir = .
- VIMNAME = vim
- EXNAME = ex
- VIEWNAME = view
--- 0 ----
*** ../vim-7.3.121/src/version.c 2011-02-15 14:24:42.000000000 +0100
--- src/version.c 2011-02-15 15:25:07.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 122,
/**/
--
hundred-and-one symptoms of being an internet addict:
267. You get an extra phone line so you can get phone calls.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

55
7.3.123 Normal file
View file

@ -0,0 +1,55 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.123
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.123
Problem: ml_get error when executing register being recorded into, deleting
lines and 'conceallevel' is set. (ZyX)
Solution: Don't redraw a line for concealing when it doesn't exist.
Files: src/main.c
*** ../vim-7.3.122/src/main.c 2010-12-17 18:06:00.000000000 +0100
--- src/main.c 2011-02-15 16:09:41.000000000 +0100
***************
*** 1198,1204 ****
|| conceal_cursor_line(curwin)
|| need_cursor_line_redraw))
{
! if (conceal_old_cursor_line != conceal_new_cursor_line)
update_single_line(curwin, conceal_old_cursor_line);
update_single_line(curwin, conceal_new_cursor_line);
curwin->w_valid &= ~VALID_CROW;
--- 1198,1206 ----
|| conceal_cursor_line(curwin)
|| need_cursor_line_redraw))
{
! if (conceal_old_cursor_line != conceal_new_cursor_line
! && conceal_old_cursor_line
! <= curbuf->b_ml.ml_line_count)
update_single_line(curwin, conceal_old_cursor_line);
update_single_line(curwin, conceal_new_cursor_line);
curwin->w_valid &= ~VALID_CROW;
*** ../vim-7.3.122/src/version.c 2011-02-15 15:27:00.000000000 +0100
--- src/version.c 2011-02-15 16:15:28.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 123,
/**/
--
hundred-and-one symptoms of being an internet addict:
268. You get up in the morning and go online before getting your coffee.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

229
7.3.124 Normal file
View file

@ -0,0 +1,229 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.124
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.124
Problem: When writing a file in binary mode it may be missing the final EOL
if a file previously read was missing the EOL. (Kevin Goodsell)
Solution: Move the write_no_eol_lnum into the buffer struct.
Files: src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c
*** ../vim-7.3.123/src/structs.h 2010-10-20 21:22:17.000000000 +0200
--- src/structs.h 2011-02-15 17:06:34.000000000 +0100
***************
*** 1564,1569 ****
--- 1564,1572 ----
/* end of buffer options */
+ linenr_T b_no_eol_lnum; /* non-zero lnum when last line of next binary
+ * write should not have an end-of-line */
+
int b_start_eol; /* last line had eol when it was read */
int b_start_ffc; /* first char of 'ff' when edit started */
#ifdef FEAT_MBYTE
*** ../vim-7.3.123/src/fileio.c 2011-02-09 16:44:45.000000000 +0100
--- src/fileio.c 2011-02-15 17:30:54.000000000 +0100
***************
*** 317,323 ****
int using_b_fname;
#endif
! write_no_eol_lnum = 0; /* in case it was set by the previous read */
/*
* If there is no file name yet, use the one for the read file.
--- 317,323 ----
int using_b_fname;
#endif
! curbuf->b_no_eol_lnum = 0; /* in case it was set by the previous read */
/*
* If there is no file name yet, use the one for the read file.
***************
*** 2599,2608 ****
/*
* Trick: We remember if the last line of the read didn't have
! * an eol for when writing it again. This is required for
* ":autocmd FileReadPost *.gz set bin|'[,']!gunzip" to work.
*/
! write_no_eol_lnum = read_no_eol_lnum;
/* When reloading a buffer put the cursor at the first line that is
* different. */
--- 2599,2609 ----
/*
* Trick: We remember if the last line of the read didn't have
! * an eol even when 'binary' is off, for when writing it again with
! * 'binary' on. This is required for
* ":autocmd FileReadPost *.gz set bin|'[,']!gunzip" to work.
*/
! curbuf->b_no_eol_lnum = read_no_eol_lnum;
/* When reloading a buffer put the cursor at the first line that is
* different. */
***************
*** 2650,2662 ****
FALSE, NULL, eap);
if (msg_scrolled == n)
msg_scroll = m;
! #ifdef FEAT_EVAL
if (aborting()) /* autocmds may abort script processing */
return FAIL;
! #endif
}
#endif
if (recoverymode && error)
return FAIL;
return OK;
--- 2651,2667 ----
FALSE, NULL, eap);
if (msg_scrolled == n)
msg_scroll = m;
! # ifdef FEAT_EVAL
if (aborting()) /* autocmds may abort script processing */
return FAIL;
! # endif
}
#endif
+ /* Reset now, following writes should not omit the EOL. Also, the line
+ * number will become invalid because of edits. */
+ curbuf->b_no_eol_lnum = 0;
+
if (recoverymode && error)
return FAIL;
return OK;
***************
*** 4560,4566 ****
if (end == 0
|| (lnum == end
&& write_bin
! && (lnum == write_no_eol_lnum
|| (lnum == buf->b_ml.ml_line_count && !buf->b_p_eol))))
{
++lnum; /* written the line, count it */
--- 4565,4571 ----
if (end == 0
|| (lnum == end
&& write_bin
! && (lnum == buf->b_no_eol_lnum
|| (lnum == buf->b_ml.ml_line_count && !buf->b_p_eol))))
{
++lnum; /* written the line, count it */
***************
*** 5086,5093 ****
{
aco_save_T aco;
- write_no_eol_lnum = 0; /* in case it was set by the previous read */
-
/*
* Apply POST autocommands.
* Careful: The autocommands may call buf_write() recursively!
--- 5091,5096 ----
***************
*** 7256,7263 ****
write_lnum_adjust(offset)
linenr_T offset;
{
! if (write_no_eol_lnum != 0) /* only if there is a missing eol */
! write_no_eol_lnum += offset;
}
#if defined(TEMPDIRNAMES) || defined(PROTO)
--- 7259,7266 ----
write_lnum_adjust(offset)
linenr_T offset;
{
! if (curbuf->b_no_eol_lnum != 0) /* only if there is a missing eol */
! curbuf->b_no_eol_lnum += offset;
}
#if defined(TEMPDIRNAMES) || defined(PROTO)
*** ../vim-7.3.123/src/globals.h 2010-12-02 21:43:10.000000000 +0100
--- src/globals.h 2011-02-15 17:06:06.000000000 +0100
***************
*** 1057,1066 ****
;
#endif
- EXTERN linenr_T write_no_eol_lnum INIT(= 0); /* non-zero lnum when last line
- of next binary write should
- not have an end-of-line */
-
#ifdef FEAT_WINDOWS
EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */
EXTERN int postponed_split_flags INIT(= 0); /* args for win_split() */
--- 1057,1062 ----
*** ../vim-7.3.123/src/os_unix.c 2011-02-09 18:47:36.000000000 +0100
--- src/os_unix.c 2011-02-15 17:07:22.000000000 +0100
***************
*** 4245,4251 ****
* should not have one. */
if (lnum != curbuf->b_op_end.lnum
|| !curbuf->b_p_bin
! || (lnum != write_no_eol_lnum
&& (lnum !=
curbuf->b_ml.ml_line_count
|| curbuf->b_p_eol)))
--- 4245,4251 ----
* should not have one. */
if (lnum != curbuf->b_op_end.lnum
|| !curbuf->b_p_bin
! || (lnum != curbuf->b_no_eol_lnum
&& (lnum !=
curbuf->b_ml.ml_line_count
|| curbuf->b_p_eol)))
***************
*** 4588,4597 ****
{
append_ga_line(&ga);
/* remember that the NL was missing */
! write_no_eol_lnum = curwin->w_cursor.lnum;
}
else
! write_no_eol_lnum = 0;
ga_clear(&ga);
}
--- 4588,4597 ----
{
append_ga_line(&ga);
/* remember that the NL was missing */
! curbuf->b_no_eol_lnum = curwin->w_cursor.lnum;
}
else
! curbuf->b_no_eol_lnum = 0;
ga_clear(&ga);
}
*** ../vim-7.3.123/src/version.c 2011-02-15 16:29:54.000000000 +0100
--- src/version.c 2011-02-15 17:37:38.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 124,
/**/
--
hundred-and-one symptoms of being an internet addict:
270. You are subscribed to a mailing list for every piece of software
you use.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

66
7.3.125 Normal file
View file

@ -0,0 +1,66 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.125
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.125
Problem: MSVC: Problem with quotes in link argument.
Solution: Escape backslashes and quotes. (Weasley)
Files: src/Make_mvc.mak
*** ../vim-7.3.124/src/Make_mvc.mak 2010-12-08 14:54:58.000000000 +0100
--- src/Make_mvc.mak 2011-02-15 17:55:24.000000000 +0100
***************
*** 1159,1164 ****
--- 1159,1168 ----
E0_CFLAGS = $(CFLAGS:\=\\)
E_CFLAGS = $(E0_CFLAGS:"=\")
# ") stop the string
+ # $LINKARGS2 may contain backslashes and double quotes, escape them both.
+ E0_LINKARGS2 = $(LINKARGS2:\=\\)
+ E_LINKARGS2 = $(E0_LINKARGS2:"=\")
+ # ") stop the string
$(PATHDEF_SRC): auto
@echo creating $(PATHDEF_SRC)
***************
*** 1167,1173 ****
@echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC)
@echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC)
@echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC)
! @echo char_u *all_lflags = (char_u *)"$(link:\=\\) $(LINKARGS1:\=\\) $(LINKARGS2:\=\\)"; >> $(PATHDEF_SRC)
@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC)
@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC)
--- 1171,1177 ----
@echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC)
@echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC)
@echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC)
! @echo char_u *all_lflags = (char_u *)"$(link:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; >> $(PATHDEF_SRC)
@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC)
@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC)
*** ../vim-7.3.124/src/version.c 2011-02-15 17:39:14.000000000 +0100
--- src/version.c 2011-02-15 17:55:49.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 125,
/**/
--
hundred-and-one symptoms of being an internet addict:
271. You collect hilarious signatures from all 250 mailing lists you
are subscribed to.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

63
7.3.126 Normal file
View file

@ -0,0 +1,63 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.126
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.126
Problem: Compiler warning for signed pointer.
Solution: Use unsigned int argument for sscanf().
Files: src/blowfish.c
*** ../vim-7.3.125/src/blowfish.c 2010-08-15 21:57:28.000000000 +0200
--- src/blowfish.c 2010-12-17 19:58:18.000000000 +0100
***************
*** 413,418 ****
--- 413,419 ----
int salt_len;
{
int i, j, keypos = 0;
+ unsigned u;
UINT32_T val, data_l, data_r;
char_u *key;
int keylen;
***************
*** 432,439 ****
}
for (i = 0; i < keylen; i++)
{
! sscanf((char *)&key[i * 2], "%2x", &j);
! key[i] = j;
}
mch_memmove(sbx, sbi, 4 * 4 * 256);
--- 433,440 ----
}
for (i = 0; i < keylen; i++)
{
! sscanf((char *)&key[i * 2], "%2x", &u);
! key[i] = u;
}
mch_memmove(sbx, sbi, 4 * 4 * 256);
*** ../vim-7.3.125/src/version.c 2011-02-15 18:06:11.000000000 +0100
--- src/version.c 2011-02-25 14:40:22.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 126,
/**/
--
Why doesn't Tarzan have a beard?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

55
7.3.127 Normal file
View file

@ -0,0 +1,55 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.127
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.127
Problem: Compiler complains about comma.
Solution: Remove comma after last enum element.
Files: src/ex_cmds2.c
*** ../vim-7.3.126/src/ex_cmds2.c 2010-12-17 18:06:00.000000000 +0100
--- src/ex_cmds2.c 2010-12-17 19:58:37.000000000 +0100
***************
*** 1115,1121 ****
static enum
{
PEXP_SUBCMD, /* expand :profile sub-commands */
! PEXP_FUNC, /* expand :profile func {funcname} */
} pexpand_what;
static char *pexpand_cmds[] = {
--- 1115,1121 ----
static enum
{
PEXP_SUBCMD, /* expand :profile sub-commands */
! PEXP_FUNC /* expand :profile func {funcname} */
} pexpand_what;
static char *pexpand_cmds[] = {
*** ../vim-7.3.126/src/version.c 2011-02-25 14:40:51.000000000 +0100
--- src/version.c 2011-02-25 14:45:19.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 127,
/**/
--
LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
hacks him to the floor. Blood. Swashbuckling music (perhaps).
LAUNCELOT races through into the castle screaming.
SECOND SENTRY: Hey!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.128 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.128
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.128
Problem: Another compiler warning for signed pointer.
Solution: Use unsigned int argument for sscanf().
Files: src/mark.c
*** ../vim-7.3.127/src/mark.c 2010-08-15 21:57:25.000000000 +0200
--- src/mark.c 2010-12-17 20:00:05.000000000 +0100
***************
*** 1750,1756 ****
{
if (line[1] != NUL)
{
! sscanf((char *)line + 2, "%ld %u", &pos.lnum, &pos.col);
switch (line[1])
{
case '"': curbuf->b_last_cursor = pos; break;
--- 1750,1759 ----
{
if (line[1] != NUL)
{
! unsigned u;
!
! sscanf((char *)line + 2, "%ld %u", &pos.lnum, &u);
! pos.col = u;
switch (line[1])
{
case '"': curbuf->b_last_cursor = pos; break;
*** ../vim-7.3.127/src/version.c 2011-02-25 14:46:06.000000000 +0100
--- src/version.c 2011-02-25 15:10:34.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 128,
/**/
--
FATHER: Who are you?
PRINCE: I'm ... your son ...
FATHER: Not you.
LAUNCELOT: I'm ... er ... Sir Launcelot, sir.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

241
7.3.129 Normal file
View file

@ -0,0 +1,241 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.129
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.129
Problem: Using integer like a boolean.
Solution: Nicer check for integer being non-zero.
Files: src/tag.c
*** ../vim-7.3.128/src/tag.c 2010-12-17 18:06:00.000000000 +0100
--- src/tag.c 2010-12-17 17:49:35.000000000 +0100
***************
*** 204,210 ****
else
{
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
use_tagstack = FALSE;
else
#endif
--- 204,210 ----
else
{
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
use_tagstack = FALSE;
else
#endif
***************
*** 222,228 ****
))
{
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
{
if (ptag_entry.tagname != NULL
&& STRCMP(ptag_entry.tagname, tag) == 0)
--- 222,228 ----
))
{
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
{
if (ptag_entry.tagname != NULL
&& STRCMP(ptag_entry.tagname, tag) == 0)
***************
*** 278,284 ****
{
if (
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! g_do_tagpreview ? ptag_entry.tagname == NULL :
#endif
tagstacklen == 0)
{
--- 278,284 ----
{
if (
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! g_do_tagpreview != 0 ? ptag_entry.tagname == NULL :
#endif
tagstacklen == 0)
{
***************
*** 361,367 ****
)
{
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
{
cur_match = ptag_entry.cur_match;
cur_fnum = ptag_entry.cur_fnum;
--- 361,367 ----
)
{
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
{
cur_match = ptag_entry.cur_match;
cur_fnum = ptag_entry.cur_fnum;
***************
*** 399,405 ****
prevtagstackidx = tagstackidx;
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
{
cur_match = ptag_entry.cur_match;
cur_fnum = ptag_entry.cur_fnum;
--- 399,405 ----
prevtagstackidx = tagstackidx;
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
{
cur_match = ptag_entry.cur_match;
cur_fnum = ptag_entry.cur_fnum;
***************
*** 437,443 ****
}
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
{
if (type != DT_SELECT && type != DT_JUMP)
{
--- 437,443 ----
}
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
{
if (type != DT_SELECT && type != DT_JUMP)
{
***************
*** 492,498 ****
if (use_tagstack)
name = tagstack[tagstackidx].tagname;
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! else if (g_do_tagpreview)
name = ptag_entry.tagname;
#endif
else
--- 492,498 ----
if (use_tagstack)
name = tagstack[tagstackidx].tagname;
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! else if (g_do_tagpreview != 0)
name = ptag_entry.tagname;
#endif
else
***************
*** 620,626 ****
parse_match(matches[i], &tagp);
if (!new_tag && (
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! (g_do_tagpreview
&& i == ptag_entry.cur_match) ||
#endif
(use_tagstack
--- 620,626 ----
parse_match(matches[i], &tagp);
if (!new_tag && (
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! (g_do_tagpreview != 0
&& i == ptag_entry.cur_match) ||
#endif
(use_tagstack
***************
*** 962,968 ****
++tagstackidx;
}
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! else if (g_do_tagpreview)
{
ptag_entry.cur_match = cur_match;
ptag_entry.cur_fnum = cur_fnum;
--- 962,968 ----
++tagstackidx;
}
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! else if (g_do_tagpreview != 0)
{
ptag_entry.cur_match = cur_match;
ptag_entry.cur_fnum = cur_fnum;
***************
*** 3110,3116 ****
#endif
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
{
postponed_split = 0; /* don't split again below */
curwin_save = curwin; /* Save current window */
--- 3110,3116 ----
#endif
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
{
postponed_split = 0; /* don't split again below */
curwin_save = curwin; /* Save current window */
***************
*** 3148,3154 ****
/* A :ta from a help file will keep the b_help flag set. For ":ptag"
* we need to use the flag from the window where we came from. */
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview)
keep_help_flag = curwin_save->w_buffer->b_help;
else
#endif
--- 3148,3154 ----
/* A :ta from a help file will keep the b_help flag set. For ":ptag"
* we need to use the flag from the window where we came from. */
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0)
keep_help_flag = curwin_save->w_buffer->b_help;
else
#endif
***************
*** 3322,3328 ****
}
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview && curwin != curwin_save && win_valid(curwin_save))
{
/* Return cursor to where we were */
validate_cursor();
--- 3322,3329 ----
}
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
! if (g_do_tagpreview != 0
! && curwin != curwin_save && win_valid(curwin_save))
{
/* Return cursor to where we were */
validate_cursor();
*** ../vim-7.3.128/src/version.c 2011-02-25 15:11:17.000000000 +0100
--- src/version.c 2011-02-25 15:12:25.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 129,
/**/
--
PRINCE: He's come to rescue me, father.
LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ...
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

74
7.3.130 Normal file
View file

@ -0,0 +1,74 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.130
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.130
Problem: Variable misplaced in #ifdef.
Solution: Move clipboard_event_time outside of #ifdef.
Files: src/gui_gtk_x11.c
*** ../vim-7.3.129/src/gui_gtk_x11.c 2010-08-15 21:57:31.000000000 +0200
--- src/gui_gtk_x11.c 2010-12-04 15:26:41.000000000 +0100
***************
*** 86,94 ****
#ifdef HAVE_X11_SUNKEYSYM_H
# include <X11/Sunkeysym.h>
- static guint32 clipboard_event_time = CurrentTime;
#endif
/*
* Easy-to-use macro for multihead support.
*/
--- 86,95 ----
#ifdef HAVE_X11_SUNKEYSYM_H
# include <X11/Sunkeysym.h>
#endif
+ static guint32 clipboard_event_time = CurrentTime;
+
/*
* Easy-to-use macro for multihead support.
*/
***************
*** 5419,5425 ****
}
#if defined(FEAT_NETBEANS_INTG)
! /* Process the queued netbeans messages. */
netbeans_parse_messages();
#endif
--- 5420,5426 ----
}
#if defined(FEAT_NETBEANS_INTG)
! /* Process any queued netbeans messages. */
netbeans_parse_messages();
#endif
*** ../vim-7.3.129/src/version.c 2011-02-25 15:13:43.000000000 +0100
--- src/version.c 2011-02-25 15:15:02.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 130,
/**/
--
A vacation is a period of travel during which you find that you
took twice as many clothes and half as much money as you needed.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

47
7.3.131 Normal file
View file

@ -0,0 +1,47 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.131
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.131
Problem: Including errno.h too often.
Solution: Don't include errno.h in Unix header file.
Files: src/os_unix.h
*** ../vim-7.3.130/src/os_unix.h 2010-08-15 21:57:28.000000000 +0200
--- src/os_unix.h 2010-12-17 20:05:34.000000000 +0100
***************
*** 184,193 ****
#define BASENAMELEN (MAXNAMLEN - 5)
- #ifdef HAVE_ERRNO_H
- # include <errno.h>
- #endif
-
#ifdef HAVE_PWD_H
# include <pwd.h>
#endif
--- 184,189 ----
*** ../vim-7.3.130/src/version.c 2011-02-25 15:15:43.000000000 +0100
--- src/version.c 2011-02-25 15:16:49.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 131,
/**/
--
Overflow on /dev/null, please empty the bit bucket.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

82
7.3.132 Normal file
View file

@ -0,0 +1,82 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.132
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.132
Problem: C++ style comments.
Solution: Change to C comments.
Files: src/if_python3.c
*** ../vim-7.3.131/src/if_python3.c 2010-11-16 19:25:56.000000000 +0100
--- src/if_python3.c 2011-01-16 01:28:35.000000000 +0100
***************
*** 22,29 ****
* Adaptations to support both python3.x and python2.x
*/
! // uncomment this if used with the debug version of python
! // #define Py_DEBUG
#include "vim.h"
--- 22,29 ----
* Adaptations to support both python3.x and python2.x
*/
! /* uncomment this if used with the debug version of python */
! /* #define Py_DEBUG */
#include "vim.h"
***************
*** 74,80 ****
#define PyString_Size(obj) PyUnicode_GET_SIZE(obj)
#define PyString_FromString(repr) PyUnicode_FromString(repr)
! #if defined(DYNAMIC_PYTHON3)
# ifndef WIN3264
# include <dlfcn.h>
--- 74,80 ----
#define PyString_Size(obj) PyUnicode_GET_SIZE(obj)
#define PyString_FromString(repr) PyUnicode_FromString(repr)
! #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
# ifndef WIN3264
# include <dlfcn.h>
*** ../vim-7.3.131/src/version.c 2011-02-25 15:17:14.000000000 +0100
--- src/version.c 2011-02-25 15:18:18.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 132,
/**/
--
** Hello and Welcome to the Psychiatric Hotline **
If you are obsessive-compulsive, please press 1 repeatedly.
If you are co-dependent, please ask someone to press 2.
If you have multiple personalities, please press 3, 4, 5 and 6.
If you are paranoid-delusional, we know who you are and what you want
- just stay on the line so we can trace the call.
If you are schizophrenic, listen carefully and a little voice will
tell you which number to press next.
If you are manic-depressive, it doesn't matter which number you press
- no one will answer.
If you suffer from panic attacks, push every button you can find.
If you are sane, please hold on - we have the rest of humanity on the
other line and they desparately want to ask you a few questions.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

122
7.3.133 Normal file
View file

@ -0,0 +1,122 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.133
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.133
Problem: When using encryption it's not clear what method was used.
Solution: In the file message show "blowfish" when using blowfish.
Files: src/fileio.c
*** ../vim-7.3.132/src/fileio.c 2011-02-15 17:39:14.000000000 +0100
--- src/fileio.c 2011-02-25 16:30:19.000000000 +0100
***************
*** 250,255 ****
--- 250,256 ----
#ifdef FEAT_CRYPT
char_u *cryptkey = NULL;
int did_ask_for_key = FALSE;
+ int crypt_method_used;
#endif
#ifdef FEAT_PERSISTENT_UNDO
context_sha256_T sha_ctx;
***************
*** 2289,2294 ****
--- 2290,2296 ----
save_file_ff(curbuf); /* remember the current file format */
#ifdef FEAT_CRYPT
+ crypt_method_used = use_crypt_method;
if (cryptkey != NULL)
{
crypt_pop_state();
***************
*** 2483,2489 ****
#ifdef FEAT_CRYPT
if (cryptkey != NULL)
{
! STRCAT(IObuff, _("[crypted]"));
c = TRUE;
}
#endif
--- 2485,2494 ----
#ifdef FEAT_CRYPT
if (cryptkey != NULL)
{
! if (crypt_method_used == 1)
! STRCAT(IObuff, _("[blowfish]"));
! else
! STRCAT(IObuff, _("[crypted]"));
c = TRUE;
}
#endif
***************
*** 3199,3204 ****
--- 3204,3212 ----
int write_undo_file = FALSE;
context_sha256_T sha_ctx;
#endif
+ #ifdef FEAT_CRYPT
+ int crypt_method_used;
+ #endif
if (fname == NULL || *fname == NUL) /* safety check */
return FAIL;
***************
*** 4728,4733 ****
--- 4736,4742 ----
mch_set_acl(wfname, acl);
#endif
#ifdef FEAT_CRYPT
+ crypt_method_used = use_crypt_method;
if (wb_flags & FIO_ENCRYPTED)
crypt_pop_state();
#endif
***************
*** 4882,4888 ****
#ifdef FEAT_CRYPT
if (wb_flags & FIO_ENCRYPTED)
{
! STRCAT(IObuff, _("[crypted]"));
c = TRUE;
}
#endif
--- 4891,4900 ----
#ifdef FEAT_CRYPT
if (wb_flags & FIO_ENCRYPTED)
{
! if (crypt_method_used == 1)
! STRCAT(IObuff, _("[blowfish]"));
! else
! STRCAT(IObuff, _("[crypted]"));
c = TRUE;
}
#endif
*** ../vim-7.3.132/src/version.c 2011-02-25 15:18:46.000000000 +0100
--- src/version.c 2011-02-25 16:42:58.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 133,
/**/
--
[clop clop]
GUARD #1: Halt! Who goes there?
ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of
Camelot. King of the Britons, defeator of the Saxons, sovereign of
all England!
GUARD #1: Pull the other one!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

51
7.3.134 Normal file
View file

@ -0,0 +1,51 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.134
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.134
Problem: Drag-n-drop doesn't work in KDE Dolphin.
Solution: Add GDK_ACTION_MOVE flag. (Florian Degner)
Files: src/gui_gtk_x11.c
*** ../vim-7.3.133/src/gui_gtk_x11.c 2011-02-25 15:15:43.000000000 +0100
--- src/gui_gtk_x11.c 2011-02-25 17:07:36.000000000 +0100
***************
*** 3094,3100 ****
gtk_drag_dest_set(gui.drawarea,
GTK_DEST_DEFAULT_ALL,
targets, n_targets,
! GDK_ACTION_COPY);
}
/*
--- 3094,3100 ----
gtk_drag_dest_set(gui.drawarea,
GTK_DEST_DEFAULT_ALL,
targets, n_targets,
! GDK_ACTION_COPY | GDK_ACTION_MOVE);
}
/*
*** ../vim-7.3.133/src/version.c 2011-02-25 16:52:13.000000000 +0100
--- src/version.c 2011-02-25 17:08:35.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 134,
/**/
--
Proverb: A nightingale that forgets the lyrics is a hummingbird.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

90
7.3.135 Normal file
View file

@ -0,0 +1,90 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.135
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.135
Problem: When there is no previous substitute pattern, the previous search
pattern is used. The other way around doesn't work.
Solution: When there is no previous search pattern, use the previous
substitute pattern if possible. (Christian Brabandt)
Files: src/search.c
*** ../vim-7.3.134/src/search.c 2010-09-21 16:56:29.000000000 +0200
--- src/search.c 2011-02-25 18:36:56.000000000 +0100
***************
*** 1161,1172 ****
{
if (spats[RE_SEARCH].pat == NULL) /* no previous pattern */
{
! EMSG(_(e_noprevre));
! retval = 0;
! goto end_do_search;
}
- /* make search_regcomp() use spats[RE_SEARCH].pat */
- searchstr = (char_u *)"";
}
if (pat != NULL && *pat != NUL) /* look for (new) offset */
--- 1161,1180 ----
{
if (spats[RE_SEARCH].pat == NULL) /* no previous pattern */
{
! pat = spats[RE_SUBST].pat;
! if (pat == NULL)
! {
! EMSG(_(e_noprevre));
! retval = 0;
! goto end_do_search;
! }
! searchstr = pat;
! }
! else
! {
! /* make search_regcomp() use spats[RE_SEARCH].pat */
! searchstr = (char_u *)"";
}
}
if (pat != NULL && *pat != NUL) /* look for (new) offset */
***************
*** 4527,4533 ****
#if defined(FEAT_FIND_ID) || defined(PROTO)
/*
* Find identifiers or defines in included files.
! * if p_ic && (compl_cont_status & CONT_SOL) then ptr must be in lowercase.
*/
void
find_pattern_in_path(ptr, dir, len, whole, skip_comments,
--- 4535,4541 ----
#if defined(FEAT_FIND_ID) || defined(PROTO)
/*
* Find identifiers or defines in included files.
! * If p_ic && (compl_cont_status & CONT_SOL) then ptr must be in lowercase.
*/
void
find_pattern_in_path(ptr, dir, len, whole, skip_comments,
*** ../vim-7.3.134/src/version.c 2011-02-25 17:10:22.000000000 +0100
--- src/version.c 2011-02-25 18:35:30.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 135,
/**/
--
A real patriot is the fellow who gets a parking ticket and rejoices
that the system works.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

51
7.3.136 Normal file
View file

@ -0,0 +1,51 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.136
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.136
Problem: Duplicate include of assert.h.
Solution: Remove it.
Files: src/if_cscope.c
*** ../vim-7.3.135/src/if_cscope.c 2010-12-30 11:41:05.000000000 +0100
--- src/if_cscope.c 2011-03-03 15:01:15.000000000 +0100
***************
*** 13,19 ****
#if defined(FEAT_CSCOPE) || defined(PROTO)
- #include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#if defined(UNIX)
--- 13,18 ----
*** ../vim-7.3.135/src/version.c 2011-02-25 18:38:29.000000000 +0100
--- src/version.c 2011-03-03 14:59:32.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 136,
/**/
--
ARTHUR: You fight with the strength of many men, Sir knight.
I am Arthur, King of the Britons. [pause]
I seek the finest and the bravest knights in the land to join me
in my Court of Camelot. [pause]
You have proved yourself worthy; will you join me? [pause]
You make me sad. So be it. Come, Patsy.
BLACK KNIGHT: None shall pass.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

81
7.3.137 Normal file
View file

@ -0,0 +1,81 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.137
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.137 (after 7.3.091)
Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan
Krasilnikov)
Solution: Call update_screen() before waiting for input.
Files: src/misc1.c, src/getchar.c
*** ../vim-7.3.136/src/misc1.c 2011-01-22 00:11:42.000000000 +0100
--- src/misc1.c 2011-03-03 14:02:02.000000000 +0100
***************
*** 3115,3121 ****
--- 3115,3129 ----
continue;
if (n == KEYLEN_REMOVED) /* key code removed */
+ {
+ if (must_redraw)
+ {
+ /* Redrawing was postponed, do it now. */
+ update_screen(0);
+ setcursor(); /* put cursor back where it belongs */
+ }
continue;
+ }
if (n > 0) /* found a termcode: adjust length */
len = n;
if (len == 0) /* nothing typed yet */
*** ../vim-7.3.136/src/getchar.c 2010-12-30 12:30:26.000000000 +0100
--- src/getchar.c 2011-03-03 14:01:26.000000000 +0100
***************
*** 2710,2717 ****
* are still available. But when those available characters
* are part of a mapping, and we are going to do a blocking
* wait here. Need to update the screen to display the
! * changed text so far. */
! if ((State & INSERT) && advance && must_redraw != 0)
{
update_screen(0);
setcursor(); /* put cursor back where it belongs */
--- 2710,2719 ----
* are still available. But when those available characters
* are part of a mapping, and we are going to do a blocking
* wait here. Need to update the screen to display the
! * changed text so far. Also for when 'lazyredraw' is set and
! * redrawing was postponed because there was something in the
! * input buffer (e.g., termresponse). */
! if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
{
update_screen(0);
setcursor(); /* put cursor back where it belongs */
*** ../vim-7.3.136/src/version.c 2011-03-03 15:01:25.000000000 +0100
--- src/version.c 2011-03-03 15:02:45.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 137,
/**/
--
ARTHUR: What?
BLACK KNIGHT: None shall pass.
ARTHUR: I have no quarrel with you, good Sir knight, but I must cross
this bridge.
BLACK KNIGHT: Then you shall die.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

69
7.3.138 Normal file
View file

@ -0,0 +1,69 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.138
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.138
Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
Files: src/ex_docmd.c
*** ../vim-7.3.137/src/ex_docmd.c 2011-01-17 19:50:01.000000000 +0100
--- src/ex_docmd.c 2011-03-03 15:47:00.000000000 +0100
***************
*** 6054,6068 ****
end = vim_strchr(start + 1, '>');
if (buf != NULL)
{
! ksp = vim_strchr(p, K_SPECIAL);
! if (ksp != NULL && (start == NULL || ksp < start || end == NULL)
&& ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
# ifdef FEAT_GUI
|| (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
# endif
))
{
! /* K_SPECIAL han been put in the buffer as K_SPECIAL
* KS_SPECIAL KE_FILLER, like for mappings, but
* do_cmdline() doesn't handle that, so convert it back.
* Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
--- 6054,6070 ----
end = vim_strchr(start + 1, '>');
if (buf != NULL)
{
! for (ksp = p; *ksp != NUL && *ksp != K_SPECIAL; ++ksp)
! ;
! if (*ksp == K_SPECIAL
! && (start == NULL || ksp < start || end == NULL)
&& ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
# ifdef FEAT_GUI
|| (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
# endif
))
{
! /* K_SPECIAL has been put in the buffer as K_SPECIAL
* KS_SPECIAL KE_FILLER, like for mappings, but
* do_cmdline() doesn't handle that, so convert it back.
* Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
*** ../vim-7.3.137/src/version.c 2011-03-03 15:04:01.000000000 +0100
--- src/version.c 2011-03-03 15:53:41.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 138,
/**/
--
f y cn rd ths thn y cn hv grt jb n cmptr prgrmmng
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

111
7.3.139 Normal file
View file

@ -0,0 +1,111 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.139
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.139 (after 7.3.137)
Problem: When 'lazyredraw' is set ":ver" output can't be read.
Solution: Don't redraw the screen when at a prompt or command line.
Files: src/getchar.c, src/message.c, src/misc1.c
*** ../vim-7.3.138/src/getchar.c 2011-03-03 15:04:01.000000000 +0100
--- src/getchar.c 2011-03-22 12:16:23.000000000 +0100
***************
*** 2713,2719 ****
* changed text so far. Also for when 'lazyredraw' is set and
* redrawing was postponed because there was something in the
* input buffer (e.g., termresponse). */
! if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
{
update_screen(0);
setcursor(); /* put cursor back where it belongs */
--- 2713,2720 ----
* changed text so far. Also for when 'lazyredraw' is set and
* redrawing was postponed because there was something in the
* input buffer (e.g., termresponse). */
! if (((State & INSERT) != 0 || p_lz) && (State & CMDLINE) == 0
! && advance && must_redraw != 0 && !need_wait_return)
{
update_screen(0);
setcursor(); /* put cursor back where it belongs */
*** ../vim-7.3.138/src/message.c 2011-02-01 17:12:20.000000000 +0100
--- src/message.c 2011-03-22 13:06:24.000000000 +0100
***************
*** 879,894 ****
if (msg_silent != 0)
return;
! /*
! * With the global command (and some others) we only need one return at the
! * end. Adjust cmdline_row to avoid the next message overwriting the last one.
! * When inside vgetc(), we can't wait for a typed character at all.
! */
if (vgetc_busy > 0)
return;
if (no_wait_return)
{
- need_wait_return = TRUE;
if (!exmode_active)
cmdline_row = msg_row;
return;
--- 879,895 ----
if (msg_silent != 0)
return;
! /*
! * When inside vgetc(), we can't wait for a typed character at all.
! * With the global command (and some others) we only need one return at
! * the end. Adjust cmdline_row to avoid the next message overwriting the
! * last one.
! */
if (vgetc_busy > 0)
return;
+ need_wait_return = TRUE;
if (no_wait_return)
{
if (!exmode_active)
cmdline_row = msg_row;
return;
*** ../vim-7.3.138/src/misc1.c 2011-03-03 15:04:01.000000000 +0100
--- src/misc1.c 2011-03-22 12:15:26.000000000 +0100
***************
*** 3116,3122 ****
if (n == KEYLEN_REMOVED) /* key code removed */
{
! if (must_redraw)
{
/* Redrawing was postponed, do it now. */
update_screen(0);
--- 3116,3122 ----
if (n == KEYLEN_REMOVED) /* key code removed */
{
! if (must_redraw != 0 && !need_wait_return && (State & CMDLINE) == 0)
{
/* Redrawing was postponed, do it now. */
update_screen(0);
*** ../vim-7.3.138/src/version.c 2011-03-03 15:54:45.000000000 +0100
--- src/version.c 2011-03-22 13:06:33.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 139,
/**/
--
"Software is like sex... it's better when it's free."
-- Linus Torvalds, initiator of the free Linux OS
Makes me wonder what FSF stands for...?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.3.140 Normal file
View file

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.140
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.140
Problem: Crash when drawing the "$" at end-of-line for list mode just after
the window border and 'cursorline' is set.
Solution: Don't check for 'cursorline'. (Quentin Carbonneaux)
Files: src/screen.c
*** ../vim-7.3.139/src/screen.c 2011-02-09 17:09:26.000000000 +0100
--- src/screen.c 2011-03-22 13:29:04.000000000 +0100
***************
*** 5099,5109 ****
#ifdef FEAT_DIFF
|| filler_todo > 0
#endif
! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str
! #ifdef FEAT_SYN_HL
! && !wp->w_p_cul
! #endif
! )
|| (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
)
{
--- 5099,5105 ----
#ifdef FEAT_DIFF
|| filler_todo > 0
#endif
! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str)
|| (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
)
{
*** ../vim-7.3.139/src/version.c 2011-03-22 13:07:19.000000000 +0100
--- src/version.c 2011-03-22 13:27:26.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 140,
/**/
--
Lawmakers made it obligatory for everybody to take at least one bath
each week -- on Saturday night.
[real standing law in Vermont, United States of America]
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

94
7.3.141 Normal file
View file

@ -0,0 +1,94 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.141
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.141
Problem: When a key code is not set get a confusing error message.
Solution: Change the error message to say the key code is not set.
Files: src/option.c, runtime/doc/options.txt
*** ../vim-7.3.140/src/option.c 2011-01-22 00:11:42.000000000 +0100
--- src/option.c 2011-03-22 14:25:52.000000000 +0100
***************
*** 4352,4358 ****
p = find_termcode(key_name);
if (p == NULL)
{
! errmsg = (char_u *)N_("E518: Unknown option");
goto skip;
}
else
--- 4352,4358 ----
p = find_termcode(key_name);
if (p == NULL)
{
! errmsg = (char_u *)N_("E846: Key code not set");
goto skip;
}
else
***************
*** 4700,4707 ****
|| s[i] == ','
|| s[i] == NUL))
break;
! /* Count backspaces. Only a comma with an
! * even number of backspaces before it is
* recognized as a separator */
if (s > origval && s[-1] == '\\')
++bs;
--- 4700,4707 ----
|| s[i] == ','
|| s[i] == NUL))
break;
! /* Count backslashes. Only a comma with an
! * even number of backslashes before it is
* recognized as a separator */
if (s > origval && s[-1] == '\\')
++bs;
*** ../vim-7.3.140/runtime/doc/options.txt 2010-12-02 21:43:10.000000000 +0100
--- runtime/doc/options.txt 2011-03-22 14:32:14.000000000 +0100
***************
*** 150,155 ****
--- 150,167 ----
(the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it)
The advantage over a mapping is that it works in all situations.
+ You can define any key codes, e.g.: >
+ :set t_xy=^[foo;
+ There is no warning for using a name that isn't recognized. You can map these
+ codes as you like: >
+ :map <t_xy> something
+ < *E846*
+ When a key code is not set, it's like it does not exist. Trying to get its
+ value will result in an error: >
+ :set t_kb=
+ :set t_kb
+ E846: Key code not set: t_kb
+
The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*** ../vim-7.3.140/src/version.c 2011-03-22 13:29:20.000000000 +0100
--- src/version.c 2011-03-22 14:32:59.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 141,
/**/
--
"I know that there are people who don't love their fellow man,
and I hate those people!" - Tom Lehrer
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

85
7.3.142 Normal file
View file

@ -0,0 +1,85 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.142
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.142
Problem: Python stdout doesn't have a flush() method, causing an import to
fail.
Solution: Add a dummy flush() method. (Tobias Columbus)
Files: src/if_py_both.h
*** ../vim-7.3.141/src/if_py_both.h 2010-10-27 12:17:54.000000000 +0200
--- src/if_py_both.h 2011-03-22 15:37:43.000000000 +0100
***************
*** 33,38 ****
--- 33,39 ----
static PyObject *OutputWrite(PyObject *, PyObject *);
static PyObject *OutputWritelines(PyObject *, PyObject *);
+ static PyObject *OutputFlush(PyObject *, PyObject *);
/* Function to write a line, points to either msg() or emsg(). */
typedef void (*writefn)(char_u *);
***************
*** 47,55 ****
static struct PyMethodDef OutputMethods[] = {
/* name, function, calling, documentation */
! {"write", OutputWrite, 1, "" },
! {"writelines", OutputWritelines, 1, "" },
! { NULL, NULL, 0, NULL }
};
#define PyErr_SetVim(str) PyErr_SetString(VimError, str)
--- 48,57 ----
static struct PyMethodDef OutputMethods[] = {
/* name, function, calling, documentation */
! {"write", OutputWrite, 1, ""},
! {"writelines", OutputWritelines, 1, ""},
! {"flush", OutputFlush, 1, ""},
! { NULL, NULL, 0, NULL}
};
#define PyErr_SetVim(str) PyErr_SetString(VimError, str)
***************
*** 123,128 ****
--- 125,139 ----
return Py_None;
}
+ static PyObject *
+ OutputFlush(PyObject *self UNUSED, PyObject *args UNUSED)
+ {
+ /* do nothing */
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+
/* Buffer IO, we write one whole line at a time. */
static garray_T io_ga = {0, 0, 1, 80, NULL};
static writefn old_fn = NULL;
*** ../vim-7.3.141/src/version.c 2011-03-22 14:35:01.000000000 +0100
--- src/version.c 2011-03-22 15:45:38.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 142,
/**/
--
Living on Earth includes an annual free trip around the Sun.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1520
7.3.143 Normal file

File diff suppressed because it is too large Load diff

80
7.3.144 Normal file
View file

@ -0,0 +1,80 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.144
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.144
Problem: Crash with ":python help(dir)". (Kearn Holliday)
Solution: Fix the way the type is set on objects. (Tobias Columbus)
Files: src/if_python.c
*** ../vim-7.3.143/src/if_python.c 2010-11-16 19:25:56.000000000 +0100
--- src/if_python.c 2011-03-26 13:54:22.000000000 +0100
***************
*** 780,786 ****
PythonIO_Init(void)
{
/* Fixups... */
! OutputType.ob_type = &PyType_Type;
return PythonIO_Init_io();
}
--- 780,786 ----
PythonIO_Init(void)
{
/* Fixups... */
! PyType_Ready(&OutputType);
return PythonIO_Init_io();
}
***************
*** 1402,1413 ****
static char *(argv[2]) = {"/must>not&exist/foo", NULL};
/* Fixups... */
! BufferType.ob_type = &PyType_Type;
! RangeType.ob_type = &PyType_Type;
! WindowType.ob_type = &PyType_Type;
! BufListType.ob_type = &PyType_Type;
! WinListType.ob_type = &PyType_Type;
! CurrentType.ob_type = &PyType_Type;
/* Set sys.argv[] to avoid a crash in warn(). */
PySys_SetArgv(1, argv);
--- 1402,1413 ----
static char *(argv[2]) = {"/must>not&exist/foo", NULL};
/* Fixups... */
! PyType_Ready(&BufferType);
! PyType_Ready(&RangeType);
! PyType_Ready(&WindowType);
! PyType_Ready(&BufListType);
! PyType_Ready(&WinListType);
! PyType_Ready(&CurrentType);
/* Set sys.argv[] to avoid a crash in warn(). */
PySys_SetArgv(1, argv);
*** ../vim-7.3.143/src/version.c 2011-03-22 18:10:34.000000000 +0100
--- src/version.c 2011-03-26 13:56:15.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 144,
/**/
--
The chat program is in public domain. This is not the GNU public license.
If it breaks then you get to keep both pieces.
-- Copyright notice for the chat program
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

64
7.3.145 Normal file
View file

@ -0,0 +1,64 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.145
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.145 (after 7.3.144)
Problem: Can't build with Python dynamically loading.
Solution: Add dll_PyType_Ready.
Files: src/if_python.c
*** ../vim-7.3.144/src/if_python.c 2011-03-26 13:56:41.000000000 +0100
--- src/if_python.c 2011-03-26 18:10:00.000000000 +0100
***************
*** 165,170 ****
--- 165,171 ----
# define PySys_SetObject dll_PySys_SetObject
# define PySys_SetArgv dll_PySys_SetArgv
# define PyType_Type (*dll_PyType_Type)
+ # define PyType_Ready (*dll_PyType_Ready)
# define Py_BuildValue dll_Py_BuildValue
# define Py_FindMethod dll_Py_FindMethod
# define Py_InitModule4 dll_Py_InitModule4
***************
*** 224,229 ****
--- 225,231 ----
static int(*dll_PySys_SetObject)(char *, PyObject *);
static int(*dll_PySys_SetArgv)(int, char **);
static PyTypeObject* dll_PyType_Type;
+ static int (*dll_PyType_Ready)(PyTypeObject *type);
static PyObject*(*dll_Py_BuildValue)(char *, ...);
static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
***************
*** 305,310 ****
--- 307,313 ----
{"PySys_SetObject", (PYTHON_PROC*)&dll_PySys_SetObject},
{"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
{"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
+ {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
{"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
{"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
# if (PY_VERSION_HEX >= 0x02050000) && SIZEOF_SIZE_T != SIZEOF_INT
*** ../vim-7.3.144/src/version.c 2011-03-26 13:56:41.000000000 +0100
--- src/version.c 2011-03-26 18:11:19.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 145,
/**/
--
This message contains 78% recycled characters.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

224
7.3.146 Normal file
View file

@ -0,0 +1,224 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.146
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.146
Problem: It's possible to assign to a read-only member of a dict.
It's possible to create a global variable "0". (ZyX)
It's possible to add a v: variable with ":let v:.name = 1".
Solution: Add check for dict item being read-only.
Check the name of g: variables.
Disallow adding v: variables.
Files: src/eval.c
*** ../vim-7.3.145/src/eval.c 2011-02-01 13:48:47.000000000 +0100
--- src/eval.c 2011-03-27 15:56:44.000000000 +0200
***************
*** 789,794 ****
--- 789,796 ----
static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
static int var_check_ro __ARGS((int flags, char_u *name));
static int var_check_fixed __ARGS((int flags, char_u *name));
+ static int var_check_func_name __ARGS((char_u *name, int new_var));
+ static int valid_varname __ARGS((char_u *varname));
static int tv_check_lock __ARGS((int lock, char_u *name));
static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
static char_u *find_option_end __ARGS((char_u **arg, int *opt_flags));
***************
*** 2716,2723 ****
--- 2718,2744 ----
lp->ll_list = NULL;
lp->ll_dict = lp->ll_tv->vval.v_dict;
lp->ll_di = dict_find(lp->ll_dict, key, len);
+
+ /* When assigning to g: check that a function and variable name is
+ * valid. */
+ if (rettv != NULL && lp->ll_dict == &globvardict)
+ {
+ if (rettv->v_type == VAR_FUNC
+ && var_check_func_name(key, lp->ll_di == NULL))
+ return NULL;
+ if (!valid_varname(key))
+ return NULL;
+ }
+
if (lp->ll_di == NULL)
{
+ /* Can't add "v:" variable. */
+ if (lp->ll_dict == &vimvardict)
+ {
+ EMSG2(_(e_illvar), name);
+ return NULL;
+ }
+
/* Key does not exist in dict: may need to add it. */
if (*p == '[' || *p == '.' || unlet)
{
***************
*** 2737,2742 ****
--- 2758,2767 ----
p = NULL;
break;
}
+ /* existing variable, need to check if it can be changed */
+ else if (var_check_ro(lp->ll_di->di_flags, name))
+ return NULL;
+
if (len == -1)
clear_tv(&var1);
lp->ll_tv = &lp->ll_di->di_tv;
***************
*** 19786,19792 ****
dictitem_T *v;
char_u *varname;
hashtab_T *ht;
- char_u *p;
ht = find_var_ht(name, &varname);
if (ht == NULL || *varname == NUL)
--- 19811,19816 ----
***************
*** 19796,19820 ****
}
v = find_var_in_ht(ht, varname, TRUE);
! if (tv->v_type == VAR_FUNC)
! {
! if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
! && !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
! ? name[2] : name[0]))
! {
! EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
! return;
! }
! /* Don't allow hiding a function. When "v" is not NULL we might be
! * assigning another function to the same var, the type is checked
! * below. */
! if (v == NULL && function_exists(name))
! {
! EMSG2(_("E705: Variable name conflicts with existing function: %s"),
! name);
! return;
! }
! }
if (v != NULL)
{
--- 19820,19827 ----
}
v = find_var_in_ht(ht, varname, TRUE);
! if (tv->v_type == VAR_FUNC && var_check_func_name(name, v == NULL))
! return;
if (v != NULL)
{
***************
*** 19880,19892 ****
}
/* Make sure the variable name is valid. */
! for (p = varname; *p != NUL; ++p)
! if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
! && *p != AUTOLOAD_CHAR)
! {
! EMSG2(_(e_illvar), varname);
! return;
! }
v = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T)
+ STRLEN(varname)));
--- 19887,19894 ----
}
/* Make sure the variable name is valid. */
! if (!valid_varname(varname))
! return;
v = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T)
+ STRLEN(varname)));
***************
*** 19951,19956 ****
--- 19953,20007 ----
}
/*
+ * Check if a funcref is assigned to a valid variable name.
+ * Return TRUE and give an error if not.
+ */
+ static int
+ var_check_func_name(name, new_var)
+ char_u *name; /* points to start of variable name */
+ int new_var; /* TRUE when creating the variable */
+ {
+ if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
+ && !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
+ ? name[2] : name[0]))
+ {
+ EMSG2(_("E704: Funcref variable name must start with a capital: %s"),
+ name);
+ return TRUE;
+ }
+ /* Don't allow hiding a function. When "v" is not NULL we might be
+ * assigning another function to the same var, the type is checked
+ * below. */
+ if (new_var && function_exists(name))
+ {
+ EMSG2(_("E705: Variable name conflicts with existing function: %s"),
+ name);
+ return TRUE;
+ }
+ return FALSE;
+ }
+
+ /*
+ * Check if a variable name is valid.
+ * Return FALSE and give an error if not.
+ */
+ static int
+ valid_varname(varname)
+ char_u *varname;
+ {
+ char_u *p;
+
+ for (p = varname; *p != NUL; ++p)
+ if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
+ && *p != AUTOLOAD_CHAR)
+ {
+ EMSG2(_(e_illvar), varname);
+ return FALSE;
+ }
+ return TRUE;
+ }
+
+ /*
* Return TRUE if typeval "tv" is set to be locked (immutable).
* Also give an error message, using "name".
*/
*** ../vim-7.3.145/src/version.c 2011-03-26 18:32:00.000000000 +0100
--- src/version.c 2011-03-27 16:01:03.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 146,
/**/
--
ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot.
King of all Britons, defeator of the Saxons, sovereign of all England!
[Pause]
SOLDIER: Get away!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.3.147 Normal file
View file

@ -0,0 +1,53 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.147
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.147 (after 7.3.143)
Problem: Can't build on HP-UX.
Solution: Remove an unnecessary backslash. (John Marriott)
Files: src/Makefile
*** ../vim-7.3.146/src/Makefile 2011-03-22 18:10:34.000000000 +0100
--- src/Makefile 2011-04-01 13:00:58.000000000 +0200
***************
*** 1565,1571 ****
OBJ = $(OBJ_COMMON) \
objects/main.o \
! objects/memfile.o \
MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
objects/memfile_test.o
--- 1565,1571 ----
OBJ = $(OBJ_COMMON) \
objects/main.o \
! objects/memfile.o
MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
objects/memfile_test.o
*** ../vim-7.3.146/src/version.c 2011-03-27 16:03:09.000000000 +0200
--- src/version.c 2011-04-01 13:05:18.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 147,
/**/
--
DENNIS: You can't expect to wield supreme executive power just 'cause some
watery tart threw a sword at you!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

252
7.3.148 Normal file
View file

@ -0,0 +1,252 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.148
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.148
Problem: A syntax file with a huge number of items or clusters causes weird
behavior, a hang or a crash. (Yukihiro Nakadaira)
Solution: Check running out of IDs. (partly by Ben Schmidt)
Files: src/syntax.c
*** ../vim-7.3.147/src/syntax.c 2011-01-22 00:58:15.000000000 +0100
--- src/syntax.c 2011-04-01 14:25:39.000000000 +0200
***************
*** 219,234 ****
/*
* Syntax group IDs have different types:
! * 0 - 9999 normal syntax groups
! * 10000 - 14999 ALLBUT indicator (current_syn_inc_tag added)
! * 15000 - 19999 TOP indicator (current_syn_inc_tag added)
! * 20000 - 24999 CONTAINED indicator (current_syn_inc_tag added)
! * >= 25000 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
! */
! #define SYNID_ALLBUT 10000 /* syntax group ID for contains=ALLBUT */
! #define SYNID_TOP 15000 /* syntax group ID for contains=TOP */
! #define SYNID_CONTAINED 20000 /* syntax group ID for contains=CONTAINED */
! #define SYNID_CLUSTER 25000 /* first syntax group ID for clusters */
/*
* Annoying Hack(TM): ":syn include" needs this pointer to pass to
--- 219,238 ----
/*
* Syntax group IDs have different types:
! * 0 - 19999 normal syntax groups
! * 20000 - 20999 ALLBUT indicator (current_syn_inc_tag added)
! * 21000 - 21999 TOP indicator (current_syn_inc_tag added)
! * 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
! * 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
! */
! #define SYNID_ALLBUT 20000 /* syntax group ID for contains=ALLBUT */
! #define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
! #define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
! #define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
!
! #define MAX_SYNID SYNID_ALLBUT
! #define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
! #define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
/*
* Annoying Hack(TM): ":syn include" needs this pointer to pass to
***************
*** 3442,3447 ****
--- 3446,3454 ----
/* free the stored states */
syn_stack_free_all(block);
invalidate_current_state();
+
+ /* Reset the counter for ":syn include" */
+ running_syn_inc_tag = 0;
}
/*
***************
*** 4661,4666 ****
--- 4668,4675 ----
return;
}
sgl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
+ if (sgl_id == 0)
+ return;
/* separate_nextcmd() and expand_filename() depend on this */
eap->arg = rest;
}
***************
*** 4689,4694 ****
--- 4698,4708 ----
* Save and restore the existing top-level grouplist id and ":syn
* include" tag around the actual inclusion.
*/
+ if (running_syn_inc_tag >= MAX_SYN_INC_TAG)
+ {
+ EMSG((char_u *)_("E847: Too many syntax includes"));
+ return;
+ }
prev_syn_inc_tag = current_syn_inc_tag;
current_syn_inc_tag = ++running_syn_inc_tag;
prev_toplvl_grp = curwin->w_s->b_syn_topgrp;
***************
*** 4712,4718 ****
char_u *group_name_end;
int syn_id;
char_u *rest;
! char_u *keyword_copy;
char_u *p;
char_u *kw;
syn_opt_arg_T syn_opt_arg;
--- 4726,4732 ----
char_u *group_name_end;
int syn_id;
char_u *rest;
! char_u *keyword_copy = NULL;
char_u *p;
char_u *kw;
syn_opt_arg_T syn_opt_arg;
***************
*** 4724,4732 ****
if (rest != NULL)
{
syn_id = syn_check_group(arg, (int)(group_name_end - arg));
!
! /* allocate a buffer, for removing the backslashes in the keyword */
! keyword_copy = alloc((unsigned)STRLEN(rest) + 1);
if (keyword_copy != NULL)
{
syn_opt_arg.flags = 0;
--- 4738,4746 ----
if (rest != NULL)
{
syn_id = syn_check_group(arg, (int)(group_name_end - arg));
! if (syn_id != 0)
! /* allocate a buffer, for removing backslashes in the keyword */
! keyword_copy = alloc((unsigned)STRLEN(rest) + 1);
if (keyword_copy != NULL)
{
syn_opt_arg.flags = 0;
***************
*** 5133,5139 ****
(item == ITEM_SKIP) ? SPTYPE_SKIP : SPTYPE_END;
SYN_ITEMS(curwin->w_s)[idx].sp_flags |= syn_opt_arg.flags;
SYN_ITEMS(curwin->w_s)[idx].sp_syn.id = syn_id;
! SYN_ITEMS(curwin->w_s)[idx].sp_syn.inc_tag = current_syn_inc_tag;
SYN_ITEMS(curwin->w_s)[idx].sp_syn_match_id =
ppp->pp_matchgroup_id;
#ifdef FEAT_CONCEAL
--- 5147,5154 ----
(item == ITEM_SKIP) ? SPTYPE_SKIP : SPTYPE_END;
SYN_ITEMS(curwin->w_s)[idx].sp_flags |= syn_opt_arg.flags;
SYN_ITEMS(curwin->w_s)[idx].sp_syn.id = syn_id;
! SYN_ITEMS(curwin->w_s)[idx].sp_syn.inc_tag =
! current_syn_inc_tag;
SYN_ITEMS(curwin->w_s)[idx].sp_syn_match_id =
ppp->pp_matchgroup_id;
#ifdef FEAT_CONCEAL
***************
*** 5426,5431 ****
--- 5441,5454 ----
curwin->w_s->b_syn_clusters.ga_growsize = 10;
}
+ len = curwin->w_s->b_syn_clusters.ga_len;
+ if (len >= MAX_CLUSTER_ID)
+ {
+ EMSG((char_u *)_("E848: Too many syntax clusters"));
+ vim_free(name);
+ return 0;
+ }
+
/*
* Make room for at least one other cluster entry.
*/
***************
*** 5434,5440 ****
vim_free(name);
return 0;
}
- len = curwin->w_s->b_syn_clusters.ga_len;
vim_memset(&(SYN_CLSTR(curwin->w_s)[len]), 0, sizeof(syn_cluster_T));
SYN_CLSTR(curwin->w_s)[len].scl_name = name;
--- 5457,5462 ----
***************
*** 5476,5483 ****
if (rest != NULL)
{
! scl_id = syn_check_cluster(arg, (int)(group_name_end - arg))
! - SYNID_CLUSTER;
for (;;)
{
--- 5498,5507 ----
if (rest != NULL)
{
! scl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
! if (scl_id == 0)
! return;
! scl_id -= SYNID_CLUSTER;
for (;;)
{
***************
*** 5516,5522 ****
if (got_clstr)
{
redraw_curbuf_later(SOME_VALID);
! syn_stack_free_all(curwin->w_s); /* Need to recompute all syntax. */
}
}
--- 5540,5546 ----
if (got_clstr)
{
redraw_curbuf_later(SOME_VALID);
! syn_stack_free_all(curwin->w_s); /* Need to recompute all. */
}
}
***************
*** 8972,8977 ****
--- 8996,9008 ----
highlight_ga.ga_growsize = 10;
}
+ if (highlight_ga.ga_len >= MAX_SYNID)
+ {
+ EMSG(_("E849: Too many syntax groups"));
+ vim_free(name);
+ return 0;
+ }
+
/*
* Make room for at least one other syntax_highlight entry.
*/
*** ../vim-7.3.147/src/version.c 2011-04-01 13:05:37.000000000 +0200
--- src/version.c 2011-04-01 14:26:44.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 148,
/**/
--
BLACK KNIGHT: None shall pass.
ARTHUR: I have no quarrel with you, brave Sir knight, but I must cross
this bridge.
BLACK KNIGHT: Then you shall die.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

78
7.3.149 Normal file
View file

@ -0,0 +1,78 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.149
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.149
Problem: The cursor disappears after the processing of the 'setDot'
netbeans command when vim runs in a terminal.
Solution: Show the cursor after a screen update. (Xavier de Gaye, 2011
Files: src/netbeans.c
*** ../vim-7.3.148/src/netbeans.c 2011-01-04 18:11:39.000000000 +0100
--- src/netbeans.c 2011-04-01 15:33:49.000000000 +0200
***************
*** 191,196 ****
--- 191,197 ----
changed_window_setting();
update_screen(CLEAR);
setcursor();
+ cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
***************
*** 2248,2253 ****
--- 2249,2255 ----
update_topline(); /* scroll to show the line */
update_screen(VALID);
setcursor();
+ cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
***************
*** 2642,2647 ****
--- 2644,2650 ----
{
update_screen(NOT_VALID);
setcursor();
+ cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
***************
*** 3008,3013 ****
--- 3011,3017 ----
changed_window_setting();
update_screen(CLEAR);
setcursor();
+ cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
*** ../vim-7.3.148/src/version.c 2011-04-01 14:44:54.000000000 +0200
--- src/version.c 2011-04-01 15:33:21.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 149,
/**/
--
ARTHUR: You are indeed brave Sir knight, but the fight is mine.
BLACK KNIGHT: Had enough?
ARTHUR: You stupid bastard. You havn't got any arms left.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

113
7.3.150 Normal file
View file

@ -0,0 +1,113 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.150
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.150
Problem: readline() does not return the last line when the NL is missing.
(Hong Xu)
Solution: When at the end of the file Also check for a previous line.
Files: src/eval.c
*** ../vim-7.3.149/src/eval.c 2011-03-27 16:03:09.000000000 +0200
--- src/eval.c 2011-04-01 16:06:04.000000000 +0200
***************
*** 14305,14313 ****
{
if (buf[filtd] == '\n' || readlen <= 0)
{
! /* Only when in binary mode add an empty list item when the
! * last line ends in a '\n'. */
! if (!binary && readlen == 0 && filtd == 0)
break;
/* Found end-of-line or end-of-file: add a text line to the
--- 14305,14313 ----
{
if (buf[filtd] == '\n' || readlen <= 0)
{
! /* In binary mode add an empty list item when the last
! * non-empty line ends in a '\n'. */
! if (!binary && readlen == 0 && filtd == 0 && prev == NULL)
break;
/* Found end-of-line or end-of-file: add a text line to the
***************
*** 14372,14396 ****
if (tolist == 0)
{
! /* "buf" is full, need to move text to an allocated buffer */
! if (prev == NULL)
{
! prev = vim_strnsave(buf, buflen);
! prevlen = buflen;
! }
! else
! {
! s = alloc((unsigned)(prevlen + buflen));
! if (s != NULL)
{
! mch_memmove(s, prev, prevlen);
! mch_memmove(s + prevlen, buf, buflen);
! vim_free(prev);
! prev = s;
! prevlen += buflen;
}
}
- filtd = 0;
}
else
{
--- 14372,14399 ----
if (tolist == 0)
{
! if (buflen >= FREAD_SIZE / 2)
{
! /* "buf" is full, need to move text to an allocated buffer */
! if (prev == NULL)
! {
! prev = vim_strnsave(buf, buflen);
! prevlen = buflen;
! }
! else
{
! s = alloc((unsigned)(prevlen + buflen));
! if (s != NULL)
! {
! mch_memmove(s, prev, prevlen);
! mch_memmove(s + prevlen, buf, buflen);
! vim_free(prev);
! prev = s;
! prevlen += buflen;
! }
}
+ filtd = 0;
}
}
else
{
*** ../vim-7.3.149/src/version.c 2011-04-01 15:33:54.000000000 +0200
--- src/version.c 2011-04-01 16:04:42.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 150,
/**/
--
ARTHUR: What are you going to do. bleed on me?
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

59
7.3.151 Normal file
View file

@ -0,0 +1,59 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.151
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.151 (after 7.3.074)
Problem: When "unnamedplus" is in 'clipboard' the selection is sometimes
also copied to the star register.
Solution: Avoid copy to the star register when undesired. (James Vega)
Files: src/ops.c
*** ../vim-7.3.150/src/ops.c 2010-12-08 14:23:08.000000000 +0100
--- src/ops.c 2011-04-01 16:23:10.000000000 +0200
***************
*** 3148,3157 ****
/* Copy the text from register 0 to the clipboard register. */
copy_yank_reg(&(y_regs[PLUS_REGISTER]));
- /* No need to copy to * register upon 'unnamed' now - see below */
clip_own_selection(&clip_plus);
clip_gen_set_selection(&clip_plus);
! if (!clip_isautosel() && !did_star)
{
copy_yank_reg(&(y_regs[STAR_REGISTER]));
clip_own_selection(&clip_star);
--- 3148,3156 ----
/* Copy the text from register 0 to the clipboard register. */
copy_yank_reg(&(y_regs[PLUS_REGISTER]));
clip_own_selection(&clip_plus);
clip_gen_set_selection(&clip_plus);
! if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
{
copy_yank_reg(&(y_regs[STAR_REGISTER]));
clip_own_selection(&clip_star);
*** ../vim-7.3.150/src/version.c 2011-04-01 16:07:41.000000000 +0200
--- src/version.c 2011-04-01 16:25:40.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 151,
/**/
--
BLACK KNIGHT: I'm invincible!
ARTHUR: You're a looney.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

643
7.3.152 Normal file
View file

@ -0,0 +1,643 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.152
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.152
Problem: Xxd does not check for errors from library functions.
Solution: Add error checks. (Florian Zumbiehl)
Files: src/xxd/xxd.c
*** ../vim-7.3.151/src/xxd/xxd.c 2010-08-15 21:57:25.000000000 +0200
--- src/xxd/xxd.c 2011-04-01 18:56:11.000000000 +0200
***************
*** 49,54 ****
--- 49,56 ----
* option -b added: 01000101 binary output in normal format.
* 16.05.00 Added VAXC changes by Stephen P. Wall
* 16.05.00 Improved MMS file and merge for VMS by Zoltan Arpadffy
+ * 2011 March Better error handling by Florian Zumbiehl.
+ * 2011 April Formatting by Bram Moolenaar
*
* (c) 1990-1998 by Juergen Weigert (jnweiger@informatik.uni-erlangen.de)
*
***************
*** 207,214 ****
/* Let's collect some prototypes */
/* CodeWarrior is really picky about missing prototypes */
! static void exit_with_usage __P((char *));
! static int huntype __P((FILE *, FILE *, FILE *, char *, int, int, long));
static void xxdline __P((FILE *, char *, int));
#define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
--- 209,216 ----
/* Let's collect some prototypes */
/* CodeWarrior is really picky about missing prototypes */
! static void exit_with_usage __P((void));
! static int huntype __P((FILE *, FILE *, FILE *, int, int, long));
static void xxdline __P((FILE *, char *, int));
#define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
***************
*** 223,231 ****
#define HEX_CINCLUDE 2
#define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */
! static void
! exit_with_usage(pname)
! char *pname;
{
fprintf(stderr, "Usage:\n %s [options] [infile [outfile]]\n", pname);
fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname);
--- 225,234 ----
#define HEX_CINCLUDE 2
#define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */
! static char *pname;
!
! static void
! exit_with_usage()
{
fprintf(stderr, "Usage:\n %s [options] [infile [outfile]]\n", pname);
fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname);
***************
*** 252,257 ****
--- 255,269 ----
exit(1);
}
+ static void
+ die(ret)
+ int ret;
+ {
+ fprintf(stderr, "%s: ", pname);
+ perror(NULL);
+ exit(ret);
+ }
+
/*
* Max. cols binary characters are decoded from the input stream per line.
* Two adjacent garbage characters after evaluated data delimit valid data.
***************
*** 259,270 ****
*
* The name is historic and came from 'undo type opt h'.
*/
! static int
! huntype(fpi, fpo, fperr, pname, cols, hextype, base_off)
! FILE *fpi, *fpo, *fperr;
! char *pname;
! int cols, hextype;
! long base_off;
{
int c, ign_garb = 1, n1 = -1, n2 = 0, n3, p = cols;
long have_off = 0, want_off = 0;
--- 271,281 ----
*
* The name is historic and came from 'undo type opt h'.
*/
! static int
! huntype(fpi, fpo, fperr, cols, hextype, base_off)
! FILE *fpi, *fpo, *fperr;
! int cols, hextype;
! long base_off;
{
int c, ign_garb = 1, n1 = -1, n2 = 0, n3, p = cols;
long have_off = 0, want_off = 0;
***************
*** 318,324 ****
if (base_off + want_off != have_off)
{
! fflush(fpo);
#ifdef TRY_SEEK
c = fseek(fpo, base_off + want_off - have_off, 1);
if (c >= 0)
--- 329,336 ----
if (base_off + want_off != have_off)
{
! if (fflush(fpo) != 0)
! die(3);
#ifdef TRY_SEEK
c = fseek(fpo, base_off + want_off - have_off, 1);
if (c >= 0)
***************
*** 330,341 ****
return 5;
}
for (; have_off < base_off + want_off; have_off++)
! putc(0, fpo);
}
if (n2 >= 0 && n1 >= 0)
{
! putc((n2 << 4) | n1, fpo);
have_off++;
want_off++;
n1 = -1;
--- 342,355 ----
return 5;
}
for (; have_off < base_off + want_off; have_off++)
! if (putc(0, fpo) == EOF)
! die(3);
}
if (n2 >= 0 && n1 >= 0)
{
! if (putc((n2 << 4) | n1, fpo) == EOF)
! die(3);
have_off++;
want_off++;
n1 = -1;
***************
*** 345,350 ****
--- 359,366 ----
want_off = 0;
while ((c = getc(fpi)) != '\n' && c != EOF)
;
+ if (c == EOF && ferror(fpi))
+ die(2);
ign_garb = 1;
}
}
***************
*** 355,369 ****
want_off = 0;
while ((c = getc(fpi)) != '\n' && c != EOF)
;
ign_garb = 1;
}
}
! fflush(fpo);
#ifdef TRY_SEEK
fseek(fpo, 0L, 2);
#endif
! fclose(fpo);
! fclose(fpi);
return 0;
}
--- 371,390 ----
want_off = 0;
while ((c = getc(fpi)) != '\n' && c != EOF)
;
+ if (c == EOF && ferror(fpi))
+ die(2);
ign_garb = 1;
}
}
! if (fflush(fpo) != 0)
! die(3);
#ifdef TRY_SEEK
fseek(fpo, 0L, 2);
#endif
! if (fclose(fpo) != 0)
! die(3);
! if (fclose(fpi) != 0)
! die(2);
return 0;
}
***************
*** 379,389 ****
*
* If nz is always positive, lines are never suppressed.
*/
! static void
xxdline(fp, l, nz)
! FILE *fp;
! char *l;
! int nz;
{
static char z[LLEN+1];
static int zero_seen = 0;
--- 400,410 ----
*
* If nz is always positive, lines are never suppressed.
*/
! static void
xxdline(fp, l, nz)
! FILE *fp;
! char *l;
! int nz;
{
static char z[LLEN+1];
static int zero_seen = 0;
***************
*** 398,409 ****
if (nz < 0)
zero_seen--;
if (zero_seen == 2)
! fputs(z, fp);
if (zero_seen > 2)
! fputs("*\n", fp);
}
if (nz >= 0 || zero_seen > 0)
! fputs(l, fp);
if (nz)
zero_seen = 0;
}
--- 419,433 ----
if (nz < 0)
zero_seen--;
if (zero_seen == 2)
! if (fputs(z, fp) == EOF)
! die(3);
if (zero_seen > 2)
! if (fputs("*\n", fp) == EOF)
! die(3);
}
if (nz >= 0 || zero_seen > 0)
! if (fputs(l, fp) == EOF)
! die(3);
if (nz)
zero_seen = 0;
}
***************
*** 439,448 ****
0070,0071,0372,0373,0374,0375,0376,0377
};
! int
main(argc, argv)
! int argc;
! char *argv[];
{
FILE *fp, *fpo;
int c, e, p = 0, relseek = 1, negseek = 0, revert = 0;
--- 463,472 ----
0070,0071,0372,0373,0374,0375,0376,0377
};
! int
main(argc, argv)
! int argc;
! char *argv[];
{
FILE *fp, *fpo;
int c, e, p = 0, relseek = 1, negseek = 0, revert = 0;
***************
*** 452,458 ****
int grplen; /* total chars per octet group */
long length = -1, n = 0, seekoff = 0;
char l[LLEN+1];
! char *pname, *pp;
#ifdef AMIGA
/* This program doesn't work when started from the Workbench */
--- 476,482 ----
int grplen; /* total chars per octet group */
long length = -1, n = 0, seekoff = 0;
char l[LLEN+1];
! char *pp;
#ifdef AMIGA
/* This program doesn't work when started from the Workbench */
***************
*** 495,501 ****
else
{
if (!argv[2])
! exit_with_usage(pname);
cols = (int)strtol(argv[2], NULL, 0);
argv++;
argc--;
--- 519,525 ----
else
{
if (!argv[2])
! exit_with_usage();
cols = (int)strtol(argv[2], NULL, 0);
argv++;
argc--;
***************
*** 508,514 ****
else
{
if (!argv[2])
! exit_with_usage(pname);
octspergrp = (int)strtol(argv[2], NULL, 0);
argv++;
argc--;
--- 532,538 ----
else
{
if (!argv[2])
! exit_with_usage();
octspergrp = (int)strtol(argv[2], NULL, 0);
argv++;
argc--;
***************
*** 531,537 ****
else
{
if (!argv[2])
! exit_with_usage(pname);
#ifdef TRY_SEEK
if (argv[2][0] == '+')
relseek++;
--- 555,561 ----
else
{
if (!argv[2])
! exit_with_usage();
#ifdef TRY_SEEK
if (argv[2][0] == '+')
relseek++;
***************
*** 550,556 ****
else
{
if (!argv[2])
! exit_with_usage(pname);
length = strtol(argv[2], (char **)NULL, 0);
argv++;
argc--;
--- 574,580 ----
else
{
if (!argv[2])
! exit_with_usage();
length = strtol(argv[2], (char **)NULL, 0);
argv++;
argc--;
***************
*** 563,569 ****
break;
}
else if (pp[0] == '-' && pp[1]) /* unknown option */
! exit_with_usage(pname);
else
break; /* not an option */
--- 587,593 ----
break;
}
else if (pp[0] == '-' && pp[1]) /* unknown option */
! exit_with_usage();
else
break; /* not an option */
***************
*** 602,608 ****
octspergrp = cols;
if (argc > 3)
! exit_with_usage(pname);
if (argc == 1 || (argv[1][0] == '-' && !argv[1][1]))
BIN_ASSIGN(fp = stdin, !revert);
--- 626,632 ----
octspergrp = cols;
if (argc > 3)
! exit_with_usage();
if (argc == 1 || (argv[1][0] == '-' && !argv[1][1]))
BIN_ASSIGN(fp = stdin, !revert);
***************
*** 640,646 ****
fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname);
return -1;
}
! return huntype(fp, fpo, stderr, pname, cols, hextype,
negseek ? -seekoff : seekoff);
}
--- 664,670 ----
fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname);
return -1;
}
! return huntype(fp, fpo, stderr, cols, hextype,
negseek ? -seekoff : seekoff);
}
***************
*** 664,670 ****
long s = seekoff;
while (s--)
! (void)getc(fp);
}
}
--- 688,703 ----
long s = seekoff;
while (s--)
! if (getc(fp) == EOF)
! if (ferror(fp))
! {
! die(2);
! }
! else
! {
! fprintf(stderr, "%s: sorry cannot seek.\n", pname);
! return 4;
! }
}
}
***************
*** 672,725 ****
{
if (fp != stdin)
{
! fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : "");
for (e = 0; (c = argv[1][e]) != 0; e++)
! putc(isalnum(c) ? c : '_', fpo);
! fputs("[] = {\n", fpo);
}
p = 0;
while ((length < 0 || p < length) && (c = getc(fp)) != EOF)
{
! fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X",
! (p % cols) ? ", " : ",\n "+2*!p, c);
p++;
}
if (p)
! fputs("\n};\n"+3*(fp == stdin), fpo);
if (fp != stdin)
{
! fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : "");
for (e = 0; (c = argv[1][e]) != 0; e++)
! putc(isalnum(c) ? c : '_', fpo);
! fprintf(fpo, "_len = %d;\n", p);
}
! fclose(fp);
! fclose(fpo);
return 0;
}
if (hextype == HEX_POSTSCRIPT)
{
p = cols;
while ((length < 0 || n < length) && (e = getc(fp)) != EOF)
{
! putchar(hexx[(e >> 4) & 0xf]);
! putchar(hexx[(e ) & 0xf]);
n++;
if (!--p)
{
! putchar('\n');
p = cols;
}
}
if (p < cols)
! putchar('\n');
! fclose(fp);
! fclose(fpo);
return 0;
}
--- 705,779 ----
{
if (fp != stdin)
{
! if (fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : "") < 0)
! die(3);
for (e = 0; (c = argv[1][e]) != 0; e++)
! if (putc(isalnum(c) ? c : '_', fpo) == EOF)
! die(3);
! if (fputs("[] = {\n", fpo) == EOF)
! die(3);
}
p = 0;
+ c = 0;
while ((length < 0 || p < length) && (c = getc(fp)) != EOF)
{
! if (fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X",
! (p % cols) ? ", " : ",\n "+2*!p, c) < 0)
! die(3);
p++;
}
+ if (c == EOF && ferror(fp))
+ die(2);
if (p)
! if (fputs("\n};\n" + 3 * (fp == stdin), fpo) == EOF)
! die(3);
if (fp != stdin)
{
! if (fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : "") < 0)
! die(3);
for (e = 0; (c = argv[1][e]) != 0; e++)
! if (putc(isalnum(c) ? c : '_', fpo) == EOF)
! die(3);
! if (fprintf(fpo, "_len = %d;\n", p) < 0)
! die(3);
}
! if (fclose(fp))
! die(2);
! if (fclose(fpo))
! die(3);
return 0;
}
if (hextype == HEX_POSTSCRIPT)
{
p = cols;
+ e = 0;
while ((length < 0 || n < length) && (e = getc(fp)) != EOF)
{
! if (putc(hexx[(e >> 4) & 0xf], fpo) == EOF
! || putc(hexx[e & 0xf], fpo) == EOF)
! die(3);
n++;
if (!--p)
{
! if (putc('\n', fpo) == EOF)
! die(3);
p = cols;
}
}
+ if (e == EOF && ferror(fp))
+ die(2);
if (p < cols)
! if (putc('\n', fpo) == EOF)
! die(3);
! if (fclose(fp))
! die(2);
! if (fclose(fpo))
! die(3);
return 0;
}
***************
*** 730,735 ****
--- 784,790 ----
else /* hextype == HEX_BITS */
grplen = 8 * octspergrp + 1;
+ e = 0;
while ((length < 0 || n < length) && (e = getc(fp)) != EOF)
{
if (p == 0)
***************
*** 771,776 ****
--- 826,833 ----
p = 0;
}
}
+ if (e == EOF && ferror(fp))
+ die(2);
if (p)
{
l[c = (11 + (grplen * cols - 1)/octspergrp + p)] = '\n'; l[++c] = '\0';
***************
*** 779,785 ****
else if (autoskip)
xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */
! fclose(fp);
! fclose(fpo);
return 0;
}
--- 836,846 ----
else if (autoskip)
xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */
! if (fclose(fp))
! die(2);
! if (fclose(fpo))
! die(3);
return 0;
}
+
+ /* vi:set ts=8 sw=4 sts=2 cino+={2 cino+=n-2 : */
*** ../vim-7.3.151/src/version.c 2011-04-01 16:28:33.000000000 +0200
--- src/version.c 2011-04-01 19:00:26.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 152,
/**/
--
Eye have a spelling checker, it came with my PC;
It plainly marks four my revue mistakes I cannot sea.
I've run this poem threw it, I'm sure your please to no,
It's letter perfect in it's weigh, my checker tolled me sew!
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

66
7.3.153 Normal file
View file

@ -0,0 +1,66 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.153
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.153 (after 7.3.152)
Problem: Compiler warning for ambiguous else, missing prototype.
Solution: Add braces. (Dominique Pelle) Add prototype for die().
Files: src/xxd/xxd.c
*** ../vim-7.3.152/src/xxd/xxd.c 2011-04-01 19:14:35.000000000 +0200
--- src/xxd/xxd.c 2011-04-02 14:42:54.000000000 +0200
***************
*** 210,215 ****
--- 210,216 ----
/* Let's collect some prototypes */
/* CodeWarrior is really picky about missing prototypes */
static void exit_with_usage __P((void));
+ static void die __P((int));
static int huntype __P((FILE *, FILE *, FILE *, int, int, long));
static void xxdline __P((FILE *, char *, int));
***************
*** 689,694 ****
--- 690,696 ----
while (s--)
if (getc(fp) == EOF)
+ {
if (ferror(fp))
{
die(2);
***************
*** 698,703 ****
--- 700,706 ----
fprintf(stderr, "%s: sorry cannot seek.\n", pname);
return 4;
}
+ }
}
}
*** ../vim-7.3.152/src/version.c 2011-04-01 19:14:35.000000000 +0200
--- src/version.c 2011-04-02 14:41:12.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 153,
/**/
--
|
Ceci n'est pas une pipe.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

106
7.3.154 Normal file
View file

@ -0,0 +1,106 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.154
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.154 (after 7.3.148)
Problem: Can't compile with tiny features. (Tony Mechelynck)
Solution: Move #define outside of #ifdef.
Files: src/syntax.c
*** ../vim-7.3.153/src/syntax.c 2011-04-01 14:44:54.000000000 +0200
--- src/syntax.c 2011-04-02 15:11:47.000000000 +0200
***************
*** 68,73 ****
--- 68,75 ----
#define HL_TABLE() ((struct hl_group *)((highlight_ga.ga_data)))
+ #define MAX_HL_ID 20000 /* maximum value for a highlight ID. */
+
#ifdef FEAT_CMDL_COMPL
/* Flags to indicate an additional string for highlight name completion. */
static int include_none = 0; /* when 1 include "None" */
***************
*** 225,236 ****
* 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
* 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
*/
! #define SYNID_ALLBUT 20000 /* syntax group ID for contains=ALLBUT */
#define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
#define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
#define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
- #define MAX_SYNID SYNID_ALLBUT
#define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
#define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
--- 227,237 ----
* 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
* 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
*/
! #define SYNID_ALLBUT MAX_HL_ID /* syntax group ID for contains=ALLBUT */
#define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
#define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
#define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
#define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
#define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
***************
*** 6462,6468 ****
#endif /* FEAT_SYN_HL */
-
/**************************************
* Highlighting stuff *
**************************************/
--- 6463,6468 ----
***************
*** 8996,9004 ****
highlight_ga.ga_growsize = 10;
}
! if (highlight_ga.ga_len >= MAX_SYNID)
{
! EMSG(_("E849: Too many syntax groups"));
vim_free(name);
return 0;
}
--- 8996,9004 ----
highlight_ga.ga_growsize = 10;
}
! if (highlight_ga.ga_len >= MAX_HL_ID)
{
! EMSG(_("E849: Too many highlight and syntax groups"));
vim_free(name);
return 0;
}
*** ../vim-7.3.153/src/version.c 2011-04-02 14:44:50.000000000 +0200
--- src/version.c 2011-04-02 14:52:33.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 154,
/**/
--
BEDEVERE: Why do you think she is a witch?
SECOND VILLAGER: She turned me into a newt.
BEDEVERE: A newt?
SECOND VILLAGER: (After looking at himself for some time) I got better.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

286
7.3.155 Normal file
View file

@ -0,0 +1,286 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.155
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.155
Problem: Crash when using map(), filter() and remove() on v:. (ZyX)
Also for extend(). (Yukihiro Nakadaira)
Solution: Mark v: as locked. Also correct locking error messages.
Files: src/eval.c
*** ../vim-7.3.154/src/eval.c 2011-04-01 16:07:41.000000000 +0200
--- src/eval.c 2011-04-11 13:28:34.000000000 +0200
***************
*** 853,858 ****
--- 853,859 ----
init_var_dict(&globvardict, &globvars_var);
init_var_dict(&vimvardict, &vimvars_var);
+ vimvardict.dv_lock = VAR_FIXED;
hash_init(&compat_hashtab);
hash_init(&func_hashtab);
***************
*** 8545,8551 ****
if (argvars[0].v_type == VAR_LIST)
{
if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)"add()")
&& list_append_tv(l, &argvars[1]) == OK)
copy_tv(&argvars[0], rettv);
}
--- 8546,8552 ----
if (argvars[0].v_type == VAR_LIST)
{
if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)_("add() argument"))
&& list_append_tv(l, &argvars[1]) == OK)
copy_tv(&argvars[0], rettv);
}
***************
*** 9946,9951 ****
--- 9947,9954 ----
typval_T *argvars;
typval_T *rettv;
{
+ char *arg_errmsg = N_("extend() argument");
+
if (argvars[0].v_type == VAR_LIST && argvars[1].v_type == VAR_LIST)
{
list_T *l1, *l2;
***************
*** 9955,9961 ****
l1 = argvars[0].vval.v_list;
l2 = argvars[1].vval.v_list;
! if (l1 != NULL && !tv_check_lock(l1->lv_lock, (char_u *)"extend()")
&& l2 != NULL)
{
if (argvars[2].v_type != VAR_UNKNOWN)
--- 9958,9964 ----
l1 = argvars[0].vval.v_list;
l2 = argvars[1].vval.v_list;
! if (l1 != NULL && !tv_check_lock(l1->lv_lock, (char_u *)_(arg_errmsg))
&& l2 != NULL)
{
if (argvars[2].v_type != VAR_UNKNOWN)
***************
*** 9994,10000 ****
d1 = argvars[0].vval.v_dict;
d2 = argvars[1].vval.v_dict;
! if (d1 != NULL && !tv_check_lock(d1->dv_lock, (char_u *)"extend()")
&& d2 != NULL)
{
/* Check the third argument. */
--- 9997,10003 ----
d1 = argvars[0].vval.v_dict;
d2 = argvars[1].vval.v_dict;
! if (d1 != NULL && !tv_check_lock(d1->dv_lock, (char_u *)_(arg_errmsg))
&& d2 != NULL)
{
/* Check the third argument. */
***************
*** 10236,10255 ****
typval_T save_key;
int rem;
int todo;
! char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()";
int save_did_emsg;
int idx = 0;
if (argvars[0].v_type == VAR_LIST)
{
if ((l = argvars[0].vval.v_list) == NULL
! || (map && tv_check_lock(l->lv_lock, ermsg)))
return;
}
else if (argvars[0].v_type == VAR_DICT)
{
if ((d = argvars[0].vval.v_dict) == NULL
! || (map && tv_check_lock(d->dv_lock, ermsg)))
return;
}
else
--- 10239,10260 ----
typval_T save_key;
int rem;
int todo;
! char_u *ermsg = (char_u *)(map ? "map()" : "filter()");
! char *arg_errmsg = (map ? N_("map() argument")
! : N_("filter() argument"));
int save_did_emsg;
int idx = 0;
if (argvars[0].v_type == VAR_LIST)
{
if ((l = argvars[0].vval.v_list) == NULL
! || tv_check_lock(l->lv_lock, (char_u *)_(arg_errmsg)))
return;
}
else if (argvars[0].v_type == VAR_DICT)
{
if ((d = argvars[0].vval.v_dict) == NULL
! || tv_check_lock(d->dv_lock, (char_u *)_(arg_errmsg)))
return;
}
else
***************
*** 10286,10292 ****
{
--todo;
di = HI2DI(hi);
! if (tv_check_lock(di->di_tv.v_lock, ermsg))
break;
vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
if (filter_map_one(&di->di_tv, expr, map, &rem) == FAIL
--- 10291,10298 ----
{
--todo;
di = HI2DI(hi);
! if (tv_check_lock(di->di_tv.v_lock,
! (char_u *)_(arg_errmsg)))
break;
vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
if (filter_map_one(&di->di_tv, expr, map, &rem) == FAIL
***************
*** 10305,10311 ****
for (li = l->lv_first; li != NULL; li = nli)
{
! if (tv_check_lock(li->li_tv.v_lock, ermsg))
break;
nli = li->li_next;
vimvars[VV_KEY].vv_nr = idx;
--- 10311,10317 ----
for (li = l->lv_first; li != NULL; li = nli)
{
! if (tv_check_lock(li->li_tv.v_lock, (char_u *)_(arg_errmsg)))
break;
nli = li->li_next;
vimvars[VV_KEY].vv_nr = idx;
***************
*** 12910,12916 ****
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "insert()");
else if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)"insert()"))
{
if (argvars[2].v_type != VAR_UNKNOWN)
before = get_tv_number_chk(&argvars[2], &error);
--- 12916,12922 ----
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "insert()");
else if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)_("insert() argument")))
{
if (argvars[2].v_type != VAR_UNKNOWN)
before = get_tv_number_chk(&argvars[2], &error);
***************
*** 14775,14787 ****
char_u *key;
dict_T *d;
dictitem_T *di;
if (argvars[0].v_type == VAR_DICT)
{
if (argvars[2].v_type != VAR_UNKNOWN)
EMSG2(_(e_toomanyarg), "remove()");
else if ((d = argvars[0].vval.v_dict) != NULL
! && !tv_check_lock(d->dv_lock, (char_u *)"remove() argument"))
{
key = get_tv_string_chk(&argvars[1]);
if (key != NULL)
--- 14781,14794 ----
char_u *key;
dict_T *d;
dictitem_T *di;
+ char *arg_errmsg = N_("remove() argument");
if (argvars[0].v_type == VAR_DICT)
{
if (argvars[2].v_type != VAR_UNKNOWN)
EMSG2(_(e_toomanyarg), "remove()");
else if ((d = argvars[0].vval.v_dict) != NULL
! && !tv_check_lock(d->dv_lock, (char_u *)_(arg_errmsg)))
{
key = get_tv_string_chk(&argvars[1]);
if (key != NULL)
***************
*** 14801,14807 ****
else if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listdictarg), "remove()");
else if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)"remove() argument"))
{
int error = FALSE;
--- 14808,14814 ----
else if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listdictarg), "remove()");
else if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)_(arg_errmsg)))
{
int error = FALSE;
***************
*** 15135,15141 ****
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "reverse()");
else if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)"reverse()"))
{
li = l->lv_last;
l->lv_first = l->lv_last = NULL;
--- 15142,15148 ----
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "reverse()");
else if ((l = argvars[0].vval.v_list) != NULL
! && !tv_check_lock(l->lv_lock, (char_u *)_("reverse() argument")))
{
li = l->lv_last;
l->lv_first = l->lv_last = NULL;
***************
*** 16432,16438 ****
else
{
l = argvars[0].vval.v_list;
! if (l == NULL || tv_check_lock(l->lv_lock, (char_u *)"sort()"))
return;
rettv->vval.v_list = l;
rettv->v_type = VAR_LIST;
--- 16439,16446 ----
else
{
l = argvars[0].vval.v_list;
! if (l == NULL || tv_check_lock(l->lv_lock,
! (char_u *)_("sort() argument")))
return;
rettv->vval.v_list = l;
rettv->v_type = VAR_LIST;
*** ../vim-7.3.154/src/version.c 2011-04-02 15:12:45.000000000 +0200
--- src/version.c 2011-04-11 13:13:38.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 155,
/**/
--
I used to be indecisive, now I'm not sure.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

Some files were not shown because too many files have changed in this diff Show more