From e9cd821e44ee9f18c936e1528e4d8165eb81ba21 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Wed, 4 Nov 2015 11:39:09 +0100 Subject: [PATCH 1/9] update highlight patch --- vim-7.4-checkhl.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 vim-7.4-checkhl.patch diff --git a/vim-7.4-checkhl.patch b/vim-7.4-checkhl.patch new file mode 100644 index 00000000..cccbdbb7 --- /dev/null +++ b/vim-7.4-checkhl.patch @@ -0,0 +1,12 @@ +diff -up vim74/runtime/syntax/spec.vim.kh1 vim74/runtime/syntax/spec.vim +--- vim74/runtime/syntax/spec.vim.kh1 2015-11-04 11:37:16.483417787 +0100 ++++ vim74/runtime/syntax/spec.vim 2015-11-04 11:37:38.033528045 +0100 +@@ -114,7 +114,7 @@ syn region specDescriptionArea matchgrou + syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment + + "%% Scripts Section %% +-syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 ++syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|check\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 + + "%% Changelog Section %% + syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense From 40b389ec84e92a90092bb86f2b82135b4bd3e3f8 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Wed, 4 Nov 2015 11:53:19 +0100 Subject: [PATCH 2/9] remove patches, prepare for update --- 7.4.001 | 489 ---- 7.4.002 | 77 - 7.4.003 | 100 - 7.4.004 | 232 -- 7.4.005 | 48 - 7.4.006 | 66 - 7.4.007 | 95 - 7.4.008 | 71 - 7.4.009 | 64 - 7.4.010 | 79 - 7.4.011 | 100 - 7.4.012 | 202 -- 7.4.013 | 99 - 7.4.014 | 102 - 7.4.015 | 106 - 7.4.016 | 221 -- 7.4.017 | 78 - 7.4.018 | 45 - 7.4.019 | 61 - 7.4.020 | 82 - 7.4.021 | 86 - 7.4.022 | 148 - 7.4.023 | 53 - 7.4.024 | 61 - 7.4.025 | 62 - 7.4.026 | 65 - 7.4.027 | 89 - 7.4.028 | 753 ------ 7.4.029 | 63 - 7.4.030 | 109 - 7.4.031 | 54 - 7.4.032 | 82 - 7.4.033 | 116 - 7.4.034 | 180 -- 7.4.035 | 53 - 7.4.036 | 273 -- 7.4.037 | 130 - 7.4.038 | 116 - 7.4.039 | 217 -- 7.4.040 | 68 - 7.4.041 | 61 - 7.4.042 | 71 - 7.4.043 | 89 - 7.4.044 | 83 - 7.4.045 | 111 - 7.4.046 | 80 - 7.4.047 | 56 - 7.4.048 | 96 - 7.4.049 | 67 - 7.4.050 | 90 - 7.4.051 | 67 - 7.4.052 | 197 -- 7.4.053 | 45 - 7.4.054 | 53 - 7.4.055 | 138 - 7.4.056 | 51 - 7.4.057 | 252 -- 7.4.058 | 67 - 7.4.059 | 53 - 7.4.060 | 71 - 7.4.061 | 144 - 7.4.062 | 87 - 7.4.063 | 105 - 7.4.064 | Bin 5346 -> 0 bytes 7.4.065 | 70 - 7.4.066 | 354 --- 7.4.067 | 126 - 7.4.068 | 131 - 7.4.069 | 2559 ------------------ 7.4.070 | 47 - 7.4.071 | 1302 --------- 7.4.072 | 61 - 7.4.073 | 404 --- 7.4.074 | 67 - 7.4.075 | 290 -- 7.4.076 | 66 - 7.4.077 | 63 - 7.4.078 | 114 - 7.4.079 | 470 ---- 7.4.080 | 52 - 7.4.081 | 52 - 7.4.082 | 344 --- 7.4.083 | 136 - 7.4.084 | 184 -- 7.4.085 | 118 - 7.4.086 | 145 - 7.4.087 | 56 - 7.4.088 | 564 ---- 7.4.089 | 47 - 7.4.090 | 223 -- 7.4.091 | 59 - 7.4.092 | 62 - 7.4.093 | 72 - 7.4.094 | 139 - 7.4.095 | 73 - 7.4.096 | 96 - 7.4.097 | 50 - 7.4.098 | 243 -- 7.4.099 | 113 - 7.4.100 | 82 - 7.4.101 | 93 - 7.4.102 | 84 - 7.4.103 | 93 - 7.4.104 | 107 - 7.4.105 | 58 - 7.4.106 | 68 - 7.4.107 | 639 ----- 7.4.108 | 215 -- 7.4.109 | 123 - 7.4.110 | 102 - 7.4.111 | 63 - 7.4.112 | 70 - 7.4.113 | 101 - 7.4.114 | 56 - 7.4.115 | 52 - 7.4.116 | 46 - 7.4.117 | 263 -- 7.4.118 | 90 - 7.4.119 | 245 -- 7.4.120 | 53 - 7.4.121 | 48 - 7.4.122 | 215 -- 7.4.123 | 64 - 7.4.124 | 63 - 7.4.125 | 57 - 7.4.126 | 68 - 7.4.127 | 67 - 7.4.128 | 66 - 7.4.129 | 56 - 7.4.130 | 69 - 7.4.131 | 113 - 7.4.132 | 54 - 7.4.133 | 74 - 7.4.134 | 53 - 7.4.135 | 51 - 7.4.136 | 75 - 7.4.137 | 239 -- 7.4.138 | 55 - 7.4.139 | 76 - 7.4.140 | 174 -- 7.4.141 | 88 - 7.4.142 | 186 -- 7.4.143 | 214 -- 7.4.144 | 52 - 7.4.145 | 75 - 7.4.146 | 67 - 7.4.147 | Bin 2583 -> 0 bytes 7.4.148 | 83 - 7.4.149 | 822 ------ 7.4.150 | 93 - 7.4.151 | 1470 ---------- 7.4.152 | 708 ----- 7.4.153 | 176 -- 7.4.154 | 153 -- 7.4.155 | 83 - 7.4.156 | 49 - 7.4.157 | 53 - 7.4.158 | 140 - 7.4.159 | 116 - 7.4.160 | 66 - 7.4.161 | 75 - 7.4.162 | 45 - 7.4.163 | 75 - 7.4.164 | 78 - 7.4.165 | 71 - 7.4.166 | 53 - 7.4.167 | 195 -- 7.4.168 | 91 - 7.4.169 | 53 - 7.4.170 | 90 - 7.4.171 | 841 ------ 7.4.172 | 346 --- 7.4.173 | 61 - 7.4.174 | 94 - 7.4.175 | 180 -- 7.4.176 | 91 - 7.4.177 | 48 - 7.4.178 | 62 - 7.4.179 | 57 - 7.4.180 | 76 - 7.4.181 | 68 - 7.4.182 | 56 - 7.4.183 | 49 - 7.4.184 | 250 -- 7.4.185 | 64 - 7.4.186 | 164 -- 7.4.187 | 136 - 7.4.188 | 617 ----- 7.4.189 | 52 - 7.4.190 | 70 - 7.4.191 | 689 ----- 7.4.192 | 44 - 7.4.193 | 106 - 7.4.194 | 53 - 7.4.195 | 164 -- 7.4.196 | 51 - 7.4.197 | 1052 -------- 7.4.198 | 103 - 7.4.199 | 106 - 7.4.200 | 68 - 7.4.201 | 273 -- 7.4.202 | 281 -- 7.4.203 | 203 -- 7.4.204 | 113 - 7.4.205 | 113 - 7.4.206 | 72 - 7.4.207 | 176 -- 7.4.208 | 57 - 7.4.209 | 63 - 7.4.210 | 133 - 7.4.211 | 68 - 7.4.212 | 5720 --------------------------------------- 7.4.213 | 211 -- 7.4.214 | 50 - 7.4.215 | 87 - 7.4.216 | 73 - 7.4.217 | 85 - 7.4.218 | 578 ---- 7.4.219 | 100 - 7.4.220 | 106 - 7.4.221 | 62 - 7.4.222 | 83 - 7.4.223 | 6557 --------------------------------------------- 7.4.224 | 210 -- 7.4.225 | 83 - 7.4.226 | 136 - 7.4.227 | 87 - 7.4.228 | 189 -- 7.4.229 | 141 - 7.4.230 | 53 - 7.4.231 | 267 -- 7.4.232 | 109 - 7.4.233 | 80 - 7.4.234 | 95 - 7.4.235 | 552 ---- 7.4.236 | 159 -- 7.4.237 | 127 - 7.4.238 | 505 ---- 7.4.239 | 55 - 7.4.240 | 57 - 7.4.241 | 386 --- 7.4.242 | 520 ---- 7.4.243 | 1109 -------- 7.4.244 | 60 - 7.4.245 | 52 - 7.4.246 | 121 - 7.4.247 | 227 -- 7.4.248 | 515 ---- 7.4.249 | Bin 6037 -> 0 bytes 7.4.250 | 52 - 7.4.251 | 164 -- 7.4.252 | 47 - 7.4.253 | 76 - 7.4.254 | 183 -- 7.4.255 | 108 - 7.4.256 | 83 - 7.4.257 | 64 - 7.4.258 | 114 - 7.4.259 | 53 - 7.4.260 | 281 -- 7.4.261 | 106 - 7.4.262 | 314 --- 7.4.263 | 44 - 7.4.264 | 176 -- 7.4.265 | 153 -- 7.4.266 | 46 - 7.4.267 | 438 --- 7.4.268 | 108 - 7.4.269 | 213 -- 7.4.270 | 62 - 7.4.271 | 52 - 7.4.272 | 148 - 7.4.273 | 57 - 7.4.274 | 46 - 7.4.275 | 56 - 7.4.276 | 302 --- 7.4.277 | 80 - 7.4.278 | 183 -- 7.4.279 | 616 ----- 7.4.280 | 125 - 7.4.281 | 80 - 7.4.282 | 48 - 7.4.283 | 56 - 7.4.284 | 53 - 7.4.285 | 49 - 7.4.286 | 52 - 7.4.287 | 47 - 7.4.288 | 46 - 7.4.289 | 122 - 7.4.290 | 156 -- 7.4.291 | 56 - 7.4.292 | 139 - 7.4.293 | 301 --- 7.4.294 | 125 - 7.4.295 | 144 - 7.4.296 | 53 - 7.4.297 | 76 - 7.4.298 | 52 - 7.4.299 | 458 ---- 7.4.300 | 62 - 7.4.301 | 53 - 7.4.302 | 78 - 7.4.303 | 85 - 7.4.304 | 45 - 7.4.305 | 276 -- 7.4.306 | 84 - 7.4.307 | 147 - 7.4.308 | 47 - 7.4.309 | 88 - 7.4.310 | 373 --- 7.4.311 | 127 - 7.4.312 | 194 -- 7.4.313 | 320 --- 7.4.314 | 178 -- 7.4.315 | 229 -- 7.4.316 | 52 - 7.4.317 | 57 - 7.4.318 | 52 - 7.4.319 | 55 - 7.4.320 | 143 - 7.4.321 | 71 - 7.4.322 | 92 - 7.4.323 | 96 - 7.4.324 | 190 -- 7.4.325 | 62 - 7.4.326 | 51 - 7.4.327 | 163 -- 7.4.328 | 82 - 7.4.329 | 55 - 7.4.330 | 1131 -------- 7.4.331 | 47 - 7.4.332 | 118 - 7.4.333 | 72 - 7.4.334 | 112 - 7.4.335 | 108 - 7.4.336 | 100 - 7.4.337 | 51 - 7.4.338 | 1830 ------------- 7.4.339 | 79 - 7.4.340 | 97 - 7.4.341 | 178 -- 7.4.342 | 67 - 7.4.343 | 60 - 7.4.344 | 180 -- 7.4.345 | 73 - 7.4.346 | 61 - 7.4.347 | 74 - 7.4.348 | 58 - 7.4.349 | 111 - 7.4.350 | 139 - 7.4.351 | 160 -- 7.4.352 | 101 - 7.4.353 | 446 --- 7.4.354 | 56 - 7.4.355 | 929 ------- 7.4.356 | 38 - 7.4.357 | 52 - 7.4.358 | 290 -- 7.4.359 | 103 - 7.4.360 | 80 - 7.4.361 | 48 - 7.4.362 | 53 - 7.4.363 | 160 -- 7.4.364 | 70 - 7.4.365 | 159 -- 7.4.366 | 53 - 7.4.367 | 67 - 7.4.368 | 79 - 7.4.369 | 70 - 7.4.370 | 316 --- 7.4.371 | 59 - 7.4.372 | 188 -- 7.4.373 | 98 - 7.4.374 | 71 - 7.4.375 | 59 - 7.4.376 | 57 - 7.4.377 | 144 - 7.4.378 | 336 --- 7.4.379 | 45 - 7.4.380 | 115 - 7.4.381 | 45 - 7.4.382 | 52 - 7.4.383 | 52 - 7.4.384 | 47 - 7.4.385 | 76 - 7.4.386 | 186 -- 7.4.387 | 199 -- 7.4.388 | 98 - 7.4.389 | 490 ---- 7.4.390 | 51 - 7.4.391 | 118 - 7.4.392 | 86 - 7.4.393 | 1946 -------------- 7.4.394 | 56 - 7.4.395 | 99 - 7.4.396 | 291 -- 7.4.397 | 150 -- 7.4.398 | 52 - 7.4.399 | 5057 ---------------------------------- 7.4.400 | 69 - 7.4.401 | 357 --- 7.4.402 | 103 - 7.4.403 | 135 - 7.4.404 | 117 - 7.4.405 | 116 - 7.4.406 | 78 - 7.4.407 | 116 - 7.4.408 | 334 --- 7.4.409 | 129 - 7.4.410 | 70 - 7.4.411 | 111 - 7.4.412 | 83 - 7.4.413 | 96 - 7.4.414 | 161 -- 7.4.415 | 67 - 7.4.416 | 96 - 7.4.417 | 173 -- 7.4.418 | 58 - 7.4.419 | 124 - 7.4.420 | 57 - 7.4.421 | 132 - 7.4.422 | 103 - 7.4.423 | 109 - 7.4.424 | 55 - 7.4.425 | 71 - 7.4.426 | 45 - 7.4.427 | 112 - 7.4.428 | 105 - 7.4.429 | 47 - 7.4.430 | 52 - 7.4.431 | 52 - 7.4.432 | 107 - 7.4.433 | 71 - 7.4.434 | 139 - 7.4.435 | 63 - 7.4.436 | 48 - 7.4.437 | 116 - 7.4.438 | 48 - 7.4.439 | 56 - 7.4.440 | 73 - 7.4.441 | 64 - 7.4.442 | 72 - 7.4.443 | 54 - 7.4.444 | 46 - 7.4.445 | 92 - 7.4.446 | 265 -- 7.4.447 | 113 - 7.4.448 | 84 - 7.4.449 | 114 - 7.4.450 | 417 --- 7.4.451 | 68 - 7.4.452 | 69 - 7.4.453 | 55 - 7.4.454 | 87 - 7.4.455 | 167 -- 7.4.456 | 414 --- 7.4.457 | 48 - 7.4.458 | 55 - 7.4.459 | 123 - 7.4.460 | 48 - 7.4.461 | 77 - 7.4.462 | 80 - 7.4.463 | 58 - 7.4.464 | 52 - 7.4.465 | 56 - 7.4.466 | 53 - 7.4.467 | 144 - 7.4.468 | 64 - 7.4.469 | 62 - 7.4.470 | 120 - 7.4.471 | 73 - 7.4.472 | 46 - 7.4.473 | 47 - 7.4.474 | 45 - 7.4.475 | 228 -- 7.4.476 | 88 - 7.4.477 | 58 - 7.4.478 | 58 - 7.4.479 | 112 - 7.4.480 | 110 - 7.4.481 | 62 - 7.4.482 | 64 - 7.4.483 | 192 -- 7.4.484 | 52 - 7.4.485 | 114 - 7.4.486 | 271 -- 7.4.487 | 244 -- 7.4.488 | 45 - 7.4.489 | 49 - 7.4.490 | 208 -- 7.4.491 | 57 - 7.4.492 | 87 - 7.4.493 | 53 - 7.4.494 | 62 - 7.4.495 | 89 - 7.4.496 | 2774 ------------------- 7.4.497 | 854 ------ 7.4.498 | 57 - 7.4.499 | 76 - 7.4.500 | 78 - 7.4.501 | 52 - 7.4.502 | 191 -- 7.4.503 | 193 -- 7.4.504 | 83 - 7.4.505 | 68 - 7.4.506 | 51 - 7.4.507 | 68 - 7.4.508 | 57 - 7.4.509 | 115 - 7.4.510 | 65 - 7.4.511 | 57 - 7.4.512 | 99 - 7.4.513 | 46 - 7.4.514 | 46 - 7.4.515 | 208 -- 7.4.516 | 66 - 7.4.517 | 49 - 7.4.518 | 53 - 7.4.519 | 866 ------ 7.4.520 | 48 - 7.4.521 | 49 - 7.4.522 | 51 - 7.4.523 | 99 - 7.4.524 | 96 - 7.4.525 | 87 - 7.4.526 | 191 -- 7.4.527 | 120 - 7.4.528 | 62 - 7.4.529 | 224 -- 7.4.530 | 4727 -------------------------------- 7.4.531 | 165 -- 7.4.532 | 141 - 7.4.533 | 229 -- 7.4.534 | 94 - 7.4.535 | 469 ---- 7.4.536 | 55 - 7.4.537 | 120 - 7.4.538 | 162 -- 7.4.539 | 258 -- 7.4.540 | 58 - 7.4.541 | 86 - 7.4.542 | 992 ------- 7.4.543 | 132 - 7.4.544 | 57 - 7.4.545 | 64 - 7.4.546 | 149 - 7.4.547 | 55 - 7.4.548 | 53 - 7.4.549 | 221 -- 7.4.550 | 147 - 7.4.551 | 205 -- 7.4.552 | 83 - 7.4.553 | 315 --- 7.4.554 | 65 - 7.4.555 | 84 - 7.4.556 | 70 - 7.4.557 | 52 - 7.4.558 | 55 - 7.4.559 | 96 - 7.4.559.rhpatched | 20 - 7.4.560 | 205 -- 7.4.561 | 109 - 7.4.562 | 65 - 7.4.563 | 70 - 7.4.564 | 246 -- 7.4.565 | 411 --- 7.4.566 | 612 ----- 7.4.567 | 51 - 7.4.568 | 73 - 7.4.569 | 165 -- 7.4.570 | 139 - 7.4.571 | 64 - 7.4.572 | 257 -- 7.4.573 | 110 - 7.4.574 | 89 - 7.4.575 | 737 ----- 7.4.576 | 181 -- 7.4.577 | 92 - 7.4.578 | 54 - 7.4.579 | 169 -- 7.4.580 | 54 - 7.4.581 | 64 - 7.4.582 | 117 - 7.4.583 | 46 - 7.4.584 | 56 - 7.4.585 | 131 - 7.4.586 | 45 - 7.4.587 | 225 -- 7.4.588 | 183 -- 7.4.589 | 79 - 7.4.590 | 51 - 7.4.591 | 53 - 7.4.592 | 52 - 7.4.593 | 161 -- 7.4.594 | 105 - 7.4.595 | 45 - 7.4.596 | 52 - 7.4.597 | 58 - 7.4.598 | Bin 7175 -> 0 bytes 7.4.599 | 52 - 7.4.600 | 546 ---- 7.4.601 | 108 - 7.4.602 | 91 - 7.4.603 | 262 -- 7.4.604 | 53 - 7.4.605 | 267 -- 7.4.606 | 46 - 7.4.607 | 56 - 7.4.608 | Bin 5034 -> 0 bytes 7.4.609 | 782 ------ 7.4.610 | 89 - 7.4.611 | 48 - 7.4.612 | Bin 3589 -> 0 bytes 7.4.613 | 236 -- 7.4.614 | 70 - 7.4.615 | 164 -- 7.4.616 | Bin 4582 -> 0 bytes 7.4.617 | 101 - 7.4.618 | 45 - 7.4.619 | 69 - 7.4.620 | 52 - 7.4.621 | 69 - 7.4.622 | 53 - 7.4.623 | 78 - 7.4.624 | 204 -- 7.4.625 | 74 - 7.4.626 | 58 - 7.4.627 | 186 -- 7.4.628 | 52 - 7.4.629 | 58 - 7.4.630 | 86 - 7.4.631 | 53 - 7.4.632 | 53 - 7.4.633 | 89 - 7.4.634 | 183 -- 7.4.635 | 74 - 7.4.636 | 166 -- 7.4.637 | 82 - 7.4.638 | 52 - 7.4.639 | 208 -- 7.4.640 | 74 - 7.4.641 | 81 - 7.4.642 | 163 -- 7.4.643 | 324 --- 7.4.644 | 52 - 7.4.645 | 101 - 7.4.646 | 139 - 7.4.647 | 179 -- 7.4.648 | 45 - 7.4.649 | 59 - 7.4.650 | 175 -- 7.4.651 | 58 - 7.4.652 | 381 --- 7.4.653 | 343 --- 7.4.654 | 174 -- 7.4.655 | 164 -- 7.4.656 | 97 - 7.4.657 | 70 - 7.4.658 | 97 - 7.4.659 | 86 - 7.4.660 | 71 - 7.4.661 | 54 - 7.4.662 | 230 -- 7.4.663 | 62 - 7.4.664 | 75 - 7.4.665 | 84 - 7.4.666 | 90 - 7.4.667 | 71 - 7.4.668 | 127 - 7.4.669 | 145 - 7.4.670 | 578 ---- 7.4.671 | 76 - 7.4.672 | 443 --- 7.4.673 | 52 - 7.4.674 | 72 - 7.4.675 | 93 - 7.4.676 | 124 - 7.4.677 | 72 - 7.4.678 | 120 - 7.4.679 | 88 - 7.4.680 | 348 --- 7.4.681 | 76 - 7.4.682 | 78 - 7.4.683 | 58 - 7.4.684 | 395 --- 7.4.685 | 55 - 7.4.686 | 116 - 7.4.687 | 274 -- 7.4.688 | 50 - 7.4.689 | 157 -- 7.4.690 | 128 - 7.4.691 | 153 -- 7.4.692 | 52 - 7.4.693 | 67 - 7.4.694 | 51 - 7.4.695 | 71 - 7.4.696 | 63 - 7.4.697 | 54 - 7.4.698 | 601 ----- 7.4.699 | 47 - 7.4.700 | 125 - 7.4.701 | 54 - 7.4.702 | 50 - 7.4.703 | 62 - 7.4.704 | 500 ---- 7.4.705 | 66 - 7.4.706 | 68 - 7.4.707 | 54 - 7.4.708 | 675 ----- 7.4.709 | 378 --- 7.4.710 | 350 --- 7.4.711 | 47 - 7.4.712 | 49 - 7.4.713 | 55 - 7.4.714 | 52 - 7.4.715 | 53 - 7.4.716 | 74 - 7.4.717 | 268 -- 7.4.718 | 114 - 7.4.719 | 53 - 7.4.720 | 133 - 7.4.721 | 72 - 7.4.722 | 94 - 7.4.723 | 275 -- 7.4.724 | 381 --- 7.4.725 | 52 - 7.4.726 | 55 - 7.4.727 | 52 - 7.4.728 | 59 - 7.4.729 | 51 - 7.4.730 | 325 --- 7.4.731 | 131 - 7.4.732 | 47 - 7.4.733 | 45 - 7.4.734 | 389 --- 7.4.735 | 52 - 7.4.736 | 90 - 7.4.737 | 57 - 7.4.738 | 102 - 7.4.739 | 59 - 7.4.740 | 86 - 7.4.741 | 174 -- 7.4.742 | 120 - 7.4.743 | 167 -- 7.4.744 | 210 -- 7.4.745 | 157 -- 7.4.746 | 100 - 7.4.747 | 48 - 7.4.748 | 52 - 7.4.749 | 1183 -------- 7.4.750 | 79 - 7.4.751 | 112 - 7.4.752 | 247 -- 7.4.753 | 342 --- 7.4.754 | 1093 -------- 7.4.755 | 245 -- 7.4.756 | 176 -- 7.4.757 | 273 -- 7.4.758 | 50 - 7.4.759 | 139 - 7.4.760 | 52 - 7.4.761 | 141 - 7.4.762 | 60 - 7.4.763 | 146 - 7.4.764 | 56 - 7.4.765 | 759 ------ 7.4.766 | 101 - 7.4.767 | 70 - 7.4.768 | 234 -- 7.4.769 | 169 -- 7.4.770 | 282 -- 7.4.771 | 275 -- 7.4.772 | 110 - 7.4.773 | 97 - 7.4.774 | 236 -- 7.4.775 | 232 -- 7.4.776 | 92 - 7.4.777 | 162 -- 7.4.778 | 59 - 7.4.779 | 84 - 7.4.780 | 78 - 7.4.781 | 52 - 7.4.782 | 1080 -------- 7.4.783 | 365 --- 7.4.784 | 66 - 7.4.785 | 567 ---- 7.4.786 | 700 ----- 7.4.787 | 79 - 7.4.788 | 76 - 7.4.789 | 72 - 7.4.790 | 154 -- 7.4.791 | 187 -- 7.4.792 | 841 ------ 7.4.793 | 949 ------- 7.4.794 | 52 - 7.4.795 | 45 - 7.4.796 | 56 - 7.4.797 | 238 -- 7.4.798 | 115 - 7.4.799 | 52 - 7.4.800 | 57 - 7.4.801 | 82 - 7.4.802 | 62 - 7.4.803 | 1493 ----------- 7.4.804 | 50 - 7.4.805 | 48 - 7.4.806 | 182 -- 7.4.807 | 137 - 7.4.808 | 120 - 7.4.809 | 63 - 7.4.810 | 55 - 7.4.811 | 65 - 7.4.812 | 56 - 7.4.813 | 646 ----- 7.4.814 | 51 - 7.4.815 | 58 - 7.4.816 | 45 - 7.4.817 | 74 - 7.4.818 | 114 - 7.4.819 | 527 ---- 7.4.820 | 56 - 7.4.821 | 87 - 7.4.822 | 668 ----- 7.4.823 | 126 - 7.4.824 | 55 - 7.4.825 | 84 - 7.4.826 | 74 - 7.4.827 | 68 - 7.4.828 | 49 - 7.4.829 | 54 - 7.4.830 | 73 - 7.4.831 | 127 - 7.4.832 | 65 - 7.4.833 | 306 --- 7.4.834 | 90 - 7.4.835 | 158 -- 7.4.836 | 46 - 7.4.837 | 50 - 7.4.838 | 58 - 7.4.839 | 57 - 7.4.840 | 46 - 7.4.841 | 75 - 7.4.842 | 46 - 7.4.843 | 91 - 7.4.844 | 190 -- 7.4.845 | 55 - 7.4.846 | 92 - 7.4.847 | 51 - 7.4.848 | 124 - 7.4.849 | 391 --- 7.4.850 | 54 - 7.4.851 | 386 --- 7.4.852 | 594 ---- 7.4.853 | 76 - 7.4.854 | 59 - 7.4.855 | 57 - 7.4.856 | 78 - 7.4.857 | 56 - 7.4.858 | 1327 --------- 7.4.859 | 55 - 7.4.860 | 646 ----- 7.4.861 | 134 - 7.4.862 | 92 - 7.4.863 | 199 -- 7.4.864 | 161 -- 7.4.865 | 53 - 7.4.866 | 656 ----- 7.4.867 | 53 - 7.4.868 | 187 -- 7.4.869 | 143 - 7.4.870 | 71 - 7.4.871 | 191 -- 7.4.872 | 114 - 7.4.873 | 120 - 7.4.874 | 87 - 7.4.875 | 49 - 7.4.876 | 130 - 7.4.877 | 53 - 7.4.878 | 52 - 7.4.879 | 78 - 7.4.880 | 48 - 7.4.881 | 183 -- 7.4.882 | 52 - 7.4.883 | 79 - 7.4.884 | 48 - 7.4.885 | 80 - 7.4.886 | 95 - 7.4.887 | 53 - 7.4.888 | 169 -- 7.4.889 | 90 - 7.4.890 | 59 - 7.4.891 | 182 -- 7.4.892 | 88 - 7.4.893 | 145 - 7.4.894 | 50 - 7.4.895 | 69 - 7.4.896 | 83 - 7.4.897 | 58 - 7.4.898 | 45 - 899 files changed, 162774 deletions(-) delete mode 100644 7.4.001 delete mode 100644 7.4.002 delete mode 100644 7.4.003 delete mode 100644 7.4.004 delete mode 100644 7.4.005 delete mode 100644 7.4.006 delete mode 100644 7.4.007 delete mode 100644 7.4.008 delete mode 100644 7.4.009 delete mode 100644 7.4.010 delete mode 100644 7.4.011 delete mode 100644 7.4.012 delete mode 100644 7.4.013 delete mode 100644 7.4.014 delete mode 100644 7.4.015 delete mode 100644 7.4.016 delete mode 100644 7.4.017 delete mode 100644 7.4.018 delete mode 100644 7.4.019 delete mode 100644 7.4.020 delete mode 100644 7.4.021 delete mode 100644 7.4.022 delete mode 100644 7.4.023 delete mode 100644 7.4.024 delete mode 100644 7.4.025 delete mode 100644 7.4.026 delete mode 100644 7.4.027 delete mode 100644 7.4.028 delete mode 100644 7.4.029 delete mode 100644 7.4.030 delete mode 100644 7.4.031 delete mode 100644 7.4.032 delete mode 100644 7.4.033 delete mode 100644 7.4.034 delete mode 100644 7.4.035 delete mode 100644 7.4.036 delete mode 100644 7.4.037 delete mode 100644 7.4.038 delete mode 100644 7.4.039 delete mode 100644 7.4.040 delete mode 100644 7.4.041 delete mode 100644 7.4.042 delete mode 100644 7.4.043 delete mode 100644 7.4.044 delete mode 100644 7.4.045 delete mode 100644 7.4.046 delete mode 100644 7.4.047 delete mode 100644 7.4.048 delete mode 100644 7.4.049 delete mode 100644 7.4.050 delete mode 100644 7.4.051 delete mode 100644 7.4.052 delete mode 100644 7.4.053 delete mode 100644 7.4.054 delete mode 100644 7.4.055 delete mode 100644 7.4.056 delete mode 100644 7.4.057 delete mode 100644 7.4.058 delete mode 100644 7.4.059 delete mode 100644 7.4.060 delete mode 100644 7.4.061 delete mode 100644 7.4.062 delete mode 100644 7.4.063 delete mode 100644 7.4.064 delete mode 100644 7.4.065 delete mode 100644 7.4.066 delete mode 100644 7.4.067 delete mode 100644 7.4.068 delete mode 100644 7.4.069 delete mode 100644 7.4.070 delete mode 100644 7.4.071 delete mode 100644 7.4.072 delete mode 100644 7.4.073 delete mode 100644 7.4.074 delete mode 100644 7.4.075 delete mode 100644 7.4.076 delete mode 100644 7.4.077 delete mode 100644 7.4.078 delete mode 100644 7.4.079 delete mode 100644 7.4.080 delete mode 100644 7.4.081 delete mode 100644 7.4.082 delete mode 100644 7.4.083 delete mode 100644 7.4.084 delete mode 100644 7.4.085 delete mode 100644 7.4.086 delete mode 100644 7.4.087 delete mode 100644 7.4.088 delete mode 100644 7.4.089 delete mode 100644 7.4.090 delete mode 100644 7.4.091 delete mode 100644 7.4.092 delete mode 100644 7.4.093 delete mode 100644 7.4.094 delete mode 100644 7.4.095 delete mode 100644 7.4.096 delete mode 100644 7.4.097 delete mode 100644 7.4.098 delete mode 100644 7.4.099 delete mode 100644 7.4.100 delete mode 100644 7.4.101 delete mode 100644 7.4.102 delete mode 100644 7.4.103 delete mode 100644 7.4.104 delete mode 100644 7.4.105 delete mode 100644 7.4.106 delete mode 100644 7.4.107 delete mode 100644 7.4.108 delete mode 100644 7.4.109 delete mode 100644 7.4.110 delete mode 100644 7.4.111 delete mode 100644 7.4.112 delete mode 100644 7.4.113 delete mode 100644 7.4.114 delete mode 100644 7.4.115 delete mode 100644 7.4.116 delete mode 100644 7.4.117 delete mode 100644 7.4.118 delete mode 100644 7.4.119 delete mode 100644 7.4.120 delete mode 100644 7.4.121 delete mode 100644 7.4.122 delete mode 100644 7.4.123 delete mode 100644 7.4.124 delete mode 100644 7.4.125 delete mode 100644 7.4.126 delete mode 100644 7.4.127 delete mode 100644 7.4.128 delete mode 100644 7.4.129 delete mode 100644 7.4.130 delete mode 100644 7.4.131 delete mode 100644 7.4.132 delete mode 100644 7.4.133 delete mode 100644 7.4.134 delete mode 100644 7.4.135 delete mode 100644 7.4.136 delete mode 100644 7.4.137 delete mode 100644 7.4.138 delete mode 100644 7.4.139 delete mode 100644 7.4.140 delete mode 100644 7.4.141 delete mode 100644 7.4.142 delete mode 100644 7.4.143 delete mode 100644 7.4.144 delete mode 100644 7.4.145 delete mode 100644 7.4.146 delete mode 100644 7.4.147 delete mode 100644 7.4.148 delete mode 100644 7.4.149 delete mode 100644 7.4.150 delete mode 100644 7.4.151 delete mode 100644 7.4.152 delete mode 100644 7.4.153 delete mode 100644 7.4.154 delete mode 100644 7.4.155 delete mode 100644 7.4.156 delete mode 100644 7.4.157 delete mode 100644 7.4.158 delete mode 100644 7.4.159 delete mode 100644 7.4.160 delete mode 100644 7.4.161 delete mode 100644 7.4.162 delete mode 100644 7.4.163 delete mode 100644 7.4.164 delete mode 100644 7.4.165 delete mode 100644 7.4.166 delete mode 100644 7.4.167 delete mode 100644 7.4.168 delete mode 100644 7.4.169 delete mode 100644 7.4.170 delete mode 100644 7.4.171 delete mode 100644 7.4.172 delete mode 100644 7.4.173 delete mode 100644 7.4.174 delete mode 100644 7.4.175 delete mode 100644 7.4.176 delete mode 100644 7.4.177 delete mode 100644 7.4.178 delete mode 100644 7.4.179 delete mode 100644 7.4.180 delete mode 100644 7.4.181 delete mode 100644 7.4.182 delete mode 100644 7.4.183 delete mode 100644 7.4.184 delete mode 100644 7.4.185 delete mode 100644 7.4.186 delete mode 100644 7.4.187 delete mode 100644 7.4.188 delete mode 100644 7.4.189 delete mode 100644 7.4.190 delete mode 100644 7.4.191 delete mode 100644 7.4.192 delete mode 100644 7.4.193 delete mode 100644 7.4.194 delete mode 100644 7.4.195 delete mode 100644 7.4.196 delete mode 100644 7.4.197 delete mode 100644 7.4.198 delete mode 100644 7.4.199 delete mode 100644 7.4.200 delete mode 100644 7.4.201 delete mode 100644 7.4.202 delete mode 100644 7.4.203 delete mode 100644 7.4.204 delete mode 100644 7.4.205 delete mode 100644 7.4.206 delete mode 100644 7.4.207 delete mode 100644 7.4.208 delete mode 100644 7.4.209 delete mode 100644 7.4.210 delete mode 100644 7.4.211 delete mode 100644 7.4.212 delete mode 100644 7.4.213 delete mode 100644 7.4.214 delete mode 100644 7.4.215 delete mode 100644 7.4.216 delete mode 100644 7.4.217 delete mode 100644 7.4.218 delete mode 100644 7.4.219 delete mode 100644 7.4.220 delete mode 100644 7.4.221 delete mode 100644 7.4.222 delete mode 100644 7.4.223 delete mode 100644 7.4.224 delete mode 100644 7.4.225 delete mode 100644 7.4.226 delete mode 100644 7.4.227 delete mode 100644 7.4.228 delete mode 100644 7.4.229 delete mode 100644 7.4.230 delete mode 100644 7.4.231 delete mode 100644 7.4.232 delete mode 100644 7.4.233 delete mode 100644 7.4.234 delete mode 100644 7.4.235 delete mode 100644 7.4.236 delete mode 100644 7.4.237 delete mode 100644 7.4.238 delete mode 100644 7.4.239 delete mode 100644 7.4.240 delete mode 100644 7.4.241 delete mode 100644 7.4.242 delete mode 100644 7.4.243 delete mode 100644 7.4.244 delete mode 100644 7.4.245 delete mode 100644 7.4.246 delete mode 100644 7.4.247 delete mode 100644 7.4.248 delete mode 100644 7.4.249 delete mode 100644 7.4.250 delete mode 100644 7.4.251 delete mode 100644 7.4.252 delete mode 100644 7.4.253 delete mode 100644 7.4.254 delete mode 100644 7.4.255 delete mode 100644 7.4.256 delete mode 100644 7.4.257 delete mode 100644 7.4.258 delete mode 100644 7.4.259 delete mode 100644 7.4.260 delete mode 100644 7.4.261 delete mode 100644 7.4.262 delete mode 100644 7.4.263 delete mode 100644 7.4.264 delete mode 100644 7.4.265 delete mode 100644 7.4.266 delete mode 100644 7.4.267 delete mode 100644 7.4.268 delete mode 100644 7.4.269 delete mode 100644 7.4.270 delete mode 100644 7.4.271 delete mode 100644 7.4.272 delete mode 100644 7.4.273 delete mode 100644 7.4.274 delete mode 100644 7.4.275 delete mode 100644 7.4.276 delete mode 100644 7.4.277 delete mode 100644 7.4.278 delete mode 100644 7.4.279 delete mode 100644 7.4.280 delete mode 100644 7.4.281 delete mode 100644 7.4.282 delete mode 100644 7.4.283 delete mode 100644 7.4.284 delete mode 100644 7.4.285 delete mode 100644 7.4.286 delete mode 100644 7.4.287 delete mode 100644 7.4.288 delete mode 100644 7.4.289 delete mode 100644 7.4.290 delete mode 100644 7.4.291 delete mode 100644 7.4.292 delete mode 100644 7.4.293 delete mode 100644 7.4.294 delete mode 100644 7.4.295 delete mode 100644 7.4.296 delete mode 100644 7.4.297 delete mode 100644 7.4.298 delete mode 100644 7.4.299 delete mode 100644 7.4.300 delete mode 100644 7.4.301 delete mode 100644 7.4.302 delete mode 100644 7.4.303 delete mode 100644 7.4.304 delete mode 100644 7.4.305 delete mode 100644 7.4.306 delete mode 100644 7.4.307 delete mode 100644 7.4.308 delete mode 100644 7.4.309 delete mode 100644 7.4.310 delete mode 100644 7.4.311 delete mode 100644 7.4.312 delete mode 100644 7.4.313 delete mode 100644 7.4.314 delete mode 100644 7.4.315 delete mode 100644 7.4.316 delete mode 100644 7.4.317 delete mode 100644 7.4.318 delete mode 100644 7.4.319 delete mode 100644 7.4.320 delete mode 100644 7.4.321 delete mode 100644 7.4.322 delete mode 100644 7.4.323 delete mode 100644 7.4.324 delete mode 100644 7.4.325 delete mode 100644 7.4.326 delete mode 100644 7.4.327 delete mode 100644 7.4.328 delete mode 100644 7.4.329 delete mode 100644 7.4.330 delete mode 100644 7.4.331 delete mode 100644 7.4.332 delete mode 100644 7.4.333 delete mode 100644 7.4.334 delete mode 100644 7.4.335 delete mode 100644 7.4.336 delete mode 100644 7.4.337 delete mode 100644 7.4.338 delete mode 100644 7.4.339 delete mode 100644 7.4.340 delete mode 100644 7.4.341 delete mode 100644 7.4.342 delete mode 100644 7.4.343 delete mode 100644 7.4.344 delete mode 100644 7.4.345 delete mode 100644 7.4.346 delete mode 100644 7.4.347 delete mode 100644 7.4.348 delete mode 100644 7.4.349 delete mode 100644 7.4.350 delete mode 100644 7.4.351 delete mode 100644 7.4.352 delete mode 100644 7.4.353 delete mode 100644 7.4.354 delete mode 100644 7.4.355 delete mode 100644 7.4.356 delete mode 100644 7.4.357 delete mode 100644 7.4.358 delete mode 100644 7.4.359 delete mode 100644 7.4.360 delete mode 100644 7.4.361 delete mode 100644 7.4.362 delete mode 100644 7.4.363 delete mode 100644 7.4.364 delete mode 100644 7.4.365 delete mode 100644 7.4.366 delete mode 100644 7.4.367 delete mode 100644 7.4.368 delete mode 100644 7.4.369 delete mode 100644 7.4.370 delete mode 100644 7.4.371 delete mode 100644 7.4.372 delete mode 100644 7.4.373 delete mode 100644 7.4.374 delete mode 100644 7.4.375 delete mode 100644 7.4.376 delete mode 100644 7.4.377 delete mode 100644 7.4.378 delete mode 100644 7.4.379 delete mode 100644 7.4.380 delete mode 100644 7.4.381 delete mode 100644 7.4.382 delete mode 100644 7.4.383 delete mode 100644 7.4.384 delete mode 100644 7.4.385 delete mode 100644 7.4.386 delete mode 100644 7.4.387 delete mode 100644 7.4.388 delete mode 100644 7.4.389 delete mode 100644 7.4.390 delete mode 100644 7.4.391 delete mode 100644 7.4.392 delete mode 100644 7.4.393 delete mode 100644 7.4.394 delete mode 100644 7.4.395 delete mode 100644 7.4.396 delete mode 100644 7.4.397 delete mode 100644 7.4.398 delete mode 100644 7.4.399 delete mode 100644 7.4.400 delete mode 100644 7.4.401 delete mode 100644 7.4.402 delete mode 100644 7.4.403 delete mode 100644 7.4.404 delete mode 100644 7.4.405 delete mode 100644 7.4.406 delete mode 100644 7.4.407 delete mode 100644 7.4.408 delete mode 100644 7.4.409 delete mode 100644 7.4.410 delete mode 100644 7.4.411 delete mode 100644 7.4.412 delete mode 100644 7.4.413 delete mode 100644 7.4.414 delete mode 100644 7.4.415 delete mode 100644 7.4.416 delete mode 100644 7.4.417 delete mode 100644 7.4.418 delete mode 100644 7.4.419 delete mode 100644 7.4.420 delete mode 100644 7.4.421 delete mode 100644 7.4.422 delete mode 100644 7.4.423 delete mode 100644 7.4.424 delete mode 100644 7.4.425 delete mode 100644 7.4.426 delete mode 100644 7.4.427 delete mode 100644 7.4.428 delete mode 100644 7.4.429 delete mode 100644 7.4.430 delete mode 100644 7.4.431 delete mode 100644 7.4.432 delete mode 100644 7.4.433 delete mode 100644 7.4.434 delete mode 100644 7.4.435 delete mode 100644 7.4.436 delete mode 100644 7.4.437 delete mode 100644 7.4.438 delete mode 100644 7.4.439 delete mode 100644 7.4.440 delete mode 100644 7.4.441 delete mode 100644 7.4.442 delete mode 100644 7.4.443 delete mode 100644 7.4.444 delete mode 100644 7.4.445 delete mode 100644 7.4.446 delete mode 100644 7.4.447 delete mode 100644 7.4.448 delete mode 100644 7.4.449 delete mode 100644 7.4.450 delete mode 100644 7.4.451 delete mode 100644 7.4.452 delete mode 100644 7.4.453 delete mode 100644 7.4.454 delete mode 100644 7.4.455 delete mode 100644 7.4.456 delete mode 100644 7.4.457 delete mode 100644 7.4.458 delete mode 100644 7.4.459 delete mode 100644 7.4.460 delete mode 100644 7.4.461 delete mode 100644 7.4.462 delete mode 100644 7.4.463 delete mode 100644 7.4.464 delete mode 100644 7.4.465 delete mode 100644 7.4.466 delete mode 100644 7.4.467 delete mode 100644 7.4.468 delete mode 100644 7.4.469 delete mode 100644 7.4.470 delete mode 100644 7.4.471 delete mode 100644 7.4.472 delete mode 100644 7.4.473 delete mode 100644 7.4.474 delete mode 100644 7.4.475 delete mode 100644 7.4.476 delete mode 100644 7.4.477 delete mode 100644 7.4.478 delete mode 100644 7.4.479 delete mode 100644 7.4.480 delete mode 100644 7.4.481 delete mode 100644 7.4.482 delete mode 100644 7.4.483 delete mode 100644 7.4.484 delete mode 100644 7.4.485 delete mode 100644 7.4.486 delete mode 100644 7.4.487 delete mode 100644 7.4.488 delete mode 100644 7.4.489 delete mode 100644 7.4.490 delete mode 100644 7.4.491 delete mode 100644 7.4.492 delete mode 100644 7.4.493 delete mode 100644 7.4.494 delete mode 100644 7.4.495 delete mode 100644 7.4.496 delete mode 100644 7.4.497 delete mode 100644 7.4.498 delete mode 100644 7.4.499 delete mode 100644 7.4.500 delete mode 100644 7.4.501 delete mode 100644 7.4.502 delete mode 100644 7.4.503 delete mode 100644 7.4.504 delete mode 100644 7.4.505 delete mode 100644 7.4.506 delete mode 100644 7.4.507 delete mode 100644 7.4.508 delete mode 100644 7.4.509 delete mode 100644 7.4.510 delete mode 100644 7.4.511 delete mode 100644 7.4.512 delete mode 100644 7.4.513 delete mode 100644 7.4.514 delete mode 100644 7.4.515 delete mode 100644 7.4.516 delete mode 100644 7.4.517 delete mode 100644 7.4.518 delete mode 100644 7.4.519 delete mode 100644 7.4.520 delete mode 100644 7.4.521 delete mode 100644 7.4.522 delete mode 100644 7.4.523 delete mode 100644 7.4.524 delete mode 100644 7.4.525 delete mode 100644 7.4.526 delete mode 100644 7.4.527 delete mode 100644 7.4.528 delete mode 100644 7.4.529 delete mode 100644 7.4.530 delete mode 100644 7.4.531 delete mode 100644 7.4.532 delete mode 100644 7.4.533 delete mode 100644 7.4.534 delete mode 100644 7.4.535 delete mode 100644 7.4.536 delete mode 100644 7.4.537 delete mode 100644 7.4.538 delete mode 100644 7.4.539 delete mode 100644 7.4.540 delete mode 100644 7.4.541 delete mode 100644 7.4.542 delete mode 100644 7.4.543 delete mode 100644 7.4.544 delete mode 100644 7.4.545 delete mode 100644 7.4.546 delete mode 100644 7.4.547 delete mode 100644 7.4.548 delete mode 100644 7.4.549 delete mode 100644 7.4.550 delete mode 100644 7.4.551 delete mode 100644 7.4.552 delete mode 100644 7.4.553 delete mode 100644 7.4.554 delete mode 100644 7.4.555 delete mode 100644 7.4.556 delete mode 100644 7.4.557 delete mode 100644 7.4.558 delete mode 100644 7.4.559 delete mode 100644 7.4.559.rhpatched delete mode 100644 7.4.560 delete mode 100644 7.4.561 delete mode 100644 7.4.562 delete mode 100644 7.4.563 delete mode 100644 7.4.564 delete mode 100644 7.4.565 delete mode 100644 7.4.566 delete mode 100644 7.4.567 delete mode 100644 7.4.568 delete mode 100644 7.4.569 delete mode 100644 7.4.570 delete mode 100644 7.4.571 delete mode 100644 7.4.572 delete mode 100644 7.4.573 delete mode 100644 7.4.574 delete mode 100644 7.4.575 delete mode 100644 7.4.576 delete mode 100644 7.4.577 delete mode 100644 7.4.578 delete mode 100644 7.4.579 delete mode 100644 7.4.580 delete mode 100644 7.4.581 delete mode 100644 7.4.582 delete mode 100644 7.4.583 delete mode 100644 7.4.584 delete mode 100644 7.4.585 delete mode 100644 7.4.586 delete mode 100644 7.4.587 delete mode 100644 7.4.588 delete mode 100644 7.4.589 delete mode 100644 7.4.590 delete mode 100644 7.4.591 delete mode 100644 7.4.592 delete mode 100644 7.4.593 delete mode 100644 7.4.594 delete mode 100644 7.4.595 delete mode 100644 7.4.596 delete mode 100644 7.4.597 delete mode 100644 7.4.598 delete mode 100644 7.4.599 delete mode 100644 7.4.600 delete mode 100644 7.4.601 delete mode 100644 7.4.602 delete mode 100644 7.4.603 delete mode 100644 7.4.604 delete mode 100644 7.4.605 delete mode 100644 7.4.606 delete mode 100644 7.4.607 delete mode 100644 7.4.608 delete mode 100644 7.4.609 delete mode 100644 7.4.610 delete mode 100644 7.4.611 delete mode 100644 7.4.612 delete mode 100644 7.4.613 delete mode 100644 7.4.614 delete mode 100644 7.4.615 delete mode 100644 7.4.616 delete mode 100644 7.4.617 delete mode 100644 7.4.618 delete mode 100644 7.4.619 delete mode 100644 7.4.620 delete mode 100644 7.4.621 delete mode 100644 7.4.622 delete mode 100644 7.4.623 delete mode 100644 7.4.624 delete mode 100644 7.4.625 delete mode 100644 7.4.626 delete mode 100644 7.4.627 delete mode 100644 7.4.628 delete mode 100644 7.4.629 delete mode 100644 7.4.630 delete mode 100644 7.4.631 delete mode 100644 7.4.632 delete mode 100644 7.4.633 delete mode 100644 7.4.634 delete mode 100644 7.4.635 delete mode 100644 7.4.636 delete mode 100644 7.4.637 delete mode 100644 7.4.638 delete mode 100644 7.4.639 delete mode 100644 7.4.640 delete mode 100644 7.4.641 delete mode 100644 7.4.642 delete mode 100644 7.4.643 delete mode 100644 7.4.644 delete mode 100644 7.4.645 delete mode 100644 7.4.646 delete mode 100644 7.4.647 delete mode 100644 7.4.648 delete mode 100644 7.4.649 delete mode 100644 7.4.650 delete mode 100644 7.4.651 delete mode 100644 7.4.652 delete mode 100644 7.4.653 delete mode 100644 7.4.654 delete mode 100644 7.4.655 delete mode 100644 7.4.656 delete mode 100644 7.4.657 delete mode 100644 7.4.658 delete mode 100644 7.4.659 delete mode 100644 7.4.660 delete mode 100644 7.4.661 delete mode 100644 7.4.662 delete mode 100644 7.4.663 delete mode 100644 7.4.664 delete mode 100644 7.4.665 delete mode 100644 7.4.666 delete mode 100644 7.4.667 delete mode 100644 7.4.668 delete mode 100644 7.4.669 delete mode 100644 7.4.670 delete mode 100644 7.4.671 delete mode 100644 7.4.672 delete mode 100644 7.4.673 delete mode 100644 7.4.674 delete mode 100644 7.4.675 delete mode 100644 7.4.676 delete mode 100644 7.4.677 delete mode 100644 7.4.678 delete mode 100644 7.4.679 delete mode 100644 7.4.680 delete mode 100644 7.4.681 delete mode 100644 7.4.682 delete mode 100644 7.4.683 delete mode 100644 7.4.684 delete mode 100644 7.4.685 delete mode 100644 7.4.686 delete mode 100644 7.4.687 delete mode 100644 7.4.688 delete mode 100644 7.4.689 delete mode 100644 7.4.690 delete mode 100644 7.4.691 delete mode 100644 7.4.692 delete mode 100644 7.4.693 delete mode 100644 7.4.694 delete mode 100644 7.4.695 delete mode 100644 7.4.696 delete mode 100644 7.4.697 delete mode 100644 7.4.698 delete mode 100644 7.4.699 delete mode 100644 7.4.700 delete mode 100644 7.4.701 delete mode 100644 7.4.702 delete mode 100644 7.4.703 delete mode 100644 7.4.704 delete mode 100644 7.4.705 delete mode 100644 7.4.706 delete mode 100644 7.4.707 delete mode 100644 7.4.708 delete mode 100644 7.4.709 delete mode 100644 7.4.710 delete mode 100644 7.4.711 delete mode 100644 7.4.712 delete mode 100644 7.4.713 delete mode 100644 7.4.714 delete mode 100644 7.4.715 delete mode 100644 7.4.716 delete mode 100644 7.4.717 delete mode 100644 7.4.718 delete mode 100644 7.4.719 delete mode 100644 7.4.720 delete mode 100644 7.4.721 delete mode 100644 7.4.722 delete mode 100644 7.4.723 delete mode 100644 7.4.724 delete mode 100644 7.4.725 delete mode 100644 7.4.726 delete mode 100644 7.4.727 delete mode 100644 7.4.728 delete mode 100644 7.4.729 delete mode 100644 7.4.730 delete mode 100644 7.4.731 delete mode 100644 7.4.732 delete mode 100644 7.4.733 delete mode 100644 7.4.734 delete mode 100644 7.4.735 delete mode 100644 7.4.736 delete mode 100644 7.4.737 delete mode 100644 7.4.738 delete mode 100644 7.4.739 delete mode 100644 7.4.740 delete mode 100644 7.4.741 delete mode 100644 7.4.742 delete mode 100644 7.4.743 delete mode 100644 7.4.744 delete mode 100644 7.4.745 delete mode 100644 7.4.746 delete mode 100644 7.4.747 delete mode 100644 7.4.748 delete mode 100644 7.4.749 delete mode 100644 7.4.750 delete mode 100644 7.4.751 delete mode 100644 7.4.752 delete mode 100644 7.4.753 delete mode 100644 7.4.754 delete mode 100644 7.4.755 delete mode 100644 7.4.756 delete mode 100644 7.4.757 delete mode 100644 7.4.758 delete mode 100644 7.4.759 delete mode 100644 7.4.760 delete mode 100644 7.4.761 delete mode 100644 7.4.762 delete mode 100644 7.4.763 delete mode 100644 7.4.764 delete mode 100644 7.4.765 delete mode 100644 7.4.766 delete mode 100644 7.4.767 delete mode 100644 7.4.768 delete mode 100644 7.4.769 delete mode 100644 7.4.770 delete mode 100644 7.4.771 delete mode 100644 7.4.772 delete mode 100644 7.4.773 delete mode 100644 7.4.774 delete mode 100644 7.4.775 delete mode 100644 7.4.776 delete mode 100644 7.4.777 delete mode 100644 7.4.778 delete mode 100644 7.4.779 delete mode 100644 7.4.780 delete mode 100644 7.4.781 delete mode 100644 7.4.782 delete mode 100644 7.4.783 delete mode 100644 7.4.784 delete mode 100644 7.4.785 delete mode 100644 7.4.786 delete mode 100644 7.4.787 delete mode 100644 7.4.788 delete mode 100644 7.4.789 delete mode 100644 7.4.790 delete mode 100644 7.4.791 delete mode 100644 7.4.792 delete mode 100644 7.4.793 delete mode 100644 7.4.794 delete mode 100644 7.4.795 delete mode 100644 7.4.796 delete mode 100644 7.4.797 delete mode 100644 7.4.798 delete mode 100644 7.4.799 delete mode 100644 7.4.800 delete mode 100644 7.4.801 delete mode 100644 7.4.802 delete mode 100644 7.4.803 delete mode 100644 7.4.804 delete mode 100644 7.4.805 delete mode 100644 7.4.806 delete mode 100644 7.4.807 delete mode 100644 7.4.808 delete mode 100644 7.4.809 delete mode 100644 7.4.810 delete mode 100644 7.4.811 delete mode 100644 7.4.812 delete mode 100644 7.4.813 delete mode 100644 7.4.814 delete mode 100644 7.4.815 delete mode 100644 7.4.816 delete mode 100644 7.4.817 delete mode 100644 7.4.818 delete mode 100644 7.4.819 delete mode 100644 7.4.820 delete mode 100644 7.4.821 delete mode 100644 7.4.822 delete mode 100644 7.4.823 delete mode 100644 7.4.824 delete mode 100644 7.4.825 delete mode 100644 7.4.826 delete mode 100644 7.4.827 delete mode 100644 7.4.828 delete mode 100644 7.4.829 delete mode 100644 7.4.830 delete mode 100644 7.4.831 delete mode 100644 7.4.832 delete mode 100644 7.4.833 delete mode 100644 7.4.834 delete mode 100644 7.4.835 delete mode 100644 7.4.836 delete mode 100644 7.4.837 delete mode 100644 7.4.838 delete mode 100644 7.4.839 delete mode 100644 7.4.840 delete mode 100644 7.4.841 delete mode 100644 7.4.842 delete mode 100644 7.4.843 delete mode 100644 7.4.844 delete mode 100644 7.4.845 delete mode 100644 7.4.846 delete mode 100644 7.4.847 delete mode 100644 7.4.848 delete mode 100644 7.4.849 delete mode 100644 7.4.850 delete mode 100644 7.4.851 delete mode 100644 7.4.852 delete mode 100644 7.4.853 delete mode 100644 7.4.854 delete mode 100644 7.4.855 delete mode 100644 7.4.856 delete mode 100644 7.4.857 delete mode 100644 7.4.858 delete mode 100644 7.4.859 delete mode 100644 7.4.860 delete mode 100644 7.4.861 delete mode 100644 7.4.862 delete mode 100644 7.4.863 delete mode 100644 7.4.864 delete mode 100644 7.4.865 delete mode 100644 7.4.866 delete mode 100644 7.4.867 delete mode 100644 7.4.868 delete mode 100644 7.4.869 delete mode 100644 7.4.870 delete mode 100644 7.4.871 delete mode 100644 7.4.872 delete mode 100644 7.4.873 delete mode 100644 7.4.874 delete mode 100644 7.4.875 delete mode 100644 7.4.876 delete mode 100644 7.4.877 delete mode 100644 7.4.878 delete mode 100644 7.4.879 delete mode 100644 7.4.880 delete mode 100644 7.4.881 delete mode 100644 7.4.882 delete mode 100644 7.4.883 delete mode 100644 7.4.884 delete mode 100644 7.4.885 delete mode 100644 7.4.886 delete mode 100644 7.4.887 delete mode 100644 7.4.888 delete mode 100644 7.4.889 delete mode 100644 7.4.890 delete mode 100644 7.4.891 delete mode 100644 7.4.892 delete mode 100644 7.4.893 delete mode 100644 7.4.894 delete mode 100644 7.4.895 delete mode 100644 7.4.896 delete mode 100644 7.4.897 delete mode 100644 7.4.898 diff --git a/7.4.001 b/7.4.001 deleted file mode 100644 index 5788972a..00000000 --- a/7.4.001 +++ /dev/null @@ -1,489 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.001 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.001 -Problem: Character classes such as [a-z] to not react to 'ignorecase'. - Breaks man page highlighting. (Mario Grgic) -Solution: Add separate items for classes that react to 'ignorecase'. Clean - up logic handling character classes. Add more tests. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.000/src/regexp_nfa.c 2013-08-01 18:27:51.000000000 +0200 ---- src/regexp_nfa.c 2013-08-14 11:49:50.000000000 +0200 -*************** -*** 29,34 **** ---- 29,37 ---- - # define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log" - #endif - -+ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */ -+ #define NFA_ADD_NL 31 -+ - enum - { - NFA_SPLIT = -1024, -*************** -*** 183,188 **** ---- 186,198 ---- - NFA_NLOWER, /* Match non-lowercase char */ - NFA_UPPER, /* Match uppercase char */ - NFA_NUPPER, /* Match non-uppercase char */ -+ NFA_LOWER_IC, /* Match [a-z] */ -+ NFA_NLOWER_IC, /* Match [^a-z] */ -+ NFA_UPPER_IC, /* Match [A-Z] */ -+ NFA_NUPPER_IC, /* Match [^A-Z] */ -+ -+ NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL, -+ NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL, - - NFA_CURSOR, /* Match cursor pos */ - NFA_LNUM, /* Match line number */ -*************** -*** 199,207 **** - NFA_MARK_LT, /* Match < mark */ - NFA_VISUAL, /* Match Visual area */ - -- NFA_FIRST_NL = NFA_ANY + ADD_NL, -- NFA_LAST_NL = NFA_NUPPER + ADD_NL, -- - /* Character classes [:alnum:] etc */ - NFA_CLASS_ALNUM, - NFA_CLASS_ALPHA, ---- 209,214 ---- -*************** -*** 578,583 **** ---- 585,592 ---- - * On failure, return 0 (=FAIL) - * Start points to the first char of the range, while end should point - * to the closing brace. -+ * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may -+ * need to be interpreted as [a-zA-Z]. - */ - static int - nfa_recognize_char_class(start, end, extra_newl) -*************** -*** 681,687 **** - return FAIL; - - if (newl == TRUE) -! extra_newl = ADD_NL; - - switch (config) - { ---- 690,696 ---- - return FAIL; - - if (newl == TRUE) -! extra_newl = NFA_ADD_NL; - - switch (config) - { -*************** -*** 710,722 **** - case CLASS_not | CLASS_az | CLASS_AZ: - return extra_newl + NFA_NALPHA; - case CLASS_az: -! return extra_newl + NFA_LOWER; - case CLASS_not | CLASS_az: -! return extra_newl + NFA_NLOWER; - case CLASS_AZ: -! return extra_newl + NFA_UPPER; - case CLASS_not | CLASS_AZ: -! return extra_newl + NFA_NUPPER; - } - return FAIL; - } ---- 719,731 ---- - case CLASS_not | CLASS_az | CLASS_AZ: - return extra_newl + NFA_NALPHA; - case CLASS_az: -! return extra_newl + NFA_LOWER_IC; - case CLASS_not | CLASS_az: -! return extra_newl + NFA_NLOWER_IC; - case CLASS_AZ: -! return extra_newl + NFA_UPPER_IC; - case CLASS_not | CLASS_AZ: -! return extra_newl + NFA_NUPPER_IC; - } - return FAIL; - } -*************** -*** 914,920 **** - break; - } - -! extra = ADD_NL; - - /* "\_[" is collection plus newline */ - if (c == '[') ---- 923,929 ---- - break; - } - -! extra = NFA_ADD_NL; - - /* "\_[" is collection plus newline */ - if (c == '[') -*************** -*** 970,976 **** - } - #endif - EMIT(nfa_classcodes[p - classchars]); -! if (extra == ADD_NL) - { - EMIT(NFA_NEWL); - EMIT(NFA_OR); ---- 979,985 ---- - } - #endif - EMIT(nfa_classcodes[p - classchars]); -! if (extra == NFA_ADD_NL) - { - EMIT(NFA_NEWL); - EMIT(NFA_OR); -*************** -*** 1240,1260 **** - { - /* - * Try to reverse engineer character classes. For example, -! * recognize that [0-9] stands for \d and [A-Za-z_] with \h, - * and perform the necessary substitutions in the NFA. - */ - result = nfa_recognize_char_class(regparse, endp, -! extra == ADD_NL); - if (result != FAIL) - { -! if (result >= NFA_DIGIT && result <= NFA_NUPPER) -! EMIT(result); -! else /* must be char class + newline */ - { -! EMIT(result - ADD_NL); - EMIT(NFA_NEWL); - EMIT(NFA_OR); - } - regparse = endp; - mb_ptr_adv(regparse); - return OK; ---- 1249,1269 ---- - { - /* - * Try to reverse engineer character classes. For example, -! * recognize that [0-9] stands for \d and [A-Za-z_] for \h, - * and perform the necessary substitutions in the NFA. - */ - result = nfa_recognize_char_class(regparse, endp, -! extra == NFA_ADD_NL); - if (result != FAIL) - { -! if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL) - { -! EMIT(result - NFA_ADD_NL); - EMIT(NFA_NEWL); - EMIT(NFA_OR); - } -+ else -+ EMIT(result); - regparse = endp; - mb_ptr_adv(regparse); - return OK; -*************** -*** 1504,1510 **** - * collection, add an OR below. But not for negated - * range. */ - if (!negated) -! extra = ADD_NL; - } - else - { ---- 1513,1519 ---- - * collection, add an OR below. But not for negated - * range. */ - if (!negated) -! extra = NFA_ADD_NL; - } - else - { -*************** -*** 1537,1543 **** - EMIT(NFA_END_COLL); - - /* \_[] also matches \n but it's not negated */ -! if (extra == ADD_NL) - { - EMIT(reg_string ? NL : NFA_NEWL); - EMIT(NFA_OR); ---- 1546,1552 ---- - EMIT(NFA_END_COLL); - - /* \_[] also matches \n but it's not negated */ -! if (extra == NFA_ADD_NL) - { - EMIT(reg_string ? NL : NFA_NEWL); - EMIT(NFA_OR); -*************** -*** 2011,2017 **** - if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL) - { - addnl = TRUE; -! c -= ADD_NL; - } - - STRCPY(code, ""); ---- 2020,2026 ---- - if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL) - { - addnl = TRUE; -! c -= NFA_ADD_NL; - } - - STRCPY(code, ""); -*************** -*** 2217,2222 **** ---- 2226,2235 ---- - case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break; - case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break; - case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break; -+ case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break; -+ case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break; -+ case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break; -+ case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break; - - default: - STRCPY(code, "CHAR(x)"); -*************** -*** 2687,2692 **** ---- 2700,2709 ---- - case NFA_NLOWER: - case NFA_UPPER: - case NFA_NUPPER: -+ case NFA_LOWER_IC: -+ case NFA_NLOWER_IC: -+ case NFA_UPPER_IC: -+ case NFA_NUPPER_IC: - /* possibly non-ascii */ - #ifdef FEAT_MBYTE - if (has_mbyte) -*************** -*** 3841,3846 **** ---- 3858,3867 ---- - case NFA_NLOWER: - case NFA_UPPER: - case NFA_NUPPER: -+ case NFA_LOWER_IC: -+ case NFA_NLOWER_IC: -+ case NFA_UPPER_IC: -+ case NFA_NUPPER_IC: - case NFA_START_COLL: - case NFA_START_NEG_COLL: - case NFA_NEWL: -*************** -*** 5872,5877 **** ---- 5893,5920 ---- - ADD_STATE_IF_MATCH(t->state); - break; - -+ case NFA_LOWER_IC: /* [a-z] */ -+ result = ri_lower(curc) || (ireg_ic && ri_upper(curc)); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ -+ case NFA_NLOWER_IC: /* [^a-z] */ -+ result = curc != NUL -+ && !(ri_lower(curc) || (ireg_ic && ri_upper(curc))); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ -+ case NFA_UPPER_IC: /* [A-Z] */ -+ result = ri_upper(curc) || (ireg_ic && ri_lower(curc)); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ -+ case NFA_NUPPER_IC: /* ^[A-Z] */ -+ result = curc != NUL -+ && !(ri_upper(curc) || (ireg_ic && ri_lower(curc))); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ - case NFA_BACKREF1: - case NFA_BACKREF2: - case NFA_BACKREF3: -*** ../vim-7.4.000/src/testdir/test64.in 2013-08-01 17:45:33.000000000 +0200 ---- src/testdir/test64.in 2013-08-14 11:50:11.000000000 +0200 -*************** -*** 289,303 **** - :call add(tl, [2, '.a\%$', " a\n "]) - :call add(tl, [2, '.a\%$', " a\n_a", "_a"]) - :" -! :"""" Test recognition of some character classes -! :call add(tl, [2, '[0-9]', '8', '8']) -! :call add(tl, [2, '[^0-9]', '8']) -! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7']) -! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7']) -! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij']) -! :call add(tl, [2, '[a-z]', 'a', 'a']) -! :call add(tl, [2, '[a-zA-Z]', 'a', 'a']) -! :call add(tl, [2, '[A-Z]', 'a']) - :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) - :" - :"""" Tests for \z features ---- 289,317 ---- - :call add(tl, [2, '.a\%$', " a\n "]) - :call add(tl, [2, '.a\%$', " a\n_a", "_a"]) - :" -! :"""" Test recognition of character classes -! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567']) -! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89']) -! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789']) -! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% ']) -! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef']) -! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% ']) -! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij']) -! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% ']) -! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ']) -! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% ']) -! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz']) -! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz']) -! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% ']) -! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%']) -! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ']) -! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ ']) -! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ']) -! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%']) -! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ']) -! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ']) -! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ ']) -! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ ']) - :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) - :" - :"""" Tests for \z features -*** ../vim-7.4.000/src/testdir/test64.ok 2013-08-01 18:28:56.000000000 +0200 ---- src/testdir/test64.ok 2013-08-14 11:50:37.000000000 +0200 -*************** -*** 650,679 **** - OK 0 - .a\%$ - OK 1 - .a\%$ - OK 2 - .a\%$ -! OK 0 - [0-9] -! OK 1 - [0-9] -! OK 2 - [0-9] -! OK 0 - [^0-9] -! OK 1 - [^0-9] -! OK 2 - [^0-9] -! OK 0 - [0-9a-fA-F]* -! OK 1 - [0-9a-fA-F]* -! OK 2 - [0-9a-fA-F]* - OK 0 - [^0-9A-Fa-f]\+ - OK 1 - [^0-9A-Fa-f]\+ - OK 2 - [^0-9A-Fa-f]\+ - OK 0 - [a-z_A-Z0-9]\+ - OK 1 - [a-z_A-Z0-9]\+ - OK 2 - [a-z_A-Z0-9]\+ -! OK 0 - [a-z] -! OK 1 - [a-z] -! OK 2 - [a-z] -! OK 0 - [a-zA-Z] -! OK 1 - [a-zA-Z] -! OK 2 - [a-zA-Z] -! OK 0 - [A-Z] -! OK 1 - [A-Z] -! OK 2 - [A-Z] - OK 0 - \C[^A-Z]\+ - OK 1 - \C[^A-Z]\+ - OK 2 - \C[^A-Z]\+ ---- 650,721 ---- - OK 0 - .a\%$ - OK 1 - .a\%$ - OK 2 - .a\%$ -! OK 0 - [0-7]\+ -! OK 1 - [0-7]\+ -! OK 2 - [0-7]\+ -! OK 0 - [^0-7]\+ -! OK 1 - [^0-7]\+ -! OK 2 - [^0-7]\+ -! OK 0 - [0-9]\+ -! OK 1 - [0-9]\+ -! OK 2 - [0-9]\+ -! OK 0 - [^0-9]\+ -! OK 1 - [^0-9]\+ -! OK 2 - [^0-9]\+ -! OK 0 - [0-9a-fA-F]\+ -! OK 1 - [0-9a-fA-F]\+ -! OK 2 - [0-9a-fA-F]\+ - OK 0 - [^0-9A-Fa-f]\+ - OK 1 - [^0-9A-Fa-f]\+ - OK 2 - [^0-9A-Fa-f]\+ - OK 0 - [a-z_A-Z0-9]\+ - OK 1 - [a-z_A-Z0-9]\+ - OK 2 - [a-z_A-Z0-9]\+ -! OK 0 - [^a-z_A-Z0-9]\+ -! OK 1 - [^a-z_A-Z0-9]\+ -! OK 2 - [^a-z_A-Z0-9]\+ -! OK 0 - [a-z_A-Z]\+ -! OK 1 - [a-z_A-Z]\+ -! OK 2 - [a-z_A-Z]\+ -! OK 0 - [^a-z_A-Z]\+ -! OK 1 - [^a-z_A-Z]\+ -! OK 2 - [^a-z_A-Z]\+ -! OK 0 - [a-z]\+ -! OK 1 - [a-z]\+ -! OK 2 - [a-z]\+ -! OK 0 - [a-z]\+ -! OK 1 - [a-z]\+ -! OK 2 - [a-z]\+ -! OK 0 - [^a-z]\+ -! OK 1 - [^a-z]\+ -! OK 2 - [^a-z]\+ -! OK 0 - [^a-z]\+ -! OK 1 - [^a-z]\+ -! OK 2 - [^a-z]\+ -! OK 0 - [a-zA-Z]\+ -! OK 1 - [a-zA-Z]\+ -! OK 2 - [a-zA-Z]\+ -! OK 0 - [^a-zA-Z]\+ -! OK 1 - [^a-zA-Z]\+ -! OK 2 - [^a-zA-Z]\+ -! OK 0 - [A-Z]\+ -! OK 1 - [A-Z]\+ -! OK 2 - [A-Z]\+ -! OK 0 - [^A-Z]\+ -! OK 1 - [^A-Z]\+ -! OK 2 - [^A-Z]\+ -! OK 0 - [a-z]\+\c -! OK 1 - [a-z]\+\c -! OK 2 - [a-z]\+\c -! OK 0 - [A-Z]\+\c -! OK 1 - [A-Z]\+\c -! OK 2 - [A-Z]\+\c -! OK 0 - \c[^a-z]\+ -! OK 1 - \c[^a-z]\+ -! OK 2 - \c[^a-z]\+ -! OK 0 - \c[^A-Z]\+ -! OK 1 - \c[^A-Z]\+ -! OK 2 - \c[^A-Z]\+ - OK 0 - \C[^A-Z]\+ - OK 1 - \C[^A-Z]\+ - OK 2 - \C[^A-Z]\+ -*** ../vim-7.4.000/src/version.c 2013-08-10 13:29:20.000000000 +0200 ---- src/version.c 2013-08-14 11:54:57.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 1, - /**/ - --- -How many light bulbs does it take to change a person? - - /// 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 /// diff --git a/7.4.002 b/7.4.002 deleted file mode 100644 index d92f4de6..00000000 --- a/7.4.002 +++ /dev/null @@ -1,77 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.002 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4b.002 -Problem: Pattern with two alternative look-behind matches does not match. - (Amadeus Demarzi) -Solution: When comparing PIMs also compare their state ID to see if they are - different. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.001/src/regexp_nfa.c 2013-08-14 12:05:54.000000000 +0200 ---- src/regexp_nfa.c 2013-08-14 13:12:09.000000000 +0200 -*************** -*** 3782,3787 **** ---- 3782,3790 ---- - if (two_unused) - /* one is used and two is not: not equal */ - return FALSE; -+ /* compare the state id */ -+ if (one->state->id != two->state->id) -+ return FALSE; - /* compare the position */ - if (REG_MULTI) - return one->end.pos.lnum == two->end.pos.lnum -*** ../vim-7.4.001/src/testdir/test64.in 2013-08-14 12:05:54.000000000 +0200 ---- src/testdir/test64.in 2013-08-14 12:58:38.000000000 +0200 -*************** -*** 421,426 **** ---- 421,429 ---- - :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo']) - :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo']) - :" -+ :" complicated look-behind match -+ :call add(tl, [2, '\(r\@<=\|\w\@ - :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) - :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) -*** ../vim-7.4.001/src/testdir/test64.ok 2013-08-14 12:05:54.000000000 +0200 ---- src/testdir/test64.ok 2013-08-14 13:14:09.000000000 +0200 -*************** -*** 974,979 **** ---- 974,982 ---- - OK 0 - \(foo\)\@<=.* - OK 1 - \(foo\)\@<=.* - OK 2 - \(foo\)\@<=.* -+ OK 0 - \(r\@<=\|\w\@a - OK 1 - \(a*\)\@>a - OK 2 - \(a*\)\@>a -*** ../vim-7.4.001/src/version.c 2013-08-14 12:05:54.000000000 +0200 ---- src/version.c 2013-08-14 13:13:45.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 2, - /**/ - --- -From "know your smileys": - :-)-O Smiling doctor with stethoscope - - /// 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 /// diff --git a/7.4.003 b/7.4.003 deleted file mode 100644 index 9aad3c8c..00000000 --- a/7.4.003 +++ /dev/null @@ -1,100 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.003 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.003 -Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow) -Solution: Refresh stale pointer. (James McCoy) -Files: src/regexp_nfa.c - - -*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200 ---- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200 -*************** -*** 4120,4126 **** - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZOPEN) - { - subidx = state->c - NFA_ZOPEN; - sub = &subs->synt; ---- 4120,4126 ---- - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) - { - subidx = state->c - NFA_ZOPEN; - sub = &subs->synt; -*************** -*** 4189,4194 **** ---- 4189,4201 ---- - } - - subs = addstate(l, state->out, subs, pim, off); -+ /* "subs" may have changed, need to set "sub" again */ -+ #ifdef FEAT_SYN_HL -+ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) -+ sub = &subs->synt; -+ else -+ #endif -+ sub = &subs->norm; - - if (save_in_use == -1) - { -*************** -*** 4237,4243 **** - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZCLOSE) - { - subidx = state->c - NFA_ZCLOSE; - sub = &subs->synt; ---- 4244,4250 ---- - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) - { - subidx = state->c - NFA_ZCLOSE; - sub = &subs->synt; -*************** -*** 4281,4286 **** ---- 4288,4300 ---- - } - - subs = addstate(l, state->out, subs, pim, off); -+ /* "subs" may have changed, need to set "sub" again */ -+ #ifdef FEAT_SYN_HL -+ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) -+ sub = &subs->synt; -+ else -+ #endif -+ sub = &subs->norm; - - if (REG_MULTI) - sub->list.multi[subidx].end = save_lpos; -*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200 ---- src/version.c 2013-08-14 14:03:51.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 3, - /**/ - --- -Where do you want to crash today? - - /// 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 /// diff --git a/7.4.004 b/7.4.004 deleted file mode 100644 index f629d673..00000000 --- a/7.4.004 +++ /dev/null @@ -1,232 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.004 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.004 -Problem: When closing a window fails ":bwipe" may hang. -Solution: Let win_close() return FAIL and break out of the loop. -Files: src/window.c, src/proto/window.pro, src/buffer.c - - -*** ../vim-7.4.003/src/window.c 2013-07-24 17:38:29.000000000 +0200 ---- src/window.c 2013-08-14 16:52:44.000000000 +0200 -*************** -*** 2172,2179 **** - * If "free_buf" is TRUE related buffer may be unloaded. - * - * Called by :quit, :close, :xit, :wq and findtag(). - */ -! void - win_close(win, free_buf) - win_T *win; - int free_buf; ---- 2172,2180 ---- - * If "free_buf" is TRUE related buffer may be unloaded. - * - * Called by :quit, :close, :xit, :wq and findtag(). -+ * Returns FAIL when the window was not closed. - */ -! int - win_close(win, free_buf) - win_T *win; - int free_buf; -*************** -*** 2190,2210 **** - if (last_window()) - { - EMSG(_("E444: Cannot close last window")); -! return; - } - - #ifdef FEAT_AUTOCMD - if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing)) -! return; /* window is already being closed */ - if (win == aucmd_win) - { - EMSG(_("E813: Cannot close autocmd window")); -! return; - } - if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) - { - EMSG(_("E814: Cannot close window, only autocmd window would remain")); -! return; - } - #endif - ---- 2191,2211 ---- - if (last_window()) - { - EMSG(_("E444: Cannot close last window")); -! return FAIL; - } - - #ifdef FEAT_AUTOCMD - if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing)) -! return FAIL; /* window is already being closed */ - if (win == aucmd_win) - { - EMSG(_("E813: Cannot close autocmd window")); -! return FAIL; - } - if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) - { - EMSG(_("E814: Cannot close window, only autocmd window would remain")); -! return FAIL; - } - #endif - -*************** -*** 2212,2218 **** - * and then close the window and the tab page to avoid that curwin and - * curtab are invalid while we are freeing memory. */ - if (close_last_window_tabpage(win, free_buf, prev_curtab)) -! return; - - /* When closing the help window, try restoring a snapshot after closing - * the window. Otherwise clear the snapshot, it's now invalid. */ ---- 2213,2219 ---- - * and then close the window and the tab page to avoid that curwin and - * curtab are invalid while we are freeing memory. */ - if (close_last_window_tabpage(win, free_buf, prev_curtab)) -! return FAIL; - - /* When closing the help window, try restoring a snapshot after closing - * the window. Otherwise clear the snapshot, it's now invalid. */ -*************** -*** 2240,2261 **** - win->w_closing = TRUE; - apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return; - win->w_closing = FALSE; - if (last_window()) -! return; - } - win->w_closing = TRUE; - apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return; - win->w_closing = FALSE; - if (last_window()) -! return; - # ifdef FEAT_EVAL - /* autocmds may abort script processing */ - if (aborting()) -! return; - # endif - } - #endif ---- 2241,2262 ---- - win->w_closing = TRUE; - apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return FAIL; - win->w_closing = FALSE; - if (last_window()) -! return FAIL; - } - win->w_closing = TRUE; - apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return FAIL; - win->w_closing = FALSE; - if (last_window()) -! return FAIL; - # ifdef FEAT_EVAL - /* autocmds may abort script processing */ - if (aborting()) -! return FAIL; - # endif - } - #endif -*************** -*** 2303,2309 **** - * other window or moved to another tab page. */ - else if (!win_valid(win) || last_window() || curtab != prev_curtab - || close_last_window_tabpage(win, free_buf, prev_curtab)) -! return; - - /* Free the memory used for the window and get the window that received - * the screen space. */ ---- 2304,2310 ---- - * other window or moved to another tab page. */ - else if (!win_valid(win) || last_window() || curtab != prev_curtab - || close_last_window_tabpage(win, free_buf, prev_curtab)) -! return FAIL; - - /* Free the memory used for the window and get the window that received - * the screen space. */ -*************** -*** 2383,2388 **** ---- 2384,2390 ---- - #endif - - redraw_all_later(NOT_VALID); -+ return OK; - } - - /* -*** ../vim-7.4.003/src/proto/window.pro 2013-08-10 13:37:30.000000000 +0200 ---- src/proto/window.pro 2013-08-14 16:52:50.000000000 +0200 -*************** -*** 9,15 **** - void win_equal __ARGS((win_T *next_curwin, int current, int dir)); - void close_windows __ARGS((buf_T *buf, int keep_curwin)); - int one_window __ARGS((void)); -! void win_close __ARGS((win_T *win, int free_buf)); - void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); - void win_free_all __ARGS((void)); - win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); ---- 9,15 ---- - void win_equal __ARGS((win_T *next_curwin, int current, int dir)); - void close_windows __ARGS((buf_T *buf, int keep_curwin)); - int one_window __ARGS((void)); -! int win_close __ARGS((win_T *win, int free_buf)); - void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); - void win_free_all __ARGS((void)); - win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); -*** ../vim-7.4.003/src/buffer.c 2013-07-17 16:39:00.000000000 +0200 ---- src/buffer.c 2013-08-14 16:54:34.000000000 +0200 -*************** -*** 1186,1192 **** - && !(curwin->w_closing || curwin->w_buffer->b_closing) - # endif - && (firstwin != lastwin || first_tabpage->tp_next != NULL)) -! win_close(curwin, FALSE); - #endif - - /* ---- 1186,1195 ---- - && !(curwin->w_closing || curwin->w_buffer->b_closing) - # endif - && (firstwin != lastwin || first_tabpage->tp_next != NULL)) -! { -! if (win_close(curwin, FALSE) == FAIL) -! break; -! } - #endif - - /* -*** ../vim-7.4.003/src/version.c 2013-08-14 14:18:37.000000000 +0200 ---- src/version.c 2013-08-14 17:10:23.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 4, - /**/ - --- -From "know your smileys": - *<|:-) Santa Claus (Ho Ho Ho) - - /// 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 /// diff --git a/7.4.005 b/7.4.005 deleted file mode 100644 index f85d1f0e..00000000 --- a/7.4.005 +++ /dev/null @@ -1,48 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.005 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.005 -Problem: Using "vaB" while 'virtualedit' is set selects the wrong area. - (Dimitar Dimitrov) -Solution: Reset coladd when finding a match. -Files: src/search.c - - -*** ../vim-7.4.004/src/search.c 2013-07-17 19:20:47.000000000 +0200 ---- src/search.c 2013-08-14 17:32:38.000000000 +0200 -*************** -*** 1760,1765 **** ---- 1760,1768 ---- - #endif - - pos = curwin->w_cursor; -+ #ifdef FEAT_VIRTUALEDIT -+ pos.coladd = 0; -+ #endif - linep = ml_get(pos.lnum); - - cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL); -*** ../vim-7.4.004/src/version.c 2013-08-14 17:11:14.000000000 +0200 ---- src/version.c 2013-08-14 17:38:05.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 5, - /**/ - --- -You can't have everything. Where would you put it? - -- Steven Wright - - /// 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 /// diff --git a/7.4.006 b/7.4.006 deleted file mode 100644 index 55d3802c..00000000 --- a/7.4.006 +++ /dev/null @@ -1,66 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.006 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.006 -Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett) -Solution: Remove the trailing slash. (lcd) -Files: src/eval.c - - -*** ../vim-7.4.005/src/eval.c 2013-07-05 18:23:42.000000000 +0200 ---- src/eval.c 2013-08-22 12:00:28.000000000 +0200 -*************** -*** 14292,14297 **** ---- 14292,14301 ---- - return; - - dir = get_tv_string_buf(&argvars[0], buf); -+ if (*gettail(dir) == NUL) -+ /* remove trailing slashes */ -+ *gettail_sep(dir) = NUL; -+ - if (argvars[1].v_type != VAR_UNKNOWN) - { - if (argvars[2].v_type != VAR_UNKNOWN) -*************** -*** 14299,14305 **** - if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) - mkdir_recurse(dir, prot); - } -! rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0; - } - #endif - ---- 14303,14309 ---- - if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) - mkdir_recurse(dir, prot); - } -! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); - } - #endif - -*** ../vim-7.4.005/src/version.c 2013-08-14 17:45:25.000000000 +0200 ---- src/version.c 2013-08-22 12:02:46.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 6, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -97. Your mother tells you to remember something, and you look for - a File/Save command. - - /// 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 /// diff --git a/7.4.007 b/7.4.007 deleted file mode 100644 index 5495ffbf..00000000 --- a/7.4.007 +++ /dev/null @@ -1,95 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.007 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.007 -Problem: Creating a preview window on startup leaves the screen layout in a - messed up state. (Marius Gedminas) -Solution: Don't change firstwin. (Christian Brabandt) -Files: src/main.c - - -*** ../vim-7.4.006/src/main.c 2013-07-03 12:36:49.000000000 +0200 ---- src/main.c 2013-08-22 14:02:39.000000000 +0200 -*************** -*** 2727,2732 **** ---- 2727,2733 ---- - int arg_idx; /* index in argument list */ - int i; - int advance = TRUE; -+ win_T *win; - - # ifdef FEAT_AUTOCMD - /* -*************** -*** 2816,2839 **** - # ifdef FEAT_AUTOCMD - --autocmd_no_enter; - # endif - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) -! /* -! * Avoid making a preview window the current window. -! */ -! if (firstwin->w_p_pvw) - { -! win_T *win; -! -! for (win = firstwin; win != NULL; win = win->w_next) -! if (!win->w_p_pvw) -! { -! firstwin = win; -! break; -! } - } - #endif -! /* make the first window the current window */ -! win_enter(firstwin, FALSE); - - # ifdef FEAT_AUTOCMD - --autocmd_no_leave; ---- 2817,2838 ---- - # ifdef FEAT_AUTOCMD - --autocmd_no_enter; - # endif -+ -+ /* make the first window the current window */ -+ win = firstwin; - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) -! /* Avoid making a preview window the current window. */ -! while (win->w_p_pvw) - { -! win = win->w_next; -! if (win == NULL) -! { -! win = firstwin; -! break; -! } - } - #endif -! win_enter(win, FALSE); - - # ifdef FEAT_AUTOCMD - --autocmd_no_leave; -*** ../vim-7.4.006/src/version.c 2013-08-22 12:06:50.000000000 +0200 ---- src/version.c 2013-08-22 14:04:11.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 7, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -105. When someone asks you for your address, you tell them your URL. - - /// 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 /// diff --git a/7.4.008 b/7.4.008 deleted file mode 100644 index 6abd493f..00000000 --- a/7.4.008 +++ /dev/null @@ -1,71 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.008 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.008 -Problem: New regexp engine can't be interrupted. -Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto) -Files: src/regexp_nfa.c, src/regexp.c - - -*** ../vim-7.4.007/src/regexp_nfa.c 2013-08-14 14:18:37.000000000 +0200 ---- src/regexp_nfa.c 2013-08-25 16:55:56.000000000 +0200 -*************** -*** 5089,5094 **** ---- 5089,5100 ---- - return FALSE; - } - #endif -+ /* Some patterns may take a long time to match, especially when using -+ * recursive_regmatch(). Allow interrupting them with CTRL-C. */ -+ fast_breakcheck(); -+ if (got_int) -+ return FALSE; -+ - nfa_match = FALSE; - - /* Allocate memory for the lists of nodes. */ -*** ../vim-7.4.007/src/regexp.c 2013-08-01 18:31:30.000000000 +0200 ---- src/regexp.c 2013-08-25 16:57:35.000000000 +0200 -*************** -*** 4311,4318 **** - */ - for (;;) - { -! /* Some patterns may cause a long time to match, even though they are not -! * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */ - fast_breakcheck(); - - #ifdef DEBUG ---- 4311,4318 ---- - */ - for (;;) - { -! /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q". -! * Allow interrupting them with CTRL-C. */ - fast_breakcheck(); - - #ifdef DEBUG -*** ../vim-7.4.007/src/version.c 2013-08-22 14:14:23.000000000 +0200 ---- src/version.c 2013-08-25 16:57:51.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 8, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -124. You begin conversations with, "Who is your internet service provider?" - - /// 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 /// diff --git a/7.4.009 b/7.4.009 deleted file mode 100644 index f5e5fa60..00000000 --- a/7.4.009 +++ /dev/null @@ -1,64 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.009 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.009 -Problem: When a file was not decrypted (yet), writing it may destroy the - contents. -Solution: Mark the file as readonly until decryption was done. (Christian - Brabandt) -Files: src/fileio.c - - -*** ../vim-7.4.008/src/fileio.c 2013-08-05 21:58:03.000000000 +0200 ---- src/fileio.c 2013-08-25 17:45:27.000000000 +0200 -*************** -*** 2926,2934 **** ---- 2926,2939 ---- - int *did_ask; /* flag: whether already asked for key */ - { - int method = crypt_method_from_magic((char *)ptr, *sizep); -+ int b_p_ro = curbuf->b_p_ro; - - if (method >= 0) - { -+ /* Mark the buffer as read-only until the decryption has taken place. -+ * Avoids accidentally overwriting the file with garbage. */ -+ curbuf->b_p_ro = TRUE; -+ - set_crypt_method(curbuf, method); - if (method > 0) - (void)blowfish_self_test(); -*************** -*** 2977,2982 **** ---- 2982,2989 ---- - *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len; - mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len, - (size_t)*sizep); -+ /* Restore the read-only flag. */ -+ curbuf->b_p_ro = b_p_ro; - } - } - /* When starting to edit a new file which does not have encryption, clear -*** ../vim-7.4.008/src/version.c 2013-08-25 17:01:36.000000000 +0200 ---- src/version.c 2013-08-25 17:44:30.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 9, - /**/ - --- -I have a watch cat! Just break in and she'll watch. - - /// 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 /// diff --git a/7.4.010 b/7.4.010 deleted file mode 100644 index fee6ba5b..00000000 --- a/7.4.010 +++ /dev/null @@ -1,79 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.010 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.010 (after 7.4.006) -Problem: Crash with invalid argument to mkdir(). -Solution: Check for empty string. (lcd47) -Files: src/eval.c - - -*** ../vim-7.4.009/src/eval.c 2013-08-22 12:06:50.000000000 +0200 ---- src/eval.c 2013-08-30 15:47:47.000000000 +0200 -*************** -*** 14292,14309 **** - return; - - dir = get_tv_string_buf(&argvars[0], buf); -! if (*gettail(dir) == NUL) -! /* remove trailing slashes */ -! *gettail_sep(dir) = NUL; -! -! if (argvars[1].v_type != VAR_UNKNOWN) - { -! if (argvars[2].v_type != VAR_UNKNOWN) -! prot = get_tv_number_chk(&argvars[2], NULL); -! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) -! mkdir_recurse(dir, prot); - } -- rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); - } - #endif - ---- 14292,14314 ---- - return; - - dir = get_tv_string_buf(&argvars[0], buf); -! if (*dir == NUL) -! rettv->vval.v_number = FAIL; -! else - { -! if (*gettail(dir) == NUL) -! /* remove trailing slashes */ -! *gettail_sep(dir) = NUL; -! -! if (argvars[1].v_type != VAR_UNKNOWN) -! { -! if (argvars[2].v_type != VAR_UNKNOWN) -! prot = get_tv_number_chk(&argvars[2], NULL); -! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) -! mkdir_recurse(dir, prot); -! } -! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); - } - } - #endif - -*** ../vim-7.4.009/src/version.c 2013-08-25 17:46:05.000000000 +0200 ---- src/version.c 2013-08-30 15:48:37.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 10, - /**/ - --- -I wish there was a knob on the TV to turn up the intelligence. -There's a knob called "brightness", but it doesn't seem 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 /// diff --git a/7.4.011 b/7.4.011 deleted file mode 100644 index efff82c5..00000000 --- a/7.4.011 +++ /dev/null @@ -1,100 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.011 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.011 -Problem: Cannot find out if "acl" and "xpm" features are supported. -Solution: Add "acl" and "xpm" to the list of features. (Ken Takata) -Files: src/eval.c, src/version.c - - -*** ../vim-7.4.010/src/eval.c 2013-08-30 16:00:04.000000000 +0200 ---- src/eval.c 2013-08-30 16:34:12.000000000 +0200 -*************** -*** 12135,12140 **** ---- 12135,12143 ---- - #ifndef CASE_INSENSITIVE_FILENAME - "fname_case", - #endif -+ #ifdef HAVE_ACL -+ "acl", -+ #endif - #ifdef FEAT_ARABIC - "arabic", - #endif -*************** -*** 12538,12544 **** - "xfontset", - #endif - #ifdef FEAT_XPM_W32 -! "xpm_w32", - #endif - #ifdef USE_XSMP - "xsmp", ---- 12541,12552 ---- - "xfontset", - #endif - #ifdef FEAT_XPM_W32 -! "xpm", -! "xpm_w32", /* for backward compatibility */ -! #else -! # if defined(HAVE_XPM) -! "xpm", -! # endif - #endif - #ifdef USE_XSMP - "xsmp", -*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200 ---- src/version.c 2013-08-30 16:34:37.000000000 +0200 -*************** -*** 60,65 **** ---- 60,70 ---- - - static char *(features[]) = - { -+ #ifdef HAVE_ACL -+ "+acl", -+ #else -+ "-acl", -+ #endif - #ifdef AMIGA /* only for Amiga systems */ - # ifdef FEAT_ARP - "+ARP", -*************** -*** 721,726 **** ---- 726,737 ---- - # else - "-xpm_w32", - # endif -+ #else -+ # ifdef HAVE_XPM -+ "+xpm", -+ # else -+ "-xpm", -+ # endif - #endif - NULL - }; -*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200 ---- src/version.c 2013-08-30 16:34:37.000000000 +0200 -*************** -*** 729,730 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 11, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -141. You'd rather go to http://www.weather.com/ than look out your window. - - /// 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 /// diff --git a/7.4.012 b/7.4.012 deleted file mode 100644 index f831442e..00000000 --- a/7.4.012 +++ /dev/null @@ -1,202 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.012 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.012 -Problem: MS-Windows: resolving shortcut does not work properly with - multi-byte characters. -Solution: Use wide system functions. (Ken Takata) -Files: src/os_mswin.c - - -*** ../vim-7.4.011/src/os_mswin.c 2013-06-16 16:41:11.000000000 +0200 ---- src/os_mswin.c 2013-08-30 16:43:23.000000000 +0200 -*************** -*** 1761,1769 **** - IPersistFile *ppf = NULL; - OLECHAR wsz[MAX_PATH]; - WIN32_FIND_DATA ffd; // we get those free of charge -! TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'... - char_u *rfname = NULL; - int len; - - /* Check if the file name ends in ".lnk". Avoid calling - * CoCreateInstance(), it's quite slow. */ ---- 1761,1773 ---- - IPersistFile *ppf = NULL; - OLECHAR wsz[MAX_PATH]; - WIN32_FIND_DATA ffd; // we get those free of charge -! CHAR buf[MAX_PATH]; // could have simply reused 'wsz'... - char_u *rfname = NULL; - int len; -+ # ifdef FEAT_MBYTE -+ IShellLinkW *pslw = NULL; -+ WIN32_FIND_DATAW ffdw; // we get those free of charge -+ # endif - - /* Check if the file name ends in ".lnk". Avoid calling - * CoCreateInstance(), it's quite slow. */ -*************** -*** 1775,1792 **** - - CoInitialize(NULL); - - // create a link manager object and request its interface - hr = CoCreateInstance( - &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, - &IID_IShellLink, (void**)&psl); - if (hr != S_OK) -! goto shortcut_error; - - // Get a pointer to the IPersistFile interface. - hr = psl->lpVtbl->QueryInterface( - psl, &IID_IPersistFile, (void**)&ppf); - if (hr != S_OK) -! goto shortcut_error; - - // full path string must be in Unicode. - MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH); ---- 1779,1840 ---- - - CoInitialize(NULL); - -+ # ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ // create a link manager object and request its interface -+ hr = CoCreateInstance( -+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, -+ &IID_IShellLinkW, (void**)&pslw); -+ if (hr == S_OK) -+ { -+ WCHAR *p = enc_to_utf16(fname, NULL); -+ -+ if (p != NULL) -+ { -+ // Get a pointer to the IPersistFile interface. -+ hr = pslw->lpVtbl->QueryInterface( -+ pslw, &IID_IPersistFile, (void**)&ppf); -+ if (hr != S_OK) -+ goto shortcut_errorw; -+ -+ // "load" the name and resolve the link -+ hr = ppf->lpVtbl->Load(ppf, p, STGM_READ); -+ if (hr != S_OK) -+ goto shortcut_errorw; -+ # if 0 // This makes Vim wait a long time if the target does not exist. -+ hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI); -+ if (hr != S_OK) -+ goto shortcut_errorw; -+ # endif -+ -+ // Get the path to the link target. -+ ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR)); -+ hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0); -+ if (hr == S_OK && wsz[0] != NUL) -+ rfname = utf16_to_enc(wsz, NULL); -+ -+ shortcut_errorw: -+ vim_free(p); -+ if (hr == S_OK) -+ goto shortcut_end; -+ } -+ } -+ /* Retry with non-wide function (for Windows 98). */ -+ } -+ # endif - // create a link manager object and request its interface - hr = CoCreateInstance( - &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, - &IID_IShellLink, (void**)&psl); - if (hr != S_OK) -! goto shortcut_end; - - // Get a pointer to the IPersistFile interface. - hr = psl->lpVtbl->QueryInterface( - psl, &IID_IPersistFile, (void**)&ppf); - if (hr != S_OK) -! goto shortcut_end; - - // full path string must be in Unicode. - MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH); -*************** -*** 1794,1805 **** - // "load" the name and resolve the link - hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ); - if (hr != S_OK) -! goto shortcut_error; -! #if 0 // This makes Vim wait a long time if the target doesn't exist. - hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI); - if (hr != S_OK) -! goto shortcut_error; -! #endif - - // Get the path to the link target. - ZeroMemory(buf, MAX_PATH); ---- 1842,1853 ---- - // "load" the name and resolve the link - hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ); - if (hr != S_OK) -! goto shortcut_end; -! # if 0 // This makes Vim wait a long time if the target doesn't exist. - hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI); - if (hr != S_OK) -! goto shortcut_end; -! # endif - - // Get the path to the link target. - ZeroMemory(buf, MAX_PATH); -*************** -*** 1807,1818 **** - if (hr == S_OK && buf[0] != NUL) - rfname = vim_strsave(buf); - -! shortcut_error: - // Release all interface pointers (both belong to the same object) - if (ppf != NULL) - ppf->lpVtbl->Release(ppf); - if (psl != NULL) - psl->lpVtbl->Release(psl); - - CoUninitialize(); - return rfname; ---- 1855,1870 ---- - if (hr == S_OK && buf[0] != NUL) - rfname = vim_strsave(buf); - -! shortcut_end: - // Release all interface pointers (both belong to the same object) - if (ppf != NULL) - ppf->lpVtbl->Release(ppf); - if (psl != NULL) - psl->lpVtbl->Release(psl); -+ # ifdef FEAT_MBYTE -+ if (pslw != NULL) -+ pslw->lpVtbl->Release(pslw); -+ # endif - - CoUninitialize(); - return rfname; -*** ../vim-7.4.011/src/version.c 2013-08-30 16:35:41.000000000 +0200 ---- src/version.c 2013-08-30 16:39:40.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 12, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -142. You dream about creating the world's greatest web site. - - /// 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 /// diff --git a/7.4.013 b/7.4.013 deleted file mode 100644 index dcbe0fb3..00000000 --- a/7.4.013 +++ /dev/null @@ -1,99 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.013 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.013 -Problem: File name buffer too small for utf-8. -Solution: Use character count instead of byte count. (Ken Takata) -Files: src/os_mswin.c - - -*** ../vim-7.4.012/src/os_mswin.c 2013-08-30 16:44:15.000000000 +0200 ---- src/os_mswin.c 2013-08-30 16:47:54.000000000 +0200 -*************** -*** 456,462 **** ---- 456,469 ---- - int - mch_isFullName(char_u *fname) - { -+ #ifdef FEAT_MBYTE -+ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which -+ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is -+ * UTF-8. */ -+ char szName[_MAX_PATH * 3 + 1]; -+ #else - char szName[_MAX_PATH + 1]; -+ #endif - - /* A name like "d:/foo" and "//server/share" is absolute */ - if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\')) -*************** -*** 464,470 **** - return TRUE; - - /* A name that can't be made absolute probably isn't absolute. */ -! if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL) - return FALSE; - - return pathcmp(fname, szName, -1) == 0; ---- 471,477 ---- - return TRUE; - - /* A name that can't be made absolute probably isn't absolute. */ -! if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL) - return FALSE; - - return pathcmp(fname, szName, -1) == 0; -*************** -*** 498,507 **** - int - vim_stat(const char *name, struct stat *stp) - { - char buf[_MAX_PATH + 1]; - char *p; - -! vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH); - p = buf + strlen(buf); - if (p > buf) - mb_ptr_back(buf, p); ---- 505,521 ---- - int - vim_stat(const char *name, struct stat *stp) - { -+ #ifdef FEAT_MBYTE -+ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which -+ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is -+ * UTF-8. */ -+ char buf[_MAX_PATH * 3 + 1]; -+ #else - char buf[_MAX_PATH + 1]; -+ #endif - char *p; - -! vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1); - p = buf + strlen(buf); - if (p > buf) - mb_ptr_back(buf, p); -*** ../vim-7.4.012/src/version.c 2013-08-30 16:44:15.000000000 +0200 ---- src/version.c 2013-08-30 16:47:36.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 13, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -143. You dream in pallettes of 216 websafe colors. - - /// 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 /// diff --git a/7.4.014 b/7.4.014 deleted file mode 100644 index f6554337..00000000 --- a/7.4.014 +++ /dev/null @@ -1,102 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.014 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.014 -Problem: MS-Windows: check for writing to device does not work. -Solution: Fix #ifdefs. (Ken Takata) -Files: src/fileio.c - - -*** ../vim-7.4.013/src/fileio.c 2013-08-25 17:46:05.000000000 +0200 ---- src/fileio.c 2013-08-30 16:56:46.000000000 +0200 -*************** -*** 428,440 **** - } - } - -- #ifdef UNIX -- /* -- * On Unix it is possible to read a directory, so we have to -- * check for it before the mch_open(). -- */ - if (!read_stdin && !read_buffer) - { - perm = mch_getperm(fname); - if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */ - # ifdef S_ISFIFO ---- 428,440 ---- - } - } - - if (!read_stdin && !read_buffer) - { -+ #ifdef UNIX -+ /* -+ * On Unix it is possible to read a directory, so we have to -+ * check for it before the mch_open(). -+ */ - perm = mch_getperm(fname); - if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */ - # ifdef S_ISFIFO -*************** -*** 457,464 **** - msg_scroll = msg_save; - return FAIL; - } -! -! # if defined(MSDOS) || defined(MSWIN) || defined(OS2) - /* - * MS-Windows allows opening a device, but we will probably get stuck - * trying to read it. ---- 457,464 ---- - msg_scroll = msg_save; - return FAIL; - } -! #endif -! #if defined(MSDOS) || defined(MSWIN) || defined(OS2) - /* - * MS-Windows allows opening a device, but we will probably get stuck - * trying to read it. -*************** -*** 470,478 **** - msg_scroll = msg_save; - return FAIL; - } -- # endif -- } - #endif - - /* Set default or forced 'fileformat' and 'binary'. */ - set_file_options(set_options, eap); ---- 470,477 ---- - msg_scroll = msg_save; - return FAIL; - } - #endif -+ } - - /* Set default or forced 'fileformat' and 'binary'. */ - set_file_options(set_options, eap); -*** ../vim-7.4.013/src/version.c 2013-08-30 16:51:15.000000000 +0200 ---- src/version.c 2013-08-30 16:54:33.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 14, - /**/ - --- -Drink wet cement and get really stoned. - - /// 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 /// diff --git a/7.4.015 b/7.4.015 deleted file mode 100644 index e8b284d1..00000000 --- a/7.4.015 +++ /dev/null @@ -1,106 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.015 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.015 -Problem: MS-Windows: Detecting node type does not work for multi-byte - characters. -Solution: Use wide character function when needed. (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.014/src/os_win32.c 2013-08-10 12:39:12.000000000 +0200 ---- src/os_win32.c 2013-08-30 17:09:47.000000000 +0200 -*************** -*** 3107,3112 **** ---- 3107,3115 ---- - { - HANDLE hFile; - int type; -+ #ifdef FEAT_MBYTE -+ WCHAR *wn = NULL; -+ #endif - - /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to - * read from it later will cause Vim to hang. Thus return NODE_WRITABLE -*************** -*** 3114,3127 **** - if (STRNCMP(name, "\\\\.\\", 4) == 0) - return NODE_WRITABLE; - -! hFile = CreateFile(name, /* file name */ -! GENERIC_WRITE, /* access mode */ -! 0, /* share mode */ -! NULL, /* security descriptor */ -! OPEN_EXISTING, /* creation disposition */ -! 0, /* file attributes */ -! NULL); /* handle to template file */ - - if (hFile == INVALID_HANDLE_VALUE) - return NODE_NORMAL; - ---- 3117,3157 ---- - if (STRNCMP(name, "\\\\.\\", 4) == 0) - return NODE_WRITABLE; - -! #ifdef FEAT_MBYTE -! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -! { -! wn = enc_to_utf16(name, NULL); -! if (wn != NULL) -! { -! hFile = CreateFileW(wn, /* file name */ -! GENERIC_WRITE, /* access mode */ -! 0, /* share mode */ -! NULL, /* security descriptor */ -! OPEN_EXISTING, /* creation disposition */ -! 0, /* file attributes */ -! NULL); /* handle to template file */ -! if (hFile == INVALID_HANDLE_VALUE -! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) -! { -! /* Retry with non-wide function (for Windows 98). */ -! vim_free(wn); -! wn = NULL; -! } -! } -! } -! if (wn == NULL) -! #endif -! hFile = CreateFile(name, /* file name */ -! GENERIC_WRITE, /* access mode */ -! 0, /* share mode */ -! NULL, /* security descriptor */ -! OPEN_EXISTING, /* creation disposition */ -! 0, /* file attributes */ -! NULL); /* handle to template file */ - -+ #ifdef FEAT_MBYTE -+ vim_free(wn); -+ #endif - if (hFile == INVALID_HANDLE_VALUE) - return NODE_NORMAL; - -*** ../vim-7.4.014/src/version.c 2013-08-30 17:06:56.000000000 +0200 ---- src/version.c 2013-08-30 17:09:35.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 15, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -144. You eagerly await the update of the "Cool Site of the 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 /// diff --git a/7.4.016 b/7.4.016 deleted file mode 100644 index c58c605f..00000000 --- a/7.4.016 +++ /dev/null @@ -1,221 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.016 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.016 -Problem: MS-Windows: File name completion doesn't work properly with - Chinese characters. (Yue Wu) -Solution: Add fname_casew(). (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.015/src/os_win32.c 2013-08-30 17:11:29.000000000 +0200 ---- src/os_win32.c 2013-08-30 17:28:30.000000000 +0200 -*************** -*** 2500,2508 **** ---- 2500,2624 ---- - } - - -+ #ifdef FEAT_MBYTE -+ /* -+ * fname_casew(): Wide version of fname_case(). Set the case of the file name, -+ * if it already exists. When "len" is > 0, also expand short to long -+ * filenames. -+ * Return FAIL if wide functions are not available, OK otherwise. -+ * NOTE: much of this is identical to fname_case(), keep in sync! -+ */ -+ static int -+ fname_casew( -+ WCHAR *name, -+ int len) -+ { -+ WCHAR szTrueName[_MAX_PATH + 2]; -+ WCHAR szTrueNameTemp[_MAX_PATH + 2]; -+ WCHAR *ptrue, *ptruePrev; -+ WCHAR *porig, *porigPrev; -+ int flen; -+ WIN32_FIND_DATAW fb; -+ HANDLE hFind; -+ int c; -+ int slen; -+ -+ flen = (int)wcslen(name); -+ if (flen > _MAX_PATH) -+ return OK; -+ -+ /* slash_adjust(name) not needed, already adjusted by fname_case(). */ -+ -+ /* Build the new name in szTrueName[] one component at a time. */ -+ porig = name; -+ ptrue = szTrueName; -+ -+ if (iswalpha(porig[0]) && porig[1] == L':') -+ { -+ /* copy leading drive letter */ -+ *ptrue++ = *porig++; -+ *ptrue++ = *porig++; -+ *ptrue = NUL; /* in case nothing follows */ -+ } -+ -+ while (*porig != NUL) -+ { -+ /* copy \ characters */ -+ while (*porig == psepc) -+ *ptrue++ = *porig++; -+ -+ ptruePrev = ptrue; -+ porigPrev = porig; -+ while (*porig != NUL && *porig != psepc) -+ { -+ *ptrue++ = *porig++; -+ } -+ *ptrue = NUL; -+ -+ /* To avoid a slow failure append "\*" when searching a directory, -+ * server or network share. */ -+ wcscpy(szTrueNameTemp, szTrueName); -+ slen = (int)wcslen(szTrueNameTemp); -+ if (*porig == psepc && slen + 2 < _MAX_PATH) -+ wcscpy(szTrueNameTemp + slen, L"\\*"); -+ -+ /* Skip "", "." and "..". */ -+ if (ptrue > ptruePrev -+ && (ptruePrev[0] != L'.' -+ || (ptruePrev[1] != NUL -+ && (ptruePrev[1] != L'.' || ptruePrev[2] != NUL))) -+ && (hFind = FindFirstFileW(szTrueNameTemp, &fb)) -+ != INVALID_HANDLE_VALUE) -+ { -+ c = *porig; -+ *porig = NUL; -+ -+ /* Only use the match when it's the same name (ignoring case) or -+ * expansion is allowed and there is a match with the short name -+ * and there is enough room. */ -+ if (_wcsicoll(porigPrev, fb.cFileName) == 0 -+ || (len > 0 -+ && (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0 -+ && (int)(ptruePrev - szTrueName) -+ + (int)wcslen(fb.cFileName) < len))) -+ { -+ wcscpy(ptruePrev, fb.cFileName); -+ -+ /* Look for exact match and prefer it if found. Must be a -+ * long name, otherwise there would be only one match. */ -+ while (FindNextFileW(hFind, &fb)) -+ { -+ if (*fb.cAlternateFileName != NUL -+ && (wcscoll(porigPrev, fb.cFileName) == 0 -+ || (len > 0 -+ && (_wcsicoll(porigPrev, -+ fb.cAlternateFileName) == 0 -+ && (int)(ptruePrev - szTrueName) -+ + (int)wcslen(fb.cFileName) < len)))) -+ { -+ wcscpy(ptruePrev, fb.cFileName); -+ break; -+ } -+ } -+ } -+ FindClose(hFind); -+ *porig = c; -+ ptrue = ptruePrev + wcslen(ptruePrev); -+ } -+ else if (hFind == INVALID_HANDLE_VALUE -+ && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) -+ return FAIL; -+ } -+ -+ wcscpy(name, szTrueName); -+ return OK; -+ } -+ #endif -+ - /* - * fname_case(): Set the case of the file name, if it already exists. - * When "len" is > 0, also expand short to long filenames. -+ * NOTE: much of this is identical to fname_casew(), keep in sync! - */ - void - fname_case( -*************** -*** 2520,2530 **** - int slen; - - flen = (int)STRLEN(name); -! if (flen == 0 || flen > _MAX_PATH) - return; - - slash_adjust(name); - - /* Build the new name in szTrueName[] one component at a time. */ - porig = name; - ptrue = szTrueName; ---- 2636,2679 ---- - int slen; - - flen = (int)STRLEN(name); -! if (flen == 0) - return; - - slash_adjust(name); - -+ #ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ WCHAR *p = enc_to_utf16(name, NULL); -+ -+ if (p != NULL) -+ { -+ char_u *q; -+ WCHAR buf[_MAX_PATH + 2]; -+ -+ wcscpy(buf, p); -+ vim_free(p); -+ -+ if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK) -+ { -+ q = utf16_to_enc(buf, NULL); -+ if (q != NULL) -+ { -+ vim_strncpy(name, q, (len > 0) ? len - 1 : flen); -+ vim_free(q); -+ return; -+ } -+ } -+ } -+ /* Retry with non-wide function (for Windows 98). */ -+ } -+ #endif -+ -+ /* If 'enc' is utf-8, flen can be larger than _MAX_PATH. -+ * So we should check this after calling wide function. */ -+ if (flen > _MAX_PATH) -+ return; -+ - /* Build the new name in szTrueName[] one component at a time. */ - porig = name; - ptrue = szTrueName; -*** ../vim-7.4.015/src/version.c 2013-08-30 17:11:29.000000000 +0200 ---- src/version.c 2013-08-30 17:15:06.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 16, - /**/ - --- -Fingers not found - Pound head on keyboard 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 /// diff --git a/7.4.017 b/7.4.017 deleted file mode 100644 index 7d7fad83..00000000 --- a/7.4.017 +++ /dev/null @@ -1,78 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.017 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.017 -Problem: ":help !!" does not find the "!!" tag in the help file. (Ben - Fritz) -Solution: When reading the start of the tags file do parse lines that are - not header lines. -Files: src/tag.c - - -*** ../vim-7.4.016/src/tag.c 2013-06-15 22:26:26.000000000 +0200 ---- src/tag.c 2013-09-05 12:03:38.000000000 +0200 -*************** -*** 1797,1809 **** - */ - if (state == TS_START) - { -! /* The header ends when the line sorts below "!_TAG_". -! * There may be non-header items before the header though, -! * e.g. "!" itself. When case is folded lower case letters -! * sort before "_". */ - if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 - || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) - { - /* - * Read header line. - */ ---- 1797,1812 ---- - */ - if (state == TS_START) - { -! /* The header ends when the line sorts below "!_TAG_". When -! * case is folded lower case letters sort before "_". */ - if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 - || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) - { -+ if (STRNCMP(lbuf, "!_TAG_", 6) != 0) -+ /* Non-header item before the header, e.g. "!" itself. -+ */ -+ goto parse_line; -+ - /* - * Read header line. - */ -*************** -*** 1898,1903 **** ---- 1901,1907 ---- - #endif - } - -+ parse_line: - /* - * Figure out where the different strings are in this line. - * For "normal" tags: Do a quick check if the tag matches. -*** ../vim-7.4.016/src/version.c 2013-08-30 17:29:10.000000000 +0200 ---- src/version.c 2013-09-05 12:02:01.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 17, - /**/ - --- -An error has occurred. Hit any user 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 /// diff --git a/7.4.018 b/7.4.018 deleted file mode 100644 index 2214c30b..00000000 --- a/7.4.018 +++ /dev/null @@ -1,45 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.018 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.018 -Problem: When completing item becomes unselected. (Shougo Matsu) -Solution: Revert patch 7.3.1269. -Files: src/edit.c - - -*** ../vim-7.4.017/src/edit.c 2013-07-04 20:22:25.000000000 +0200 ---- src/edit.c 2013-09-05 12:39:53.000000000 +0200 -*************** -*** 3467,3473 **** - } - - compl_enter_selects = !compl_used_match; -- compl_shown_match = compl_curr_match = compl_first_match; - - /* Show the popup menu with a different set of matches. */ - ins_compl_show_pum(); ---- 3467,3472 ---- -*** ../vim-7.4.017/src/version.c 2013-09-05 12:06:26.000000000 +0200 ---- src/version.c 2013-09-05 12:40:34.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 18, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -169. You hire a housekeeper for your home page. - - /// 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 /// diff --git a/7.4.019 b/7.4.019 deleted file mode 100644 index b1532c19..00000000 --- a/7.4.019 +++ /dev/null @@ -1,61 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.019 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.019 -Problem: MS-Windows: File name completion doesn't work properly with - Chinese characters. (Yue Wu) -Solution: Take care of multi-byte characters when looking for the start of - the file name. (Ken Takata) -Files: src/edit.c - - -*** ../vim-7.4.018/src/edit.c 2013-09-05 12:49:48.000000000 +0200 ---- src/edit.c 2013-09-05 13:45:27.000000000 +0200 -*************** -*** 5183,5190 **** - } - else if (ctrl_x_mode == CTRL_X_FILES) - { -! while (--startcol >= 0 && vim_isfilec(line[startcol])) -! ; - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; - compl_pattern = addstar(line + compl_col, compl_length, ---- 5183,5196 ---- - } - else if (ctrl_x_mode == CTRL_X_FILES) - { -! char_u *p = line + startcol; -! -! /* Go back to just before the first filename character. */ -! mb_ptr_back(line, p); -! while (vim_isfilec(PTR2CHAR(p)) && p >= line) -! mb_ptr_back(line, p); -! startcol = p - line; -! - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; - compl_pattern = addstar(line + compl_col, compl_length, -*** ../vim-7.4.018/src/version.c 2013-09-05 12:49:48.000000000 +0200 ---- src/version.c 2013-09-05 13:41:47.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 19, - /**/ - --- - Very funny, Scotty. Now beam down my clothes. - - /// 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 /// diff --git a/7.4.020 b/7.4.020 deleted file mode 100644 index 942d82fe..00000000 --- a/7.4.020 +++ /dev/null @@ -1,82 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.020 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.020 -Problem: NFA engine matches too much with \@>. (John McGowan) -Solution: When a whole pattern match is found stop searching. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.019/src/regexp_nfa.c 2013-08-25 17:01:36.000000000 +0200 ---- src/regexp_nfa.c 2013-09-05 15:59:44.000000000 +0200 -*************** -*** 5322,5328 **** - log_subsexpr(m); - #endif - nfa_match = TRUE; -! break; - - case NFA_START_INVISIBLE: - case NFA_START_INVISIBLE_FIRST: ---- 5322,5331 ---- - log_subsexpr(m); - #endif - nfa_match = TRUE; -! /* See comment above at "goto nextchar". */ -! if (nextlist->n == 0) -! clen = 0; -! goto nextchar; - - case NFA_START_INVISIBLE: - case NFA_START_INVISIBLE_FIRST: -*** ../vim-7.4.019/src/testdir/test64.in 2013-08-14 13:31:03.000000000 +0200 ---- src/testdir/test64.in 2013-09-05 15:35:44.000000000 +0200 -*************** -*** 427,432 **** ---- 427,433 ---- - :""""" \@> - :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) - :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) -+ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab']) - :" TODO: BT engine does not restore submatch after failure - :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa']) - :" -*** ../vim-7.4.019/src/testdir/test64.ok 2013-08-14 13:31:03.000000000 +0200 ---- src/testdir/test64.ok 2013-09-05 16:03:34.000000000 +0200 -*************** -*** 983,988 **** ---- 983,991 ---- - OK 0 - \(a*\)\@>b - OK 1 - \(a*\)\@>b - OK 2 - \(a*\)\@>b -+ OK 0 - ^\(.\{-}b\)\@>. -+ OK 1 - ^\(.\{-}b\)\@>. -+ OK 2 - ^\(.\{-}b\)\@>. - OK 0 - \(a*\)\@>a\|a\+ - OK 2 - \(a*\)\@>a\|a\+ - OK 0 - \_[^8-9]\+ -*** ../vim-7.4.019/src/version.c 2013-09-05 13:50:49.000000000 +0200 ---- src/version.c 2013-09-05 16:04:32.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 20, - /**/ - --- -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 /// diff --git a/7.4.021 b/7.4.021 deleted file mode 100644 index 0936d9a1..00000000 --- a/7.4.021 +++ /dev/null @@ -1,86 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.021 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.021 -Problem: NFA regexp: Using \ze in one branch which doesn't match may cause - end of another branch to be wrong. (William Fugh) -Solution: Set end position if it wasn't set yet. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.020/src/regexp_nfa.c 2013-09-05 16:05:32.000000000 +0200 ---- src/regexp_nfa.c 2013-09-05 20:56:25.000000000 +0200 -*************** -*** 4209,4218 **** - break; - - case NFA_MCLOSE: -! if (nfa_has_zend) - { -! /* Do not overwrite the position set by \ze. If no \ze -! * encountered end will be set in nfa_regtry(). */ - subs = addstate(l, state->out, subs, pim, off); - break; - } ---- 4209,4219 ---- - break; - - case NFA_MCLOSE: -! if (nfa_has_zend && (REG_MULTI -! ? subs->norm.list.multi[0].end.lnum >= 0 -! : subs->norm.list.line[0].end != NULL)) - { -! /* Do not overwrite the position set by \ze. */ - subs = addstate(l, state->out, subs, pim, off); - break; - } -*** ../vim-7.4.020/src/testdir/test64.in 2013-09-05 16:05:32.000000000 +0200 ---- src/testdir/test64.in 2013-09-05 20:55:18.000000000 +0200 -*************** -*** 328,333 **** ---- 328,334 ---- - :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match']) - :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last']) - :call add(tl, [2, '\>\zs.', 'aword. ', '.']) -+ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' ']) - :" - :"""" Tests for \@= and \& features - :call add(tl, [2, 'abc\@=', 'abc', 'ab']) -*** ../vim-7.4.020/src/testdir/test64.ok 2013-09-05 16:05:32.000000000 +0200 ---- src/testdir/test64.ok 2013-09-05 21:09:56.000000000 +0200 -*************** -*** 752,757 **** ---- 752,760 ---- - OK 0 - \>\zs. - OK 1 - \>\zs. - OK 2 - \>\zs. -+ OK 0 - \s\+\ze\[/\|\s\zs\s\+ -+ OK 1 - \s\+\ze\[/\|\s\zs\s\+ -+ OK 2 - \s\+\ze\[/\|\s\zs\s\+ - OK 0 - abc\@= - OK 1 - abc\@= - OK 2 - abc\@= -*** ../vim-7.4.020/src/version.c 2013-09-05 16:05:32.000000000 +0200 ---- src/version.c 2013-09-05 21:11:38.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 21, - /**/ - --- -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 /// diff --git a/7.4.022 b/7.4.022 deleted file mode 100644 index 81a0901f..00000000 --- a/7.4.022 +++ /dev/null @@ -1,148 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.022 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.022 -Problem: Deadlock while exiting, because of allocating memory. -Solution: Do not use gettext() in deathtrap(). (James McCoy) -Files: src/os_unix.c, src/misc1.c - - -*** ../vim-7.4.021/src/os_unix.c 2013-07-03 16:32:32.000000000 +0200 ---- src/os_unix.c 2013-09-05 21:40:06.000000000 +0200 -*************** -*** 957,964 **** - - /* - * This function handles deadly signals. -! * It tries to preserve any swap file and exit properly. - * (partly from Elvis). - */ - static RETSIGTYPE - deathtrap SIGDEFARG(sigarg) ---- 957,966 ---- - - /* - * This function handles deadly signals. -! * It tries to preserve any swap files and exit properly. - * (partly from Elvis). -+ * NOTE: Avoid unsafe functions, such as allocating memory, they can result in -+ * a deadlock. - */ - static RETSIGTYPE - deathtrap SIGDEFARG(sigarg) -*************** -*** 1090,1107 **** - } - if (entered == 2) - { -! OUT_STR(_("Vim: Double signal, exiting\n")); - out_flush(); - getout(1); - } - - #ifdef SIGHASARG -! sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"), - signal_info[i].name); - #else -! sprintf((char *)IObuff, _("Vim: Caught deadly signal\n")); - #endif -! preserve_exit(); /* preserve files and exit */ - - #ifdef NBDEBUG - reset_signals(); ---- 1092,1114 ---- - } - if (entered == 2) - { -! /* No translation, it may call malloc(). */ -! OUT_STR("Vim: Double signal, exiting\n"); - out_flush(); - getout(1); - } - -+ /* No translation, it may call malloc(). */ - #ifdef SIGHASARG -! sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n", - signal_info[i].name); - #else -! sprintf((char *)IObuff, "Vim: Caught deadly signal\n"); - #endif -! -! /* Preserve files and exit. This sets the really_exiting flag to prevent -! * calling free(). */ -! preserve_exit(); - - #ifdef NBDEBUG - reset_signals(); -*** ../vim-7.4.021/src/misc1.c 2013-08-03 17:29:33.000000000 +0200 ---- src/misc1.c 2013-09-05 21:34:04.000000000 +0200 -*************** -*** 9174,9179 **** ---- 9174,9181 ---- - /* - * Preserve files and exit. - * When called IObuff must contain a message. -+ * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe -+ * functions, such as allocating memory. - */ - void - preserve_exit() -*************** -*** 9196,9202 **** - { - if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) - { -! OUT_STR(_("Vim: preserving files...\n")); - screen_start(); /* don't know where cursor is now */ - out_flush(); - ml_sync_all(FALSE, FALSE); /* preserve all swap files */ ---- 9198,9204 ---- - { - if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) - { -! OUT_STR("Vim: preserving files...\n"); - screen_start(); /* don't know where cursor is now */ - out_flush(); - ml_sync_all(FALSE, FALSE); /* preserve all swap files */ -*************** -*** 9206,9212 **** - - ml_close_all(FALSE); /* close all memfiles, without deleting */ - -! OUT_STR(_("Vim: Finished.\n")); - - getout(1); - } ---- 9208,9214 ---- - - ml_close_all(FALSE); /* close all memfiles, without deleting */ - -! OUT_STR("Vim: Finished.\n"); - - getout(1); - } -*** ../vim-7.4.021/src/version.c 2013-09-05 21:15:38.000000000 +0200 ---- src/version.c 2013-09-05 21:30:18.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 22, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -175. You send yourself e-mail before you go to bed to remind you - what to do when you wake up. - - /// 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 /// diff --git a/7.4.023 b/7.4.023 deleted file mode 100644 index 03005213..00000000 --- a/7.4.023 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.023 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.023 -Problem: Compiler warning on 64 bit windows. -Solution: Add type cast. (Mike Williams) -Files: src/edit.c - - -*** ../vim-7.4.022/src/edit.c 2013-09-05 13:50:49.000000000 +0200 ---- src/edit.c 2013-09-06 17:32:55.000000000 +0200 -*************** -*** 5189,5195 **** - mb_ptr_back(line, p); - while (vim_isfilec(PTR2CHAR(p)) && p >= line) - mb_ptr_back(line, p); -! startcol = p - line; - - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; ---- 5189,5195 ---- - mb_ptr_back(line, p); - while (vim_isfilec(PTR2CHAR(p)) && p >= line) - mb_ptr_back(line, p); -! startcol = (int)(p - line); - - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; -*** ../vim-7.4.022/src/version.c 2013-09-05 21:41:35.000000000 +0200 ---- src/version.c 2013-09-06 17:33:41.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 23, - /**/ - --- -Wizards had always known that the act of observation changed the thing that -was observed, and sometimes forgot that it also changed the observer too. - Terry Pratchett - Interesting times - - /// 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 /// diff --git a/7.4.024 b/7.4.024 deleted file mode 100644 index da0df9c6..00000000 --- a/7.4.024 +++ /dev/null @@ -1,61 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.024 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.024 -Problem: When root edits a file the undo file is owned by root while the - edited file may be owned by another user, which is not allowed. - (cac2s) -Solution: Accept an undo file owned by the current user. -Files: src/undo.c - - -*** ../vim-7.4.023/src/undo.c 2013-06-10 20:13:37.000000000 +0200 ---- src/undo.c 2013-09-07 15:45:56.000000000 +0200 -*************** -*** 1604,1613 **** - - #ifdef UNIX - /* For safety we only read an undo file if the owner is equal to the -! * owner of the text file. */ - if (mch_stat((char *)orig_name, &st_orig) >= 0 - && mch_stat((char *)file_name, &st_undo) >= 0 -! && st_orig.st_uid != st_undo.st_uid) - { - if (p_verbose > 0) - { ---- 1604,1614 ---- - - #ifdef UNIX - /* For safety we only read an undo file if the owner is equal to the -! * owner of the text file or equal to the current user. */ - if (mch_stat((char *)orig_name, &st_orig) >= 0 - && mch_stat((char *)file_name, &st_undo) >= 0 -! && st_orig.st_uid != st_undo.st_uid -! && st_undo.st_uid != getuid()) - { - if (p_verbose > 0) - { -*** ../vim-7.4.023/src/version.c 2013-09-07 16:35:38.000000000 +0200 ---- src/version.c 2013-09-08 15:38:52.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 24, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -186. You overstay in the office so you can have more time 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 /// diff --git a/7.4.025 b/7.4.025 deleted file mode 100644 index 9ead176e..00000000 --- a/7.4.025 +++ /dev/null @@ -1,62 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.025 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.025 (after 7.4.019 -Problem: Reading before start of a string. -Solution: Do not call mb_ptr_back() at start of a string. (Dominique Pelle) -Files: src/edit.c - - -*** ../vim-7.4.024/src/edit.c 2013-09-07 16:35:38.000000000 +0200 ---- src/edit.c 2013-09-08 15:57:20.000000000 +0200 -*************** -*** 5187,5197 **** - - /* Go back to just before the first filename character. */ - mb_ptr_back(line, p); -! while (vim_isfilec(PTR2CHAR(p)) && p >= line) - mb_ptr_back(line, p); -! startcol = (int)(p - line); - -! compl_col += ++startcol; - compl_length = (int)curs_col - startcol; - compl_pattern = addstar(line + compl_col, compl_length, - EXPAND_FILES); ---- 5187,5199 ---- - - /* Go back to just before the first filename character. */ - mb_ptr_back(line, p); -! while (p > line && vim_isfilec(PTR2CHAR(p))) - mb_ptr_back(line, p); -! startcol = (int)(p - line) + 1; -! if (p == line && vim_isfilec(PTR2CHAR(p))) -! startcol = 0; - -! compl_col += startcol; - compl_length = (int)curs_col - startcol; - compl_pattern = addstar(line + compl_col, compl_length, - EXPAND_FILES); -*** ../vim-7.4.024/src/version.c 2013-09-08 15:40:45.000000000 +0200 ---- src/version.c 2013-09-08 15:52:39.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 25, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -188. You purchase a laptop so you can surf while sitting on the can. - - /// 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 /// diff --git a/7.4.026 b/7.4.026 deleted file mode 100644 index 8add91f7..00000000 --- a/7.4.026 +++ /dev/null @@ -1,65 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.026 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.026 -Problem: Clang warning for int shift overflow. -Solution: Use unsigned and cast back to int. (Dominique Pelle) -Files: src/misc2.c - - -*** ../vim-7.4.025/src/misc2.c 2013-07-07 16:03:35.000000000 +0200 ---- src/misc2.c 2013-09-08 16:04:54.000000000 +0200 -*************** -*** 6496,6508 **** - get4c(fd) - FILE *fd; - { -! int n; - -! n = getc(fd); -! n = (n << 8) + getc(fd); -! n = (n << 8) + getc(fd); -! n = (n << 8) + getc(fd); -! return n; - } - - /* ---- 6496,6510 ---- - get4c(fd) - FILE *fd; - { -! /* Use unsigned rather than int otherwise result is undefined -! * when left-shift sets the MSB. */ -! unsigned n; - -! n = (unsigned)getc(fd); -! n = (n << 8) + (unsigned)getc(fd); -! n = (n << 8) + (unsigned)getc(fd); -! n = (n << 8) + (unsigned)getc(fd); -! return (int)n; - } - - /* -*** ../vim-7.4.025/src/version.c 2013-09-08 16:03:40.000000000 +0200 ---- src/version.c 2013-09-08 16:05:40.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 26, - /**/ - --- -A computer program does what you tell it to do, not what you want it to do. - - /// 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 /// diff --git a/7.4.027 b/7.4.027 deleted file mode 100644 index ab43d59a..00000000 --- a/7.4.027 +++ /dev/null @@ -1,89 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.027 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.027 (after 7.4.025) -Problem: Another valgrind error when using CTRL-X CTRL-F at the start of - the line. (Dominique Pelle) -Solution: Don't call mb_ptr_back() at the start of the line. Add a test. -Files: src/edit.c, src/testdir/test32.in - - -*** ../vim-7.4.026/src/edit.c 2013-09-08 16:03:40.000000000 +0200 ---- src/edit.c 2013-09-08 18:18:32.000000000 +0200 -*************** -*** 5183,5197 **** - } - else if (ctrl_x_mode == CTRL_X_FILES) - { -- char_u *p = line + startcol; -- - /* Go back to just before the first filename character. */ -! mb_ptr_back(line, p); -! while (p > line && vim_isfilec(PTR2CHAR(p))) - mb_ptr_back(line, p); -! startcol = (int)(p - line) + 1; -! if (p == line && vim_isfilec(PTR2CHAR(p))) -! startcol = 0; - - compl_col += startcol; - compl_length = (int)curs_col - startcol; ---- 5183,5201 ---- - } - else if (ctrl_x_mode == CTRL_X_FILES) - { - /* Go back to just before the first filename character. */ -! if (startcol > 0) -! { -! char_u *p = line + startcol; -! - mb_ptr_back(line, p); -! while (p > line && vim_isfilec(PTR2CHAR(p))) -! mb_ptr_back(line, p); -! if (p == line && vim_isfilec(PTR2CHAR(p))) -! startcol = 0; -! else -! startcol = (int)(p - line) + 1; -! } - - compl_col += startcol; - compl_length = (int)curs_col - startcol; -*** ../vim-7.4.026/src/testdir/test32.in 2010-05-15 13:04:10.000000000 +0200 ---- src/testdir/test32.in 2013-09-08 18:08:07.000000000 +0200 -*************** -*** 36,41 **** ---- 36,44 ---- - :w Xtest11.one - :w Xtest11.two - OIXA -+ :" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use -+ :" CTRL-X CTRL-F again to verify this doesn't cause trouble. -+ OXddk - :se cpt=w - OST - :se cpt=u nohid -*** ../vim-7.4.026/src/version.c 2013-09-08 16:07:03.000000000 +0200 ---- src/version.c 2013-09-08 18:14:17.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 27, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -190. You quickly hand over your wallet, leather jacket, and car keys - during a mugging, then proceed to beat the crap out of your - assailant when he asks for your laptop. - - /// 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 /// diff --git a/7.4.028 b/7.4.028 deleted file mode 100644 index 4a0e3cf9..00000000 --- a/7.4.028 +++ /dev/null @@ -1,753 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.028 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.028 -Problem: Equivalence classes are not working for multi-byte characters. -Solution: Copy the rules from the old to the new regexp engine. Add a test - to check both engines. -Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in, - src/testdir/test99.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile - - -*** ../vim-7.4.027/src/regexp_nfa.c 2013-09-05 21:15:38.000000000 +0200 ---- src/regexp_nfa.c 2013-09-19 16:40:08.000000000 +0200 -*************** -*** 742,748 **** - nfa_emit_equi_class(c) - int c; - { -! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT); - - #ifdef FEAT_MBYTE - if (enc_utf8 || STRCMP(p_enc, "latin1") == 0 ---- 742,753 ---- - nfa_emit_equi_class(c) - int c; - { -! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT); -! #ifdef FEAT_MBYTE -! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT); -! #else -! # define EMITMBC(c) -! #endif - - #ifdef FEAT_MBYTE - if (enc_utf8 || STRCMP(p_enc, "latin1") == 0 -*************** -*** 753,844 **** - { - case 'A': case 0300: case 0301: case 0302: - case 0303: case 0304: case 0305: -! EMIT2('A'); EMIT2(0300); EMIT2(0301); -! EMIT2(0302); EMIT2(0303); EMIT2(0304); -! EMIT2(0305); - return OK; - - case 'C': case 0307: -! EMIT2('C'); EMIT2(0307); - return OK; - - case 'E': case 0310: case 0311: case 0312: case 0313: -! EMIT2('E'); EMIT2(0310); EMIT2(0311); -! EMIT2(0312); EMIT2(0313); - return OK; - - case 'I': case 0314: case 0315: case 0316: case 0317: -! EMIT2('I'); EMIT2(0314); EMIT2(0315); -! EMIT2(0316); EMIT2(0317); - return OK; - - case 'N': case 0321: -! EMIT2('N'); EMIT2(0321); - return OK; - - case 'O': case 0322: case 0323: case 0324: case 0325: -! case 0326: -! EMIT2('O'); EMIT2(0322); EMIT2(0323); -! EMIT2(0324); EMIT2(0325); EMIT2(0326); - return OK; - - case 'U': case 0331: case 0332: case 0333: case 0334: -! EMIT2('U'); EMIT2(0331); EMIT2(0332); -! EMIT2(0333); EMIT2(0334); - return OK; - - case 'Y': case 0335: -! EMIT2('Y'); EMIT2(0335); - return OK; - - case 'a': case 0340: case 0341: case 0342: - case 0343: case 0344: case 0345: -! EMIT2('a'); EMIT2(0340); EMIT2(0341); -! EMIT2(0342); EMIT2(0343); EMIT2(0344); -! EMIT2(0345); - return OK; - - case 'c': case 0347: -! EMIT2('c'); EMIT2(0347); - return OK; - - case 'e': case 0350: case 0351: case 0352: case 0353: -! EMIT2('e'); EMIT2(0350); EMIT2(0351); -! EMIT2(0352); EMIT2(0353); - return OK; - - case 'i': case 0354: case 0355: case 0356: case 0357: -! EMIT2('i'); EMIT2(0354); EMIT2(0355); -! EMIT2(0356); EMIT2(0357); - return OK; - - case 'n': case 0361: -! EMIT2('n'); EMIT2(0361); - return OK; - - case 'o': case 0362: case 0363: case 0364: case 0365: -! case 0366: -! EMIT2('o'); EMIT2(0362); EMIT2(0363); -! EMIT2(0364); EMIT2(0365); EMIT2(0366); - return OK; - - case 'u': case 0371: case 0372: case 0373: case 0374: -! EMIT2('u'); EMIT2(0371); EMIT2(0372); -! EMIT2(0373); EMIT2(0374); - return OK; - - case 'y': case 0375: case 0377: -! EMIT2('y'); EMIT2(0375); EMIT2(0377); - return OK; - -! default: -! return FAIL; - } - } - -! EMIT(c); - return OK; - #undef EMIT2 - } - - /* ---- 758,1095 ---- - { - case 'A': case 0300: case 0301: case 0302: - case 0303: case 0304: case 0305: -! CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd) -! CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2) -! EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302); -! EMIT2(0303); EMIT2(0304); EMIT2(0305); -! EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104) -! EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0) -! EMITMBC(0x1ea2) -! return OK; -! -! case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06) -! EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06) - return OK; - - case 'C': case 0307: -! CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c) -! EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108) -! EMITMBC(0x10a) EMITMBC(0x10c) -! return OK; -! -! case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a) -! CASEMBC(0x1e0e) CASEMBC(0x1e10) -! EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a) -! EMITMBC(0x1e0e) EMITMBC(0x1e10) - return OK; - - case 'E': case 0310: case 0311: case 0312: case 0313: -! CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118) -! CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc) -! EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312); -! EMIT2(0313); -! EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116) -! EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba) -! EMITMBC(0x1ebc) -! return OK; -! -! case 'F': CASEMBC(0x1e1e) -! EMIT2('F'); EMITMBC(0x1e1e) -! return OK; -! -! case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120) -! CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4) -! CASEMBC(0x1e20) -! EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120) -! EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6) -! EMITMBC(0x1f4) EMITMBC(0x1e20) -! return OK; -! -! case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22) -! CASEMBC(0x1e26) CASEMBC(0x1e28) -! EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22) -! EMITMBC(0x1e26) EMITMBC(0x1e28) - return OK; - - case 'I': case 0314: case 0315: case 0316: case 0317: -! CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e) -! CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8) -! EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316); -! EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a) -! EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130) -! EMITMBC(0x1cf) EMITMBC(0x1ec8) -! return OK; -! -! case 'J': CASEMBC(0x134) -! EMIT2('J'); EMITMBC(0x134) -! return OK; -! -! case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30) -! CASEMBC(0x1e34) -! EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30) -! EMITMBC(0x1e34) -! return OK; -! -! case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d) -! CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a) -! EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d) -! EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a) -! return OK; -! -! case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40) -! EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40) - return OK; - - case 'N': case 0321: -! CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44) -! CASEMBC(0x1e48) -! EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145) -! EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48) - return OK; - - case 'O': case 0322: case 0323: case 0324: case 0325: -! case 0326: case 0330: -! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0) -! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece) -! EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324); -! EMIT2(0325); EMIT2(0326); EMIT2(0330); -! EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150) -! EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea) -! EMITMBC(0x1ec) EMITMBC(0x1ece) -! return OK; -! -! case 'P': case 0x1e54: case 0x1e56: -! EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56) -! return OK; -! -! case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158) -! CASEMBC(0x1e58) CASEMBC(0x1e5e) -! EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158) -! EMITMBC(0x1e58) EMITMBC(0x1e5e) -! return OK; -! -! case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e) -! CASEMBC(0x160) CASEMBC(0x1e60) -! EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e) -! EMITMBC(0x160) EMITMBC(0x1e60) -! return OK; -! -! case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166) -! CASEMBC(0x1e6a) CASEMBC(0x1e6e) -! EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166) -! EMITMBC(0x1e6a) EMITMBC(0x1e6e) - return OK; - - case 'U': case 0331: case 0332: case 0333: case 0334: -! CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e) -! CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3) -! CASEMBC(0x1ee6) -! EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333); -! EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a) -! EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170) -! EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3) -! EMITMBC(0x1ee6) -! return OK; -! -! case 'V': CASEMBC(0x1e7c) -! EMIT2('V'); EMITMBC(0x1e7c) -! return OK; -! -! case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82) -! CASEMBC(0x1e84) CASEMBC(0x1e86) -! EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82) -! EMITMBC(0x1e84) EMITMBC(0x1e86) -! return OK; -! -! case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c) -! EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c) - return OK; - - case 'Y': case 0335: -! CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2) -! CASEMBC(0x1ef6) CASEMBC(0x1ef8) -! EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178) -! EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6) -! EMITMBC(0x1ef8) -! return OK; -! -! case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d) -! CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94) -! EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d) -! EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94) - return OK; - - case 'a': case 0340: case 0341: case 0342: - case 0343: case 0344: case 0345: -! CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce) -! CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3) -! EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342); -! EMIT2(0343); EMIT2(0344); EMIT2(0345); -! EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105) -! EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1) -! EMITMBC(0x1ea3) -! return OK; -! -! case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07) -! EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07) - return OK; - - case 'c': case 0347: -! CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d) -! EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109) -! EMITMBC(0x10b) EMITMBC(0x10d) -! return OK; -! -! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) -! CASEMBC(0x1e11) -! EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b) -! EMITMBC(0x01e0f) EMITMBC(0x1e11) - return OK; - - case 'e': case 0350: case 0351: case 0352: case 0353: -! CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119) -! CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd) -! EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352); -! EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115) -! EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b) -! EMITMBC(0x1ebb) EMITMBC(0x1ebd) -! return OK; -! -! case 'f': CASEMBC(0x1e1f) -! EMIT2('f'); EMITMBC(0x1e1f) -! return OK; -! -! case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121) -! CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5) -! CASEMBC(0x1e21) -! EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121) -! EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7) -! EMITMBC(0x1f5) EMITMBC(0x1e21) -! return OK; -! -! case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23) -! CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96) -! EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23) -! EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96) - return OK; - - case 'i': case 0354: case 0355: case 0356: case 0357: -! CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f) -! CASEMBC(0x1d0) CASEMBC(0x1ec9) -! EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356); -! EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b) -! EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0) -! EMITMBC(0x1ec9) -! return OK; -! -! case 'j': CASEMBC(0x135) CASEMBC(0x1f0) -! EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0) -! return OK; -! -! case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31) -! CASEMBC(0x1e35) -! EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31) -! EMITMBC(0x1e35) -! return OK; -! -! case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e) -! CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b) -! EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e) -! EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b) -! return OK; -! -! case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41) -! EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41) - return OK; - - case 'n': case 0361: -! CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149) -! CASEMBC(0x1e45) CASEMBC(0x1e49) -! EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146) -! EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45) -! EMITMBC(0x1e49) - return OK; - - case 'o': case 0362: case 0363: case 0364: case 0365: -! case 0366: case 0370: -! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1) -! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf) -! EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364); -! EMIT2(0365); EMIT2(0366); EMIT2(0370); -! EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151) -! EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb) -! EMITMBC(0x1ed) EMITMBC(0x1ecf) -! return OK; -! -! case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57) -! EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57) -! return OK; -! -! case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159) -! CASEMBC(0x1e59) CASEMBC(0x1e5f) -! EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159) -! EMITMBC(0x1e59) EMITMBC(0x1e5f) -! return OK; -! -! case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f) -! CASEMBC(0x161) CASEMBC(0x1e61) -! EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f) -! EMITMBC(0x161) EMITMBC(0x1e61) -! return OK; -! -! case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167) -! CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97) -! EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167) -! EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97) - return OK; - - case 'u': case 0371: case 0372: case 0373: case 0374: -! CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f) -! CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4) -! CASEMBC(0x1ee7) -! EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373); -! EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b) -! EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171) -! EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4) -! EMITMBC(0x1ee7) -! return OK; -! -! case 'v': CASEMBC(0x1e7d) -! EMIT2('v'); EMITMBC(0x1e7d) -! return OK; -! -! case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83) -! CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98) -! EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83) -! EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98) -! return OK; -! -! case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d) -! EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d) - return OK; - - case 'y': case 0375: case 0377: -! CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99) -! CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9) -! EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177) -! EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3) -! EMITMBC(0x1ef7) EMITMBC(0x1ef9) -! return OK; -! -! case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e) -! CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95) -! EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e) -! EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95) - return OK; - -! /* default: character itself */ - } - } - -! EMIT2(c); - return OK; - #undef EMIT2 -+ #undef EMITMBC - } - - /* -*** ../vim-7.4.027/src/testdir/test44.in 2013-05-26 14:16:31.000000000 +0200 ---- src/testdir/test44.in 2013-09-19 16:49:14.000000000 +0200 -*************** -*** 1,9 **** ---- 1,11 ---- - Tests for regexp with multi-byte encoding and various magic settings. - Test matchstr() with a count and multi-byte chars. -+ See test99 for exactly the same test with re=2. - - STARTTEST - :so mbyte.vim - :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo -+ :set re=1 - /^1 - /a*b\{2}c\+/e - x/\Md\*e\{2}f\+/e -*** ../vim-7.4.027/src/testdir/test99.in 2013-09-19 16:59:30.000000000 +0200 ---- src/testdir/test99.in 2013-09-19 16:50:00.000000000 +0200 -*************** -*** 0 **** ---- 1,68 ---- -+ Tests for regexp with multi-byte encoding and various magic settings. -+ Test matchstr() with a count and multi-byte chars. -+ See test44 for exactly the same test with re=1. -+ -+ STARTTEST -+ :so mbyte.vim -+ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo -+ :set re=2 -+ /^1 -+ /a*b\{2}c\+/e -+ x/\Md\*e\{2}f\+/e -+ x:set nomagic -+ /g\*h\{2}i\+/e -+ x/\mj*k\{2}l\+/e -+ x/\vm*n{2}o+/e -+ x/\V^aa$ -+ x:set magic -+ /\v(a)(b)\2\1\1/e -+ x/\V[ab]\(\[xy]\)\1 -+ x:" Now search for multi-byte without composing char -+ /ม -+ x:" Now search for multi-byte with composing char -+ /ม่ -+ x:" find word by change of word class -+ /ã¡\<カヨ\>㯠-+ x:" Test \%u, [\u] and friends -+ /\%u20ac -+ x/[\u4f7f\u5929]\+ -+ x/\%U12345678 -+ x/[\U1234abcd\u1234\uabcd] -+ x/\%d21879b -+ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e -+ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e -+ x:" Test backwards search from a multi-byte char -+ /x -+ x?. -+ x:let @w=':%s#comb[i]nations#œ̄ṣÌm̥̄ᾱ̆Ì#g' -+ :@w -+ :?^1?,$w! test.out -+ :e! test.out -+ G:put =matchstr(\"×בגד\", \".\", 0, 2) " ב -+ :put =matchstr(\"×בגד\", \"..\", 0, 2) " בג -+ :put =matchstr(\"×בגד\", \".\", 0, 0) " × -+ :put =matchstr(\"×בגד\", \".\", 4, -1) " ×’ -+ :w! -+ :qa! -+ ENDTEST -+ -+ 1 a aa abb abbccc -+ 2 d dd dee deefff -+ 3 g gg ghh ghhiii -+ 4 j jj jkk jkklll -+ 5 m mm mnn mnnooo -+ 6 x ^aa$ x -+ 7 (a)(b) abbaa -+ 8 axx [ab]xx -+ 9 หม่x อมx -+ a อมx หม่x -+ b ã¡ã‚«ãƒ¨ã¯ -+ c x ¬€x -+ d 天使x -+ e ü’…™¸y -+ f ü’Нz -+ g aå•·bb -+ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÃ’Ã“Ã”Ã•Ã–Ã˜ÅŒÅŽÅÆ Ç‘ǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáºáº” -+ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅőơǒǫǭỠpṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑẕ -+ j 0123â¤x -+ k combinations -*** ../vim-7.4.027/src/testdir/test99.ok 2013-09-19 16:59:30.000000000 +0200 ---- src/testdir/test99.ok 2013-09-19 16:50:16.000000000 +0200 -*************** -*** 0 **** ---- 1,24 ---- -+ 1 a aa abb abbcc -+ 2 d dd dee deeff -+ 3 g gg ghh ghhii -+ 4 j jj jkk jkkll -+ 5 m mm mnn mnnoo -+ 6 x aa$ x -+ 7 (a)(b) abba -+ 8 axx ab]xx -+ 9 หม่x อx -+ a อมx หx -+ b カヨ㯠-+ c x ¬x -+ d 使x -+ e y -+ f z -+ g abb -+ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÃ’Ã“Ã”Ã•Ã–Ã˜ÅŒÅŽÅÆ Ç‘ǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵẠ-+ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅőơǒǫǭỠpṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑ -+ j 012⤠-+ k œ̄ṣÌmÌ¥Ì„Î±Ì„Ì†Ì -+ ב -+ בג -+ × -+ ×’ -*** ../vim-7.4.027/src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200 ---- src/testdir/Make_amiga.mak 2013-09-19 16:51:48.000000000 +0200 -*************** -*** 33,39 **** - test76.out test77.out test78.out test79.out test80.out \ - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test97.out test98.out - - .SUFFIXES: .in .out - ---- 33,40 ---- - test76.out test77.out test78.out test79.out test80.out \ - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test97.out test98.out \ -! test99.out - - .SUFFIXES: .in .out - -*************** -*** 148,150 **** ---- 149,152 ---- - test96.out: test96.in - test97.out: test97.in - test98.out: test98.in -+ test99.out: test99.in -*** ../vim-7.4.027/src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200 ---- src/testdir/Make_dos.mak 2013-09-19 16:51:56.000000000 +0200 -*************** -*** 32,38 **** - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out - - SCRIPTS32 = test50.out test70.out - ---- 32,38 ---- - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.027/src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200 ---- src/testdir/Make_ming.mak 2013-09-19 16:52:01.000000000 +0200 -*************** -*** 52,58 **** - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out - - SCRIPTS32 = test50.out test70.out - ---- 52,58 ---- - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.027/src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200 ---- src/testdir/Make_os2.mak 2013-09-19 16:52:07.000000000 +0200 -*************** -*** 34,40 **** - test76.out test77.out test78.out test79.out test80.out \ - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out - - .SUFFIXES: .in .out - ---- 34,40 ---- - test76.out test77.out test78.out test79.out test80.out \ - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.027/src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200 ---- src/testdir/Make_vms.mms 2013-09-19 16:52:13.000000000 +0200 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Jul 09 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Sep 19 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 78,84 **** - test77.out test78.out test79.out test80.out test81.out \ - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ -! test95.out test96.out test97.out test98.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 78,84 ---- - test77.out test78.out test79.out test80.out test81.out \ - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ -! test95.out test96.out test97.out test98.out test99.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.027/src/testdir/Makefile 2013-08-10 14:20:20.000000000 +0200 ---- src/testdir/Makefile 2013-09-19 16:52:22.000000000 +0200 -*************** -*** 29,35 **** - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test97.out test98.out - - SCRIPTS_GUI = test16.out - ---- 29,36 ---- - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test97.out test98.out \ -! test99.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.027/src/version.c 2013-09-08 20:00:45.000000000 +0200 ---- src/version.c 2013-09-19 13:54:35.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 28, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -232. You start conversations with, "Have you gotten an ISDN line?" - - /// 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 /// diff --git a/7.4.029 b/7.4.029 deleted file mode 100644 index b87e3a35..00000000 --- a/7.4.029 +++ /dev/null @@ -1,63 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.029 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.029 -Problem: An error in a pattern is reported twice. -Solution: Remove the retry with the backtracking engine, it won't work. -Files: src/regexp.c - - -*** ../vim-7.4.028/src/regexp.c 2013-08-25 17:01:36.000000000 +0200 ---- src/regexp.c 2013-09-19 17:03:31.000000000 +0200 -*************** -*** 8016,8027 **** - } - #endif - /* -! * If NFA engine failed, then revert to the backtracking engine. -! * Except when there was a syntax error, which was properly handled by -! * NFA engine. -! */ - if (regexp_engine == AUTOMATIC_ENGINE) - prog = bt_regengine.regcomp(expr, re_flags); - } - - return prog; ---- 8016,8026 ---- - } - #endif - /* -! * If the NFA engine failed, the backtracking engine won't work either. -! * - if (regexp_engine == AUTOMATIC_ENGINE) - prog = bt_regengine.regcomp(expr, re_flags); -+ */ - } - - return prog; -*** ../vim-7.4.028/src/version.c 2013-09-19 17:00:14.000000000 +0200 ---- src/version.c 2013-09-19 17:01:13.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 29, - /**/ - --- -The term "free software" is defined by Richard M. Stallman as -being software that isn't necessarily for free. Confusing? -Let's call it "Stallman software" then! - -- Bram Moolenaar - - /// 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 /// diff --git a/7.4.030 b/7.4.030 deleted file mode 100644 index d685df67..00000000 --- a/7.4.030 +++ /dev/null @@ -1,109 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.030 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.030 -Problem: The -mno-cygwin argument is no longer supported by Cygwin. -Solution: Remove the arguments. (Steve Hall) -Files: src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak - - -*** ../vim-7.4.029/src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200 ---- src/GvimExt/Make_cyg.mak 2013-09-19 20:46:46.000000000 +0200 -*************** -*** 31,42 **** - ifeq ($(CROSS),yes) - DEL = rm - ifeq ($(MINGWOLD),yes) -! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks - else -! CXXFLAGS := -O2 -mno-cygwin - endif - else -! CXXFLAGS := -O2 -mno-cygwin - ifneq (sh.exe, $(SHELL)) - DEL = rm - else ---- 31,42 ---- - ifeq ($(CROSS),yes) - DEL = rm - ifeq ($(MINGWOLD),yes) -! CXXFLAGS := -O2 -fvtable-thunks - else -! CXXFLAGS := -O2 - endif - else -! CXXFLAGS := -O2 - ifneq (sh.exe, $(SHELL)) - DEL = rm - else -*** ../vim-7.4.029/src/Make_cyg.mak 2013-07-06 13:32:11.000000000 +0200 ---- src/Make_cyg.mak 2013-09-19 20:46:55.000000000 +0200 -*************** -*** 1,6 **** - # - # Makefile for VIM on Win32, using Cygnus gcc -! # Last updated by Dan Sharp. Last Change: 2013 Apr 22 - # - # Also read INSTALLpc.txt! - # ---- 1,6 ---- - # - # Makefile for VIM on Win32, using Cygnus gcc -! # Last updated by Dan Sharp. Last Change: 2013 Sep 19 - # - # Also read INSTALLpc.txt! - # -*************** -*** 439,446 **** - ############################## - ifeq (yes, $(USEDLL)) - DEFINES += -D_MAX_PATH=256 -D__CYGWIN__ -- else -- INCLUDES += -mno-cygwin - endif - - ############################## ---- 439,444 ---- -*** ../vim-7.4.029/src/xxd/Make_cyg.mak 2010-05-15 13:04:06.000000000 +0200 ---- src/xxd/Make_cyg.mak 2013-09-19 20:47:05.000000000 +0200 -*************** -*** 8,14 **** - DEFINES = - LIBS = -lc - else -! DEFINES = -mno-cygwin - LIBS = - endif - ---- 8,14 ---- - DEFINES = - LIBS = -lc - else -! DEFINES = - LIBS = - endif - -*** ../vim-7.4.029/src/version.c 2013-09-19 17:03:57.000000000 +0200 ---- src/version.c 2013-09-19 20:46:32.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 30, - /**/ - --- -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 /// diff --git a/7.4.031 b/7.4.031 deleted file mode 100644 index f4e49d86..00000000 --- a/7.4.031 +++ /dev/null @@ -1,54 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.031 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.031 -Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles - Cooper) -Solution: Only resets related options in a window where 'diff' is set. -Files: src/diff.c - - -*** ../vim-7.4.030/src/diff.c 2013-07-17 13:43:15.000000000 +0200 ---- src/diff.c 2013-09-20 19:58:47.000000000 +0200 -*************** -*** 1203,1209 **** - - for (wp = firstwin; wp != NULL; wp = wp->w_next) - { -! if (wp == curwin || (eap->forceit && wp->w_p_diff)) - { - /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values - * were saved in diff_win_options() restore them. */ ---- 1203,1209 ---- - - for (wp = firstwin; wp != NULL; wp = wp->w_next) - { -! if (eap->forceit ? wp->w_p_diff : wp == curwin) - { - /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values - * were saved in diff_win_options() restore them. */ -*** ../vim-7.4.030/src/version.c 2013-09-19 20:48:59.000000000 +0200 ---- src/version.c 2013-09-20 19:59:45.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 31, - /**/ - --- -"Marriage is a wonderful institution... -but who wants to live in an institution?" - - Groucho Marx - - /// 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 /// diff --git a/7.4.032 b/7.4.032 deleted file mode 100644 index 9e25dc4e..00000000 --- a/7.4.032 +++ /dev/null @@ -1,82 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.032 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.032 -Problem: NFA engine does not match the NUL character. (Jonathon Merz) -Solution: Ues 0x0a instead of NUL. (Christian Brabandt) -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.031/src/regexp_nfa.c 2013-09-19 17:00:14.000000000 +0200 ---- src/regexp_nfa.c 2013-09-22 13:53:46.000000000 +0200 -*************** -*** 1383,1390 **** - EMSG2_RET_FAIL( - _("E678: Invalid character after %s%%[dxouU]"), - reg_magic == MAGIC_ALL); - /* TODO: what if a composing character follows? */ -! EMIT(nr); - } - break; - ---- 1383,1391 ---- - EMSG2_RET_FAIL( - _("E678: Invalid character after %s%%[dxouU]"), - reg_magic == MAGIC_ALL); -+ /* A NUL is stored in the text as NL */ - /* TODO: what if a composing character follows? */ -! EMIT(nr == 0 ? 0x0a : nr); - } - break; - -*** ../vim-7.4.031/src/testdir/test64.in 2013-09-05 21:15:38.000000000 +0200 ---- src/testdir/test64.in 2013-09-22 13:51:53.000000000 +0200 -*************** -*** 373,378 **** ---- 373,379 ---- - :call add(tl, [2, '\%x20', 'yes no', ' ']) - :call add(tl, [2, '\%u0020', 'yes no', ' ']) - :call add(tl, [2, '\%U00000020', 'yes no', ' ']) -+ :call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"]) - :" - :""""" \%[abc] - :call add(tl, [2, 'foo\%[bar]', 'fobar']) -*** ../vim-7.4.031/src/testdir/test64.ok 2013-09-05 21:15:38.000000000 +0200 ---- src/testdir/test64.ok 2013-09-22 13:52:41.000000000 +0200 -*************** -*** 863,868 **** ---- 863,871 ---- - OK 0 - \%U00000020 - OK 1 - \%U00000020 - OK 2 - \%U00000020 -+ OK 0 - \%d0 -+ OK 1 - \%d0 -+ OK 2 - \%d0 - OK 0 - foo\%[bar] - OK 1 - foo\%[bar] - OK 2 - foo\%[bar] -*** ../vim-7.4.031/src/version.c 2013-09-20 20:13:48.000000000 +0200 ---- src/version.c 2013-09-22 13:56:45.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 32, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -247. You use www.switchboard.com instead of dialing 411 and 555-12-12 - for directory assistance. - - /// 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 /// diff --git a/7.4.033 b/7.4.033 deleted file mode 100644 index 7eba8a0a..00000000 --- a/7.4.033 +++ /dev/null @@ -1,116 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.033 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.033 -Problem: When the terminal has only 20 lines test 92 and 93 overwrite the - input file. -Solution: Explicitly write test.out. Check that the terminal is large enough - to run the tests. (Hirohito Higashi) -Files: src/testdir/test92.in, src/testdir/test93.in, - src/testdir/test1.in, src/testdir/Makefile - - -*** ../vim-7.4.032/src/testdir/test92.in 2013-04-18 23:33:45.000000000 +0200 ---- src/testdir/test92.in 2013-09-22 14:45:06.000000000 +0200 -*************** -*** 33,39 **** - :mksession! test.out - :new test.out - :v/\(^ *normal! 0\|^ *exe 'normal!\)/d -! :w - :qa! - ENDTEST - ---- 33,39 ---- - :mksession! test.out - :new test.out - :v/\(^ *normal! 0\|^ *exe 'normal!\)/d -! :w! test.out - :qa! - ENDTEST - -*** ../vim-7.4.032/src/testdir/test93.in 2013-02-26 17:13:01.000000000 +0100 ---- src/testdir/test93.in 2013-09-22 14:45:17.000000000 +0200 -*************** -*** 33,39 **** - :mksession! test.out - :new test.out - :v/\(^ *normal! 0\|^ *exe 'normal!\)/d -! :w - :qa! - ENDTEST - ---- 33,39 ---- - :mksession! test.out - :new test.out - :v/\(^ *normal! 0\|^ *exe 'normal!\)/d -! :w! test.out - :qa! - ENDTEST - -*** ../vim-7.4.032/src/testdir/test1.in 2012-04-05 16:37:37.000000000 +0200 ---- src/testdir/test1.in 2013-09-22 14:52:43.000000000 +0200 -*************** -*** 18,23 **** ---- 18,27 ---- - Similar logic is applied to the +lua feature, using lua.vim. - - STARTTEST -+ :" If columns or lines are too small, create wrongtermsize. -+ :" (Some tests will fail. When columns and/or lines are small) -+ :if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif -+ :" - :" Write a single line to test.out to check if testing works at all. - :%d - athis is a test:w! test.out -*** ../vim-7.4.032/src/testdir/Makefile 2013-09-19 17:00:14.000000000 +0200 ---- src/testdir/Makefile 2013-09-22 14:54:39.000000000 +0200 -*************** -*** 58,66 **** - -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.* - - test1.out: test1.in -! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) - $(RUN_VIM) $*.in -! @/bin/sh -c "if diff test.out $*.ok; \ - then mv -f test.out $*.out; \ - else echo; \ - echo test1 FAILED - Something basic is wrong; \ ---- 58,70 ---- - -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.* - - test1.out: test1.in -! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize - $(RUN_VIM) $*.in -! @/bin/sh -c "if test -e wrongtermsize; \ -! then echo; \ -! echo test1 FAILED - terminal size must be 80x24 or larger; \ -! echo; exit 1; \ -! elif diff test.out $*.ok; \ - then mv -f test.out $*.out; \ - else echo; \ - echo test1 FAILED - Something basic is wrong; \ -*** ../vim-7.4.032/src/version.c 2013-09-22 13:57:19.000000000 +0200 ---- src/version.c 2013-09-22 15:02:04.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 33, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -248. You sign your letters with your e-mail address instead of your name. - - /// 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 /// diff --git a/7.4.034 b/7.4.034 deleted file mode 100644 index f111e116..00000000 --- a/7.4.034 +++ /dev/null @@ -1,180 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.034 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.034 -Problem: Using "p" in Visual block mode only changes the first line. -Solution: Repeat the put in all text in the block. (Christian Brabandt) -Files: runtime/doc/change.txt, src/ops.c, src/normal.c, - src/testdir/test20.in, src/testdir/test20.ok - - -*** ../vim-7.4.033/runtime/doc/change.txt 2013-08-10 13:24:52.000000000 +0200 ---- runtime/doc/change.txt 2013-09-22 15:12:20.000000000 +0200 -*************** -*** 1069,1074 **** ---- 1069,1079 ---- - replace and use "0p . You can repeat this as many times as you like, the - unnamed register will be changed each time. - -+ When you use a blockwise Visual mode command and yank only a single line into -+ a register, a paste on a visual selected area will paste that single line on -+ each of the selected lines (thus replacing the blockwise selected region by a -+ block of the pasted line). -+ - *blockwise-register* - If you use a blockwise Visual mode command to get the text into the register, - the block of text will be inserted before ("P") or after ("p") the cursor -*** ../vim-7.4.033/src/ops.c 2013-08-09 19:34:32.000000000 +0200 ---- src/ops.c 2013-09-22 15:18:03.000000000 +0200 -*************** -*** 3776,3800 **** - */ - if (y_type == MCHAR && y_size == 1) - { -! totlen = count * yanklen; -! if (totlen) -! { -! oldp = ml_get(lnum); -! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1)); -! if (newp == NULL) -! goto end; /* alloc() will give error message */ -! mch_memmove(newp, oldp, (size_t)col); -! ptr = newp + col; -! for (i = 0; i < count; ++i) - { -! mch_memmove(ptr, y_array[0], (size_t)yanklen); -! ptr += yanklen; - } -! STRMOVE(ptr, oldp + col); -! ml_replace(lnum, newp, FALSE); -! /* Put cursor on last putted char. */ -! curwin->w_cursor.col += (colnr_T)(totlen - 1); -! } - curbuf->b_op_end = curwin->w_cursor; - /* For "CTRL-O p" in Insert mode, put cursor after last char */ - if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND))) ---- 3776,3817 ---- - */ - if (y_type == MCHAR && y_size == 1) - { -! do { -! totlen = count * yanklen; -! if (totlen > 0) - { -! oldp = ml_get(lnum); -! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1)); -! if (newp == NULL) -! goto end; /* alloc() gave an error message */ -! mch_memmove(newp, oldp, (size_t)col); -! ptr = newp + col; -! for (i = 0; i < count; ++i) -! { -! mch_memmove(ptr, y_array[0], (size_t)yanklen); -! ptr += yanklen; -! } -! STRMOVE(ptr, oldp + col); -! ml_replace(lnum, newp, FALSE); -! /* Place cursor on last putted char. */ -! if (lnum == curwin->w_cursor.lnum) -! curwin->w_cursor.col += (colnr_T)(totlen - 1); - } -! #ifdef FEAT_VISUAL -! if (VIsual_active) -! lnum++; -! #endif -! } while ( -! #ifdef FEAT_VISUAL -! VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum -! #else -! FALSE /* stop after 1 paste */ -! #endif -! ); -! #ifdef FEAT_VISUAL -! VIsual_active = FALSE; -! #endif -! - curbuf->b_op_end = curwin->w_cursor; - /* For "CTRL-O p" in Insert mode, put cursor after last char */ - if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND))) -*** ../vim-7.4.033/src/normal.c 2013-07-14 13:24:37.000000000 +0200 ---- src/normal.c 2013-09-22 15:15:18.000000000 +0200 -*************** -*** 9518,9523 **** ---- 9518,9525 ---- - /* cursor is at the end of the line or end of file, put - * forward. */ - dir = FORWARD; -+ /* May have been reset in do_put(). */ -+ VIsual_active = TRUE; - } - #endif - do_put(cap->oap->regname, dir, cap->count1, flags); -*** ../vim-7.4.033/src/testdir/test20.in 2010-05-15 13:04:10.000000000 +0200 ---- src/testdir/test20.in 2013-09-22 15:11:37.000000000 +0200 -*************** -*** 9,19 **** - @auY:quit! - GP - /start here$ -! jjlld -! :/here$/,$-1w! test.out - :qa! - ENDTEST - - test text test tex start here - some text - test text ---- 9,25 ---- - @auY:quit! - GP - /start here$ -! "by$jjlld -! /456$ -! jj"bP -! :/56$/,$-1w! test.out - :qa! - ENDTEST - -+ 123456 -+ 234567 -+ 345678 -+ - test text test tex start here - some text - test text -*** ../vim-7.4.033/src/testdir/test20.ok 2010-05-15 13:04:10.000000000 +0200 ---- src/testdir/test20.ok 2013-09-22 15:11:37.000000000 +0200 -*************** -*** 1,3 **** ---- 1,7 ---- -+ 123start here56 -+ 234start here67 -+ 345start here78 -+ - test text test tex rt here - somext - tesext -*** ../vim-7.4.033/src/version.c 2013-09-22 15:03:34.000000000 +0200 ---- src/version.c 2013-09-22 15:14:04.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 34, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -249. You've forgotten what the outside looks like. - - /// 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 /// diff --git a/7.4.035 b/7.4.035 deleted file mode 100644 index 9c4664a6..00000000 --- a/7.4.035 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.035 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.035 -Problem: MS-Windows: The mouse pointer flickers when going from command - line mode to Normal mode. -Solution: Check for WM_NCMOUSEMOVE. (Ken Takata) -Files: src/gui_w48.c - - -*** ../vim-7.4.034/src/gui_w48.c 2013-08-10 13:36:45.000000000 +0200 ---- src/gui_w48.c 2013-09-22 15:41:56.000000000 +0200 -*************** -*** 1008,1014 **** - static LPARAM last_lParam = 0L; - - /* We sometimes get a mousemove when the mouse didn't move... */ -! if (uMsg == WM_MOUSEMOVE) - { - if (lParam == last_lParam) - return; ---- 1008,1014 ---- - static LPARAM last_lParam = 0L; - - /* We sometimes get a mousemove when the mouse didn't move... */ -! if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE) - { - if (lParam == last_lParam) - return; -*** ../vim-7.4.034/src/version.c 2013-09-22 15:23:38.000000000 +0200 ---- src/version.c 2013-09-22 15:41:29.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 35, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -251. You've never seen your closest friends who usually live WAY too far away. - - /// 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 /// diff --git a/7.4.036 b/7.4.036 deleted file mode 100644 index 49afc269..00000000 --- a/7.4.036 +++ /dev/null @@ -1,273 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.036 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.036 -Problem: NFA engine does not capture group correctly when using \@>. (ZyX) -Solution: Copy submatches before doing the recursive match. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.035/src/regexp_nfa.c 2013-09-22 13:57:19.000000000 +0200 ---- src/regexp_nfa.c 2013-09-25 16:35:54.000000000 +0200 -*************** -*** 36,42 **** - { - NFA_SPLIT = -1024, - NFA_MATCH, -! NFA_SKIP_CHAR, /* matches a 0-length char */ - - NFA_START_COLL, /* [abc] start */ - NFA_END_COLL, /* [abc] end */ ---- 36,42 ---- - { - NFA_SPLIT = -1024, - NFA_MATCH, -! NFA_EMPTY, /* matches 0-length */ - - NFA_START_COLL, /* [abc] start */ - NFA_END_COLL, /* [abc] end */ -*************** -*** 2005,2012 **** - { - /* Ignore result of previous call to nfa_regatom() */ - post_ptr = post_start + my_post_start; -! /* NFA_SKIP_CHAR has 0-length and works everywhere */ -! EMIT(NFA_SKIP_CHAR); - return OK; - } - ---- 2005,2012 ---- - { - /* Ignore result of previous call to nfa_regatom() */ - post_ptr = post_start + my_post_start; -! /* NFA_EMPTY is 0-length and works everywhere */ -! EMIT(NFA_EMPTY); - return OK; - } - -*************** -*** 2170,2185 **** - old_post_pos = (int)(post_ptr - post_start); - if (nfa_regconcat() == FAIL) - return FAIL; -! /* if concat is empty, skip a input char. But do emit a node */ - if (old_post_pos == (int)(post_ptr - post_start)) -! EMIT(NFA_SKIP_CHAR); - EMIT(NFA_CONCAT); - ch = peekchr(); - } - -! /* Even if a branch is empty, emit one node for it */ - if (old_post_pos == (int)(post_ptr - post_start)) -! EMIT(NFA_SKIP_CHAR); - - return OK; - } ---- 2170,2185 ---- - old_post_pos = (int)(post_ptr - post_start); - if (nfa_regconcat() == FAIL) - return FAIL; -! /* if concat is empty do emit a node */ - if (old_post_pos == (int)(post_ptr - post_start)) -! EMIT(NFA_EMPTY); - EMIT(NFA_CONCAT); - ch = peekchr(); - } - -! /* if a branch is empty, emit one node for it */ - if (old_post_pos == (int)(post_ptr - post_start)) -! EMIT(NFA_EMPTY); - - return OK; - } -*************** -*** 2423,2429 **** - case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break; - case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break; - case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break; -! case NFA_SKIP_CHAR: STRCPY(code, "NFA_SKIP_CHAR"); break; - case NFA_OR: STRCPY(code, "NFA_OR"); break; - - case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break; ---- 2423,2429 ---- - case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break; - case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break; - case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break; -! case NFA_EMPTY: STRCPY(code, "NFA_EMPTY"); break; - case NFA_OR: STRCPY(code, "NFA_OR"); break; - - case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break; -*************** -*** 3067,3073 **** - case NFA_ZSTART: - case NFA_ZEND: - case NFA_OPT_CHARS: -! case NFA_SKIP_CHAR: - case NFA_START_PATTERN: - case NFA_END_PATTERN: - case NFA_COMPOSING: ---- 3067,3073 ---- - case NFA_ZSTART: - case NFA_ZEND: - case NFA_OPT_CHARS: -! case NFA_EMPTY: - case NFA_START_PATTERN: - case NFA_END_PATTERN: - case NFA_COMPOSING: -*************** -*** 3265,3279 **** - PUSH(frag(e1.start, e2.out)); - break; - -! case NFA_SKIP_CHAR: -! /* Symbol of 0-length, Used in a repetition -! * with max/min count of 0 */ - if (nfa_calc_size == TRUE) - { - nstate++; - break; - } -! s = alloc_state(NFA_SKIP_CHAR, NULL, NULL); - if (s == NULL) - goto theend; - PUSH(frag(s, list1(&s->out))); ---- 3265,3278 ---- - PUSH(frag(e1.start, e2.out)); - break; - -! case NFA_EMPTY: -! /* 0-length, used in a repetition with max/min count of 0 */ - if (nfa_calc_size == TRUE) - { - nstate++; - break; - } -! s = alloc_state(NFA_EMPTY, NULL, NULL); - if (s == NULL) - goto theend; - PUSH(frag(s, list1(&s->out))); -*************** -*** 4209,4215 **** - case NFA_MOPEN: - case NFA_ZEND: - case NFA_SPLIT: -! case NFA_SKIP_CHAR: - /* These nodes are not added themselves but their "out" and/or - * "out1" may be added below. */ - break; ---- 4208,4214 ---- - case NFA_MOPEN: - case NFA_ZEND: - case NFA_SPLIT: -! case NFA_EMPTY: - /* These nodes are not added themselves but their "out" and/or - * "out1" may be added below. */ - break; -*************** -*** 4337,4343 **** - subs = addstate(l, state->out1, subs, pim, off); - break; - -! case NFA_SKIP_CHAR: - case NFA_NOPEN: - case NFA_NCLOSE: - subs = addstate(l, state->out, subs, pim, off); ---- 4336,4342 ---- - subs = addstate(l, state->out1, subs, pim, off); - break; - -! case NFA_EMPTY: - case NFA_NOPEN: - case NFA_NCLOSE: - subs = addstate(l, state->out, subs, pim, off); -*************** -*** 5604,5612 **** - { - int in_use = m->norm.in_use; - -! /* Copy submatch info for the recursive call, so that -! * \1 can be matched. */ - copy_sub_off(&m->norm, &t->subs.norm); - - /* - * First try matching the invisible match, then what ---- 5603,5615 ---- - { - int in_use = m->norm.in_use; - -! /* Copy submatch info for the recursive call, opposite -! * of what happens on success below. */ - copy_sub_off(&m->norm, &t->subs.norm); -+ #ifdef FEAT_SYN_HL -+ if (nfa_has_zsubexpr) -+ copy_sub_off(&m->synt, &t->subs.synt); -+ #endif - - /* - * First try matching the invisible match, then what -*************** -*** 5713,5718 **** ---- 5716,5728 ---- - #endif - break; - } -+ /* Copy submatch info to the recursive call, opposite of what -+ * happens afterwards. */ -+ copy_sub_off(&m->norm, &t->subs.norm); -+ #ifdef FEAT_SYN_HL -+ if (nfa_has_zsubexpr) -+ copy_sub_off(&m->synt, &t->subs.synt); -+ #endif - - /* First try matching the pattern. */ - result = recursive_regmatch(t->state, NULL, prog, -*** ../vim-7.4.035/src/testdir/test64.in 2013-09-22 13:57:19.000000000 +0200 ---- src/testdir/test64.in 2013-09-25 15:51:12.000000000 +0200 -*************** -*** 430,435 **** ---- 430,436 ---- - :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) - :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) - :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab']) -+ :call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', '']) - :" TODO: BT engine does not restore submatch after failure - :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa']) - :" -*** ../vim-7.4.035/src/testdir/test64.ok 2013-09-22 13:57:19.000000000 +0200 ---- src/testdir/test64.ok 2013-09-25 16:39:31.000000000 +0200 -*************** -*** 992,997 **** ---- 992,1000 ---- - OK 0 - ^\(.\{-}b\)\@>. - OK 1 - ^\(.\{-}b\)\@>. - OK 2 - ^\(.\{-}b\)\@>. -+ OK 0 - \(.\{-}\)\(\)\@>$ -+ OK 1 - \(.\{-}\)\(\)\@>$ -+ OK 2 - \(.\{-}\)\(\)\@>$ - OK 0 - \(a*\)\@>a\|a\+ - OK 2 - \(a*\)\@>a\|a\+ - OK 0 - \_[^8-9]\+ -*** ../vim-7.4.035/src/version.c 2013-09-22 15:43:34.000000000 +0200 ---- src/version.c 2013-09-25 16:40:01.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 36, - /**/ - --- -There is a fine line between courage and foolishness. -Unfortunately, it's not a fence. - - /// 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 /// diff --git a/7.4.037 b/7.4.037 deleted file mode 100644 index 3c6369b7..00000000 --- a/7.4.037 +++ /dev/null @@ -1,130 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.037 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.037 -Problem: Using "\ze" in a sub-pattern does not result in the end of the - match to be set. (Axel Bender) -Solution: Copy the end of match position when a recursive match was - successful. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.036/src/regexp_nfa.c 2013-09-25 16:41:50.000000000 +0200 ---- src/regexp_nfa.c 2013-09-25 18:09:59.000000000 +0200 -*************** -*** 3822,3827 **** ---- 3822,3828 ---- - static void clear_sub __ARGS((regsub_T *sub)); - static void copy_sub __ARGS((regsub_T *to, regsub_T *from)); - static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from)); -+ static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from)); - static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2)); - static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen)); - static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim)); -*************** -*** 3909,3914 **** ---- 3910,3938 ---- - } - - /* -+ * Like copy_sub() but only do the end of the main match if \ze is present. -+ */ -+ static void -+ copy_ze_off(to, from) -+ regsub_T *to; -+ regsub_T *from; -+ { -+ if (nfa_has_zend) -+ { -+ if (REG_MULTI) -+ { -+ if (from->list.multi[0].end.lnum >= 0) -+ to->list.multi[0].end = from->list.multi[0].end; -+ } -+ else -+ { -+ if (from->list.line[0].end != NULL) -+ to->list.line[0].end = from->list.line[0].end; -+ } -+ } -+ } -+ -+ /* - * Return TRUE if "sub1" and "sub2" have the same start positions. - */ - static int -*************** -*** 5308,5313 **** ---- 5332,5338 ---- - * When "nfa_endp" is not NULL it is a required end-of-match position. - * - * Return TRUE if there is a match, FALSE otherwise. -+ * When there is a match "submatch" contains the positions. - * Note: Caller must ensure that: start != NULL. - */ - static int -*************** -*** 5633,5638 **** ---- 5658,5666 ---- - if (nfa_has_zsubexpr) - copy_sub_off(&t->subs.synt, &m->synt); - #endif -+ /* If the pattern has \ze and it matched in the -+ * sub pattern, use it. */ -+ copy_ze_off(&t->subs.norm, &m->norm); - - /* t->state->out1 is the corresponding - * END_INVISIBLE node; Add its out to the current -*** ../vim-7.4.036/src/testdir/test64.in 2013-09-25 16:41:50.000000000 +0200 ---- src/testdir/test64.in 2013-09-25 18:09:16.000000000 +0200 -*************** -*** 425,430 **** ---- 425,431 ---- - :" - :" complicated look-behind match - :call add(tl, [2, '\(r\@<=\|\w\@ - :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) -*** ../vim-7.4.036/src/testdir/test64.ok 2013-09-25 16:41:50.000000000 +0200 ---- src/testdir/test64.ok 2013-09-25 18:10:05.000000000 +0200 -*************** -*** 983,988 **** ---- 983,991 ---- - OK 0 - \(r\@<=\|\w\@a - OK 1 - \(a*\)\@>a - OK 2 - \(a*\)\@>a -*** ../vim-7.4.036/src/version.c 2013-09-25 16:41:50.000000000 +0200 ---- src/version.c 2013-09-25 18:14:36.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 37, - /**/ - --- -MAN: You don't frighten us, English pig-dog! Go and boil your bottoms, - son of a silly person. I blow my nose on you, so-called Arthur-king, - you and your silly English K...kaniggets. - He puts hands to his ears and blows a raspberry. - "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 /// diff --git a/7.4.038 b/7.4.038 deleted file mode 100644 index 0aae370e..00000000 --- a/7.4.038 +++ /dev/null @@ -1,116 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.038 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.038 -Problem: Using "zw" and "zg" when 'spell' is off give a confusing error - message. (Gary Johnson) -Solution: Ignore the error when locating the word. Explicitly mention what - word was added. (Christian Brabandt) -Files: src/normal.c, src/spell.c - - -*** ../vim-7.4.037/src/normal.c 2013-09-22 15:23:38.000000000 +0200 ---- src/normal.c 2013-09-25 18:54:08.000000000 +0200 -*************** -*** 5246,5253 **** - { - pos_T pos = curwin->w_cursor; - -! /* Find bad word under the cursor. */ - len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL); - if (len != 0 && curwin->w_cursor.col <= pos.col) - ptr = ml_get_pos(&curwin->w_cursor); - curwin->w_cursor = pos; ---- 5246,5257 ---- - { - pos_T pos = curwin->w_cursor; - -! /* Find bad word under the cursor. When 'spell' is -! * off this fails and find_ident_under_cursor() is -! * used below. */ -! emsg_off++; - len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL); -+ emsg_off--; - if (len != 0 && curwin->w_cursor.col <= pos.col) - ptr = ml_get_pos(&curwin->w_cursor); - curwin->w_cursor = pos; -*** ../vim-7.4.037/src/spell.c 2013-07-17 17:28:28.000000000 +0200 ---- src/spell.c 2013-09-25 18:48:55.000000000 +0200 -*************** -*** 9479,9485 **** - if (undo) - { - home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); -! smsg((char_u *)_("Word removed from %s"), NameBuff); - } - } - fseek(fd, fpos_next, SEEK_SET); ---- 9479,9486 ---- - if (undo) - { - home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); -! smsg((char_u *)_("Word '%.*s' removed from %s"), -! len, word, NameBuff); - } - } - fseek(fd, fpos_next, SEEK_SET); -*************** -*** 9525,9531 **** - fclose(fd); - - home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); -! smsg((char_u *)_("Word added to %s"), NameBuff); - } - } - ---- 9526,9532 ---- - fclose(fd); - - home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); -! smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff); - } - } - -*************** -*** 10135,10141 **** - } - - /* -! * "z?": Find badly spelled word under or after the cursor. - * Give suggestions for the properly spelled word. - * In Visual mode use the highlighted word as the bad word. - * When "count" is non-zero use that suggestion. ---- 10136,10142 ---- - } - - /* -! * "z=": Find badly spelled word under or after the cursor. - * Give suggestions for the properly spelled word. - * In Visual mode use the highlighted word as the bad word. - * When "count" is non-zero use that suggestion. -*** ../vim-7.4.037/src/version.c 2013-09-25 18:16:34.000000000 +0200 ---- src/version.c 2013-09-25 18:52:47.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 38, - /**/ - --- -MAN: Fetchez la vache! -GUARD: Quoi? -MAN: Fetchez la vache! - "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 /// diff --git a/7.4.039 b/7.4.039 deleted file mode 100644 index 5d653e35..00000000 --- a/7.4.039 +++ /dev/null @@ -1,217 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.039 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.039 -Problem: MS-Windows: MSCV10 and earlier can't handle symlinks to a - directory properly. -Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata) -Files: src/os_mswin.c, src/os_win32.c, src/os_win32.h - - -*** ../vim-7.4.038/src/os_mswin.c 2013-08-30 16:51:15.000000000 +0200 ---- src/os_mswin.c 2013-09-25 19:09:53.000000000 +0200 -*************** -*** 498,503 **** ---- 498,595 ---- - } - } - -+ static int -+ stat_symlink_aware(const char *name, struct stat *stp) -+ { -+ #if defined(_MSC_VER) && _MSC_VER < 1700 -+ /* Work around for VC10 or earlier. stat() can't handle symlinks properly. -+ * VC9 or earlier: stat() doesn't support a symlink at all. It retrieves -+ * status of a symlink itself. -+ * VC10: stat() supports a symlink to a normal file, but it doesn't support -+ * a symlink to a directory (always returns an error). */ -+ WIN32_FIND_DATA findData; -+ HANDLE hFind, h; -+ DWORD attr = 0; -+ BOOL is_symlink = FALSE; -+ -+ hFind = FindFirstFile(name, &findData); -+ if (hFind != INVALID_HANDLE_VALUE) -+ { -+ attr = findData.dwFileAttributes; -+ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT) -+ && (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK)) -+ is_symlink = TRUE; -+ FindClose(hFind); -+ } -+ if (is_symlink) -+ { -+ h = CreateFile(name, FILE_READ_ATTRIBUTES, -+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, -+ OPEN_EXISTING, -+ (attr & FILE_ATTRIBUTE_DIRECTORY) -+ ? FILE_FLAG_BACKUP_SEMANTICS : 0, -+ NULL); -+ if (h != INVALID_HANDLE_VALUE) -+ { -+ int fd, n; -+ -+ fd = _open_osfhandle((intptr_t)h, _O_RDONLY); -+ n = _fstat(fd, (struct _stat*)stp); -+ _close(fd); -+ return n; -+ } -+ } -+ #endif -+ return stat(name, stp); -+ } -+ -+ #ifdef FEAT_MBYTE -+ static int -+ wstat_symlink_aware(const WCHAR *name, struct _stat *stp) -+ { -+ # if defined(_MSC_VER) && _MSC_VER < 1700 -+ /* Work around for VC10 or earlier. _wstat() can't handle symlinks properly. -+ * VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves -+ * status of a symlink itself. -+ * VC10: _wstat() supports a symlink to a normal file, but it doesn't -+ * support a symlink to a directory (always returns an error). */ -+ int n; -+ BOOL is_symlink = FALSE; -+ HANDLE hFind, h; -+ DWORD attr = 0; -+ WIN32_FIND_DATAW findDataW; -+ -+ hFind = FindFirstFileW(name, &findDataW); -+ if (hFind != INVALID_HANDLE_VALUE) -+ { -+ attr = findDataW.dwFileAttributes; -+ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT) -+ && (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK)) -+ is_symlink = TRUE; -+ FindClose(hFind); -+ } -+ if (is_symlink) -+ { -+ h = CreateFileW(name, FILE_READ_ATTRIBUTES, -+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, -+ OPEN_EXISTING, -+ (attr & FILE_ATTRIBUTE_DIRECTORY) -+ ? FILE_FLAG_BACKUP_SEMANTICS : 0, -+ NULL); -+ if (h != INVALID_HANDLE_VALUE) -+ { -+ int fd; -+ -+ fd = _open_osfhandle((intptr_t)h, _O_RDONLY); -+ n = _fstat(fd, stp); -+ _close(fd); -+ return n; -+ } -+ } -+ # endif -+ return _wstat(name, stp); -+ } -+ #endif - - /* - * stat() can't handle a trailing '/' or '\', remove it first. -*************** -*** 534,540 **** - - if (wp != NULL) - { -! n = _wstat(wp, (struct _stat *)stp); - vim_free(wp); - if (n >= 0) - return n; ---- 626,632 ---- - - if (wp != NULL) - { -! n = wstat_symlink_aware(wp, (struct _stat *)stp); - vim_free(wp); - if (n >= 0) - return n; -*************** -*** 544,550 **** - } - } - #endif -! return stat(buf, stp); - } - - #if defined(FEAT_GUI_MSWIN) || defined(PROTO) ---- 636,642 ---- - } - } - #endif -! return stat_symlink_aware(buf, stp); - } - - #if defined(FEAT_GUI_MSWIN) || defined(PROTO) -*** ../vim-7.4.038/src/os_win32.c 2013-08-30 17:29:10.000000000 +0200 ---- src/os_win32.c 2013-09-25 19:09:53.000000000 +0200 -*************** -*** 78,93 **** - # endif - #endif - -- /* -- * Reparse Point -- */ -- #ifndef FILE_ATTRIBUTE_REPARSE_POINT -- # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 -- #endif -- #ifndef IO_REPARSE_TAG_SYMLINK -- # define IO_REPARSE_TAG_SYMLINK 0xA000000C -- #endif -- - /* Record all output and all keyboard & mouse input */ - /* #define MCH_WRITE_DUMP */ - ---- 78,83 ---- -*** ../vim-7.4.038/src/os_win32.h 2013-07-21 17:53:13.000000000 +0200 ---- src/os_win32.h 2013-09-25 19:09:53.000000000 +0200 -*************** -*** 130,135 **** ---- 130,148 ---- - # define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */ - #endif - -+ /* -+ * Reparse Point -+ */ -+ #ifndef FILE_ATTRIBUTE_REPARSE_POINT -+ # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 -+ #endif -+ #ifndef IO_REPARSE_TAG_MOUNT_POINT -+ # define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 -+ #endif -+ #ifndef IO_REPARSE_TAG_SYMLINK -+ # define IO_REPARSE_TAG_SYMLINK 0xA000000C -+ #endif -+ - #if defined(_MSC_VER) || defined(__BORLANDC__) - /* Support for __try / __except. All versions of MSVC and Borland C are - * expected to have this. Any other compilers that support it? */ -*** ../vim-7.4.038/src/version.c 2013-09-25 18:54:20.000000000 +0200 ---- src/version.c 2013-09-25 19:08:55.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 39, - /**/ - --- - A cow comes flying over the battlements, lowing aggressively. The cow - lands on GALAHAD'S PAGE, squashing him completely. - "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 /// diff --git a/7.4.040 b/7.4.040 deleted file mode 100644 index a6002236..00000000 --- a/7.4.040 +++ /dev/null @@ -1,68 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.040 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.040 -Problem: Valgrind error on exit when a script-local variable holds a - reference to the scope of another script. -Solution: First clear all variables, then free the scopes. (ZyX) -Files: src/eval.c - - -*** ../vim-7.4.039/src/eval.c 2013-08-30 16:35:41.000000000 +0200 ---- src/eval.c 2013-09-25 20:28:15.000000000 +0200 -*************** -*** 915,926 **** - /* autoloaded script names */ - ga_clear_strings(&ga_loaded); - -! /* script-local variables */ - for (i = 1; i <= ga_scripts.ga_len; ++i) -- { - vars_clear(&SCRIPT_VARS(i)); - vim_free(SCRIPT_SV(i)); -- } - ga_clear(&ga_scripts); - - /* unreferenced lists and dicts */ ---- 915,927 ---- - /* autoloaded script names */ - ga_clear_strings(&ga_loaded); - -! /* Script-local variables. First clear all the variables and in a second -! * loop free the scriptvar_T, because a variable in one script might hold -! * a reference to the whole scope of another script. */ - for (i = 1; i <= ga_scripts.ga_len; ++i) - vars_clear(&SCRIPT_VARS(i)); -+ for (i = 1; i <= ga_scripts.ga_len; ++i) - vim_free(SCRIPT_SV(i)); - ga_clear(&ga_scripts); - - /* unreferenced lists and dicts */ -*** ../vim-7.4.039/src/version.c 2013-09-25 19:13:32.000000000 +0200 ---- src/version.c 2013-09-25 20:30:06.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 40, - /**/ - --- - A KNIGHT rides into shot and hacks him to the ground. He rides off. - We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A. - twin-set emerges from the trees and looks in horror at the body of her - HUSBAND. -MRS HISTORIAN: FRANK! - "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 /// diff --git a/7.4.041 b/7.4.041 deleted file mode 100644 index 190604e9..00000000 --- a/7.4.041 +++ /dev/null @@ -1,61 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.041 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.041 (after 7.4.034) -Problem: Visual selection does not remain after being copied over. (Axel - Bender) -Solution: Move when VIsual_active is reset. (Christian Brabandt) -Files: src/ops.c - - -*** ../vim-7.4.040/src/ops.c 2013-09-22 15:23:38.000000000 +0200 ---- src/ops.c 2013-09-25 23:20:37.000000000 +0200 -*************** -*** 3808,3816 **** - FALSE /* stop after 1 paste */ - #endif - ); -- #ifdef FEAT_VISUAL -- VIsual_active = FALSE; -- #endif - - curbuf->b_op_end = curwin->w_cursor; - /* For "CTRL-O p" in Insert mode, put cursor after last char */ ---- 3808,3813 ---- -*************** -*** 3972,3977 **** ---- 3969,3978 ---- - if (regname == '=') - vim_free(y_array); - -+ #ifdef FEAT_VISUAL -+ VIsual_active = FALSE; -+ #endif -+ - /* If the cursor is past the end of the line put it at the end. */ - adjust_cursor_eol(); - } -*** ../vim-7.4.040/src/version.c 2013-09-25 21:00:24.000000000 +0200 ---- src/version.c 2013-09-25 23:20:46.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 41, - /**/ - - --- -press CTRL-ALT-DEL for more information - - /// 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 /// diff --git a/7.4.042 b/7.4.042 deleted file mode 100644 index 648a1bfe..00000000 --- a/7.4.042 +++ /dev/null @@ -1,71 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.042 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.042 -Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump - doesn't work. (Dimitar Dimitrov) -Solution: Copy the option variables to the new window used to show the dump. - (Christian Brabandt) -Files: src/spell.c - - -*** ../vim-7.4.041/src/spell.c 2013-09-25 18:54:20.000000000 +0200 ---- src/spell.c 2013-09-29 13:15:51.000000000 +0200 -*************** -*** 15569,15579 **** - ex_spelldump(eap) - exarg_T *eap; - { - if (no_spell_checking(curwin)) - return; - -! /* Create a new empty buffer by splitting the window. */ - do_cmdline_cmd((char_u *)"new"); - if (!bufempty() || !buf_valid(curbuf)) - return; - ---- 15569,15589 ---- - ex_spelldump(eap) - exarg_T *eap; - { -+ char_u *spl; -+ long dummy; -+ - if (no_spell_checking(curwin)) - return; -+ get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL); - -! /* Create a new empty buffer in a new window. */ - do_cmdline_cmd((char_u *)"new"); -+ -+ /* enable spelling locally in the new window */ -+ set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL); -+ set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL); -+ vim_free(spl); -+ - if (!bufempty() || !buf_valid(curbuf)) - return; - -*** ../vim-7.4.041/src/version.c 2013-09-25 23:24:54.000000000 +0200 ---- src/version.c 2013-09-29 13:15:17.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 42, - /**/ - --- -Experience is what you get when you don't get what you 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 /// diff --git a/7.4.043 b/7.4.043 deleted file mode 100644 index 0c3d852c..00000000 --- a/7.4.043 +++ /dev/null @@ -1,89 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.043 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.043 -Problem: VMS can't handle long function names. -Solution: Shorten may_req_ambiguous_character_width. (Samuel Ferencik) -Files: src/main.c, src/term.c, src/proto/term.pro - - -*** ../vim-7.4.042/src/main.c 2013-08-22 14:14:23.000000000 +0200 ---- src/main.c 2013-09-29 16:23:49.000000000 +0200 -*************** -*** 812,818 **** - starttermcap(); /* start termcap if not done by wait_return() */ - TIME_MSG("start termcap"); - #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE) -! may_req_ambiguous_character_width(); - #endif - - #ifdef FEAT_MOUSE ---- 812,818 ---- - starttermcap(); /* start termcap if not done by wait_return() */ - TIME_MSG("start termcap"); - #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE) -! may_req_ambiguous_char_width(); - #endif - - #ifdef FEAT_MOUSE -*** ../vim-7.4.042/src/term.c 2013-07-04 22:29:28.000000000 +0200 ---- src/term.c 2013-09-29 16:27:12.000000000 +0200 -*************** -*** 3356,3362 **** - * it must be called immediately after entering termcap mode. - */ - void -! may_req_ambiguous_character_width() - { - if (u7_status == U7_GET - && cur_tmode == TMODE_RAW ---- 3356,3362 ---- - * it must be called immediately after entering termcap mode. - */ - void -! may_req_ambiguous_char_width() - { - if (u7_status == U7_GET - && cur_tmode == TMODE_RAW -*** ../vim-7.4.042/src/proto/term.pro 2013-08-10 13:37:28.000000000 +0200 ---- src/proto/term.pro 2013-09-29 16:25:02.000000000 +0200 -*************** -*** 35,41 **** - void starttermcap __ARGS((void)); - void stoptermcap __ARGS((void)); - void may_req_termresponse __ARGS((void)); -! void may_req_ambiguous_character_width __ARGS((void)); - int swapping_screen __ARGS((void)); - void setmouse __ARGS((void)); - int mouse_has __ARGS((int c)); ---- 35,41 ---- - void starttermcap __ARGS((void)); - void stoptermcap __ARGS((void)); - void may_req_termresponse __ARGS((void)); -! void may_req_ambiguous_char_width __ARGS((void)); - int swapping_screen __ARGS((void)); - void setmouse __ARGS((void)); - int mouse_has __ARGS((int c)); -*** ../vim-7.4.042/src/version.c 2013-09-29 13:38:25.000000000 +0200 ---- src/version.c 2013-09-29 16:25:16.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 43, - /**/ - --- -Back up my hard drive? I can't find the reverse switch! - - /// 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 /// diff --git a/7.4.044 b/7.4.044 deleted file mode 100644 index 3d8832df..00000000 --- a/7.4.044 +++ /dev/null @@ -1,83 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.044 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.044 (after 7.4.039) -Problem: Can't build with old MSVC. (Wang Shoulin) -Solution: Define OPEN_OH_ARGTYPE instead of using intptr_t directly. -Files: src/os_mswin.c - - -*** ../vim-7.4.043/src/os_mswin.c 2013-09-25 19:13:32.000000000 +0200 ---- src/os_mswin.c 2013-09-26 20:37:38.000000000 +0200 -*************** -*** 498,503 **** ---- 498,509 ---- - } - } - -+ #if (_MSC_VER >= 1300) -+ # define OPEN_OH_ARGTYPE intptr_t -+ #else -+ # define OPEN_OH_ARGTYPE long -+ #endif -+ - static int - stat_symlink_aware(const char *name, struct stat *stp) - { -*************** -*** 533,539 **** - { - int fd, n; - -! fd = _open_osfhandle((intptr_t)h, _O_RDONLY); - n = _fstat(fd, (struct _stat*)stp); - _close(fd); - return n; ---- 539,545 ---- - { - int fd, n; - -! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY); - n = _fstat(fd, (struct _stat*)stp); - _close(fd); - return n; -*************** -*** 580,586 **** - { - int fd; - -! fd = _open_osfhandle((intptr_t)h, _O_RDONLY); - n = _fstat(fd, stp); - _close(fd); - return n; ---- 586,592 ---- - { - int fd; - -! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY); - n = _fstat(fd, stp); - _close(fd); - return n; -*** ../vim-7.4.043/src/version.c 2013-09-29 16:27:42.000000000 +0200 ---- src/version.c 2013-09-29 18:27:58.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 44, - /**/ - --- -I'd like to meet the man who invented sex and see what he's working on now. - - /// 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 /// diff --git a/7.4.045 b/7.4.045 deleted file mode 100644 index 0e82735a..00000000 --- a/7.4.045 +++ /dev/null @@ -1,111 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.045 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.045 -Problem: substitute() does not work properly when the pattern starts with - "\ze". -Solution: Detect an empty match. (Christian Brabandt) -Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok - - -*** ../vim-7.4.044/src/eval.c 2013-09-25 21:00:24.000000000 +0200 ---- src/eval.c 2013-09-29 21:03:22.000000000 +0200 -*************** -*** 24301,24306 **** ---- 24301,24307 ---- - garray_T ga; - char_u *ret; - char_u *save_cpo; -+ int zero_width; - - /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ - save_cpo = p_cpo; -*************** -*** 24339,24358 **** - (void)vim_regsub(®match, sub, (char_u *)ga.ga_data - + ga.ga_len + i, TRUE, TRUE, FALSE); - ga.ga_len += i + sublen - 1; -! /* avoid getting stuck on a match with an empty string */ -! if (tail == regmatch.endp[0]) - { -! if (*tail == NUL) -! break; - *((char_u *)ga.ga_data + ga.ga_len) = *tail++; - ++ga.ga_len; - } -- else -- { -- tail = regmatch.endp[0]; -- if (*tail == NUL) -- break; -- } - if (!do_all) - break; - } ---- 24340,24356 ---- - (void)vim_regsub(®match, sub, (char_u *)ga.ga_data - + ga.ga_len + i, TRUE, TRUE, FALSE); - ga.ga_len += i + sublen - 1; -! zero_width = (tail == regmatch.endp[0] -! || regmatch.startp[0] == regmatch.endp[0]); -! tail = regmatch.endp[0]; -! if (*tail == NUL) -! break; -! if (zero_width) - { -! /* avoid getting stuck on a match with an empty string */ - *((char_u *)ga.ga_data + ga.ga_len) = *tail++; - ++ga.ga_len; - } - if (!do_all) - break; - } -*** ../vim-7.4.044/src/testdir/test80.in 2013-03-19 17:30:51.000000000 +0100 ---- src/testdir/test80.in 2013-09-29 20:59:00.000000000 +0200 -*************** -*** 142,147 **** ---- 142,149 ---- - :$put =\"\n\nTEST_7:\" - :$put =substitute('A A', 'A.', '\=submatch(0)', '') - :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '') -+ :$put =substitute('-bb', '\zeb', 'a', 'g') -+ :$put =substitute('-bb', '\ze', 'c', 'g') - /^TEST_8 - ENDTEST - -*** ../vim-7.4.044/src/testdir/test80.ok 2013-03-19 17:31:45.000000000 +0100 ---- src/testdir/test80.ok 2013-09-29 20:59:35.000000000 +0200 -*************** -*** 103,108 **** ---- 103,110 ---- - A A - B - B -+ -abab -+ c-cbcbc - - - TEST_8: -*** ../vim-7.4.044/src/version.c 2013-09-29 19:05:17.000000000 +0200 ---- src/version.c 2013-09-29 21:04:50.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 45, - /**/ - --- -Just think of all the things we haven't thought of yet. - - /// 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 /// diff --git a/7.4.046 b/7.4.046 deleted file mode 100644 index 5bb42658..00000000 --- a/7.4.046 +++ /dev/null @@ -1,80 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.046 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.046 -Problem: Can't use Tcl 8.6. -Solution: Change how Tcl_FindExecutable is called. (Jan Nijtmans) -Files: src/if_tcl.c - - -*** ../vim-7.4.045/src/if_tcl.c 2013-08-02 19:31:15.000000000 +0200 ---- src/if_tcl.c 2013-10-02 13:44:48.000000000 +0200 -*************** -*** 165,170 **** ---- 165,171 ---- - */ - static HANDLE hTclLib = NULL; - Tcl_Interp* (*dll_Tcl_CreateInterp)(); -+ void (*dll_Tcl_FindExecutable)(const void *); - - /* - * Table of name to function pointer of tcl. -*************** -*** 175,180 **** ---- 176,182 ---- - TCL_PROC* ptr; - } tcl_funcname_table[] = { - {"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp}, -+ {"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable}, - {NULL, NULL}, - }; - -*************** -*** 248,258 **** - { - Tcl_Interp *interp; - - if (interp = dll_Tcl_CreateInterp()) - { - if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0)) - { -- Tcl_FindExecutable(find_executable_arg); - Tcl_DeleteInterp(interp); - stubs_initialized = TRUE; - } ---- 250,261 ---- - { - Tcl_Interp *interp; - -+ dll_Tcl_FindExecutable(find_executable_arg); -+ - if (interp = dll_Tcl_CreateInterp()) - { - if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0)) - { - Tcl_DeleteInterp(interp); - stubs_initialized = TRUE; - } -*** ../vim-7.4.045/src/version.c 2013-09-29 21:11:00.000000000 +0200 ---- src/version.c 2013-10-02 13:46:47.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 46, - /**/ - --- -Not too long ago, a program was something you watched on TV... - - /// 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 /// diff --git a/7.4.047 b/7.4.047 deleted file mode 100644 index 2871340b..00000000 --- a/7.4.047 +++ /dev/null @@ -1,56 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.047 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.047 -Problem: When using input() in a function invoked by a mapping it doesn't - work. -Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto) -Files: src/eval.c - - -*** ../vim-7.4.046/src/eval.c 2013-09-29 21:11:00.000000000 +0200 ---- src/eval.c 2013-10-02 16:40:52.000000000 +0200 -*************** -*** 13054,13062 **** ---- 13054,13071 ---- - } - - if (defstr != NULL) -+ { -+ # ifdef FEAT_EX_EXTRA -+ int save_ex_normal_busy = ex_normal_busy; -+ ex_normal_busy = 0; -+ # endif - rettv->vval.v_string = - getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr, - xp_type, xp_arg); -+ # ifdef FEAT_EX_EXTRA -+ ex_normal_busy = save_ex_normal_busy; -+ # endif -+ } - if (inputdialog && rettv->vval.v_string == NULL - && argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN) -*** ../vim-7.4.046/src/version.c 2013-10-02 14:25:39.000000000 +0200 ---- src/version.c 2013-10-02 16:45:45.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 47, - /**/ - --- -Not too long ago, a keyboard was something to make music 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 /// diff --git a/7.4.048 b/7.4.048 deleted file mode 100644 index 6e911a0b..00000000 --- a/7.4.048 +++ /dev/null @@ -1,96 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.048 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.048 -Problem: Recent clang version complains about -fno-strength-reduce. -Solution: Add a configure check for the clang version. (Kazunobu Kuriyama) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.4.047/src/configure.in 2013-08-04 20:00:50.000000000 +0200 ---- src/configure.in 2013-10-02 17:56:25.000000000 +0200 -*************** -*** 62,67 **** ---- 62,90 ---- - fi - fi - -+ dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a -+ dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on -+ dnl the version number of the clang in use. -+ dnl Note that this does not work to get the version of clang 3.1 or 3.2. -+ AC_MSG_CHECKING(for recent clang version) -+ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'` -+ if test x"$CLANG_VERSION_STRING" != x"" ; then -+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'` -+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'` -+ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'` -+ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION` -+ AC_MSG_RESULT($CLANG_VERSION) -+ dnl If you find the same issue with versions earlier than 500.2.75, -+ dnl change the constant 500002075 below appropriately. To get the -+ dnl integer corresponding to a version number, refer to the -+ dnl definition of CLANG_VERSION above. -+ if test "$CLANG_VERSION" -ge 500002075 ; then -+ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'` -+ fi -+ else -+ AC_MSG_RESULT(no) -+ fi -+ - dnl If configure thinks we are cross compiling, there might be something - dnl wrong with the CC or CFLAGS settings, give a useful warning message - if test "$cross_compiling" = yes; then -*** ../vim-7.4.047/src/auto/configure 2013-08-04 20:01:06.000000000 +0200 ---- src/auto/configure 2013-10-02 17:56:52.000000000 +0200 -*************** -*** 3989,3994 **** ---- 3989,4012 ---- - fi - fi - -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5 -+ $as_echo_n "checking for recent clang version... " >&6; } -+ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'` -+ if test x"$CLANG_VERSION_STRING" != x"" ; then -+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'` -+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'` -+ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'` -+ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION` -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5 -+ $as_echo "$CLANG_VERSION" >&6; } -+ if test "$CLANG_VERSION" -ge 500002075 ; then -+ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'` -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ $as_echo "no" >&6; } -+ fi -+ - if test "$cross_compiling" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5 - $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; } -*** ../vim-7.4.047/src/version.c 2013-10-02 16:46:23.000000000 +0200 ---- src/version.c 2013-10-02 17:19:31.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 48, - /**/ - --- -I have to exercise early in the morning before my brain -figures out what I'm doing. - - /// 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 /// diff --git a/7.4.049 b/7.4.049 deleted file mode 100644 index c1a23b98..00000000 --- a/7.4.049 +++ /dev/null @@ -1,67 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.049 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.049 -Problem: In Ex mode, when line numbers are enabled the substitute prompt is - wrong. -Solution: Adjust for the line number size. (Benoit Pierre) -Files: src/ex_cmds.c - - -*** ../vim-7.4.048/src/ex_cmds.c 2013-08-07 15:15:51.000000000 +0200 ---- src/ex_cmds.c 2013-10-02 18:31:24.000000000 +0200 -*************** -*** 4740,4750 **** - char_u *resp; - colnr_T sc, ec; - -! print_line_no_prefix(lnum, FALSE, FALSE); - - getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL); - curwin->w_cursor.col = regmatch.endpos[0].col - 1; - getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec); - msg_start(); - for (i = 0; i < (long)sc; ++i) - msg_putchar(' '); ---- 4740,4756 ---- - char_u *resp; - colnr_T sc, ec; - -! print_line_no_prefix(lnum, do_number, do_list); - - getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL); - curwin->w_cursor.col = regmatch.endpos[0].col - 1; - getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec); -+ if (do_number || curwin->w_p_nu) -+ { -+ int numw = number_width(curwin) + 1; -+ sc += numw; -+ ec += numw; -+ } - msg_start(); - for (i = 0; i < (long)sc; ++i) - msg_putchar(' '); -*** ../vim-7.4.048/src/version.c 2013-10-02 18:22:58.000000000 +0200 ---- src/version.c 2013-10-02 18:33:22.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 49, - /**/ - --- -What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics' -meaning 'bloodsucking creatures'. - - /// 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 /// diff --git a/7.4.050 b/7.4.050 deleted file mode 100644 index afe2b044..00000000 --- a/7.4.050 +++ /dev/null @@ -1,90 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.050 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.050 -Problem: "gn" selects too much for the pattern "\d" when there are two - lines with a single digit. (Ryan Carney) -Solution: Adjust the logic of is_one_char(). (Christian Brabandt) -Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok - - -*** ../vim-7.4.049/src/search.c 2013-08-14 17:45:25.000000000 +0200 ---- src/search.c 2013-10-02 21:49:40.000000000 +0200 -*************** -*** 4680,4687 **** - && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum - && regmatch.startpos[0].col == regmatch.endpos[0].col); - -! if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col) -! result = TRUE; - } - - called_emsg |= save_called_emsg; ---- 4680,4687 ---- - && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum - && regmatch.startpos[0].col == regmatch.endpos[0].col); - -! if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col) -! result = TRUE; - } - - called_emsg |= save_called_emsg; -*** ../vim-7.4.049/src/testdir/test53.in 2013-06-30 14:31:56.000000000 +0200 ---- src/testdir/test53.in 2013-10-02 21:47:10.000000000 +0200 -*************** -*** 46,51 **** ---- 46,54 ---- - :set selection=exclusive - $cgNmongoose/i - cgnj -+ :" Make sure there is no other match y uppercase. -+ /x59 -+ gggnd - :/^start:/,/^end:/wq! test.out - ENDTEST - -*************** -*** 75,78 **** ---- 78,84 ---- - uniquepattern uniquepattern - my very excellent mother just served us nachos - for (i=0; i<=10; i++) -+ Y -+ text -+ Y - end: -*** ../vim-7.4.049/src/testdir/test53.ok 2013-06-30 14:31:56.000000000 +0200 ---- src/testdir/test53.ok 2013-10-02 21:47:34.000000000 +0200 -*************** -*** 27,30 **** ---- 27,33 ---- - uniquepattern - my very excellent mongoose just served us nachos - for (j=0; i<=10; i++) -+ -+ text -+ Y - end: -*** ../vim-7.4.049/src/version.c 2013-10-02 18:43:00.000000000 +0200 ---- src/version.c 2013-10-02 21:51:34.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 50, - /**/ - --- -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 /// diff --git a/7.4.051 b/7.4.051 deleted file mode 100644 index ca5c3a04..00000000 --- a/7.4.051 +++ /dev/null @@ -1,67 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.051 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.051 -Problem: Syntax highlighting a Yaml file causes a crash. (Blake Preston) -Solution: Copy the pim structure before calling addstate() to avoid it - becoming invalide when the state list is reallocated. -Files: src/regexp_nfa.c - - -*** ../vim-7.4.050/src/regexp_nfa.c 2013-09-25 18:16:34.000000000 +0200 ---- src/regexp_nfa.c 2013-10-06 15:44:31.000000000 +0200 -*************** -*** 6458,6463 **** ---- 6458,6464 ---- - if (add_state != NULL) - { - nfa_pim_T *pim; -+ nfa_pim_T pim_copy; - - if (t->pim.result == NFA_PIM_UNUSED) - pim = NULL; -*************** -*** 6531,6536 **** ---- 6532,6546 ---- - pim = NULL; - } - -+ /* If "pim" points into l->t it will become invalid when -+ * adding the state causes the list to be reallocated. Make a -+ * local copy to avoid that. */ -+ if (pim == &t->pim) -+ { -+ copy_pim(&pim_copy, pim); -+ pim = &pim_copy; -+ } -+ - if (add_here) - addstate_here(thislist, add_state, &t->subs, pim, &listidx); - else -*** ../vim-7.4.050/src/version.c 2013-10-02 21:54:57.000000000 +0200 ---- src/version.c 2013-10-06 15:21:16.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 51, - /**/ - --- -GUARD #2: It could be carried by an African swallow! -GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow, - that's my point. -GUARD #2: Oh, yeah, I agree with that... - 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 /// diff --git a/7.4.052 b/7.4.052 deleted file mode 100644 index 502d07b5..00000000 --- a/7.4.052 +++ /dev/null @@ -1,197 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.052 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.052 -Problem: With 'fo' set to "a2" inserting a space in the first column may - cause the cursor to jump to the previous line. -Solution: Handle the case when there is no comment leader properly. (Tor - Perkins) Also fix that cursor is in the wrong place when spaces - get replaced with a Tab. -Files: src/misc1.c, src/ops.c, src/testdir/test68.in, - src/testdir/test68.ok - - -*** ../vim-7.4.051/src/misc1.c 2013-09-05 21:41:35.000000000 +0200 ---- src/misc1.c 2013-10-06 17:46:18.000000000 +0200 -*************** -*** 303,312 **** - ml_replace(curwin->w_cursor.lnum, newline, FALSE); - if (flags & SIN_CHANGED) - changed_bytes(curwin->w_cursor.lnum, 0); -! /* Correct saved cursor position if it's after the indent. */ -! if (saved_cursor.lnum == curwin->w_cursor.lnum -! && saved_cursor.col >= (colnr_T)(p - oldline)) -! saved_cursor.col += ind_len - (colnr_T)(p - oldline); - retval = TRUE; - } - else ---- 303,320 ---- - ml_replace(curwin->w_cursor.lnum, newline, FALSE); - if (flags & SIN_CHANGED) - changed_bytes(curwin->w_cursor.lnum, 0); -! /* Correct saved cursor position if it is in this line. */ -! if (saved_cursor.lnum == curwin->w_cursor.lnum) -! { -! if (saved_cursor.col >= (colnr_T)(p - oldline)) -! /* cursor was after the indent, adjust for the number of -! * bytes added/removed */ -! saved_cursor.col += ind_len - (colnr_T)(p - oldline); -! else if (saved_cursor.col >= (colnr_T)(s - newline)) -! /* cursor was in the indent, and is now after it, put it back -! * at the start of the indent (replacing spaces with TAB) */ -! saved_cursor.col = (colnr_T)(s - newline); -! } - retval = TRUE; - } - else -*************** -*** 1581,1589 **** - - #if defined(FEAT_COMMENTS) || defined(PROTO) - /* -! * get_leader_len() returns the length of the prefix of the given string -! * which introduces a comment. If this string is not a comment then 0 is -! * returned. - * When "flags" is not NULL, it is set to point to the flags of the recognized - * comment leader. - * "backward" must be true for the "O" command. ---- 1589,1597 ---- - - #if defined(FEAT_COMMENTS) || defined(PROTO) - /* -! * get_leader_len() returns the length in bytes of the prefix of the given -! * string which introduces a comment. If this string is not a comment then -! * 0 is returned. - * When "flags" is not NULL, it is set to point to the flags of the recognized - * comment leader. - * "backward" must be true for the "O" command. -*** ../vim-7.4.051/src/ops.c 2013-09-25 23:24:54.000000000 +0200 ---- src/ops.c 2013-10-06 17:11:51.000000000 +0200 -*************** -*** 4989,4995 **** - - /* - * When still in same paragraph, join the lines together. But -! * first delete the comment leader from the second line. - */ - if (!is_end_par) - { ---- 4989,4995 ---- - - /* - * When still in same paragraph, join the lines together. But -! * first delete the leader from the second line. - */ - if (!is_end_par) - { -*************** -*** 4999,5009 **** - if (line_count < 0 && u_save_cursor() == FAIL) - break; - #ifdef FEAT_COMMENTS -- (void)del_bytes((long)next_leader_len, FALSE, FALSE); - if (next_leader_len > 0) - mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L, - (long)-next_leader_len); - #endif - curwin->w_cursor.lnum--; - if (do_join(2, TRUE, FALSE, FALSE) == FAIL) - { ---- 4999,5023 ---- - if (line_count < 0 && u_save_cursor() == FAIL) - break; - #ifdef FEAT_COMMENTS - if (next_leader_len > 0) -+ { -+ (void)del_bytes((long)next_leader_len, FALSE, FALSE); - mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L, - (long)-next_leader_len); -+ } else - #endif -+ if (second_indent > 0) /* the "leader" for FO_Q_SECOND */ -+ { -+ char_u *p = ml_get_curline(); -+ int indent = skipwhite(p) - p; -+ -+ if (indent > 0) -+ { -+ (void)del_bytes(indent, FALSE, FALSE); -+ mark_col_adjust(curwin->w_cursor.lnum, -+ (colnr_T)0, 0L, (long)-indent); -+ } -+ } - curwin->w_cursor.lnum--; - if (do_join(2, TRUE, FALSE, FALSE) == FAIL) - { -*** ../vim-7.4.051/src/testdir/test68.in 2012-07-25 15:57:06.000000000 +0200 ---- src/testdir/test68.in 2013-10-06 16:20:33.000000000 +0200 -*************** -*** 62,67 **** ---- 62,81 ---- - } - - STARTTEST -+ /^{/+3 -+ :set tw=5 fo=t2a si -+ i A_ -+ ENDTEST -+ -+ { -+ -+ x a -+ b -+ c -+ -+ } -+ -+ STARTTEST - /^{/+1 - :set tw=5 fo=qn comments=:# - gwap -*** ../vim-7.4.051/src/testdir/test68.ok 2012-07-25 16:03:05.000000000 +0200 ---- src/testdir/test68.ok 2013-10-06 16:20:33.000000000 +0200 -*************** -*** 43,48 **** ---- 43,57 ---- - - - { -+ -+ x a -+ b_ -+ c -+ -+ } -+ -+ -+ { - # 1 a - # b - } -*** ../vim-7.4.051/src/version.c 2013-10-06 15:46:06.000000000 +0200 ---- src/version.c 2013-10-06 17:25:27.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 52, - /**/ - --- -ARTHUR: Will you ask your master if he wants to join my court at Camelot?! -GUARD #1: But then of course African swallows are not migratory. -GUARD #2: Oh, yeah... -GUARD #1: So they couldn't bring a coconut back anyway... - 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 /// diff --git a/7.4.053 b/7.4.053 deleted file mode 100644 index 22724fc7..00000000 --- a/7.4.053 +++ /dev/null @@ -1,45 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.053 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.053 -Problem: Test75 has a wrong header. (ZyX) -Solution: Fix the text and remove leading ". -Files: src/testdir/test75.in - - -*** ../vim-7.4.052/src/testdir/test75.in 2013-06-29 13:48:42.000000000 +0200 ---- src/testdir/test75.in 2013-10-19 20:28:53.000000000 +0200 -*************** -*** 1,4 **** -! " Tests for functions. - - STARTTEST - :so small.vim ---- 1,4 ---- -! Tests for maparg(). - - STARTTEST - :so small.vim -*** ../vim-7.4.052/src/version.c 2013-10-06 17:46:48.000000000 +0200 ---- src/version.c 2013-11-02 04:18:07.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 53, - /**/ - --- -Every exit is an entrance into something else. - - /// 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 /// diff --git a/7.4.054 b/7.4.054 deleted file mode 100644 index 0fcffac2..00000000 --- a/7.4.054 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.054 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.054 -Problem: Reading past end of the 'stl' string. -Solution: Don't increment pointer when already at the NUL. (Christian - Brabandt) -Files: src/buffer.c - - -*** ../vim-7.4.053/src/buffer.c 2013-08-14 17:11:14.000000000 +0200 ---- src/buffer.c 2013-11-02 04:34:26.000000000 +0100 -*************** -*** 4062,4068 **** - item[curitem].minwid = -syn_namen2id(t, (int)(s - t)); - curitem++; - } -! ++s; - continue; - } - ---- 4062,4069 ---- - item[curitem].minwid = -syn_namen2id(t, (int)(s - t)); - curitem++; - } -! if (*s != NUL) -! ++s; - continue; - } - -*** ../vim-7.4.053/src/version.c 2013-11-02 04:19:10.000000000 +0100 ---- src/version.c 2013-11-02 04:31:50.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 54, - /**/ - --- -Every person is responsible for the choices he makes. - - /// 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 /// diff --git a/7.4.055 b/7.4.055 deleted file mode 100644 index b6adc044..00000000 --- a/7.4.055 +++ /dev/null @@ -1,138 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.055 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.055 -Problem: Mac: Where availability macros are defined depends on the system. -Solution: Add a configure check. (Felix Bünemann) -Files: src/config.h.in, src/configure.in, src/auto/configure, - src/os_mac.h - -*** ../vim-7.4.054/src/config.h.in 2013-02-26 14:18:19.000000000 +0100 ---- src/config.h.in 2013-11-02 20:52:08.000000000 +0100 -*************** -*** 442,444 **** ---- 442,447 ---- - - /* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/ - #undef FEAT_CYGWIN_WIN32_CLIPBOARD -+ -+ /* Define if we have AvailabilityMacros.h on Mac OS X */ -+ #undef HAVE_AVAILABILITYMACROS_H -*** ../vim-7.4.054/src/configure.in 2013-10-02 18:22:58.000000000 +0200 ---- src/configure.in 2013-11-02 20:58:58.000000000 +0100 -*************** -*** 206,211 **** ---- 206,215 ---- - dnl TODO: use -arch i386 on Intel machines - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - -+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon -+ dnl so we need to include it to have access to version macros. -+ AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])]) -+ - dnl If Carbon is found, assume we don't want X11 - dnl unless it was specifically asked for (--with-x) - dnl or Motif, Athena or GTK GUI is used. -*** ../vim-7.4.054/src/auto/configure 2013-10-02 18:22:58.000000000 +0200 ---- src/auto/configure 2013-11-02 21:00:40.000000000 +0100 -*************** -*** 4223,4229 **** - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - -! # On IRIX 5.3, sys/types and inttypes.h are conflicting. - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h - do : ---- 4223,4229 ---- - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - -! # On IRIX 5.3, sys/types and inttypes.h are conflicting. - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h - do : -*************** -*** 4241,4247 **** - done - - -! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" - if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : - CARBON=yes - fi ---- 4241,4256 ---- - done - - -! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" -! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : -! -! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h -! -! fi -! -! -! -! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" - if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : - CARBON=yes - fi -*** ../vim-7.4.054/src/os_mac.h 2013-05-06 04:06:04.000000000 +0200 ---- src/os_mac.h 2013-11-02 20:59:46.000000000 +0100 -*************** -*** 16,21 **** ---- 16,26 ---- - # define OPAQUE_TOOLBOX_STRUCTS 0 - #endif - -+ /* Include MAC_OS_X_VERSION_* macros */ -+ #ifdef HAVE_AVAILABILITYMACROS_H -+ # include -+ #endif -+ - /* - * Macintosh machine-dependent things. - * -*************** -*** 263,269 **** - #endif - - /* Some "prep work" definition to be able to compile the MacOS X -! * version with os_unix.x instead of os_mac.c. Based on the result - * of ./configure for console MacOS X. - */ - ---- 268,274 ---- - #endif - - /* Some "prep work" definition to be able to compile the MacOS X -! * version with os_unix.c instead of os_mac.c. Based on the result - * of ./configure for console MacOS X. - */ - -*** ../vim-7.4.054/src/version.c 2013-11-02 04:39:34.000000000 +0100 ---- src/version.c 2013-11-02 21:01:10.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 55, - /**/ - --- -You can be stopped by the police for biking over 65 miles per hour. -You are not allowed to walk across a street on your hands. - [real standing laws in Connecticut, 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 /// diff --git a/7.4.056 b/7.4.056 deleted file mode 100644 index e8c1a346..00000000 --- a/7.4.056 +++ /dev/null @@ -1,51 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.056 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.056 -Problem: Mac: Compilation problem with OS X 10.9 Mavericks. -Solution: Include AvailabilityMacros.h when available. (Kazunobu Kuriyama) -Files: src/os_unix.c - - -*** ../vim-7.4.055/src/os_unix.c 2013-09-05 21:41:35.000000000 +0200 ---- src/os_unix.c 2013-11-02 21:46:05.000000000 +0100 -*************** -*** 804,809 **** ---- 804,815 ---- - * completely full. - */ - -+ #if defined(HAVE_AVAILABILITYMACROS_H) \ -+ && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \ -+ && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090) -+ # include -+ #endif -+ - #ifndef SIGSTKSZ - # define SIGSTKSZ 8000 /* just a guess of how much stack is needed... */ - #endif -*** ../vim-7.4.055/src/version.c 2013-11-02 21:04:32.000000000 +0100 ---- src/version.c 2013-11-02 21:44:10.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 56, - /**/ - --- -If an elephant is left tied to a parking meter, the parking fee has to be paid -just as it would for a vehicle. - [real standing law in Florida, 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 /// diff --git a/7.4.057 b/7.4.057 deleted file mode 100644 index aee16b6a..00000000 --- a/7.4.057 +++ /dev/null @@ -1,252 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.057 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.057 -Problem: byteidx() does not work for composing characters. -Solution: Add byteidxcomp(). -Files: src/eval.c, src/testdir/test69.in, src/testdir/test69.ok, - runtime/doc/eval.txt - - -*** ../vim-7.4.056/src/eval.c 2013-10-02 16:46:23.000000000 +0200 ---- src/eval.c 2013-11-02 22:30:08.000000000 +0100 -*************** -*** 474,480 **** ---- 474,482 ---- - static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv)); - static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv)); - static void f_byte2line __ARGS((typval_T *argvars, typval_T *rettv)); -+ static void byteidx __ARGS((typval_T *argvars, typval_T *rettv, int comp)); - static void f_byteidx __ARGS((typval_T *argvars, typval_T *rettv)); -+ static void f_byteidxcomp __ARGS((typval_T *argvars, typval_T *rettv)); - static void f_call __ARGS((typval_T *argvars, typval_T *rettv)); - #ifdef FEAT_FLOAT - static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv)); -*************** -*** 7861,7866 **** ---- 7863,7869 ---- - {"bufwinnr", 1, 1, f_bufwinnr}, - {"byte2line", 1, 1, f_byte2line}, - {"byteidx", 2, 2, f_byteidx}, -+ {"byteidxcomp", 2, 2, f_byteidxcomp}, - {"call", 2, 3, f_call}, - #ifdef FEAT_FLOAT - {"ceil", 1, 1, f_ceil}, -*************** -*** 9177,9189 **** - #endif - } - -- /* -- * "byteidx()" function -- */ - static void -! f_byteidx(argvars, rettv) - typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_MBYTE - char_u *t; ---- 9180,9190 ---- - #endif - } - - static void -! byteidx(argvars, rettv, comp) - typval_T *argvars; - typval_T *rettv; -+ int comp; - { - #ifdef FEAT_MBYTE - char_u *t; -*************** -*** 9203,9209 **** - { - if (*t == NUL) /* EOL reached */ - return; -! t += (*mb_ptr2len)(t); - } - rettv->vval.v_number = (varnumber_T)(t - str); - #else ---- 9204,9213 ---- - { - if (*t == NUL) /* EOL reached */ - return; -! if (enc_utf8 && comp) -! t += utf_ptr2len(t); -! else -! t += (*mb_ptr2len)(t); - } - rettv->vval.v_number = (varnumber_T)(t - str); - #else -*************** -*** 9212,9217 **** ---- 9216,9243 ---- - #endif - } - -+ /* -+ * "byteidx()" function -+ */ -+ static void -+ f_byteidx(argvars, rettv) -+ typval_T *argvars; -+ typval_T *rettv; -+ { -+ byteidx(argvars, rettv, FALSE); -+ } -+ -+ /* -+ * "byteidxcomp()" function -+ */ -+ static void -+ f_byteidxcomp(argvars, rettv) -+ typval_T *argvars; -+ typval_T *rettv; -+ { -+ byteidx(argvars, rettv, TRUE); -+ } -+ - int - func_call(name, args, selfdict, rettv) - char_u *name; -*** ../vim-7.4.056/src/testdir/test69.in 2013-03-07 18:30:50.000000000 +0100 ---- src/testdir/test69.in 2013-11-02 22:46:02.000000000 +0100 -*************** -*** 1,6 **** ---- 1,7 ---- - Test for multi-byte text formatting. - Also test, that 'mps' with multibyte chars works. - And test "ra" on multi-byte characters. -+ Also test byteidx() and byteidxcomp() - - STARTTEST - :so mbyte.vim -*************** -*** 154,159 **** ---- 155,175 ---- - ï½ï½b - - STARTTEST -+ :let a = '.é.' " one char of two bytes -+ :let b = '.eÌ.' " normal e with composing char -+ /^byteidx -+ :put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)]) -+ :put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)]) -+ /^byteidxcomp -+ :put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)]) -+ :let b = '.eÌ.' -+ :put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)]) -+ ENDTEST -+ -+ byteidx -+ byteidxcomp -+ -+ STARTTEST - :g/^STARTTEST/.,/^ENDTEST/d - :1;/^Results/,$wq! test.out - ENDTEST -*** ../vim-7.4.056/src/testdir/test69.ok 2013-03-07 18:31:32.000000000 +0100 ---- src/testdir/test69.ok 2013-11-02 22:43:25.000000000 +0100 -*************** -*** 149,151 **** ---- 149,159 ---- - aaaa - aaa - -+ -+ byteidx -+ [0, 1, 3, 4, -1] -+ [0, 1, 4, 5, -1] -+ byteidxcomp -+ [0, 1, 3, 4, -1] -+ [0, 1, 2, 4, 5, -1] -+ -*** ../vim-7.4.056/runtime/doc/eval.txt 2013-08-10 13:24:53.000000000 +0200 ---- runtime/doc/eval.txt 2013-11-02 23:27:24.000000000 +0100 -*************** -*** 1712,1717 **** ---- 1713,1719 ---- - bufwinnr( {expr}) Number window number of buffer {expr} - byte2line( {byte}) Number line number at byte count {byte} - byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr} -+ byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr} - call( {func}, {arglist} [, {dict}]) - any call {func} with arguments {arglist} - ceil( {expr}) Float round {expr} up -*************** -*** 2260,2266 **** - {expr}. Use zero for the first character, it returns zero. - This function is only useful when there are multibyte - characters, otherwise the returned value is equal to {nr}. -! Composing characters are counted as a separate character. - Example : > - echo matchstr(str, ".", byteidx(str, 3)) - < will display the fourth character. Another way to do the ---- 2262,2271 ---- - {expr}. Use zero for the first character, it returns zero. - This function is only useful when there are multibyte - characters, otherwise the returned value is equal to {nr}. -! Composing characters are not counted separately, their byte -! length is added to the preceding base character. See -! |byteidxcomp()| below for counting composing characters -! separately. - Example : > - echo matchstr(str, ".", byteidx(str, 3)) - < will display the fourth character. Another way to do the -*************** -*** 2269,2275 **** - echo strpart(s, 0, byteidx(s, 1)) - < If there are less than {nr} characters -1 is returned. - If there are exactly {nr} characters the length of the string -! is returned. - - call({func}, {arglist} [, {dict}]) *call()* *E699* - Call function {func} with the items in |List| {arglist} as ---- 2274,2293 ---- - echo strpart(s, 0, byteidx(s, 1)) - < If there are less than {nr} characters -1 is returned. - If there are exactly {nr} characters the length of the string -! in bytes is returned. -! -! byteidxcomp({expr}, {nr}) *byteidxcomp()* -! Like byteidx(), except that a composing character is counted -! as a separate character. Example: > -! let s = 'e' . nr2char(0x301) -! echo byteidx(s, 1) -! echo byteidxcomp(s, 1) -! echo byteidxcomp(s, 2) -! < The first and third echo result in 3 ('e' plus composing -! character is 3 bytes), the second echo results in 1 ('e' is -! one byte). -! Only works different from byteidx() when 'encoding' is set to -! a Unicode encoding. - - call({func}, {arglist} [, {dict}]) *call()* *E699* - Call function {func} with the items in |List| {arglist} as -*** ../vim-7.4.056/src/version.c 2013-11-02 21:49:28.000000000 +0100 ---- src/version.c 2013-11-02 22:45:13.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 57, - /**/ - --- -Any sufficiently advanced technology is indistinguishable from magic. - Arthur C. Clarke -Any sufficiently advanced bug is indistinguishable from a feature. - Rich Kulawiec - - /// 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 /// diff --git a/7.4.058 b/7.4.058 deleted file mode 100644 index 0715c848..00000000 --- a/7.4.058 +++ /dev/null @@ -1,67 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.058 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.058 -Problem: Warnings on 64 bit Windows. -Solution: Add type casts. (Mike Williams) -Files: src/ops.c - - -*** ../vim-7.4.057/src/ops.c 2013-10-06 17:46:48.000000000 +0200 ---- src/ops.c 2013-11-02 23:56:15.000000000 +0100 -*************** -*** 5009,5022 **** - if (second_indent > 0) /* the "leader" for FO_Q_SECOND */ - { - char_u *p = ml_get_curline(); -! int indent = skipwhite(p) - p; - - if (indent > 0) - { - (void)del_bytes(indent, FALSE, FALSE); - mark_col_adjust(curwin->w_cursor.lnum, - (colnr_T)0, 0L, (long)-indent); -! } - } - curwin->w_cursor.lnum--; - if (do_join(2, TRUE, FALSE, FALSE) == FAIL) ---- 5009,5022 ---- - if (second_indent > 0) /* the "leader" for FO_Q_SECOND */ - { - char_u *p = ml_get_curline(); -! int indent = (int)(skipwhite(p) - p); - - if (indent > 0) - { - (void)del_bytes(indent, FALSE, FALSE); - mark_col_adjust(curwin->w_cursor.lnum, - (colnr_T)0, 0L, (long)-indent); -! } - } - curwin->w_cursor.lnum--; - if (do_join(2, TRUE, FALSE, FALSE) == FAIL) -*** ../vim-7.4.057/src/version.c 2013-11-02 23:29:17.000000000 +0100 ---- src/version.c 2013-11-02 23:55:01.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 58, - /**/ - --- -Citizens are not allowed to attend a movie house or theater nor ride in a -public streetcar within at least four hours after eating garlic. - [real standing law in Indiana, 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 /// diff --git a/7.4.059 b/7.4.059 deleted file mode 100644 index b00cbfe0..00000000 --- a/7.4.059 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.059 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.059 -Problem: set_last_cursor() may encounter w_buffer being NULL. (Matt - Mkaniaris) -Solution: Check for NULL. -Files: src/mark.c - - -*** ../vim-7.4.058/src/mark.c 2013-08-02 17:22:10.000000000 +0200 ---- src/mark.c 2013-11-03 00:18:35.000000000 +0100 -*************** -*** 1374,1380 **** - set_last_cursor(win) - win_T *win; - { -! win->w_buffer->b_last_cursor = win->w_cursor; - } - - #if defined(EXITFREE) || defined(PROTO) ---- 1374,1381 ---- - set_last_cursor(win) - win_T *win; - { -! if (win->w_buffer != NULL) -! win->w_buffer->b_last_cursor = win->w_cursor; - } - - #if defined(EXITFREE) || defined(PROTO) -*** ../vim-7.4.058/src/version.c 2013-11-02 23:59:30.000000000 +0100 ---- src/version.c 2013-11-03 00:17:55.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 59, - /**/ - --- -How do you know when you have run out of invisible ink? - - /// 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 /// diff --git a/7.4.060 b/7.4.060 deleted file mode 100644 index d6a76727..00000000 --- a/7.4.060 +++ /dev/null @@ -1,71 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.060 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.060 -Problem: Declaration has wrong return type for PyObject_SetAttrString(). -Solution: Use int instead of PyObject. (Andreas Schwab) -Files: src/if_python.c, src/if_python3.c - - -*** ../vim-7.4.059/src/if_python.c 2013-07-09 21:40:11.000000000 +0200 ---- src/if_python.c 2013-11-03 00:24:57.000000000 +0100 -*************** -*** 359,365 **** - static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *); - static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *); - static int (*dll_PyObject_HasAttrString)(PyObject *, const char *); -! static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); - static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...); - static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...); - static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *); ---- 359,365 ---- - static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *); - static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *); - static int (*dll_PyObject_HasAttrString)(PyObject *, const char *); -! static int (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); - static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...); - static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...); - static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *); -*** ../vim-7.4.059/src/if_python3.c 2013-07-09 21:53:21.000000000 +0200 ---- src/if_python3.c 2013-11-03 00:24:57.000000000 +0100 -*************** -*** 302,308 **** - static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *); - static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *); - static int (*py3_PyObject_HasAttrString)(PyObject *, const char *); -! static PyObject* (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); - static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...); - static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...); - static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *); ---- 302,308 ---- - static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *); - static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *); - static int (*py3_PyObject_HasAttrString)(PyObject *, const char *); -! static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); - static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...); - static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...); - static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *); -*** ../vim-7.4.059/src/version.c 2013-11-03 00:20:46.000000000 +0100 ---- src/version.c 2013-11-03 00:26:19.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 60, - /**/ - --- -Kisses may last for as much as, but no more than, five minutes. - [real standing law in Iowa, 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 /// diff --git a/7.4.061 b/7.4.061 deleted file mode 100644 index ebd5b2d7..00000000 --- a/7.4.061 +++ /dev/null @@ -1,144 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.061 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.061 (after 7.4.055 and 7.4.056) -Problem: Availability macros configure check in wrong place. -Solution: Also check when not using Darwin. Remove version check. -Files: src/configure.in, src/auto/configure, src/os_unix.c - - -*** ../vim-7.4.060/src/configure.in 2013-11-02 21:04:32.000000000 +0100 ---- src/configure.in 2013-11-03 00:34:07.000000000 +0100 -*************** -*** 206,215 **** - dnl TODO: use -arch i386 on Intel machines - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - -- dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon -- dnl so we need to include it to have access to version macros. -- AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])]) -- - dnl If Carbon is found, assume we don't want X11 - dnl unless it was specifically asked for (--with-x) - dnl or Motif, Athena or GTK GUI is used. ---- 206,211 ---- -*************** -*** 232,237 **** ---- 228,237 ---- - AC_MSG_RESULT(no) - fi - -+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon -+ dnl so we need to include it to have access to version macros. -+ AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1) -+ - AC_SUBST(OS_EXTRA_SRC) - AC_SUBST(OS_EXTRA_OBJ) - -*** ../vim-7.4.060/src/auto/configure 2013-11-02 21:04:32.000000000 +0100 ---- src/auto/configure 2013-11-03 00:36:20.000000000 +0100 -*************** -*** 4223,4229 **** - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - -! # On IRIX 5.3, sys/types and inttypes.h are conflicting. - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h - do : ---- 4223,4229 ---- - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - -! # On IRIX 5.3, sys/types and inttypes.h are conflicting. - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h - do : -*************** -*** 4241,4256 **** - done - - -! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" -! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : -! -! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h -! -! fi -! -! -! -! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" - if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : - CARBON=yes - fi ---- 4241,4247 ---- - done - - -! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" - if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : - CARBON=yes - fi -*************** -*** 4272,4277 **** ---- 4263,4275 ---- - $as_echo "no" >&6; } - fi - -+ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" -+ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : -+ HAVE_AVAILABILITYMACROS_H=1 -+ fi -+ -+ -+ - - - -*** ../vim-7.4.060/src/os_unix.c 2013-11-02 21:49:28.000000000 +0100 ---- src/os_unix.c 2013-11-03 00:34:29.000000000 +0100 -*************** -*** 804,812 **** - * completely full. - */ - -! #if defined(HAVE_AVAILABILITYMACROS_H) \ -! && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \ -! && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090) - # include - #endif - ---- 804,810 ---- - * completely full. - */ - -! #if defined(HAVE_AVAILABILITYMACROS_H) - # include - #endif - -*** ../vim-7.4.060/src/version.c 2013-11-03 00:28:20.000000000 +0100 ---- src/version.c 2013-11-03 00:37:02.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 61, - /**/ - --- -It is illegal to rob a bank and then shoot at the bank teller with a water -pistol. - [real standing law in Louisana, 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 /// diff --git a/7.4.062 b/7.4.062 deleted file mode 100644 index dad0a420..00000000 --- a/7.4.062 +++ /dev/null @@ -1,87 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.062 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.062 (after 7.4.061) -Problem: Configure check for AvailabilityMacros.h is wrong. -Solution: Use AC_CHECK_HEADERS(). -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.4.061/src/configure.in 2013-11-03 00:40:54.000000000 +0100 ---- src/configure.in 2013-11-03 20:19:42.000000000 +0100 -*************** -*** 230,236 **** - - dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon - dnl so we need to include it to have access to version macros. -! AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1) - - AC_SUBST(OS_EXTRA_SRC) - AC_SUBST(OS_EXTRA_OBJ) ---- 230,236 ---- - - dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon - dnl so we need to include it to have access to version macros. -! AC_CHECK_HEADERS(AvailabilityMacros.h) - - AC_SUBST(OS_EXTRA_SRC) - AC_SUBST(OS_EXTRA_OBJ) -*** ../vim-7.4.061/src/auto/configure 2013-11-03 00:40:54.000000000 +0100 ---- src/auto/configure 2013-11-03 20:22:56.000000000 +0100 -*************** -*** 4263,4273 **** - $as_echo "no" >&6; } - fi - -! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" - if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : -! HAVE_AVAILABILITYMACROS_H=1 - fi - - - - ---- 4263,4279 ---- - $as_echo "no" >&6; } - fi - -! for ac_header in AvailabilityMacros.h -! do : -! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" - if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : -! cat >>confdefs.h <<_ACEOF -! #define HAVE_AVAILABILITYMACROS_H 1 -! _ACEOF -! - fi - -+ done - - - -*** ../vim-7.4.061/src/version.c 2013-11-03 00:40:54.000000000 +0100 ---- src/version.c 2013-11-03 20:25:31.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 62, - /**/ - --- -Yesterday, all my deadlines seemed so far away -now it looks as though it's freeze in four days -oh I believe in cvs.. - [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ] - - /// 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 /// diff --git a/7.4.063 b/7.4.063 deleted file mode 100644 index b72b0b76..00000000 --- a/7.4.063 +++ /dev/null @@ -1,105 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.063 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.063 -Problem: Crash when using invalid key in Python dictionary. -Solution: Check for object to be NULL. Add tests. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - - -*** ../vim-7.4.062/src/if_py_both.h 2013-07-24 17:09:19.000000000 +0200 ---- src/if_py_both.h 2013-11-04 00:27:40.000000000 +0100 -*************** -*** 1624,1629 **** ---- 1624,1632 ---- - PyObject *rObj = _DictionaryItem(self, keyObject, DICT_FLAG_RETURN_BOOL); - int ret; - -+ if (rObj == NULL) -+ return -1; -+ - ret = (rObj == Py_True); - - Py_DECREF(rObj); -*** ../vim-7.4.062/src/testdir/test86.in 2013-07-13 14:00:31.000000000 +0200 ---- src/testdir/test86.in 2013-11-04 00:27:11.000000000 +0100 -*************** -*** 1088,1093 **** ---- 1088,1096 ---- - stringtochars_test('d.get(%s)') - ee('d.pop("a")') - ee('dl.pop("a")') -+ cb.append(">> DictionaryContains") -+ ee('"" in d') -+ ee('0 in d') - cb.append(">> DictionaryIterNext") - ee('for i in ned: ned["a"] = 1') - del i -*** ../vim-7.4.062/src/testdir/test86.ok 2013-06-23 16:38:39.000000000 +0200 ---- src/testdir/test86.ok 2013-11-04 00:27:11.000000000 +0100 -*************** -*** 516,521 **** ---- 516,524 ---- - <<< Finished - d.pop("a"):KeyError:('a',) - dl.pop("a"):error:('dictionary is locked',) -+ >> DictionaryContains -+ "" in d:ValueError:('empty keys are not allowed',) -+ 0 in d:TypeError:('expected str() or unicode() instance, but got int',) - >> DictionaryIterNext - for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',) - >> DictionaryAssItem -*** ../vim-7.4.062/src/testdir/test87.in 2013-07-06 13:41:30.000000000 +0200 ---- src/testdir/test87.in 2013-11-04 00:27:11.000000000 +0100 -*************** -*** 1039,1044 **** ---- 1039,1047 ---- - stringtochars_test('d.get(%s)') - ee('d.pop("a")') - ee('dl.pop("a")') -+ cb.append(">> DictionaryContains") -+ ee('"" in d') -+ ee('0 in d') - cb.append(">> DictionaryIterNext") - ee('for i in ned: ned["a"] = 1') - del i -*** ../vim-7.4.062/src/testdir/test87.ok 2013-06-23 16:38:39.000000000 +0200 ---- src/testdir/test87.ok 2013-11-04 00:27:11.000000000 +0100 -*************** -*** 505,510 **** ---- 505,513 ---- - <<< Finished - d.pop("a"):(, KeyError('a',)) - dl.pop("a"):(, error('dictionary is locked',)) -+ >> DictionaryContains -+ "" in d:(, ValueError('empty keys are not allowed',)) -+ 0 in d:(, TypeError('expected bytes() or str() instance, but got int',)) - >> DictionaryIterNext - for i in ned: ned["a"] = 1:(, RuntimeError('hashtab changed during iteration',)) - >> DictionaryAssItem -*** ../vim-7.4.062/src/version.c 2013-11-03 20:26:27.000000000 +0100 ---- src/version.c 2013-11-04 00:26:39.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 63, - /**/ - --- -A parent can be arrested if his child cannot hold back a burp during a church -service. - [real standing law in Nebraska, 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 /// diff --git a/7.4.064 b/7.4.064 deleted file mode 100644 index 771320851e8ea5711686c2547f692cb895e92550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5346 zcmd5=S##US5zZ@7<=1`jOUs+`QW7r!q)5?`vRsO?oz>y8D5o}2!UBOI2@}8|z(BO( z^>58z$=3sdha_Jwsh~<4&e1(R{q;37lwG>@!;vR$f1XM?4a78&S)A5f85&pF_`Psd zm)D8;)HZAWgsHQN$5}9|2ZuBwMeLABPAkL9p1&FOGDv^*M(K|oQoPfrGbmtUG zPgDrPi6mdze`_#{;`5|PDUym@Crbrbfvs?q@F?&jLE}U?^O|ubgG}k;61^3!oJRh? z1*w^!)K{6qQ{+V6l2}h{kW;xoOZ-&%PPDZ*lsg8M+BHu7K&1L;L}}vIBbkIwP;)D~ zCmF^3rxL01{G`sUeOU9O$`(hay|+Zp4a3;m+oM{o4*RI)*xU8ZZAw=8fMpQc3buqkqIJfy!jdEP`hCtRN9TENj#@FQyRzjNviD=utvT6MkX=quY^;MdB!#@U9RK zgNaaC67f&|K4~>Pf`7`SLHs4kTfZcJysEaD`w6FPC1I{ zh%T|&I<*zTats{oZhJLRW8k z{Q+;k^N0#|*3P-D1K#N)NJ^!MHOr2FHGF$ExX>a)8lGCr5HYD-twvcm(n*GnkEpS$ zCz(S;`yk$fLV4C=4X3+hMA7BBqxG@0+cFJ1y-}qfp?QCTAElC3m}Xz-Yg3f9#vlb) zyWj~bX2qtm13mibD4oe<9lP?Atu-0TRBZsoXL|&t$9DyPh`K_FX~CGubq0z7A!#Sm zT^u8tBCqLT4N9p5zUPpZtMG5Fnbmi=+zN7duS2)|O9)B>m} z2cSZyy|b%9&YktoU(x0;Altyk4=a{snnhM9T=f6b#tZ4HX1!{WpArfRk0vr%mmmGN zC@T>4oFKTX<({!Jm#xUckqR+yC(l*%{5hhY?jWkH@*vyN!`Q-RkVmRjWZ|LQ@L11Z za4VkvqHDn?zwTGO-6!pd8cGP6dlZlJ4&U!p#hJEUYWrAU^r_Xh+tKfv{fgsNvgOz}ts`eVgCviqw;(Z0G~N*Rc~^oMF{VTbh>L zY#p>ahfl3}qZRyMy-%KC_^{JHXz`GxhkkhS+12^P{q=l+`af~st5^QGpyOlQaZ^>p z&6y|uu90(uk;Q(PYzmGbHDu_4u4p3*lhV|k7)fif2F9o>q`}`Nbrtkx7mK6ufjndr!u?t zVb?l%K((o2{5DvWcC%4wZ(VTpfL%DpM|eHbNze1R9)&;fs|>26F|2tk0=YnGg#tpq zA)vO}$70=Zv_RbtB=i8TfrPgSq-?y0yr$G)I=B~VO1{3}&V$$9YK_daX1IiCrHoQ<){MAkV+`z4e;&ULOmL@QyBC z_o>|J*{8jB$85EFot}AOHxK%DzuDWZP@E~kyUQ4_Ky$+D5X<6WduFYLOe@C1x#dS4 zPdFYfD!x01qVn@&5iSNEd5M3E7b1SWfoLHZGJPx;99Smw^5U9a_WOoTxI7a&Q{Sb9 zOuUqyh0a_+&C$f4(hE$@#m=*uQ7ZlYFHQ zx(pUlP?dGcY8mgTx2d*VTl!&_u#K!jR7p;2x1VQ*n>k-~4c#F}p$(NM$g` mqR;J21To5$yzRX{xk6lbl^ -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.065 -Problem: When recording, the character typed at the hit-enter prompt is - recorded twice. (Urtica Dioica) -Solution: Avoid recording the character twice. (Christian Brabandt) -Files: src/message.c - - -*** ../vim-7.4.064/src/message.c 2013-08-09 20:30:45.000000000 +0200 ---- src/message.c 2013-11-04 01:56:09.000000000 +0100 -*************** -*** 887,892 **** ---- 887,894 ---- - int oldState; - int tmpState; - int had_got_int; -+ int save_Recording; -+ FILE *save_scriptout; - - if (redraw == TRUE) - must_redraw = CLEAR; -*************** -*** 957,967 **** ---- 959,979 ---- - * typeahead buffer. */ - ++no_mapping; - ++allow_keys; -+ -+ /* Temporarily disable Recording. If Recording is active, the -+ * character will be recorded later, since it will be added to the -+ * typebuf after the loop */ -+ save_Recording = Recording; -+ save_scriptout = scriptout; -+ Recording = FALSE; -+ scriptout = NULL; - c = safe_vgetc(); - if (had_got_int && !global_busy) - got_int = FALSE; - --no_mapping; - --allow_keys; -+ Recording = save_Recording; -+ scriptout = save_scriptout; - - #ifdef FEAT_CLIPBOARD - /* Strange way to allow copying (yanking) a modeless selection at -*** ../vim-7.4.064/src/version.c 2013-11-04 01:41:11.000000000 +0100 ---- src/version.c 2013-11-04 01:53:19.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 65, - /**/ - --- -Zen Microsystems: we're the om in .commmmmmmmm - - /// 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 /// diff --git a/7.4.066 b/7.4.066 deleted file mode 100644 index edab0926..00000000 --- a/7.4.066 +++ /dev/null @@ -1,354 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.066 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.066 -Problem: MS-Windows: When there is a colon in the file name (sub-stream - feature) the swap file name is wrong. -Solution: Change the colon to "%". (Yasuhiro Matsumoto) -Files: src/fileio.c, src/memline.c, src/misc1.c, src/proto/misc1.pro - - -*** ../vim-7.4.065/src/memline.c 2013-05-06 04:01:02.000000000 +0200 ---- src/memline.c 2013-11-04 02:52:44.000000000 +0100 -*************** -*** 4014,4019 **** ---- 4014,4026 ---- - else - retval = concat_fnames(dname, tail, TRUE); - -+ #ifdef WIN3264 -+ if (retval != NULL) -+ for (t = gettail(retval); *t != NUL; mb_ptr_adv(t)) -+ if (*t == ':') -+ *t = '%'; -+ #endif -+ - return retval; - } - -*************** -*** 4137,4148 **** - #ifndef SHORT_FNAME - int r; - #endif - - #if !defined(SHORT_FNAME) \ -! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE)) - # define CREATE_DUMMY_FILE - FILE *dummyfd = NULL; - - /* - * If we start editing a new file, e.g. "test.doc", which resides on an - * MSDOS compatible filesystem, it is possible that the file ---- 4144,4172 ---- - #ifndef SHORT_FNAME - int r; - #endif -+ char_u *buf_fname = buf->b_fname; - - #if !defined(SHORT_FNAME) \ -! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE)) - # define CREATE_DUMMY_FILE - FILE *dummyfd = NULL; - -+ # ifdef WIN3264 -+ if (buf_fname != NULL && !mch_isFullName(buf_fname) -+ && vim_strchr(gettail(buf_fname), ':')) -+ { -+ char_u *t; -+ -+ buf_fname = vim_strsave(buf_fname); -+ if (buf_fname == NULL) -+ buf_fname = buf->b_fname; -+ else -+ for (t = gettail(buf_fname); *t != NUL; mb_ptr_adv(t)) -+ if (*t == ':') -+ *t = '%'; -+ } -+ # endif -+ - /* - * If we start editing a new file, e.g. "test.doc", which resides on an - * MSDOS compatible filesystem, it is possible that the file -*************** -*** 4150,4158 **** - * this problem we temporarily create "test.doc". Don't do this when the - * check below for a 8.3 file name is used. - */ -! if (!(buf->b_p_sn || buf->b_shortname) && buf->b_fname != NULL -! && mch_getperm(buf->b_fname) < 0) -! dummyfd = mch_fopen((char *)buf->b_fname, "w"); - #endif - - /* ---- 4174,4182 ---- - * this problem we temporarily create "test.doc". Don't do this when the - * check below for a 8.3 file name is used. - */ -! if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL -! && mch_getperm(buf_fname) < 0) -! dummyfd = mch_fopen((char *)buf_fname, "w"); - #endif - - /* -*************** -*** 4171,4177 **** - if (dir_name == NULL) /* out of memory */ - fname = NULL; - else -! fname = makeswapname(buf->b_fname, buf->b_ffname, buf, dir_name); - - for (;;) - { ---- 4195,4201 ---- - if (dir_name == NULL) /* out of memory */ - fname = NULL; - else -! fname = makeswapname(buf_fname, buf->b_ffname, buf, dir_name); - - for (;;) - { -*************** -*** 4204,4210 **** - * It either contains two dots, is longer than 8 chars, or starts - * with a dot. - */ -! tail = gettail(buf->b_fname); - if ( vim_strchr(tail, '.') != NULL - || STRLEN(tail) > (size_t)8 - || *gettail(fname) == '.') ---- 4228,4234 ---- - * It either contains two dots, is longer than 8 chars, or starts - * with a dot. - */ -! tail = gettail(buf_fname); - if ( vim_strchr(tail, '.') != NULL - || STRLEN(tail) > (size_t)8 - || *gettail(fname) == '.') -*************** -*** 4273,4279 **** - { - buf->b_shortname = TRUE; - vim_free(fname); -! fname = makeswapname(buf->b_fname, buf->b_ffname, - buf, dir_name); - continue; /* try again with b_shortname set */ - } ---- 4297,4303 ---- - { - buf->b_shortname = TRUE; - vim_free(fname); -! fname = makeswapname(buf_fname, buf->b_ffname, - buf, dir_name); - continue; /* try again with b_shortname set */ - } -*************** -*** 4344,4350 **** - { - buf->b_shortname = TRUE; - vim_free(fname); -! fname = makeswapname(buf->b_fname, buf->b_ffname, - buf, dir_name); - continue; /* try again with '.' replaced with '_' */ - } ---- 4368,4374 ---- - { - buf->b_shortname = TRUE; - vim_free(fname); -! fname = makeswapname(buf_fname, buf->b_ffname, - buf, dir_name); - continue; /* try again with '.' replaced with '_' */ - } -*************** -*** 4356,4362 **** - * viewing a help file or when the path of the file is different - * (happens when all .swp files are in one directory). - */ -! if (!recoverymode && buf->b_fname != NULL - && !buf->b_help && !(buf->b_flags & BF_DUMMY)) - { - int fd; ---- 4380,4386 ---- - * viewing a help file or when the path of the file is different - * (happens when all .swp files are in one directory). - */ -! if (!recoverymode && buf_fname != NULL - && !buf->b_help && !(buf->b_flags & BF_DUMMY)) - { - int fd; -*************** -*** 4433,4439 **** - { - fclose(dummyfd); - dummyfd = NULL; -! mch_remove(buf->b_fname); - did_use_dummy = TRUE; - } - #endif ---- 4457,4463 ---- - { - fclose(dummyfd); - dummyfd = NULL; -! mch_remove(buf_fname); - did_use_dummy = TRUE; - } - #endif -*************** -*** 4448,4454 **** - * user anyway. - */ - if (swap_exists_action != SEA_NONE -! && has_autocmd(EVENT_SWAPEXISTS, buf->b_fname, buf)) - choice = do_swapexists(buf, fname); - - if (choice == 0) ---- 4472,4478 ---- - * user anyway. - */ - if (swap_exists_action != SEA_NONE -! && has_autocmd(EVENT_SWAPEXISTS, buf_fname, buf)) - choice = do_swapexists(buf, fname); - - if (choice == 0) -*************** -*** 4549,4555 **** - #ifdef CREATE_DUMMY_FILE - /* Going to try another name, need the dummy file again. */ - if (did_use_dummy) -! dummyfd = mch_fopen((char *)buf->b_fname, "w"); - #endif - } - } ---- 4573,4579 ---- - #ifdef CREATE_DUMMY_FILE - /* Going to try another name, need the dummy file again. */ - if (did_use_dummy) -! dummyfd = mch_fopen((char *)buf_fname, "w"); - #endif - } - } -*************** -*** 4581,4589 **** - if (dummyfd != NULL) /* file has been created temporarily */ - { - fclose(dummyfd); -! mch_remove(buf->b_fname); - } - #endif - return fname; - } - ---- 4605,4617 ---- - if (dummyfd != NULL) /* file has been created temporarily */ - { - fclose(dummyfd); -! mch_remove(buf_fname); - } - #endif -+ #ifdef WIN3264 -+ if (buf_fname != buf->b_fname) -+ vim_free(buf_fname); -+ #endif - return fname; - } - -*** ../vim-7.4.065/src/misc1.c 2013-10-06 17:46:48.000000000 +0200 ---- src/misc1.c 2013-11-04 02:44:28.000000000 +0100 -*************** -*** 4808,4816 **** - - if (fname == NULL) - return (char_u *)""; -! for (p1 = p2 = fname; *p2; ) /* find last part of path */ - { -! if (vim_ispathsep(*p2)) - p1 = p2 + 1; - mb_ptr_adv(p2); - } ---- 4808,4816 ---- - - if (fname == NULL) - return (char_u *)""; -! for (p1 = p2 = get_past_head(fname); *p2; ) /* find last part of path */ - { -! if (vim_ispathsep_nocolon(*p2)) - p1 = p2 + 1; - mb_ptr_adv(p2); - } -*************** -*** 4929,4935 **** - } - - /* -! * return TRUE if 'c' is a path separator. - */ - int - vim_ispathsep(c) ---- 4929,4936 ---- - } - - /* -! * Return TRUE if 'c' is a path separator. -! * Note that for MS-Windows this includes the colon. - */ - int - vim_ispathsep(c) -*************** -*** 4952,4957 **** ---- 4953,4972 ---- - #endif - } - -+ /* -+ * Like vim_ispathsep(c), but exclude the colon for MS-Windows. -+ */ -+ int -+ vim_ispathsep_nocolon(c) -+ int c; -+ { -+ return vim_ispathsep(c) -+ #ifdef BACKSLASH_IN_FILENAME -+ && c != ':' -+ #endif -+ ; -+ } -+ - #if defined(FEAT_SEARCHPATH) || defined(PROTO) - /* - * return TRUE if 'c' is a path list separator. -*** ../vim-7.4.065/src/proto/misc1.pro 2013-08-10 13:37:20.000000000 +0200 ---- src/proto/misc1.pro 2013-11-04 02:44:30.000000000 +0100 -*************** -*** 69,74 **** ---- 69,75 ---- - char_u *getnextcomp __ARGS((char_u *fname)); - char_u *get_past_head __ARGS((char_u *path)); - int vim_ispathsep __ARGS((int c)); -+ int vim_ispathsep_nocolon __ARGS((int c)); - int vim_ispathlistsep __ARGS((int c)); - void shorten_dir __ARGS((char_u *str)); - int dir_of_file_exists __ARGS((char_u *fname)); -*** ../vim-7.4.065/src/version.c 2013-11-04 02:00:55.000000000 +0100 ---- src/version.c 2013-11-04 02:50:35.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 66, - /**/ - --- -Females are strictly forbidden to appear unshaven in public. - [real standing law in New Mexico, 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 /// diff --git a/7.4.067 b/7.4.067 deleted file mode 100644 index 75a89c2a..00000000 --- a/7.4.067 +++ /dev/null @@ -1,126 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.067 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.067 -Problem: After inserting comment leader, CTRL-\ CTRL-O does move the - cursor. (Wiktor Ruben) -Solution: Avoid moving the cursor. (Christian Brabandt) -Files: src/edit.c - - -*** ../vim-7.4.066/src/edit.c 2013-09-08 20:00:45.000000000 +0200 ---- src/edit.c 2013-11-04 03:57:43.000000000 +0100 -*************** -*** 199,205 **** - static void spell_back_to_badword __ARGS((void)); - static int spell_bad_len = 0; /* length of located bad word */ - #endif -! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc)); - static int echeck_abbr __ARGS((int)); - static int replace_pop __ARGS((void)); - static void replace_join __ARGS((int off)); ---- 199,205 ---- - static void spell_back_to_badword __ARGS((void)); - static int spell_bad_len = 0; /* length of located bad word */ - #endif -! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc, int nomove)); - static int echeck_abbr __ARGS((int)); - static int replace_pop __ARGS((void)); - static void replace_join __ARGS((int off)); -*************** -*** 6698,6704 **** - if (!arrow_used) /* something has been inserted */ - { - AppendToRedobuff(ESC_STR); -! stop_insert(end_insert_pos, FALSE); - arrow_used = TRUE; /* this means we stopped the current insert */ - } - #ifdef FEAT_SPELL ---- 6698,6704 ---- - if (!arrow_used) /* something has been inserted */ - { - AppendToRedobuff(ESC_STR); -! stop_insert(end_insert_pos, FALSE, FALSE); - arrow_used = TRUE; /* this means we stopped the current insert */ - } - #ifdef FEAT_SPELL -*************** -*** 6787,6795 **** - * to another window/buffer. - */ - static void -! stop_insert(end_insert_pos, esc) - pos_T *end_insert_pos; - int esc; /* called by ins_esc() */ - { - int cc; - char_u *ptr; ---- 6787,6796 ---- - * to another window/buffer. - */ - static void -! stop_insert(end_insert_pos, esc, nomove) - pos_T *end_insert_pos; - int esc; /* called by ins_esc() */ -+ int nomove; /* , don't move cursor */ - { - int cc; - char_u *ptr; -*************** -*** 6860,6866 **** - * Do this when ESC was used or moving the cursor up/down. - * Check for the old position still being valid, just in case the text - * got changed unexpectedly. */ -! if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL - && curwin->w_cursor.lnum != end_insert_pos->lnum)) - && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count) - { ---- 6861,6867 ---- - * Do this when ESC was used or moving the cursor up/down. - * Check for the old position still being valid, just in case the text - * got changed unexpectedly. */ -! if (!nomove && did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL - && curwin->w_cursor.lnum != end_insert_pos->lnum)) - && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count) - { -*************** -*** 8377,8383 **** - disabled_redraw = TRUE; - return FALSE; /* repeat the insert */ - } -! stop_insert(&curwin->w_cursor, TRUE); - undisplay_dollar(); - } - ---- 8378,8384 ---- - disabled_redraw = TRUE; - return FALSE; /* repeat the insert */ - } -! stop_insert(&curwin->w_cursor, TRUE, nomove); - undisplay_dollar(); - } - -*** ../vim-7.4.066/src/version.c 2013-11-04 02:53:46.000000000 +0100 ---- src/version.c 2013-11-04 03:57:29.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 67, - /**/ - --- -Beer & pretzels can't be served at the same time in any bar or restaurant. - [real standing law in North Dakota, 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 /// diff --git a/7.4.068 b/7.4.068 deleted file mode 100644 index a9093385..00000000 --- a/7.4.068 +++ /dev/null @@ -1,131 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.068 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.068 -Problem: Cannot build Vim on Mac with non-Apple compilers. -Solution: Remove the -no-cpp-precomp flag. (Misty De Meo) -Files: src/configure.in, src/auto/configure, src/osdef.sh - - -*** ../vim-7.4.067/src/configure.in 2013-11-03 20:26:26.000000000 +0100 ---- src/configure.in 2013-11-04 04:53:51.000000000 +0100 -*************** -*** 204,210 **** - OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - dnl TODO: use -arch i386 on Intel machines -! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - - dnl If Carbon is found, assume we don't want X11 - dnl unless it was specifically asked for (--with-x) ---- 204,211 ---- - OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - dnl TODO: use -arch i386 on Intel machines -! dnl Removed -no-cpp-precomp, only for very old compilers. -! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX" - - dnl If Carbon is found, assume we don't want X11 - dnl unless it was specifically asked for (--with-x) -*************** -*** 262,269 **** - ]) - if test "$GCC" = yes -a "$local_dir" != no; then - echo 'void f(){}' > conftest.c -! dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler) -! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"` - have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` - rm -f conftest.c conftest.o - fi ---- 263,270 ---- - ]) - if test "$GCC" = yes -a "$local_dir" != no; then - echo 'void f(){}' > conftest.c -! dnl Removed -no-cpp-precomp, only needed for OS X 10.2 (Ben Fowler) -! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"` - have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` - rm -f conftest.c conftest.o - fi -*** ../vim-7.4.067/src/auto/configure 2013-11-03 20:26:27.000000000 +0100 ---- src/auto/configure 2013-11-04 04:54:16.000000000 +0100 -*************** -*** 4221,4227 **** - MACOSX=yes - OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" -! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - - # On IRIX 5.3, sys/types and inttypes.h are conflicting. - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ---- 4221,4227 ---- - MACOSX=yes - OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" -! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX" - - # On IRIX 5.3, sys/types and inttypes.h are conflicting. - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -*************** -*** 4311,4317 **** - - if test "$GCC" = yes -a "$local_dir" != no; then - echo 'void f(){}' > conftest.c -! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"` - have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` - rm -f conftest.c conftest.o - fi ---- 4311,4317 ---- - - if test "$GCC" = yes -a "$local_dir" != no; then - echo 'void f(){}' > conftest.c -! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"` - have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` - rm -f conftest.c conftest.o - fi -*** ../vim-7.4.067/src/osdef.sh 2010-05-15 13:04:08.000000000 +0200 ---- src/osdef.sh 2013-11-04 04:51:36.000000000 +0100 -*************** -*** 47,57 **** - #endif - EOF - -! # Mac uses precompiled headers, but we need real headers here. -! case `uname` in -! Darwin) $CC -I. -I$srcdir -E -no-cpp-precomp osdef0.c >osdef0.cc;; -! *) $CC -I. -I$srcdir -E osdef0.c >osdef0.cc;; -! esac - - # insert a space in front of each line, so that a function name at the - # start of the line is matched with "[)*, ]\1[ (]" ---- 47,53 ---- - #endif - EOF - -! $CC -I. -I$srcdir -E osdef0.c >osdef0.cc - - # insert a space in front of each line, so that a function name at the - # start of the line is matched with "[)*, ]\1[ (]" -*** ../vim-7.4.067/src/version.c 2013-11-04 04:20:28.000000000 +0100 ---- src/version.c 2013-11-04 04:51:51.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 68, - /**/ - --- -Violators can be fined, arrested or jailed for making ugly faces at a dog. - [real standing law in Oklahoma, 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 /// diff --git a/7.4.069 b/7.4.069 deleted file mode 100644 index ac52affc..00000000 --- a/7.4.069 +++ /dev/null @@ -1,2559 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.069 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.069 -Problem: Cannot right shift lines starting with #. -Solution: Allow the right shift when 'cino' contains #N with N > 0. - (Christian Brabandt) - Refactor parsing 'cino', store the values in the buffer. -Files: runtime/doc/indent.txt, src/buffer.c, src/edit.c, src/eval.c, - src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c, - src/proto/misc1.pro, src/proto/option.pro, src/structs.h, - src/option.c - - -*** ../vim-7.4.068/runtime/doc/indent.txt 2013-08-10 13:24:56.000000000 +0200 ---- runtime/doc/indent.txt 2013-11-05 07:10:56.000000000 +0100 -*************** -*** 545,554 **** - (default 70 lines). - - *cino-#* -! #N When N is non-zero recognize shell/Perl comments, starting with -! '#'. Default N is zero: don't recognize '#' comments. Note -! that lines starting with # will still be seen as preprocessor -! lines. - - - The defaults, spelled out in full, are: ---- 545,556 ---- - (default 70 lines). - - *cino-#* -! #N When N is non-zero recognize shell/Perl comments starting with -! '#', do not recognize preprocessor lines; allow right-shifting -! lines that start with "#". -! When N is zero (default): don't recognize '#' comments, do -! recognize preprocessor lines; right-shifting lines that start -! with "#" does not work. - - - The defaults, spelled out in full, are: -*************** -*** 556,562 **** - c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0 - - Vim puts a line in column 1 if: -! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'. - - It starts with a label (a keyword followed by ':', other than "case" and - "default") and 'cinoptions' does not contain an 'L' entry with a positive - value. ---- 558,564 ---- - c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0 - - Vim puts a line in column 1 if: -! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'. - - It starts with a label (a keyword followed by ':', other than "case" and - "default") and 'cinoptions' does not contain an 'L' entry with a positive - value. -*************** -*** 581,588 **** - - Clojure indentation differs somewhat from traditional Lisps, due in part to - the use of square and curly brackets, and otherwise by community convention. -! These conventions are not always universally followed, so the Clojure indent -! script offers a few configurable options, listed below. - - If the current vim does not include searchpairpos(), the indent script falls - back to normal 'lisp' indenting, and the following options are ignored. ---- 583,590 ---- - - Clojure indentation differs somewhat from traditional Lisps, due in part to - the use of square and curly brackets, and otherwise by community convention. -! These conventions are not universally followed, so the Clojure indent script -! offers a few configurable options, listed below. - - If the current vim does not include searchpairpos(), the indent script falls - back to normal 'lisp' indenting, and the following options are ignored. -*** ../vim-7.4.068/src/buffer.c 2013-11-02 04:39:34.000000000 +0100 ---- src/buffer.c 2013-11-05 06:18:54.000000000 +0100 -*************** -*** 211,217 **** ---- 211,220 ---- - - /* if first time loading this buffer, init b_chartab[] */ - if (curbuf->b_flags & BF_NEVERLOADED) -+ { - (void)buf_init_chartab(curbuf, FALSE); -+ parse_cino(curbuf); -+ } - - /* - * Set/reset the Changed flag first, autocmds may change the buffer. -*** ../vim-7.4.068/src/edit.c 2013-11-04 04:20:28.000000000 +0100 ---- src/edit.c 2013-11-05 06:12:45.000000000 +0100 -*************** -*** 8958,8964 **** - - *inserted_space_p = FALSE; - if (p_sta && in_indent) -! ts = (int)get_sw_value(); - else - ts = (int)get_sts_value(); - /* Compute the virtual column where we want to be. Since ---- 8958,8964 ---- - - *inserted_space_p = FALSE; - if (p_sta && in_indent) -! ts = (int)get_sw_value(curbuf); - else - ts = (int)get_sts_value(); - /* Compute the virtual column where we want to be. Since -*************** -*** 9647,9653 **** - * When nothing special, insert TAB like a normal character - */ - if (!curbuf->b_p_et -! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value()) - && get_sts_value() == 0) - return TRUE; - ---- 9647,9653 ---- - * When nothing special, insert TAB like a normal character - */ - if (!curbuf->b_p_et -! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value(curbuf)) - && get_sts_value() == 0) - return TRUE; - -*************** -*** 9663,9669 **** - AppendToRedobuff((char_u *)"\t"); - - if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */ -! temp = (int)get_sw_value(); - else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */ - temp = (int)get_sts_value(); - else /* otherwise use 'tabstop' */ ---- 9663,9669 ---- - AppendToRedobuff((char_u *)"\t"); - - if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */ -! temp = (int)get_sw_value(curbuf); - else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */ - temp = (int)get_sts_value(); - else /* otherwise use 'tabstop' */ -*** ../vim-7.4.068/src/eval.c 2013-11-02 23:29:17.000000000 +0100 ---- src/eval.c 2013-11-05 06:12:49.000000000 +0100 -*************** -*** 16934,16940 **** - typval_T *argvars UNUSED; - typval_T *rettv; - { -! rettv->vval.v_number = get_sw_value(); - } - - /* ---- 16934,16940 ---- - typval_T *argvars UNUSED; - typval_T *rettv; - { -! rettv->vval.v_number = get_sw_value(curbuf); - } - - /* -*** ../vim-7.4.068/src/ex_getln.c 2013-07-05 19:44:21.000000000 +0200 ---- src/ex_getln.c 2013-11-05 06:12:57.000000000 +0100 -*************** -*** 2280,2286 **** - - if (c1 == Ctrl_T) - { -! long sw = get_sw_value(); - - p = (char_u *)line_ga.ga_data; - p[line_ga.ga_len] = NUL; ---- 2280,2286 ---- - - if (c1 == Ctrl_T) - { -! long sw = get_sw_value(curbuf); - - p = (char_u *)line_ga.ga_data; - p[line_ga.ga_len] = NUL; -*************** -*** 2337,2343 **** - p[line_ga.ga_len] = NUL; - indent = get_indent_str(p, 8); - --indent; -! indent -= indent % get_sw_value(); - } - while (get_indent_str(p, 8) > indent) - { ---- 2337,2343 ---- - p[line_ga.ga_len] = NUL; - indent = get_indent_str(p, 8); - --indent; -! indent -= indent % get_sw_value(curbuf); - } - while (get_indent_str(p, 8) > indent) - { -*************** -*** 4178,4184 **** - /* - * Prepare a string for expansion. - * When expanding file names: The string will be used with expand_wildcards(). -! * Copy the file name into allocated memory and add a '*' at the end. - * When expanding other names: The string will be used with regcomp(). Copy - * the name into allocated memory and prepend "^". - */ ---- 4178,4184 ---- - /* - * Prepare a string for expansion. - * When expanding file names: The string will be used with expand_wildcards(). -! * Copy "fname[len]" into allocated memory and add a '*' at the end. - * When expanding other names: The string will be used with regcomp(). Copy - * the name into allocated memory and prepend "^". - */ -*** ../vim-7.4.068/src/fold.c 2013-06-15 16:57:24.000000000 +0200 ---- src/fold.c 2013-11-05 06:13:03.000000000 +0100 -*************** -*** 3052,3058 **** - flp->lvl = -1; - } - else -! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(); - if (flp->lvl > flp->wp->w_p_fdn) - { - flp->lvl = flp->wp->w_p_fdn; ---- 3052,3058 ---- - flp->lvl = -1; - } - else -! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(curbuf); - if (flp->lvl > flp->wp->w_p_fdn) - { - flp->lvl = flp->wp->w_p_fdn; -*** ../vim-7.4.068/src/misc1.c 2013-11-04 02:53:46.000000000 +0100 ---- src/misc1.c 2013-11-05 06:45:15.000000000 +0100 -*************** -*** 1405,1411 **** - #ifdef FEAT_SMARTINDENT - if (did_si) - { -! int sw = (int)get_sw_value(); - - if (p_sr) - newindent -= newindent % sw; ---- 1405,1411 ---- - #ifdef FEAT_SMARTINDENT - if (did_si) - { -! int sw = (int)get_sw_value(curbuf); - - if (p_sr) - newindent -= newindent % sw; -*************** -*** 5342,5349 **** - static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment)); - static int cin_is_cpp_namespace __ARGS((char_u *)); - -- static int ind_hash_comment = 0; /* # starts a comment */ -- - /* - * Skip over white space and C comments within the line. - * Also skip over Perl/shell comments if desired. ---- 5342,5347 ---- -*************** -*** 5360,5366 **** - - /* Perl/shell # comment comment continues until eol. Require a space - * before # to avoid recognizing $#array. */ -! if (ind_hash_comment != 0 && s != prev_s && *s == '#') - { - s += STRLEN(s); - break; ---- 5358,5364 ---- - - /* Perl/shell # comment comment continues until eol. Require a space - * before # to avoid recognizing $#array. */ -! if (curbuf->b_ind_hash_comment != 0 && s != prev_s && *s == '#') - { - s += STRLEN(s); - break; -*************** -*** 6639,6839 **** - return retval; - } - -! int -! get_c_indent() - { -! int sw = (int)get_sw_value(); - - /* -! * spaces from a block's opening brace the prevailing indent for that -! * block should be - */ - -! int ind_level = sw; - -! /* -! * spaces from the edge of the line an open brace that's at the end of a -! * line is imagined to be. -! */ -! int ind_open_imag = 0; - -! /* -! * spaces from the prevailing indent for a line that is not preceded by -! * an opening brace. -! */ -! int ind_no_brace = 0; -! -! /* -! * column where the first { of a function should be located } -! */ -! int ind_first_open = 0; - -! /* -! * spaces from the prevailing indent a leftmost open brace should be -! * located -! */ -! int ind_open_extra = 0; - -! /* -! * spaces from the matching open brace (real location for one at the left - * edge; imaginary location from one that ends a line) the matching close -! * brace should be located -! */ -! int ind_close_extra = 0; - -! /* -! * spaces from the edge of the line an open brace sitting in the leftmost -! * column is imagined to be -! */ -! int ind_open_left_imag = 0; - -! /* -! * Spaces jump labels should be shifted to the left if N is non-negative, -! * otherwise the jump label will be put to column 1. -! */ -! int ind_jump_label = -1; - -! /* -! * spaces from the switch() indent a "case xx" label should be located -! */ -! int ind_case = sw; - -! /* -! * spaces from the "case xx:" code after a switch() should be located -! */ -! int ind_case_code = sw; - -! /* -! * lineup break at end of case in switch() with case label -! */ -! int ind_case_break = 0; - -! /* -! * spaces from the class declaration indent a scope declaration label -! * should be located -! */ -! int ind_scopedecl = sw; - -! /* -! * spaces from the scope declaration label code should be located -! */ -! int ind_scopedecl_code = sw; - -! /* -! * amount K&R-style parameters should be indented -! */ -! int ind_param = sw; - -! /* -! * amount a function type spec should be indented -! */ -! int ind_func_type = sw; - -! /* -! * amount a cpp base class declaration or constructor initialization -! * should be indented -! */ -! int ind_cpp_baseclass = sw; - -! /* -! * additional spaces beyond the prevailing indent a continuation line -! * should be located -! */ -! int ind_continuation = sw; - -! /* -! * spaces from the indent of the line with an unclosed parentheses -! */ -! int ind_unclosed = sw * 2; - -! /* -! * spaces from the indent of the line with an unclosed parentheses, which -! * itself is also unclosed -! */ -! int ind_unclosed2 = sw; - -! /* -! * suppress ignoring spaces from the indent of a line starting with an -! * unclosed parentheses. -! */ -! int ind_unclosed_noignore = 0; - -! /* -! * If the opening paren is the last nonwhite character on the line, and -! * ind_unclosed_wrapped is nonzero, use this indent relative to the outer -! * context (for very long lines). -! */ -! int ind_unclosed_wrapped = 0; - -! /* -! * suppress ignoring white space when lining up with the character after -! * an unclosed parentheses. -! */ -! int ind_unclosed_whiteok = 0; - -! /* -! * indent a closing parentheses under the line start of the matching -! * opening parentheses. -! */ -! int ind_matching_paren = 0; - -! /* -! * indent a closing parentheses under the previous line. -! */ -! int ind_paren_prev = 0; - -! /* -! * Extra indent for comments. -! */ -! int ind_comment = 0; - -! /* -! * spaces from the comment opener when there is nothing after it. -! */ -! int ind_in_comment = 3; - -! /* -! * boolean: if non-zero, use ind_in_comment even if there is something -! * after the comment opener. -! */ -! int ind_in_comment2 = 0; - -! /* -! * max lines to search for an open paren -! */ -! int ind_maxparen = 20; - -! /* -! * max lines to search for an open comment -! */ -! int ind_maxcomment = 70; - -! /* -! * handle braces for java code -! */ -! int ind_java = 0; - -! /* -! * not to confuse JS object properties with labels -! */ -! int ind_js = 0; - -! /* -! * handle blocked cases correctly -! */ -! int ind_keep_case_label = 0; - -! /* -! * handle C++ namespace -! */ -! int ind_cpp_namespace = 0; - -! /* -! * handle continuation lines containing conditions of if(), for() and -! * while() -! */ -! int ind_if_for_while = 0; - - pos_T cur_curpos; - int amount; - int scope_amount; ---- 6637,6865 ---- - return retval; - } - -! /* -! * Parse 'cinoptions' and set the values in "curbuf". -! * Must be called when 'cinoptions', 'shiftwidth' and/or 'tabstop' changes. -! */ -! void -! parse_cino(buf) -! buf_T *buf; - { -! char_u *p; -! char_u *l; -! char_u *digits; -! int n; -! int divider; -! int fraction = 0; -! int sw = (int)get_sw_value(buf); - - /* -! * Set the default values. - */ -+ /* Spaces from a block's opening brace the prevailing indent for that -+ * block should be. */ -+ buf->b_ind_level = sw; - -! /* Spaces from the edge of the line an open brace that's at the end of a -! * line is imagined to be. */ -! buf->b_ind_open_imag = 0; - -! /* Spaces from the prevailing indent for a line that is not preceded by -! * an opening brace. */ -! buf->b_ind_no_brace = 0; - -! /* Column where the first { of a function should be located }. */ -! buf->b_ind_first_open = 0; - -! /* Spaces from the prevailing indent a leftmost open brace should be -! * located. */ -! buf->b_ind_open_extra = 0; - -! /* Spaces from the matching open brace (real location for one at the left - * edge; imaginary location from one that ends a line) the matching close -! * brace should be located. */ -! buf->b_ind_close_extra = 0; - -! /* Spaces from the edge of the line an open brace sitting in the leftmost -! * column is imagined to be. */ -! buf->b_ind_open_left_imag = 0; - -! /* Spaces jump labels should be shifted to the left if N is non-negative, -! * otherwise the jump label will be put to column 1. */ -! buf->b_ind_jump_label = -1; - -! /* Spaces from the switch() indent a "case xx" label should be located. */ -! buf->b_ind_case = sw; - -! /* Spaces from the "case xx:" code after a switch() should be located. */ -! buf->b_ind_case_code = sw; - -! /* Lineup break at end of case in switch() with case label. */ -! buf->b_ind_case_break = 0; - -! /* Spaces from the class declaration indent a scope declaration label -! * should be located. */ -! buf->b_ind_scopedecl = sw; - -! /* Spaces from the scope declaration label code should be located. */ -! buf->b_ind_scopedecl_code = sw; - -! /* Amount K&R-style parameters should be indented. */ -! buf->b_ind_param = sw; - -! /* Amount a function type spec should be indented. */ -! buf->b_ind_func_type = sw; - -! /* Amount a cpp base class declaration or constructor initialization -! * should be indented. */ -! buf->b_ind_cpp_baseclass = sw; - -! /* additional spaces beyond the prevailing indent a continuation line -! * should be located. */ -! buf->b_ind_continuation = sw; - -! /* Spaces from the indent of the line with an unclosed parentheses. */ -! buf->b_ind_unclosed = sw * 2; - -! /* Spaces from the indent of the line with an unclosed parentheses, which -! * itself is also unclosed. */ -! buf->b_ind_unclosed2 = sw; - -! /* Suppress ignoring spaces from the indent of a line starting with an -! * unclosed parentheses. */ -! buf->b_ind_unclosed_noignore = 0; - -! /* If the opening paren is the last nonwhite character on the line, and -! * b_ind_unclosed_wrapped is nonzero, use this indent relative to the outer -! * context (for very long lines). */ -! buf->b_ind_unclosed_wrapped = 0; - -! /* Suppress ignoring white space when lining up with the character after -! * an unclosed parentheses. */ -! buf->b_ind_unclosed_whiteok = 0; - -! /* Indent a closing parentheses under the line start of the matching -! * opening parentheses. */ -! buf->b_ind_matching_paren = 0; - -! /* Indent a closing parentheses under the previous line. */ -! buf->b_ind_paren_prev = 0; - -! /* Extra indent for comments. */ -! buf->b_ind_comment = 0; - -! /* Spaces from the comment opener when there is nothing after it. */ -! buf->b_ind_in_comment = 3; - -! /* Boolean: if non-zero, use b_ind_in_comment even if there is something -! * after the comment opener. */ -! buf->b_ind_in_comment2 = 0; - -! /* Max lines to search for an open paren. */ -! buf->b_ind_maxparen = 20; - -! /* Max lines to search for an open comment. */ -! buf->b_ind_maxcomment = 70; - -! /* Handle braces for java code. */ -! buf->b_ind_java = 0; - -! /* Not to confuse JS object properties with labels. */ -! buf->b_ind_js = 0; - -! /* Handle blocked cases correctly. */ -! buf->b_ind_keep_case_label = 0; - -! /* Handle C++ namespace. */ -! buf->b_ind_cpp_namespace = 0; - -! /* Handle continuation lines containing conditions of if(), for() and -! * while(). */ -! buf->b_ind_if_for_while = 0; -! -! for (p = buf->b_p_cino; *p; ) -! { -! l = p++; -! if (*p == '-') -! ++p; -! digits = p; /* remember where the digits start */ -! n = getdigits(&p); -! divider = 0; -! if (*p == '.') /* ".5s" means a fraction */ -! { -! fraction = atol((char *)++p); -! while (VIM_ISDIGIT(*p)) -! { -! ++p; -! if (divider) -! divider *= 10; -! else -! divider = 10; -! } -! } -! if (*p == 's') /* "2s" means two times 'shiftwidth' */ -! { -! if (p == digits) -! n = sw; /* just "s" is one 'shiftwidth' */ -! else -! { -! n *= sw; -! if (divider) -! n += (sw * fraction + divider / 2) / divider; -! } -! ++p; -! } -! if (l[1] == '-') -! n = -n; - -+ /* When adding an entry here, also update the default 'cinoptions' in -+ * doc/indent.txt, and add explanation for it! */ -+ switch (*l) -+ { -+ case '>': buf->b_ind_level = n; break; -+ case 'e': buf->b_ind_open_imag = n; break; -+ case 'n': buf->b_ind_no_brace = n; break; -+ case 'f': buf->b_ind_first_open = n; break; -+ case '{': buf->b_ind_open_extra = n; break; -+ case '}': buf->b_ind_close_extra = n; break; -+ case '^': buf->b_ind_open_left_imag = n; break; -+ case 'L': buf->b_ind_jump_label = n; break; -+ case ':': buf->b_ind_case = n; break; -+ case '=': buf->b_ind_case_code = n; break; -+ case 'b': buf->b_ind_case_break = n; break; -+ case 'p': buf->b_ind_param = n; break; -+ case 't': buf->b_ind_func_type = n; break; -+ case '/': buf->b_ind_comment = n; break; -+ case 'c': buf->b_ind_in_comment = n; break; -+ case 'C': buf->b_ind_in_comment2 = n; break; -+ case 'i': buf->b_ind_cpp_baseclass = n; break; -+ case '+': buf->b_ind_continuation = n; break; -+ case '(': buf->b_ind_unclosed = n; break; -+ case 'u': buf->b_ind_unclosed2 = n; break; -+ case 'U': buf->b_ind_unclosed_noignore = n; break; -+ case 'W': buf->b_ind_unclosed_wrapped = n; break; -+ case 'w': buf->b_ind_unclosed_whiteok = n; break; -+ case 'm': buf->b_ind_matching_paren = n; break; -+ case 'M': buf->b_ind_paren_prev = n; break; -+ case ')': buf->b_ind_maxparen = n; break; -+ case '*': buf->b_ind_maxcomment = n; break; -+ case 'g': buf->b_ind_scopedecl = n; break; -+ case 'h': buf->b_ind_scopedecl_code = n; break; -+ case 'j': buf->b_ind_java = n; break; -+ case 'J': buf->b_ind_js = n; break; -+ case 'l': buf->b_ind_keep_case_label = n; break; -+ case '#': buf->b_ind_hash_comment = n; break; -+ case 'N': buf->b_ind_cpp_namespace = n; break; -+ case 'k': buf->b_ind_if_for_while = n; break; -+ } -+ if (*p == ',') -+ ++p; -+ } -+ } -+ -+ int -+ get_c_indent() -+ { - pos_T cur_curpos; - int amount; - int scope_amount; -*************** -*** 6868,6877 **** - - int whilelevel; - linenr_T lnum; -- char_u *options; -- char_u *digits; -- int fraction = 0; /* init for GCC */ -- int divider; - int n; - int iscase; - int lookfor_break; ---- 6894,6899 ---- -*************** -*** 6880,6962 **** - int original_line_islabel; - int added_to_amount = 0; - -! for (options = curbuf->b_p_cino; *options; ) -! { -! l = options++; -! if (*options == '-') -! ++options; -! digits = options; /* remember where the digits start */ -! n = getdigits(&options); -! divider = 0; -! if (*options == '.') /* ".5s" means a fraction */ -! { -! fraction = atol((char *)++options); -! while (VIM_ISDIGIT(*options)) -! { -! ++options; -! if (divider) -! divider *= 10; -! else -! divider = 10; -! } -! } -! if (*options == 's') /* "2s" means two times 'shiftwidth' */ -! { -! if (options == digits) -! n = sw; /* just "s" is one 'shiftwidth' */ -! else -! { -! n *= sw; -! if (divider) -! n += (sw * fraction + divider / 2) / divider; -! } -! ++options; -! } -! if (l[1] == '-') -! n = -n; -! /* When adding an entry here, also update the default 'cinoptions' in -! * doc/indent.txt, and add explanation for it! */ -! switch (*l) -! { -! case '>': ind_level = n; break; -! case 'e': ind_open_imag = n; break; -! case 'n': ind_no_brace = n; break; -! case 'f': ind_first_open = n; break; -! case '{': ind_open_extra = n; break; -! case '}': ind_close_extra = n; break; -! case '^': ind_open_left_imag = n; break; -! case 'L': ind_jump_label = n; break; -! case ':': ind_case = n; break; -! case '=': ind_case_code = n; break; -! case 'b': ind_case_break = n; break; -! case 'p': ind_param = n; break; -! case 't': ind_func_type = n; break; -! case '/': ind_comment = n; break; -! case 'c': ind_in_comment = n; break; -! case 'C': ind_in_comment2 = n; break; -! case 'i': ind_cpp_baseclass = n; break; -! case '+': ind_continuation = n; break; -! case '(': ind_unclosed = n; break; -! case 'u': ind_unclosed2 = n; break; -! case 'U': ind_unclosed_noignore = n; break; -! case 'W': ind_unclosed_wrapped = n; break; -! case 'w': ind_unclosed_whiteok = n; break; -! case 'm': ind_matching_paren = n; break; -! case 'M': ind_paren_prev = n; break; -! case ')': ind_maxparen = n; break; -! case '*': ind_maxcomment = n; break; -! case 'g': ind_scopedecl = n; break; -! case 'h': ind_scopedecl_code = n; break; -! case 'j': ind_java = n; break; -! case 'J': ind_js = n; break; -! case 'l': ind_keep_case_label = n; break; -! case '#': ind_hash_comment = n; break; -! case 'N': ind_cpp_namespace = n; break; -! case 'k': ind_if_for_while = n; break; -! } -! if (*options == ',') -! ++options; -! } - - /* remember where the cursor was when we started */ - cur_curpos = curwin->w_cursor; ---- 6902,6909 ---- - int original_line_islabel; - int added_to_amount = 0; - -! /* make a copy, value is changed below */ -! int ind_continuation = curbuf->b_ind_continuation; - - /* remember where the cursor was when we started */ - cur_curpos = curwin->w_cursor; -*************** -*** 6990,7011 **** - - curwin->w_cursor.col = 0; - -! original_line_islabel = cin_islabel(ind_maxcomment); /* XXX */ - - /* - * #defines and so on always go at the left when included in 'cinkeys'. - */ - if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE))) -! { -! amount = 0; -! } - - /* - * Is it a non-case label? Then that goes at the left margin too unless: - * - JS flag is set. - * - 'L' item has a positive value. - */ -! else if (original_line_islabel && !ind_js && ind_jump_label < 0) - { - amount = 0; - } ---- 6937,6957 ---- - - curwin->w_cursor.col = 0; - -! original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment); /* XXX */ - - /* - * #defines and so on always go at the left when included in 'cinkeys'. - */ - if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE))) -! amount = curbuf->b_ind_hash_comment; - - /* - * Is it a non-case label? Then that goes at the left margin too unless: - * - JS flag is set. - * - 'L' item has a positive value. - */ -! else if (original_line_islabel && !curbuf->b_ind_js -! && curbuf->b_ind_jump_label < 0) - { - amount = 0; - } -*************** -*** 7027,7033 **** - * comment, try using the 'comments' option. - */ - else if (!cin_iscomment(theline) -! && (trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */ - { - int lead_start_len = 2; - int lead_middle_len = 1; ---- 6973,6980 ---- - * comment, try using the 'comments' option. - */ - else if (!cin_iscomment(theline) -! && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL) -! /* XXX */ - { - int lead_start_len = 2; - int lead_middle_len = 1; -*************** -*** 7161,7167 **** - } - if (amount == -1) /* use the comment opener */ - { -! if (!ind_in_comment2) - { - start = ml_get(trypos->lnum); - look = start + trypos->col + 2; /* skip / and * */ ---- 7108,7114 ---- - } - if (amount == -1) /* use the comment opener */ - { -! if (!curbuf->b_ind_in_comment2) - { - start = ml_get(trypos->lnum); - look = start + trypos->col + 2; /* skip / and * */ -*************** -*** 7170,7177 **** - } - getvcol(curwin, trypos, &col, NULL, NULL); - amount = col; -! if (ind_in_comment2 || *look == NUL) -! amount += ind_in_comment; - } - } - } ---- 7117,7124 ---- - } - getvcol(curwin, trypos, &col, NULL, NULL); - amount = col; -! if (curbuf->b_ind_in_comment2 || *look == NUL) -! amount += curbuf->b_ind_in_comment; - } - } - } -*************** -*** 7179,7187 **** - /* - * Are we inside parentheses or braces? - */ /* XXX */ -! else if (((trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL -! && ind_java == 0) -! || (tryposBrace = find_start_brace(ind_maxcomment)) != NULL - || trypos != NULL) - { - if (trypos != NULL && tryposBrace != NULL) ---- 7126,7136 ---- - /* - * Are we inside parentheses or braces? - */ /* XXX */ -! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL -! && curbuf->b_ind_java == 0) -! || (tryposBrace = -! find_start_brace(curbuf->b_ind_maxcomment)) != NULL - || trypos != NULL) - { - if (trypos != NULL && tryposBrace != NULL) -*************** -*** 7202,7208 **** - * If the matching paren is more than one line away, use the indent of - * a previous non-empty line that matches the same paren. - */ -! if (theline[0] == ')' && ind_paren_prev) - { - /* Line up with the start of the matching paren line. */ - amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */ ---- 7151,7157 ---- - * If the matching paren is more than one line away, use the indent of - * a previous non-empty line that matches the same paren. - */ -! if (theline[0] == ')' && curbuf->b_ind_paren_prev) - { - /* Line up with the start of the matching paren line. */ - amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */ -*************** -*** 7221,7227 **** - curwin->w_cursor.lnum = lnum; - - /* Skip a comment. XXX */ -! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) - { - lnum = trypos->lnum + 1; - continue; ---- 7170,7177 ---- - curwin->w_cursor.lnum = lnum; - - /* Skip a comment. XXX */ -! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) -! != NULL) - { - lnum = trypos->lnum + 1; - continue; -*************** -*** 7229,7236 **** - - /* XXX */ - if ((trypos = find_match_paren( -! corr_ind_maxparen(ind_maxparen, &cur_curpos), -! ind_maxcomment)) != NULL - && trypos->lnum == our_paren_pos.lnum - && trypos->col == our_paren_pos.col) - { ---- 7179,7186 ---- - - /* XXX */ - if ((trypos = find_match_paren( -! corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos), -! curbuf->b_ind_maxcomment)) != NULL - && trypos->lnum == our_paren_pos.lnum - && trypos->col == our_paren_pos.col) - { -*************** -*** 7258,7264 **** - int ignore_paren_col = 0; - int is_if_for_while = 0; - -! if (ind_if_for_while) - { - /* Look for the outermost opening parenthesis on this line - * and check whether it belongs to an "if", "for" or "while". */ ---- 7208,7214 ---- - int ignore_paren_col = 0; - int is_if_for_while = 0; - -! if (curbuf->b_ind_if_for_while) - { - /* Look for the outermost opening parenthesis on this line - * and check whether it belongs to an "if", "for" or "while". */ -*************** -*** 7273,7279 **** - curwin->w_cursor.lnum = outermost.lnum; - curwin->w_cursor.col = outermost.col; - -! trypos = find_match_paren(ind_maxparen, ind_maxcomment); - } while (trypos && trypos->lnum == outermost.lnum); - - curwin->w_cursor = cursor_save; ---- 7223,7230 ---- - curwin->w_cursor.lnum = outermost.lnum; - curwin->w_cursor.col = outermost.col; - -! trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment); - } while (trypos && trypos->lnum == outermost.lnum); - - curwin->w_cursor = cursor_save; -*************** -*** 7284,7290 **** - cin_is_if_for_while_before_offset(line, &outermost.col); - } - -! amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment); - look = skipwhite(look); - if (*look == '(') - { ---- 7235,7242 ---- - cin_is_if_for_while_before_offset(line, &outermost.col); - } - -! amount = skip_label(our_paren_pos.lnum, &look, -! curbuf->b_ind_maxcomment); - look = skipwhite(look); - if (*look == '(') - { -*************** -*** 7298,7304 **** - line = ml_get_curline(); - look_col = (int)(look - line); - curwin->w_cursor.col = look_col + 1; -! if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen)) - != NULL - && trypos->lnum == our_paren_pos.lnum - && trypos->col < our_paren_pos.col) ---- 7250,7257 ---- - line = ml_get_curline(); - look_col = (int)(look - line); - curwin->w_cursor.col = look_col + 1; -! if ((trypos = findmatchlimit(NULL, ')', 0, -! curbuf->b_ind_maxparen)) - != NULL - && trypos->lnum == our_paren_pos.lnum - && trypos->col < our_paren_pos.col) -*************** -*** 7307,7330 **** - curwin->w_cursor.lnum = save_lnum; - look = ml_get(our_paren_pos.lnum) + look_col; - } -! if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0) -! || (!ind_unclosed_noignore && *look == '(' - && ignore_paren_col == 0)) - { - /* - * If we're looking at a close paren, line up right there; - * otherwise, line up with the next (non-white) character. -! * When ind_unclosed_wrapped is set and the matching paren is - * the last nonwhite character of the line, use either the - * indent of the current line or the indentation of the next -! * outer paren and add ind_unclosed_wrapped (for very long - * lines). - */ - if (theline[0] != ')') - { - cur_amount = MAXCOL; - l = ml_get(our_paren_pos.lnum); -! if (ind_unclosed_wrapped - && cin_ends_in(l, (char_u *)"(", NULL)) - { - /* look for opening unmatched paren, indent one level ---- 7260,7284 ---- - curwin->w_cursor.lnum = save_lnum; - look = ml_get(our_paren_pos.lnum) + look_col; - } -! if (theline[0] == ')' || (curbuf->b_ind_unclosed == 0 -! && is_if_for_while == 0) -! || (!curbuf->b_ind_unclosed_noignore && *look == '(' - && ignore_paren_col == 0)) - { - /* - * If we're looking at a close paren, line up right there; - * otherwise, line up with the next (non-white) character. -! * When b_ind_unclosed_wrapped is set and the matching paren is - * the last nonwhite character of the line, use either the - * indent of the current line or the indentation of the next -! * outer paren and add b_ind_unclosed_wrapped (for very long - * lines). - */ - if (theline[0] != ')') - { - cur_amount = MAXCOL; - l = ml_get(our_paren_pos.lnum); -! if (curbuf->b_ind_unclosed_wrapped - && cin_ends_in(l, (char_u *)"(", NULL)) - { - /* look for opening unmatched paren, indent one level -*************** -*** 7346,7354 **** - } - - our_paren_pos.col = 0; -! amount += n * ind_unclosed_wrapped; - } -! else if (ind_unclosed_whiteok) - our_paren_pos.col++; - else - { ---- 7300,7308 ---- - } - - our_paren_pos.col = 0; -! amount += n * curbuf->b_ind_unclosed_wrapped; - } -! else if (curbuf->b_ind_unclosed_whiteok) - our_paren_pos.col++; - else - { -*************** -*** 7374,7385 **** - } - } - -! if (theline[0] == ')' && ind_matching_paren) - { - /* Line up with the start of the matching paren line. */ - } -! else if ((ind_unclosed == 0 && is_if_for_while == 0) -! || (!ind_unclosed_noignore - && *look == '(' && ignore_paren_col == 0)) - { - if (cur_amount != MAXCOL) ---- 7328,7339 ---- - } - } - -! if (theline[0] == ')' && curbuf->b_ind_matching_paren) - { - /* Line up with the start of the matching paren line. */ - } -! else if ((curbuf->b_ind_unclosed == 0 && is_if_for_while == 0) -! || (!curbuf->b_ind_unclosed_noignore - && *look == '(' && ignore_paren_col == 0)) - { - if (cur_amount != MAXCOL) -*************** -*** 7387,7425 **** - } - else - { -! /* Add ind_unclosed2 for each '(' before our matching one, but -! * ignore (void) before the line (ignore_paren_col). */ - col = our_paren_pos.col; - while ((int)our_paren_pos.col > ignore_paren_col) - { - --our_paren_pos.col; - switch (*ml_get_pos(&our_paren_pos)) - { -! case '(': amount += ind_unclosed2; - col = our_paren_pos.col; - break; -! case ')': amount -= ind_unclosed2; - col = MAXCOL; - break; - } - } - -! /* Use ind_unclosed once, when the first '(' is not inside - * braces */ - if (col == MAXCOL) -! amount += ind_unclosed; - else - { - curwin->w_cursor.lnum = our_paren_pos.lnum; - curwin->w_cursor.col = col; -! if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL) -! amount += ind_unclosed2; - else - { - if (is_if_for_while) -! amount += ind_if_for_while; - else -! amount += ind_unclosed; - } - } - /* ---- 7341,7380 ---- - } - else - { -! /* Add b_ind_unclosed2 for each '(' before our matching one, -! * but ignore (void) before the line (ignore_paren_col). */ - col = our_paren_pos.col; - while ((int)our_paren_pos.col > ignore_paren_col) - { - --our_paren_pos.col; - switch (*ml_get_pos(&our_paren_pos)) - { -! case '(': amount += curbuf->b_ind_unclosed2; - col = our_paren_pos.col; - break; -! case ')': amount -= curbuf->b_ind_unclosed2; - col = MAXCOL; - break; - } - } - -! /* Use b_ind_unclosed once, when the first '(' is not inside - * braces */ - if (col == MAXCOL) -! amount += curbuf->b_ind_unclosed; - else - { - curwin->w_cursor.lnum = our_paren_pos.lnum; - curwin->w_cursor.col = col; -! if (find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) != NULL) -! amount += curbuf->b_ind_unclosed2; - else - { - if (is_if_for_while) -! amount += curbuf->b_ind_if_for_while; - else -! amount += curbuf->b_ind_unclosed; - } - } - /* -*************** -*** 7437,7443 **** - - /* add extra indent for a comment */ - if (cin_iscomment(theline)) -! amount += ind_comment; - } - - /* ---- 7392,7398 ---- - - /* add extra indent for a comment */ - if (cin_iscomment(theline)) -! amount += curbuf->b_ind_comment; - } - - /* -*************** -*** 7480,7487 **** - */ - lnum = ourscope; - if (find_last_paren(start, '(', ')') -! && (trypos = find_match_paren(ind_maxparen, -! ind_maxcomment)) != NULL) - lnum = trypos->lnum; - - /* ---- 7435,7442 ---- - */ - lnum = ourscope; - if (find_last_paren(start, '(', ')') -! && (trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - lnum = trypos->lnum; - - /* -*************** -*** 7490,7500 **** - * ldfd) { - * } - */ -! if (ind_js || (ind_keep_case_label - && cin_iscase(skipwhite(ml_get_curline()), FALSE))) - amount = get_indent(); - else -! amount = skip_label(lnum, &l, ind_maxcomment); - - start_brace = BRACE_AT_END; - } ---- 7445,7455 ---- - * ldfd) { - * } - */ -! if (curbuf->b_ind_js || (curbuf->b_ind_keep_case_label - && cin_iscase(skipwhite(ml_get_curline()), FALSE))) - amount = get_indent(); - else -! amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment); - - start_brace = BRACE_AT_END; - } -*************** -*** 7510,7516 **** - * they may want closing braces to line up with something - * other than the open brace. indulge them, if so. - */ -! amount += ind_close_extra; - } - else - { ---- 7465,7471 ---- - * they may want closing braces to line up with something - * other than the open brace. indulge them, if so. - */ -! amount += curbuf->b_ind_close_extra; - } - else - { -*************** -*** 7523,7536 **** - lookfor = LOOKFOR_INITIAL; - if (cin_iselse(theline)) - lookfor = LOOKFOR_IF; -! else if (cin_iswhileofdo(theline, cur_curpos.lnum, ind_maxparen)) -! /* XXX */ - lookfor = LOOKFOR_DO; - if (lookfor != LOOKFOR_INITIAL) - { - curwin->w_cursor.lnum = cur_curpos.lnum; -! if (find_match(lookfor, ourscope, ind_maxparen, -! ind_maxcomment) == OK) - { - amount = get_indent(); /* XXX */ - goto theend; ---- 7478,7491 ---- - lookfor = LOOKFOR_INITIAL; - if (cin_iselse(theline)) - lookfor = LOOKFOR_IF; -! else if (cin_iswhileofdo(theline, cur_curpos.lnum, -! curbuf->b_ind_maxparen)) /* XXX */ - lookfor = LOOKFOR_DO; - if (lookfor != LOOKFOR_INITIAL) - { - curwin->w_cursor.lnum = cur_curpos.lnum; -! if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) == OK) - { - amount = get_indent(); /* XXX */ - goto theend; -*************** -*** 7547,7558 **** - /* - * if the '{' is _really_ at the left margin, use the imaginary - * location of a left-margin brace. Otherwise, correct the -! * location for ind_open_extra. - */ - - if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */ - { -! amount = ind_open_left_imag; - lookfor_cpp_namespace = TRUE; - } - else if (start_brace == BRACE_AT_START && ---- 7502,7513 ---- - /* - * if the '{' is _really_ at the left margin, use the imaginary - * location of a left-margin brace. Otherwise, correct the -! * location for b_ind_open_extra. - */ - - if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */ - { -! amount = curbuf->b_ind_open_left_imag; - lookfor_cpp_namespace = TRUE; - } - else if (start_brace == BRACE_AT_START && -*************** -*** 7565,7580 **** - { - if (start_brace == BRACE_AT_END) /* '{' is at end of line */ - { -! amount += ind_open_imag; - - l = skipwhite(ml_get_curline()); - if (cin_is_cpp_namespace(l)) -! amount += ind_cpp_namespace; - } - else - { -! /* Compensate for adding ind_open_extra later. */ -! amount -= ind_open_extra; - if (amount < 0) - amount = 0; - } ---- 7520,7535 ---- - { - if (start_brace == BRACE_AT_END) /* '{' is at end of line */ - { -! amount += curbuf->b_ind_open_imag; - - l = skipwhite(ml_get_curline()); - if (cin_is_cpp_namespace(l)) -! amount += curbuf->b_ind_cpp_namespace; - } - else - { -! /* Compensate for adding b_ind_open_extra later. */ -! amount -= curbuf->b_ind_open_extra; - if (amount < 0) - amount = 0; - } -*************** -*** 7585,7604 **** - if (cin_iscase(theline, FALSE)) /* it's a switch() label */ - { - lookfor = LOOKFOR_CASE; /* find a previous switch() label */ -! amount += ind_case; - } - else if (cin_isscopedecl(theline)) /* private:, ... */ - { - lookfor = LOOKFOR_SCOPEDECL; /* class decl is this block */ -! amount += ind_scopedecl; - } - else - { -! if (ind_case_break && cin_isbreak(theline)) /* break; ... */ - lookfor_break = TRUE; - - lookfor = LOOKFOR_INITIAL; -! amount += ind_level; /* ind_level from start of block */ - } - scope_amount = amount; - whilelevel = 0; ---- 7540,7561 ---- - if (cin_iscase(theline, FALSE)) /* it's a switch() label */ - { - lookfor = LOOKFOR_CASE; /* find a previous switch() label */ -! amount += curbuf->b_ind_case; - } - else if (cin_isscopedecl(theline)) /* private:, ... */ - { - lookfor = LOOKFOR_SCOPEDECL; /* class decl is this block */ -! amount += curbuf->b_ind_scopedecl; - } - else - { -! if (curbuf->b_ind_case_break && cin_isbreak(theline)) -! /* break; ... */ - lookfor_break = TRUE; - - lookfor = LOOKFOR_INITIAL; -! /* b_ind_level from start of block */ -! amount += curbuf->b_ind_level; - } - scope_amount = amount; - whilelevel = 0; -*************** -*** 7636,7649 **** - { - if (curwin->w_cursor.lnum == 0 - || curwin->w_cursor.lnum -! < ourscope - ind_maxparen) - { -! /* nothing found (abuse ind_maxparen as limit) -! * assume terminated line (i.e. a variable - * initialization) */ - if (cont_amount > 0) - amount = cont_amount; -! else if (!ind_js) - amount += ind_continuation; - break; - } ---- 7593,7606 ---- - { - if (curwin->w_cursor.lnum == 0 - || curwin->w_cursor.lnum -! < ourscope - curbuf->b_ind_maxparen) - { -! /* nothing found (abuse curbuf->b_ind_maxparen as -! * limit) assume terminated line (i.e. a variable - * initialization) */ - if (cont_amount > 0) - amount = cont_amount; -! else if (!curbuf->b_ind_js) - amount += ind_continuation; - break; - } -*************** -*** 7654,7660 **** - * If we're in a comment now, skip to the start of the - * comment. - */ -! trypos = find_start_comment(ind_maxcomment); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; ---- 7611,7617 ---- - * If we're in a comment now, skip to the start of the - * comment. - */ -! trypos = find_start_comment(curbuf->b_ind_maxcomment); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; -*************** -*** 7680,7686 **** - */ - if (start_brace != BRACE_IN_COL0 - || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, -! 0, ind_maxparen, ind_maxcomment)) - { - /* if the line is terminated with another ',' - * it is a continued variable initialization. ---- 7637,7644 ---- - */ - if (start_brace != BRACE_IN_COL0 - || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, -! 0, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) - { - /* if the line is terminated with another ',' - * it is a continued variable initialization. -*************** -*** 7711,7721 **** - */ /* XXX */ - trypos = NULL; - if (find_last_paren(l, '(', ')')) -! trypos = find_match_paren(ind_maxparen, -! ind_maxcomment); - - if (trypos == NULL && find_last_paren(l, '{', '}')) -! trypos = find_start_brace(ind_maxcomment); - - if (trypos != NULL) - { ---- 7669,7681 ---- - */ /* XXX */ - trypos = NULL; - if (find_last_paren(l, '(', ')')) -! trypos = find_match_paren( -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment); - - if (trypos == NULL && find_last_paren(l, '{', '}')) -! trypos = find_start_brace( -! curbuf->b_ind_maxcomment); - - if (trypos != NULL) - { -*************** -*** 7750,7757 **** - amount = scope_amount; - if (theline[0] == '{') - { -! amount += ind_open_extra; -! added_to_amount = ind_open_extra; - } - } - ---- 7710,7717 ---- - amount = scope_amount; - if (theline[0] == '{') - { -! amount += curbuf->b_ind_open_extra; -! added_to_amount = curbuf->b_ind_open_extra; - } - } - -*************** -*** 7773,7779 **** - - /* If we're in a comment now, skip to the start of - * the comment. */ -! trypos = find_start_comment(ind_maxcomment); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; ---- 7733,7740 ---- - - /* If we're in a comment now, skip to the start of - * the comment. */ -! trypos = find_start_comment( -! curbuf->b_ind_maxcomment); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; -*************** -*** 7788,7794 **** - /* Finally the actual check for "namespace". */ - if (cin_is_cpp_namespace(l)) - { -! amount += ind_cpp_namespace - added_to_amount; - break; - } - ---- 7749,7756 ---- - /* Finally the actual check for "namespace". */ - if (cin_is_cpp_namespace(l)) - { -! amount += curbuf->b_ind_cpp_namespace -! - added_to_amount; - break; - } - -*************** -*** 7802,7808 **** - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; ---- 7764,7771 ---- - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) -! != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; -*************** -*** 7856,7863 **** - * Check that this case label is not for another - * switch() - */ /* XXX */ -! if ((trypos = find_start_brace(ind_maxcomment)) == -! NULL || trypos->lnum == ourscope) - { - amount = get_indent(); /* XXX */ - break; ---- 7819,7827 ---- - * Check that this case label is not for another - * switch() - */ /* XXX */ -! if ((trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) == NULL -! || trypos->lnum == ourscope) - { - amount = get_indent(); /* XXX */ - break; -*************** -*** 7900,7908 **** - if (l != NULL && cin_is_cinword(l)) - { - if (theline[0] == '{') -! amount += ind_open_extra; - else -! amount += ind_level + ind_no_brace; - } - break; - } ---- 7864,7873 ---- - if (l != NULL && cin_is_cinword(l)) - { - if (theline[0] == '{') -! amount += curbuf->b_ind_open_extra; - else -! amount += curbuf->b_ind_level -! + curbuf->b_ind_no_brace; - } - break; - } -*************** -*** 7916,7923 **** - * -> y = 1; - */ - scope_amount = get_indent() + (iscase /* XXX */ -! ? ind_case_code : ind_scopedecl_code); -! lookfor = ind_case_break ? LOOKFOR_NOBREAK : LOOKFOR_ANY; - continue; - } - ---- 7881,7890 ---- - * -> y = 1; - */ - scope_amount = get_indent() + (iscase /* XXX */ -! ? curbuf->b_ind_case_code -! : curbuf->b_ind_scopedecl_code); -! lookfor = curbuf->b_ind_case_break -! ? LOOKFOR_NOBREAK : LOOKFOR_ANY; - continue; - } - -*************** -*** 7928,7934 **** - if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) - { - if (find_last_paren(l, '{', '}') && (trypos = -! find_start_brace(ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; ---- 7895,7901 ---- - if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) - { - if (find_last_paren(l, '{', '}') && (trypos = -! find_start_brace(curbuf->b_ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; -*************** -*** 7939,7945 **** - /* - * Ignore jump labels with nothing after them. - */ -! if (!ind_js && cin_islabel(ind_maxcomment)) - { - l = after_label(ml_get_curline()); - if (l == NULL || cin_nocode(l)) ---- 7906,7912 ---- - /* - * Ignore jump labels with nothing after them. - */ -! if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment)) - { - l = after_label(ml_get_curline()); - if (l == NULL || cin_nocode(l)) -*************** -*** 7962,7968 **** - * constructor initialization? - */ /* XXX */ - n = FALSE; -! if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0) - { - n = cin_is_cpp_baseclass(&col); - l = ml_get_curline(); ---- 7929,7935 ---- - * constructor initialization? - */ /* XXX */ - n = FALSE; -! if (lookfor != LOOKFOR_TERM && curbuf->b_ind_cpp_baseclass > 0) - { - n = cin_is_cpp_baseclass(&col); - l = ml_get_curline(); -*************** -*** 7985,7992 **** - } - else - /* XXX */ -! amount = get_baseclass_amount(col, ind_maxparen, -! ind_maxcomment, ind_cpp_baseclass); - break; - } - else if (lookfor == LOOKFOR_CPP_BASECLASS) ---- 7952,7961 ---- - } - else - /* XXX */ -! amount = get_baseclass_amount(col, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment, -! curbuf->b_ind_cpp_baseclass); - break; - } - else if (lookfor == LOOKFOR_CPP_BASECLASS) -*************** -*** 8029,8036 **** - */ - (void)find_last_paren(l, '(', ')'); - trypos = find_match_paren( -! corr_ind_maxparen(ind_maxparen, &cur_curpos), -! ind_maxcomment); - - /* - * If we are looking for ',', we also look for matching ---- 7998,8005 ---- - */ - (void)find_last_paren(l, '(', ')'); - trypos = find_match_paren( -! corr_ind_maxparen(curbuf->b_ind_maxparen, -! &cur_curpos), curbuf->b_ind_maxcomment); - - /* - * If we are looking for ',', we also look for matching -*************** -*** 8038,8044 **** - */ - if (trypos == NULL && terminated == ',' - && find_last_paren(l, '{', '}')) -! trypos = find_start_brace(ind_maxcomment); - - if (trypos != NULL) - { ---- 8007,8013 ---- - */ - if (trypos == NULL && terminated == ',' - && find_last_paren(l, '{', '}')) -! trypos = find_start_brace(curbuf->b_ind_maxcomment); - - if (trypos != NULL) - { -*************** -*** 8081,8089 **** - * Get indent and pointer to text for current line, - * ignoring any jump label. XXX - */ -! if (!ind_js) - cur_amount = skip_label(curwin->w_cursor.lnum, -! &l, ind_maxcomment); - else - cur_amount = get_indent(); - /* ---- 8050,8058 ---- - * Get indent and pointer to text for current line, - * ignoring any jump label. XXX - */ -! if (!curbuf->b_ind_js) - cur_amount = skip_label(curwin->w_cursor.lnum, -! &l, curbuf->b_ind_maxcomment); - else - cur_amount = get_indent(); - /* -*************** -*** 8098,8113 **** - { - amount = cur_amount; - /* -! * Only add ind_open_extra when the current line - * doesn't start with a '{', which must have a match - * in the same line (scope is the same). Probably: - * { 1, 2 }, - * -> { 3, 4 } - */ - if (*skipwhite(l) != '{') -! amount += ind_open_extra; - -! if (ind_cpp_baseclass) - { - /* have to look back, whether it is a cpp base - * class declaration or initialization */ ---- 8067,8082 ---- - { - amount = cur_amount; - /* -! * Only add b_ind_open_extra when the current line - * doesn't start with a '{', which must have a match - * in the same line (scope is the same). Probably: - * { 1, 2 }, - * -> { 3, 4 } - */ - if (*skipwhite(l) != '{') -! amount += curbuf->b_ind_open_extra; - -! if (curbuf->b_ind_cpp_baseclass) - { - /* have to look back, whether it is a cpp base - * class declaration or initialization */ -*************** -*** 8155,8164 **** - */ - amount = cur_amount; - if (theline[0] == '{') -! amount += ind_open_extra; - if (lookfor != LOOKFOR_TERM) - { -! amount += ind_level + ind_no_brace; - break; - } - ---- 8124,8134 ---- - */ - amount = cur_amount; - if (theline[0] == '{') -! amount += curbuf->b_ind_open_extra; - if (lookfor != LOOKFOR_TERM) - { -! amount += curbuf->b_ind_level -! + curbuf->b_ind_no_brace; - break; - } - -*************** -*** 8192,8201 **** - curwin->w_cursor.col = - (colnr_T)(l - ml_get_curline()) + 1; - -! if ((trypos = find_start_brace(ind_maxcomment)) -! == NULL - || find_match(LOOKFOR_IF, trypos->lnum, -! ind_maxparen, ind_maxcomment) == FAIL) - break; - } - } ---- 8162,8172 ---- - curwin->w_cursor.col = - (colnr_T)(l - ml_get_curline()) + 1; - -! if ((trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) == NULL - || find_match(LOOKFOR_IF, trypos->lnum, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) == FAIL) - break; - } - } -*************** -*** 8232,8238 **** - * enumerations/initializations. */ - if (terminated == ',') - { -! if (ind_cpp_baseclass == 0) - break; - - lookfor = LOOKFOR_CPP_BASECLASS; ---- 8203,8209 ---- - * enumerations/initializations. */ - if (terminated == ',') - { -! if (curbuf->b_ind_cpp_baseclass == 0) - break; - - lookfor = LOOKFOR_CPP_BASECLASS; -*************** -*** 8290,8297 **** - * If so: Ignore until the matching "do". - */ - /* XXX */ -! else if (cin_iswhileofdo_end(terminated, ind_maxparen, -! ind_maxcomment)) - { - /* - * Found an unterminated line after a while ();, line up ---- 8261,8268 ---- - * If so: Ignore until the matching "do". - */ - /* XXX */ -! else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) - { - /* - * Found an unterminated line after a while ();, line up -*************** -*** 8315,8321 **** - lookfor = LOOKFOR_TERM; - amount = get_indent(); /* XXX */ - if (theline[0] == '{') -! amount += ind_open_extra; - } - ++whilelevel; - } ---- 8286,8292 ---- - lookfor = LOOKFOR_TERM; - amount = get_indent(); /* XXX */ - if (theline[0] == '{') -! amount += curbuf->b_ind_open_extra; - } - ++whilelevel; - } -*************** -*** 8408,8415 **** - term_again: - l = ml_get_curline(); - if (find_last_paren(l, '(', ')') -! && (trypos = find_match_paren(ind_maxparen, -! ind_maxcomment)) != NULL) - { - /* - * Check if we are on a case label now. This is ---- 8379,8387 ---- - term_again: - l = ml_get_curline(); - if (find_last_paren(l, '(', ')') -! && (trypos = find_match_paren( -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - { - /* - * Check if we are on a case label now. This is -*************** -*** 8436,8456 **** - * stat; - * } - */ -! iscase = (ind_keep_case_label && cin_iscase(l, FALSE)); - - /* - * Get indent and pointer to text for current line, - * ignoring any jump label. - */ - amount = skip_label(curwin->w_cursor.lnum, -! &l, ind_maxcomment); - - if (theline[0] == '{') -! amount += ind_open_extra; -! /* See remark above: "Only add ind_open_extra.." */ - l = skipwhite(l); - if (*l == '{') -! amount -= ind_open_extra; - lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM; - - /* ---- 8408,8429 ---- - * stat; - * } - */ -! iscase = (curbuf->b_ind_keep_case_label -! && cin_iscase(l, FALSE)); - - /* - * Get indent and pointer to text for current line, - * ignoring any jump label. - */ - amount = skip_label(curwin->w_cursor.lnum, -! &l, curbuf->b_ind_maxcomment); - - if (theline[0] == '{') -! amount += curbuf->b_ind_open_extra; -! /* See remark above: "Only add b_ind_open_extra.." */ - l = skipwhite(l); - if (*l == '{') -! amount -= curbuf->b_ind_open_extra; - lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM; - - /* -*************** -*** 8466,8475 **** - && cin_iselse(l) - && whilelevel == 0) - { -! if ((trypos = find_start_brace(ind_maxcomment)) -! == NULL - || find_match(LOOKFOR_IF, trypos->lnum, -! ind_maxparen, ind_maxcomment) == FAIL) - break; - continue; - } ---- 8439,8449 ---- - && cin_iselse(l) - && whilelevel == 0) - { -! if ((trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) == NULL - || find_match(LOOKFOR_IF, trypos->lnum, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) == FAIL) - break; - continue; - } -*************** -*** 8480,8487 **** - */ - l = ml_get_curline(); - if (find_last_paren(l, '{', '}') -! && (trypos = find_start_brace(ind_maxcomment)) -! != NULL) /* XXX */ - { - curwin->w_cursor = *trypos; - /* if not "else {" check for terminated again */ ---- 8454,8461 ---- - */ - l = ml_get_curline(); - if (find_last_paren(l, '{', '}') -! && (trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) != NULL) /* XXX */ - { - curwin->w_cursor = *trypos; - /* if not "else {" check for terminated again */ -*************** -*** 8500,8510 **** - - /* add extra indent for a comment */ - if (cin_iscomment(theline)) -! amount += ind_comment; - - /* subtract extra left-shift for jump labels */ -! if (ind_jump_label > 0 && original_line_islabel) -! amount -= ind_jump_label; - } - - /* ---- 8474,8484 ---- - - /* add extra indent for a comment */ - if (cin_iscomment(theline)) -! amount += curbuf->b_ind_comment; - - /* subtract extra left-shift for jump labels */ -! if (curbuf->b_ind_jump_label > 0 && original_line_islabel) -! amount -= curbuf->b_ind_jump_label; - } - - /* -*************** -*** 8525,8531 **** - - if (theline[0] == '{') - { -! amount = ind_first_open; - } - - /* ---- 8499,8505 ---- - - if (theline[0] == '{') - { -! amount = curbuf->b_ind_first_open; - } - - /* -*************** -*** 8543,8552 **** - && !cin_ends_in(theline, (char_u *)",", NULL) - && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, - cur_curpos.lnum + 1, -! ind_maxparen, ind_maxcomment) - && !cin_isterminated(theline, FALSE, TRUE)) - { -! amount = ind_func_type; - } - else - { ---- 8517,8527 ---- - && !cin_ends_in(theline, (char_u *)",", NULL) - && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, - cur_curpos.lnum + 1, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) - && !cin_isterminated(theline, FALSE, TRUE)) - { -! amount = curbuf->b_ind_func_type; - } - else - { -*************** -*** 8565,8571 **** - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; ---- 8540,8547 ---- - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = find_start_comment( -! curbuf->b_ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; -*************** -*** 8577,8583 **** - * constructor initialization? - */ /* XXX */ - n = FALSE; -! if (ind_cpp_baseclass != 0 && theline[0] != '{') - { - n = cin_is_cpp_baseclass(&col); - l = ml_get_curline(); ---- 8553,8559 ---- - * constructor initialization? - */ /* XXX */ - n = FALSE; -! if (curbuf->b_ind_cpp_baseclass != 0 && theline[0] != '{') - { - n = cin_is_cpp_baseclass(&col); - l = ml_get_curline(); -*************** -*** 8585,8592 **** - if (n) - { - /* XXX */ -! amount = get_baseclass_amount(col, ind_maxparen, -! ind_maxcomment, ind_cpp_baseclass); - break; - } - ---- 8561,8569 ---- - if (n) - { - /* XXX */ -! amount = get_baseclass_amount(col, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment, -! curbuf->b_ind_cpp_baseclass); - break; - } - -*************** -*** 8617,8624 **** - { - /* take us back to opening paren */ - if (find_last_paren(l, '(', ')') -! && (trypos = find_match_paren(ind_maxparen, -! ind_maxcomment)) != NULL) - curwin->w_cursor = *trypos; - - /* For a line ending in ',' that is a continuation line go ---- 8594,8602 ---- - { - /* take us back to opening paren */ - if (find_last_paren(l, '(', ')') -! && (trypos = find_match_paren( -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - curwin->w_cursor = *trypos; - - /* For a line ending in ',' that is a continuation line go -*************** -*** 8650,8656 **** - * not in a comment, put it the left margin. - */ - if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0, -! ind_maxparen, ind_maxcomment)) /* XXX */ - break; - l = ml_get_curline(); - ---- 8628,8635 ---- - * not in a comment, put it the left margin. - */ - if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) /* XXX */ - break; - l = ml_get_curline(); - -*************** -*** 8699,8707 **** - * parameters. - */ - if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0, -! ind_maxparen, ind_maxcomment)) - { -! amount = ind_param; - break; - } - ---- 8678,8687 ---- - * parameters. - */ - if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) - { -! amount = curbuf->b_ind_param; - break; - } - -*************** -*** 8730,8737 **** - */ - find_last_paren(l, '(', ')'); - -! if ((trypos = find_match_paren(ind_maxparen, -! ind_maxcomment)) != NULL) - curwin->w_cursor = *trypos; - amount = get_indent(); /* XXX */ - break; ---- 8710,8717 ---- - */ - find_last_paren(l, '(', ')'); - -! if ((trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - curwin->w_cursor = *trypos; - amount = get_indent(); /* XXX */ - break; -*************** -*** 8739,8745 **** - - /* add extra indent for a comment */ - if (cin_iscomment(theline)) -! amount += ind_comment; - - /* add extra indent if the previous line ended in a backslash: - * "asdfasdf\ ---- 8719,8725 ---- - - /* add extra indent for a comment */ - if (cin_iscomment(theline)) -! amount += curbuf->b_ind_comment; - - /* add extra indent if the previous line ended in a backslash: - * "asdfasdf\ -*** ../vim-7.4.068/src/ops.c 2013-11-04 01:41:11.000000000 +0100 ---- src/ops.c 2013-11-05 06:13:27.000000000 +0100 -*************** -*** 336,342 **** - { - int count; - int i, j; -! int p_sw = (int)get_sw_value(); - - count = get_indent(); /* get current indent */ - ---- 336,342 ---- - { - int count; - int i, j; -! int p_sw = (int)get_sw_value(curbuf); - - count = get_indent(); /* get current indent */ - -*************** -*** 392,398 **** - int total; - char_u *newp, *oldp; - int oldcol = curwin->w_cursor.col; -! int p_sw = (int)get_sw_value(); - int p_ts = (int)curbuf->b_p_ts; - struct block_def bd; - int incr; ---- 392,398 ---- - int total; - char_u *newp, *oldp; - int oldcol = curwin->w_cursor.col; -! int p_sw = (int)get_sw_value(curbuf); - int p_ts = (int)curbuf->b_p_ts; - struct block_def bd; - int incr; -*************** -*** 4046,4052 **** - # endif - # endif - # ifdef FEAT_CINDENT -! (curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE)) - # endif - ; - } ---- 4046,4053 ---- - # endif - # endif - # ifdef FEAT_CINDENT -! (curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE) -! && curbuf->b_ind_hash_comment == 0) - # endif - ; - } -*** ../vim-7.4.068/src/proto/misc1.pro 2013-11-04 02:53:46.000000000 +0100 ---- src/proto/misc1.pro 2013-11-05 06:08:46.000000000 +0100 -*************** -*** 84,89 **** ---- 84,90 ---- - int cin_islabel __ARGS((int ind_maxcomment)); - int cin_iscase __ARGS((char_u *s, int strict)); - int cin_isscopedecl __ARGS((char_u *s)); -+ void parse_cino __ARGS((buf_T *buf)); - int get_c_indent __ARGS((void)); - int get_expr_indent __ARGS((void)); - int get_lisp_indent __ARGS((void)); -*** ../vim-7.4.068/src/proto/option.pro 2013-08-10 13:37:22.000000000 +0200 ---- src/proto/option.pro 2013-11-05 06:14:46.000000000 +0100 -*************** -*** 59,65 **** - 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)); -! long get_sw_value __ARGS((void)); - long get_sts_value __ARGS((void)); - void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit)); - /* vim: set ft=c : */ ---- 59,65 ---- - 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)); -! long get_sw_value __ARGS((buf_T *buf)); - long get_sts_value __ARGS((void)); - void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit)); - /* vim: set ft=c : */ -*** ../vim-7.4.068/src/structs.h 2013-07-03 15:35:59.000000000 +0200 ---- src/structs.h 2013-11-05 05:08:26.000000000 +0100 -*************** -*** 1633,1638 **** ---- 1633,1677 ---- - - /* end of buffer options */ - -+ #ifdef FEAT_CINDENT -+ /* values set from b_p_cino */ -+ int b_ind_level; -+ int b_ind_open_imag; -+ int b_ind_no_brace; -+ int b_ind_first_open; -+ int b_ind_open_extra; -+ int b_ind_close_extra; -+ int b_ind_open_left_imag; -+ int b_ind_jump_label; -+ int b_ind_case; -+ int b_ind_case_code; -+ int b_ind_case_break; -+ int b_ind_param; -+ int b_ind_func_type; -+ int b_ind_comment; -+ int b_ind_in_comment; -+ int b_ind_in_comment2; -+ int b_ind_cpp_baseclass; -+ int b_ind_continuation; -+ int b_ind_unclosed; -+ int b_ind_unclosed2; -+ int b_ind_unclosed_noignore; -+ int b_ind_unclosed_wrapped; -+ int b_ind_unclosed_whiteok; -+ int b_ind_matching_paren; -+ int b_ind_paren_prev; -+ int b_ind_maxparen; -+ int b_ind_maxcomment; -+ int b_ind_scopedecl; -+ int b_ind_scopedecl_code; -+ int b_ind_java; -+ int b_ind_js; -+ int b_ind_keep_case_label; -+ int b_ind_hash_comment; -+ int b_ind_cpp_namespace; -+ int b_ind_if_for_while; -+ #endif -+ - linenr_T b_no_eol_lnum; /* non-zero lnum when last line of next binary - * write should not have an end-of-line */ - -*** ../vim-7.4.068/src/option.c 2013-07-17 21:39:13.000000000 +0200 ---- src/option.c 2013-11-05 06:58:04.000000000 +0100 -*************** -*** 5372,5377 **** ---- 5372,5378 ---- - #ifdef FEAT_CINDENT - check_string_option(&buf->b_p_cink); - check_string_option(&buf->b_p_cino); -+ parse_cino(buf); - #endif - #ifdef FEAT_AUTOCMD - check_string_option(&buf->b_p_ft); -*************** -*** 6990,6995 **** ---- 6991,7005 ---- - } - #endif - -+ #ifdef FEAT_CINDENT -+ /* 'cinoptions' */ -+ else if (gvarp == &p_cino) -+ { -+ /* TODO: recognize errors */ -+ parse_cino(curbuf); -+ } -+ #endif -+ - /* Options that are a list of flags. */ - else - { -*************** -*** 8338,8351 **** - curwin->w_p_fdc = 12; - } - } - - /* 'shiftwidth' or 'tabstop' */ - else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts) - { - if (foldmethodIsIndent(curwin)) - foldUpdateAll(curwin); - } -! #endif /* FEAT_FOLDING */ - - #ifdef FEAT_MBYTE - /* 'maxcombine' */ ---- 8348,8371 ---- - curwin->w_p_fdc = 12; - } - } -+ #endif /* FEAT_FOLDING */ - -+ #if defined(FEAT_FOLDING) || defined(FEAT_CINDENT) - /* 'shiftwidth' or 'tabstop' */ - else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts) - { -+ # ifdef FEAT_FOLDING - if (foldmethodIsIndent(curwin)) - foldUpdateAll(curwin); -+ # endif -+ # ifdef FEAT_CINDENT -+ /* When 'shiftwidth' changes, or it's zero and 'tabstop' changes: -+ * parse 'cinoptions'. */ -+ if (pp == &curbuf->b_p_sw || curbuf->b_p_sw == 0) -+ parse_cino(curbuf); -+ # endif - } -! #endif - - #ifdef FEAT_MBYTE - /* 'maxcombine' */ -*************** -*** 11729,11737 **** - * 'tabstop' value when 'shiftwidth' is zero. - */ - long -! get_sw_value() - { -! return curbuf->b_p_sw ? curbuf->b_p_sw : curbuf->b_p_ts; - } - - /* ---- 11749,11758 ---- - * 'tabstop' value when 'shiftwidth' is zero. - */ - long -! get_sw_value(buf) -! buf_T *buf; - { -! return buf->b_p_sw ? buf->b_p_sw : buf->b_p_ts; - } - - /* -*************** -*** 11741,11747 **** - long - get_sts_value() - { -! return curbuf->b_p_sts < 0 ? get_sw_value() : curbuf->b_p_sts; - } - - /* ---- 11762,11768 ---- - long - get_sts_value() - { -! return curbuf->b_p_sts < 0 ? get_sw_value(curbuf) : curbuf->b_p_sts; - } - - /* -*** ../vim-7.4.068/src/version.c 2013-11-04 04:57:46.000000000 +0100 ---- src/version.c 2013-11-05 04:55:36.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 69, - /**/ - --- -A special cleaning ordinance bans housewives from hiding dirt and dust under a -rug in a dwelling. - [real standing law in Pennsylvania, 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 /// diff --git a/7.4.070 b/7.4.070 deleted file mode 100644 index 749b7445..00000000 --- a/7.4.070 +++ /dev/null @@ -1,47 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.070 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.070 (after 7.4.069) -Problem: Can't compile with tiny features. (Tony Mechelynck) -Solution: Add #ifdef. -Files: src/buffer.c - - -*** ../vim-7.4.069/src/buffer.c 2013-11-05 07:12:59.000000000 +0100 ---- src/buffer.c 2013-11-05 17:37:27.000000000 +0100 -*************** -*** 213,219 **** ---- 213,221 ---- - if (curbuf->b_flags & BF_NEVERLOADED) - { - (void)buf_init_chartab(curbuf, FALSE); -+ #ifdef FEAT_CINDENT - parse_cino(curbuf); -+ #endif - } - - /* -*** ../vim-7.4.069/src/version.c 2013-11-05 07:12:59.000000000 +0100 ---- src/version.c 2013-11-05 17:38:56.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 70, - /**/ - --- -No man may purchase alcohol without written consent from his wife. - [real standing law in Pennsylvania, 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 /// diff --git a/7.4.071 b/7.4.071 deleted file mode 100644 index 71b2984e..00000000 --- a/7.4.071 +++ /dev/null @@ -1,1302 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.071 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.071 (after 7.4.069) -Problem: Passing limits around too often. -Solution: Use limits from buffer. -Files: src/edit.c, src/misc1.c, src/proto/misc1.pro - - -*** ../vim-7.4.070/src/edit.c 2013-11-05 07:12:59.000000000 +0100 ---- src/edit.c 2013-11-06 03:19:10.000000000 +0100 -*************** -*** 7857,7864 **** - if (try_match && keytyped == ':') - { - p = ml_get_curline(); -! if (cin_iscase(p, FALSE) || cin_isscopedecl(p) -! || cin_islabel(30)) - return TRUE; - /* Need to get the line again after cin_islabel(). */ - p = ml_get_curline(); ---- 7857,7863 ---- - if (try_match && keytyped == ':') - { - p = ml_get_curline(); -! if (cin_iscase(p, FALSE) || cin_isscopedecl(p) || cin_islabel()) - return TRUE; - /* Need to get the line again after cin_islabel(). */ - p = ml_get_curline(); -*************** -*** 7868,7874 **** - { - p[curwin->w_cursor.col - 1] = ' '; - i = (cin_iscase(p, FALSE) || cin_isscopedecl(p) -! || cin_islabel(30)); - p = ml_get_curline(); - p[curwin->w_cursor.col - 1] = ':'; - if (i) ---- 7867,7873 ---- - { - p[curwin->w_cursor.col - 1] = ' '; - i = (cin_iscase(p, FALSE) || cin_isscopedecl(p) -! || cin_islabel()); - p = ml_get_curline(); - p[curwin->w_cursor.col - 1] = ':'; - if (i) -*** ../vim-7.4.070/src/misc1.c 2013-11-05 07:12:59.000000000 +0100 ---- src/misc1.c 2013-11-06 03:46:59.000000000 +0100 -*************** -*** 5191,5201 **** ---- 5191,5208 ---- - #if defined(FEAT_CINDENT) || defined(FEAT_SYN_HL) - - static char_u *skip_string __ARGS((char_u *p)); -+ static pos_T *ind_find_start_comment __ARGS((void)); - - /* - * Find the start of a comment, not knowing if we are in a comment right now. - * Search starts at w_cursor.lnum and goes backwards. - */ -+ static pos_T * -+ ind_find_start_comment() /* XXX */ -+ { -+ return find_start_comment(curbuf->b_ind_maxcomment); -+ } -+ - pos_T * - find_start_comment(ind_maxcomment) /* XXX */ - int ind_maxcomment; -*************** -*** 5313,5319 **** - static int cin_isdefault __ARGS((char_u *)); - static char_u *after_label __ARGS((char_u *l)); - static int get_indent_nolabel __ARGS((linenr_T lnum)); -! static int skip_label __ARGS((linenr_T, char_u **pp, int ind_maxcomment)); - static int cin_first_id_amount __ARGS((void)); - static int cin_get_equal_amount __ARGS((linenr_T lnum)); - static int cin_ispreproc __ARGS((char_u *)); ---- 5320,5326 ---- - static int cin_isdefault __ARGS((char_u *)); - static char_u *after_label __ARGS((char_u *l)); - static int get_indent_nolabel __ARGS((linenr_T lnum)); -! static int skip_label __ARGS((linenr_T, char_u **pp)); - static int cin_first_id_amount __ARGS((void)); - static int cin_get_equal_amount __ARGS((linenr_T lnum)); - static int cin_ispreproc __ARGS((char_u *)); -*************** -*** 5322,5345 **** - static int cin_islinecomment __ARGS((char_u *)); - static int cin_isterminated __ARGS((char_u *, int, int)); - static int cin_isinit __ARGS((void)); -! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T, int, int)); - static int cin_isif __ARGS((char_u *)); - static int cin_iselse __ARGS((char_u *)); - static int cin_isdo __ARGS((char_u *)); -! static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int)); - static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset)); -! static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment)); - static int cin_isbreak __ARGS((char_u *)); - static int cin_is_cpp_baseclass __ARGS((colnr_T *col)); -! static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass)); - static int cin_ends_in __ARGS((char_u *, char_u *, char_u *)); - static int cin_starts_with __ARGS((char_u *s, char *word)); - static int cin_skip2pos __ARGS((pos_T *trypos)); -! static pos_T *find_start_brace __ARGS((int)); -! static pos_T *find_match_paren __ARGS((int, int)); -! static int corr_ind_maxparen __ARGS((int ind_maxparen, pos_T *startpos)); - static int find_last_paren __ARGS((char_u *l, int start, int end)); -! static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment)); - static int cin_is_cpp_namespace __ARGS((char_u *)); - - /* ---- 5329,5352 ---- - static int cin_islinecomment __ARGS((char_u *)); - static int cin_isterminated __ARGS((char_u *, int, int)); - static int cin_isinit __ARGS((void)); -! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T)); - static int cin_isif __ARGS((char_u *)); - static int cin_iselse __ARGS((char_u *)); - static int cin_isdo __ARGS((char_u *)); -! static int cin_iswhileofdo __ARGS((char_u *, linenr_T)); - static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset)); -! static int cin_iswhileofdo_end __ARGS((int terminated)); - static int cin_isbreak __ARGS((char_u *)); - static int cin_is_cpp_baseclass __ARGS((colnr_T *col)); -! static int get_baseclass_amount __ARGS((int col)); - static int cin_ends_in __ARGS((char_u *, char_u *, char_u *)); - static int cin_starts_with __ARGS((char_u *s, char *word)); - static int cin_skip2pos __ARGS((pos_T *trypos)); -! static pos_T *find_start_brace __ARGS((void)); -! static pos_T *find_match_paren __ARGS((int)); -! static int corr_ind_maxparen __ARGS((pos_T *startpos)); - static int find_last_paren __ARGS((char_u *l, int start, int end)); -! static int find_match __ARGS((int lookfor, linenr_T ourscope)); - static int cin_is_cpp_namespace __ARGS((char_u *)); - - /* -*************** -*** 5444,5451 **** - * Note: curwin->w_cursor must be where we are looking for the label. - */ - int -! cin_islabel(ind_maxcomment) /* XXX */ -! int ind_maxcomment; - { - char_u *s; - ---- 5451,5457 ---- - * Note: curwin->w_cursor must be where we are looking for the label. - */ - int -! cin_islabel() /* XXX */ - { - char_u *s; - -*************** -*** 5479,5485 **** - * If we're in a comment now, skip to the start of the comment. - */ - curwin->w_cursor.col = 0; -! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */ - curwin->w_cursor = *trypos; - - line = ml_get_curline(); ---- 5485,5491 ---- - * If we're in a comment now, skip to the start of the comment. - */ - curwin->w_cursor.col = 0; -! if ((trypos = ind_find_start_comment()) != NULL) /* XXX */ - curwin->w_cursor = *trypos; - - line = ml_get_curline(); -*************** -*** 5725,5734 **** - * ^ - */ - static int -! skip_label(lnum, pp, ind_maxcomment) - linenr_T lnum; - char_u **pp; -- int ind_maxcomment; - { - char_u *l; - int amount; ---- 5731,5739 ---- - * ^ - */ - static int -! skip_label(lnum, pp) - linenr_T lnum; - char_u **pp; - { - char_u *l; - int amount; -*************** -*** 5738,5745 **** - curwin->w_cursor.lnum = lnum; - l = ml_get_curline(); - /* XXX */ -! if (cin_iscase(l, FALSE) || cin_isscopedecl(l) -! || cin_islabel(ind_maxcomment)) - { - amount = get_indent_nolabel(lnum); - l = after_label(ml_get_curline()); ---- 5743,5749 ---- - curwin->w_cursor.lnum = lnum; - l = ml_get_curline(); - /* XXX */ -! if (cin_iscase(l, FALSE) || cin_isscopedecl(l) || cin_islabel()) - { - amount = get_indent_nolabel(lnum); - l = after_label(ml_get_curline()); -*************** -*** 5983,5994 **** - * "min_lnum" is the line before which we will not be looking. - */ - static int -! cin_isfuncdecl(sp, first_lnum, min_lnum, ind_maxparen, ind_maxcomment) - char_u **sp; - linenr_T first_lnum; - linenr_T min_lnum; -- int ind_maxparen; -- int ind_maxcomment; - { - char_u *s; - linenr_T lnum = first_lnum; ---- 5987,5996 ---- - * "min_lnum" is the line before which we will not be looking. - */ - static int -! cin_isfuncdecl(sp, first_lnum, min_lnum) - char_u **sp; - linenr_T first_lnum; - linenr_T min_lnum; - { - char_u *s; - linenr_T lnum = first_lnum; -*************** -*** 6002,6008 **** - s = *sp; - - if (find_last_paren(s, '(', ')') -! && (trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL) - { - lnum = trypos->lnum; - if (lnum < min_lnum) ---- 6004,6010 ---- - s = *sp; - - if (find_last_paren(s, '(', ')') -! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) - { - lnum = trypos->lnum; - if (lnum < min_lnum) -*************** -*** 6110,6119 **** - * ')' and ';'. The condition may be spread over several lines. - */ - static int -! cin_iswhileofdo(p, lnum, ind_maxparen) /* XXX */ - char_u *p; - linenr_T lnum; -- int ind_maxparen; - { - pos_T cursor_save; - pos_T *trypos; ---- 6112,6120 ---- - * ')' and ';'. The condition may be spread over several lines. - */ - static int -! cin_iswhileofdo(p, lnum) /* XXX */ - char_u *p; - linenr_T lnum; - { - pos_T cursor_save; - pos_T *trypos; -*************** -*** 6133,6139 **** - ++p; - ++curwin->w_cursor.col; - } -! if ((trypos = findmatchlimit(NULL, 0, 0, ind_maxparen)) != NULL - && *cin_skipcomment(ml_get_pos(trypos) + 1) == ';') - retval = TRUE; - curwin->w_cursor = cursor_save; ---- 6134,6141 ---- - ++p; - ++curwin->w_cursor.col; - } -! if ((trypos = findmatchlimit(NULL, 0, 0, -! curbuf->b_ind_maxparen)) != NULL - && *cin_skipcomment(ml_get_pos(trypos) + 1) == ';') - retval = TRUE; - curwin->w_cursor = cursor_save; -*************** -*** 6196,6205 **** - * Adjust the cursor to the line with "while". - */ - static int -! cin_iswhileofdo_end(terminated, ind_maxparen, ind_maxcomment) - int terminated; -- int ind_maxparen; -- int ind_maxcomment; - { - char_u *line; - char_u *p; ---- 6198,6205 ---- - * Adjust the cursor to the line with "while". - */ - static int -! cin_iswhileofdo_end(terminated) - int terminated; - { - char_u *line; - char_u *p; -*************** -*** 6223,6229 **** - * before the matching '('. XXX */ - i = (int)(p - line); - curwin->w_cursor.col = i; -! trypos = find_match_paren(ind_maxparen, ind_maxcomment); - if (trypos != NULL) - { - s = cin_skipcomment(ml_get(trypos->lnum)); ---- 6223,6229 ---- - * before the matching '('. XXX */ - i = (int)(p - line); - curwin->w_cursor.col = i; -! trypos = find_match_paren(curbuf->b_ind_maxparen); - if (trypos != NULL) - { - s = cin_skipcomment(ml_get(trypos->lnum)); -*************** -*** 6415,6425 **** - } - - static int -! get_baseclass_amount(col, ind_maxparen, ind_maxcomment, ind_cpp_baseclass) - int col; -- int ind_maxparen; -- int ind_maxcomment; -- int ind_cpp_baseclass; - { - int amount; - colnr_T vcol; ---- 6415,6422 ---- - } - - static int -! get_baseclass_amount(col) - int col; - { - int amount; - colnr_T vcol; -*************** -*** 6429,6439 **** - { - amount = get_indent(); - if (find_last_paren(ml_get_curline(), '(', ')') -! && (trypos = find_match_paren(ind_maxparen, -! ind_maxcomment)) != NULL) - amount = get_indent_lnum(trypos->lnum); /* XXX */ - if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL)) -! amount += ind_cpp_baseclass; - } - else - { ---- 6426,6435 ---- - { - amount = get_indent(); - if (find_last_paren(ml_get_curline(), '(', ')') -! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) - amount = get_indent_lnum(trypos->lnum); /* XXX */ - if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL)) -! amount += curbuf->b_ind_cpp_baseclass; - } - else - { -*************** -*** 6441,6448 **** - getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL); - amount = (int)vcol; - } -! if (amount < ind_cpp_baseclass) -! amount = ind_cpp_baseclass; - return amount; - } - ---- 6437,6444 ---- - getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL); - amount = (int)vcol; - } -! if (amount < curbuf->b_ind_cpp_baseclass) -! amount = curbuf->b_ind_cpp_baseclass; - return amount; - } - -*************** -*** 6526,6533 **** - /* } */ - - static pos_T * -! find_start_brace(ind_maxcomment) /* XXX */ -! int ind_maxcomment; - { - pos_T cursor_save; - pos_T *trypos; ---- 6522,6528 ---- - /* } */ - - static pos_T * -! find_start_brace() /* XXX */ - { - pos_T cursor_save; - pos_T *trypos; -*************** -*** 6543,6549 **** - pos = NULL; - /* ignore the { if it's in a // or / * * / comment */ - if ((colnr_T)cin_skip2pos(trypos) == trypos->col -! && (pos = find_start_comment(ind_maxcomment)) == NULL) /* XXX */ - break; - if (pos != NULL) - curwin->w_cursor.lnum = pos->lnum; ---- 6538,6544 ---- - pos = NULL; - /* ignore the { if it's in a // or / * * / comment */ - if ((colnr_T)cin_skip2pos(trypos) == trypos->col -! && (pos = ind_find_start_comment()) == NULL) /* XXX */ - break; - if (pos != NULL) - curwin->w_cursor.lnum = pos->lnum; -*************** -*** 6557,6565 **** - * Return NULL if no match found. - */ - static pos_T * -! find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */ - int ind_maxparen; -- int ind_maxcomment; - { - pos_T cursor_save; - pos_T *trypos; ---- 6552,6559 ---- - * Return NULL if no match found. - */ - static pos_T * -! find_match_paren(ind_maxparen) /* XXX */ - int ind_maxparen; - { - pos_T cursor_save; - pos_T *trypos; -*************** -*** 6576,6582 **** - pos_copy = *trypos; /* copy trypos, findmatch will change it */ - trypos = &pos_copy; - curwin->w_cursor = *trypos; -! if (find_start_comment(ind_maxcomment) != NULL) /* XXX */ - trypos = NULL; - } - } ---- 6570,6576 ---- - pos_copy = *trypos; /* copy trypos, findmatch will change it */ - trypos = &pos_copy; - curwin->w_cursor = *trypos; -! if (ind_find_start_comment() != NULL) /* XXX */ - trypos = NULL; - } - } -*************** -*** 6591,6605 **** - * looking a few lines further. - */ - static int -! corr_ind_maxparen(ind_maxparen, startpos) -! int ind_maxparen; - pos_T *startpos; - { - long n = (long)startpos->lnum - (long)curwin->w_cursor.lnum; - -! if (n > 0 && n < ind_maxparen / 2) -! return ind_maxparen - (int)n; -! return ind_maxparen; - } - - /* ---- 6585,6598 ---- - * looking a few lines further. - */ - static int -! corr_ind_maxparen(startpos) - pos_T *startpos; - { - long n = (long)startpos->lnum - (long)curwin->w_cursor.lnum; - -! if (n > 0 && n < curbuf->b_ind_maxparen / 2) -! return curbuf->b_ind_maxparen - (int)n; -! return curbuf->b_ind_maxparen; - } - - /* -*************** -*** 6937,6943 **** - - curwin->w_cursor.col = 0; - -! original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment); /* XXX */ - - /* - * #defines and so on always go at the left when included in 'cinkeys'. ---- 6930,6936 ---- - - curwin->w_cursor.col = 0; - -! original_line_islabel = cin_islabel(); /* XXX */ - - /* - * #defines and so on always go at the left when included in 'cinkeys'. -*************** -*** 6973,6979 **** - * comment, try using the 'comments' option. - */ - else if (!cin_iscomment(theline) -! && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL) - /* XXX */ - { - int lead_start_len = 2; ---- 6966,6972 ---- - * comment, try using the 'comments' option. - */ - else if (!cin_iscomment(theline) -! && (trypos = ind_find_start_comment()) != NULL) - /* XXX */ - { - int lead_start_len = 2; -*************** -*** 7126,7136 **** - /* - * Are we inside parentheses or braces? - */ /* XXX */ -! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL - && curbuf->b_ind_java == 0) -! || (tryposBrace = -! find_start_brace(curbuf->b_ind_maxcomment)) != NULL - || trypos != NULL) - { - if (trypos != NULL && tryposBrace != NULL) ---- 7119,7127 ---- - /* - * Are we inside parentheses or braces? - */ /* XXX */ -! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL - && curbuf->b_ind_java == 0) -! || (tryposBrace = find_start_brace()) != NULL - || trypos != NULL) - { - if (trypos != NULL && tryposBrace != NULL) -*************** -*** 7170,7177 **** - curwin->w_cursor.lnum = lnum; - - /* Skip a comment. XXX */ -! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) -! != NULL) - { - lnum = trypos->lnum + 1; - continue; ---- 7161,7167 ---- - curwin->w_cursor.lnum = lnum; - - /* Skip a comment. XXX */ -! if ((trypos = ind_find_start_comment()) != NULL) - { - lnum = trypos->lnum + 1; - continue; -*************** -*** 7179,7186 **** - - /* XXX */ - if ((trypos = find_match_paren( -! corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos), -! curbuf->b_ind_maxcomment)) != NULL - && trypos->lnum == our_paren_pos.lnum - && trypos->col == our_paren_pos.col) - { ---- 7169,7175 ---- - - /* XXX */ - if ((trypos = find_match_paren( -! corr_ind_maxparen(&cur_curpos))) != NULL - && trypos->lnum == our_paren_pos.lnum - && trypos->col == our_paren_pos.col) - { -*************** -*** 7223,7230 **** - curwin->w_cursor.lnum = outermost.lnum; - curwin->w_cursor.col = outermost.col; - -! trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment); - } while (trypos && trypos->lnum == outermost.lnum); - - curwin->w_cursor = cursor_save; ---- 7212,7218 ---- - curwin->w_cursor.lnum = outermost.lnum; - curwin->w_cursor.col = outermost.col; - -! trypos = find_match_paren(curbuf->b_ind_maxparen); - } while (trypos && trypos->lnum == outermost.lnum); - - curwin->w_cursor = cursor_save; -*************** -*** 7235,7242 **** - cin_is_if_for_while_before_offset(line, &outermost.col); - } - -! amount = skip_label(our_paren_pos.lnum, &look, -! curbuf->b_ind_maxcomment); - look = skipwhite(look); - if (*look == '(') - { ---- 7223,7229 ---- - cin_is_if_for_while_before_offset(line, &outermost.col); - } - -! amount = skip_label(our_paren_pos.lnum, &look); - look = skipwhite(look); - if (*look == '(') - { -*************** -*** 7366,7373 **** - { - curwin->w_cursor.lnum = our_paren_pos.lnum; - curwin->w_cursor.col = col; -! if (find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) != NULL) - amount += curbuf->b_ind_unclosed2; - else - { ---- 7353,7359 ---- - { - curwin->w_cursor.lnum = our_paren_pos.lnum; - curwin->w_cursor.col = col; -! if (find_match_paren(curbuf->b_ind_maxparen) != NULL) - amount += curbuf->b_ind_unclosed2; - else - { -*************** -*** 7435,7442 **** - */ - lnum = ourscope; - if (find_last_paren(start, '(', ')') -! && (trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - lnum = trypos->lnum; - - /* ---- 7421,7428 ---- - */ - lnum = ourscope; - if (find_last_paren(start, '(', ')') -! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) -! != NULL) - lnum = trypos->lnum; - - /* -*************** -*** 7449,7455 **** - && cin_iscase(skipwhite(ml_get_curline()), FALSE))) - amount = get_indent(); - else -! amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment); - - start_brace = BRACE_AT_END; - } ---- 7435,7441 ---- - && cin_iscase(skipwhite(ml_get_curline()), FALSE))) - amount = get_indent(); - else -! amount = skip_label(lnum, &l); - - start_brace = BRACE_AT_END; - } -*************** -*** 7478,7491 **** - lookfor = LOOKFOR_INITIAL; - if (cin_iselse(theline)) - lookfor = LOOKFOR_IF; -! else if (cin_iswhileofdo(theline, cur_curpos.lnum, -! curbuf->b_ind_maxparen)) /* XXX */ - lookfor = LOOKFOR_DO; - if (lookfor != LOOKFOR_INITIAL) - { - curwin->w_cursor.lnum = cur_curpos.lnum; -! if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) == OK) - { - amount = get_indent(); /* XXX */ - goto theend; ---- 7464,7475 ---- - lookfor = LOOKFOR_INITIAL; - if (cin_iselse(theline)) - lookfor = LOOKFOR_IF; -! else if (cin_iswhileofdo(theline, cur_curpos.lnum)) /* XXX */ - lookfor = LOOKFOR_DO; - if (lookfor != LOOKFOR_INITIAL) - { - curwin->w_cursor.lnum = cur_curpos.lnum; -! if (find_match(lookfor, ourscope) == OK) - { - amount = get_indent(); /* XXX */ - goto theend; -*************** -*** 7611,7617 **** - * If we're in a comment now, skip to the start of the - * comment. - */ -! trypos = find_start_comment(curbuf->b_ind_maxcomment); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; ---- 7595,7601 ---- - * If we're in a comment now, skip to the start of the - * comment. - */ -! trypos = ind_find_start_comment(); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; -*************** -*** 7636,7644 **** - * (it's a variable declaration). - */ - if (start_brace != BRACE_IN_COL0 -! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, -! 0, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) - { - /* if the line is terminated with another ',' - * it is a continued variable initialization. ---- 7620,7626 ---- - * (it's a variable declaration). - */ - if (start_brace != BRACE_IN_COL0 -! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0)) - { - /* if the line is terminated with another ',' - * it is a continued variable initialization. -*************** -*** 7670,7681 **** - trypos = NULL; - if (find_last_paren(l, '(', ')')) - trypos = find_match_paren( -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment); - - if (trypos == NULL && find_last_paren(l, '{', '}')) -! trypos = find_start_brace( -! curbuf->b_ind_maxcomment); - - if (trypos != NULL) - { ---- 7652,7661 ---- - trypos = NULL; - if (find_last_paren(l, '(', ')')) - trypos = find_match_paren( -! curbuf->b_ind_maxparen); - - if (trypos == NULL && find_last_paren(l, '{', '}')) -! trypos = find_start_brace(); - - if (trypos != NULL) - { -*************** -*** 7733,7740 **** - - /* If we're in a comment now, skip to the start of - * the comment. */ -! trypos = find_start_comment( -! curbuf->b_ind_maxcomment); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; ---- 7713,7719 ---- - - /* If we're in a comment now, skip to the start of - * the comment. */ -! trypos = ind_find_start_comment(); - if (trypos != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; -*************** -*** 7764,7771 **** - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) -! != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; ---- 7743,7749 ---- - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = ind_find_start_comment()) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; -*************** -*** 7819,7826 **** - * Check that this case label is not for another - * switch() - */ /* XXX */ -! if ((trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) == NULL - || trypos->lnum == ourscope) - { - amount = get_indent(); /* XXX */ ---- 7797,7803 ---- - * Check that this case label is not for another - * switch() - */ /* XXX */ -! if ((trypos = find_start_brace()) == NULL - || trypos->lnum == ourscope) - { - amount = get_indent(); /* XXX */ -*************** -*** 7894,7901 **** - */ - if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) - { -! if (find_last_paren(l, '{', '}') && (trypos = -! find_start_brace(curbuf->b_ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; ---- 7871,7878 ---- - */ - if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) - { -! if (find_last_paren(l, '{', '}') -! && (trypos = find_start_brace()) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; -*************** -*** 7906,7912 **** - /* - * Ignore jump labels with nothing after them. - */ -! if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment)) - { - l = after_label(ml_get_curline()); - if (l == NULL || cin_nocode(l)) ---- 7883,7889 ---- - /* - * Ignore jump labels with nothing after them. - */ -! if (!curbuf->b_ind_js && cin_islabel()) - { - l = after_label(ml_get_curline()); - if (l == NULL || cin_nocode(l)) -*************** -*** 7952,7961 **** - } - else - /* XXX */ -! amount = get_baseclass_amount(col, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment, -! curbuf->b_ind_cpp_baseclass); - break; - } - else if (lookfor == LOOKFOR_CPP_BASECLASS) ---- 7929,7935 ---- - } - else - /* XXX */ -! amount = get_baseclass_amount(col); - break; - } - else if (lookfor == LOOKFOR_CPP_BASECLASS) -*************** -*** 7997,8005 **** - * matching it will take us back to the start of the line. - */ - (void)find_last_paren(l, '(', ')'); -! trypos = find_match_paren( -! corr_ind_maxparen(curbuf->b_ind_maxparen, -! &cur_curpos), curbuf->b_ind_maxcomment); - - /* - * If we are looking for ',', we also look for matching ---- 7971,7977 ---- - * matching it will take us back to the start of the line. - */ - (void)find_last_paren(l, '(', ')'); -! trypos = find_match_paren(corr_ind_maxparen(&cur_curpos)); - - /* - * If we are looking for ',', we also look for matching -*************** -*** 8007,8013 **** - */ - if (trypos == NULL && terminated == ',' - && find_last_paren(l, '{', '}')) -! trypos = find_start_brace(curbuf->b_ind_maxcomment); - - if (trypos != NULL) - { ---- 7979,7985 ---- - */ - if (trypos == NULL && terminated == ',' - && find_last_paren(l, '{', '}')) -! trypos = find_start_brace(); - - if (trypos != NULL) - { -*************** -*** 8051,8058 **** - * ignoring any jump label. XXX - */ - if (!curbuf->b_ind_js) -! cur_amount = skip_label(curwin->w_cursor.lnum, -! &l, curbuf->b_ind_maxcomment); - else - cur_amount = get_indent(); - /* ---- 8023,8029 ---- - * ignoring any jump label. XXX - */ - if (!curbuf->b_ind_js) -! cur_amount = skip_label(curwin->w_cursor.lnum, &l); - else - cur_amount = get_indent(); - /* -*************** -*** 8162,8172 **** - curwin->w_cursor.col = - (colnr_T)(l - ml_get_curline()) + 1; - -! if ((trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) == NULL -! || find_match(LOOKFOR_IF, trypos->lnum, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) == FAIL) - break; - } - } ---- 8133,8141 ---- - curwin->w_cursor.col = - (colnr_T)(l - ml_get_curline()) + 1; - -! if ((trypos = find_start_brace()) == NULL -! || find_match(LOOKFOR_IF, trypos->lnum) -! == FAIL) - break; - } - } -*************** -*** 8261,8268 **** - * If so: Ignore until the matching "do". - */ - /* XXX */ -! else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) - { - /* - * Found an unterminated line after a while ();, line up ---- 8230,8236 ---- - * If so: Ignore until the matching "do". - */ - /* XXX */ -! else if (cin_iswhileofdo_end(terminated)) - { - /* - * Found an unterminated line after a while ();, line up -*************** -*** 8380,8387 **** - l = ml_get_curline(); - if (find_last_paren(l, '(', ')') - && (trypos = find_match_paren( -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - { - /* - * Check if we are on a case label now. This is ---- 8348,8354 ---- - l = ml_get_curline(); - if (find_last_paren(l, '(', ')') - && (trypos = find_match_paren( -! curbuf->b_ind_maxparen)) != NULL) - { - /* - * Check if we are on a case label now. This is -*************** -*** 8415,8422 **** - * Get indent and pointer to text for current line, - * ignoring any jump label. - */ -! amount = skip_label(curwin->w_cursor.lnum, -! &l, curbuf->b_ind_maxcomment); - - if (theline[0] == '{') - amount += curbuf->b_ind_open_extra; ---- 8382,8388 ---- - * Get indent and pointer to text for current line, - * ignoring any jump label. - */ -! amount = skip_label(curwin->w_cursor.lnum, &l); - - if (theline[0] == '{') - amount += curbuf->b_ind_open_extra; -*************** -*** 8439,8449 **** - && cin_iselse(l) - && whilelevel == 0) - { -! if ((trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) == NULL -! || find_match(LOOKFOR_IF, trypos->lnum, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) == FAIL) - break; - continue; - } ---- 8405,8413 ---- - && cin_iselse(l) - && whilelevel == 0) - { -! if ((trypos = find_start_brace()) == NULL -! || find_match(LOOKFOR_IF, trypos->lnum) -! == FAIL) - break; - continue; - } -*************** -*** 8453,8461 **** - * that block. - */ - l = ml_get_curline(); -! if (find_last_paren(l, '{', '}') -! && (trypos = find_start_brace( -! curbuf->b_ind_maxcomment)) != NULL) /* XXX */ - { - curwin->w_cursor = *trypos; - /* if not "else {" check for terminated again */ ---- 8417,8424 ---- - * that block. - */ - l = ml_get_curline(); -! if (find_last_paren(l, '{', '}') /* XXX */ -! && (trypos = find_start_brace()) != NULL) - { - curwin->w_cursor = *trypos; - /* if not "else {" check for terminated again */ -*************** -*** 8516,8524 **** - && !cin_ends_in(theline, (char_u *)":", NULL) - && !cin_ends_in(theline, (char_u *)",", NULL) - && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, -! cur_curpos.lnum + 1, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment) - && !cin_isterminated(theline, FALSE, TRUE)) - { - amount = curbuf->b_ind_func_type; ---- 8479,8485 ---- - && !cin_ends_in(theline, (char_u *)":", NULL) - && !cin_ends_in(theline, (char_u *)",", NULL) - && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, -! cur_curpos.lnum + 1) - && !cin_isterminated(theline, FALSE, TRUE)) - { - amount = curbuf->b_ind_func_type; -*************** -*** 8540,8547 **** - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = find_start_comment( -! curbuf->b_ind_maxcomment)) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; ---- 8501,8507 ---- - /* - * If we're in a comment now, skip to the start of the comment. - */ /* XXX */ -! if ((trypos = ind_find_start_comment()) != NULL) - { - curwin->w_cursor.lnum = trypos->lnum + 1; - curwin->w_cursor.col = 0; -*************** -*** 8561,8569 **** - if (n) - { - /* XXX */ -! amount = get_baseclass_amount(col, curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment, -! curbuf->b_ind_cpp_baseclass); - break; - } - ---- 8521,8527 ---- - if (n) - { - /* XXX */ -! amount = get_baseclass_amount(col); - break; - } - -*************** -*** 8595,8602 **** - /* take us back to opening paren */ - if (find_last_paren(l, '(', ')') - && (trypos = find_match_paren( -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - curwin->w_cursor = *trypos; - - /* For a line ending in ',' that is a continuation line go ---- 8553,8559 ---- - /* take us back to opening paren */ - if (find_last_paren(l, '(', ')') - && (trypos = find_match_paren( -! curbuf->b_ind_maxparen)) != NULL) - curwin->w_cursor = *trypos; - - /* For a line ending in ',' that is a continuation line go -*************** -*** 8627,8635 **** - * If the line looks like a function declaration, and we're - * not in a comment, put it the left margin. - */ -! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) /* XXX */ - break; - l = ml_get_curline(); - ---- 8584,8590 ---- - * If the line looks like a function declaration, and we're - * not in a comment, put it the left margin. - */ -! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0)) /* XXX */ - break; - l = ml_get_curline(); - -*************** -*** 8677,8685 **** - * line (and the ones that follow) needs to be indented as - * parameters. - */ -! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0, -! curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) - { - amount = curbuf->b_ind_param; - break; ---- 8632,8638 ---- - * line (and the ones that follow) needs to be indented as - * parameters. - */ -! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0)) - { - amount = curbuf->b_ind_param; - break; -*************** -*** 8710,8717 **** - */ - find_last_paren(l, '(', ')'); - -! if ((trypos = find_match_paren(curbuf->b_ind_maxparen, -! curbuf->b_ind_maxcomment)) != NULL) - curwin->w_cursor = *trypos; - amount = get_indent(); /* XXX */ - break; ---- 8663,8669 ---- - */ - find_last_paren(l, '(', ')'); - -! if ((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) - curwin->w_cursor = *trypos; - amount = get_indent(); /* XXX */ - break; -*************** -*** 8754,8764 **** - } - - static int -! find_match(lookfor, ourscope, ind_maxparen, ind_maxcomment) - int lookfor; - linenr_T ourscope; -- int ind_maxparen; -- int ind_maxcomment; - { - char_u *look; - pos_T *theirscope; ---- 8706,8714 ---- - } - - static int -! find_match(lookfor, ourscope) - int lookfor; - linenr_T ourscope; - { - char_u *look; - pos_T *theirscope; -*************** -*** 8788,8800 **** - if (cin_iselse(look) - || cin_isif(look) - || cin_isdo(look) /* XXX */ -! || cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen)) - { - /* - * if we've gone outside the braces entirely, - * we must be out of scope... - */ -! theirscope = find_start_brace(ind_maxcomment); /* XXX */ - if (theirscope == NULL) - break; - ---- 8738,8750 ---- - if (cin_iselse(look) - || cin_isif(look) - || cin_isdo(look) /* XXX */ -! || cin_iswhileofdo(look, curwin->w_cursor.lnum)) - { - /* - * if we've gone outside the braces entirely, - * we must be out of scope... - */ -! theirscope = find_start_brace(); /* XXX */ - if (theirscope == NULL) - break; - -*************** -*** 8832,8838 **** - * if it was a "while" then we need to go back to - * another "do", so increment whilelevel. XXX - */ -! if (cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen)) - { - ++whilelevel; - continue; ---- 8782,8788 ---- - * if it was a "while" then we need to go back to - * another "do", so increment whilelevel. XXX - */ -! if (cin_iswhileofdo(look, curwin->w_cursor.lnum)) - { - ++whilelevel; - continue; -*** ../vim-7.4.070/src/proto/misc1.pro 2013-11-05 07:12:59.000000000 +0100 ---- src/proto/misc1.pro 2013-11-06 03:19:45.000000000 +0100 -*************** -*** 81,87 **** - char_u *FullName_save __ARGS((char_u *fname, int force)); - pos_T *find_start_comment __ARGS((int ind_maxcomment)); - void do_c_expr_indent __ARGS((void)); -! int cin_islabel __ARGS((int ind_maxcomment)); - int cin_iscase __ARGS((char_u *s, int strict)); - int cin_isscopedecl __ARGS((char_u *s)); - void parse_cino __ARGS((buf_T *buf)); ---- 81,87 ---- - char_u *FullName_save __ARGS((char_u *fname, int force)); - pos_T *find_start_comment __ARGS((int ind_maxcomment)); - void do_c_expr_indent __ARGS((void)); -! int cin_islabel __ARGS((void)); - int cin_iscase __ARGS((char_u *s, int strict)); - int cin_isscopedecl __ARGS((char_u *s)); - void parse_cino __ARGS((buf_T *buf)); -*** ../vim-7.4.070/src/version.c 2013-11-05 17:40:47.000000000 +0100 ---- src/version.c 2013-11-06 03:43:44.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 71, - /**/ - --- -A law to reduce crime states: "It is mandatory for a motorist with criminal -intentions to stop at the city limits and telephone the chief of police as he -is entering the town. - [real standing law in Washington, 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 /// diff --git a/7.4.072 b/7.4.072 deleted file mode 100644 index e96888e7..00000000 --- a/7.4.072 +++ /dev/null @@ -1,61 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.072 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.072 -Problem: Crash when using Insert mode completion. -Solution: Avoid going past the end of pum_array. (idea by Fransisco Lopes) -Files: src/popupmnu.c - - -*** ../vim-7.4.071/src/popupmnu.c 2011-08-17 18:04:28.000000000 +0200 ---- src/popupmnu.c 2013-11-02 04:01:06.000000000 +0100 -*************** -*** 282,287 **** ---- 282,291 ---- - int round; - int n; - -+ /* Never display more than we have */ -+ if (pum_first > pum_size - pum_height) -+ pum_first = pum_size - pum_height; -+ - if (pum_scrollbar) - { - thumb_heigth = pum_height * pum_height / pum_size; -*************** -*** 672,681 **** - #endif - } - -- /* Never display more than we have */ -- if (pum_first > pum_size - pum_height) -- pum_first = pum_size - pum_height; -- - if (!resized) - pum_redraw(); - ---- 676,681 ---- -*** ../vim-7.4.071/src/version.c 2013-11-06 04:01:31.000000000 +0100 ---- src/version.c 2013-11-06 04:03:18.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 72, - /**/ - --- -No children may attend school with their breath smelling of "wild onions." - [real standing law in West Virginia, 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 /// diff --git a/7.4.073 b/7.4.073 deleted file mode 100644 index 7d9cedcf..00000000 --- a/7.4.073 +++ /dev/null @@ -1,404 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.073 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.073 -Problem: Setting undolevels for one buffer changes undo in another. -Solution: Make 'undolevels' a global-local option. (Christian Brabandt) -Files: runtime/doc/options.txt, src/buffer.c, src/option.c, src/option.h - src/structs.h, src/undo.c - - -*** ../vim-7.4.072/runtime/doc/options.txt 2013-08-10 13:24:57.000000000 +0200 ---- runtime/doc/options.txt 2013-11-06 04:18:43.000000000 +0100 -*************** -*** 7594,7600 **** - *'undolevels'* *'ul'* - 'undolevels' 'ul' number (default 100, 1000 for Unix, VMS, - Win32 and OS/2) -! global - {not in Vi} - Maximum number of changes that can be undone. Since undo information - is kept in memory, higher numbers will cause more memory to be used ---- 7594,7600 ---- - *'undolevels'* *'ul'* - 'undolevels' 'ul' number (default 100, 1000 for Unix, VMS, - Win32 and OS/2) -! global or local to buffer |global-local| - {not in Vi} - Maximum number of changes that can be undone. Since undo information - is kept in memory, higher numbers will cause more memory to be used -*************** -*** 7605,7612 **** - < But you can also get Vi compatibility by including the 'u' flag in - 'cpoptions', and still be able to use CTRL-R to repeat undo. - Also see |undo-two-ways|. -! Set to a negative number for no undo at all: > -! set ul=-1 - < This helps when you run out of memory for a single change. - Also see |clear-undo|. - ---- 7605,7613 ---- - < But you can also get Vi compatibility by including the 'u' flag in - 'cpoptions', and still be able to use CTRL-R to repeat undo. - Also see |undo-two-ways|. -! Set to -1 for no undo at all. You might want to do this only for the -! current buffer: > -! setlocal ul=-1 - < This helps when you run out of memory for a single change. - Also see |clear-undo|. - -*** ../vim-7.4.072/src/buffer.c 2013-11-05 17:40:47.000000000 +0100 ---- src/buffer.c 2013-11-06 04:25:27.000000000 +0100 -*************** -*** 1949,1954 **** ---- 1949,1955 ---- - clear_string_option(&buf->b_p_qe); - #endif - buf->b_p_ar = -1; -+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL; - } - - /* -*** ../vim-7.4.072/src/option.c 2013-11-05 07:12:59.000000000 +0100 ---- src/option.c 2013-11-06 04:34:23.000000000 +0100 -*************** -*** 234,239 **** ---- 234,240 ---- - #ifdef FEAT_STL_OPT - # define PV_STL OPT_BOTH(OPT_WIN(WV_STL)) - #endif -+ #define PV_UL OPT_BOTH(OPT_BUF(BV_UL)) - #ifdef FEAT_WINDOWS - # define PV_WFH OPT_WIN(WV_WFH) - #endif -*************** -*** 2683,2689 **** - #endif - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"undolevels", "ul", P_NUM|P_VI_DEF, -! (char_u *)&p_ul, PV_NONE, - { - #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS) - (char_u *)1000L, ---- 2684,2690 ---- - #endif - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"undolevels", "ul", P_NUM|P_VI_DEF, -! (char_u *)&p_ul, PV_UL, - { - #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS) - (char_u *)1000L, -*************** -*** 3313,3318 **** ---- 3314,3320 ---- - - curbuf->b_p_initialized = TRUE; - curbuf->b_p_ar = -1; /* no local 'autoread' value */ -+ curbuf->b_p_ul = NO_LOCAL_UNDOLEVEL; - check_buf_options(curbuf); - check_win_options(curwin); - check_options(); -*************** -*** 4512,4519 **** - ((flags & P_VI_DEF) || cp_val) - ? VI_DEFAULT : VIM_DEFAULT]; - else if (nextchar == '<') -! value = *(long *)get_varp_scope(&(options[opt_idx]), -! OPT_GLOBAL); - else if (((long *)varp == &p_wc - || (long *)varp == &p_wcm) - && (*arg == '<' ---- 4514,4529 ---- - ((flags & P_VI_DEF) || cp_val) - ? VI_DEFAULT : VIM_DEFAULT]; - else if (nextchar == '<') -! { -! /* For 'undolevels' NO_LOCAL_UNDOLEVEL means to -! * use the global value. */ -! if ((long *)varp == &curbuf->b_p_ul -! && opt_flags == OPT_LOCAL) -! value = NO_LOCAL_UNDOLEVEL; -! else -! value = *(long *)get_varp_scope( -! &(options[opt_idx]), OPT_GLOBAL); -! } - else if (((long *)varp == &p_wc - || (long *)varp == &p_wcm) - && (*arg == '<' -*************** -*** 8487,8492 **** ---- 8497,8509 ---- - u_sync(TRUE); - p_ul = value; - } -+ else if (pp == &curbuf->b_p_ul) -+ { -+ /* use the old value, otherwise u_sync() may not work properly */ -+ curbuf->b_p_ul = old_value; -+ u_sync(TRUE); -+ curbuf->b_p_ul = value; -+ } - - #ifdef FEAT_LINEBREAK - /* 'numberwidth' must be positive */ -*************** -*** 9720,9726 **** - /* - * Unset local option value, similar to ":set opt<". - */ -- - void - unset_global_local_option(name, from) - char_u *name; ---- 9737,9742 ---- -*************** -*** 9793,9798 **** ---- 9809,9817 ---- - clear_string_option(&((win_T *)from)->w_p_stl); - break; - #endif -+ case PV_UL: -+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL; -+ break; - } - } - -*************** -*** 9841,9846 **** ---- 9860,9866 ---- - #ifdef FEAT_STL_OPT - case PV_STL: return (char_u *)&(curwin->w_p_stl); - #endif -+ case PV_UL: return (char_u *)&(curbuf->b_p_ul); - } - return NULL; /* "cannot happen" */ - } -*************** -*** 9905,9910 **** ---- 9925,9932 ---- - case PV_STL: return *curwin->w_p_stl != NUL - ? (char_u *)&(curwin->w_p_stl) : p->var; - #endif -+ case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL -+ ? (char_u *)&(curbuf->b_p_ul) : p->var; - - #ifdef FEAT_ARABIC - case PV_ARAB: return (char_u *)&(curwin->w_p_arab); -*************** -*** 10445,10450 **** ---- 10467,10473 ---- - /* options that are normally global but also have a local value - * are not copied, start using the global value */ - buf->b_p_ar = -1; -+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL; - #ifdef FEAT_QUICKFIX - buf->b_p_gp = empty_option; - buf->b_p_mp = empty_option; -*** ../vim-7.4.072/src/option.h 2013-06-26 18:41:39.000000000 +0200 ---- src/option.h 2013-11-06 04:17:40.000000000 +0100 -*************** -*** 1031,1036 **** ---- 1031,1037 ---- - , BV_TW - , BV_TX - , BV_UDF -+ , BV_UL - , BV_WM - , BV_COUNT /* must be the last one */ - }; -*************** -*** 1109,1111 **** ---- 1110,1115 ---- - , WV_WRAP - , WV_COUNT /* must be the last one */ - }; -+ -+ /* Value for b_p_ul indicating the global value must be used. */ -+ #define NO_LOCAL_UNDOLEVEL -123456 -*** ../vim-7.4.072/src/structs.h 2013-11-05 07:12:59.000000000 +0100 ---- src/structs.h 2013-11-06 04:26:17.000000000 +0100 -*************** -*** 1627,1632 **** ---- 1627,1633 ---- - char_u *b_p_dict; /* 'dictionary' local value */ - char_u *b_p_tsr; /* 'thesaurus' local value */ - #endif -+ long b_p_ul; /* 'undolevels' local value */ - #ifdef FEAT_PERSISTENT_UNDO - int b_p_udf; /* 'undofile' */ - #endif -*** ../vim-7.4.072/src/undo.c 2013-09-08 15:40:45.000000000 +0200 ---- src/undo.c 2013-11-06 04:33:12.000000000 +0100 -*************** -*** 83,88 **** ---- 83,89 ---- - - #include "vim.h" - -+ static long get_undolevel __ARGS((void)); - static void u_unch_branch __ARGS((u_header_T *uhp)); - static u_entry_T *u_get_headentry __ARGS((void)); - static void u_getbot __ARGS((void)); -*************** -*** 336,341 **** ---- 337,353 ---- - } - - /* -+ * Get the undolevle value for the current buffer. -+ */ -+ static long -+ get_undolevel() -+ { -+ if (curbuf->b_p_ul == NO_LOCAL_UNDOLEVEL) -+ return p_ul; -+ return curbuf->b_p_ul; -+ } -+ -+ /* - * Common code for various ways to save text before a change. - * "top" is the line above the first changed line. - * "bot" is the line below the last changed line. -*************** -*** 419,425 **** - curbuf->b_new_change = TRUE; - #endif - -! if (p_ul >= 0) - { - /* - * Make a new header entry. Do this first so that we don't mess ---- 431,437 ---- - curbuf->b_new_change = TRUE; - #endif - -! if (get_undolevel() >= 0) - { - /* - * Make a new header entry. Do this first so that we don't mess -*************** -*** 449,455 **** - /* - * free headers to keep the size right - */ -! while (curbuf->b_u_numhead > p_ul && curbuf->b_u_oldhead != NULL) - { - u_header_T *uhfree = curbuf->b_u_oldhead; - ---- 461,468 ---- - /* - * free headers to keep the size right - */ -! while (curbuf->b_u_numhead > get_undolevel() -! && curbuf->b_u_oldhead != NULL) - { - u_header_T *uhfree = curbuf->b_u_oldhead; - -*************** -*** 530,536 **** - } - else - { -! if (p_ul < 0) /* no undo at all */ - return OK; - - /* ---- 543,549 ---- - } - else - { -! if (get_undolevel() < 0) /* no undo at all */ - return OK; - - /* -*************** -*** 1972,1978 **** - { - if (curbuf->b_u_curhead == NULL) /* first undo */ - curbuf->b_u_curhead = curbuf->b_u_newhead; -! else if (p_ul > 0) /* multi level undo */ - /* get next undo */ - curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr; - /* nothing to undo */ ---- 1985,1991 ---- - { - if (curbuf->b_u_curhead == NULL) /* first undo */ - curbuf->b_u_curhead = curbuf->b_u_newhead; -! else if (get_undolevel() > 0) /* multi level undo */ - /* get next undo */ - curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr; - /* nothing to undo */ -*************** -*** 1993,1999 **** - } - else - { -! if (curbuf->b_u_curhead == NULL || p_ul <= 0) - { - beep_flush(); /* nothing to redo */ - if (count == startcount - 1) ---- 2006,2012 ---- - } - else - { -! if (curbuf->b_u_curhead == NULL || get_undolevel() <= 0) - { - beep_flush(); /* nothing to redo */ - if (count == startcount - 1) -*************** -*** 2751,2757 **** - if (im_is_preediting()) - return; /* XIM is busy, don't break an undo sequence */ - #endif -! if (p_ul < 0) - curbuf->b_u_synced = TRUE; /* no entries, nothing to do */ - else - { ---- 2764,2770 ---- - if (im_is_preediting()) - return; /* XIM is busy, don't break an undo sequence */ - #endif -! if (get_undolevel() < 0) - curbuf->b_u_synced = TRUE; /* no entries, nothing to do */ - else - { -*************** -*** 2911,2917 **** - } - if (!curbuf->b_u_synced) - return; /* already unsynced */ -! if (p_ul < 0) - return; /* no entries, nothing to do */ - else - { ---- 2924,2930 ---- - } - if (!curbuf->b_u_synced) - return; /* already unsynced */ -! if (get_undolevel() < 0) - return; /* no entries, nothing to do */ - else - { -*** ../vim-7.4.072/src/version.c 2013-11-06 04:04:29.000000000 +0100 ---- src/version.c 2013-11-06 05:21:43.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 73, - /**/ - --- -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 /// diff --git a/7.4.074 b/7.4.074 deleted file mode 100644 index 70045c08..00000000 --- a/7.4.074 +++ /dev/null @@ -1,67 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.074 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.074 -Problem: When undo'ing all changes and creating a new change the undo - structure is incorrect. (Christian Brabandt) -Solution: When deleting the branch starting at the old header, delete the - whole branch, not just the first entry. -Files: src/undo.c - - -*** ../vim-7.4.073/src/undo.c 2013-11-06 05:26:08.000000000 +0100 ---- src/undo.c 2013-11-07 03:01:42.000000000 +0100 -*************** -*** 3121,3127 **** - * all the pointers. */ - if (uhp == buf->b_u_oldhead) - { -! u_freeheader(buf, uhp, uhpp); - return; - } - ---- 3121,3128 ---- - * all the pointers. */ - if (uhp == buf->b_u_oldhead) - { -! while (buf->b_u_oldhead != NULL) -! u_freeheader(buf, buf->b_u_oldhead, uhpp); - return; - } - -*** ../vim-7.4.073/src/version.c 2013-11-06 05:26:08.000000000 +0100 ---- src/version.c 2013-11-07 03:03:02.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 74, - /**/ - --- -LETTERS TO THE EDITOR (The Times of London) - -Dear Sir, - -I am firmly opposed to the spread of microchips either to the home or -to the office.  We have more than enough of them foisted upon us in -public places.  They are a disgusting Americanism, and can only result -in the farmers being forced to grow smaller potatoes, which in turn -will cause massive unemployment in the already severely depressed -agricultural industry. - -Yours faithfully, -        Capt. Quinton D'Arcy, J. P. -        Sevenoaks - - /// 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 /// diff --git a/7.4.075 b/7.4.075 deleted file mode 100644 index f7ba21e1..00000000 --- a/7.4.075 +++ /dev/null @@ -1,290 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.075 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.075 -Problem: Locally setting 'undolevels' is not tested. -Solution: Add a test. (Christian Brabandt) -Files: src/testdir/test100.in, src/testdir/test100.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, src/Makefile - - -*** ../vim-7.4.074/src/testdir/test100.in 2013-11-07 03:24:56.000000000 +0100 ---- src/testdir/test100.in 2013-11-07 03:20:32.000000000 +0100 -*************** -*** 0 **** ---- 1,42 ---- -+ Tests for 'undolevel' setting being global-local -+ -+ STARTTEST -+ :so small.vim -+ :set nocompatible viminfo+=nviminfo ul=5 -+ :fu! FillBuffer() -+ :for i in range(1,13) -+ :put=i -+ :exe "setg ul=" . &g:ul -+ :endfor -+ :endfu -+ :fu! UndoLevel() -+ :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end -+ :$put a -+ :endfu -+ :new one -+ :0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)' -+ :call FillBuffer() -+ :call feedkeys(":earlier 10\n", 't') -+ :call UndoLevel() -+ :%w! test.out -+ :new two -+ :0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)' -+ :setlocal ul=2 -+ :call FillBuffer() -+ :call feedkeys(":earlier 10\n", 't') -+ :call UndoLevel() -+ :setlocal ul=10 -+ :call UndoLevel() -+ :%w >> test.out -+ :wincmd p -+ :redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end -+ :new three -+ :setglobal ul=50 -+ :1put ='global value should be changed to 50' -+ :2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)' -+ :call UndoLevel() -+ :%w >> test.out -+ :"sleep 10 -+ :qa! -+ ENDTEST -+ -*** ../vim-7.4.074/src/testdir/test100.ok 2013-11-07 03:24:56.000000000 +0100 ---- src/testdir/test100.ok 2013-11-07 03:11:51.000000000 +0100 -*************** -*** 0 **** ---- 1,41 ---- -+ ONE: expecting global undolevels: 5, local undolevels: -123456 (default) -+ 1 -+ 2 -+ 3 -+ 4 -+ 5 -+ 6 -+ 7 -+ -+ -+ undolevels=5 global -+ undolevels=-123456 local -+ TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards) -+ 1 -+ 2 -+ 3 -+ 4 -+ 5 -+ 6 -+ 7 -+ 8 -+ 9 -+ 10 -+ -+ -+ undolevels=5 global -+ undolevels=2 local -+ -+ undolevels=5 global -+ undolevels=10 local -+ -+ global value shouldn't be changed and still be 5! -+ ONE: expecting global undolevels: 5, local undolevels: -123456 (default) -+ undolevels=5 global -+ undolevels=-123456 local -+ -+ global value should be changed to 50 -+ THREE: expecting global undolevels: 50, local undolevels: -123456 (default) -+ -+ undolevels=50 global -+ undolevels=-123456 local -*** ../vim-7.4.074/src/testdir/Make_amiga.mak 2013-09-19 17:00:14.000000000 +0200 ---- src/testdir/Make_amiga.mak 2013-11-07 03:07:57.000000000 +0100 -*************** -*** 34,40 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out - - .SUFFIXES: .in .out - ---- 34,40 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out - - .SUFFIXES: .in .out - -*************** -*** 150,152 **** ---- 150,153 ---- - test97.out: test97.in - test98.out: test98.in - test99.out: test99.in -+ test100.out: test100.in -*** ../vim-7.4.074/src/testdir/Make_dos.mak 2013-09-19 17:00:14.000000000 +0200 ---- src/testdir/Make_dos.mak 2013-11-07 03:08:05.000000000 +0100 -*************** -*** 32,38 **** - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out - - SCRIPTS32 = test50.out test70.out - ---- 32,39 ---- - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out \ -! test100.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.074/src/testdir/Make_ming.mak 2013-09-19 17:00:14.000000000 +0200 ---- src/testdir/Make_ming.mak 2013-11-07 03:08:12.000000000 +0100 -*************** -*** 52,58 **** - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out - - SCRIPTS32 = test50.out test70.out - ---- 52,59 ---- - test79.out test80.out test81.out test82.out test83.out \ - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out \ -! test100out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.074/src/testdir/Make_os2.mak 2013-09-19 17:00:14.000000000 +0200 ---- src/testdir/Make_os2.mak 2013-11-07 03:08:18.000000000 +0100 -*************** -*** 34,40 **** - test76.out test77.out test78.out test79.out test80.out \ - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out - - .SUFFIXES: .in .out - ---- 34,41 ---- - test76.out test77.out test78.out test79.out test80.out \ - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ -! test94.out test95.out test96.out test98.out test99.out \ -! test100.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.074/src/testdir/Make_vms.mms 2013-09-19 17:00:14.000000000 +0200 ---- src/testdir/Make_vms.mms 2013-11-07 03:08:24.000000000 +0100 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Sep 19 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 07 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 78,84 **** - test77.out test78.out test79.out test80.out test81.out \ - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ -! test95.out test96.out test97.out test98.out test99.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 78,85 ---- - test77.out test78.out test79.out test80.out test81.out \ - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ -! test95.out test96.out test97.out test98.out test99.out \ -! test100.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.074/src/testdir/Makefile 2013-09-22 15:03:34.000000000 +0200 ---- src/testdir/Makefile 2013-11-07 03:08:31.000000000 +0100 -*************** -*** 30,36 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out - - SCRIPTS_GUI = test16.out - ---- 30,36 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.074/src/Makefile 2013-08-10 14:21:15.000000000 +0200 ---- src/Makefile 2013-11-07 03:10:40.000000000 +0100 -*************** -*** 1882,1888 **** - test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \ - test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \ - test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \ -! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99: - cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) - - testclean: ---- 1883,1890 ---- - test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \ - test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \ - test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \ -! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \ -! test100 test101 test102 test103 test104 test105 test106 test107: - cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) - - testclean: -*** ../vim-7.4.074/src/version.c 2013-11-07 03:04:06.000000000 +0100 ---- src/version.c 2013-11-07 03:10:10.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 75, - /**/ - --- -Why is "abbreviation" such a long word? - - /// 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 /// diff --git a/7.4.076 b/7.4.076 deleted file mode 100644 index fa9abbc2..00000000 --- a/7.4.076 +++ /dev/null @@ -1,66 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.076 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.076 -Problem: "cgn" does not wrap around the end of the file. (Dimitrov - Dimitrov) -Solution: Restore 'wrapscan' earlier. (Christian Brabandt) -Files: src/search.c - - -*** ../vim-7.4.075/src/search.c 2013-10-02 21:54:57.000000000 +0200 ---- src/search.c 2013-11-07 04:38:46.000000000 +0100 -*************** -*** 4592,4598 **** - ml_get(curwin->w_buffer->b_ml.ml_line_count)); - } - } -! - } - - start_pos = pos; ---- 4592,4598 ---- - ml_get(curwin->w_buffer->b_ml.ml_line_count)); - } - } -! p_ws = old_p_ws; - } - - start_pos = pos; -*************** -*** 4607,4613 **** - if (!VIsual_active) - VIsual = start_pos; - -- p_ws = old_p_ws; - curwin->w_cursor = pos; - VIsual_active = TRUE; - VIsual_mode = 'v'; ---- 4607,4612 ---- -*** ../vim-7.4.075/src/version.c 2013-11-07 03:25:51.000000000 +0100 ---- src/version.c 2013-11-07 04:44:44.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 76, - /**/ - --- -INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving! - [Suddenly he notices the cameras.] -INSPECTOR END OF FILM: (to Camera) All right, put that away sonny. - [He walks over to it and puts his hand over the lens.] - "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 /// diff --git a/7.4.077 b/7.4.077 deleted file mode 100644 index fd2d3d7c..00000000 --- a/7.4.077 +++ /dev/null @@ -1,63 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.077 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.077 -Problem: DOS installer creates shortcut without a path, resulting in the - current directory to be C:\Windows\system32. -Solution: Use environment variables. -Files: src/dosinst.c - - -*** ../vim-7.4.076/src/dosinst.c 2013-05-06 04:06:04.000000000 +0200 ---- src/dosinst.c 2013-11-06 18:18:47.000000000 +0100 -*************** -*** 1773,1781 **** - - /* - * We used to use "homedir" as the working directory, but that is a bad choice -! * on multi-user systems. Not specifying a directory appears to work best. - */ -! #define WORKDIR "" - - /* - * Create shortcut(s) in the Start Menu\Programs\Vim folder. ---- 1773,1783 ---- - - /* - * We used to use "homedir" as the working directory, but that is a bad choice -! * on multi-user systems. However, not specifying a directory results in the -! * current directory to be c:\Windows\system32 on Windows 7. Use environment -! * variables instead. - */ -! #define WORKDIR "%HOMEDRIVE%%HOMEPATH%" - - /* - * Create shortcut(s) in the Start Menu\Programs\Vim folder. -*** ../vim-7.4.076/src/version.c 2013-11-07 04:46:43.000000000 +0100 ---- src/version.c 2013-11-07 04:47:42.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 77, - /**/ - --- -JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN - WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE - BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE - EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR - LAUNCELOT - "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 /// diff --git a/7.4.078 b/7.4.078 deleted file mode 100644 index 56b50763..00000000 --- a/7.4.078 +++ /dev/null @@ -1,114 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.078 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.078 -Problem: MSVC 2013 is not supported. -Solution: Recognize and support MSVC 2013. (Ed Brown) -Files: src/Make_mvc.mak - - -*** ../vim-7.4.077/src/Make_mvc.mak 2013-07-09 13:13:12.000000000 +0200 ---- src/Make_mvc.mak 2013-11-08 03:12:48.000000000 +0100 -*************** -*** 424,429 **** ---- 424,432 ---- - !if "$(_NMAKE_VER)" == "11.00.60610.1" - MSVCVER = 11.0 - !endif -+ !if "$(_NMAKE_VER)" == "12.00.21005.1" -+ MSVCVER = 12.0 -+ !endif - !endif - - # Abort building VIM if version of VC is unrecognised. -*************** -*** 438,444 **** - !endif - - # Convert processor ID to MVC-compatible number -! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") - !if "$(CPUNR)" == "i386" - CPUARG = /G3 - !elseif "$(CPUNR)" == "i486" ---- 441,447 ---- - !endif - - # Convert processor ID to MVC-compatible number -! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") && ("$(MSVCVER)" != "12.0") - !if "$(CPUNR)" == "i386" - CPUARG = /G3 - !elseif "$(CPUNR)" == "i486" -*************** -*** 472,478 **** - OPTFLAG = /Ox - !endif - -! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") - # Use link time code generation if not worried about size - !if "$(OPTIMIZE)" != "SPACE" - OPTFLAG = $(OPTFLAG) /GL ---- 475,481 ---- - OPTFLAG = /Ox - !endif - -! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0") - # Use link time code generation if not worried about size - !if "$(OPTIMIZE)" != "SPACE" - OPTFLAG = $(OPTFLAG) /GL -*************** -*** 485,491 **** - !endif - - # Static code analysis generally available starting with VS2012 -! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") - CFLAGS=$(CFLAGS) /analyze - !endif - ---- 488,494 ---- - !endif - - # Static code analysis generally available starting with VS2012 -! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0") - CFLAGS=$(CFLAGS) /analyze - !endif - -*************** -*** 943,949 **** - - # Report link time code generation progress if used. - !ifdef NODEBUG -! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") - !if "$(OPTIMIZE)" != "SPACE" - LINKARGS1 = $(LINKARGS1) /LTCG:STATUS - !endif ---- 946,952 ---- - - # Report link time code generation progress if used. - !ifdef NODEBUG -! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0") - !if "$(OPTIMIZE)" != "SPACE" - LINKARGS1 = $(LINKARGS1) /LTCG:STATUS - !endif -*** ../vim-7.4.077/src/version.c 2013-11-07 04:49:23.000000000 +0100 ---- src/version.c 2013-11-08 03:13:56.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 78, - /**/ - --- -Every time I lose weight, it finds me again! - - /// 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 /// diff --git a/7.4.079 b/7.4.079 deleted file mode 100644 index fbda97d8..00000000 --- a/7.4.079 +++ /dev/null @@ -1,470 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.079 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.079 -Problem: A script cannot detect whether 'hlsearch' highlighting is actually - displayed. -Solution: Add the "v:hlsearch" variable. (ZyX) -Files: src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, - src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h, - src/testdir/test101.in, src/testdir/test101.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - - -diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory -diff: src/runtime/doc/eval.txt: No such file or directory -*** ../vim-7.4.078/src/eval.c 2013-11-05 07:12:59.000000000 +0100 ---- src/eval.c 2013-11-08 04:11:46.000000000 +0100 -*************** -*** 356,361 **** ---- 356,362 ---- - {VV_NAME("mouse_col", VAR_NUMBER), 0}, - {VV_NAME("operator", VAR_STRING), VV_RO}, - {VV_NAME("searchforward", VAR_NUMBER), 0}, -+ {VV_NAME("hlsearch", VAR_NUMBER), 0}, - {VV_NAME("oldfiles", VAR_LIST), 0}, - {VV_NAME("windowid", VAR_NUMBER), VV_RO}, - }; -*************** -*** 871,876 **** ---- 872,878 ---- - hash_add(&compat_hashtab, p->vv_di.di_key); - } - set_vim_var_nr(VV_SEARCHFORWARD, 1L); -+ set_vim_var_nr(VV_HLSEARCH, 1L); - set_reg_var(0); /* default for v:register is not 0 but '"' */ - - #ifdef EBCDIC -*************** -*** 20613,20618 **** ---- 20615,20627 ---- - v->di_tv.vval.v_number = get_tv_number(tv); - if (STRCMP(varname, "searchforward") == 0) - set_search_direction(v->di_tv.vval.v_number ? '/' : '?'); -+ #ifdef FEAT_SEARCH_EXTRA -+ else if (STRCMP(varname, "hlsearch") == 0) -+ { -+ no_hlsearch = !v->di_tv.vval.v_number; -+ redraw_all_later(SOME_VALID); -+ } -+ #endif - } - return; - } -*** ../vim-7.4.078/src/ex_docmd.c 2013-07-24 15:09:37.000000000 +0200 ---- src/ex_docmd.c 2013-11-08 04:17:01.000000000 +0100 -*************** -*** 11389,11395 **** - ex_nohlsearch(eap) - exarg_T *eap UNUSED; - { -! no_hlsearch = TRUE; - redraw_all_later(SOME_VALID); - } - ---- 11389,11395 ---- - ex_nohlsearch(eap) - exarg_T *eap UNUSED; - { -! SET_NO_HLSEARCH(TRUE); - redraw_all_later(SOME_VALID); - } - -*** ../vim-7.4.078/src/option.c 2013-11-06 05:26:08.000000000 +0100 ---- src/option.c 2013-11-08 04:17:32.000000000 +0100 -*************** -*** 7811,7817 **** - /* when 'hlsearch' is set or reset: reset no_hlsearch */ - else if ((int *)varp == &p_hls) - { -! no_hlsearch = FALSE; - } - #endif - ---- 7811,7817 ---- - /* when 'hlsearch' is set or reset: reset no_hlsearch */ - else if ((int *)varp == &p_hls) - { -! SET_NO_HLSEARCH(FALSE); - } - #endif - -*** ../vim-7.4.078/src/screen.c 2013-07-13 12:23:00.000000000 +0200 ---- src/screen.c 2013-11-08 04:17:48.000000000 +0100 -*************** -*** 7447,7453 **** - { - /* don't free regprog in the match list, it's a copy */ - vim_regfree(shl->rm.regprog); -! no_hlsearch = TRUE; - } - shl->rm.regprog = NULL; - shl->lnum = 0; ---- 7447,7453 ---- - { - /* don't free regprog in the match list, it's a copy */ - vim_regfree(shl->rm.regprog); -! SET_NO_HLSEARCH(TRUE); - } - shl->rm.regprog = NULL; - shl->lnum = 0; -*** ../vim-7.4.078/src/search.c 2013-11-07 04:46:43.000000000 +0100 ---- src/search.c 2013-11-08 04:18:57.000000000 +0100 -*************** -*** 289,295 **** - /* If 'hlsearch' set and search pat changed: need redraw. */ - if (p_hls) - redraw_all_later(SOME_VALID); -! no_hlsearch = FALSE; - #endif - } - } ---- 289,295 ---- - /* If 'hlsearch' set and search pat changed: need redraw. */ - if (p_hls) - redraw_all_later(SOME_VALID); -! SET_NO_HLSEARCH(FALSE); - #endif - } - } -*************** -*** 333,339 **** - spats[1] = saved_spats[1]; - last_idx = saved_last_idx; - # ifdef FEAT_SEARCH_EXTRA -! no_hlsearch = saved_no_hlsearch; - # endif - } - } ---- 333,339 ---- - spats[1] = saved_spats[1]; - last_idx = saved_last_idx; - # ifdef FEAT_SEARCH_EXTRA -! SET_NO_HLSEARCH(saved_no_hlsearch); - # endif - } - } -*************** -*** 1148,1154 **** - if (no_hlsearch && !(options & SEARCH_KEEP)) - { - redraw_all_later(SOME_VALID); -! no_hlsearch = FALSE; - } - #endif - ---- 1148,1154 ---- - if (no_hlsearch && !(options & SEARCH_KEEP)) - { - redraw_all_later(SOME_VALID); -! SET_NO_HLSEARCH(FALSE); - } - #endif - -*************** -*** 5561,5567 **** - spats[idx].off.off = off; - #ifdef FEAT_SEARCH_EXTRA - if (setlast) -! no_hlsearch = !hlsearch_on; - #endif - } - } ---- 5561,5569 ---- - spats[idx].off.off = off; - #ifdef FEAT_SEARCH_EXTRA - if (setlast) -! { -! SET_NO_HLSEARCH(!hlsearch_on); -! } - #endif - } - } -*** ../vim-7.4.078/src/tag.c 2013-09-05 12:06:26.000000000 +0200 ---- src/tag.c 2013-11-08 04:19:14.000000000 +0100 -*************** -*** 3330,3336 **** - #ifdef FEAT_SEARCH_EXTRA - /* restore no_hlsearch when keeping the old search pattern */ - if (search_options) -! no_hlsearch = save_no_hlsearch; - #endif - - /* Return OK if jumped to another file (at least we found the file!). */ ---- 3330,3338 ---- - #ifdef FEAT_SEARCH_EXTRA - /* restore no_hlsearch when keeping the old search pattern */ - if (search_options) -! { -! SET_NO_HLSEARCH(save_no_hlsearch); -! } - #endif - - /* Return OK if jumped to another file (at least we found the file!). */ -*** ../vim-7.4.078/src/vim.h 2013-08-02 16:02:27.000000000 +0200 ---- src/vim.h 2013-11-08 04:16:57.000000000 +0100 -*************** -*** 1864,1872 **** - #define VV_MOUSE_COL 51 - #define VV_OP 52 - #define VV_SEARCHFORWARD 53 -! #define VV_OLDFILES 54 -! #define VV_WINDOWID 55 -! #define VV_LEN 56 /* number of v: vars */ - - #ifdef FEAT_CLIPBOARD - ---- 1864,1873 ---- - #define VV_MOUSE_COL 51 - #define VV_OP 52 - #define VV_SEARCHFORWARD 53 -! #define VV_HLSEARCH 54 -! #define VV_OLDFILES 55 -! #define VV_WINDOWID 56 -! #define VV_LEN 57 /* number of v: vars */ - - #ifdef FEAT_CLIPBOARD - -*************** -*** 2246,2249 **** ---- 2247,2256 ---- - /* Character used as separated in autoload function/variable names. */ - #define AUTOLOAD_CHAR '#' - -+ #ifdef FEAT_EVAL -+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch) -+ #else -+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag) -+ #endif -+ - #endif /* VIM__H */ -*** ../vim-7.4.078/src/testdir/test101.in 2013-11-08 04:28:49.000000000 +0100 ---- src/testdir/test101.in 2013-11-08 04:11:46.000000000 +0100 -*************** -*** 0 **** ---- 1,45 ---- -+ Test for v:hlsearch vim: set ft=vim : -+ -+ STARTTEST -+ :" Last abc: Q -+ :so small.vim -+ :new -+ :call setline(1, repeat(['aaa'], 10)) -+ :set hlsearch nolazyredraw -+ :let r=[] -+ :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch]) -+ /aaa -+ :AddR -+ :nohlsearch -+ :AddR -+ :let v:hlsearch=1 -+ :AddR -+ :let v:hlsearch=0 -+ :AddR -+ :set hlsearch -+ :AddR -+ :let v:hlsearch=0 -+ :AddR -+ n:AddR -+ :let v:hlsearch=0 -+ :AddR -+ / -+ :AddR -+ :let r1=r[0][0] -+ :" I guess it is not guaranteed that screenattr outputs always the same character -+ :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")') -+ :try -+ : let v:hlsearch=[] -+ :catch -+ : call add(r, matchstr(v:exception,'^Vim(let):E\d\+:')) -+ :endtry -+ :bwipeout! -+ :$put=r -+ :call garbagecollect(1) -+ :" -+ :/^start:/,$wq! test.out -+ :" vim: et ts=4 isk-=\: -+ :call getchar() -+ ENDTEST -+ -+ start: -*** ../vim-7.4.078/src/testdir/test101.ok 2013-11-08 04:28:49.000000000 +0100 ---- src/testdir/test101.ok 2013-11-08 04:11:46.000000000 +0100 -*************** -*** 0 **** ---- 1,11 ---- -+ start: -+ 1:highlighted -+ 0:not highlighted -+ 1:highlighted -+ 0:not highlighted -+ 1:highlighted -+ 0:not highlighted -+ 1:highlighted -+ 0:not highlighted -+ 1:highlighted -+ Vim(let):E706: -*** ../vim-7.4.078/src/testdir/Make_amiga.mak 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/Make_amiga.mak 2013-11-08 04:22:13.000000000 +0100 -*************** -*** 34,40 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out - - .SUFFIXES: .in .out - ---- 34,40 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out - - .SUFFIXES: .in .out - -*************** -*** 151,153 **** ---- 151,154 ---- - test98.out: test98.in - test99.out: test99.in - test100.out: test100.in -+ test101.out: test101.in -*** ../vim-7.4.078/src/testdir/Make_dos.mak 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/Make_dos.mak 2013-11-08 04:22:17.000000000 +0100 -*************** -*** 33,39 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out - - SCRIPTS32 = test50.out test70.out - ---- 33,39 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.078/src/testdir/Make_ming.mak 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/Make_ming.mak 2013-11-08 04:22:19.000000000 +0100 -*************** -*** 53,59 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out - - SCRIPTS32 = test50.out test70.out - ---- 53,59 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out test101.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.078/src/testdir/Make_os2.mak 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/Make_os2.mak 2013-11-08 04:22:21.000000000 +0100 -*************** -*** 35,41 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out - - .SUFFIXES: .in .out - ---- 35,41 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.078/src/testdir/Make_vms.mms 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/Make_vms.mms 2013-11-08 04:22:23.000000000 +0100 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 07 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 08 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 79,85 **** - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 79,85 ---- - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.078/src/testdir/Makefile 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/Makefile 2013-11-08 04:22:26.000000000 +0100 -*************** -*** 30,36 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out - - SCRIPTS_GUI = test16.out - ---- 30,36 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.078/src/version.c 2013-11-08 03:15:39.000000000 +0100 ---- src/version.c 2013-11-08 04:11:08.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 79, - /**/ - --- -Corn oil comes from corn and olive oil comes from olives, so where -does baby oil come from? - - /// 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 /// diff --git a/7.4.080 b/7.4.080 deleted file mode 100644 index eeec1dec..00000000 --- a/7.4.080 +++ /dev/null @@ -1,52 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.080 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.080 (after 7.4.079) -Problem: Missing documentation for v:hlsearch. -Solution: Include the right file in the patch. -Files: runtime/doc/eval.txt - - -*** ../vim-7.4.079/runtime/doc/eval.txt 2013-11-02 23:29:17.000000000 +0100 ---- runtime/doc/eval.txt 2013-11-08 04:20:27.000000000 +0100 -*************** -*** 1454,1459 **** ---- 1455,1467 ---- - v:foldstart Used for 'foldtext': first line of closed fold. - Read-only in the |sandbox|. |fold-foldtext| - -+ *v:hlsearch* *hlsearch-variable* -+ v:hlsearch Variable that determines whether search highlighting is on. -+ Makes sense only if 'hlsearch' is enabled which requires -+ |+extra_search|. Setting this variable to zero acts the like -+ |:nohlsearch| command, setting it to one acts like > -+ let &hlsearch = &hlsearch -+ < - *v:insertmode* *insertmode-variable* - v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand - events. Values: -*** ../vim-7.4.079/src/version.c 2013-11-08 04:30:06.000000000 +0100 ---- src/version.c 2013-11-09 01:42:56.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 80, - /**/ - --- -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 /// diff --git a/7.4.081 b/7.4.081 deleted file mode 100644 index b2c61d9a..00000000 --- a/7.4.081 +++ /dev/null @@ -1,52 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.081 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.081 (after 7.4.078) -Problem: Wrong logic when ANALYZE is "yes". -Solution: Use or instead of and. (KF Leong) -Files: src/Make_mvc.mak - - -*** ../vim-7.4.080/src/Make_mvc.mak 2013-11-08 03:15:39.000000000 +0100 ---- src/Make_mvc.mak 2013-11-08 18:02:54.000000000 +0100 -*************** -*** 488,494 **** - !endif - - # Static code analysis generally available starting with VS2012 -! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0") - CFLAGS=$(CFLAGS) /analyze - !endif - ---- 488,494 ---- - !endif - - # Static code analysis generally available starting with VS2012 -! !if ("$(ANALYZE)" == "yes") && (("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")) - CFLAGS=$(CFLAGS) /analyze - !endif - -*** ../vim-7.4.080/src/version.c 2013-11-09 01:44:38.000000000 +0100 ---- src/version.c 2013-11-09 02:31:34.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 81, - /**/ - --- -Wi n0t trei a h0liday in Sweden thi yer? - "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 /// diff --git a/7.4.082 b/7.4.082 deleted file mode 100644 index 03089d66..00000000 --- a/7.4.082 +++ /dev/null @@ -1,344 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.082 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.082 -Problem: Using "gf" in a changed buffer suggests adding "!", which is not - possible. (Tim Chase) -Solution: Pass a flag to check_changed() wether adding ! make sense. -Files: src/vim.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/globals.h, - src/ex_cmds.c, src/ex_docmd.c - - -*** ../vim-7.4.081/src/vim.h 2013-11-08 04:30:06.000000000 +0100 ---- src/vim.h 2013-11-09 03:00:00.000000000 +0100 -*************** -*** 1176,1181 **** ---- 1176,1190 ---- - #define RESIZE_BOTH 15 /* resize in both directions */ - - /* -+ * flags for check_changed() -+ */ -+ #define CCGD_AW 1 /* do autowrite if buffer was changed */ -+ #define CCGD_MULTWIN 2 /* check also when several wins for the buf */ -+ #define CCGD_FORCEIT 4 /* ! used */ -+ #define CCGD_ALLBUF 8 /* may write all buffers */ -+ #define CCGD_EXCMD 16 /* may suggest using ! */ -+ -+ /* - * "flags" values for option-setting functions. - * When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global - * values, get local value. -*** ../vim-7.4.081/src/ex_cmds2.c 2013-06-28 20:14:53.000000000 +0200 ---- src/ex_cmds2.c 2013-11-09 03:14:44.000000000 +0100 -*************** -*** 1436,1455 **** - } - - /* -! * return TRUE if buffer was changed and cannot be abandoned. - */ - int -! check_changed(buf, checkaw, mult_win, forceit, allbuf) - buf_T *buf; -! int checkaw; /* do autowrite if buffer was changed */ -! int mult_win; /* check also when several wins for the buf */ -! int forceit; -! int allbuf UNUSED; /* may write all buffers */ - { - if ( !forceit - && bufIsChanged(buf) -! && (mult_win || buf->b_nwindows <= 1) -! && (!checkaw || autowrite(buf, forceit) == FAIL)) - { - #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - if ((p_confirm || cmdmod.confirm) && p_write) ---- 1436,1455 ---- - } - - /* -! * Return TRUE if buffer was changed and cannot be abandoned. -! * For flags use the CCGD_ values. - */ - int -! check_changed(buf, flags) - buf_T *buf; -! int flags; - { -+ int forceit = (flags & CCGD_FORCEIT); -+ - if ( !forceit - && bufIsChanged(buf) -! && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1) -! && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL)) - { - #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - if ((p_confirm || cmdmod.confirm) && p_write) -*************** -*** 1457,1463 **** - buf_T *buf2; - int count = 0; - -! if (allbuf) - for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next) - if (bufIsChanged(buf2) - && (buf2->b_ffname != NULL ---- 1457,1463 ---- - buf_T *buf2; - int count = 0; - -! if (flags & CCGD_ALLBUF) - for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next) - if (bufIsChanged(buf2) - && (buf2->b_ffname != NULL -*************** -*** 1480,1486 **** - return bufIsChanged(buf); - } - #endif -! EMSG(_(e_nowrtmsg)); - return TRUE; - } - return FALSE; ---- 1480,1489 ---- - return bufIsChanged(buf); - } - #endif -! if (flags & CCGD_EXCMD) -! EMSG(_(e_nowrtmsg)); -! else -! EMSG(_(e_nowrtmsg_nobang)); - return TRUE; - } - return FALSE; -*************** -*** 1690,1696 **** - { - /* Try auto-writing the buffer. If this fails but the buffer no - * longer exists it's not changed, that's OK. */ -! if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf)) - break; /* didn't save - still changes */ - } - } ---- 1693,1701 ---- - { - /* Try auto-writing the buffer. If this fails but the buffer no - * longer exists it's not changed, that's OK. */ -! if (check_changed(buf, (p_awa ? CCGD_AW : 0) -! | CCGD_MULTWIN -! | CCGD_ALLBUF) && buf_valid(buf)) - break; /* didn't save - still changes */ - } - } -*************** -*** 2274,2280 **** - vim_free(p); - } - if ((!P_HID(curbuf) || !other) -! && check_changed(curbuf, TRUE, !other, eap->forceit, FALSE)) - return; - } - ---- 2279,2288 ---- - vim_free(p); - } - if ((!P_HID(curbuf) || !other) -! && check_changed(curbuf, CCGD_AW -! | (other ? 0 : CCGD_MULTWIN) -! | (eap->forceit ? CCGD_FORCEIT : 0) -! | CCGD_EXCMD)) - return; - } - -*************** -*** 2315,2321 **** - */ - if ( P_HID(curbuf) - || eap->cmdidx == CMD_snext -! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE)) - { - if (*eap->arg != NUL) /* redefine file list */ - { ---- 2323,2331 ---- - */ - if ( P_HID(curbuf) - || eap->cmdidx == CMD_snext -! || !check_changed(curbuf, CCGD_AW -! | (eap->forceit ? CCGD_FORCEIT : 0) -! | CCGD_EXCMD)) - { - if (*eap->arg != NUL) /* redefine file list */ - { -*************** -*** 2458,2464 **** - if (eap->cmdidx == CMD_windo - || eap->cmdidx == CMD_tabdo - || P_HID(curbuf) -! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE)) - { - /* start at the first argument/window/buffer */ - i = 0; ---- 2468,2476 ---- - if (eap->cmdidx == CMD_windo - || eap->cmdidx == CMD_tabdo - || P_HID(curbuf) -! || !check_changed(curbuf, CCGD_AW -! | (eap->forceit ? CCGD_FORCEIT : 0) -! | CCGD_EXCMD)) - { - /* start at the first argument/window/buffer */ - i = 0; -*** ../vim-7.4.081/src/proto/ex_cmds2.pro 2013-08-10 13:37:10.000000000 +0200 ---- src/proto/ex_cmds2.pro 2013-11-09 03:18:02.000000000 +0100 -*************** -*** 35,41 **** - int prof_def_func __ARGS((void)); - int autowrite __ARGS((buf_T *buf, int forceit)); - void autowrite_all __ARGS((void)); -! int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf)); - void browse_save_fname __ARGS((buf_T *buf)); - void dialog_changed __ARGS((buf_T *buf, int checkall)); - int can_abandon __ARGS((buf_T *buf, int forceit)); ---- 35,41 ---- - int prof_def_func __ARGS((void)); - int autowrite __ARGS((buf_T *buf, int forceit)); - void autowrite_all __ARGS((void)); -! int check_changed __ARGS((buf_T *buf, int flags)); - void browse_save_fname __ARGS((buf_T *buf)); - void dialog_changed __ARGS((buf_T *buf, int checkall)); - int can_abandon __ARGS((buf_T *buf, int forceit)); -*** ../vim-7.4.081/src/globals.h 2013-07-04 19:53:44.000000000 +0200 ---- src/globals.h 2013-11-09 03:05:54.000000000 +0100 -*************** -*** 1490,1495 **** ---- 1490,1496 ---- - EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s")); - EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s")); - EXTERN char_u e_nowrtmsg[] INIT(= N_("E37: No write since last change (add ! to override)")); -+ EXTERN char_u e_nowrtmsg_nobang[] INIT(= N_("E37: No write since last change")); - EXTERN char_u e_null[] INIT(= N_("E38: Null argument")); - #ifdef FEAT_DIGRAPHS - EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected")); -*** ../vim-7.4.081/src/ex_cmds.c 2013-10-02 18:43:00.000000000 +0200 ---- src/ex_cmds.c 2013-11-09 03:19:25.000000000 +0100 -*************** -*** 3253,3260 **** - if ( ((!other_file && !(flags & ECMD_OLDBUF)) - || (curbuf->b_nwindows == 1 - && !(flags & (ECMD_HIDE | ECMD_ADDBUF)))) -! && check_changed(curbuf, p_awa, !other_file, -! (flags & ECMD_FORCEIT), FALSE)) - { - if (fnum == 0 && other_file && ffname != NULL) - (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum); ---- 3253,3262 ---- - if ( ((!other_file && !(flags & ECMD_OLDBUF)) - || (curbuf->b_nwindows == 1 - && !(flags & (ECMD_HIDE | ECMD_ADDBUF)))) -! && check_changed(curbuf, (p_awa ? CCGD_AW : 0) -! | (other_file ? 0 : CCGD_MULTWIN) -! | ((flags & ECMD_FORCEIT) ? CCGD_FORCEIT : 0) -! | (eap == NULL ? 0 : CCGD_EXCMD))) - { - if (fnum == 0 && other_file && ffname != NULL) - (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum); -*************** -*** 7664,7670 **** - # ifdef FEAT_WINDOWS - ++emsg_off; - # endif -! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE); - # ifdef FEAT_WINDOWS - --emsg_off; - # else ---- 7666,7672 ---- - # ifdef FEAT_WINDOWS - ++emsg_off; - # endif -! split = check_changed(curbuf, CCGD_AW | CCGD_EXCMD); - # ifdef FEAT_WINDOWS - --emsg_off; - # else -*** ../vim-7.4.081/src/ex_docmd.c 2013-11-08 04:30:06.000000000 +0100 ---- src/ex_docmd.c 2013-11-09 03:30:10.000000000 +0100 -*************** -*** 6565,6571 **** - if (check_more(FALSE, eap->forceit) == OK && only_one_window()) - exiting = TRUE; - if ((!P_HID(curbuf) -! && check_changed(curbuf, p_awa, FALSE, eap->forceit, FALSE)) - || check_more(TRUE, eap->forceit) == FAIL - || (only_one_window() && check_changed_any(eap->forceit))) - { ---- 6565,6573 ---- - if (check_more(FALSE, eap->forceit) == OK && only_one_window()) - exiting = TRUE; - if ((!P_HID(curbuf) -! && check_changed(curbuf, (p_awa ? CCGD_AW : 0) -! | (eap->forceit ? CCGD_FORCEIT : 0) -! | CCGD_EXCMD)) - || check_more(TRUE, eap->forceit) == FAIL - || (only_one_window() && check_changed_any(eap->forceit))) - { -*************** -*** 7099,7105 **** - if (!P_HID(curbuf) && !split) - { - ++emsg_off; -! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE); - --emsg_off; - } - if (split) ---- 7101,7107 ---- - if (!P_HID(curbuf) && !split) - { - ++emsg_off; -! split = check_changed(curbuf, CCGD_AW); - --emsg_off; - } - if (split) -*************** -*** 7361,7367 **** - { - /* Set recoverymode right away to avoid the ATTENTION prompt. */ - recoverymode = TRUE; -! if (!check_changed(curbuf, p_awa, TRUE, eap->forceit, FALSE) - && (*eap->arg == NUL - || setfname(curbuf, eap->arg, NULL, TRUE) == OK)) - ml_recover(); ---- 7363,7373 ---- - { - /* Set recoverymode right away to avoid the ATTENTION prompt. */ - recoverymode = TRUE; -! if (!check_changed(curbuf, (p_awa ? CCGD_AW : 0) -! | CCGD_MULTWIN -! | (eap->forceit ? CCGD_FORCEIT : 0) -! | CCGD_EXCMD) -! - && (*eap->arg == NUL - || setfname(curbuf, eap->arg, NULL, TRUE) == OK)) - ml_recover(); -*** ../vim-7.4.081/src/version.c 2013-11-09 02:32:15.000000000 +0100 ---- src/version.c 2013-11-09 03:26:06.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 82, - /**/ - --- -People who want to share their religious views with you -almost never want you to share yours with them. - - /// 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 /// diff --git a/7.4.083 b/7.4.083 deleted file mode 100644 index c71450eb..00000000 --- a/7.4.083 +++ /dev/null @@ -1,136 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.083 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.083 -Problem: It's hard to avoid adding a used pattern to the search history. -Solution: Add the ":keeppatterns" modifier. (Christian Brabandt) -Files: runtime/doc/cmdline.txt, src/ex_cmds.h, src/ex_docmd.c, - src/ex_getln.c, src/structs.h - - -*** ../vim-7.4.082/runtime/doc/cmdline.txt 2013-08-10 13:24:52.000000000 +0200 ---- runtime/doc/cmdline.txt 2013-11-09 04:26:30.000000000 +0100 -*************** -*** 356,361 **** ---- 356,365 ---- - List the recent five entries from all histories: > - :history all -5, - -+ :keepp[atterns] {command} *:keepp* *:keeppatterns* -+ Execute {command}, without adding anything to the search -+ history -+ - ============================================================================== - 2. Command-line completion *cmdline-completion* - -*** ../vim-7.4.082/src/ex_cmds.h 2013-06-08 15:08:20.000000000 +0200 ---- src/ex_cmds.h 2013-11-09 04:26:30.000000000 +0100 -*************** -*** 477,482 **** ---- 477,484 ---- - NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, - NEEDARG|EXTRA|NOTRLCOM), -+ EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier, -+ NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_keepalt, "keepalt", ex_wrongmodifier, - NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_list, "list", ex_print, -*** ../vim-7.4.082/src/ex_docmd.c 2013-11-09 03:31:45.000000000 +0100 ---- src/ex_docmd.c 2013-11-09 04:31:36.000000000 +0100 -*************** -*** 1843,1848 **** ---- 1843,1853 ---- - cmdmod.keepalt = TRUE; - continue; - } -+ if (checkforcmd(&ea.cmd, "keeppatterns", 5)) -+ { -+ cmdmod.keeppatterns = TRUE; -+ continue; -+ } - if (!checkforcmd(&ea.cmd, "keepjumps", 5)) - break; - cmdmod.keepjumps = TRUE; -*************** -*** 2584,2589 **** ---- 2589,2595 ---- - case CMD_keepalt: - case CMD_keepjumps: - case CMD_keepmarks: -+ case CMD_keeppatterns: - case CMD_leftabove: - case CMD_let: - case CMD_lockmarks: -*************** -*** 3089,3094 **** ---- 3095,3101 ---- - {"keepalt", 5, FALSE}, - {"keepjumps", 5, FALSE}, - {"keepmarks", 3, FALSE}, -+ {"keeppatterns", 5, FALSE}, - {"leftabove", 5, FALSE}, - {"lockmarks", 3, FALSE}, - {"noautocmd", 3, FALSE}, -*************** -*** 3597,3602 **** ---- 3604,3610 ---- - case CMD_keepalt: - case CMD_keepjumps: - case CMD_keepmarks: -+ case CMD_keeppatterns: - case CMD_leftabove: - case CMD_lockmarks: - case CMD_rightbelow: -*** ../vim-7.4.082/src/ex_getln.c 2013-11-05 07:12:59.000000000 +0100 ---- src/ex_getln.c 2013-11-09 04:26:30.000000000 +0100 -*************** -*** 5498,5503 **** ---- 5498,5506 ---- - if (hislen == 0) /* no history */ - return; - -+ if (cmdmod.keeppatterns && histype == HIST_SEARCH) -+ return; -+ - /* - * Searches inside the same mapping overwrite each other, so that only - * the last line is kept. Be careful not to remove a line that was moved -*** ../vim-7.4.082/src/structs.h 2013-11-06 05:26:08.000000000 +0100 ---- src/structs.h 2013-11-09 04:26:30.000000000 +0100 -*************** -*** 542,547 **** ---- 542,548 ---- - int keepmarks; /* TRUE when ":keepmarks" was used */ - int keepjumps; /* TRUE when ":keepjumps" was used */ - int lockmarks; /* TRUE when ":lockmarks" was used */ -+ int keeppatterns; /* TRUE when ":keeppatterns" was used */ - # ifdef FEAT_AUTOCMD - char_u *save_ei; /* saved value of 'eventignore' */ - # endif -*** ../vim-7.4.082/src/version.c 2013-11-09 03:31:45.000000000 +0100 ---- src/version.c 2013-11-09 04:29:07.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 83, - /**/ - --- -I am always surprised in the Linux world how quickly solutions can be -obtained. (Imagine sending an email to Bill Gates, asking why Windows -crashed, and how to fix it... and then getting an answer that fixed the -problem... <0>_<0> !) -- Mark Langdon - - /// 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 /// diff --git a/7.4.084 b/7.4.084 deleted file mode 100644 index 142e251d..00000000 --- a/7.4.084 +++ /dev/null @@ -1,184 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.084 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.084 -Problem: Python: interrupt not being properly discarded. (Yggdroot Chen) -Solution: Discard interrupt in VimTryEnd. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - - -*** ../vim-7.4.083/src/if_py_both.h 2013-11-04 00:34:47.000000000 +0100 ---- src/if_py_both.h 2013-11-11 00:56:41.000000000 +0100 -*************** -*** 558,564 **** - /* Keyboard interrupt should be preferred over anything else */ - if (got_int) - { -! did_throw = got_int = FALSE; - PyErr_SetNone(PyExc_KeyboardInterrupt); - return -1; - } ---- 558,568 ---- - /* Keyboard interrupt should be preferred over anything else */ - if (got_int) - { -! if (current_exception != NULL) -! discard_current_exception(); -! else -! need_rethrow = did_throw = FALSE; -! got_int = FALSE; - PyErr_SetNone(PyExc_KeyboardInterrupt); - return -1; - } -*************** -*** 567,573 **** - /* Python exception is preferred over vim one; unlikely to occur though */ - else if (PyErr_Occurred()) - { -! did_throw = FALSE; - return -1; - } - /* Finally transform VimL exception to python one */ ---- 571,580 ---- - /* Python exception is preferred over vim one; unlikely to occur though */ - else if (PyErr_Occurred()) - { -! if (current_exception != NULL) -! discard_current_exception(); -! else -! need_rethrow = did_throw = FALSE; - return -1; - } - /* Finally transform VimL exception to python one */ -*** ../vim-7.4.083/src/testdir/test86.in 2013-11-04 00:34:47.000000000 +0100 ---- src/testdir/test86.in 2013-11-11 00:56:11.000000000 +0100 -*************** -*** 1281,1286 **** ---- 1281,1317 ---- - EOF - :delfunction Exe - :" -+ :" Regression: interrupting vim.command propagates to next vim.command -+ py << EOF -+ def test_keyboard_interrupt(): -+ try: -+ vim.command('while 1 | endwhile') -+ except KeyboardInterrupt: -+ cb.append('Caught KeyboardInterrupt') -+ except Exception: -+ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info)) -+ else: -+ cb.append('!!!!!!!! No exception') -+ try: -+ vim.command('$ put =\'Running :put\'') -+ except KeyboardInterrupt: -+ cb.append('!!!!!!!! Caught KeyboardInterrupt') -+ except Exception: -+ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info)) -+ else: -+ cb.append('No exception') -+ EOF -+ :debuggreedy -+ :call inputsave() -+ :call feedkeys("s\ns\ns\ns\nq\n") -+ :redir => output -+ :debug silent! py test_keyboard_interrupt() -+ :redir END -+ :0 debuggreedy -+ :silent $put =output -+ :unlet output -+ :py del test_keyboard_interrupt -+ :" - :" Cleanup - py << EOF - del cb -*** ../vim-7.4.083/src/testdir/test86.ok 2013-11-04 00:34:47.000000000 +0100 ---- src/testdir/test86.ok 2013-11-11 00:56:11.000000000 +0100 -*************** -*** 1198,1200 **** ---- 1198,1204 ---- - vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',) - vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) - vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) -+ Caught KeyboardInterrupt -+ Running :put -+ No exception -+ -*** ../vim-7.4.083/src/testdir/test87.in 2013-11-04 00:34:47.000000000 +0100 ---- src/testdir/test87.in 2013-11-11 00:56:11.000000000 +0100 -*************** -*** 1232,1237 **** ---- 1232,1268 ---- - EOF - :delfunction Exe - :" -+ :" Regression: interrupting vim.command propagates to next vim.command -+ py3 << EOF -+ def test_keyboard_interrupt(): -+ try: -+ vim.command('while 1 | endwhile') -+ except KeyboardInterrupt: -+ cb.append('Caught KeyboardInterrupt') -+ except Exception as e: -+ cb.append('!!!!!!!! Caught exception: ' + repr(e)) -+ else: -+ cb.append('!!!!!!!! No exception') -+ try: -+ vim.command('$ put =\'Running :put\'') -+ except KeyboardInterrupt: -+ cb.append('!!!!!!!! Caught KeyboardInterrupt') -+ except Exception as e: -+ cb.append('!!!!!!!! Caught exception: ' + repr(e)) -+ else: -+ cb.append('No exception') -+ EOF -+ :debuggreedy -+ :call inputsave() -+ :call feedkeys("s\ns\ns\ns\nq\n") -+ :redir => output -+ :debug silent! py3 test_keyboard_interrupt() -+ :redir END -+ :0 debuggreedy -+ :silent $put =output -+ :unlet output -+ :py3 del test_keyboard_interrupt -+ :" - :" Cleanup - py3 << EOF - del cb -*** ../vim-7.4.083/src/testdir/test87.ok 2013-11-04 00:34:47.000000000 +0100 ---- src/testdir/test87.ok 2013-11-11 00:56:11.000000000 +0100 -*************** -*** 1187,1189 **** ---- 1187,1193 ---- - vim.eval("Exe('echoerr ''jkl''')"):(, error('Vim(echoerr):jkl',)) - vim.eval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) - vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) -+ Caught KeyboardInterrupt -+ Running :put -+ No exception -+ -*** ../vim-7.4.083/src/version.c 2013-11-09 05:30:18.000000000 +0100 ---- src/version.c 2013-11-11 00:55:23.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 84, - /**/ - --- -Computers make very fast, very accurate, mistakes. - - /// 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 /// diff --git a/7.4.085 b/7.4.085 deleted file mode 100644 index a6e9a804..00000000 --- a/7.4.085 +++ /dev/null @@ -1,118 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.085 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.085 -Problem: When inserting text in Visual block mode and moving the cursor the - wrong text gets repeated in other lines. -Solution: Use the '[ mark to find the start of the actually inserted text. - (Christian Brabandt) -Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok - - -*** ../vim-7.4.084/src/ops.c 2013-11-05 07:12:59.000000000 +0100 ---- src/ops.c 2013-11-11 01:23:14.000000000 +0100 -*************** -*** 2640,2645 **** ---- 2640,2670 ---- - { - struct block_def bd2; - -+ /* The user may have moved the cursor before inserting something, try -+ * to adjust the block for that. */ -+ if (oap->start.lnum == curbuf->b_op_start.lnum) -+ { -+ if (oap->op_type == OP_INSERT -+ && oap->start.col != curbuf->b_op_start.col) -+ { -+ oap->start.col = curbuf->b_op_start.col; -+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) -+ - oap->start_vcol; -+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); -+ } -+ else if (oap->op_type == OP_APPEND -+ && oap->end.col >= curbuf->b_op_start.col) -+ { -+ oap->start.col = curbuf->b_op_start.col; -+ /* reset pre_textlen to the value of OP_INSERT */ -+ pre_textlen += bd.textlen; -+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) -+ - oap->start_vcol; -+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); -+ oap->op_type = OP_INSERT; -+ } -+ } -+ - /* - * Spaces and tabs in the indent may have changed to other spaces and - * tabs. Get the starting column again and correct the length. -*** ../vim-7.4.084/src/testdir/test39.in 2013-11-04 01:41:11.000000000 +0100 ---- src/testdir/test39.in 2013-11-11 01:20:51.000000000 +0100 -*************** -*** 19,24 **** ---- 19,28 ---- - :" Test block-change - G$khhhhhkkcmno - :$-4,$w! test.out -+ :" Test block-insert using cursor keys for movement -+ /^aaaa/ -+ :exe ":norm! l\jjjlllI\\ \" -+ :/^aa/,/^$/w >> test.out - :" gUe must uppercase a whole word, also when ß changes to SS - Gothe youtußeuu endYpk0wgUe - :" gUfx must uppercase until x, inclusive. -*************** -*** 40,45 **** ---- 44,54 ---- - :qa! - ENDTEST - -+ aaaaaa -+ bbbbbb -+ cccccc -+ dddddd -+ - abcdefghijklm - abcdefghijklm - abcdefghijklm -*** ../vim-7.4.084/src/testdir/test39.ok 2013-11-04 01:41:11.000000000 +0100 ---- src/testdir/test39.ok 2013-11-11 01:20:51.000000000 +0100 -*************** -*** 3,8 **** ---- 3,13 ---- - axyzqqqqef mno ghijklm - axyzqqqqefgmnoklm - abcdqqqqijklm -+ aaa aaa -+ bbb bbb -+ ccc ccc -+ ddd ddd -+ - the YOUTUSSEUU end - - yOUSSTUSSEXu - - THE YOUTUSSEUU END -*** ../vim-7.4.084/src/version.c 2013-11-11 01:05:43.000000000 +0100 ---- src/version.c 2013-11-11 01:18:01.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 85, - /**/ - --- -SOLDIER: What? Ridden on a horse? -ARTHUR: Yes! -SOLDIER: You're using coconuts! - "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 /// diff --git a/7.4.086 b/7.4.086 deleted file mode 100644 index 46f9eb90..00000000 --- a/7.4.086 +++ /dev/null @@ -1,145 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.086 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.086 -Problem: Skipping over an expression when not evaluating it does not work - properly for dict members. -Solution: Skip over unrecognized expression. (ZyX) -Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok - - -*** ../vim-7.4.085/src/eval.c 2013-11-08 04:30:06.000000000 +0100 ---- src/eval.c 2013-11-11 04:11:38.000000000 +0100 -*************** -*** 19845,19868 **** - while (ret == OK - && (**arg == '[' - || (**arg == '.' && rettv->v_type == VAR_DICT) -! || (**arg == '(' && rettv->v_type == VAR_FUNC)) - && !vim_iswhite(*(*arg - 1))) - { - if (**arg == '(') - { - /* need to copy the funcref so that we can clear rettv */ -! functv = *rettv; -! rettv->v_type = VAR_UNKNOWN; - -! /* Invoke the function. Recursive! */ -! s = functv.vval.v_string; - ret = get_func_tv(s, (int)STRLEN(s), rettv, arg, - curwin->w_cursor.lnum, curwin->w_cursor.lnum, - &len, evaluate, selfdict); - - /* Clear the funcref afterwards, so that deleting it while - * evaluating the arguments is possible (see test55). */ -! clear_tv(&functv); - - /* Stop the expression evaluation when immediately aborting on - * error, or when an interrupt occurred or an exception was thrown ---- 19845,19874 ---- - while (ret == OK - && (**arg == '[' - || (**arg == '.' && rettv->v_type == VAR_DICT) -! || (**arg == '(' && (!evaluate || rettv->v_type == VAR_FUNC))) - && !vim_iswhite(*(*arg - 1))) - { - if (**arg == '(') - { - /* need to copy the funcref so that we can clear rettv */ -! if (evaluate) -! { -! functv = *rettv; -! rettv->v_type = VAR_UNKNOWN; - -! /* Invoke the function. Recursive! */ -! s = functv.vval.v_string; -! } -! else -! s = (char_u *)""; - ret = get_func_tv(s, (int)STRLEN(s), rettv, arg, - curwin->w_cursor.lnum, curwin->w_cursor.lnum, - &len, evaluate, selfdict); - - /* Clear the funcref afterwards, so that deleting it while - * evaluating the arguments is possible (see test55). */ -! if (evaluate) -! clear_tv(&functv); - - /* Stop the expression evaluation when immediately aborting on - * error, or when an interrupt occurred or an exception was thrown -*** ../vim-7.4.085/src/testdir/test34.in 2012-07-16 16:51:29.000000000 +0200 ---- src/testdir/test34.in 2013-11-11 04:10:13.000000000 +0100 -*************** -*** 1,6 **** ---- 1,7 ---- - Test for user functions. - Also test an mapping calling a function. - Also test that a builtin function cannot be replaced. -+ Also test for regression when calling arbitrary expression. - - STARTTEST - :so small.vim -*************** -*** 62,68 **** - [(one again:call append(line('$'), max([1, 2, 3])) - :call extend(g:, {'max': function('min')}) - :call append(line('$'), max([1, 2, 3])) -! :$-7,$w! test.out - :delfunc Table - :delfunc Compute - :delfunc Expr1 ---- 63,79 ---- - [(one again:call append(line('$'), max([1, 2, 3])) - :call extend(g:, {'max': function('min')}) - :call append(line('$'), max([1, 2, 3])) -! :try -! : " Regression: the first line below used to throw ?E110: Missing ')'? -! : " Second is here just to prove that this line is correct when not skipping -! : " rhs of &&. -! : $put =(0&&(function('tr'))(1, 2, 3)) -! : $put =(1&&(function('tr'))(1, 2, 3)) -! :catch -! : $put ='!!! Unexpected exception:' -! : $put =v:exception -! :endtry -! :$-9,$w! test.out - :delfunc Table - :delfunc Compute - :delfunc Expr1 -*** ../vim-7.4.085/src/testdir/test34.ok 2012-07-16 16:43:15.000000000 +0200 ---- src/testdir/test34.ok 2013-11-11 04:10:13.000000000 +0100 -*************** -*** 6,8 **** ---- 6,10 ---- - 1. one again - 3 - 3 -+ 0 -+ 1 -*** ../vim-7.4.085/src/version.c 2013-11-11 01:29:16.000000000 +0100 ---- src/version.c 2013-11-11 04:15:59.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 86, - /**/ - --- -ARTHUR: The swallow may fly south with the sun, or the house martin or the - plover seek warmer hot lands in winter, yet these are not strangers to - our land. -SOLDIER: Are you suggesting coconuts migrate? - "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 /// diff --git a/7.4.087 b/7.4.087 deleted file mode 100644 index b8c1a48a..00000000 --- a/7.4.087 +++ /dev/null @@ -1,56 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.087 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.087 -Problem: Compiler warning on 64 bit Windows systems. -Solution: Fix type cast. (Mike Williams) -Files: src/ops.c - - -*** ../vim-7.4.086/src/ops.c 2013-11-11 01:29:16.000000000 +0100 ---- src/ops.c 2013-11-11 23:16:06.000000000 +0100 -*************** -*** 2193,2199 **** - else - { - /* Replacing with \r or \n means splitting the line. */ -! after_p = alloc_check((unsigned)oldlen + 1 + n - STRLEN(newp)); - if (after_p != NULL) - STRMOVE(after_p, oldp); - } ---- 2193,2200 ---- - else - { - /* Replacing with \r or \n means splitting the line. */ -! after_p = alloc_check( -! (unsigned)(oldlen + 1 + n - STRLEN(newp))); - if (after_p != NULL) - STRMOVE(after_p, oldp); - } -*** ../vim-7.4.086/src/version.c 2013-11-11 04:25:48.000000000 +0100 ---- src/version.c 2013-11-11 23:16:23.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 87, - /**/ - - --- -SECOND SOLDIER: It could be carried by an African swallow! -FIRST SOLDIER: Oh yes! An African swallow maybe ... but not a European - swallow. that's my point. - "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 /// diff --git a/7.4.088 b/7.4.088 deleted file mode 100644 index 62dc91ca..00000000 --- a/7.4.088 +++ /dev/null @@ -1,564 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.088 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.088 -Problem: When spell checking is enabled Asian characters are always marked - as error. -Solution: When 'spelllang' contains "cjk" do not mark Asian characters as - error. (Ken Takata) -Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/mbyte.c, - src/option.c, src/spell.c, src/structs.h - - -*** ../vim-7.4.087/runtime/doc/options.txt 2013-11-06 05:26:08.000000000 +0100 ---- runtime/doc/options.txt 2013-11-12 04:00:51.000000000 +0100 -*************** -*** 6555,6560 **** ---- 6555,6563 ---- - region by listing them: "en_us,en_ca" supports both US and Canadian - English, but not words specific for Australia, New Zealand or Great - Britain. -+ If the name "cjk" is included East Asian characters are excluded from -+ spell checking. This is useful when editing text that also has Asian -+ words. - *E757* - As a special case the name of a .spl file can be given as-is. The - first "_xx" in the name is removed and used as the region name -*** ../vim-7.4.087/runtime/doc/spell.txt 2013-08-10 13:25:01.000000000 +0200 ---- runtime/doc/spell.txt 2013-11-12 04:02:27.000000000 +0100 -*************** -*** 269,274 **** ---- 269,281 ---- - latin1 yi transliterated Yiddish - utf-8 yi-tr transliterated Yiddish - -+ *spell-cjk* -+ Chinese, Japanese and other East Asian characters are normally marked as -+ errors, because spell checking of these characters is not supported. If -+ 'spelllang' includes "cjk", these characters are not marked as errors. This -+ is useful when editing text with spell checking while some Asian words are -+ present. -+ - - SPELL FILES *spell-load* - -*** ../vim-7.4.087/src/mbyte.c 2013-07-05 20:07:21.000000000 +0200 ---- src/mbyte.c 2013-11-12 03:55:50.000000000 +0100 -*************** -*** 947,954 **** - { - case 0x2121: /* ZENKAKU space */ - return 0; -! case 0x2122: /* KU-TEN (Japanese comma) */ -! case 0x2123: /* TOU-TEN (Japanese period) */ - case 0x2124: /* ZENKAKU comma */ - case 0x2125: /* ZENKAKU period */ - return 1; ---- 947,954 ---- - { - case 0x2121: /* ZENKAKU space */ - return 0; -! case 0x2122: /* TOU-TEN (Japanese comma) */ -! case 0x2123: /* KU-TEN (Japanese period) */ - case 0x2124: /* ZENKAKU comma */ - case 0x2125: /* ZENKAKU period */ - return 1; -*************** -*** 2477,2485 **** - /* sorted list of non-overlapping intervals */ - static struct clinterval - { -! unsigned short first; -! unsigned short last; -! unsigned short class; - } classes[] = - { - {0x037e, 0x037e, 1}, /* Greek question mark */ ---- 2477,2485 ---- - /* sorted list of non-overlapping intervals */ - static struct clinterval - { -! unsigned int first; -! unsigned int last; -! unsigned int class; - } classes[] = - { - {0x037e, 0x037e, 1}, /* Greek question mark */ -*************** -*** 2544,2549 **** ---- 2544,2553 ---- - {0xff1a, 0xff20, 1}, /* half/fullwidth ASCII */ - {0xff3b, 0xff40, 1}, /* half/fullwidth ASCII */ - {0xff5b, 0xff65, 1}, /* half/fullwidth ASCII */ -+ {0x20000, 0x2a6df, 0x4e00}, /* CJK Ideographs */ -+ {0x2a700, 0x2b73f, 0x4e00}, /* CJK Ideographs */ -+ {0x2b740, 0x2b81f, 0x4e00}, /* CJK Ideographs */ -+ {0x2f800, 0x2fa1f, 0x4e00}, /* CJK Ideographs */ - }; - int bot = 0; - int top = sizeof(classes) / sizeof(struct clinterval) - 1; -*************** -*** 2563,2571 **** - while (top >= bot) - { - mid = (bot + top) / 2; -! if (classes[mid].last < c) - bot = mid + 1; -! else if (classes[mid].first > c) - top = mid - 1; - else - return (int)classes[mid].class; ---- 2567,2575 ---- - while (top >= bot) - { - mid = (bot + top) / 2; -! if (classes[mid].last < (unsigned int)c) - bot = mid + 1; -! else if (classes[mid].first > (unsigned int)c) - top = mid - 1; - else - return (int)classes[mid].class; -*** ../vim-7.4.087/src/option.c 2013-11-08 04:30:06.000000000 +0100 ---- src/option.c 2013-11-12 04:34:46.000000000 +0100 -*************** -*** 7122,7127 **** ---- 7122,7132 ---- - if (varp == &(curwin->w_s->b_p_spl)) - { - char_u fname[200]; -+ char_u *q = curwin->w_s->b_p_spl; -+ -+ /* Skip the first name if it is "cjk". */ -+ if (STRNCMP(q, "cjk,", 4) == 0) -+ q += 4; - - /* - * Source the spell/LANG.vim in 'runtimepath'. -*************** -*** 7129,7139 **** - * Use the first name in 'spelllang' up to '_region' or - * '.encoding'. - */ -! for (p = curwin->w_s->b_p_spl; *p != NUL; ++p) - if (vim_strchr((char_u *)"_.,", *p) != NULL) - break; -! vim_snprintf((char *)fname, 200, "spell/%.*s.vim", -! (int)(p - curwin->w_s->b_p_spl), curwin->w_s->b_p_spl); - source_runtime(fname, TRUE); - } - #endif ---- 7134,7143 ---- - * Use the first name in 'spelllang' up to '_region' or - * '.encoding'. - */ -! for (p = q; *p != NUL; ++p) - if (vim_strchr((char_u *)"_.,", *p) != NULL) - break; -! vim_snprintf((char *)fname, 200, "spell/%.*s.vim", (int)(p - q), q); - source_runtime(fname, TRUE); - } - #endif -*** ../vim-7.4.087/src/spell.c 2013-09-29 13:38:25.000000000 +0200 ---- src/spell.c 2013-11-12 04:37:33.000000000 +0100 -*************** -*** 754,762 **** - static void clear_spell_chartab __ARGS((spelltab_T *sp)); - static int set_spell_finish __ARGS((spelltab_T *new_st)); - static int spell_iswordp __ARGS((char_u *p, win_T *wp)); -! static int spell_iswordp_nmw __ARGS((char_u *p)); - #ifdef FEAT_MBYTE -! static int spell_mb_isword_class __ARGS((int cl)); - static int spell_iswordp_w __ARGS((int *p, win_T *wp)); - #endif - static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap)); ---- 754,762 ---- - static void clear_spell_chartab __ARGS((spelltab_T *sp)); - static int set_spell_finish __ARGS((spelltab_T *new_st)); - static int spell_iswordp __ARGS((char_u *p, win_T *wp)); -! static int spell_iswordp_nmw __ARGS((char_u *p, win_T *wp)); - #ifdef FEAT_MBYTE -! static int spell_mb_isword_class __ARGS((int cl, win_T *wp)); - static int spell_iswordp_w __ARGS((int *p, win_T *wp)); - #endif - static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap)); -*************** -*** 1149,1155 **** - - /* When we are at a non-word character there is no error, just - * skip over the character (try looking for a word after it). */ -! else if (!spell_iswordp_nmw(ptr)) - { - if (capcol != NULL && wp->w_s->b_cap_prog != NULL) - { ---- 1149,1155 ---- - - /* When we are at a non-word character there is no error, just - * skip over the character (try looking for a word after it). */ -! else if (!spell_iswordp_nmw(ptr, wp)) - { - if (capcol != NULL && wp->w_s->b_cap_prog != NULL) - { -*************** -*** 1561,1567 **** - * accept a no-caps word, even when the dictionary - * word specifies ONECAP. */ - mb_ptr_back(mip->mi_word, p); -! if (spell_iswordp_nmw(p) - ? capflags == WF_ONECAP - : (flags & WF_ONECAP) != 0 - && capflags != WF_ONECAP) ---- 1561,1567 ---- - * accept a no-caps word, even when the dictionary - * word specifies ONECAP. */ - mb_ptr_back(mip->mi_word, p); -! if (spell_iswordp_nmw(p, mip->mi_win) - ? capflags == WF_ONECAP - : (flags & WF_ONECAP) != 0 - && capflags != WF_ONECAP) -*************** -*** 4234,4240 **** - if (spl_copy == NULL) - goto theend; - -! /* loop over comma separated language names. */ - for (splp = spl_copy; *splp != NUL; ) - { - /* Get one language name. */ ---- 4234,4242 ---- - if (spl_copy == NULL) - goto theend; - -! wp->w_s->b_cjk = 0; -! -! /* Loop over comma separated language names. */ - for (splp = spl_copy; *splp != NUL; ) - { - /* Get one language name. */ -*************** -*** 4242,4247 **** ---- 4244,4255 ---- - region = NULL; - len = (int)STRLEN(lang); - -+ if (STRCMP(lang, "cjk") == 0) -+ { -+ wp->w_s->b_cjk = 1; -+ continue; -+ } -+ - /* If the name ends in ".spl" use it as the name of the spell file. - * If there is a region name let "region" point to it and remove it - * from the name. */ -*************** -*** 4601,4607 **** - int past_second = FALSE; /* past second word char */ - - /* find first letter */ -! for (p = word; !spell_iswordp_nmw(p); mb_ptr_adv(p)) - if (end == NULL ? *p == NUL : p >= end) - return 0; /* only non-word characters, illegal word */ - #ifdef FEAT_MBYTE ---- 4609,4615 ---- - int past_second = FALSE; /* past second word char */ - - /* find first letter */ -! for (p = word; !spell_iswordp_nmw(p, curwin); mb_ptr_adv(p)) - if (end == NULL ? *p == NUL : p >= end) - return 0; /* only non-word characters, illegal word */ - #ifdef FEAT_MBYTE -*************** -*** 4617,4623 **** - * But a word with an upper char only at start is a ONECAP. - */ - for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p)) -! if (spell_iswordp_nmw(p)) - { - c = PTR2CHAR(p); - if (!SPELL_ISUPPER(c)) ---- 4625,4631 ---- - * But a word with an upper char only at start is a ONECAP. - */ - for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p)) -! if (spell_iswordp_nmw(p, curwin)) - { - c = PTR2CHAR(p); - if (!SPELL_ISUPPER(c)) -*************** -*** 9907,9913 **** - - c = mb_ptr2char(s); - if (c > 255) -! return spell_mb_isword_class(mb_get_class(s)); - return spelltab.st_isw[c]; - } - #endif ---- 9915,9921 ---- - - c = mb_ptr2char(s); - if (c > 255) -! return spell_mb_isword_class(mb_get_class(s), wp); - return spelltab.st_isw[c]; - } - #endif -*************** -*** 9920,9927 **** - * Unlike spell_iswordp() this doesn't check for "midword" characters. - */ - static int -! spell_iswordp_nmw(p) - char_u *p; - { - #ifdef FEAT_MBYTE - int c; ---- 9928,9936 ---- - * Unlike spell_iswordp() this doesn't check for "midword" characters. - */ - static int -! spell_iswordp_nmw(p, wp) - char_u *p; -+ win_T *wp; - { - #ifdef FEAT_MBYTE - int c; -*************** -*** 9930,9936 **** - { - c = mb_ptr2char(p); - if (c > 255) -! return spell_mb_isword_class(mb_get_class(p)); - return spelltab.st_isw[c]; - } - #endif ---- 9939,9945 ---- - { - c = mb_ptr2char(p); - if (c > 255) -! return spell_mb_isword_class(mb_get_class(p), wp); - return spelltab.st_isw[c]; - } - #endif -*************** -*** 9942,9952 **** - * Return TRUE if word class indicates a word character. - * Only for characters above 255. - * Unicode subscript and superscript are not considered word characters. - */ - static int -! spell_mb_isword_class(cl) -! int cl; - { - return cl >= 2 && cl != 0x2070 && cl != 0x2080; - } - ---- 9951,9966 ---- - * Return TRUE if word class indicates a word character. - * Only for characters above 255. - * Unicode subscript and superscript are not considered word characters. -+ * See also dbcs_class() and utf_class() in mbyte.c. - */ - static int -! spell_mb_isword_class(cl, wp) -! int cl; -! win_T *wp; - { -+ if (wp->w_s->b_cjk) -+ /* East Asian characters are not considered word characters. */ -+ return cl == 2 || cl == 0x2800; - return cl >= 2 && cl != 0x2070 && cl != 0x2080; - } - -*************** -*** 9971,9979 **** - if (*s > 255) - { - if (enc_utf8) -! return spell_mb_isword_class(utf_class(*s)); - if (enc_dbcs) -! return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2; - return 0; - } - return spelltab.st_isw[*s]; ---- 9985,9994 ---- - if (*s > 255) - { - if (enc_utf8) -! return spell_mb_isword_class(utf_class(*s), wp); - if (enc_dbcs) -! return spell_mb_isword_class( -! dbcs_class((unsigned)*s >> 8, *s & 0xff), wp); - return 0; - } - return spelltab.st_isw[*s]; -*************** -*** 10193,10205 **** - line = ml_get_curline(); - p = line + curwin->w_cursor.col; - /* Backup to before start of word. */ -! while (p > line && spell_iswordp_nmw(p)) - mb_ptr_back(line, p); - /* Forward to start of word. */ -! while (*p != NUL && !spell_iswordp_nmw(p)) - mb_ptr_adv(p); - -! if (!spell_iswordp_nmw(p)) /* No word found. */ - { - beep_flush(); - return; ---- 10208,10220 ---- - line = ml_get_curline(); - p = line + curwin->w_cursor.col; - /* Backup to before start of word. */ -! while (p > line && spell_iswordp_nmw(p, curwin)) - mb_ptr_back(line, p); - /* Forward to start of word. */ -! while (*p != NUL && !spell_iswordp_nmw(p, curwin)) - mb_ptr_adv(p); - -! if (!spell_iswordp_nmw(p, curwin)) /* No word found. */ - { - beep_flush(); - return; -*************** -*** 10436,10442 **** - for (;;) - { - mb_ptr_back(line, p); -! if (p == line || spell_iswordp_nmw(p)) - break; - if (vim_regexec(®match, p, 0) - && regmatch.endp[0] == line + endcol) ---- 10451,10457 ---- - for (;;) - { - mb_ptr_back(line, p); -! if (p == line || spell_iswordp_nmw(p, curwin)) - break; - if (vim_regexec(®match, p, 0) - && regmatch.endp[0] == line + endcol) -*************** -*** 11645,11651 **** - - /* When appending a compound word after a word character don't - * use Onecap. */ -! if (p != NULL && spell_iswordp_nmw(p)) - c &= ~WF_ONECAP; - make_case_word(tword + sp->ts_splitoff, - preword + sp->ts_prewordlen, c); ---- 11660,11666 ---- - - /* When appending a compound word after a word character don't - * use Onecap. */ -! if (p != NULL && spell_iswordp_nmw(p, curwin)) - c &= ~WF_ONECAP; - make_case_word(tword + sp->ts_splitoff, - preword + sp->ts_prewordlen, c); -*************** -*** 11895,11901 **** - * character when the word ends. But only when the - * good word can end. */ - if (((!try_compound && !spell_iswordp_nmw(fword -! + sp->ts_fidx)) - || fword_ends) - && fword[sp->ts_fidx] != NUL - && goodword_ends) ---- 11910,11917 ---- - * character when the word ends. But only when the - * good word can end. */ - if (((!try_compound && !spell_iswordp_nmw(fword -! + sp->ts_fidx, -! curwin)) - || fword_ends) - && fword[sp->ts_fidx] != NUL - && goodword_ends) -*************** -*** 14226,14232 **** - } - else - { -! if (spell_iswordp_nmw(s)) - *t++ = *s; - ++s; - } ---- 14242,14248 ---- - } - else - { -! if (spell_iswordp_nmw(s, curwin)) - *t++ = *s; - ++s; - } -*************** -*** 14521,14527 **** - else - { - did_white = FALSE; -! if (!spell_iswordp_nmw(t)) - continue; - } - } ---- 14537,14543 ---- - else - { - did_white = FALSE; -! if (!spell_iswordp_nmw(t, curwin)) - continue; - } - } -*************** -*** 16045,16051 **** - for (p = line + startcol; p > line; ) - { - mb_ptr_back(line, p); -! if (spell_iswordp_nmw(p)) - break; - } - ---- 16061,16067 ---- - for (p = line + startcol; p > line; ) - { - mb_ptr_back(line, p); -! if (spell_iswordp_nmw(p, curwin)) - break; - } - -*** ../vim-7.4.087/src/structs.h 2013-11-09 05:30:18.000000000 +0100 ---- src/structs.h 2013-11-12 03:55:50.000000000 +0100 -*************** -*** 1310,1315 **** ---- 1310,1318 ---- - regprog_T *b_cap_prog; /* program for 'spellcapcheck' */ - char_u *b_p_spf; /* 'spellfile' */ - char_u *b_p_spl; /* 'spelllang' */ -+ # ifdef FEAT_MBYTE -+ int b_cjk; /* all CJK letters as OK */ -+ # endif - #endif - #if !defined(FEAT_SYN_HL) && !defined(FEAT_SPELL) - int dummy; -*** ../vim-7.4.087/src/version.c 2013-11-11 23:17:31.000000000 +0100 ---- src/version.c 2013-11-12 03:59:03.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 88, - /**/ - --- -THEOREM: VI is perfect. -PROOF: VI in roman numerals is 6. The natural numbers < 6 which divide 6 are -1, 2, and 3. 1+2+3 = 6. So 6 is a perfect number. Therefore, VI is perfect. -QED - -- Arthur Tateishi - - /// 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 /// diff --git a/7.4.089 b/7.4.089 deleted file mode 100644 index 80697cef..00000000 --- a/7.4.089 +++ /dev/null @@ -1,47 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.089 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.089 -Problem: When editing a file in a directory mounted through sshfs Vim - doesn't set the security context on a renamed file. -Solution: Add mch_copy_sec() to vim_rename(). (Peter Backes) -Files: src/fileio.c - - -*** ../vim-7.4.088/src/fileio.c 2013-08-30 17:06:56.000000000 +0200 ---- src/fileio.c 2013-11-12 05:07:22.000000000 +0100 -*************** -*** 6707,6712 **** ---- 6707,6715 ---- - mch_set_acl(to, acl); - mch_free_acl(acl); - #endif -+ #ifdef HAVE_SELINUX -+ mch_copy_sec(from, to) -+ #endif - if (errmsg != NULL) - { - EMSG2(errmsg, to); -*** ../vim-7.4.088/src/version.c 2013-11-12 04:43:57.000000000 +0100 ---- src/version.c 2013-11-12 05:11:02.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 89, - /**/ - --- -Kiss me twice. I'm schizophrenic. - - /// 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 /// diff --git a/7.4.090 b/7.4.090 deleted file mode 100644 index a7ee9275..00000000 --- a/7.4.090 +++ /dev/null @@ -1,223 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.090 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.090 -Problem: Win32: When a directory name contains an exclamation mark, - completion doesn't complete the contents of the directory. -Solution: Escape the exclamation mark. (Jan Stocker) -Files: src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - - -*** ../vim-7.4.089/src/ex_getln.c 2013-11-09 05:30:18.000000000 +0100 ---- src/ex_getln.c 2013-11-12 05:23:15.000000000 +0100 -*************** -*** 3852,3860 **** - char_u buf[20]; - int j = 0; - -! /* Don't escape '[' and '{' if they are in 'isfname'. */ - for (p = PATH_ESC_CHARS; *p != NUL; ++p) -! if ((*p != '[' && *p != '{') || !vim_isfilec(*p)) - buf[j++] = *p; - buf[j] = NUL; - p = vim_strsave_escaped(fname, buf); ---- 3852,3860 ---- - char_u buf[20]; - int j = 0; - -! /* Don't escape '[', '{' and '!' if they are in 'isfname'. */ - for (p = PATH_ESC_CHARS; *p != NUL; ++p) -! if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p)) - buf[j++] = *p; - buf[j] = NUL; - p = vim_strsave_escaped(fname, buf); -*** ../vim-7.4.089/src/testdir/test102.in 2013-11-12 05:27:48.000000000 +0100 ---- src/testdir/test102.in 2013-11-12 05:21:26.000000000 +0100 -*************** -*** 0 **** ---- 1,12 ---- -+ Test if fnameescape is correct for special chars like ! -+ -+ STARTTEST -+ :%d -+ :let fname = 'Xspa ce' -+ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry -+ :let fname = 'Xemark!' -+ :try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry -+ :w! test.out -+ :qa! -+ ENDTEST -+ -*** ../vim-7.4.089/src/testdir/test102.ok 2013-11-12 05:27:48.000000000 +0100 ---- src/testdir/test102.ok 2013-11-12 05:21:19.000000000 +0100 -*************** -*** 0 **** ---- 1,3 ---- -+ -+ Space -+ ExclamationMark -*** ../vim-7.4.089/src/testdir/Make_amiga.mak 2013-11-08 04:30:06.000000000 +0100 ---- src/testdir/Make_amiga.mak 2013-11-12 05:20:03.000000000 +0100 -*************** -*** 34,40 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out - - .SUFFIXES: .in .out - ---- 34,40 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out - - .SUFFIXES: .in .out - -*************** -*** 152,154 **** ---- 152,155 ---- - test99.out: test99.in - test100.out: test100.in - test101.out: test101.in -+ test102.out: test102.in -*** ../vim-7.4.089/src/testdir/Make_dos.mak 2013-11-08 04:30:06.000000000 +0100 ---- src/testdir/Make_dos.mak 2013-11-12 05:20:10.000000000 +0100 -*************** -*** 33,39 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out - - SCRIPTS32 = test50.out test70.out - ---- 33,39 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.089/src/testdir/Make_ming.mak 2013-11-08 04:30:06.000000000 +0100 ---- src/testdir/Make_ming.mak 2013-11-12 05:20:14.000000000 +0100 -*************** -*** 53,59 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out test101.out - - SCRIPTS32 = test50.out test70.out - ---- 53,59 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out test101.out test102.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.089/src/testdir/Make_os2.mak 2013-11-08 04:30:06.000000000 +0100 ---- src/testdir/Make_os2.mak 2013-11-12 05:20:18.000000000 +0100 -*************** -*** 35,41 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out - - .SUFFIXES: .in .out - ---- 35,41 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.089/src/testdir/Make_vms.mms 2013-11-08 04:30:06.000000000 +0100 ---- src/testdir/Make_vms.mms 2013-11-12 05:20:21.000000000 +0100 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 08 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 12 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 79,85 **** - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 79,85 ---- - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.089/src/testdir/Makefile 2013-11-08 04:30:06.000000000 +0100 ---- src/testdir/Makefile 2013-11-12 05:20:32.000000000 +0100 -*************** -*** 30,36 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out - - SCRIPTS_GUI = test16.out - ---- 30,36 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.089/src/version.c 2013-11-12 05:11:58.000000000 +0100 ---- src/version.c 2013-11-12 05:24:24.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 90, - /**/ - --- -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 /// diff --git a/7.4.091 b/7.4.091 deleted file mode 100644 index 230601df..00000000 --- a/7.4.091 +++ /dev/null @@ -1,59 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.091 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.091 (after 7.4.089) -Problem: Missing semicolon. -Solution: Add the semicolon. -Files: src/fileio.c - - -*** ../vim-7.4.090/src/fileio.c 2013-11-12 05:11:58.000000000 +0100 ---- src/fileio.c 2013-11-12 18:07:47.000000000 +0100 -*************** -*** 6708,6714 **** - mch_free_acl(acl); - #endif - #ifdef HAVE_SELINUX -! mch_copy_sec(from, to) - #endif - if (errmsg != NULL) - { ---- 6708,6714 ---- - mch_free_acl(acl); - #endif - #ifdef HAVE_SELINUX -! mch_copy_sec(from, to); - #endif - if (errmsg != NULL) - { -*** ../vim-7.4.090/src/version.c 2013-11-12 05:28:08.000000000 +0100 ---- src/version.c 2013-11-12 18:08:33.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 91, - /**/ - --- -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 /// diff --git a/7.4.092 b/7.4.092 deleted file mode 100644 index e74888eb..00000000 --- a/7.4.092 +++ /dev/null @@ -1,62 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.092 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.092 (after 7.4.088) -Problem: Can't build small version. -Solution: Add #ifdef where the b_cjk flag is used. (Ken Takata) -Files: src/spell.c - - -*** ../vim-7.4.091/src/spell.c 2013-11-12 04:43:57.000000000 +0100 ---- src/spell.c 2013-11-14 03:51:24.000000000 +0100 -*************** -*** 4234,4240 **** ---- 4234,4242 ---- - if (spl_copy == NULL) - goto theend; - -+ #ifdef FEAT_MBYTE - wp->w_s->b_cjk = 0; -+ #endif - - /* Loop over comma separated language names. */ - for (splp = spl_copy; *splp != NUL; ) -*************** -*** 4246,4252 **** ---- 4248,4256 ---- - - if (STRCMP(lang, "cjk") == 0) - { -+ #ifdef FEAT_MBYTE - wp->w_s->b_cjk = 1; -+ #endif - continue; - } - -*** ../vim-7.4.091/src/version.c 2013-11-12 18:09:20.000000000 +0100 ---- src/version.c 2013-11-14 03:52:18.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 92, - /**/ - --- -ARTHUR: Old woman! -DENNIS: Man! -ARTHUR: Man. I'm sorry. Old man, What knight live in that castle over there? -DENNIS: I'm thirty-seven. - "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 /// diff --git a/7.4.093 b/7.4.093 deleted file mode 100644 index 24da0a8f..00000000 --- a/7.4.093 +++ /dev/null @@ -1,72 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.093 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.093 -Problem: Configure can't use LuaJIT on ubuntu 12.04. -Solution: Adjust the configure regexp that locates the version number. - (Charles Strahan) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.4.092/src/configure.in 2013-11-04 04:57:46.000000000 +0100 ---- src/configure.in 2013-11-17 20:12:04.000000000 +0100 -*************** -*** 496,502 **** - if test "X$vi_cv_path_luajit" != "X"; then - dnl -- find LuaJIT version - AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, -! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]] .*/\1/'` ]) - AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, - [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) - vi_cv_path_lua="$vi_cv_path_luajit" ---- 496,502 ---- - if test "X$vi_cv_path_luajit" != "X"; then - dnl -- find LuaJIT version - AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, -! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ]) - AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, - [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) - vi_cv_path_lua="$vi_cv_path_luajit" -*** ../vim-7.4.092/src/auto/configure 2013-11-04 04:57:46.000000000 +0100 ---- src/auto/configure 2013-11-17 20:13:30.000000000 +0100 -*************** -*** 4743,4749 **** - if test "${vi_cv_version_luajit+set}" = set; then : - $as_echo_n "(cached) " >&6 - else -! vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([0-9.]*\)\.[0-9] .*/\1/'` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 - $as_echo "$vi_cv_version_luajit" >&6; } ---- 4743,4749 ---- - if test "${vi_cv_version_luajit+set}" = set; then : - $as_echo_n "(cached) " >&6 - else -! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 - $as_echo "$vi_cv_version_luajit" >&6; } -*** ../vim-7.4.092/src/version.c 2013-11-14 03:54:02.000000000 +0100 ---- src/version.c 2013-11-17 20:13:43.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 93, - /**/ - --- -"Beware of bugs in the above code; I have only proved -it correct, not tried it." -- Donald Knuth - - /// 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 /// diff --git a/7.4.094 b/7.4.094 deleted file mode 100644 index 96ebc4d4..00000000 --- a/7.4.094 +++ /dev/null @@ -1,139 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.094 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.094 -Problem: Configure may not find that -lint is needed for gettext(). -Solution: Check for gettext() with empty $LIBS. (Thomas De Schampheleire) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.4.093/src/configure.in 2013-11-17 20:17:05.000000000 +0100 ---- src/configure.in 2013-11-17 20:23:49.000000000 +0100 -*************** -*** 3725,3730 **** ---- 3725,3733 ---- - fi - - dnl Check if gettext() is working and if it needs -lintl -+ dnl We take care to base this on an empty LIBS: on some systems libelf would be -+ dnl in LIBS and implicitly take along libintl. The final LIBS would then not -+ dnl contain libintl, and the link step would fail due to -Wl,--as-needed. - AC_MSG_CHECKING(--disable-nls argument) - AC_ARG_ENABLE(nls, - [ --disable-nls Don't support NLS (gettext()).], , -*************** -*** 3743,3758 **** - if test -f po/Makefile; then - have_gettext="no" - if test -n "$MSGFMT"; then - AC_TRY_LINK( - [#include ], - [gettext("Test");], -! AC_MSG_RESULT([gettext() works]); have_gettext="yes", -! olibs=$LIBS -! LIBS="$LIBS -lintl" - AC_TRY_LINK( - [#include ], - [gettext("Test");], -! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes", - AC_MSG_RESULT([gettext() doesn't work]); - LIBS=$olibs)) - else ---- 3746,3763 ---- - if test -f po/Makefile; then - have_gettext="no" - if test -n "$MSGFMT"; then -+ olibs=$LIBS -+ LIBS="" - AC_TRY_LINK( - [#include ], - [gettext("Test");], -! AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs, -! LIBS="-lintl" - AC_TRY_LINK( - [#include ], - [gettext("Test");], -! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes"; -! LIBS="$olibs -lintl", - AC_MSG_RESULT([gettext() doesn't work]); - LIBS=$olibs)) - else -*** ../vim-7.4.093/src/auto/configure 2013-11-17 20:17:05.000000000 +0100 ---- src/auto/configure 2013-11-17 20:25:13.000000000 +0100 -*************** -*** 12690,12695 **** ---- 12690,12697 ---- - if test -f po/Makefile; then - have_gettext="no" - if test -n "$MSGFMT"; then -+ olibs=$LIBS -+ LIBS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include -*************** -*** 12703,12712 **** - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5 -! $as_echo "gettext() works" >&6; }; have_gettext="yes" - else -! olibs=$LIBS -! LIBS="$LIBS -lintl" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include ---- 12705,12713 ---- - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5 -! $as_echo "gettext() works" >&6; }; have_gettext="yes"; LIBS=$olibs - else -! LIBS="-lintl" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include -*************** -*** 12720,12726 **** - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5 -! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5 - $as_echo "gettext() doesn't work" >&6; }; ---- 12721,12728 ---- - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5 -! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"; -! LIBS="$olibs -lintl" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5 - $as_echo "gettext() doesn't work" >&6; }; -*** ../vim-7.4.093/src/version.c 2013-11-17 20:17:05.000000000 +0100 ---- src/version.c 2013-11-17 20:27:43.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 94, - /**/ - --- -BLACK KNIGHT: The Black Knight always triumphs. Have at you! - ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright. -BLACK KNIGHT: All right, we'll call it a draw. - "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 /// diff --git a/7.4.095 b/7.4.095 deleted file mode 100644 index f7abfcaf..00000000 --- a/7.4.095 +++ /dev/null @@ -1,73 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.095 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.095 (after 7.4.093) -Problem: Regexp for LuaJIT version doesn't work on BSD. -Solution: Use "*" instead of "\+" and "\?". (Ozaki) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.4.094/src/configure.in 2013-11-17 20:32:49.000000000 +0100 ---- src/configure.in 2013-11-21 12:04:46.000000000 +0100 -*************** -*** 496,502 **** - if test "X$vi_cv_path_luajit" != "X"; then - dnl -- find LuaJIT version - AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, -! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ]) - AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, - [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) - vi_cv_path_lua="$vi_cv_path_luajit" ---- 496,502 ---- - if test "X$vi_cv_path_luajit" != "X"; then - dnl -- find LuaJIT version - AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, -! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]*\)* .*/\1/'` ]) - AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, - [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) - vi_cv_path_lua="$vi_cv_path_luajit" -*** ../vim-7.4.094/src/auto/configure 2013-11-17 20:32:49.000000000 +0100 ---- src/auto/configure 2013-11-21 12:07:39.000000000 +0100 -*************** -*** 4743,4749 **** - if test "${vi_cv_version_luajit+set}" = set; then : - $as_echo_n "(cached) " >&6 - else -! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 - $as_echo "$vi_cv_version_luajit" >&6; } ---- 4743,4749 ---- - if test "${vi_cv_version_luajit+set}" = set; then : - $as_echo_n "(cached) " >&6 - else -! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 - $as_echo "$vi_cv_version_luajit" >&6; } -*** ../vim-7.4.094/src/version.c 2013-11-17 20:32:49.000000000 +0100 ---- src/version.c 2013-11-21 12:06:26.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 95, - /**/ - --- -Our job was to build a computer information system for the branch banks. We -were the perfect people for the job: Dean had seen a computer once, and I had -heard Dean talk about it. - (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 /// diff --git a/7.4.096 b/7.4.096 deleted file mode 100644 index be20959b..00000000 --- a/7.4.096 +++ /dev/null @@ -1,96 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.096 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.096 -Problem: Can't change directory to an UNC path. -Solution: Use win32_getattrs() in mch_getperm(). (Christian Brabandt) -Files: src/os_win32.c - - -*** ../vim-7.4.095/src/os_win32.c 2013-09-25 19:13:32.000000000 +0200 ---- src/os_win32.c 2013-11-21 12:31:52.000000000 +0100 -*************** -*** 2841,2858 **** - } - - /* -! * get file permissions for `name' -! * -1 : error -! * else mode_t - */ - long - mch_getperm(char_u *name) - { - struct stat st; -! int n; - - n = mch_stat(name, &st); -! return n == 0 ? (int)st.st_mode : -1; - } - - ---- 2841,2860 ---- - } - - /* -! * Get file permissions for "name". -! * Return mode_t or -1 for error. - */ - long - mch_getperm(char_u *name) - { - struct stat st; -! int n; - -+ if (name[0] == '\\' && name[1] == '\\') -+ /* UNC path */ -+ return (long)win32_getattrs(name); - n = mch_stat(name, &st); -! return n == 0 ? (long)st.st_mode : -1L; - } - - -*************** -*** 3094,3101 **** - * -1 : error - * else FILE_ATTRIBUTE_* defined in winnt.h - */ -! static -! int - win32_getattrs(char_u *name) - { - int attr; ---- 3096,3102 ---- - * -1 : error - * else FILE_ATTRIBUTE_* defined in winnt.h - */ -! static int - win32_getattrs(char_u *name) - { - int attr; -*** ../vim-7.4.095/src/version.c 2013-11-21 12:17:46.000000000 +0100 ---- src/version.c 2013-11-21 12:32:46.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 96, - /**/ - --- -If your company is not involved in something called "ISO 9000" you probably -have no idea what it is. If your company _is_ involved in ISO 9000 then you -definitely have no idea what it is. - (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 /// diff --git a/7.4.097 b/7.4.097 deleted file mode 100644 index cfb61839..00000000 --- a/7.4.097 +++ /dev/null @@ -1,50 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.097 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.097 (after 7.4.034) -Problem: Unexpected behavior change related to 'virtualedit'. (Ingo Karkat) -Solution: Update the valid cursor position. (Christian Brabandt) -Files: src/ops.c - - -*** ../vim-7.4.096/src/ops.c 2013-11-11 23:17:31.000000000 +0100 ---- src/ops.c 2013-11-21 13:21:24.000000000 +0100 -*************** -*** 3844,3850 **** ---- 3844,3854 ---- - ml_replace(lnum, newp, FALSE); - /* Place cursor on last putted char. */ - if (lnum == curwin->w_cursor.lnum) -+ { -+ /* make sure curwin->w_virtcol is updated */ -+ changed_cline_bef_curs(); - curwin->w_cursor.col += (colnr_T)(totlen - 1); -+ } - } - #ifdef FEAT_VISUAL - if (VIsual_active) -*** ../vim-7.4.096/src/version.c 2013-11-21 12:34:07.000000000 +0100 ---- src/version.c 2013-11-21 13:08:27.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 97, - /**/ - --- -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 /// diff --git a/7.4.098 b/7.4.098 deleted file mode 100644 index 78af90e2..00000000 --- a/7.4.098 +++ /dev/null @@ -1,243 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.098 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.098 -Problem: When using ":'<,'>del" errors may be given for the visual line - numbers being out of range. -Solution: Reset Visual mode in ":del". (Lech Lorens) -Files: src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - - -*** ../vim-7.4.097/src/ex_docmd.c 2013-11-09 05:30:18.000000000 +0100 ---- src/ex_docmd.c 2013-11-21 14:04:55.000000000 +0100 -*************** -*** 8570,8575 **** ---- 8570,8580 ---- - beginline(BL_SOL | BL_FIX); - } - -+ #if defined(FEAT_VISUAL) -+ if (VIsual_active) -+ end_visual_mode(); -+ #endif -+ - switch (eap->cmdidx) - { - case CMD_delete: -*** ../vim-7.4.097/src/testdir/test103.in 2013-11-21 14:21:12.000000000 +0100 ---- src/testdir/test103.in 2013-11-21 14:02:09.000000000 +0100 -*************** -*** 0 **** ---- 1,37 ---- -+ Test for visual mode not being reset causing E315 error. -+ STARTTEST -+ :so small.vim -+ :enew -+ :let g:msg="Everything's fine." -+ :function! TriggerTheProblem() -+ : " At this point there is no visual selection because :call reset it. -+ : " Let's restore the selection: -+ : normal gv -+ : '<,'>del _ -+ : try -+ : exe "normal \" -+ : catch /^Vim\%((\a\+)\)\=:E315/ -+ : echom 'Snap! E315 error!' -+ : let g:msg='Snap! E315 error!' -+ : endtry -+ :endfunction -+ :enew -+ :setl buftype=nofile -+ :call append(line('$'), 'Delete this line.') -+ :" -+ :" -+ :" NOTE: this has to be done by a call to a function because executing :del the -+ :" ex-way will require the colon operator which resets the visual mode thus -+ :" preventing the problem: -+ :" -+ GV:call TriggerTheProblem() -+ :%del _ -+ :call append(line('$'), g:msg) -+ :w! test.out -+ :brewind -+ ENDTEST -+ -+ STARTTEST -+ :qa! -+ ENDTEST -+ -*** ../vim-7.4.097/src/testdir/test103.ok 2013-11-21 14:21:12.000000000 +0100 ---- src/testdir/test103.ok 2013-11-21 14:02:28.000000000 +0100 -*************** -*** 0 **** ---- 1,2 ---- -+ -+ Everything's fine. -*** ../vim-7.4.097/src/testdir/Make_amiga.mak 2013-11-12 05:28:08.000000000 +0100 ---- src/testdir/Make_amiga.mak 2013-11-21 14:02:51.000000000 +0100 -*************** -*** 34,40 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out - - .SUFFIXES: .in .out - ---- 34,40 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out test103.out - - .SUFFIXES: .in .out - -*************** -*** 153,155 **** ---- 153,156 ---- - test100.out: test100.in - test101.out: test101.in - test102.out: test102.in -+ test103.out: test103.in -*** ../vim-7.4.097/src/testdir/Make_dos.mak 2013-11-12 05:28:08.000000000 +0100 ---- src/testdir/Make_dos.mak 2013-11-21 14:02:58.000000000 +0100 -*************** -*** 33,39 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out - - SCRIPTS32 = test50.out test70.out - ---- 33,39 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.097/src/testdir/Make_ming.mak 2013-11-12 05:28:08.000000000 +0100 ---- src/testdir/Make_ming.mak 2013-11-21 14:03:01.000000000 +0100 -*************** -*** 53,59 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out test101.out test102.out - - SCRIPTS32 = test50.out test70.out - ---- 53,59 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out test101.out test102.out test103.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.097/src/testdir/Make_os2.mak 2013-11-12 05:28:08.000000000 +0100 ---- src/testdir/Make_os2.mak 2013-11-21 14:03:03.000000000 +0100 -*************** -*** 35,41 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out - - .SUFFIXES: .in .out - ---- 35,41 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.097/src/testdir/Make_vms.mms 2013-11-12 05:28:08.000000000 +0100 ---- src/testdir/Make_vms.mms 2013-11-21 14:03:13.000000000 +0100 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 12 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 21 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 79,85 **** - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 79,85 ---- - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.097/src/testdir/Makefile 2013-11-12 05:28:08.000000000 +0100 ---- src/testdir/Makefile 2013-11-21 14:03:23.000000000 +0100 -*************** -*** 30,36 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out - - SCRIPTS_GUI = test16.out - ---- 30,36 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out test103.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.097/src/version.c 2013-11-21 13:24:36.000000000 +0100 ---- src/version.c 2013-11-21 14:20:34.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 98, - /**/ - --- -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 /// diff --git a/7.4.099 b/7.4.099 deleted file mode 100644 index a9cf6368..00000000 --- a/7.4.099 +++ /dev/null @@ -1,113 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.099 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.099 -Problem: Append in blockwise Visual mode with "$" is wrong. -Solution: After "$" don't use the code that checks if the cursor was moved. - (Hirohito Higashi, Ken Takata) -Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok - - -*** ../vim-7.4.098/src/ops.c 2013-11-21 13:24:36.000000000 +0100 ---- src/ops.c 2013-11-21 14:33:57.000000000 +0100 -*************** -*** 2643,2649 **** - - /* The user may have moved the cursor before inserting something, try - * to adjust the block for that. */ -! if (oap->start.lnum == curbuf->b_op_start.lnum) - { - if (oap->op_type == OP_INSERT - && oap->start.col != curbuf->b_op_start.col) ---- 2643,2649 ---- - - /* The user may have moved the cursor before inserting something, try - * to adjust the block for that. */ -! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX) - { - if (oap->op_type == OP_INSERT - && oap->start.col != curbuf->b_op_start.col) -*** ../vim-7.4.098/src/testdir/test39.in 2013-11-11 01:29:16.000000000 +0100 ---- src/testdir/test39.in 2013-11-21 14:25:55.000000000 +0100 -*************** -*** 23,28 **** ---- 23,40 ---- - /^aaaa/ - :exe ":norm! l\jjjlllI\\ \" - :/^aa/,/^$/w >> test.out -+ :" Test for Visual block was created with the last $ -+ /^A23$/ -+ :exe ":norm! l\j$Aab\" -+ :.,/^$/w >> test.out -+ :" Test for Visual block was created with the middle $ (1) -+ /^B23$/ -+ :exe ":norm! l\j$hAab\" -+ :.,/^$/w >> test.out -+ :" Test for Visual block was created with the middle $ (2) -+ /^C23$/ -+ :exe ":norm! l\j$hhAab\" -+ :.,/^$/w >> test.out - :" gUe must uppercase a whole word, also when ß changes to SS - Gothe youtußeuu endYpk0wgUe - :" gUfx must uppercase until x, inclusive. -*************** -*** 49,54 **** ---- 61,75 ---- - cccccc - dddddd - -+ A23 -+ 4567 -+ -+ B23 -+ 4567 -+ -+ C23 -+ 4567 -+ - abcdefghijklm - abcdefghijklm - abcdefghijklm -*** ../vim-7.4.098/src/testdir/test39.ok 2013-11-11 01:29:16.000000000 +0100 ---- src/testdir/test39.ok 2013-11-21 14:25:10.000000000 +0100 -*************** -*** 8,13 **** ---- 8,22 ---- - ccc ccc - ddd ddd - -+ A23ab -+ 4567ab -+ -+ B23 ab -+ 4567ab -+ -+ C23ab -+ 456ab7 -+ - the YOUTUSSEUU end - - yOUSSTUSSEXu - - THE YOUTUSSEUU END -*** ../vim-7.4.098/src/version.c 2013-11-21 14:21:25.000000000 +0100 ---- src/version.c 2013-11-21 14:34:28.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 99, - /**/ - --- -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 /// diff --git a/7.4.100 b/7.4.100 deleted file mode 100644 index c3c0cb64..00000000 --- a/7.4.100 +++ /dev/null @@ -1,82 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.100 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.100 -Problem: NFA regexp doesn't handle backreference correctly. (Ryuichi - Hayashida, Urtica Dioica) -Solution: Always add NFA_SKIP, also when it already exists at the start - position. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.099/src/regexp_nfa.c 2013-10-06 15:46:06.000000000 +0200 ---- src/regexp_nfa.c 2013-11-21 15:58:58.000000000 +0100 -*************** -*** 4278,4284 **** - * endless loop for "\(\)*" */ - - default: -! if (state->lastlist[nfa_ll_index] == l->id) - { - /* This state is already in the list, don't add it again, - * unless it is an MOPEN that is used for a backreference or ---- 4278,4284 ---- - * endless loop for "\(\)*" */ - - default: -! if (state->lastlist[nfa_ll_index] == l->id && state->c != NFA_SKIP) - { - /* This state is already in the list, don't add it again, - * unless it is an MOPEN that is used for a backreference or -*** ../vim-7.4.099/src/testdir/test64.in 2013-09-25 18:16:34.000000000 +0200 ---- src/testdir/test64.in 2013-11-21 15:58:19.000000000 +0100 -*************** -*** 406,411 **** ---- 406,412 ---- - :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@ -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.101 -Problem: Using \1 in pattern goes one line too far. (Bohr Shaw, John Little) -Solution: Only advance the match end for the matched characters in the last - line. -Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.100/src/regexp.c 2013-09-19 17:03:57.000000000 +0200 ---- src/regexp.c 2013-11-21 16:58:38.000000000 +0100 -*************** -*** 6455,6461 **** - /* - * Check whether a backreference matches. - * Returns RA_FAIL, RA_NOMATCH or RA_MATCH. -! * If "bytelen" is not NULL, it is set to the bytelength of the whole match. - */ - static int - match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen) ---- 6455,6462 ---- - /* - * Check whether a backreference matches. - * Returns RA_FAIL, RA_NOMATCH or RA_MATCH. -! * If "bytelen" is not NULL, it is set to the byte length of the match in the -! * last line. - */ - static int - match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen) -*************** -*** 6511,6516 **** ---- 6512,6519 ---- - - /* Advance to next line. */ - reg_nextline(); -+ if (bytelen != NULL) -+ *bytelen = 0; - ++clnum; - ccol = 0; - if (got_int) -*** ../vim-7.4.100/src/testdir/test64.in 2013-11-21 16:03:35.000000000 +0100 ---- src/testdir/test64.in 2013-11-21 16:56:20.000000000 +0100 -*************** -*** 507,512 **** ---- 507,514 ---- - :" Check a pattern with a line break and ^ and $ - :call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']]) - :" -+ :call add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']]) -+ :" - :"""" Run the multi-line tests - :" - :$put ='multi-line tests' -*** ../vim-7.4.100/src/testdir/test64.ok 2013-11-21 16:03:35.000000000 +0100 ---- src/testdir/test64.ok 2013-11-21 16:57:41.000000000 +0100 -*************** -*** 1031,1036 **** ---- 1031,1039 ---- - OK 0 - a\n^b$\n^c - OK 1 - a\n^b$\n^c - OK 2 - a\n^b$\n^c -+ OK 0 - \(^.\+\n\)\1 -+ OK 1 - \(^.\+\n\)\1 -+ OK 2 - \(^.\+\n\)\1 - - Ta 5 - Ac 7 -*** ../vim-7.4.100/src/version.c 2013-11-21 16:03:35.000000000 +0100 ---- src/version.c 2013-11-21 16:44:00.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 101, - /**/ - --- -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 /// diff --git a/7.4.102 b/7.4.102 deleted file mode 100644 index b4134130..00000000 --- a/7.4.102 +++ /dev/null @@ -1,84 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.102 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.102 -Problem: Crash when interrupting "z=". -Solution: Add safety check for word length. (Christian Brabandt, Dominique - Pelle) -Files: src/spell.c - - -*** ../vim-7.4.101/src/spell.c 2013-11-14 03:54:02.000000000 +0100 ---- src/spell.c 2013-11-21 17:37:04.000000000 +0100 -*************** -*** 13398,13406 **** - - /* Lookup the word "orgnr" one of the two tries. */ - n = 0; -- wlen = 0; - wordcount = 0; -! for (;;) - { - i = 1; - if (wordcount == orgnr && byts[n + 1] == NUL) ---- 13398,13405 ---- - - /* Lookup the word "orgnr" one of the two tries. */ - n = 0; - wordcount = 0; -! for (wlen = 0; wlen < MAXWLEN - 3; ++wlen) - { - i = 1; - if (wordcount == orgnr && byts[n + 1] == NUL) -*************** -*** 13414,13419 **** ---- 13413,13419 ---- - if (i > byts[n]) /* safety check */ - { - STRCPY(theword + wlen, "BAD"); -+ wlen += 3; - goto badword; - } - -*************** -*** 13426,13432 **** - wordcount += wc; - } - -! theword[wlen++] = byts[n + i]; - n = idxs[n + i]; - } - badword: ---- 13426,13432 ---- - wordcount += wc; - } - -! theword[wlen] = byts[n + i]; - n = idxs[n + i]; - } - badword: -*** ../vim-7.4.101/src/version.c 2013-11-21 17:12:55.000000000 +0100 ---- src/version.c 2013-11-21 17:38:21.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 102, - /**/ - --- -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 /// diff --git a/7.4.103 b/7.4.103 deleted file mode 100644 index 4dbce997..00000000 --- a/7.4.103 +++ /dev/null @@ -1,93 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.103 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.103 -Problem: Dos installer uses an old way to escape spaces in the diff - command. -Solution: Adjust the quoting to the new default shellxquote. (Ben Fritz) -Files: src/dosinst.c - - -*** ../vim-7.4.102/src/dosinst.c 2013-11-07 04:49:23.000000000 +0100 ---- src/dosinst.c 2013-11-21 18:12:13.000000000 +0100 -*************** -*** 1192,1214 **** - fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n"); - - /* If the path has a space: When using cmd.exe (Win NT/2000/XP) put -! * quotes around the whole command and around the diff command. - * Otherwise put a double quote just before the space and at the - * end of the command. Putting quotes around the whole thing - * doesn't work on Win 95/98/ME. This is mostly guessed! */ -- fprintf(fd, " let eq = ''\n"); - fprintf(fd, " if $VIMRUNTIME =~ ' '\n"); - fprintf(fd, " if &sh =~ '\\ ' . arg3 . eq\n"); -! - fprintf(fd, "endfunction\n"); - fprintf(fd, "\n"); - } ---- 1192,1220 ---- - fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n"); - - /* If the path has a space: When using cmd.exe (Win NT/2000/XP) put -! * quotes around the diff command and rely on the default value of -! * shellxquote to solve the quoting problem for the whole command. -! * - * Otherwise put a double quote just before the space and at the - * end of the command. Putting quotes around the whole thing - * doesn't work on Win 95/98/ME. This is mostly guessed! */ - fprintf(fd, " if $VIMRUNTIME =~ ' '\n"); - fprintf(fd, " if &sh =~ '\\ ' . arg3\n"); -! fprintf(fd, " if exists('l:shxq_sav')\n"); -! fprintf(fd, " let &shellxquote=l:shxq_sav\n"); -! fprintf(fd, " endif\n"); - fprintf(fd, "endfunction\n"); - fprintf(fd, "\n"); - } -*** ../vim-7.4.102/src/version.c 2013-11-21 17:42:26.000000000 +0100 ---- src/version.c 2013-11-21 18:11:08.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 103, - /**/ - --- -The fastest way to get an engineer to solve a problem is to declare that the -problem is unsolvable. No engineer can walk away from an unsolvable problem -until it's solved. - (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 /// diff --git a/7.4.104 b/7.4.104 deleted file mode 100644 index 6e51568a..00000000 --- a/7.4.104 +++ /dev/null @@ -1,107 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.104 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.104 -Problem: ":help s/\_" reports an internal error. (John Beckett) -Solution: Check for NUL and invalid character classes. -Files: src/regexp_nfa.c - - -*** ../vim-7.4.103/src/regexp_nfa.c 2013-11-21 16:03:35.000000000 +0100 ---- src/regexp_nfa.c 2013-11-28 14:05:34.000000000 +0100 -*************** -*** 239,245 **** ---- 239,247 ---- - NFA_UPPER, NFA_NUPPER - }; - -+ static char_u e_nul_found[] = N_("E865: (NFA) Regexp end encountered prematurely"); - static char_u e_misplaced[] = N_("E866: (NFA regexp) Misplaced %c"); -+ static char_u e_ill_char_class[] = N_("E877: (NFA regexp) Invalid character class: %ld"); - - /* NFA regexp \ze operator encountered. */ - static int nfa_has_zend; -*************** -*** 1137,1143 **** - switch (c) - { - case NUL: -! EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely")); - - case Magic('^'): - EMIT(NFA_BOL); ---- 1139,1145 ---- - switch (c) - { - case NUL: -! EMSG_RET_FAIL(_(e_nul_found)); - - case Magic('^'): - EMIT(NFA_BOL); -*************** -*** 1160,1165 **** ---- 1162,1170 ---- - - case Magic('_'): - c = no_Magic(getchr()); -+ if (c == NUL) -+ EMSG_RET_FAIL(_(e_nul_found)); -+ - if (c == '^') /* "\_^" is start-of-line */ - { - EMIT(NFA_BOL); -*************** -*** 1216,1221 **** ---- 1221,1232 ---- - p = vim_strchr(classchars, no_Magic(c)); - if (p == NULL) - { -+ if (extra == NFA_ADD_NL) -+ { -+ EMSGN(_(e_ill_char_class), c); -+ rc_did_emsg = TRUE; -+ return FAIL; -+ } - EMSGN("INTERNAL: Unknown character class char: %ld", c); - return FAIL; - } -*************** -*** 4733,4739 **** - - default: - /* should not be here :P */ -! EMSGN("E877: (NFA regexp) Invalid character class: %ld", class); - return FAIL; - } - return FAIL; ---- 4744,4750 ---- - - default: - /* should not be here :P */ -! EMSGN(_(e_ill_char_class), class); - return FAIL; - } - return FAIL; -*** ../vim-7.4.103/src/version.c 2013-11-21 18:13:26.000000000 +0100 ---- src/version.c 2013-11-28 14:06:59.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 104, - /**/ - --- -Everybody wants to go to heaven, but nobody wants to die. - - /// 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 /// diff --git a/7.4.105 b/7.4.105 deleted file mode 100644 index f219ac6f..00000000 --- a/7.4.105 +++ /dev/null @@ -1,58 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.105 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.105 -Problem: Completing a tag pattern may give an error for invalid pattern. -Solution: Suppress the error, just return no matches. -Files: src/tag.c - - -*** ../vim-7.4.104/src/tag.c 2013-11-08 04:30:06.000000000 +0100 ---- src/tag.c 2013-11-28 14:27:38.000000000 +0100 -*************** -*** 1326,1331 **** ---- 1326,1332 ---- - int match_no_ic = 0;/* matches with rm_ic == FALSE */ - int match_re; /* match with regexp */ - int matchoff = 0; -+ int save_emsg_off; - - #ifdef FEAT_EMACS_TAGS - /* -*************** -*** 1442,1448 **** ---- 1443,1452 ---- - if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */ - orgpat.len = p_tl; - -+ save_emsg_off = emsg_off; -+ emsg_off = TRUE; /* don't want error for invalid RE here */ - prepare_pats(&orgpat, has_re); -+ emsg_off = save_emsg_off; - if (has_re && orgpat.regmatch.regprog == NULL) - goto findtag_end; - -*** ../vim-7.4.104/src/version.c 2013-11-28 14:20:11.000000000 +0100 ---- src/version.c 2013-11-28 14:30:35.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 105, - /**/ - --- -The goal of science is to build better mousetraps. -The goal of nature is to build better mice. - - /// 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 /// diff --git a/7.4.106 b/7.4.106 deleted file mode 100644 index 13ab0b11..00000000 --- a/7.4.106 +++ /dev/null @@ -1,68 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.106 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.106 -Problem: Can't build with Ruby using Cygwin. -Solution: Fix library name in makefile. (Steve Hall) -Files: src/Make_cyg.mak - - -*** ../vim-7.4.105/src/Make_cyg.mak 2013-09-19 20:48:59.000000000 +0200 ---- src/Make_cyg.mak 2013-11-28 16:29:52.000000000 +0100 -*************** -*** 1,6 **** - # - # Makefile for VIM on Win32, using Cygnus gcc -! # Last updated by Dan Sharp. Last Change: 2013 Sep 19 - # - # Also read INSTALLpc.txt! - # ---- 1,6 ---- - # - # Makefile for VIM on Win32, using Cygnus gcc -! # Last updated by Dan Sharp. Last Change: 2013 Nov 28 - # - # Also read INSTALLpc.txt! - # -*************** -*** 272,278 **** - DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" - DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER) - else -! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib - endif - endif - ---- 272,278 ---- - DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" - DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER) - else -! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME) - endif - endif - -*** ../vim-7.4.105/src/version.c 2013-11-28 14:36:24.000000000 +0100 ---- src/version.c 2013-11-28 16:29:25.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 106, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -7. You finally do take that vacation, but only after buying a cellular modem - and a laptop. - - /// 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 /// diff --git a/7.4.107 b/7.4.107 deleted file mode 100644 index 5ac7189f..00000000 --- a/7.4.107 +++ /dev/null @@ -1,639 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.107 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.107 -Problem: Python: When vim.eval() encounters a Vim error, a try/catch in the - Python code doesn't catch it. (Yggdroot Chen) -Solution: Throw exceptions on errors in vim.eval(). (ZyX) -Files: src/ex_eval.c, src/if_py_both.h, src/proto/ex_eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - - -*** ../vim-7.4.106/src/ex_eval.c 2013-06-08 15:50:28.000000000 +0200 ---- src/ex_eval.c 2013-11-28 16:59:09.000000000 +0100 -*************** -*** 321,326 **** ---- 321,337 ---- - } - - /* -+ * Free global "*msg_list" and the messages it contains, then set "*msg_list" -+ * to NULL. -+ */ -+ void -+ free_global_msglist() -+ { -+ free_msglist(*msg_list); -+ *msg_list = NULL; -+ } -+ -+ /* - * Throw the message specified in the call to cause_errthrow() above as an - * error exception. If cstack is NULL, postpone the throw until do_cmdline() - * has returned (see do_one_cmd()). -*************** -*** 410,475 **** - return TRUE; - } - -- - /* -! * Throw a new exception. Return FAIL when out of memory or it was tried to -! * throw an illegal user exception. "value" is the exception string for a user -! * or interrupt exception, or points to a message list in case of an error -! * exception. - */ -! static int -! throw_exception(value, type, cmdname) - void *value; - int type; - char_u *cmdname; - { -! except_T *excp; -! char_u *p, *mesg, *val; - int cmdlen; -! -! /* -! * Disallow faking Interrupt or error exceptions as user exceptions. They -! * would be treated differently from real interrupt or error exceptions when -! * no active try block is found, see do_cmdline(). -! */ -! if (type == ET_USER) -! { -! if (STRNCMP((char_u *)value, "Vim", 3) == 0 && -! (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' || -! ((char_u *)value)[3] == '(')) -! { -! EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix")); -! goto fail; -! } -! } -! -! excp = (except_T *)alloc((unsigned)sizeof(except_T)); -! if (excp == NULL) -! goto nomem; - - if (type == ET_ERROR) - { -! /* Store the original message and prefix the exception value with -! * "Vim:" or, if a command name is given, "Vim(cmdname):". */ -! excp->messages = (struct msglist *)value; -! mesg = excp->messages->throw_msg; - if (cmdname != NULL && *cmdname != NUL) - { - cmdlen = (int)STRLEN(cmdname); -! excp->value = vim_strnsave((char_u *)"Vim(", - 4 + cmdlen + 2 + (int)STRLEN(mesg)); -! if (excp->value == NULL) -! goto nomem; -! STRCPY(&excp->value[4], cmdname); -! STRCPY(&excp->value[4 + cmdlen], "):"); -! val = excp->value + 4 + cmdlen + 2; - } - else - { -! excp->value = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg)); -! if (excp->value == NULL) -! goto nomem; -! val = excp->value + 4; - } - - /* msg_add_fname may have been used to prefix the message with a file ---- 421,461 ---- - return TRUE; - } - - /* -! * Get an exception message that is to be stored in current_exception->value. - */ -! char_u * -! get_exception_string(value, type, cmdname, should_free) - void *value; - int type; - char_u *cmdname; -+ int *should_free; - { -! char_u *ret, *mesg; - int cmdlen; -! char_u *p, *val; - - if (type == ET_ERROR) - { -! *should_free = FALSE; -! mesg = ((struct msglist *)value)->throw_msg; - if (cmdname != NULL && *cmdname != NUL) - { - cmdlen = (int)STRLEN(cmdname); -! ret = vim_strnsave((char_u *)"Vim(", - 4 + cmdlen + 2 + (int)STRLEN(mesg)); -! if (ret == NULL) -! return ret; -! STRCPY(&ret[4], cmdname); -! STRCPY(&ret[4 + cmdlen], "):"); -! val = ret + 4 + cmdlen + 2; - } - else - { -! ret = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg)); -! if (ret == NULL) -! return ret; -! val = ret + 4; - } - - /* msg_add_fname may have been used to prefix the message with a file -*************** -*** 506,519 **** - } - } - else -! excp->value = value; - - excp->type = type; - excp->throw_name = vim_strsave(sourcing_name == NULL - ? (char_u *)"" : sourcing_name); - if (excp->throw_name == NULL) - { -! if (type == ET_ERROR) - vim_free(excp->value); - goto nomem; - } ---- 492,556 ---- - } - } - else -! { -! *should_free = FALSE; -! ret = (char_u *) value; -! } -! -! return ret; -! } -! -! -! /* -! * Throw a new exception. Return FAIL when out of memory or it was tried to -! * throw an illegal user exception. "value" is the exception string for a -! * user or interrupt exception, or points to a message list in case of an -! * error exception. -! */ -! static int -! throw_exception(value, type, cmdname) -! void *value; -! int type; -! char_u *cmdname; -! { -! except_T *excp; -! int should_free; -! -! /* -! * Disallow faking Interrupt or error exceptions as user exceptions. They -! * would be treated differently from real interrupt or error exceptions -! * when no active try block is found, see do_cmdline(). -! */ -! if (type == ET_USER) -! { -! if (STRNCMP((char_u *)value, "Vim", 3) == 0 -! && (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' -! || ((char_u *)value)[3] == '(')) -! { -! EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix")); -! goto fail; -! } -! } -! -! excp = (except_T *)alloc((unsigned)sizeof(except_T)); -! if (excp == NULL) -! goto nomem; -! -! if (type == ET_ERROR) -! /* Store the original message and prefix the exception value with -! * "Vim:" or, if a command name is given, "Vim(cmdname):". */ -! excp->messages = (struct msglist *)value; -! -! excp->value = get_exception_string(value, type, cmdname, &should_free); -! if (excp->value == NULL && should_free) -! goto nomem; - - excp->type = type; - excp->throw_name = vim_strsave(sourcing_name == NULL - ? (char_u *)"" : sourcing_name); - if (excp->throw_name == NULL) - { -! if (should_free) - vim_free(excp->value); - goto nomem; - } -*************** -*** 2033,2042 **** - /* If an error was about to be converted to an exception when - * enter_cleanup() was called, free the message list. */ - if (msg_list != NULL) -! { -! free_msglist(*msg_list); -! *msg_list = NULL; -! } - } - - /* ---- 2070,2076 ---- - /* If an error was about to be converted to an exception when - * enter_cleanup() was called, free the message list. */ - if (msg_list != NULL) -! free_global_msglist(); - } - - /* -*** ../vim-7.4.106/src/if_py_both.h 2013-11-11 01:05:43.000000000 +0100 ---- src/if_py_both.h 2013-11-28 17:00:22.000000000 +0100 -*************** -*** 566,571 **** ---- 566,593 ---- - PyErr_SetNone(PyExc_KeyboardInterrupt); - return -1; - } -+ else if (msg_list != NULL && *msg_list != NULL) -+ { -+ int should_free; -+ char_u *msg; -+ -+ msg = get_exception_string(*msg_list, ET_ERROR, NULL, &should_free); -+ -+ if (msg == NULL) -+ { -+ PyErr_NoMemory(); -+ return -1; -+ } -+ -+ PyErr_SetVim((char *) msg); -+ -+ free_global_msglist(); -+ -+ if (should_free) -+ vim_free(msg); -+ -+ return -1; -+ } - else if (!did_throw) - return (PyErr_Occurred() ? -1 : 0); - /* Python exception is preferred over vim one; unlikely to occur though */ -*** ../vim-7.4.106/src/proto/ex_eval.pro 2013-08-10 13:37:10.000000000 +0200 ---- src/proto/ex_eval.pro 2013-11-28 16:56:33.000000000 +0100 -*************** -*** 4,11 **** ---- 4,13 ---- - int should_abort __ARGS((int retcode)); - int aborted_in_try __ARGS((void)); - int cause_errthrow __ARGS((char_u *mesg, int severe, int *ignore)); -+ void free_global_msglist __ARGS((void)); - void do_errthrow __ARGS((struct condstack *cstack, char_u *cmdname)); - int do_intthrow __ARGS((struct condstack *cstack)); -+ char_u *get_exception_string __ARGS((void *value, int type, char_u *cmdname, int *should_free)); - void discard_current_exception __ARGS((void)); - void report_make_pending __ARGS((int pending, void *value)); - void report_resume_pending __ARGS((int pending, void *value)); -*** ../vim-7.4.106/src/testdir/test86.in 2013-11-11 01:05:43.000000000 +0100 ---- src/testdir/test86.in 2013-11-28 16:41:01.000000000 +0100 -*************** -*** 179,184 **** ---- 179,210 ---- - :unlockvar! l - :" - :" Function calls -+ py << EOF -+ import sys -+ def ee(expr, g=globals(), l=locals()): -+ try: -+ exec(expr, g, l) -+ except: -+ ei = sys.exc_info() -+ msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args) -+ msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'') -+ if expr.find('None') > -1: -+ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', -+ 'TypeError:("\'NoneType\' object is not iterable",)') -+ if expr.find('FailingNumber') > -1: -+ msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'') -+ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', -+ 'TypeError:("\'FailingNumber\' object is not iterable",)') -+ if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1: -+ msg = msg.replace('(\'', '("').replace('\',)', '",)') -+ if expr == 'fd(self=[])': -+ # HACK: PyMapping_Check changed meaning -+ msg = msg.replace('AttributeError:(\'keys\',)', -+ 'TypeError:(\'unable to convert list to vim dictionary\',)') -+ vim.current.buffer.append(expr + ':' + msg) -+ else: -+ vim.current.buffer.append(expr + ':NOT FAILED') -+ EOF - :fun New(...) - : return ['NewStart']+a:000+['NewEnd'] - :endfun -*************** -*** 193,210 **** - :$put =string(l) - :py l.extend([l[0].name]) - :$put =string(l) -! :try -! : py l[1](1, 2, 3) -! :catch -! : $put =v:exception[:16] -! :endtry - :py f=l[0] - :delfunction New -! :try -! : py f(1, 2, 3) -! :catch -! : $put =v:exception[:16] -! :endtry - :if has('float') - : let l=[0.0] - : py l=vim.bindeval('l') ---- 219,228 ---- - :$put =string(l) - :py l.extend([l[0].name]) - :$put =string(l) -! :py ee('l[1](1, 2, 3)') - :py f=l[0] - :delfunction New -! :py ee('f(1, 2, 3)') - :if has('float') - : let l=[0.0] - : py l=vim.bindeval('l') -*************** -*** 216,222 **** - :let messages=[] - :delfunction DictNew - py < 8 # check if the background thread is working - :py del time - :py del threading -+ :py del t - :$put =string(l) - :" - :" settrace -*************** -*** 882,910 **** - :fun D() - :endfun - py << EOF -- def ee(expr, g=globals(), l=locals()): -- try: -- exec(expr, g, l) -- except: -- ei = sys.exc_info() -- msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args) -- msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'') -- if expr.find('None') > -1: -- msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', -- 'TypeError:("\'NoneType\' object is not iterable",)') -- if expr.find('FailingNumber') > -1: -- msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'') -- msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', -- 'TypeError:("\'FailingNumber\' object is not iterable",)') -- if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1: -- msg = msg.replace('(\'', '("').replace('\',)', '",)') -- if expr == 'fd(self=[])': -- # HACK: PyMapping_Check changed meaning -- msg = msg.replace('AttributeError:(\'keys\',)', -- 'TypeError:(\'unable to convert list to vim dictionary\',)') -- cb.append(expr + ':' + msg) -- else: -- cb.append(expr + ':NOT FAILED') - d = vim.Dictionary() - ned = vim.Dictionary(foo='bar', baz='abcD') - dl = vim.Dictionary(a=1) ---- 900,905 ---- -*************** -*** 1276,1281 **** ---- 1271,1277 ---- - ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")') - ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")') - ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")') -+ ee('vim.eval("xxx_unknown_function_xxx()")') - ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")') - del Exe - EOF -*** ../vim-7.4.106/src/testdir/test86.ok 2013-11-11 01:05:43.000000000 +0100 ---- src/testdir/test86.ok 2013-11-28 16:41:01.000000000 +0100 -*************** -*** 53,60 **** - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] -! Vim(python):E725: -! Vim(python):E117: - [0.0, 0.0] - KeyError - TypeError ---- 53,60 ---- - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] -! l[1](1, 2, 3):error:('Vim:E725: Calling dict function without Dictionary: DictNew',) -! f(1, 2, 3):error:('Vim:E117: Unknown function: New',) - [0.0, 0.0] - KeyError - TypeError -*************** -*** 1197,1202 **** ---- 1197,1203 ---- - vim.eval("Exe('throw ''ghi''')"):error:('ghi',) - vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',) - vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) -+ vim.eval("xxx_unknown_function_xxx()"):error:('Vim:E117: Unknown function: xxx_unknown_function_xxx',) - vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) - Caught KeyboardInterrupt - Running :put -*** ../vim-7.4.106/src/testdir/test87.in 2013-11-11 01:05:43.000000000 +0100 ---- src/testdir/test87.in 2013-11-28 16:41:01.000000000 +0100 -*************** -*** 172,177 **** ---- 172,207 ---- - :unlockvar! l - :" - :" Function calls -+ py3 << EOF -+ import sys -+ import re -+ -+ py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$') -+ -+ def ee(expr, g=globals(), l=locals()): -+ cb = vim.current.buffer -+ try: -+ try: -+ exec(expr, g, l) -+ except Exception as e: -+ if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."): -+ cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1])))) -+ elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0: -+ cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", ''))))) -+ elif sys.version_info >= (3, 3) and e.__class__ is TypeError: -+ m = py33_type_error_pattern.search(str(e)) -+ if m: -+ msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2)) -+ cb.append(expr + ':' + repr((e.__class__, TypeError(msg)))) -+ else: -+ cb.append(expr + ':' + repr((e.__class__, e))) -+ else: -+ cb.append(expr + ':' + repr((e.__class__, e))) -+ else: -+ cb.append(expr + ':NOT FAILED') -+ except Exception as e: -+ cb.append(expr + '::' + repr((e.__class__, e))) -+ EOF - :fun New(...) - : return ['NewStart']+a:000+['NewEnd'] - :endfun -*************** -*** 186,203 **** - :$put =string(l) - :py3 l+=[l[0].name] - :$put =string(l) -! :try -! : py3 l[1](1, 2, 3) -! :catch -! : $put =v:exception[:13] -! :endtry - :py3 f=l[0] - :delfunction New -! :try -! : py3 f(1, 2, 3) -! :catch -! : $put =v:exception[:13] -! :endtry - :if has('float') - : let l=[0.0] - : py3 l=vim.bindeval('l') ---- 216,225 ---- - :$put =string(l) - :py3 l+=[l[0].name] - :$put =string(l) -! :py3 ee('l[1](1, 2, 3)') - :py3 f=l[0] - :delfunction New -! :py3 ee('f(1, 2, 3)') - :if has('float') - : let l=[0.0] - : py3 l=vim.bindeval('l') -*************** -*** 315,320 **** ---- 337,343 ---- - :py3 l[0] = t.t > 8 # check if the background thread is working - :py3 del time - :py3 del threading -+ :py3 del t - :$put =string(l) - :" - :" settrace -*************** -*** 829,861 **** - :fun D() - :endfun - py3 << EOF -- import re -- -- py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$') -- -- def ee(expr, g=globals(), l=locals()): -- try: -- try: -- exec(expr, g, l) -- except Exception as e: -- if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."): -- cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1])))) -- elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0: -- cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", ''))))) -- elif sys.version_info >= (3, 3) and e.__class__ is TypeError: -- m = py33_type_error_pattern.search(str(e)) -- if m: -- msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2)) -- cb.append(expr + ':' + repr((e.__class__, TypeError(msg)))) -- else: -- cb.append(expr + ':' + repr((e.__class__, e))) -- else: -- cb.append(expr + ':' + repr((e.__class__, e))) -- else: -- cb.append(expr + ':NOT FAILED') -- except Exception as e: -- cb.append(expr + '::' + repr((e.__class__, e))) -- - d = vim.Dictionary() - ned = vim.Dictionary(foo='bar', baz='abcD') - dl = vim.Dictionary(a=1) ---- 852,857 ---- -*************** -*** 1227,1232 **** ---- 1223,1229 ---- - ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")') - ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")') - ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")') -+ ee('vim.eval("xxx_unknown_function_xxx()")') - ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")') - del Exe - EOF -*** ../vim-7.4.106/src/testdir/test87.ok 2013-11-11 01:05:43.000000000 +0100 ---- src/testdir/test87.ok 2013-11-28 16:41:01.000000000 +0100 -*************** -*** 53,60 **** - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] -! Vim(py3):E725: -! Vim(py3):E117: - [0.0, 0.0] - KeyError - TypeError ---- 53,60 ---- - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] -! l[1](1, 2, 3):(, error('Vim:E725: Calling dict function without Dictionary: DictNew',)) -! f(1, 2, 3):(, error('Vim:E117: Unknown function: New',)) - [0.0, 0.0] - KeyError - TypeError -*************** -*** 1186,1191 **** ---- 1186,1192 ---- - vim.eval("Exe('throw ''ghi''')"):(, error('ghi',)) - vim.eval("Exe('echoerr ''jkl''')"):(, error('Vim(echoerr):jkl',)) - vim.eval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) -+ vim.eval("xxx_unknown_function_xxx()"):(, error('Vim:E117: Unknown function: xxx_unknown_function_xxx',)) - vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) - Caught KeyboardInterrupt - Running :put -*** ../vim-7.4.106/src/version.c 2013-11-28 16:32:34.000000000 +0100 ---- src/version.c 2013-11-28 16:41:43.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 107, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -8. You spend half of the plane trip with your laptop on your lap...and your - child in the overhead compartment. - - /// 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 /// diff --git a/7.4.108 b/7.4.108 deleted file mode 100644 index 05423474..00000000 --- a/7.4.108 +++ /dev/null @@ -1,215 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.108 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.108 -Problem: "zG" and "zW" leave temp files around on MS-Windows. -Solution: Delete the temp files when exiting. (Ken Takata) -Files: src/memline.c, src/proto/spell.pro, src/spell.c - - -*** ../vim-7.4.107/src/memline.c 2013-11-04 02:53:46.000000000 +0100 ---- src/memline.c 2013-11-28 17:27:06.000000000 +0100 -*************** -*** 841,848 **** - for (buf = firstbuf; buf != NULL; buf = buf->b_next) - ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 - || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); - #ifdef TEMPDIRNAMES -! vim_deltempdir(); /* delete created temp directory */ - #endif - } - ---- 841,851 ---- - for (buf = firstbuf; buf != NULL; buf = buf->b_next) - ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 - || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); -+ #ifdef FEAT_SPELL -+ spell_delete_wordlist(); /* delete the internal wordlist */ -+ #endif - #ifdef TEMPDIRNAMES -! vim_deltempdir(); /* delete created temp directory */ - #endif - } - -*** ../vim-7.4.107/src/proto/spell.pro 2013-08-10 13:37:26.000000000 +0200 ---- src/proto/spell.pro 2013-11-28 17:25:59.000000000 +0100 -*************** -*** 3,8 **** ---- 3,9 ---- - int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp)); - void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen)); - char_u *did_set_spelllang __ARGS((win_T *wp)); -+ void spell_delete_wordlist __ARGS((void)); - void spell_free_all __ARGS((void)); - void spell_reload __ARGS((void)); - int spell_check_msm __ARGS((void)); -*** ../vim-7.4.107/src/spell.c 2013-11-21 17:42:26.000000000 +0100 ---- src/spell.c 2013-11-28 17:25:59.000000000 +0100 -*************** -*** 2180,2188 **** - char_u *endp; - hlf_T attr; - int len; -! # ifdef FEAT_SYN_HL - int has_syntax = syntax_present(wp); -! # endif - int col; - int can_spell; - char_u *buf = NULL; ---- 2180,2188 ---- - char_u *endp; - hlf_T attr; - int len; -! #ifdef FEAT_SYN_HL - int has_syntax = syntax_present(wp); -! #endif - int col; - int can_spell; - char_u *buf = NULL; -*************** -*** 2280,2286 **** - : p - buf) - > wp->w_cursor.col))) - { -! # ifdef FEAT_SYN_HL - if (has_syntax) - { - col = (int)(p - buf); ---- 2280,2286 ---- - : p - buf) - > wp->w_cursor.col))) - { -! #ifdef FEAT_SYN_HL - if (has_syntax) - { - col = (int)(p - buf); -*************** -*** 4701,4707 **** - return flags; - } - -! # if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) - /* - * Free all languages. - */ ---- 4701,4725 ---- - return flags; - } - -! /* -! * Delete the internal wordlist and its .spl file. -! */ -! void -! spell_delete_wordlist() -! { -! char_u fname[MAXPATHL]; -! -! if (int_wordlist != NULL) -! { -! mch_remove(int_wordlist); -! int_wordlist_spl(fname); -! mch_remove(fname); -! vim_free(int_wordlist); -! int_wordlist = NULL; -! } -! } -! -! #if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) - /* - * Free all languages. - */ -*************** -*** 4710,4716 **** - { - slang_T *slang; - buf_T *buf; -- char_u fname[MAXPATHL]; - - /* Go through all buffers and handle 'spelllang'. */ - for (buf = firstbuf; buf != NULL; buf = buf->b_next) ---- 4728,4733 ---- -*************** -*** 4723,4746 **** - slang_free(slang); - } - -! if (int_wordlist != NULL) -! { -! /* Delete the internal wordlist and its .spl file */ -! mch_remove(int_wordlist); -! int_wordlist_spl(fname); -! mch_remove(fname); -! vim_free(int_wordlist); -! int_wordlist = NULL; -! } - - vim_free(repl_to); - repl_to = NULL; - vim_free(repl_from); - repl_from = NULL; - } -! # endif - -! # if defined(FEAT_MBYTE) || defined(PROTO) - /* - * Clear all spelling tables and reload them. - * Used after 'encoding' is set and when ":mkspell" was used. ---- 4740,4755 ---- - slang_free(slang); - } - -! spell_delete_wordlist(); - - vim_free(repl_to); - repl_to = NULL; - vim_free(repl_from); - repl_from = NULL; - } -! #endif - -! #if defined(FEAT_MBYTE) || defined(PROTO) - /* - * Clear all spelling tables and reload them. - * Used after 'encoding' is set and when ":mkspell" was used. -*************** -*** 4773,4779 **** - } - } - } -! # endif - - /* - * Reload the spell file "fname" if it's loaded. ---- 4782,4788 ---- - } - } - } -! #endif - - /* - * Reload the spell file "fname" if it's loaded. -*** ../vim-7.4.107/src/version.c 2013-11-28 17:04:38.000000000 +0100 ---- src/version.c 2013-11-28 17:26:31.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 108, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -9. All your daydreaming is preoccupied with getting a faster connection to the - net: 28.8...ISDN...cable modem...T1...T3. - - /// 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 /// diff --git a/7.4.109 b/7.4.109 deleted file mode 100644 index 70ed86d2..00000000 --- a/7.4.109 +++ /dev/null @@ -1,123 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.109 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.109 -Problem: ColorScheme autocommand matches with the current buffer name. -Solution: Match with the colorscheme name. (Christian Brabandt) -Files: runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c - - -*** ../vim-7.4.108/runtime/doc/autocmd.txt 2013-08-10 13:24:52.000000000 +0200 ---- runtime/doc/autocmd.txt 2013-11-28 18:44:20.000000000 +0100 -*************** -*** 480,485 **** ---- 480,491 ---- - |cmdwin-char| - *ColorScheme* - ColorScheme After loading a color scheme. |:colorscheme| -+ The pattern is matched against the -+ colorscheme name. can be used for the -+ name of the actual file where this option was -+ set, and for the new colorscheme -+ name. -+ - - *CompleteDone* - CompleteDone After Insert mode completion is done. Either -*** ../vim-7.4.108/src/fileio.c 2013-11-12 18:09:20.000000000 +0100 ---- src/fileio.c 2013-11-28 18:44:20.000000000 +0100 -*************** -*** 9330,9336 **** - */ - if (fname_io == NULL) - { -! if (fname != NULL && *fname != NUL) - autocmd_fname = fname; - else if (buf != NULL) - autocmd_fname = buf->b_ffname; ---- 9330,9338 ---- - */ - if (fname_io == NULL) - { -! if (event == EVENT_COLORSCHEME) -! autocmd_fname = NULL; -! else if (fname != NULL && *fname != NUL) - autocmd_fname = fname; - else if (buf != NULL) - autocmd_fname = buf->b_ffname; -*************** -*** 9383,9396 **** - else - { - sfname = vim_strsave(fname); -! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or -! * QuickFixCmd* */ - if (event == EVENT_FILETYPE - || event == EVENT_SYNTAX - || event == EVENT_FUNCUNDEFINED - || event == EVENT_REMOTEREPLY - || event == EVENT_SPELLFILEMISSING - || event == EVENT_QUICKFIXCMDPRE - || event == EVENT_QUICKFIXCMDPOST) - fname = vim_strsave(fname); - else ---- 9385,9399 ---- - else - { - sfname = vim_strsave(fname); -! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID, -! * ColorScheme or QuickFixCmd* */ - if (event == EVENT_FILETYPE - || event == EVENT_SYNTAX - || event == EVENT_FUNCUNDEFINED - || event == EVENT_REMOTEREPLY - || event == EVENT_SPELLFILEMISSING - || event == EVENT_QUICKFIXCMDPRE -+ || event == EVENT_COLORSCHEME - || event == EVENT_QUICKFIXCMDPOST) - fname = vim_strsave(fname); - else -*** ../vim-7.4.108/src/syntax.c 2013-06-08 16:10:08.000000000 +0200 ---- src/syntax.c 2013-11-28 18:44:20.000000000 +0100 -*************** -*** 7071,7077 **** - retval = source_runtime(buf, FALSE); - vim_free(buf); - #ifdef FEAT_AUTOCMD -! apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf); - #endif - } - recursive = FALSE; ---- 7071,7077 ---- - retval = source_runtime(buf, FALSE); - vim_free(buf); - #ifdef FEAT_AUTOCMD -! apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf); - #endif - } - recursive = FALSE; -*** ../vim-7.4.108/src/version.c 2013-11-28 17:41:41.000000000 +0100 ---- src/version.c 2013-11-28 18:48:42.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 109, - /**/ - --- -"How is your new girlfriend?" -"90-60-90 man!" -"What, pale purple?" - - /// 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 /// diff --git a/7.4.110 b/7.4.110 deleted file mode 100644 index 0a40ee90..00000000 --- a/7.4.110 +++ /dev/null @@ -1,102 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.110 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.110 -Problem: "gUgn" cannot be repeeated. (Dimitar Dimitrov) -Solution: Don't put "gn" in a different order in the redo buffer. Restore - 'wrapscan' when the pattern isn't found. (Christian Wellenbrock) -Files: src/normal.c, src/search.c, src/test53.in, src/test53.ok - - -*** ../vim-7.4.109/src/normal.c 2013-11-04 01:41:11.000000000 +0100 ---- src/normal.c 2013-11-28 19:02:45.000000000 +0100 -*************** -*** 962,972 **** - #ifdef FEAT_CMDL_INFO - need_flushbuf |= add_to_showcmd(ca.nchar); - #endif -- /* For "gn" from redo, need to get one more char to determine the -- * operator */ - if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`' -! || ca.nchar == Ctrl_BSL -! || ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty())) - { - cp = &ca.extra_char; /* need to get a third character */ - if (ca.nchar != 'r') ---- 962,969 ---- - #ifdef FEAT_CMDL_INFO - need_flushbuf |= add_to_showcmd(ca.nchar); - #endif - if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`' -! || ca.nchar == Ctrl_BSL) - { - cp = &ca.extra_char; /* need to get a third character */ - if (ca.nchar != 'r') -*************** -*** 1797,1806 **** - * otherwise it might be the second char of the operator. */ - if (cap->cmdchar == 'g' && (cap->nchar == 'n' - || cap->nchar == 'N')) -! /* "gn" and "gN" are a bit different */ -! prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar, -! get_op_char(oap->op_type), -! get_extra_op_char(oap->op_type)); - else if (cap->cmdchar != ':') - prep_redo(oap->regname, 0L, NUL, 'v', - get_op_char(oap->op_type), ---- 1794,1802 ---- - * otherwise it might be the second char of the operator. */ - if (cap->cmdchar == 'g' && (cap->nchar == 'n' - || cap->nchar == 'N')) -! prep_redo(oap->regname, cap->count0, -! get_op_char(oap->op_type), get_extra_op_char(oap->op_type), -! oap->motion_force, cap->cmdchar, cap->nchar); - else if (cap->cmdchar != ':') - prep_redo(oap->regname, 0L, NUL, 'v', - get_op_char(oap->op_type), -*** ../vim-7.4.109/src/search.c 2013-11-08 04:30:06.000000000 +0100 ---- src/search.c 2013-11-28 19:05:16.000000000 +0100 -*************** -*** 4544,4550 **** - /* Is the pattern is zero-width? */ - one_char = is_one_char(spats[last_idx].pat); - if (one_char == -1) -! return FAIL; /* invalid pattern */ - - /* - * The trick is to first search backwards and then search forward again, ---- 4544,4553 ---- - /* Is the pattern is zero-width? */ - one_char = is_one_char(spats[last_idx].pat); - if (one_char == -1) -! { -! p_ws = old_p_ws; -! return FAIL; /* pattern not found */ -! } - - /* - * The trick is to first search backwards and then search forward again, -*** ../vim-7.4.109/src/version.c 2013-11-28 18:53:47.000000000 +0100 ---- src/version.c 2013-11-28 19:20:29.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 110, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -10. And even your night dreams are in HTML. - - /// 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 /// diff --git a/7.4.111 b/7.4.111 deleted file mode 100644 index e8c7a48d..00000000 --- a/7.4.111 +++ /dev/null @@ -1,63 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.111 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.111 -Problem: Memory leak in Python OptionsAssItem. (Ken Takata) -Solution: Call Py_XDECREF() where needed. (ZyX) -Files: src/if_py_both.h - - -*** ../vim-7.4.110/src/if_py_both.h 2013-11-28 17:04:38.000000000 +0100 ---- src/if_py_both.h 2013-12-07 14:23:00.000000000 +0100 -*************** -*** 3005,3015 **** - else - { - char_u *val; -! PyObject *todecref; - -! if ((val = StringToChars(valObject, &todecref))) - ret = set_option_value_for(key, 0, val, opt_flags, - self->opt_type, self->from); - else - ret = -1; - } ---- 3005,3018 ---- - else - { - char_u *val; -! PyObject *todecref2; - -! if ((val = StringToChars(valObject, &todecref2))) -! { - ret = set_option_value_for(key, 0, val, opt_flags, - self->opt_type, self->from); -+ Py_XDECREF(todecref2); -+ } - else - ret = -1; - } -*** ../vim-7.4.110/src/version.c 2013-11-28 19:27:18.000000000 +0100 ---- src/version.c 2013-12-07 14:24:16.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 111, - /**/ - --- -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 /// diff --git a/7.4.112 b/7.4.112 deleted file mode 100644 index ab64e131..00000000 --- a/7.4.112 +++ /dev/null @@ -1,70 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.112 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.112 -Problem: The defaults for 'directory' and 'backupdir' on MS-Windows do not - include a directory that exists. -Solution: Use $TEMP. -Files: src/os_dos.h - - -*** ../vim-7.4.111/src/os_dos.h 2013-06-12 20:09:44.000000000 +0200 ---- src/os_dos.h 2013-12-04 15:23:22.000000000 +0100 -*************** -*** 109,115 **** - #endif - - #ifndef DFLT_BDIR -! # define DFLT_BDIR ".,c:\\tmp,c:\\temp" /* default for 'backupdir' */ - #endif - - #ifndef DFLT_VDIR ---- 109,115 ---- - #endif - - #ifndef DFLT_BDIR -! # define DFLT_BDIR ".,$TEMP,c:\\tmp,c:\\temp" /* default for 'backupdir' */ - #endif - - #ifndef DFLT_VDIR -*************** -*** 117,123 **** - #endif - - #ifndef DFLT_DIR -! # define DFLT_DIR ".,c:\\tmp,c:\\temp" /* default for 'directory' */ - #endif - - #define DFLT_ERRORFILE "errors.err" ---- 117,123 ---- - #endif - - #ifndef DFLT_DIR -! # define DFLT_DIR ".,$TEMP,c:\\tmp,c:\\temp" /* default for 'directory' */ - #endif - - #define DFLT_ERRORFILE "errors.err" -*** ../vim-7.4.111/src/version.c 2013-12-07 14:28:37.000000000 +0100 ---- src/version.c 2013-12-07 14:31:03.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 112, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -13. Go to a poetry recital and ask why the poems don't rhyme. - - /// 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 /// diff --git a/7.4.113 b/7.4.113 deleted file mode 100644 index 97059e55..00000000 --- a/7.4.113 +++ /dev/null @@ -1,101 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.113 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.113 -Problem: MSVC static analysis gives warnings. -Solution: Avoid the warnings and avoid possible bugs. (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.112/src/os_win32.c 2013-11-21 12:34:07.000000000 +0100 ---- src/os_win32.c 2013-12-07 14:41:35.000000000 +0100 -*************** -*** 2509,2515 **** - WCHAR *porig, *porigPrev; - int flen; - WIN32_FIND_DATAW fb; -! HANDLE hFind; - int c; - int slen; - ---- 2509,2515 ---- - WCHAR *porig, *porigPrev; - int flen; - WIN32_FIND_DATAW fb; -! HANDLE hFind = INVALID_HANDLE_VALUE; - int c; - int slen; - -*************** -*** 2528,2535 **** - /* copy leading drive letter */ - *ptrue++ = *porig++; - *ptrue++ = *porig++; -- *ptrue = NUL; /* in case nothing follows */ - } - - while (*porig != NUL) - { ---- 2528,2535 ---- - /* copy leading drive letter */ - *ptrue++ = *porig++; - *ptrue++ = *porig++; - } -+ *ptrue = NUL; /* in case nothing follows */ - - while (*porig != NUL) - { -*************** -*** 2673,2680 **** - /* copy leading drive letter */ - *ptrue++ = *porig++; - *ptrue++ = *porig++; -- *ptrue = NUL; /* in case nothing follows */ - } - - while (*porig != NUL) - { ---- 2673,2680 ---- - /* copy leading drive letter */ - *ptrue++ = *porig++; - *ptrue++ = *porig++; - } -+ *ptrue = NUL; /* in case nothing follows */ - - while (*porig != NUL) - { -*************** -*** 6272,6277 **** ---- 6272,6278 ---- - while (i > 0) - free(argv[--i]); - free(argv); -+ argv = NULL; - argc = 0; - } - } -*** ../vim-7.4.112/src/version.c 2013-12-07 14:32:04.000000000 +0100 ---- src/version.c 2013-12-07 14:37:48.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 113, - /**/ - --- -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 /// diff --git a/7.4.114 b/7.4.114 deleted file mode 100644 index 9b982f6b..00000000 --- a/7.4.114 +++ /dev/null @@ -1,56 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.114 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.114 -Problem: New GNU make outputs messages about changing directory in another - format. -Solution: Recognize the new format. -Files: src/option.h - - -*** ../vim-7.4.113/src/option.h 2013-11-06 05:26:08.000000000 +0100 ---- src/option.h 2013-12-04 12:43:03.000000000 +0100 -*************** -*** 31,39 **** - # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" - # else /* Unix, probably */ - # ifdef EBCDIC -! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" - # else -! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" - # endif - # endif - # endif ---- 31,39 ---- - # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" - # else /* Unix, probably */ - # ifdef EBCDIC -! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" - # else -! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" - # endif - # endif - # endif -*** ../vim-7.4.113/src/version.c 2013-12-07 14:48:06.000000000 +0100 ---- src/version.c 2013-12-11 12:22:19.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 114, - /**/ - --- -Everyone has a photographic memory. Some don't have film. - - /// 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 /// diff --git a/7.4.115 b/7.4.115 deleted file mode 100644 index 1d1a561b..00000000 --- a/7.4.115 +++ /dev/null @@ -1,52 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.115 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.115 -Problem: When using Zsh expanding ~abc doesn't work when the result - contains a space. -Solution: Off-by-one error in detecting the NUL. (Pavol Juhas) -Files: src/os_unix.c - - -*** ../vim-7.4.114/src/os_unix.c 2013-11-03 00:40:54.000000000 +0100 ---- src/os_unix.c 2013-12-11 13:19:26.000000000 +0100 -*************** -*** 5990,5996 **** - { - /* If there is a NUL, set did_find_nul, else set check_spaces */ - buffer[len] = NUL; -! if (len && (int)STRLEN(buffer) < (int)len - 1) - did_find_nul = TRUE; - else - check_spaces = TRUE; ---- 5990,5996 ---- - { - /* If there is a NUL, set did_find_nul, else set check_spaces */ - buffer[len] = NUL; -! if (len && (int)STRLEN(buffer) < (int)len) - did_find_nul = TRUE; - else - check_spaces = TRUE; -*** ../vim-7.4.114/src/version.c 2013-12-11 12:22:54.000000000 +0100 ---- src/version.c 2013-12-11 13:20:29.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 115, - /**/ - --- -Change is inevitable, except from a vending machine. - - /// 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 /// diff --git a/7.4.116 b/7.4.116 deleted file mode 100644 index f242f050..00000000 --- a/7.4.116 +++ /dev/null @@ -1,46 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.116 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.116 -Problem: When a mapping starts with a space, the typed space does not show - up for 'showcmd'. -Solution: Show "<20>". (Brook Hong) -Files: src/normal.c - - -*** ../vim-7.4.115/src/normal.c 2013-11-28 19:27:18.000000000 +0100 ---- src/normal.c 2013-12-07 14:30:29.000000000 +0100 -*************** -*** 4021,4026 **** ---- 4021,4028 ---- - #endif - - p = transchar(c); -+ if (*p == ' ') -+ STRCPY(p, "<20>"); - old_len = (int)STRLEN(showcmd_buf); - extra_len = (int)STRLEN(p); - overflow = old_len + extra_len - SHOWCMD_COLS; -*** ../vim-7.4.115/src/version.c 2013-12-11 13:21:44.000000000 +0100 ---- src/version.c 2013-12-11 14:16:58.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 116, - /**/ - --- -Bumper sticker: Honk if you love peace and quiet. - - /// 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 /// diff --git a/7.4.117 b/7.4.117 deleted file mode 100644 index 5fb02689..00000000 --- a/7.4.117 +++ /dev/null @@ -1,263 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.117 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.117 -Problem: Can't build with Cygwin/MingW and Perl 5.18. -Solution: Add a linker argument for the Perl library. (Cesar Romani) - Adjust CFLAGS and LIB. (Cesar Romani) - Move including inline.h further down. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_perl.xs - - -*** ../vim-7.4.116/src/Make_cyg.mak 2013-11-28 16:32:34.000000000 +0100 ---- src/Make_cyg.mak 2013-12-11 14:59:12.000000000 +0100 -*************** -*** 1,6 **** - # - # Makefile for VIM on Win32, using Cygnus gcc -! # Last updated by Dan Sharp. Last Change: 2013 Nov 28 - # - # Also read INSTALLpc.txt! - # ---- 1,6 ---- - # - # Makefile for VIM on Win32, using Cygnus gcc -! # Last updated by Dan Sharp. Last Change: 2013 Dec 11 - # - # Also read INSTALLpc.txt! - # -*************** -*** 155,161 **** - ifeq (yes, $(DYNAMIC_PERL)) - DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" - else -! EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib - endif - endif - ---- 155,161 ---- - ifeq (yes, $(DYNAMIC_PERL)) - DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" - else -! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER) - endif - endif - -*** ../vim-7.4.116/src/Make_ming.mak 2013-07-06 13:32:11.000000000 +0200 ---- src/Make_ming.mak 2013-12-07 20:02:52.000000000 +0100 -*************** -*** 359,364 **** ---- 359,365 ---- - - CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall - WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED -+ EXTRA_LIBS = - - ifdef GETTEXT - DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H -*************** -*** 377,385 **** - endif - - ifdef PERL -! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS) - ifeq (yes, $(DYNAMIC_PERL)) - CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" - endif - endif - ---- 378,387 ---- - endif - - ifdef PERL -! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL - ifeq (yes, $(DYNAMIC_PERL)) - CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" -+ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) - endif - endif - -*************** -*** 632,638 **** - - ifdef PERL - ifeq (no, $(DYNAMIC_PERL)) -! LIB += -lperl$(PERL_VER) - endif - endif - ---- 634,640 ---- - - ifdef PERL - ifeq (no, $(DYNAMIC_PERL)) -! LIB += -L$(PERLLIBS) -lperl$(PERL_VER) - endif - endif - -*** ../vim-7.4.116/src/if_perl.xs 2013-08-02 19:28:50.000000000 +0200 ---- src/if_perl.xs 2013-12-11 15:02:58.000000000 +0100 -*************** -*** 14,20 **** - #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ - - /* -! * Currently 32-bit version of ActivePerl is built with VC6. - * (http://community.activestate.com/faq/windows-compilers-perl-modules) - * It means that time_t should be 32-bit. However the default size of - * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T. ---- 14,21 ---- - #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ - - /* -! * Currently 32-bit version of ActivePerl is built with VC6 (or MinGW since -! * ActivePerl 5.18). - * (http://community.activestate.com/faq/windows-compilers-perl-modules) - * It means that time_t should be 32-bit. However the default size of - * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T. -*************** -*** 23,28 **** ---- 24,45 ---- - # define _USE_32BIT_TIME_T - #endif - -+ /* Work around for perl-5.18. -+ * Don't include "perl\lib\CORE\inline.h" for now, -+ * include it after Perl_sv_free2 is defined. */ -+ #define PERL_NO_INLINE_FUNCTIONS -+ -+ /* -+ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is -+ * already included before including winsock2.h, because winsock2.h isn't -+ * compatible with winsock.h. However the detection doesn't work with some -+ * versions of MinGW. If WIN32_LEAN_AND_MEAN is defined, windows.h will not -+ * include winsock.h. -+ */ -+ #ifdef WIN32 -+ # define WIN32_LEAN_AND_MEAN -+ #endif -+ - #include "vim.h" - - #include -*************** -*** 81,90 **** - # define PERL5101_OR_LATER - #endif - -- #if (PERL_REVISION == 5) && (PERL_VERSION >= 18) -- # define PERL5180_OR_LATER -- #endif -- - #ifndef pTHX - # define pTHX void - # define pTHX_ ---- 98,103 ---- -*************** -*** 145,155 **** - # define perl_free dll_perl_free - # define Perl_get_context dll_Perl_get_context - # define Perl_croak dll_Perl_croak -- # ifndef PERL5180_OR_LATER - # ifdef PERL5101_OR_LATER - # define Perl_croak_xs_usage dll_Perl_croak_xs_usage - # endif -- # endif - # ifndef PROTO - # define Perl_croak_nocontext dll_Perl_croak_nocontext - # define Perl_call_argv dll_Perl_call_argv ---- 158,166 ---- -*************** -*** 262,271 **** - static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); - static void* (*Perl_get_context)(void); - static void (*Perl_croak)(pTHX_ const char*, ...); -- #ifndef PERL5180_OR_LATER - #ifdef PERL5101_OR_LATER - static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); -! #endif - #endif - static void (*Perl_croak_nocontext)(const char*, ...); - static I32 (*Perl_dowantarray)(pTHX); ---- 273,285 ---- - static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); - static void* (*Perl_get_context)(void); - static void (*Perl_croak)(pTHX_ const char*, ...); - #ifdef PERL5101_OR_LATER -+ /* Perl-5.18 has a different Perl_croak_xs_usage signature. */ -+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18) -+ static void (*Perl_croak_xs_usage)(const CV *const, const char *const params); -+ # else - static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); -! # endif - #endif - static void (*Perl_croak_nocontext)(const char*, ...); - static I32 (*Perl_dowantarray)(pTHX); -*************** -*** 337,343 **** ---- 351,362 ---- - static XPV** (*Perl_TXpv_ptr)(register PerlInterpreter*); - static STRLEN* (*Perl_Tna_ptr)(register PerlInterpreter*); - #else -+ /* Perl-5.18 has a different Perl_sv_free2 signature. */ -+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18) -+ static void (*Perl_sv_free2)(pTHX_ SV*, const U32); -+ # else - static void (*Perl_sv_free2)(pTHX_ SV*); -+ # endif - static void (*Perl_sys_init)(int* argc, char*** argv); - static void (*Perl_sys_term)(void); - static void (*Perl_call_list)(pTHX_ I32, AV*); -*************** -*** 384,394 **** - {"perl_parse", (PERL_PROC*)&perl_parse}, - {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, - {"Perl_croak", (PERL_PROC*)&Perl_croak}, -- #ifndef PERL5180_OR_LATER - #ifdef PERL5101_OR_LATER - {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, - #endif -- #endif - {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, - {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, - {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, ---- 403,411 ---- -*************** -*** 492,497 **** ---- 509,522 ---- - {"", NULL}, - }; - -+ /* Work around for perl-5.18. -+ * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include -+ * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined. -+ * The linker won't complain about undefined __impl_Perl_sv_free2. */ -+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 18) -+ # include -+ #endif -+ - /* - * Make all runtime-links of perl. - * -*** ../vim-7.4.116/src/version.c 2013-12-11 14:54:58.000000000 +0100 ---- src/version.c 2013-12-11 15:00:12.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 117, - /**/ - --- -Despite the cost of living, have you noticed how it remains so popular? - - /// 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 /// diff --git a/7.4.118 b/7.4.118 deleted file mode 100644 index 04701cc4..00000000 --- a/7.4.118 +++ /dev/null @@ -1,90 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.118 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.118 -Problem: It's possible that redrawing the status lines causes - win_redr_custom() to be called recursively. -Solution: Protect against recursiveness. (Yasuhiro Matsumoto) -Files: src/screen.c - - -*** ../vim-7.4.117/src/screen.c 2013-11-08 04:30:06.000000000 +0100 ---- src/screen.c 2013-12-11 15:32:21.000000000 +0100 -*************** -*** 6653,6658 **** ---- 6653,6659 ---- - win_T *wp; - int draw_ruler; /* TRUE or FALSE */ - { -+ static int entered = FALSE; - int attr; - int curattr; - int row; -*************** -*** 6671,6676 **** ---- 6672,6684 ---- - win_T *ewp; - int p_crb_save; - -+ /* There is a tiny chance that this gets called recursively: When -+ * redrawing a status line triggers redrawing the ruler or tabline. -+ * Avoid trouble by not allowing recursion. */ -+ if (entered) -+ return; -+ entered = TRUE; -+ - /* setup environment for the task at hand */ - if (wp == NULL) - { -*************** -*** 6746,6752 **** - } - - if (maxwidth <= 0) -! return; - - /* Temporarily reset 'cursorbind', we don't want a side effect from moving - * the cursor away and back. */ ---- 6754,6760 ---- - } - - if (maxwidth <= 0) -! goto theend; - - /* Temporarily reset 'cursorbind', we don't want a side effect from moving - * the cursor away and back. */ -*************** -*** 6827,6832 **** ---- 6835,6843 ---- - while (col < Columns) - TabPageIdxs[col++] = fillchar; - } -+ -+ theend: -+ entered = FALSE; - } - - #endif /* FEAT_STL_OPT */ -*** ../vim-7.4.117/src/version.c 2013-12-11 15:06:36.000000000 +0100 ---- src/version.c 2013-12-11 15:32:16.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 118, - /**/ - --- -Nothing is fool-proof to a sufficiently talented fool. - - /// 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 /// diff --git a/7.4.119 b/7.4.119 deleted file mode 100644 index 061b81a5..00000000 --- a/7.4.119 +++ /dev/null @@ -1,245 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.119 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.119 -Problem: Vim doesn't work well on OpenVMS. -Solution: Fix various problems. (Samuel Ferencik) -Files: src/os_unix.c, src/os_unix.h, src/os_vms.c - - -*** ../vim-7.4.118/src/os_unix.c 2013-12-11 13:21:44.000000000 +0100 ---- src/os_unix.c 2013-12-11 16:16:03.000000000 +0100 -*************** -*** 168,174 **** - static pid_t wait4pid __ARGS((pid_t, waitstatus *)); - - static int WaitForChar __ARGS((long)); -! #if defined(__BEOS__) - int RealWaitForChar __ARGS((int, long, int *)); - #else - static int RealWaitForChar __ARGS((int, long, int *)); ---- 168,174 ---- - static pid_t wait4pid __ARGS((pid_t, waitstatus *)); - - static int WaitForChar __ARGS((long)); -! #if defined(__BEOS__) || defined(VMS) - int RealWaitForChar __ARGS((int, long, int *)); - #else - static int RealWaitForChar __ARGS((int, long, int *)); -*************** -*** 435,441 **** - /* Process the queued netbeans messages. */ - netbeans_parse_messages(); - #endif -- #ifndef VMS /* VMS: must try reading, WaitForChar() does nothing. */ - /* - * We want to be interrupted by the winch signal - * or by an event on the monitored file descriptors. ---- 435,440 ---- -*************** -*** 446,452 **** - handle_resize(); - return 0; - } -- #endif - - /* If input was put directly in typeahead buffer bail out here. */ - if (typebuf_changed(tb_change_cnt)) ---- 445,450 ---- -*************** -*** 5039,5044 **** ---- 5037,5043 ---- - return avail; - } - -+ #ifndef VMS - /* - * Wait "msec" msec until a character is available from file descriptor "fd". - * "msec" == 0 will check for characters once. -*************** -*** 5338,5350 **** - } - # endif - -- # ifdef OLD_VMS -- /* Old VMS as v6.2 and older have broken select(). It waits more than -- * required. Should not be used */ -- ret = 0; -- # else - ret = select(maxfd + 1, &rfds, NULL, &efds, tvp); -- # endif - # ifdef EINTR - if (ret == -1 && errno == EINTR) - { ---- 5337,5343 ---- -*************** -*** 5466,5473 **** - return (ret > 0); - } - -- #ifndef VMS -- - #ifndef NO_EXPANDPATH - /* - * Expand a path into all matching files and/or directories. Handles "*", ---- 5459,5464 ---- -*** ../vim-7.4.118/src/os_unix.h 2013-06-12 20:09:44.000000000 +0200 ---- src/os_unix.h 2013-12-11 16:16:03.000000000 +0100 -*************** -*** 225,230 **** ---- 225,232 ---- - # include - # include - # include -+ # include -+ # include - - # ifdef FEAT_GUI_GTK - # include "gui_gtk_vms.h" -*** ../vim-7.4.118/src/os_vms.c 2010-06-26 06:03:31.000000000 +0200 ---- src/os_vms.c 2013-12-11 17:10:24.000000000 +0100 -*************** -*** 11,16 **** ---- 11,33 ---- - - #include "vim.h" - -+ /* define _generic_64 for use in time functions */ -+ #ifndef VAX -+ # include -+ #else -+ /* based on Alpha's gen64def.h; the file is absent on VAX */ -+ typedef struct _generic_64 { -+ # pragma __nomember_alignment -+ __union { /* You can treat me as... */ -+ /* long long is not available on VAXen */ -+ /* unsigned __int64 gen64$q_quadword; ...a single 64-bit value, or */ -+ -+ unsigned int gen64$l_longword [2]; /* ...two 32-bit values, or */ -+ unsigned short int gen64$w_word [4]; /* ...four 16-bit values */ -+ } gen64$r_quad_overlay; -+ } GENERIC_64; -+ #endif -+ - typedef struct - { - char class; -*************** -*** 669,671 **** ---- 686,777 ---- - } - return ; - } -+ -+ struct typeahead_st { -+ unsigned short numchars; -+ unsigned char firstchar; -+ unsigned char reserved0; -+ unsigned long reserved1; -+ } typeahead; -+ -+ /* -+ * Wait "msec" msec until a character is available from file descriptor "fd". -+ * "msec" == 0 will check for characters once. -+ * "msec" == -1 will block until a character is available. -+ */ -+ int -+ RealWaitForChar(fd, msec, check_for_gpm) -+ int fd UNUSED; /* always read from iochan */ -+ long msec; -+ int *check_for_gpm UNUSED; -+ { -+ int status; -+ struct _generic_64 time_curr; -+ struct _generic_64 time_diff; -+ struct _generic_64 time_out; -+ unsigned int convert_operation = LIB$K_DELTA_SECONDS_F; -+ float sec = (float) msec / 1000; -+ -+ /* make sure the iochan is set */ -+ if (!iochan) -+ get_tty(); -+ -+ if (msec > 0) { -+ /* time-out specified; convert it to absolute time */ -+ -+ /* get current time (number of 100ns ticks since the VMS Epoch) */ -+ status = sys$gettim(&time_curr); -+ if (status != SS$_NORMAL) -+ return 0; /* error */ -+ -+ /* construct the delta time */ -+ status = lib$cvtf_to_internal_time( -+ &convert_operation, &sec, &time_diff); -+ if (status != LIB$_NORMAL) -+ return 0; /* error */ -+ -+ /* add them up */ -+ status = lib$add_times( -+ &time_curr, -+ &time_diff, -+ &time_out); -+ if (status != LIB$_NORMAL) -+ return 0; /* error */ -+ } -+ -+ while (TRUE) { -+ /* select() */ -+ status = sys$qiow(0, iochan, IO$_SENSEMODE | IO$M_TYPEAHDCNT, iosb, -+ 0, 0, &typeahead, 8, 0, 0, 0, 0); -+ if (status != SS$_NORMAL || (iosb[0] & 0xFFFF) != SS$_NORMAL) -+ return 0; /* error */ -+ -+ if (typeahead.numchars) -+ return 1; /* ready to read */ -+ -+ /* there's nothing to read; what now? */ -+ if (msec == 0) { -+ /* immediate time-out; return impatiently */ -+ return 0; -+ } -+ else if (msec < 0) { -+ /* no time-out; wait on indefinitely */ -+ continue; -+ } -+ else { -+ /* time-out needs to be checked */ -+ status = sys$gettim(&time_curr); -+ if (status != SS$_NORMAL) -+ return 0; /* error */ -+ -+ status = lib$sub_times( -+ &time_out, -+ &time_curr, -+ &time_diff); -+ if (status != LIB$_NORMAL) -+ return 0; /* error, incl. time_diff < 0 (i.e. time-out) */ -+ -+ /* otherwise wait some more */ -+ } -+ } -+ } -*** ../vim-7.4.118/src/version.c 2013-12-11 15:51:54.000000000 +0100 ---- src/version.c 2013-12-11 16:09:16.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 119, - /**/ - --- -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 /// diff --git a/7.4.120 b/7.4.120 deleted file mode 100644 index 4f7a17a1..00000000 --- a/7.4.120 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.120 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.120 (after 7.4.117) -Problem: Can't build with Perl 5.18 on Linux. (Lcd 47) -Solution: Add #ifdef. (Ken Takata) -Files: src/if_perl.xs - - -*** ../vim-7.4.119/src/if_perl.xs 2013-12-11 15:06:36.000000000 +0100 ---- src/if_perl.xs 2013-12-11 17:17:43.000000000 +0100 -*************** -*** 27,33 **** - /* Work around for perl-5.18. - * Don't include "perl\lib\CORE\inline.h" for now, - * include it after Perl_sv_free2 is defined. */ -! #define PERL_NO_INLINE_FUNCTIONS - - /* - * Prevent including winsock.h. perl.h tries to detect whether winsock.h is ---- 27,35 ---- - /* Work around for perl-5.18. - * Don't include "perl\lib\CORE\inline.h" for now, - * include it after Perl_sv_free2 is defined. */ -! #ifdef DYNAMIC_PERL -! # define PERL_NO_INLINE_FUNCTIONS -! #endif - - /* - * Prevent including winsock.h. perl.h tries to detect whether winsock.h is -*** ../vim-7.4.119/src/version.c 2013-12-11 17:12:32.000000000 +0100 ---- src/version.c 2013-12-11 17:19:34.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 120, - /**/ - --- -Just remember...if the world didn't suck, we'd all fall off. - - /// 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 /// diff --git a/7.4.121 b/7.4.121 deleted file mode 100644 index 2e04890e..00000000 --- a/7.4.121 +++ /dev/null @@ -1,48 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.121 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.121 -Problem: Completion doesn't work for ":py3d" and ":py3f". (Bohr Shaw) -Solution: Skip over letters after ":py3". -Files: src/ex_docmd.c - - -*** ../vim-7.4.120/src/ex_docmd.c 2013-11-21 14:21:25.000000000 +0100 ---- src/ex_docmd.c 2013-12-11 17:41:50.000000000 +0100 -*************** -*** 3261,3267 **** ---- 3261,3271 ---- - ++p; - /* for python 3.x: ":py3*" commands completion */ - if (cmd[0] == 'p' && cmd[1] == 'y' && p == cmd + 2 && *p == '3') -+ { - ++p; -+ while (ASCII_ISALPHA(*p) || *p == '*') -+ ++p; -+ } - len = (int)(p - cmd); - - if (len == 0) -*** ../vim-7.4.120/src/version.c 2013-12-11 17:20:14.000000000 +0100 ---- src/version.c 2013-12-11 17:43:44.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 121, - /**/ - --- -It was recently discovered that research causes cancer in rats. - - /// 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 /// diff --git a/7.4.122 b/7.4.122 deleted file mode 100644 index 2e6e581c..00000000 --- a/7.4.122 +++ /dev/null @@ -1,215 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.122 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.122 -Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage - is cp932 then ":grep" and other commands don't work for multi-byte - characters. -Solution: (Yasuhiro Matsumoto) -Files: src/os_win32.c - - -*** ../vim-7.4.121/src/os_win32.c 2013-12-07 14:48:06.000000000 +0100 ---- src/os_win32.c 2013-12-11 17:57:48.000000000 +0100 -*************** -*** 3788,3793 **** ---- 3788,3837 ---- - } - #endif /* FEAT_GUI_W32 */ - -+ static BOOL -+ vim_create_process( -+ const char *cmd, -+ DWORD flags, -+ BOOL inherit_handles, -+ STARTUPINFO *si, -+ PROCESS_INFORMATION *pi) -+ { -+ # ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ WCHAR *wcmd = enc_to_utf16(cmd, NULL); -+ -+ if (wcmd != NULL) -+ { -+ BOOL ret; -+ ret = CreateProcessW( -+ NULL, /* Executable name */ -+ wcmd, /* Command to execute */ -+ NULL, /* Process security attributes */ -+ NULL, /* Thread security attributes */ -+ inherit_handles, /* Inherit handles */ -+ flags, /* Creation flags */ -+ NULL, /* Environment */ -+ NULL, /* Current directory */ -+ si, /* Startup information */ -+ pi); /* Process information */ -+ vim_free(wcmd); -+ return ret; -+ } -+ } -+ #endif -+ return CreateProcess( -+ NULL, /* Executable name */ -+ cmd, /* Command to execute */ -+ NULL, /* Process security attributes */ -+ NULL, /* Thread security attributes */ -+ inherit_handles, /* Inherit handles */ -+ flags, /* Creation flags */ -+ NULL, /* Environment */ -+ NULL, /* Current directory */ -+ si, /* Startup information */ -+ pi); /* Process information */ -+ } - - - #if defined(FEAT_GUI_W32) || defined(PROTO) -*************** -*** 3834,3851 **** - cmd += 3; - - /* Now, run the command */ -! CreateProcess(NULL, /* Executable name */ -! cmd, /* Command to execute */ -! NULL, /* Process security attributes */ -! NULL, /* Thread security attributes */ -! FALSE, /* Inherit handles */ -! CREATE_DEFAULT_ERROR_MODE | /* Creation flags */ -! CREATE_NEW_CONSOLE, -! NULL, /* Environment */ -! NULL, /* Current directory */ -! &si, /* Startup information */ -! &pi); /* Process information */ -! - - /* Wait for the command to terminate before continuing */ - if (g_PlatformId != VER_PLATFORM_WIN32s) ---- 3878,3885 ---- - cmd += 3; - - /* Now, run the command */ -! vim_create_process(cmd, FALSE, -! CREATE_DEFAULT_ERROR_MODE | CREATE_NEW_CONSOLE, &si, &pi); - - /* Wait for the command to terminate before continuing */ - if (g_PlatformId != VER_PLATFORM_WIN32s) -*************** -*** 4177,4198 **** - p = cmd; - } - -! /* Now, run the command */ -! CreateProcess(NULL, /* Executable name */ -! p, /* Command to execute */ -! NULL, /* Process security attributes */ -! NULL, /* Thread security attributes */ -! -! // this command can be litigious, handle inheritance was -! // deactivated for pending temp file, but, if we deactivate -! // it, the pipes don't work for some reason. -! TRUE, /* Inherit handles, first deactivated, -! * but needed */ -! CREATE_DEFAULT_ERROR_MODE, /* Creation flags */ -! NULL, /* Environment */ -! NULL, /* Current directory */ -! &si, /* Startup information */ -! &pi); /* Process information */ - - if (p != cmd) - vim_free(p); ---- 4211,4221 ---- - p = cmd; - } - -! /* Now, run the command. -! * About "Inherit handles" being TRUE: this command can be litigious, -! * handle inheritance was deactivated for pending temp file, but, if we -! * deactivate it, the pipes don't work for some reason. */ -! vim_create_process(p, TRUE, CREATE_DEFAULT_ERROR_MODE, &si, &pi); - - if (p != cmd) - vim_free(p); -*************** -*** 4410,4416 **** - } - #else - -! # define mch_system(c, o) system(c) - - #endif - ---- 4433,4457 ---- - } - #else - -! # ifdef FEAT_MBYTE -! static int -! mch_system(char *cmd, int options) -! { -! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -! { -! WCHAR *wcmd = enc_to_utf16(cmd, NULL); -! if (wcmd != NULL) -! { -! int ret = _wsystem(wcmd); -! vim_free(wcmd); -! return ret; -! } -! } -! return system(cmd); -! } -! # else -! # define mch_system(c, o) system(c) -! # endif - - #endif - -*************** -*** 4578,4593 **** - * inherit our handles which causes unpleasant dangling swap - * files if we exit before the spawned process - */ -! if (CreateProcess(NULL, // Executable name -! newcmd, // Command to execute -! NULL, // Process security attributes -! NULL, // Thread security attributes -! FALSE, // Inherit handles -! flags, // Creation flags -! NULL, // Environment -! NULL, // Current directory -! &si, // Startup information -! &pi)) // Process information - x = 0; - else - { ---- 4619,4625 ---- - * inherit our handles which causes unpleasant dangling swap - * files if we exit before the spawned process - */ -! if (vim_create_process(newcmd, FALSE, flags, &si, &pi)) - x = 0; - else - { -*** ../vim-7.4.121/src/version.c 2013-12-11 17:44:33.000000000 +0100 ---- src/version.c 2013-12-11 17:48:09.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 122, - /**/ - --- -Never overestimate a man's ability to underestimate a woman. - - /// 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 /// diff --git a/7.4.123 b/7.4.123 deleted file mode 100644 index b564fe40..00000000 --- a/7.4.123 +++ /dev/null @@ -1,64 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.123 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.123 -Problem: Win32: Getting user name does not use wide function. -Solution: Use GetUserNameW() if possible. (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.122/src/os_win32.c 2013-12-11 17:58:29.000000000 +0100 ---- src/os_win32.c 2013-12-11 18:14:29.000000000 +0100 -*************** -*** 2768,2773 **** ---- 2768,2793 ---- - char szUserName[256 + 1]; /* UNLEN is 256 */ - DWORD cch = sizeof szUserName; - -+ #ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ WCHAR wszUserName[256 + 1]; /* UNLEN is 256 */ -+ DWORD wcch = sizeof(wszUserName) / sizeof(WCHAR); -+ -+ if (GetUserNameW(wszUserName, &wcch)) -+ { -+ char_u *p = utf16_to_enc(wszUserName, NULL); -+ -+ if (p != NULL) -+ { -+ vim_strncpy(s, p, len - 1); -+ vim_free(p); -+ return OK; -+ } -+ } -+ /* Retry with non-wide function (for Windows 98). */ -+ } -+ #endif - if (GetUserName(szUserName, &cch)) - { - vim_strncpy(s, szUserName, len - 1); -*** ../vim-7.4.122/src/version.c 2013-12-11 17:58:29.000000000 +0100 ---- src/version.c 2013-12-11 18:15:48.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 123, - /**/ - --- -Everybody lies, but it doesn't matter since nobody listens. - -- Lieberman's Law - - /// 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 /// diff --git a/7.4.124 b/7.4.124 deleted file mode 100644 index 7815bf5e..00000000 --- a/7.4.124 +++ /dev/null @@ -1,63 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.124 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.124 -Problem: Win32: Getting host name does not use wide function. -Solution: Use GetComputerNameW() if possible. (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.123/src/os_win32.c 2013-12-11 18:18:01.000000000 +0100 ---- src/os_win32.c 2013-12-11 18:19:11.000000000 +0100 -*************** -*** 2808,2813 **** ---- 2808,2833 ---- - { - DWORD cch = len; - -+ #ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ WCHAR wszHostName[256 + 1]; -+ DWORD wcch = sizeof(wszHostName) / sizeof(WCHAR); -+ -+ if (GetComputerNameW(wszHostName, &wcch)) -+ { -+ char_u *p = utf16_to_enc(wszHostName, NULL); -+ -+ if (p != NULL) -+ { -+ vim_strncpy(s, p, len - 1); -+ vim_free(p); -+ return; -+ } -+ } -+ /* Retry with non-wide function (for Windows 98). */ -+ } -+ #endif - if (!GetComputerName(s, &cch)) - vim_strncpy(s, "PC (Win32 Vim)", len - 1); - } -*** ../vim-7.4.123/src/version.c 2013-12-11 18:18:01.000000000 +0100 ---- src/version.c 2013-12-11 18:20:03.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 124, - /**/ - --- -Don't read everything you believe. - - /// 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 /// diff --git a/7.4.125 b/7.4.125 deleted file mode 100644 index 04a0fe9a..00000000 --- a/7.4.125 +++ /dev/null @@ -1,57 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.125 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.125 -Problem: Win32: Dealing with messages may not work for multi-byte chars. -Solution: Use pDispatchMessage(). (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.124/src/os_win32.c 2013-12-11 18:21:41.000000000 +0100 ---- src/os_win32.c 2013-12-11 18:23:47.000000000 +0100 -*************** -*** 4282,4291 **** - { - MSG msg; - -! if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE)) - { - TranslateMessage(&msg); -! DispatchMessage(&msg); - } - - /* write pipe information in the window */ ---- 4282,4291 ---- - { - MSG msg; - -! if (pPeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE)) - { - TranslateMessage(&msg); -! pDispatchMessage(&msg); - } - - /* write pipe information in the window */ -*** ../vim-7.4.124/src/version.c 2013-12-11 18:21:41.000000000 +0100 ---- src/version.c 2013-12-11 18:35:44.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 125, - /**/ - --- -Don't believe everything you hear or anything you say. - - /// 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 /// diff --git a/7.4.126 b/7.4.126 deleted file mode 100644 index c7acae7d..00000000 --- a/7.4.126 +++ /dev/null @@ -1,68 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.126 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.126 -Problem: Compiler warnings for "const" and incompatible types. -Solution: Remove "const", add type cast. (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.125/src/os_win32.c 2013-12-11 18:36:28.000000000 +0100 ---- src/os_win32.c 2013-12-12 20:19:39.000000000 +0100 -*************** -*** 3830,3836 **** - - static BOOL - vim_create_process( -! const char *cmd, - DWORD flags, - BOOL inherit_handles, - STARTUPINFO *si, ---- 3830,3836 ---- - - static BOOL - vim_create_process( -! char *cmd, - DWORD flags, - BOOL inherit_handles, - STARTUPINFO *si, -*************** -*** 3853,3859 **** - flags, /* Creation flags */ - NULL, /* Environment */ - NULL, /* Current directory */ -! si, /* Startup information */ - pi); /* Process information */ - vim_free(wcmd); - return ret; ---- 3853,3859 ---- - flags, /* Creation flags */ - NULL, /* Environment */ - NULL, /* Current directory */ -! (LPSTARTUPINFOW)si, /* Startup information */ - pi); /* Process information */ - vim_free(wcmd); - return ret; -*** ../vim-7.4.125/src/version.c 2013-12-11 18:36:28.000000000 +0100 ---- src/version.c 2013-12-12 20:21:27.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 126, - /**/ - --- -Microsoft is to software what McDonalds is to gourmet cooking - - /// 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 /// diff --git a/7.4.127 b/7.4.127 deleted file mode 100644 index 71ce694b..00000000 --- a/7.4.127 +++ /dev/null @@ -1,67 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.127 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.127 -Problem: Perl 5.18 on Unix doesn't work. -Solution: Move workaround to after including vim.h. (Ken Takata) -Files: src/if_perl.xs - - -*** ../vim-7.4.126/src/if_perl.xs 2013-12-11 17:20:14.000000000 +0100 ---- src/if_perl.xs 2013-12-14 11:41:56.000000000 +0100 -*************** -*** 24,36 **** - # define _USE_32BIT_TIME_T - #endif - -- /* Work around for perl-5.18. -- * Don't include "perl\lib\CORE\inline.h" for now, -- * include it after Perl_sv_free2 is defined. */ -- #ifdef DYNAMIC_PERL -- # define PERL_NO_INLINE_FUNCTIONS -- #endif -- - /* - * Prevent including winsock.h. perl.h tries to detect whether winsock.h is - * already included before including winsock2.h, because winsock2.h isn't ---- 24,29 ---- -*************** -*** 44,49 **** ---- 37,49 ---- - - #include "vim.h" - -+ /* Work around for perl-5.18. -+ * Don't include "perl\lib\CORE\inline.h" for now, -+ * include it after Perl_sv_free2 is defined. */ -+ #ifdef DYNAMIC_PERL -+ # define PERL_NO_INLINE_FUNCTIONS -+ #endif -+ - #include - #include - #include -*** ../vim-7.4.126/src/version.c 2013-12-12 20:25:39.000000000 +0100 ---- src/version.c 2013-12-14 11:43:54.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 127, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -54. You start tilting your head sideways to smile. :-) - - /// 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 /// diff --git a/7.4.128 b/7.4.128 deleted file mode 100644 index ead1b676..00000000 --- a/7.4.128 +++ /dev/null @@ -1,66 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.128 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.128 -Problem: Perl 5.18 for MSVC doesn't work. -Solution: Add check in makefile and define __inline. (Ken Takata) -Files: src/Make_mvc.mak, src/if_perl.xs - - -*** ../vim-7.4.127/src/Make_mvc.mak 2013-11-09 02:32:15.000000000 +0100 ---- src/Make_mvc.mak 2013-12-14 11:47:37.000000000 +0100 -*************** -*** 825,831 **** ---- 825,836 ---- - PERL_LIB = $(PERL_INCDIR)\perl.lib - !else - PERL_DLL = perl$(PERL_VER).dll -+ !if exist($(PERL_INCDIR)\perl$(PERL_VER).lib) - PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib -+ !else -+ # For ActivePerl 5.18 and later -+ PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a -+ !endif - !endif - - CFLAGS = $(CFLAGS) -DFEAT_PERL -*** ../vim-7.4.127/src/if_perl.xs 2013-12-14 11:46:04.000000000 +0100 ---- src/if_perl.xs 2013-12-14 11:47:37.000000000 +0100 -*************** -*** 44,49 **** ---- 44,54 ---- - # define PERL_NO_INLINE_FUNCTIONS - #endif - -+ /* Work around for using MSVC and ActivePerl 5.18. */ -+ #ifdef _MSC_VER -+ # define __inline__ __inline -+ #endif -+ - #include - #include - #include -*** ../vim-7.4.127/src/version.c 2013-12-14 11:46:04.000000000 +0100 ---- src/version.c 2013-12-14 11:48:51.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 128, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -55. You ask your doctor to implant a gig in your brain. - - /// 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 /// diff --git a/7.4.129 b/7.4.129 deleted file mode 100644 index efe9a1c5..00000000 --- a/7.4.129 +++ /dev/null @@ -1,56 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.129 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.129 -Problem: getline(-1) returns zero. (mvxxc) -Solution: Return an empty string. -Files: src/eval.c - - -*** ../vim-7.4.128/src/eval.c 2013-11-11 04:25:48.000000000 +0100 ---- src/eval.c 2013-12-14 12:11:27.000000000 +0100 -*************** -*** 11119,11124 **** ---- 11119,11126 ---- - { - char_u *p; - -+ rettv->v_type = VAR_STRING; -+ rettv->vval.v_string = NULL; - if (retlist && rettv_list_alloc(rettv) == FAIL) - return; - -*************** -*** 11131,11138 **** - p = ml_get_buf(buf, start, FALSE); - else - p = (char_u *)""; -- -- rettv->v_type = VAR_STRING; - rettv->vval.v_string = vim_strsave(p); - } - else ---- 11133,11138 ---- -*** ../vim-7.4.128/src/version.c 2013-12-14 11:50:28.000000000 +0100 ---- src/version.c 2013-12-14 12:13:32.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 129, - /**/ - --- -Keyboard not found. Think ENTER 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 /// diff --git a/7.4.130 b/7.4.130 deleted file mode 100644 index 864d82c9..00000000 --- a/7.4.130 +++ /dev/null @@ -1,69 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.130 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.130 -Problem: Relative line numbers mix up windows when using folds. -Solution: Use hasFoldingWin() instead of hasFolding(). (Lech Lorens) -Files: src/misc2.c - - -*** ../vim-7.4.129/src/misc2.c 2013-09-08 16:07:03.000000000 +0200 ---- src/misc2.c 2013-12-14 12:43:35.000000000 +0100 -*************** -*** 487,493 **** - { - while (lnum > cursor) - { -! (void)hasFolding(lnum, &lnum, NULL); - /* if lnum and cursor are in the same fold, - * now lnum <= cursor */ - if (lnum > cursor) ---- 487,493 ---- - { - while (lnum > cursor) - { -! (void)hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL); - /* if lnum and cursor are in the same fold, - * now lnum <= cursor */ - if (lnum > cursor) -*************** -*** 499,505 **** - { - while (lnum < cursor) - { -! (void)hasFolding(lnum, NULL, &lnum); - /* if lnum and cursor are in the same fold, - * now lnum >= cursor */ - if (lnum < cursor) ---- 499,505 ---- - { - while (lnum < cursor) - { -! (void)hasFoldingWin(wp, lnum, NULL, &lnum, TRUE, NULL); - /* if lnum and cursor are in the same fold, - * now lnum >= cursor */ - if (lnum < cursor) -*** ../vim-7.4.129/src/version.c 2013-12-14 12:17:34.000000000 +0100 ---- src/version.c 2013-12-14 12:44:27.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 130, - /**/ - --- -Over the years, I've developed my sense of deja vu so acutely that now -I can remember things that *have* happened before ... - - /// 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 /// diff --git a/7.4.131 b/7.4.131 deleted file mode 100644 index ec04b85f..00000000 --- a/7.4.131 +++ /dev/null @@ -1,113 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.131 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.131 -Problem: Syncbind causes E315 errors in some situations. (Liang Li) -Solution: Set and restore curbuf in ex_syncbind(). (Christian Brabandt) -Files: src/ex_docmd.c, src/testdir/test37.ok - - -*** ../vim-7.4.130/src/ex_docmd.c 2013-12-11 17:44:33.000000000 +0100 ---- src/ex_docmd.c 2013-12-14 12:55:05.000000000 +0100 -*************** -*** 8054,8059 **** ---- 8054,8061 ---- - { - #ifdef FEAT_SCROLLBIND - win_T *wp; -+ win_T *save_curwin = curwin; -+ buf_T *save_curbuf = curbuf; - long topline; - long y; - linenr_T old_linenr = curwin->w_cursor.lnum; -*************** -*** 8085,8097 **** - - - /* -! * set all scrollbind windows to the same topline - */ -- wp = curwin; - for (curwin = firstwin; curwin; curwin = curwin->w_next) - { - if (curwin->w_p_scb) - { - y = topline - curwin->w_topline; - if (y > 0) - scrollup(y, TRUE); ---- 8087,8099 ---- - - - /* -! * Set all scrollbind windows to the same topline. - */ - for (curwin = firstwin; curwin; curwin = curwin->w_next) - { - if (curwin->w_p_scb) - { -+ curbuf = curwin->w_buffer; - y = topline - curwin->w_topline; - if (y > 0) - scrollup(y, TRUE); -*************** -*** 8105,8111 **** - #endif - } - } -! curwin = wp; - if (curwin->w_p_scb) - { - did_syncbind = TRUE; ---- 8107,8114 ---- - #endif - } - } -! curwin = save_curwin; -! curbuf = save_curbuf; - if (curwin->w_p_scb) - { - did_syncbind = TRUE; -*** ../vim-7.4.130/src/testdir/test37.ok 2010-05-15 13:04:10.000000000 +0200 ---- src/testdir/test37.ok 2013-12-14 12:54:57.000000000 +0100 -*************** -*** 27,33 **** - - . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 - :set scrollbind -- zt: -- . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 - :set scrollbind -! . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 ---- 27,33 ---- - - . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 - :set scrollbind - :set scrollbind -! . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 -! j: -! . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 -*** ../vim-7.4.130/src/version.c 2013-12-14 12:48:55.000000000 +0100 ---- src/version.c 2013-12-14 13:03:51.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 131, - /**/ - --- -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 /// diff --git a/7.4.132 b/7.4.132 deleted file mode 100644 index 73d7281c..00000000 --- a/7.4.132 +++ /dev/null @@ -1,54 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.132 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.132 (after 7.4.122) -Problem: Win32: flags and inherit_handles arguments mixed up. -Solution: Swap the argument. (cs86661) -Files: src/os_win32.c - - -*** ../vim-7.4.131/src/os_win32.c 2013-12-12 20:25:39.000000000 +0100 ---- src/os_win32.c 2014-01-05 13:24:15.000000000 +0100 -*************** -*** 3831,3838 **** - static BOOL - vim_create_process( - char *cmd, -- DWORD flags, - BOOL inherit_handles, - STARTUPINFO *si, - PROCESS_INFORMATION *pi) - { ---- 3831,3838 ---- - static BOOL - vim_create_process( - char *cmd, - BOOL inherit_handles, -+ DWORD flags, - STARTUPINFO *si, - PROCESS_INFORMATION *pi) - { -*** ../vim-7.4.131/src/version.c 2013-12-14 13:06:13.000000000 +0100 ---- src/version.c 2014-01-05 13:27:25.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 132, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -93. New mail alarm on your palmtop annoys other churchgoers. - - /// 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 /// diff --git a/7.4.133 b/7.4.133 deleted file mode 100644 index 7c4bdfad..00000000 --- a/7.4.133 +++ /dev/null @@ -1,74 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.133 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.133 -Problem: Clang warns for using NUL. -Solution: Change NUL to NULL. (Dominique Pelle) -Files: src/eval.c, src/misc2.c - - -*** ../vim-7.4.132/src/eval.c 2013-12-14 12:17:34.000000000 +0100 ---- src/eval.c 2014-01-06 06:11:50.000000000 +0100 -*************** -*** 14141,14148 **** - } - else - { -! list_append_string(rettv->vval.v_list, NUL, -1); -! list_append_string(rettv->vval.v_list, NUL, -1); - } - } - #endif ---- 14141,14148 ---- - } - else - { -! list_append_string(rettv->vval.v_list, NULL, -1); -! list_append_string(rettv->vval.v_list, NULL, -1); - } - } - #endif -*** ../vim-7.4.132/src/misc2.c 2013-12-14 12:48:55.000000000 +0100 ---- src/misc2.c 2014-01-06 06:11:50.000000000 +0100 -*************** -*** 4695,4702 **** - else - { - char_u *p = gettail(search_ctx->ffsc_fix_path); -! char_u *wc_path = NUL; -! char_u *temp = NUL; - int len = 0; - - if (p > search_ctx->ffsc_fix_path) ---- 4695,4702 ---- - else - { - char_u *p = gettail(search_ctx->ffsc_fix_path); -! char_u *wc_path = NULL; -! char_u *temp = NULL; - int len = 0; - - if (p > search_ctx->ffsc_fix_path) -*** ../vim-7.4.132/src/version.c 2014-01-06 06:16:55.000000000 +0100 ---- src/version.c 2014-01-06 06:13:26.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 133, - /**/ - --- -A meeting is an event at which the minutes are kept and the hours are lost. - - /// 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 /// diff --git a/7.4.134 b/7.4.134 deleted file mode 100644 index d8f47c57..00000000 --- a/7.4.134 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.134 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.134 -Problem: Spurious space in MingW Makefile. -Solution: Remove the space. (Michael Soyka) -Files: src/Make_ming.mak - - -*** ../vim-7.4.133/src/Make_ming.mak 2013-12-11 15:06:36.000000000 +0100 ---- src/Make_ming.mak 2014-01-06 15:37:57.000000000 +0100 -*************** -*** 598,604 **** - ifeq (yes, $(GUI)) - OBJ += $(OUTDIR)/xpm_w32.o - # You'll need libXpm.a from http://gnuwin32.sf.net -! LIB += -L $(XPM)/lib -lXpm - endif - endif - ---- 598,604 ---- - ifeq (yes, $(GUI)) - OBJ += $(OUTDIR)/xpm_w32.o - # You'll need libXpm.a from http://gnuwin32.sf.net -! LIB += -L$(XPM)/lib -lXpm - endif - endif - -*** ../vim-7.4.133/src/version.c 2014-01-06 06:18:44.000000000 +0100 ---- src/version.c 2014-01-06 15:39:32.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 134, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -115. You are late picking up your kid from school and try to explain - to the teacher you were stuck in Web traffic. - - /// 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 /// diff --git a/7.4.135 b/7.4.135 deleted file mode 100644 index 4f11071b..00000000 --- a/7.4.135 +++ /dev/null @@ -1,51 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.135 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.135 -Problem: Missing dot in MingW test Makefile. -Solution: Add the dot. (Michael Soyka) -Files: src/testdir/Make_ming.mak - - -*** ../vim-7.4.134/src/testdir/Make_ming.mak 2013-11-21 14:21:25.000000000 +0100 ---- src/testdir/Make_ming.mak 2014-01-06 15:41:27.000000000 +0100 -*************** -*** 53,59 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100out test101.out test102.out test103.out - - SCRIPTS32 = test50.out test70.out - ---- 53,59 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.134/src/version.c 2014-01-06 15:44:59.000000000 +0100 ---- src/version.c 2014-01-06 15:47:14.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 135, - /**/ - --- -Two percent of zero is almost nothing. - - /// 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 /// diff --git a/7.4.136 b/7.4.136 deleted file mode 100644 index 20976809..00000000 --- a/7.4.136 +++ /dev/null @@ -1,75 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.136 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.136 (after 7.4.096) -Problem: MS-Windows: When saving a file with a UNC path the file becomes - read-only. -Solution: Don't mix up Win32 attributes and Unix attributes. (Ken Takata) -Files: src/os_mswin.c, src/os_win32.c - - -*** ../vim-7.4.135/src/os_mswin.c 2013-09-29 19:05:17.000000000 +0200 ---- src/os_mswin.c 2014-01-10 13:03:19.000000000 +0100 -*************** -*** 617,624 **** ---- 617,638 ---- - p = buf + strlen(buf); - if (p > buf) - mb_ptr_back(buf, p); -+ -+ /* Remove trailing '\\' except root path. */ - if (p > buf && (*p == '\\' || *p == '/') && p[-1] != ':') - *p = NUL; -+ -+ if ((buf[0] == '\\' && buf[1] == '\\') || (buf[0] == '/' && buf[1] == '/')) -+ { -+ /* UNC root path must be followed by '\\'. */ -+ p = vim_strpbrk(buf + 2, "\\/"); -+ if (p != NULL) -+ { -+ p = vim_strpbrk(p + 1, "\\/"); -+ if (p == NULL) -+ STRCAT(buf, "\\"); -+ } -+ } - #ifdef FEAT_MBYTE - if (enc_codepage >= 0 && (int)GetACP() != enc_codepage - # ifdef __BORLANDC__ -*** ../vim-7.4.135/src/os_win32.c 2014-01-05 13:29:16.000000000 +0100 ---- src/os_win32.c 2014-01-10 12:59:32.000000000 +0100 -*************** -*** 2890,2898 **** - struct stat st; - int n; - -- if (name[0] == '\\' && name[1] == '\\') -- /* UNC path */ -- return (long)win32_getattrs(name); - n = mch_stat(name, &st); - return n == 0 ? (long)st.st_mode : -1L; - } ---- 2890,2895 ---- -*** ../vim-7.4.135/src/version.c 2014-01-06 15:51:46.000000000 +0100 ---- src/version.c 2014-01-10 13:04:43.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 136, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -128. You can access the Net -- via your portable and cellular phone. - - /// 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 /// diff --git a/7.4.137 b/7.4.137 deleted file mode 100644 index 4e685c13..00000000 --- a/7.4.137 +++ /dev/null @@ -1,239 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.137 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.137 -Problem: Cannot use IME with Windows 8 console. -Solution: Change the user of ReadConsoleInput() and PeekConsoleInput(). - (Nobuhiro Takasaki) -Files: src/os_win32.c - - -*** ../vim-7.4.136/src/os_win32.c 2014-01-10 13:05:12.000000000 +0100 ---- src/os_win32.c 2014-01-10 13:42:19.000000000 +0100 -*************** -*** 232,237 **** ---- 232,306 ---- - - static char_u *exe_path = NULL; - -+ /* -+ * Version of ReadConsoleInput() that works with IME. -+ */ -+ static BOOL -+ read_console_input( -+ HANDLE hConsoleInput, -+ PINPUT_RECORD lpBuffer, -+ DWORD nLength, -+ LPDWORD lpNumberOfEventsRead) -+ { -+ enum -+ { -+ IRSIZE = 10, /* rough value */ -+ }; -+ static INPUT_RECORD irCache[IRSIZE]; -+ static DWORD s_dwIndex = 0; -+ static DWORD s_dwMax = 0; -+ -+ if (hConsoleInput == NULL || lpBuffer == NULL) -+ return ReadConsoleInput(hConsoleInput, lpBuffer, nLength, -+ lpNumberOfEventsRead); -+ -+ if (nLength == -1) -+ { -+ if (s_dwMax == 0) -+ { -+ PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead); -+ if (*lpNumberOfEventsRead == 0) -+ return FALSE; -+ ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); -+ s_dwIndex = 0; -+ } -+ ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; -+ *lpNumberOfEventsRead = 1; -+ return TRUE; -+ } -+ -+ if (s_dwMax == 0) -+ { -+ ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); -+ s_dwIndex = 0; -+ if (s_dwMax == 0) -+ { -+ *lpNumberOfEventsRead = 0; -+ return FALSE; -+ } -+ } -+ -+ ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; -+ if (++s_dwIndex == s_dwMax) -+ s_dwMax = 0; -+ *lpNumberOfEventsRead = 1; -+ return TRUE; -+ } -+ -+ /* -+ * Version of PeekConsoleInput() that works with IME. -+ */ -+ static BOOL -+ peek_console_input( -+ HANDLE hConsoleInput, -+ PINPUT_RECORD lpBuffer, -+ DWORD nLength, -+ LPDWORD lpNumberOfEventsRead) -+ { -+ return read_console_input(hConsoleInput, lpBuffer, -1, -+ lpNumberOfEventsRead); -+ } -+ - static void - get_exe_name(void) - { -*************** -*** 1117,1123 **** - INPUT_RECORD ir; - MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent; - -! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords); - - if (cRecords == 0 || ir.EventType != MOUSE_EVENT - || !(pmer2->dwButtonState & LEFT_RIGHT)) ---- 1186,1192 ---- - INPUT_RECORD ir; - MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent; - -! peek_console_input(g_hConIn, &ir, 1, &cRecords); - - if (cRecords == 0 || ir.EventType != MOUSE_EVENT - || !(pmer2->dwButtonState & LEFT_RIGHT)) -*************** -*** 1126,1132 **** - { - if (pmer2->dwEventFlags != MOUSE_MOVED) - { -! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); - - return decode_mouse_event(pmer2); - } ---- 1195,1201 ---- - { - if (pmer2->dwEventFlags != MOUSE_MOVED) - { -! read_console_input(g_hConIn, &ir, 1, &cRecords); - - return decode_mouse_event(pmer2); - } -*************** -*** 1134,1143 **** - s_yOldMouse == pmer2->dwMousePosition.Y) - { - /* throw away spurious mouse move */ -! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); - - /* are there any more mouse events in queue? */ -! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords); - - if (cRecords==0 || ir.EventType != MOUSE_EVENT) - break; ---- 1203,1212 ---- - s_yOldMouse == pmer2->dwMousePosition.Y) - { - /* throw away spurious mouse move */ -! read_console_input(g_hConIn, &ir, 1, &cRecords); - - /* are there any more mouse events in queue? */ -! peek_console_input(g_hConIn, &ir, 1, &cRecords); - - if (cRecords==0 || ir.EventType != MOUSE_EVENT) - break; -*************** -*** 1374,1380 **** - } - - cRecords = 0; -! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords); - - #ifdef FEAT_MBYTE_IME - if (State & CMDLINE && msg_row == Rows - 1) ---- 1443,1449 ---- - } - - cRecords = 0; -! peek_console_input(g_hConIn, &ir, 1, &cRecords); - - #ifdef FEAT_MBYTE_IME - if (State & CMDLINE && msg_row == Rows - 1) -*************** -*** 1405,1411 **** - if (ir.Event.KeyEvent.uChar.UnicodeChar == 0 - && ir.Event.KeyEvent.wVirtualKeyCode == 13) - { -! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); - continue; - } - #endif ---- 1474,1480 ---- - if (ir.Event.KeyEvent.uChar.UnicodeChar == 0 - && ir.Event.KeyEvent.wVirtualKeyCode == 13) - { -! read_console_input(g_hConIn, &ir, 1, &cRecords); - continue; - } - #endif -*************** -*** 1414,1420 **** - return TRUE; - } - -! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); - - if (ir.EventType == FOCUS_EVENT) - handle_focus_event(ir); ---- 1483,1489 ---- - return TRUE; - } - -! read_console_input(g_hConIn, &ir, 1, &cRecords); - - if (ir.EventType == FOCUS_EVENT) - handle_focus_event(ir); -*************** -*** 1484,1490 **** - return 0; - # endif - #endif -! if (ReadConsoleInput(g_hConIn, &ir, 1, &cRecords) == 0) - { - if (did_create_conin) - read_error_exit(); ---- 1553,1559 ---- - return 0; - # endif - #endif -! if (read_console_input(g_hConIn, &ir, 1, &cRecords) == 0) - { - if (did_create_conin) - read_error_exit(); -*** ../vim-7.4.136/src/version.c 2014-01-10 13:05:12.000000000 +0100 ---- src/version.c 2014-01-10 13:42:34.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 137, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -131. You challenge authority and society by portnuking people - - /// 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 /// diff --git a/7.4.138 b/7.4.138 deleted file mode 100644 index 413383c5..00000000 --- a/7.4.138 +++ /dev/null @@ -1,55 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.138 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.138 (after 7.4.114) -Problem: Directory change messages are not recognized. -Solution: Fix using a character range literally. (Lech Lorens) -Files: src/option.h - - -*** ../vim-7.4.137/src/option.h 2013-12-11 12:22:54.000000000 +0100 ---- src/option.h 2014-01-10 15:17:09.000000000 +0100 -*************** -*** 31,39 **** - # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" - # else /* Unix, probably */ - # ifdef EBCDIC -! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" - # else -! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" - # endif - # endif - # endif ---- 31,39 ---- - # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" - # else /* Unix, probably */ - # ifdef EBCDIC -! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m" - # else -! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m" - # endif - # endif - # endif -*** ../vim-7.4.137/src/version.c 2014-01-10 13:51:35.000000000 +0100 ---- src/version.c 2014-01-10 15:17:04.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 138, - /**/ - --- -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 /// diff --git a/7.4.139 b/7.4.139 deleted file mode 100644 index dc870dc0..00000000 --- a/7.4.139 +++ /dev/null @@ -1,76 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.139 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.139 -Problem: Crash when using :cd in autocommand. (François Ingelrest) -Solution: Set w_localdir to NULL after freeing it. (Dominique Pelle) -Files: src/ex_docmd.c, src/window.c - - -*** ../vim-7.4.138/src/ex_docmd.c 2013-12-14 13:06:13.000000000 +0100 ---- src/ex_docmd.c 2014-01-10 15:39:58.000000000 +0100 -*************** -*** 8228,8233 **** ---- 8228,8234 ---- - int local; - { - vim_free(curwin->w_localdir); -+ curwin->w_localdir = NULL; - if (local) - { - /* If still in global directory, need to remember current -*************** -*** 8244,8250 **** - * name. */ - vim_free(globaldir); - globaldir = NULL; -- curwin->w_localdir = NULL; - } - - shorten_fnames(TRUE); ---- 8245,8250 ---- -*** ../vim-7.4.138/src/window.c 2013-08-14 17:11:14.000000000 +0200 ---- src/window.c 2014-01-10 15:39:58.000000000 +0100 -*************** -*** 1216,1223 **** - else - copy_loclist(oldp, newp); - #endif -! if (oldp->w_localdir != NULL) -! newp->w_localdir = vim_strsave(oldp->w_localdir); - - /* copy tagstack and folds */ - for (i = 0; i < oldp->w_tagstacklen; i++) ---- 1216,1223 ---- - else - copy_loclist(oldp, newp); - #endif -! newp->w_localdir = (oldp->w_localdir == NULL) -! ? NULL : vim_strsave(oldp->w_localdir); - - /* copy tagstack and folds */ - for (i = 0; i < oldp->w_tagstacklen; i++) -*** ../vim-7.4.138/src/version.c 2014-01-10 15:32:17.000000000 +0100 ---- src/version.c 2014-01-10 15:39:48.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 139, - /**/ - --- -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 /// diff --git a/7.4.140 b/7.4.140 deleted file mode 100644 index e493828e..00000000 --- a/7.4.140 +++ /dev/null @@ -1,174 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.140 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.140 -Problem: Crash when wiping out buffer triggers autocommand that wipes out - only other buffer. -Solution: Do not delete the last buffer, make it empty. (Hirohito Higashi) -Files: src/buffer.c - - -*** ../vim-7.4.139/src/buffer.c 2013-11-06 05:26:08.000000000 +0100 ---- src/buffer.c 2014-01-10 16:41:22.000000000 +0100 -*************** -*** 994,999 **** ---- 994,1043 ---- - #if defined(FEAT_LISTCMDS) || defined(FEAT_PYTHON) \ - || defined(FEAT_PYTHON3) || defined(PROTO) - -+ static int empty_curbuf __ARGS((int close_others, int forceit, int action)); -+ -+ /* -+ * Make the current buffer empty. -+ * Used when it is wiped out and it's the last buffer. -+ */ -+ static int -+ empty_curbuf(close_others, forceit, action) -+ int close_others; -+ int forceit; -+ int action; -+ { -+ int retval; -+ buf_T *buf = curbuf; -+ -+ if (action == DOBUF_UNLOAD) -+ { -+ EMSG(_("E90: Cannot unload last buffer")); -+ return FAIL; -+ } -+ -+ if (close_others) -+ { -+ /* Close any other windows on this buffer, then make it empty. */ -+ #ifdef FEAT_WINDOWS -+ close_windows(buf, TRUE); -+ #endif -+ } -+ -+ setpcmark(); -+ retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, -+ forceit ? ECMD_FORCEIT : 0, curwin); -+ -+ /* -+ * do_ecmd() may create a new buffer, then we have to delete -+ * the old one. But do_ecmd() may have done that already, check -+ * if the buffer still exists. -+ */ -+ if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0) -+ close_buffer(NULL, buf, action, FALSE); -+ if (!close_others) -+ need_fileinfo = FALSE; -+ return retval; -+ } - /* - * Implementation of the commands for the buffer list. - * -*************** -*** 1114,1120 **** - if (unload) - { - int forward; -- int retval; - - /* When unloading or deleting a buffer that's already unloaded and - * unlisted: fail silently. */ ---- 1158,1163 ---- -*************** -*** 1155,1184 **** - if (bp->b_p_bl && bp != buf) - break; - if (bp == NULL && buf == curbuf) -! { -! if (action == DOBUF_UNLOAD) -! { -! EMSG(_("E90: Cannot unload last buffer")); -! return FAIL; -! } -! -! /* Close any other windows on this buffer, then make it empty. */ -! #ifdef FEAT_WINDOWS -! close_windows(buf, TRUE); -! #endif -! setpcmark(); -! retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, -! forceit ? ECMD_FORCEIT : 0, curwin); -! -! /* -! * do_ecmd() may create a new buffer, then we have to delete -! * the old one. But do_ecmd() may have done that already, check -! * if the buffer still exists. -! */ -! if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0) -! close_buffer(NULL, buf, action, FALSE); -! return retval; -! } - - #ifdef FEAT_WINDOWS - /* ---- 1198,1204 ---- - if (bp->b_p_bl && bp != buf) - break; - if (bp == NULL && buf == curbuf) -! return empty_curbuf(TRUE, forceit, action); - - #ifdef FEAT_WINDOWS - /* -*************** -*** 1212,1218 **** - - /* - * Deleting the current buffer: Need to find another buffer to go to. -! * There must be another, otherwise it would have been handled above. - * First use au_new_curbuf, if it is valid. - * Then prefer the buffer we most recently visited. - * Else try to find one that is loaded, after the current buffer, ---- 1232,1239 ---- - - /* - * Deleting the current buffer: Need to find another buffer to go to. -! * There should be another, otherwise it would have been handled -! * above. However, autocommands may have deleted all buffers. - * First use au_new_curbuf, if it is valid. - * Then prefer the buffer we most recently visited. - * Else try to find one that is loaded, after the current buffer, -*************** -*** 1311,1316 **** ---- 1332,1344 ---- - } - } - -+ if (buf == NULL) -+ { -+ /* Autocommands must have wiped out all other buffers. Only option -+ * now is to make the current buffer empty. */ -+ return empty_curbuf(FALSE, forceit, action); -+ } -+ - /* - * make buf current buffer - */ -*** ../vim-7.4.139/src/version.c 2014-01-10 15:53:09.000000000 +0100 ---- src/version.c 2014-01-10 16:36:03.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 140, - /**/ - --- -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 /// diff --git a/7.4.141 b/7.4.141 deleted file mode 100644 index 8667b727..00000000 --- a/7.4.141 +++ /dev/null @@ -1,88 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.141 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.141 -Problem: Problems when building with Borland: st_mode is signed short; - can't build with Python; temp files not ignored by Mercurial; - building with DEBUG doesn't define _DEBUG. -Solution: Fix the problems. (Ken Takata) -Files: src/Make_bc5.mak, src/if_py_both.h, src/os_win32.c - - -*** ../vim-7.4.140/src/Make_bc5.mak 2013-06-03 20:09:58.000000000 +0200 ---- src/Make_bc5.mak 2014-01-10 18:12:14.000000000 +0100 -*************** -*** 419,425 **** - ALIGNARG = -a$(ALIGN) - # - !if ("$(DEBUG)"=="yes") -! DEFINES=$(DEFINES) -DDEBUG - !endif - # - !if ("$(OLE)"=="yes") ---- 419,425 ---- - ALIGNARG = -a$(ALIGN) - # - !if ("$(DEBUG)"=="yes") -! DEFINES=$(DEFINES) -DDEBUG -D_DEBUG - !endif - # - !if ("$(OLE)"=="yes") -*** ../vim-7.4.140/src/if_py_both.h 2013-12-07 14:28:37.000000000 +0100 ---- src/if_py_both.h 2014-01-10 18:12:14.000000000 +0100 -*************** -*** 13,18 **** ---- 13,23 ---- - * Common code for if_python.c and if_python3.c. - */ - -+ #ifdef __BORLANDC__ -+ /* Disable Warning W8060: Possibly incorrect assignment in function ... */ -+ # pragma warn -8060 -+ #endif -+ - static char_u e_py_systemexit[] = "E880: Can't handle SystemExit of %s exception in vim"; - - #if PY_VERSION_HEX < 0x02050000 -*** ../vim-7.4.140/src/os_win32.c 2014-01-10 13:51:35.000000000 +0100 ---- src/os_win32.c 2014-01-10 18:12:14.000000000 +0100 -*************** -*** 2960,2966 **** - int n; - - n = mch_stat(name, &st); -! return n == 0 ? (long)st.st_mode : -1L; - } - - ---- 2960,2966 ---- - int n; - - n = mch_stat(name, &st); -! return n == 0 ? (long)(unsigned short)st.st_mode : -1L; - } - - -*** ../vim-7.4.140/src/version.c 2014-01-10 16:43:09.000000000 +0100 ---- src/version.c 2014-01-10 18:14:58.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 141, - /**/ - --- -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 /// diff --git a/7.4.142 b/7.4.142 deleted file mode 100644 index 0e4f8f07..00000000 --- a/7.4.142 +++ /dev/null @@ -1,186 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.142 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.142 (after 7.4.137) -Problem: On MS-Windows 8 IME input doen't work correctly. -Solution: Work around the problem. (Nobuhiro Takasaki) -Files: src/os_win32.c - - -*** ../vim-7.4.141/src/os_win32.c 2014-01-10 18:16:00.000000000 +0100 ---- src/os_win32.c 2014-01-12 13:23:24.000000000 +0100 -*************** -*** 234,289 **** - - /* - * Version of ReadConsoleInput() that works with IME. - */ - static BOOL - read_console_input( -! HANDLE hConsoleInput, -! PINPUT_RECORD lpBuffer, -! DWORD nLength, -! LPDWORD lpNumberOfEventsRead) - { - enum - { -! IRSIZE = 10, /* rough value */ - }; -! static INPUT_RECORD irCache[IRSIZE]; - static DWORD s_dwIndex = 0; - static DWORD s_dwMax = 0; -! -! if (hConsoleInput == NULL || lpBuffer == NULL) -! return ReadConsoleInput(hConsoleInput, lpBuffer, nLength, -! lpNumberOfEventsRead); -! -! if (nLength == -1) -! { -! if (s_dwMax == 0) -! { -! PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead); -! if (*lpNumberOfEventsRead == 0) -! return FALSE; -! ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); -! s_dwIndex = 0; -! } -! ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; -! *lpNumberOfEventsRead = 1; -! return TRUE; -! } - - if (s_dwMax == 0) - { -! ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); - s_dwIndex = 0; -! if (s_dwMax == 0) - { -! *lpNumberOfEventsRead = 0; -! return FALSE; - } - } -! -! ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; -! if (++s_dwIndex == s_dwMax) - s_dwMax = 0; -! *lpNumberOfEventsRead = 1; - return TRUE; - } - ---- 234,275 ---- - - /* - * Version of ReadConsoleInput() that works with IME. -+ * Works around problems on Windows 8. - */ - static BOOL - read_console_input( -! HANDLE hInput, -! INPUT_RECORD *lpBuffer, -! DWORD nLength, -! LPDWORD lpEvents) - { - enum - { -! IRSIZE = 10 - }; -! static INPUT_RECORD s_irCache[IRSIZE]; - static DWORD s_dwIndex = 0; - static DWORD s_dwMax = 0; -! DWORD dwEvents; - - if (s_dwMax == 0) - { -! if (nLength == -1) -! return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents); -! if (!ReadConsoleInput(hInput, s_irCache, IRSIZE, &dwEvents)) -! return FALSE; - s_dwIndex = 0; -! s_dwMax = dwEvents; -! if (dwEvents == 0) - { -! *lpEvents = 0; -! return TRUE; - } - } -! *lpBuffer = s_irCache[s_dwIndex]; -! if (nLength != -1 && ++s_dwIndex >= s_dwMax) - s_dwMax = 0; -! *lpEvents = 1; - return TRUE; - } - -*************** -*** 292,304 **** - */ - static BOOL - peek_console_input( -! HANDLE hConsoleInput, -! PINPUT_RECORD lpBuffer, -! DWORD nLength, -! LPDWORD lpNumberOfEventsRead) - { -! return read_console_input(hConsoleInput, lpBuffer, -1, -! lpNumberOfEventsRead); - } - - static void ---- 278,289 ---- - */ - static BOOL - peek_console_input( -! HANDLE hInput, -! INPUT_RECORD *lpBuffer, -! DWORD nLength, -! LPDWORD lpEvents) - { -! return read_console_input(hInput, lpBuffer, -1, lpEvents); - } - - static void -*************** -*** 585,594 **** - static BOOL - win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable) - { -! BOOL bResult; -! LUID luid; -! HANDLE hToken; -! TOKEN_PRIVILEGES tokenPrivileges; - - if (!OpenProcessToken(GetCurrentProcess(), - TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) ---- 570,579 ---- - static BOOL - win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable) - { -! BOOL bResult; -! LUID luid; -! HANDLE hToken; -! TOKEN_PRIVILEGES tokenPrivileges; - - if (!OpenProcessToken(GetCurrentProcess(), - TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) -*** ../vim-7.4.141/src/version.c 2014-01-10 18:16:00.000000000 +0100 ---- src/version.c 2014-01-12 13:17:47.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 142, - /**/ - --- -Drink wet cement and get really stoned. - - /// 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 /// diff --git a/7.4.143 b/7.4.143 deleted file mode 100644 index 909a9e9c..00000000 --- a/7.4.143 +++ /dev/null @@ -1,214 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.143 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.143 -Problem: TextChangedI is not triggered. -Solution: Reverse check for "ready". (lilydjwg) -Files: src/edit.c - - -*** ../vim-7.4.142/src/edit.c 2013-11-06 04:01:31.000000000 +0100 ---- src/edit.c 2014-01-12 13:30:53.000000000 +0100 -*************** -*** 1556,1642 **** - int conceal_update_lines = FALSE; - #endif - -! if (!char_avail()) -! { - #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL) -! /* Trigger CursorMoved if the cursor moved. Not when the popup menu is -! * visible, the command might delete it. */ -! if (ready && ( - # ifdef FEAT_AUTOCMD -! has_cursormovedI() - # endif - # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL) -! || - # endif - # ifdef FEAT_CONCEAL -! curwin->w_p_cole > 0 - # endif -! ) -! && !equalpos(last_cursormoved, curwin->w_cursor) - # ifdef FEAT_INS_EXPAND -! && !pum_visible() - # endif -! ) -! { - # ifdef FEAT_SYN_HL -! /* Need to update the screen first, to make sure syntax -! * highlighting is correct after making a change (e.g., inserting -! * a "(". The autocommand may also require a redraw, so it's done -! * again below, unfortunately. */ -! if (syntax_present(curwin) && must_redraw) -! update_screen(0); - # endif - # ifdef FEAT_AUTOCMD -! if (has_cursormovedI()) -! apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf); - # endif - # ifdef FEAT_CONCEAL -! if (curwin->w_p_cole > 0) -! { -! conceal_old_cursor_line = last_cursormoved.lnum; -! conceal_new_cursor_line = curwin->w_cursor.lnum; -! conceal_update_lines = TRUE; -! } -! # endif -! last_cursormoved = curwin->w_cursor; - } - #endif - #ifdef FEAT_AUTOCMD -! /* Trigger TextChangedI if b_changedtick differs. */ -! if (!ready && has_textchangedI() -! && last_changedtick != curbuf->b_changedtick - # ifdef FEAT_INS_EXPAND -! && !pum_visible() - # endif -! ) -! { -! if (last_changedtick_buf == curbuf) -! apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf); -! last_changedtick_buf = curbuf; -! last_changedtick = curbuf->b_changedtick; -! } - #endif -! if (must_redraw) -! update_screen(0); -! else if (clear_cmdline || redraw_cmdline) -! showmode(); /* clear cmdline and show mode */ - # if defined(FEAT_CONCEAL) -! if ((conceal_update_lines -! && (conceal_old_cursor_line != conceal_new_cursor_line -! || 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 == 0 -! ? curwin->w_cursor.lnum : conceal_new_cursor_line); -! curwin->w_valid &= ~VALID_CROW; -! } -! # endif -! showruler(FALSE); -! setcursor(); -! emsg_on_display = FALSE; /* may remove error message now */ - } - } - - /* ---- 1556,1644 ---- - int conceal_update_lines = FALSE; - #endif - -! if (char_avail()) -! return; -! - #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL) -! /* Trigger CursorMoved if the cursor moved. Not when the popup menu is -! * visible, the command might delete it. */ -! if (ready && ( - # ifdef FEAT_AUTOCMD -! has_cursormovedI() - # endif - # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL) -! || - # endif - # ifdef FEAT_CONCEAL -! curwin->w_p_cole > 0 - # endif -! ) -! && !equalpos(last_cursormoved, curwin->w_cursor) - # ifdef FEAT_INS_EXPAND -! && !pum_visible() - # endif -! ) -! { - # ifdef FEAT_SYN_HL -! /* Need to update the screen first, to make sure syntax -! * highlighting is correct after making a change (e.g., inserting -! * a "(". The autocommand may also require a redraw, so it's done -! * again below, unfortunately. */ -! if (syntax_present(curwin) && must_redraw) -! update_screen(0); - # endif - # ifdef FEAT_AUTOCMD -! if (has_cursormovedI()) -! apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf); - # endif - # ifdef FEAT_CONCEAL -! if (curwin->w_p_cole > 0) -! { -! conceal_old_cursor_line = last_cursormoved.lnum; -! conceal_new_cursor_line = curwin->w_cursor.lnum; -! conceal_update_lines = TRUE; - } -+ # endif -+ last_cursormoved = curwin->w_cursor; -+ } - #endif -+ - #ifdef FEAT_AUTOCMD -! /* Trigger TextChangedI if b_changedtick differs. */ -! if (ready && has_textchangedI() -! && last_changedtick != curbuf->b_changedtick - # ifdef FEAT_INS_EXPAND -! && !pum_visible() - # endif -! ) -! { -! if (last_changedtick_buf == curbuf) -! apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf); -! last_changedtick_buf = curbuf; -! last_changedtick = curbuf->b_changedtick; -! } - #endif -! -! if (must_redraw) -! update_screen(0); -! else if (clear_cmdline || redraw_cmdline) -! showmode(); /* clear cmdline and show mode */ - # if defined(FEAT_CONCEAL) -! if ((conceal_update_lines -! && (conceal_old_cursor_line != conceal_new_cursor_line -! || 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 == 0 -! ? curwin->w_cursor.lnum : conceal_new_cursor_line); -! curwin->w_valid &= ~VALID_CROW; - } -+ # endif -+ showruler(FALSE); -+ setcursor(); -+ emsg_on_display = FALSE; /* may remove error message now */ - } - - /* -*** ../vim-7.4.142/src/version.c 2014-01-12 13:24:46.000000000 +0100 ---- src/version.c 2014-01-14 12:15:50.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 143, - /**/ - --- -You are not really successful until someone claims he sat -beside you in school. - - /// 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 /// diff --git a/7.4.144 b/7.4.144 deleted file mode 100644 index c88e2d2c..00000000 --- a/7.4.144 +++ /dev/null @@ -1,52 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.144 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.144 -Problem: MingW also supports intptr_t for OPEN_OH_ARGTYPE. -Solution: Adjust #ifdef. (Ken Takata) -Files: src/os_mswin.c - - -*** ../vim-7.4.143/src/os_mswin.c 2014-01-10 13:05:12.000000000 +0100 ---- src/os_mswin.c 2014-01-14 12:15:30.000000000 +0100 -*************** -*** 498,504 **** - } - } - -! #if (_MSC_VER >= 1300) - # define OPEN_OH_ARGTYPE intptr_t - #else - # define OPEN_OH_ARGTYPE long ---- 498,504 ---- - } - } - -! #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__) - # define OPEN_OH_ARGTYPE intptr_t - #else - # define OPEN_OH_ARGTYPE long -*** ../vim-7.4.143/src/version.c 2014-01-14 12:16:57.000000000 +0100 ---- src/version.c 2014-01-14 12:18:10.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 144, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -150. You find yourself counting emoticons to get to sleep. - - /// 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 /// diff --git a/7.4.145 b/7.4.145 deleted file mode 100644 index aa7b28d0..00000000 --- a/7.4.145 +++ /dev/null @@ -1,75 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.145 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.145 -Problem: getregtype() does not return zero for unknown register. -Solution: Adjust documention: return empty string for unknown register. - Check the register name to be valid. (Yukihiro Nakadaira) -Files: runtime/doc/eval.txt, src/ops.c - - -*** ../vim-7.4.144/runtime/doc/eval.txt 2013-11-09 01:44:38.000000000 +0100 ---- runtime/doc/eval.txt 2014-01-14 12:24:35.000000000 +0100 -*************** -*** 3459,3465 **** - "v" for |characterwise| text - "V" for |linewise| text - "{width}" for |blockwise-visual| text -! 0 for an empty or unknown register - is one character with value 0x16. - If {regname} is not specified, |v:register| is used. - ---- 3460,3466 ---- - "v" for |characterwise| text - "V" for |linewise| text - "{width}" for |blockwise-visual| text -! "" for an empty or unknown register - is one character with value 0x16. - If {regname} is not specified, |v:register| is used. - -*** ../vim-7.4.144/src/ops.c 2013-11-21 14:39:58.000000000 +0100 ---- src/ops.c 2014-01-14 12:28:33.000000000 +0100 -*************** -*** 6240,6246 **** - regname = may_get_selection(regname); - #endif - -! /* Should we check for a valid name? */ - get_yank_register(regname, FALSE); - - if (y_current->y_array != NULL) ---- 6240,6248 ---- - regname = may_get_selection(regname); - #endif - -! if (regname != NUL && !valid_yank_reg(regname, FALSE)) -! return MAUTO; -! - get_yank_register(regname, FALSE); - - if (y_current->y_array != NULL) -*** ../vim-7.4.144/src/version.c 2014-01-14 12:18:41.000000000 +0100 ---- src/version.c 2014-01-14 12:26:13.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 145, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -151. You find yourself engaged to someone you've never actually met, - except through 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 /// diff --git a/7.4.146 b/7.4.146 deleted file mode 100644 index f23a77da..00000000 --- a/7.4.146 +++ /dev/null @@ -1,67 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.146 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.146 -Problem: When starting Vim with "-u NONE" v:oldfiles is NULL. -Solution: Set v:oldfiles to an empty list. (Yasuhiro Matsumoto) -Files: src/main.c - - -*** ../vim-7.4.145/src/main.c 2013-09-29 16:27:42.000000000 +0200 ---- src/main.c 2014-01-14 12:53:28.000000000 +0100 -*************** -*** 702,707 **** ---- 702,712 ---- - TIME_MSG("reading viminfo"); - } - #endif -+ #ifdef FEAT_EVAL -+ /* It's better to make v:oldfiles an empty list than NULL. */ -+ if (get_vim_var_list(VV_OLDFILES) == NULL) -+ set_vim_var_list(VV_OLDFILES, list_alloc()); -+ #endif - - #ifdef FEAT_QUICKFIX - /* -*************** -*** 1048,1054 **** - /* Setup to catch a terminating error from the X server. Just ignore - * it, restore the state and continue. This might not always work - * properly, but at least we don't exit unexpectedly when the X server -! * exists while Vim is running in a console. */ - if (!cmdwin && !noexmode && SETJMP(x_jump_env)) - { - State = NORMAL; ---- 1053,1059 ---- - /* Setup to catch a terminating error from the X server. Just ignore - * it, restore the state and continue. This might not always work - * properly, but at least we don't exit unexpectedly when the X server -! * exits while Vim is running in a console. */ - if (!cmdwin && !noexmode && SETJMP(x_jump_env)) - { - State = NORMAL; -*** ../vim-7.4.145/src/version.c 2014-01-14 12:33:32.000000000 +0100 ---- src/version.c 2014-01-14 12:56:08.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 146, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -152. You find yourself falling for someone you've never seen or hardly - know, but, boy can he/she TYPE!!!!!! - - /// 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 /// diff --git a/7.4.147 b/7.4.147 deleted file mode 100644 index 0df6ffa81db9a0e41cbe1b9c4500398b8d7084b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2583 zcmc&0U2oeqaIYcI*S_rKngvaqT3@zoCu(CfO`Ww^(-n)CeWeR%iIx~kq()L!f_49W zM>$UHG#d)+VT57o$oszI-Hl}gb6#8|Z2mHpGR;}4WL0W6mIXPjCYLNW5qzK~&S2n% zZV(R0aU4e=D>IQ-(+ba3W>S1f>dISomeJgk8bRkeu*>IcH31E=2@^>yslX z3=_r~UzaQb!>){1=9G))5NA|rW)6NFA3J+@c!~-=Wy%?eSSDPg5$sL4A`jJL=!&zX*zTdiVGNLA3>joV-$!?a1bYWD8F%f*Aoaz+T*-Q5M(^)TqpBA|V5 zmET6k54uj!ae@GXFzVrN&-IrJp80|ATaPzlmr7Wo(D4H&2qEZ3`0M(g5uxDKMG%0n zABOF)-}Av<5$j`szi|JC33M8MkSEPqEOVO7sfgK5T&bE1XINk0m#(QWt>+dIiTD%} zHsyjPJIABL@x{Bh??4aAU>1lf$2nzJG@%EevP5X7@1e zwD}($V59dy8hw_CH~ADeohF~U`~Q|t4^potRwwF)UzAwAPP;c)B$Z881pBvP`nD^B zPB-lJ2YdTpcV>Psf84oLkMMYZZ_w}AqfT@5_z?#6VeG}leSGo^qRr+H#`q#_-q?z> zEHN(pWNXZv9ZYf=&um?RGp=n#SsWBHVa@4QdTH5U4ZOv+FuTIK64_Vx1Uj?x7e~(7 z5K+%xjC4F~1m{Q*qr8KZ8QgX@w}+c8OS)B71`f6{(V}hFV*J+m=x&3YPM2`^BN`QX zznhGC?X4PyL#)Z#xLE1!#UJzuZlm|F$D`9R`LgiK*?$TDf_gptVgHN5A9mYe?=Jin z>@Q#G{@z#p9-6YgKLhKUuyKh0Pv*@R?aPhV3SKAb4I=;Zg14-a4^v^845ASG;Bwv6 zR`l%ZA_%}B^xK0lxHD*RaGTM8Vh!_l;V?-+uo}vyU5l!iU;~@5T-IPR>{U5dM%eW* z9lYIUv$YR9dKLH?GCDfl@Jt705&wpoMLo_O52MltQED zpr)#g`FkxPdBCfYVvAN6*)I85&CK|1& z0WOH1;Soz9!xy80 -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.148 -Problem: Cannot build with Cygwin and X11. -Solution: Include Xwindows.h instead of windows.h. (Lech Lorens) -Files: src/mbyte.c - - -*** ../vim-7.4.147/src/mbyte.c 2013-11-12 04:43:57.000000000 +0100 ---- src/mbyte.c 2014-01-14 13:21:36.000000000 +0100 -*************** -*** 83,92 **** - # ifndef WIN32_LEAN_AND_MEAN - # define WIN32_LEAN_AND_MEAN - # endif -! # include - # ifdef WIN32 - # undef WIN32 /* Some windows.h define WIN32, we don't want that here. */ - # endif - #endif - - #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__) ---- 83,100 ---- - # ifndef WIN32_LEAN_AND_MEAN - # define WIN32_LEAN_AND_MEAN - # endif -! # if defined(FEAT_GUI) || defined(FEAT_XCLIPBOARD) -! # include -! # define WINBYTE wBYTE -! # else -! # include -! # define WINBYTE BYTE -! # endif - # ifdef WIN32 - # undef WIN32 /* Some windows.h define WIN32, we don't want that here. */ - # endif -+ #else -+ # define WINBYTE BYTE - #endif - - #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__) -*************** -*** 698,704 **** - /* enc_dbcs is set by setting 'fileencoding'. It becomes a Windows - * CodePage identifier, which we can pass directly in to Windows - * API */ -! n = IsDBCSLeadByteEx(enc_dbcs, (BYTE)i) ? 2 : 1; - #else - # if defined(MACOS) || defined(__amigaos4__) - /* ---- 706,712 ---- - /* enc_dbcs is set by setting 'fileencoding'. It becomes a Windows - * CodePage identifier, which we can pass directly in to Windows - * API */ -! n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1; - #else - # if defined(MACOS) || defined(__amigaos4__) - /* -*** ../vim-7.4.147/src/version.c 2014-01-14 13:18:53.000000000 +0100 ---- src/version.c 2014-01-14 13:24:17.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 148, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -154. You fondle your mouse. - - /// 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 /// diff --git a/7.4.149 b/7.4.149 deleted file mode 100644 index b1584205..00000000 --- a/7.4.149 +++ /dev/null @@ -1,822 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.149 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.149 -Problem: Get E685 error when assigning a function to an autoload variable. - (Yukihiro Nakadaira) -Solution: Instead of having a global no_autoload variable, pass an autoload - flag down to where it is used. (ZyX) -Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok, - src/testdir/test60.in, src/testdir/test60.ok, - src/testdir/sautest/autoload/footest.vim - - -*** ../vim-7.4.148/src/eval.c 2014-01-06 06:18:44.000000000 +0100 ---- src/eval.c 2014-01-14 15:14:05.000000000 +0100 -*************** -*** 125,133 **** - */ - static hashtab_T compat_hashtab; - -- /* When using exists() don't auto-load a script. */ -- static int no_autoload = FALSE; -- - /* - * When recursively copying lists and dicts we need to remember which ones we - * have done to avoid endless recursiveness. This unique ID is used for that. ---- 125,130 ---- -*************** -*** 156,161 **** ---- 153,163 ---- - /* Values for trans_function_name() argument: */ - #define TFN_INT 1 /* internal function name OK */ - #define TFN_QUIET 2 /* no error messages */ -+ #define TFN_NO_AUTOLOAD 4 /* do not use script autoloading */ -+ -+ /* Values for get_lval() flags argument: */ -+ #define GLV_QUIET TFN_QUIET /* no error messages */ -+ #define GLV_NO_AUTOLOAD TFN_NO_AUTOLOAD /* do not use script autoloading */ - - /* - * Structure to hold info for a user function. -*************** -*** 390,396 **** - static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first)); - static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op)); - static int check_changedtick __ARGS((char_u *arg)); -! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet, int fne_flags)); - static void clear_lval __ARGS((lval_T *lp)); - static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op)); - static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op)); ---- 392,398 ---- - static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first)); - static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op)); - static int check_changedtick __ARGS((char_u *arg)); -! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int flags, int fne_flags)); - static void clear_lval __ARGS((lval_T *lp)); - static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op)); - static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op)); -*************** -*** 770,776 **** - static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end)); - static int eval_isnamec __ARGS((int c)); - static int eval_isnamec1 __ARGS((int c)); -! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose)); - static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose)); - static typval_T *alloc_tv __ARGS((void)); - static typval_T *alloc_string_tv __ARGS((char_u *string)); ---- 772,778 ---- - static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end)); - static int eval_isnamec __ARGS((int c)); - static int eval_isnamec1 __ARGS((int c)); -! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose, int no_autoload)); - static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose)); - static typval_T *alloc_tv __ARGS((void)); - static typval_T *alloc_string_tv __ARGS((char_u *string)); -*************** -*** 781,788 **** - static char_u *get_tv_string __ARGS((typval_T *varp)); - static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf)); - static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf)); -! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp)); -! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int writing)); - static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname)); - static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val)); - static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi)); ---- 783,790 ---- - static char_u *get_tv_string __ARGS((typval_T *varp)); - static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf)); - static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf)); -! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp, int no_autoload)); -! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int no_autoload)); - static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname)); - static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val)); - static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi)); -*************** -*** 1059,1065 **** - ga_init2(&redir_ga, (int)sizeof(char), 500); - - /* Parse the variable name (can be a dict or list entry). */ -! redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE, - FNE_CHECK_START); - if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL) - { ---- 1061,1067 ---- - ga_init2(&redir_ga, (int)sizeof(char), 500); - - /* Parse the variable name (can be a dict or list entry). */ -! redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, 0, - FNE_CHECK_START); - if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL) - { -*************** -*** 1150,1156 **** - /* Call get_lval() again, if it's inside a Dict or List it may - * have changed. */ - redir_endp = get_lval(redir_varname, NULL, redir_lval, -! FALSE, FALSE, FALSE, FNE_CHECK_START); - if (redir_endp != NULL && redir_lval->ll_name != NULL) - set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); - clear_lval(redir_lval); ---- 1152,1158 ---- - /* Call get_lval() again, if it's inside a Dict or List it may - * have changed. */ - redir_endp = get_lval(redir_varname, NULL, redir_lval, -! FALSE, FALSE, 0, FNE_CHECK_START); - if (redir_endp != NULL && redir_lval->ll_name != NULL) - set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); - clear_lval(redir_lval); -*************** -*** 2239,2245 **** - { - if (tofree != NULL) - name = tofree; -! if (get_var_tv(name, len, &tv, TRUE) == FAIL) - error = TRUE; - else - { ---- 2241,2247 ---- - { - if (tofree != NULL) - name = tofree; -! if (get_var_tv(name, len, &tv, TRUE, FALSE) == FAIL) - error = TRUE; - else - { -*************** -*** 2474,2480 **** - { - lval_T lv; - -! p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE, FNE_CHECK_START); - if (p != NULL && lv.ll_name != NULL) - { - if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL) ---- 2476,2482 ---- - { - lval_T lv; - -! p = get_lval(arg, tv, &lv, FALSE, FALSE, 0, FNE_CHECK_START); - if (p != NULL && lv.ll_name != NULL) - { - if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL) -*************** -*** 2519,2536 **** - * "unlet" is TRUE for ":unlet": slightly different behavior when something is - * wrong; must end in space or cmd separator. - * - * Returns a pointer to just after the name, including indexes. - * When an evaluation error occurs "lp->ll_name" is NULL; - * Returns NULL for a parsing error. Still need to free items in "lp"! - */ - static char_u * -! get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags) - char_u *name; - typval_T *rettv; - lval_T *lp; - int unlet; - int skip; -! int quiet; /* don't give error messages */ - int fne_flags; /* flags for find_name_end() */ - { - char_u *p; ---- 2521,2542 ---- - * "unlet" is TRUE for ":unlet": slightly different behavior when something is - * wrong; must end in space or cmd separator. - * -+ * flags: -+ * GLV_QUIET: do not give error messages -+ * GLV_NO_AUTOLOAD: do not use script autoloading -+ * - * Returns a pointer to just after the name, including indexes. - * When an evaluation error occurs "lp->ll_name" is NULL; - * Returns NULL for a parsing error. Still need to free items in "lp"! - */ - static char_u * -! get_lval(name, rettv, lp, unlet, skip, flags, fne_flags) - char_u *name; - typval_T *rettv; - lval_T *lp; - int unlet; - int skip; -! int flags; /* GLV_ values */ - int fne_flags; /* flags for find_name_end() */ - { - char_u *p; -*************** -*** 2544,2549 **** ---- 2550,2556 ---- - char_u *key = NULL; - int len; - hashtab_T *ht; -+ int quiet = flags & GLV_QUIET; - - /* Clear everything in "lp". */ - vim_memset(lp, 0, sizeof(lval_T)); -*************** -*** 2591,2597 **** - - cc = *p; - *p = NUL; -! v = find_var(lp->ll_name, &ht); - if (v == NULL && !quiet) - EMSG2(_(e_undefvar), lp->ll_name); - *p = cc; ---- 2598,2604 ---- - - cc = *p; - *p = NUL; -! v = find_var(lp->ll_name, &ht, flags & GLV_NO_AUTOLOAD); - if (v == NULL && !quiet) - EMSG2(_(e_undefvar), lp->ll_name); - *p = cc; -*************** -*** 2904,2910 **** - - /* handle +=, -= and .= */ - if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name), -! &tv, TRUE) == OK) - { - if (tv_op(&tv, rettv, op) == OK) - set_var(lp->ll_name, &tv, FALSE); ---- 2911,2917 ---- - - /* handle +=, -= and .= */ - if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name), -! &tv, TRUE, FALSE) == OK) - { - if (tv_op(&tv, rettv, op) == OK) - set_var(lp->ll_name, &tv, FALSE); -*************** -*** 3556,3562 **** - do - { - /* Parse the name and find the end. */ -! name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE, - FNE_CHECK_START); - if (lv.ll_name == NULL) - error = TRUE; /* error but continue parsing */ ---- 3563,3569 ---- - do - { - /* Parse the name and find the end. */ -! name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0, - FNE_CHECK_START); - if (lv.ll_name == NULL) - error = TRUE; /* error but continue parsing */ -*************** -*** 3709,3715 **** - ret = FAIL; - else - { -! di = find_var(lp->ll_name, NULL); - if (di == NULL) - ret = FAIL; - else ---- 3716,3722 ---- - ret = FAIL; - else - { -! di = find_var(lp->ll_name, NULL, TRUE); - if (di == NULL) - ret = FAIL; - else -*************** -*** 5179,5185 **** - } - } - else if (evaluate) -! ret = get_var_tv(s, len, rettv, TRUE); - else - ret = OK; - } ---- 5186,5192 ---- - } - } - else if (evaluate) -! ret = get_var_tv(s, len, rettv, TRUE, FALSE); - else - ret = OK; - } -*************** -*** 8284,8290 **** - - cc = name[*lenp]; - name[*lenp] = NUL; -! v = find_var(name, NULL); - name[*lenp] = cc; - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { ---- 8291,8297 ---- - - cc = name[*lenp]; - name[*lenp] = NUL; -! v = find_var(name, NULL, FALSE); - name[*lenp] = cc; - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { -*************** -*** 10039,10046 **** - int n = FALSE; - int len = 0; - -- no_autoload = TRUE; -- - p = get_tv_string(&argvars[0]); - if (*p == '$') /* environment variable */ - { ---- 10046,10051 ---- -*************** -*** 10091,10097 **** - { - if (tofree != NULL) - name = tofree; -! n = (get_var_tv(name, len, &tv, FALSE) == OK); - if (n) - { - /* handle d.key, l[idx], f(expr) */ ---- 10096,10102 ---- - { - if (tofree != NULL) - name = tofree; -! n = (get_var_tv(name, len, &tv, FALSE, TRUE) == OK); - if (n) - { - /* handle d.key, l[idx], f(expr) */ -*************** -*** 10107,10114 **** - } - - rettv->vval.v_number = n; -- -- no_autoload = FALSE; - } - - #ifdef FEAT_FLOAT ---- 10112,10117 ---- -*************** -*** 13344,13351 **** - dictitem_T *di; - - rettv->vval.v_number = -1; -! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE, -! FNE_CHECK_START); - if (end != NULL && lv.ll_name != NULL) - { - if (*end != NUL) ---- 13347,13354 ---- - dictitem_T *di; - - rettv->vval.v_number = -1; -! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, -! GLV_NO_AUTOLOAD, FNE_CHECK_START); - if (end != NULL && lv.ll_name != NULL) - { - if (*end != NUL) -*************** -*** 13358,13364 **** - rettv->vval.v_number = 1; /* always locked */ - else - { -! di = find_var(lv.ll_name, NULL); - if (di != NULL) - { - /* Consider a variable locked when: ---- 13361,13367 ---- - rettv->vval.v_number = 1; /* always locked */ - else - { -! di = find_var(lv.ll_name, NULL, TRUE); - if (di != NULL) - { - /* Consider a variable locked when: -*************** -*** 19774,19784 **** - * Return OK or FAIL. - */ - static int -! get_var_tv(name, len, rettv, verbose) - char_u *name; - int len; /* length of "name" */ - typval_T *rettv; /* NULL when only checking existence */ - int verbose; /* may give error message */ - { - int ret = OK; - typval_T *tv = NULL; ---- 19777,19788 ---- - * Return OK or FAIL. - */ - static int -! get_var_tv(name, len, rettv, verbose, no_autoload) - char_u *name; - int len; /* length of "name" */ - typval_T *rettv; /* NULL when only checking existence */ - int verbose; /* may give error message */ -+ int no_autoload; /* do not use script autoloading */ - { - int ret = OK; - typval_T *tv = NULL; -*************** -*** 19805,19811 **** - */ - else - { -! v = find_var(name, NULL); - if (v != NULL) - tv = &v->di_tv; - } ---- 19809,19815 ---- - */ - else - { -! v = find_var(name, NULL, no_autoload); - if (v != NULL) - tv = &v->di_tv; - } -*************** -*** 20207,20215 **** - * hashtab_T used. - */ - static dictitem_T * -! find_var(name, htp) - char_u *name; - hashtab_T **htp; - { - char_u *varname; - hashtab_T *ht; ---- 20211,20220 ---- - * hashtab_T used. - */ - static dictitem_T * -! find_var(name, htp, no_autoload) - char_u *name; - hashtab_T **htp; -+ int no_autoload; - { - char_u *varname; - hashtab_T *ht; -*************** -*** 20219,20225 **** - *htp = ht; - if (ht == NULL) - return NULL; -! return find_var_in_ht(ht, *name, varname, htp != NULL); - } - - /* ---- 20224,20230 ---- - *htp = ht; - if (ht == NULL) - return NULL; -! return find_var_in_ht(ht, *name, varname, no_autoload || htp != NULL); - } - - /* -*************** -*** 20227,20237 **** - * Returns NULL if not found. - */ - static dictitem_T * -! find_var_in_ht(ht, htname, varname, writing) - hashtab_T *ht; - int htname; - char_u *varname; -! int writing; - { - hashitem_T *hi; - ---- 20232,20242 ---- - * Returns NULL if not found. - */ - static dictitem_T * -! find_var_in_ht(ht, htname, varname, no_autoload) - hashtab_T *ht; - int htname; - char_u *varname; -! int no_autoload; - { - hashitem_T *hi; - -*************** -*** 20263,20269 **** - * worked find the variable again. Don't auto-load a script if it was - * loaded already, otherwise it would be loaded every time when - * checking if a function name is a Funcref variable. */ -! if (ht == &globvarht && !writing) - { - /* Note: script_autoload() may make "hi" invalid. It must either - * be obtained again or not used. */ ---- 20268,20274 ---- - * worked find the variable again. Don't auto-load a script if it was - * loaded already, otherwise it would be loaded every time when - * checking if a function name is a Funcref variable. */ -! if (ht == &globvarht && !no_autoload) - { - /* Note: script_autoload() may make "hi" invalid. It must either - * be obtained again or not used. */ -*************** -*** 20343,20349 **** - { - dictitem_T *v; - -! v = find_var(name, NULL); - if (v == NULL) - return NULL; - return get_tv_string(&v->di_tv); ---- 20348,20354 ---- - { - dictitem_T *v; - -! v = find_var(name, NULL, FALSE); - if (v == NULL) - return NULL; - return get_tv_string(&v->di_tv); -*************** -*** 21672,21678 **** - */ - if (fudi.fd_dict == NULL) - { -! v = find_var(name, &ht); - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { - emsg_funcname(N_("E707: Function name conflicts with variable: %s"), ---- 21677,21683 ---- - */ - if (fudi.fd_dict == NULL) - { -! v = find_var(name, &ht, FALSE); - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { - emsg_funcname(N_("E707: Function name conflicts with variable: %s"), -*************** -*** 21830,21837 **** - * Also handles a Funcref in a List or Dictionary. - * Returns the function name in allocated memory, or NULL for failure. - * flags: -! * TFN_INT: internal function name OK -! * TFN_QUIET: be quiet - * Advances "pp" to just after the function name (if no error). - */ - static char_u * ---- 21835,21843 ---- - * Also handles a Funcref in a List or Dictionary. - * Returns the function name in allocated memory, or NULL for failure. - * flags: -! * TFN_INT: internal function name OK -! * TFN_QUIET: be quiet -! * TFN_NO_AUTOLOAD: do not use script autoloading - * Advances "pp" to just after the function name (if no error). - */ - static char_u * -*************** -*** 21869,21875 **** - if (lead > 2) - start += lead; - -! end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET, - lead > 2 ? 0 : FNE_CHECK_START); - if (end == start) - { ---- 21875,21882 ---- - if (lead > 2) - start += lead; - -! /* Note that TFN_ flags use the same values as GLV_ flags. */ -! end = get_lval(start, NULL, &lv, FALSE, skip, flags, - lead > 2 ? 0 : FNE_CHECK_START); - if (end == start) - { -*************** -*** 22146,22152 **** - char_u *p; - int n = FALSE; - -! p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET, NULL); - nm = skipwhite(nm); - - /* Only accept "funcname", "funcname ", "funcname (..." and ---- 22153,22160 ---- - char_u *p; - int n = FALSE; - -! p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET|TFN_NO_AUTOLOAD, -! NULL); - nm = skipwhite(nm); - - /* Only accept "funcname", "funcname ", "funcname (..." and -*************** -*** 22393,22402 **** - int ret = FALSE; - int i; - -- /* Return quickly when autoload disabled. */ -- if (no_autoload) -- return FALSE; -- - /* If there is no '#' after name[0] there is no package name. */ - p = vim_strchr(name, AUTOLOAD_CHAR); - if (p == NULL || p == name) ---- 22401,22406 ---- -*** ../vim-7.4.148/src/testdir/test55.in 2013-03-07 14:33:12.000000000 +0100 ---- src/testdir/test55.in 2014-01-14 14:48:10.000000000 +0100 -*************** -*** 282,287 **** ---- 282,294 ---- - : $put =ps - : endfor - :endfor -+ :" :lockvar/islocked() triggering script autoloading -+ :set rtp+=./sautest -+ :lockvar g:footest#x -+ :unlockvar g:footest#x -+ :$put ='locked g:footest#x:'.islocked('g:footest#x') -+ :$put ='exists g:footest#x:'.exists('g:footest#x') -+ :$put ='g:footest#x: '.g:footest#x - :" - :" a:000 function argument - :" first the tests that should fail -*** ../vim-7.4.148/src/testdir/test55.ok 2012-08-29 16:51:15.000000000 +0200 ---- src/testdir/test55.ok 2014-01-14 14:45:14.000000000 +0100 -*************** -*** 86,91 **** ---- 86,94 ---- - FFpFFpp - 0000-000 - ppppppp -+ locked g:footest#x:-1 -+ exists g:footest#x:0 -+ g:footest#x: 1 - caught a:000 - caught a:000[0] - caught a:000[2] -*** ../vim-7.4.148/src/testdir/test60.in 2010-05-15 13:04:10.000000000 +0200 ---- src/testdir/test60.in 2014-01-14 14:49:10.000000000 +0100 -*************** -*** 1,4 **** -! Tests for the exists() function. vim: set ft=vim : - - STARTTEST - :so small.vim ---- 1,4 ---- -! Tests for the exists() function. vim: set ft=vim ts=8 : - - STARTTEST - :so small.vim -*************** -*** 11,18 **** - endfunction - :function! TestExists() - augroup myagroup -! autocmd! BufEnter *.my echo 'myfile edited' - augroup END - - let test_cases = [] - ---- 11,20 ---- - endfunction - :function! TestExists() - augroup myagroup -! autocmd! BufEnter *.my echo "myfile edited" -! autocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu" - augroup END -+ set rtp+=./sautest - - let test_cases = [] - -*************** -*** 95,104 **** - " Non-existing user defined function - let test_cases += [['*MyxyzFunc', 0]] - - redir! > test.out - - for [test_case, result] in test_cases -! echo test_case . ": " . result - call RunTest(test_case, result) - endfor - ---- 97,111 ---- - " Non-existing user defined function - let test_cases += [['*MyxyzFunc', 0]] - -+ " Function that may be created by FuncUndefined event -+ let test_cases += [['*UndefFun', 0]] -+ " Function that may be created by script autoloading -+ let test_cases += [['*footest#F', 0]] -+ - redir! > test.out - - for [test_case, result] in test_cases -! echo test_case . ": " . result - call RunTest(test_case, result) - endfor - -*************** -*** 207,212 **** ---- 214,227 ---- - echo "FAILED" - endif - -+ " Non-existing autoload variable that may be autoloaded -+ echo 'footest#x: 0' -+ if !exists('footest#x') -+ echo "OK" -+ else -+ echo "FAILED" -+ endif -+ - " Valid local list - let local_list = ["blue", "orange"] - echo 'local_list: 1' -*************** -*** 566,571 **** ---- 581,590 ---- - - call TestFuncArg("arg1", "arg2") - -+ echo ' g:footest#x =' g:footest#x -+ echo ' footest#F()' footest#F() -+ echo 'UndefFun()' UndefFun() -+ - redir END - endfunction - :call TestExists() -*************** -*** 576,580 **** ---- 595,600 ---- - :set ff=unix - :w - :qa! -+ :while getchar(1) | call getchar() | endwhile - ENDTEST - -*** ../vim-7.4.148/src/testdir/test60.ok 2010-05-15 13:04:10.000000000 +0200 ---- src/testdir/test60.ok 2014-01-14 14:50:50.000000000 +0100 -*************** -*** 71,76 **** ---- 71,80 ---- - OK - *MyxyzFunc: 0 - OK -+ *UndefFun: 0 -+ OK -+ *footest#F: 0 -+ OK - :edit: 2 - OK - :edit/a: 0 -*************** -*** 95,100 **** ---- 99,106 ---- - OK - local_var: 0 - OK -+ footest#x: 0 -+ OK - local_list: 1 - OK - local_list[1]: 1 -*************** -*** 195,197 **** ---- 201,206 ---- - OK - a:2: 0 - OK -+ g:footest#x = 1 -+ footest#F() 0 -+ UndefFun() 0 -*** ../vim-7.4.148/src/testdir/sautest/autoload/footest.vim 1970-01-01 01:00:00.000000000 +0100 ---- src/testdir/sautest/autoload/footest.vim 2014-01-14 14:52:06.000000000 +0100 -*************** -*** 0 **** ---- 1,5 ---- -+ " Autoload script used by test55 and test60 -+ let footest#x = 1 -+ func footest#F() -+ return 0 -+ endfunc -*** ../vim-7.4.148/src/version.c 2014-01-14 13:26:17.000000000 +0100 ---- src/version.c 2014-01-14 15:23:36.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 149, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -157. You fum through a magazine, you first check to see if it has a web - address. - - /// 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 /// diff --git a/7.4.150 b/7.4.150 deleted file mode 100644 index 528f4d6b..00000000 --- a/7.4.150 +++ /dev/null @@ -1,93 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.150 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.150 -Problem: :keeppatterns is not respected for :s. -Solution: Check the keeppatterns flag. (Yasuhiro Matsumoto) -Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok - - -*** ../vim-7.4.149/src/search.c 2013-11-28 19:27:18.000000000 +0100 ---- src/search.c 2014-01-14 15:44:33.000000000 +0100 -*************** -*** 201,207 **** - * Save the currently used pattern in the appropriate place, - * unless the pattern should not be remembered. - */ -! if (!(options & SEARCH_KEEP)) - { - /* search or global command */ - if (pat_save == RE_SEARCH || pat_save == RE_BOTH) ---- 201,207 ---- - * Save the currently used pattern in the appropriate place, - * unless the pattern should not be remembered. - */ -! if (!(options & SEARCH_KEEP) && !cmdmod.keeppatterns) - { - /* search or global command */ - if (pat_save == RE_SEARCH || pat_save == RE_BOTH) -*** ../vim-7.4.149/src/testdir/test14.in 2013-04-03 20:59:14.000000000 +0200 ---- src/testdir/test14.in 2014-01-14 15:43:28.000000000 +0100 -*************** -*** 47,52 **** ---- 47,61 ---- - /two - :call search('.', 'c') - :call append(line('$'), getline('.')[col('.') - 1:]) -+ :" -+ /^substitute -+ :s/foo/bar/ -+ :$put =@/ -+ /^substitute -+ :keeppatterns s/asdf/xyz/ -+ :$put =@/ -+ /^substitute -+ Y:$put =@0 - :/^search()/,$w >>test.out - :qa! - ENDTEST -*************** -*** 81,86 **** ---- 90,96 ---- - - foobar - -+ substitute foo asdf - - one two - search() -*** ../vim-7.4.149/src/testdir/test14.ok 2013-04-03 20:59:14.000000000 +0200 ---- src/testdir/test14.ok 2014-01-14 15:46:42.000000000 +0100 -*************** -*** 20,22 **** ---- 20,25 ---- - 1 - 1 - two -+ foo -+ ^substitute -+ substitute bar xyz -*** ../vim-7.4.149/src/version.c 2014-01-14 15:24:24.000000000 +0100 ---- src/version.c 2014-01-14 15:45:34.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 150, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -158. You get a tuner card so you can watch TV while surfing. - - /// 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 /// diff --git a/7.4.151 b/7.4.151 deleted file mode 100644 index 646cc792..00000000 --- a/7.4.151 +++ /dev/null @@ -1,1470 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.151 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.151 -Problem: Python: slices with steps are not supported. -Solution: Support slices in Python vim.List. (ZyX) -Files: src/eval.c, src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/proto/eval.pro, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - - -*** ../vim-7.4.150/src/eval.c 2014-01-14 15:24:24.000000000 +0100 ---- src/eval.c 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 6425,6430 **** ---- 6425,6440 ---- - if (ni == NULL) - return FAIL; - copy_tv(tv, &ni->li_tv); -+ list_insert(l, ni, item); -+ return OK; -+ } -+ -+ void -+ list_insert(l, ni, item) -+ list_T *l; -+ listitem_T *ni; -+ listitem_T *item; -+ { - if (item == NULL) - /* Append new item at end of list. */ - list_append(l, ni); -*************** -*** 6446,6452 **** - item->li_prev = ni; - ++l->lv_len; - } -- return OK; - } - - /* ---- 6456,6461 ---- -*** ../vim-7.4.150/src/if_py_both.h 2014-01-10 18:16:00.000000000 +0100 ---- src/if_py_both.h 2014-01-14 16:31:49.000000000 +0100 -*************** -*** 36,43 **** - #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str)) - #define PyErr_SetVim(str) PyErr_SetString(VimError, str) - #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str) -! #define PyErr_FORMAT(exc, str, tail) PyErr_Format(exc, _(str), tail) -! #define PyErr_VIM_FORMAT(str, tail) PyErr_FORMAT(VimError, str, tail) - - #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \ - ? "(NULL)" \ ---- 36,44 ---- - #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str)) - #define PyErr_SetVim(str) PyErr_SetString(VimError, str) - #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str) -! #define PyErr_FORMAT(exc, str, arg) PyErr_Format(exc, _(str), arg) -! #define PyErr_FORMAT2(exc, str, arg1, arg2) PyErr_Format(exc, _(str), arg1,arg2) -! #define PyErr_VIM_FORMAT(str, arg) PyErr_FORMAT(VimError, str, arg) - - #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \ - ? "(NULL)" \ -*************** -*** 2108,2115 **** - }; - - static PyTypeObject ListType; -- static PySequenceMethods ListAsSeq; -- static PyMappingMethods ListAsMapping; - - typedef struct - { ---- 2109,2114 ---- -*************** -*** 2253,2259 **** - } - - static PyObject * -! ListItem(ListObject *self, Py_ssize_t index) - { - listitem_T *li; - ---- 2252,2258 ---- - } - - static PyObject * -! ListIndex(ListObject *self, Py_ssize_t index) - { - listitem_T *li; - -*************** -*** 2273,2436 **** - return ConvertToPyObject(&li->li_tv); - } - -- #define PROC_RANGE \ -- if (last < 0) {\ -- if (last < -size) \ -- last = 0; \ -- else \ -- last += size; \ -- } \ -- if (first < 0) \ -- first = 0; \ -- if (first > size) \ -- first = size; \ -- if (last > size) \ -- last = size; -- - static PyObject * -! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last) - { - PyInt i; -- PyInt size = ListLength(self); -- PyInt n; - PyObject *list; -- int reversed = 0; - -! PROC_RANGE -! if (first >= last) -! first = last; - -! n = last-first; -! list = PyList_New(n); - if (list == NULL) - return NULL; - -! for (i = 0; i < n; ++i) - { -! PyObject *item = ListItem(self, first + i); - if (item == NULL) - { - Py_DECREF(list); - return NULL; - } - -! PyList_SET_ITEM(list, ((reversed)?(n-i-1):(i)), item); - } - - return list; - } - -- typedef struct -- { -- listwatch_T lw; -- list_T *list; -- } listiterinfo_T; -- -- static void -- ListIterDestruct(listiterinfo_T *lii) -- { -- list_rem_watch(lii->list, &lii->lw); -- PyMem_Free(lii); -- } -- - static PyObject * -! ListIterNext(listiterinfo_T **lii) - { -! PyObject *ret; -! -! if (!((*lii)->lw.lw_item)) -! return NULL; -! -! if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv)))) -! return NULL; -! -! (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next; -! -! return ret; -! } -! -! static PyObject * -! ListIter(ListObject *self) -! { -! listiterinfo_T *lii; -! list_T *l = self->list; -! -! if (!(lii = PyMem_New(listiterinfo_T, 1))) - { -! PyErr_NoMemory(); -! return NULL; - } -! -! list_add_watch(l, &lii->lw); -! lii->lw.lw_item = l->lv_first; -! lii->list = l; -! -! return IterNew(lii, -! (destructorfun) ListIterDestruct, (nextfun) ListIterNext, -! NULL, NULL); -! } -! -! static int -! ListAssItem(ListObject *self, Py_ssize_t index, PyObject *obj) -! { -! typval_T tv; -! list_T *l = self->list; -! listitem_T *li; -! Py_ssize_t length = ListLength(self); -! -! if (l->lv_lock) - { -! RAISE_LOCKED_LIST; -! return -1; - } -! if (index > length || (index == length && obj == NULL)) - { -! PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range")); -! return -1; -! } - -! if (obj == NULL) - { -! li = list_find(l, (long) index); -! list_remove(l, li, li); -! clear_tv(&li->li_tv); -! vim_free(li); -! return 0; - } - -! if (ConvertFromPyObject(obj, &tv) == -1) -! return -1; -! -! if (index == length) - { -! if (list_append_tv(l, &tv) == FAIL) -! { -! clear_tv(&tv); -! PyErr_SET_VIM(N_("failed to add item to list")); -! return -1; -! } - } -! else - { -! li = list_find(l, (long) index); -! clear_tv(&li->li_tv); -! copy_tv(&tv, &li->li_tv); -! clear_tv(&tv); - } -- return 0; - } - - static int -! ListAssSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last, PyObject *obj) - { -- PyInt size = ListLength(self); - PyObject *iterator; - PyObject *item; - listitem_T *li; - listitem_T *next; - typval_T v; - list_T *l = self->list; - PyInt i; - - if (l->lv_lock) - { ---- 2272,2381 ---- - return ConvertToPyObject(&li->li_tv); - } - - static PyObject * -! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t step, -! Py_ssize_t slicelen) - { - PyInt i; - PyObject *list; - -! if (step == 0) -! { -! PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero")); -! return NULL; -! } - -! list = PyList_New(slicelen); - if (list == NULL) - return NULL; - -! for (i = 0; i < slicelen; ++i) - { -! PyObject *item; -! -! item = ListIndex(self, first + i*step); - if (item == NULL) - { - Py_DECREF(list); - return NULL; - } - -! PyList_SET_ITEM(list, i, item); - } - - return list; - } - - static PyObject * -! ListItem(ListObject *self, PyObject* idx) - { -! #if PY_MAJOR_VERSION < 3 -! if (PyInt_Check(idx)) - { -! long _idx = PyInt_AsLong(idx); -! return ListIndex(self, _idx); - } -! else -! #endif -! if (PyLong_Check(idx)) - { -! long _idx = PyLong_AsLong(idx); -! return ListIndex(self, _idx); - } -! else if (PySlice_Check(idx)) - { -! Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx(idx, ListLength(self), -! &start, &stop, &step, &slicelen) < 0) -! return NULL; -! return ListSlice(self, start, step, slicelen); -! } -! else - { -! RAISE_INVALID_INDEX_TYPE(idx); -! return NULL; - } -+ } - -! static void -! list_restore(Py_ssize_t numadded, Py_ssize_t numreplaced, Py_ssize_t slicelen, -! list_T *l, listitem_T **lis, listitem_T *lastaddedli) -! { -! while (numreplaced--) - { -! list_insert(l, lis[numreplaced], lis[slicelen + numreplaced]); -! listitem_remove(l, lis[slicelen + numreplaced]); - } -! while (numadded--) - { -! listitem_T *next; -! -! next = lastaddedli->li_prev; -! listitem_remove(l, lastaddedli); -! lastaddedli = next; - } - } - - static int -! ListAssSlice(ListObject *self, Py_ssize_t first, -! Py_ssize_t step, Py_ssize_t slicelen, PyObject *obj) - { - PyObject *iterator; - PyObject *item; - listitem_T *li; -+ listitem_T *lastaddedli = NULL; - listitem_T *next; - typval_T v; - list_T *l = self->list; - PyInt i; -+ PyInt j; -+ PyInt numreplaced = 0; -+ PyInt numadded = 0; -+ PyInt size; -+ listitem_T **lis; -+ -+ size = ListLength(self); - - if (l->lv_lock) - { -*************** -*** 2438,2444 **** - return -1; - } - -! PROC_RANGE - - if (first == size) - li = NULL; ---- 2383,2424 ---- - return -1; - } - -! if (step == 0) -! { -! PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero")); -! return -1; -! } -! -! if (step != 1 && slicelen == 0) -! { -! /* Nothing to do. Only error out if obj has some items. */ -! int ret = 0; -! -! if (obj == NULL) -! return 0; -! -! if (!(iterator = PyObject_GetIter(obj))) -! return -1; -! -! if ((item = PyIter_Next(iterator))) -! { -! PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %d " -! "to extended slice"), 0); -! Py_DECREF(item); -! ret = -1; -! } -! Py_DECREF(iterator); -! return ret; -! } -! -! if (obj != NULL) -! /* XXX May allocate zero bytes. */ -! if (!(lis = PyMem_New(listitem_T *, slicelen * 2))) -! { -! PyErr_NoMemory(); -! return -1; -! } - - if (first == size) - li = NULL; -*************** -*** 2449,2465 **** - { - PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"), - (int)first); - return -1; - } -! if (last > first) - { -! i = last - first; -! while (i-- && li != NULL) -! { -! next = li->li_next; - listitem_remove(l, li); -! li = next; -! } - } - } - ---- 2429,2461 ---- - { - PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"), - (int)first); -+ if (obj != NULL) -+ PyMem_Free(lis); - return -1; - } -! i = slicelen; -! while (i-- && li != NULL) - { -! j = step; -! next = li; -! if (step > 0) -! while (next != NULL && ((next = next->li_next) != NULL) && --j); -! else -! while (next != NULL && ((next = next->li_prev) != NULL) && ++j); -! -! if (obj == NULL) - listitem_remove(l, li); -! else -! lis[slicelen - i - 1] = li; -! -! li = next; -! } -! if (li == NULL && i != -1) -! { -! PyErr_SET_VIM(N_("internal error: not enough list items")); -! if (obj != NULL) -! PyMem_Free(lis); -! return -1; - } - } - -*************** -*** 2467,2499 **** - return 0; - - if (!(iterator = PyObject_GetIter(obj))) - return -1; - - while ((item = PyIter_Next(iterator))) - { - if (ConvertFromPyObject(item, &v) == -1) - { - Py_DECREF(iterator); - Py_DECREF(item); - return -1; - } - Py_DECREF(item); -! if (list_insert_tv(l, &v, li) == FAIL) - { - clear_tv(&v); - PyErr_SET_VIM(N_("internal error: failed to add item to list")); - return -1; - } - clear_tv(&v); - } - Py_DECREF(iterator); - - if (PyErr_Occurred()) - return -1; - - return 0; - } - - static PyObject * - ListConcatInPlace(ListObject *self, PyObject *obj) - { ---- 2463,2634 ---- - return 0; - - if (!(iterator = PyObject_GetIter(obj))) -+ { -+ PyMem_Free(lis); - return -1; -+ } - -+ i = 0; - while ((item = PyIter_Next(iterator))) - { - if (ConvertFromPyObject(item, &v) == -1) - { - Py_DECREF(iterator); - Py_DECREF(item); -+ PyMem_Free(lis); - return -1; - } - Py_DECREF(item); -! if (list_insert_tv(l, &v, numreplaced < slicelen -! ? lis[numreplaced] -! : li) == FAIL) - { - clear_tv(&v); - PyErr_SET_VIM(N_("internal error: failed to add item to list")); -+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); -+ PyMem_Free(lis); - return -1; - } -+ if (numreplaced < slicelen) -+ { -+ lis[slicelen + numreplaced] = lis[numreplaced]->li_prev; -+ list_remove(l, lis[numreplaced], lis[numreplaced]); -+ numreplaced++; -+ } -+ else -+ { -+ if (li) -+ lastaddedli = li->li_prev; -+ else -+ lastaddedli = l->lv_last; -+ numadded++; -+ } - clear_tv(&v); -+ if (step != 1 && i >= slicelen) -+ { -+ Py_DECREF(iterator); -+ PyErr_FORMAT(PyExc_ValueError, -+ N_("attempt to assign sequence of size greater then %d " -+ "to extended slice"), slicelen); -+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); -+ PyMem_Free(lis); -+ return -1; -+ } -+ ++i; - } - Py_DECREF(iterator); - -+ if (step != 1 && i != slicelen) -+ { -+ PyErr_FORMAT2(PyExc_ValueError, -+ N_("attempt to assign sequence of size %d to extended slice " -+ "of size %d"), i, slicelen); -+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); -+ PyMem_Free(lis); -+ return -1; -+ } -+ - if (PyErr_Occurred()) -+ { -+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); -+ PyMem_Free(lis); - return -1; -+ } -+ -+ for (i = 0; i < numreplaced; i++) -+ listitem_free(lis[i]); -+ if (step == 1) -+ for (i = numreplaced; i < slicelen; i++) -+ listitem_remove(l, lis[i]); -+ -+ PyMem_Free(lis); - - return 0; - } - -+ static int -+ ListAssIndex(ListObject *self, Py_ssize_t index, PyObject *obj) -+ { -+ typval_T tv; -+ list_T *l = self->list; -+ listitem_T *li; -+ Py_ssize_t length = ListLength(self); -+ -+ if (l->lv_lock) -+ { -+ RAISE_LOCKED_LIST; -+ return -1; -+ } -+ if (index > length || (index == length && obj == NULL)) -+ { -+ PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range")); -+ return -1; -+ } -+ -+ if (obj == NULL) -+ { -+ li = list_find(l, (long) index); -+ list_remove(l, li, li); -+ clear_tv(&li->li_tv); -+ vim_free(li); -+ return 0; -+ } -+ -+ if (ConvertFromPyObject(obj, &tv) == -1) -+ return -1; -+ -+ if (index == length) -+ { -+ if (list_append_tv(l, &tv) == FAIL) -+ { -+ clear_tv(&tv); -+ PyErr_SET_VIM(N_("failed to add item to list")); -+ return -1; -+ } -+ } -+ else -+ { -+ li = list_find(l, (long) index); -+ clear_tv(&li->li_tv); -+ copy_tv(&tv, &li->li_tv); -+ clear_tv(&tv); -+ } -+ return 0; -+ } -+ -+ static Py_ssize_t -+ ListAssItem(ListObject *self, PyObject *idx, PyObject *obj) -+ { -+ #if PY_MAJOR_VERSION < 3 -+ if (PyInt_Check(idx)) -+ { -+ long _idx = PyInt_AsLong(idx); -+ return ListAssIndex(self, _idx, obj); -+ } -+ else -+ #endif -+ if (PyLong_Check(idx)) -+ { -+ long _idx = PyLong_AsLong(idx); -+ return ListAssIndex(self, _idx, obj); -+ } -+ else if (PySlice_Check(idx)) -+ { -+ Py_ssize_t start, stop, step, slicelen; -+ -+ if (PySlice_GetIndicesEx(idx, ListLength(self), -+ &start, &stop, &step, &slicelen) < 0) -+ return -1; -+ return ListAssSlice(self, start, step, slicelen, -+ obj); -+ } -+ else -+ { -+ RAISE_INVALID_INDEX_TYPE(idx); -+ return -1; -+ } -+ } -+ - static PyObject * - ListConcatInPlace(ListObject *self, PyObject *obj) - { -*************** -*** 2520,2525 **** ---- 2655,2710 ---- - return (PyObject *)(self); - } - -+ typedef struct -+ { -+ listwatch_T lw; -+ list_T *list; -+ } listiterinfo_T; -+ -+ static void -+ ListIterDestruct(listiterinfo_T *lii) -+ { -+ list_rem_watch(lii->list, &lii->lw); -+ PyMem_Free(lii); -+ } -+ -+ static PyObject * -+ ListIterNext(listiterinfo_T **lii) -+ { -+ PyObject *ret; -+ -+ if (!((*lii)->lw.lw_item)) -+ return NULL; -+ -+ if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv)))) -+ return NULL; -+ -+ (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next; -+ -+ return ret; -+ } -+ -+ static PyObject * -+ ListIter(ListObject *self) -+ { -+ listiterinfo_T *lii; -+ list_T *l = self->list; -+ -+ if (!(lii = PyMem_New(listiterinfo_T, 1))) -+ { -+ PyErr_NoMemory(); -+ return NULL; -+ } -+ -+ list_add_watch(l, &lii->lw); -+ lii->lw.lw_item = l->lv_first; -+ lii->list = l; -+ -+ return IterNew(lii, -+ (destructorfun) ListIterDestruct, (nextfun) ListIterNext, -+ NULL, NULL); -+ } -+ - static char *ListAttrs[] = { - "locked", - NULL -*************** -*** 2567,2572 **** ---- 2752,2776 ---- - } - } - -+ static PySequenceMethods ListAsSeq = { -+ (lenfunc) ListLength, /* sq_length, len(x) */ -+ (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */ -+ 0, /* RangeRepeat, sq_repeat, x*n */ -+ (PyIntArgFunc) ListIndex, /* sq_item, x[i] */ -+ 0, /* was_sq_slice, x[i:j] */ -+ (PyIntObjArgProc) ListAssIndex, /* sq_as_item, x[i]=v */ -+ 0, /* was_sq_ass_slice, x[i:j]=v */ -+ 0, /* sq_contains */ -+ (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */ -+ 0, /* sq_inplace_repeat */ -+ }; -+ -+ static PyMappingMethods ListAsMapping = { -+ /* mp_length */ (lenfunc) ListLength, -+ /* mp_subscript */ (binaryfunc) ListItem, -+ /* mp_ass_subscript */ (objobjargproc) ListAssItem, -+ }; -+ - static struct PyMethodDef ListMethods[] = { - {"extend", (PyCFunction)ListConcatInPlace, METH_O, ""}, - {"__dir__", (PyCFunction)ListDir, METH_NOARGS, ""}, -*** ../vim-7.4.150/src/if_python3.c 2013-11-03 00:28:20.000000000 +0100 ---- src/if_python3.c 2014-01-14 16:32:40.000000000 +0100 -*************** -*** 97,102 **** ---- 97,105 ---- - #define Py_ssize_t_fmt "n" - #define Py_bytes_fmt "y" - -+ #define PyIntArgFunc ssizeargfunc -+ #define PyIntObjArgProc ssizeobjargproc -+ - #if defined(DYNAMIC_PYTHON3) || defined(PROTO) - - # ifndef WIN3264 -*************** -*** 292,298 **** - static int (*py3_PyMapping_Check)(PyObject *); - static PyObject* (*py3_PyMapping_Keys)(PyObject *); - static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length, -! Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength); - static PyObject* (*py3_PyErr_NoMemory)(void); - static void (*py3_Py_Finalize)(void); - static void (*py3_PyErr_SetString)(PyObject *, const char *); ---- 295,302 ---- - static int (*py3_PyMapping_Check)(PyObject *); - static PyObject* (*py3_PyMapping_Keys)(PyObject *); - static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length, -! Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, -! Py_ssize_t *slicelen); - static PyObject* (*py3_PyErr_NoMemory)(void); - static void (*py3_Py_Finalize)(void); - static void (*py3_PyErr_SetString)(PyObject *, const char *); -*************** -*** 1478,1553 **** - /* List object - Definitions - */ - -- static PySequenceMethods ListAsSeq = { -- (lenfunc) ListLength, /* sq_length, len(x) */ -- (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */ -- (ssizeargfunc) 0, /* RangeRepeat, sq_repeat, x*n */ -- (ssizeargfunc) ListItem, /* sq_item, x[i] */ -- (void *) 0, /* was_sq_slice, x[i:j] */ -- (ssizeobjargproc) ListAssItem, /* sq_as_item, x[i]=v */ -- (void *) 0, /* was_sq_ass_slice, x[i:j]=v */ -- 0, /* sq_contains */ -- (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */ -- 0, /* sq_inplace_repeat */ -- }; -- -- static PyObject *ListSubscript(PyObject *, PyObject *); -- static Py_ssize_t ListAsSubscript(PyObject *, PyObject *, PyObject *); -- -- static PyMappingMethods ListAsMapping = { -- /* mp_length */ (lenfunc) ListLength, -- /* mp_subscript */ (binaryfunc) ListSubscript, -- /* mp_ass_subscript */ (objobjargproc) ListAsSubscript, -- }; -- -- static PyObject * -- ListSubscript(PyObject *self, PyObject* idx) -- { -- if (PyLong_Check(idx)) -- { -- long _idx = PyLong_AsLong(idx); -- return ListItem((ListObject *)(self), _idx); -- } -- else if (PySlice_Check(idx)) -- { -- Py_ssize_t start, stop, step, slicelen; -- -- if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)), -- &start, &stop, &step, &slicelen) < 0) -- return NULL; -- return ListSlice((ListObject *)(self), start, stop); -- } -- else -- { -- RAISE_INVALID_INDEX_TYPE(idx); -- return NULL; -- } -- } -- -- static Py_ssize_t -- ListAsSubscript(PyObject *self, PyObject *idx, PyObject *obj) -- { -- if (PyLong_Check(idx)) -- { -- long _idx = PyLong_AsLong(idx); -- return ListAssItem((ListObject *)(self), _idx, obj); -- } -- else if (PySlice_Check(idx)) -- { -- Py_ssize_t start, stop, step, slicelen; -- -- if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)), -- &start, &stop, &step, &slicelen) < 0) -- return -1; -- return ListAssSlice((ListObject *)(self), start, stop, obj); -- } -- else -- { -- RAISE_INVALID_INDEX_TYPE(idx); -- return -1; -- } -- } -- - static PyObject * - ListGetattro(PyObject *self, PyObject *nameobj) - { ---- 1482,1487 ---- -*** ../vim-7.4.150/src/if_python.c 2013-11-03 00:28:20.000000000 +0100 ---- src/if_python.c 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 196,201 **** ---- 196,202 ---- - # define PyTuple_Size dll_PyTuple_Size - # define PyTuple_GetItem dll_PyTuple_GetItem - # define PyTuple_Type (*dll_PyTuple_Type) -+ # define PySlice_GetIndicesEx dll_PySlice_GetIndicesEx - # define PyImport_ImportModule dll_PyImport_ImportModule - # define PyDict_New dll_PyDict_New - # define PyDict_GetItemString dll_PyDict_GetItemString -*************** -*** 241,246 **** ---- 242,248 ---- - # define PySys_GetObject dll_PySys_GetObject - # define PySys_SetArgv dll_PySys_SetArgv - # define PyType_Type (*dll_PyType_Type) -+ # define PySlice_Type (*dll_PySlice_Type) - # define PyType_Ready (*dll_PyType_Ready) - # define PyType_GenericAlloc dll_PyType_GenericAlloc - # define Py_BuildValue dll_Py_BuildValue -*************** -*** 341,346 **** ---- 343,351 ---- - static PyInt(*dll_PyTuple_Size)(PyObject *); - static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt); - static PyTypeObject* dll_PyTuple_Type; -+ static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length, -+ PyInt *start, PyInt *stop, PyInt *step, -+ PyInt *slicelen); - static PyObject*(*dll_PyImport_ImportModule)(const char *); - static PyObject*(*dll_PyDict_New)(void); - static PyObject*(*dll_PyDict_GetItemString)(PyObject *, const char *); -*************** -*** 382,387 **** ---- 387,393 ---- - static PyObject *(*dll_PySys_GetObject)(char *); - static int(*dll_PySys_SetArgv)(int, char **); - static PyTypeObject* dll_PyType_Type; -+ static PyTypeObject* dll_PySlice_Type; - static int (*dll_PyType_Ready)(PyTypeObject *type); - static PyObject* (*dll_PyType_GenericAlloc)(PyTypeObject *type, PyInt nitems); - static PyObject*(*dll_Py_BuildValue)(char *, ...); -*************** -*** 521,526 **** ---- 527,533 ---- - {"PyTuple_GetItem", (PYTHON_PROC*)&dll_PyTuple_GetItem}, - {"PyTuple_Size", (PYTHON_PROC*)&dll_PyTuple_Size}, - {"PyTuple_Type", (PYTHON_PROC*)&dll_PyTuple_Type}, -+ {"PySlice_GetIndicesEx", (PYTHON_PROC*)&dll_PySlice_GetIndicesEx}, - {"PyImport_ImportModule", (PYTHON_PROC*)&dll_PyImport_ImportModule}, - {"PyDict_GetItemString", (PYTHON_PROC*)&dll_PyDict_GetItemString}, - {"PyDict_Next", (PYTHON_PROC*)&dll_PyDict_Next}, -*************** -*** 562,567 **** ---- 569,575 ---- - {"PySys_GetObject", (PYTHON_PROC*)&dll_PySys_GetObject}, - {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv}, - {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type}, -+ {"PySlice_Type", (PYTHON_PROC*)&dll_PySlice_Type}, - {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready}, - {"PyType_GenericAlloc", (PYTHON_PROC*)&dll_PyType_GenericAlloc}, - {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod}, -*************** -*** 1472,1492 **** - return Py_FindMethod(DictionaryMethods, self, name); - } - -- static PySequenceMethods ListAsSeq = { -- (PyInquiry) ListLength, -- (binaryfunc) 0, -- (PyIntArgFunc) 0, -- (PyIntArgFunc) ListItem, -- (PyIntIntArgFunc) ListSlice, -- (PyIntObjArgProc) ListAssItem, -- (PyIntIntObjArgProc) ListAssSlice, -- (objobjproc) 0, -- #if PY_MAJOR_VERSION >= 2 -- (binaryfunc) ListConcatInPlace, -- 0, -- #endif -- }; -- - static PyObject * - ListGetattr(PyObject *self, char *name) - { ---- 1480,1485 ---- -*** ../vim-7.4.150/src/proto/eval.pro 2013-08-10 13:37:09.000000000 +0200 ---- src/proto/eval.pro 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 60,65 **** ---- 60,66 ---- - int list_append_string __ARGS((list_T *l, char_u *str, int len)); - int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); - void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2)); -+ void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item)); - int garbage_collect __ARGS((void)); - void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID)); - void set_ref_in_list __ARGS((list_T *l, int copyID)); -*** ../vim-7.4.150/src/testdir/test86.in 2013-11-28 17:04:38.000000000 +0100 ---- src/testdir/test86.in 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 135,140 **** ---- 135,152 ---- - :py l=vim.bindeval('l') - :py del l[-6:2] - :$put =string(l) -+ :let l = [0, 1, 2, 3] -+ :py l=vim.bindeval('l') -+ :py del l[::2] -+ :$put =string(l) -+ :let l = [0, 1, 2, 3] -+ :py l=vim.bindeval('l') -+ :py del l[3:0:-2] -+ :$put =string(l) -+ :let l = [0, 1, 2, 3] -+ :py l=vim.bindeval('l') -+ :py del l[2:4:-2] -+ :$put =string(l) - :" - :" Slice assignment to a list - :let l = [0, 1, 2, 3] -*************** -*** 169,174 **** ---- 181,206 ---- - :py l=vim.bindeval('l') - :py l[0:0]=['h'] - :$put =string(l) -+ :let l = range(8) -+ :py l=vim.bindeval('l') -+ :py l[2:6:2] = [10, 20] -+ :$put =string(l) -+ :let l = range(8) -+ :py l=vim.bindeval('l') -+ :py l[6:2:-2] = [10, 20] -+ :$put =string(l) -+ :let l = range(8) -+ :py l=vim.bindeval('l') -+ :py l[6:2] = () -+ :$put =string(l) -+ :let l = range(8) -+ :py l=vim.bindeval('l') -+ :py l[6:2:1] = () -+ :$put =string(l) -+ :let l = range(8) -+ :py l=vim.bindeval('l') -+ :py l[2:2:1] = () -+ :$put =string(l) - :" - :" Locked variables - :let l = [0, 1, 2, 3] -*************** -*** 390,395 **** ---- 422,434 ---- - :$put =string(pyeval('l')) - :py l = ll[-10:10] - :$put =string(pyeval('l')) -+ :py l = ll[4:2:-1] -+ :$put =string(pyeval('l')) -+ :py l = ll[::2] -+ :$put =string(pyeval('l')) -+ :py l = ll[4:2:1] -+ :$put =string(pyeval('l')) -+ :py del l - :" - :" Vars - :let g:foo = 'bac' -*************** -*** 907,912 **** ---- 946,952 ---- - l = vim.List() - ll = vim.List('abcE') - ll.locked = True -+ nel = vim.List('abcO') - f = vim.Function('string') - fd = vim.Function('F') - fdel = vim.Function('D') -*************** -*** 994,999 **** ---- 1034,1053 ---- - def next(self): - raise NotImplementedError('next') - -+ class FailingIterNextN(object): -+ def __init__(self, n): -+ self.n = n -+ -+ def __iter__(self): -+ return self -+ -+ def next(self): -+ if self.n: -+ self.n -= 1 -+ return 1 -+ else: -+ raise NotImplementedError('next N') -+ - class FailingMappingKey(object): - def __getitem__(self, item): - raise NotImplementedError('getitem:mappingkey') -*************** -*** 1098,1103 **** ---- 1152,1158 ---- - cb.append(">>> iter") - ee('d.update(FailingMapping())') - ee('d.update([FailingIterNext()])') -+ ee('d.update([FailingIterNextN(1)])') - iter_test('d.update(%s)') - convertfrompyobject_test('d.update(%s)') - stringtochars_test('d.update(((%s, 0),))') -*************** -*** 1120,1125 **** ---- 1175,1188 ---- - cb.append(">> ListAssSlice") - ee('ll[1:100] = "abcJ"') - iter_test('l[:] = %s') -+ ee('nel[1:10:2] = "abcK"') -+ cb.append(repr(tuple(nel))) -+ ee('nel[1:10:2] = "a"') -+ cb.append(repr(tuple(nel))) -+ ee('nel[1:1:-1] = "a"') -+ cb.append(repr(tuple(nel))) -+ ee('nel[:] = FailingIterNextN(2)') -+ cb.append(repr(tuple(nel))) - convertfrompyobject_test('l[:] = [%s]') - cb.append(">> ListConcatInPlace") - iter_test('l.extend(%s)') -*************** -*** 1201,1206 **** ---- 1264,1270 ---- - del dl - del l - del ll -+ del nel - del f - del fd - del fdel -*************** -*** 1214,1219 **** ---- 1278,1284 ---- - del FailingTrue - del FailingIter - del FailingIterNext -+ del FailingIterNextN - del FailingMapping - del FailingMappingKey - del FailingList -*** ../vim-7.4.150/src/testdir/test86.ok 2013-11-28 17:04:38.000000000 +0100 ---- src/testdir/test86.ok 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 41,46 **** ---- 41,49 ---- - [2, 3] - [2, 3] - [2, 3] -+ [1, 3] -+ [0, 2] -+ [0, 1, 2, 3] - ['a', 0, 1, 2, 3] - [0, 'b', 2, 3] - [0, 1, 'c'] -*************** -*** 49,54 **** ---- 52,62 ---- - ['f', 2, 3] - [0, 1, 'g', 2, 3] - ['h'] -+ [0, 1, 10, 3, 20, 5, 6, 7] -+ [0, 1, 2, 3, 20, 5, 10, 7] -+ [0, 1, 2, 3, 4, 5, 6, 7] -+ [0, 1, 2, 3, 4, 5, 6, 7] -+ [0, 1, 2, 3, 4, 5, 6, 7] - [0, 1, 2, 3] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] -*************** -*** 96,101 **** ---- 104,112 ---- - [0, 1, 2, 3, 4, 5] - [0, 1, 2, 3, 4, 5] - [0, 1, 2, 3, 4, 5] -+ [4, 3] -+ [0, 2, 4] -+ [] - Abc - bac - def -*************** -*** 599,604 **** ---- 610,616 ---- - >>> iter - d.update(FailingMapping()):NotImplementedError:('keys',) - d.update([FailingIterNext()]):NotImplementedError:('next',) -+ d.update([FailingIterNextN(1)]):NotImplementedError:('next N',) - >>> Testing *Iter* using d.update(%s) - d.update(FailingIter()):NotImplementedError:('iter',) - d.update(FailingIterNext()):NotImplementedError:('next',) -*************** -*** 829,834 **** ---- 841,854 ---- - l[:] = FailingIter():NotImplementedError:('iter',) - l[:] = FailingIterNext():NotImplementedError:('next',) - <<< Finished -+ nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',) -+ ('a', 'b', 'c', 'O') -+ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) -+ ('a', 'b', 'c', 'O') -+ nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',) -+ ('a', 'b', 'c', 'O') -+ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) -+ ('a', 'b', 'c', 'O') - >>> Testing StringToChars using l[:] = [{%s : 1}] - l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',) - l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',) -*** ../vim-7.4.150/src/testdir/test87.in 2013-11-28 17:04:38.000000000 +0100 ---- src/testdir/test87.in 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 128,133 **** ---- 128,145 ---- - :py3 l=vim.bindeval('l') - :py3 del l[-6:2] - :$put =string(l) -+ :let l = [0, 1, 2, 3] -+ :py3 l=vim.bindeval('l') -+ :py3 del l[::2] -+ :$put =string(l) -+ :let l = [0, 1, 2, 3] -+ :py3 l=vim.bindeval('l') -+ :py3 del l[3:0:-2] -+ :$put =string(l) -+ :let l = [0, 1, 2, 3] -+ :py3 l=vim.bindeval('l') -+ :py3 del l[2:4:-2] -+ :$put =string(l) - :" - :" Slice assignment to a list - :let l = [0, 1, 2, 3] -*************** -*** 162,167 **** ---- 174,199 ---- - :py3 l=vim.bindeval('l') - :py3 l[0:0]=['h'] - :$put =string(l) -+ :let l = range(8) -+ :py3 l=vim.bindeval('l') -+ :py3 l[2:6:2] = [10, 20] -+ :$put =string(l) -+ :let l = range(8) -+ :py3 l=vim.bindeval('l') -+ :py3 l[6:2:-2] = [10, 20] -+ :$put =string(l) -+ :let l = range(8) -+ :py3 l=vim.bindeval('l') -+ :py3 l[6:2] = () -+ :$put =string(l) -+ :let l = range(8) -+ :py3 l=vim.bindeval('l') -+ :py3 l[6:2:1] = () -+ :$put =string(l) -+ :let l = range(8) -+ :py3 l=vim.bindeval('l') -+ :py3 l[2:2:1] = () -+ :$put =string(l) - :" - :" Locked variables - :let l = [0, 1, 2, 3] -*************** -*** 363,368 **** ---- 395,432 ---- - :py3 del trace_main - :$put =string(l) - :" -+ :" Slice -+ :py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]') -+ :py3 l = ll[:4] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[2:] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[:-4] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[-2:] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[2:4] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[4:2] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[-4:-2] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[-2:-4] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[:] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[0:6] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[-10:10] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[4:2:-1] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[::2] -+ :$put =string(py3eval('l')) -+ :py3 l = ll[4:2:1] -+ :$put =string(py3eval('l')) -+ :py3 del l -+ :" - :" Vars - :let g:foo = 'bac' - :let w:abc3 = 'def' -*************** -*** 859,864 **** ---- 923,929 ---- - l = vim.List() - ll = vim.List('abcE') - ll.locked = True -+ nel = vim.List('abcO') - f = vim.Function('string') - fd = vim.Function('F') - fdel = vim.Function('D') -*************** -*** 946,951 **** ---- 1011,1030 ---- - def __next__(self): - raise NotImplementedError('next') - -+ class FailingIterNextN(object): -+ def __init__(self, n): -+ self.n = n -+ -+ def __iter__(self): -+ return self -+ -+ def __next__(self): -+ if self.n: -+ self.n -= 1 -+ return 1 -+ else: -+ raise NotImplementedError('next N') -+ - class FailingMappingKey(object): - def __getitem__(self, item): - raise NotImplementedError('getitem:mappingkey') -*************** -*** 1050,1055 **** ---- 1129,1135 ---- - cb.append(">>> iter") - ee('d.update(FailingMapping())') - ee('d.update([FailingIterNext()])') -+ ee('d.update([FailingIterNextN(1)])') - iter_test('d.update(%s)') - convertfrompyobject_test('d.update(%s)') - stringtochars_test('d.update(((%s, 0),))') -*************** -*** 1072,1077 **** ---- 1152,1165 ---- - cb.append(">> ListAssSlice") - ee('ll[1:100] = "abcJ"') - iter_test('l[:] = %s') -+ ee('nel[1:10:2] = "abcK"') -+ cb.append(repr(tuple(nel))) -+ ee('nel[1:10:2] = "a"') -+ cb.append(repr(tuple(nel))) -+ ee('nel[1:1:-1] = "a"') -+ cb.append(repr(tuple(nel))) -+ ee('nel[:] = FailingIterNextN(2)') -+ cb.append(repr(tuple(nel))) - convertfrompyobject_test('l[:] = [%s]') - cb.append(">> ListConcatInPlace") - iter_test('l.extend(%s)') -*************** -*** 1153,1158 **** ---- 1241,1247 ---- - del dl - del l - del ll -+ del nel - del f - del fd - del fdel -*************** -*** 1166,1171 **** ---- 1255,1261 ---- - del FailingTrue - del FailingIter - del FailingIterNext -+ del FailingIterNextN - del FailingMapping - del FailingMappingKey - del FailingList -*** ../vim-7.4.150/src/testdir/test87.ok 2013-11-28 17:04:38.000000000 +0100 ---- src/testdir/test87.ok 2014-01-14 16:24:49.000000000 +0100 -*************** -*** 41,46 **** ---- 41,49 ---- - [2, 3] - [2, 3] - [2, 3] -+ [1, 3] -+ [0, 2] -+ [0, 1, 2, 3] - ['a', 0, 1, 2, 3] - [0, 'b', 2, 3] - [0, 1, 'c'] -*************** -*** 49,54 **** ---- 52,62 ---- - ['f', 2, 3] - [0, 1, 'g', 2, 3] - ['h'] -+ [0, 1, 10, 3, 20, 5, 6, 7] -+ [0, 1, 2, 3, 20, 5, 10, 7] -+ [0, 1, 2, 3, 4, 5, 6, 7] -+ [0, 1, 2, 3, 4, 5, 6, 7] -+ [0, 1, 2, 3, 4, 5, 6, 7] - [0, 1, 2, 3] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] - [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] -*************** -*** 85,90 **** ---- 93,112 ---- - vim: Vim(let):E859: - [1] - [1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1] -+ [0, 1, 2, 3] -+ [2, 3, 4, 5] -+ [0, 1] -+ [4, 5] -+ [2, 3] -+ [] -+ [2, 3] -+ [] -+ [0, 1, 2, 3, 4, 5] -+ [0, 1, 2, 3, 4, 5] -+ [0, 1, 2, 3, 4, 5] -+ [4, 3] -+ [0, 2, 4] -+ [] - Abc - bac - def -*************** -*** 588,593 **** ---- 610,616 ---- - >>> iter - d.update(FailingMapping()):(, NotImplementedError('keys',)) - d.update([FailingIterNext()]):(, NotImplementedError('next',)) -+ d.update([FailingIterNextN(1)]):(, NotImplementedError('next N',)) - >>> Testing *Iter* using d.update(%s) - d.update(FailingIter()):(, NotImplementedError('iter',)) - d.update(FailingIterNext()):(, NotImplementedError('next',)) -*************** -*** 818,823 **** ---- 841,854 ---- - l[:] = FailingIter():(, NotImplementedError('iter',)) - l[:] = FailingIterNext():(, NotImplementedError('next',)) - <<< Finished -+ nel[1:10:2] = "abcK":(, ValueError('attempt to assign sequence of size greater then 2 to extended slice',)) -+ (b'a', b'b', b'c', b'O') -+ nel[1:10:2] = "a":(, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',)) -+ (b'a', b'b', b'c', b'O') -+ nel[1:1:-1] = "a":(, ValueError('attempt to assign sequence of size greater then 0 to extended slice',)) -+ (b'a', b'b', b'c', b'O') -+ nel[:] = FailingIterNextN(2):(, NotImplementedError('next N',)) -+ (b'a', b'b', b'c', b'O') - >>> Testing StringToChars using l[:] = [{%s : 1}] - l[:] = [{1 : 1}]:(, TypeError('expected bytes() or str() instance, but got int',)) - l[:] = [{b"\0" : 1}]:(, TypeError('expected bytes with no null',)) -*** ../vim-7.4.150/src/version.c 2014-01-14 15:53:47.000000000 +0100 ---- src/version.c 2014-01-14 16:27:01.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 151, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -159. You get excited whenever discussing your hard drive. - - /// 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 /// diff --git a/7.4.152 b/7.4.152 deleted file mode 100644 index 6e54ddb9..00000000 --- a/7.4.152 +++ /dev/null @@ -1,708 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.152 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.152 -Problem: Python: Cannot iterate over options. -Solution: Add options iterator. (ZyX) -Files: src/if_py_both.h, src/option.c, src/proto/option.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok, src/vim.h - - -*** ../vim-7.4.151/src/if_py_both.h 2014-01-14 16:36:40.000000000 +0100 ---- src/if_py_both.h 2014-01-14 16:51:30.000000000 +0100 -*************** -*** 2949,2958 **** - typedef struct - { - PyObject_HEAD -! int opt_type; -! void *from; -! checkfun Check; -! PyObject *fromObj; - } OptionsObject; - - static int ---- 2949,2958 ---- - typedef struct - { - PyObject_HEAD -! int opt_type; -! void *from; -! checkfun Check; -! PyObject *fromObj; - } OptionsObject; - - static int -*************** -*** 3072,3077 **** ---- 3072,3140 ---- - } - - static int -+ OptionsContains(OptionsObject *self, PyObject *keyObject) -+ { -+ char_u *key; -+ PyObject *todecref; -+ -+ if (!(key = StringToChars(keyObject, &todecref))) -+ return -1; -+ -+ if (*key == NUL) -+ { -+ Py_XDECREF(todecref); -+ return 0; -+ } -+ -+ if (get_option_value_strict(key, NULL, NULL, self->opt_type, NULL)) -+ { -+ Py_XDECREF(todecref); -+ return 1; -+ } -+ else -+ { -+ Py_XDECREF(todecref); -+ return 0; -+ } -+ } -+ -+ typedef struct -+ { -+ void *lastoption; -+ int opt_type; -+ } optiterinfo_T; -+ -+ static PyObject * -+ OptionsIterNext(optiterinfo_T **oii) -+ { -+ char_u *name; -+ -+ if ((name = option_iter_next(&((*oii)->lastoption), (*oii)->opt_type))) -+ return PyString_FromString((char *)name); -+ -+ return NULL; -+ } -+ -+ static PyObject * -+ OptionsIter(OptionsObject *self) -+ { -+ optiterinfo_T *oii; -+ -+ if (!(oii = PyMem_New(optiterinfo_T, 1))) -+ { -+ PyErr_NoMemory(); -+ return NULL; -+ } -+ -+ oii->opt_type = self->opt_type; -+ oii->lastoption = NULL; -+ -+ return IterNew(oii, -+ (destructorfun) PyMem_Free, (nextfun) OptionsIterNext, -+ NULL, NULL); -+ } -+ -+ static int - set_option_value_err(char_u *key, int numval, char_u *stringval, int opt_flags) - { - char_u *errmsg; -*************** -*** 3231,3236 **** ---- 3294,3312 ---- - return ret; - } - -+ static PySequenceMethods OptionsAsSeq = { -+ 0, /* sq_length */ -+ 0, /* sq_concat */ -+ 0, /* sq_repeat */ -+ 0, /* sq_item */ -+ 0, /* sq_slice */ -+ 0, /* sq_ass_item */ -+ 0, /* sq_ass_slice */ -+ (objobjproc) OptionsContains, /* sq_contains */ -+ 0, /* sq_inplace_concat */ -+ 0, /* sq_inplace_repeat */ -+ }; -+ - static PyMappingMethods OptionsAsMapping = { - (lenfunc) NULL, - (binaryfunc) OptionsItem, -*************** -*** 6121,6128 **** ---- 6197,6206 ---- - vim_memset(&OptionsType, 0, sizeof(OptionsType)); - OptionsType.tp_name = "vim.options"; - OptionsType.tp_basicsize = sizeof(OptionsObject); -+ OptionsType.tp_as_sequence = &OptionsAsSeq; - OptionsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC; - OptionsType.tp_doc = "object for manipulating options"; -+ OptionsType.tp_iter = (getiterfunc)OptionsIter; - OptionsType.tp_as_mapping = &OptionsAsMapping; - OptionsType.tp_dealloc = (destructor)OptionsDestructor; - OptionsType.tp_traverse = (traverseproc)OptionsTraverse; -*** ../vim-7.4.151/src/option.c 2013-11-12 04:43:57.000000000 +0100 ---- src/option.c 2014-01-14 16:50:52.000000000 +0100 -*************** -*** 8861,8867 **** - } - #endif - -! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) - /* - * Returns the option attributes and its value. Unlike the above function it - * will return either global value or local value of the option depending on ---- 8861,8867 ---- - } - #endif - -! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO) - /* - * Returns the option attributes and its value. Unlike the above function it - * will return either global value or local value of the option depending on -*************** -*** 8874,8880 **** - * opt_type). Uses - * - * Returned flags: -! * 0 hidden or unknown option - * see SOPT_* in vim.h for other flags - * - * Possible opt_type values: see SREQ_* in vim.h ---- 8874,8881 ---- - * opt_type). Uses - * - * Returned flags: -! * 0 hidden or unknown option, also option that does not have requested -! * type (see SREQ_* in vim.h) - * see SOPT_* in vim.h for other flags - * - * Possible opt_type values: see SREQ_* in vim.h -*************** -*** 8997,9002 **** ---- 8998,9065 ---- - - return r; - } -+ -+ /* -+ * Iterate over options. First argument is a pointer to a pointer to a structure -+ * inside options[] array, second is option type like in the above function. -+ * -+ * If first argument points to NULL it is assumed that iteration just started -+ * and caller needs the very first value. -+ * If first argument points to the end marker function returns NULL and sets -+ * first argument to NULL. -+ * -+ * Returns full option name for current option on each call. -+ */ -+ char_u * -+ option_iter_next(option, opt_type) -+ void **option; -+ int opt_type; -+ { -+ struct vimoption *ret = NULL; -+ do -+ { -+ if (*option == NULL) -+ *option = (void *) options; -+ else if (((struct vimoption *) (*option))->fullname == NULL) -+ { -+ *option = NULL; -+ return NULL; -+ } -+ else -+ *option = (void *) (((struct vimoption *) (*option)) + 1); -+ -+ ret = ((struct vimoption *) (*option)); -+ -+ /* Hidden option */ -+ if (ret->var == NULL) -+ { -+ ret = NULL; -+ continue; -+ } -+ -+ switch (opt_type) -+ { -+ case SREQ_GLOBAL: -+ if (!(ret->indir == PV_NONE || ret->indir & PV_BOTH)) -+ ret = NULL; -+ break; -+ case SREQ_BUF: -+ if (!(ret->indir & PV_BUF)) -+ ret = NULL; -+ break; -+ case SREQ_WIN: -+ if (!(ret->indir & PV_WIN)) -+ ret = NULL; -+ break; -+ default: -+ EMSG2(_(e_intern2), "option_iter_next()"); -+ return NULL; -+ } -+ } -+ while (ret == NULL); -+ -+ return (char_u *)ret->fullname; -+ } - #endif - - /* -*** ../vim-7.4.151/src/proto/option.pro 2013-11-05 07:12:59.000000000 +0100 ---- src/proto/option.pro 2014-01-14 16:51:41.000000000 +0100 -*************** -*** 23,28 **** ---- 23,29 ---- - char_u *check_stl_option __ARGS((char_u *s)); - int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags)); - int get_option_value_strict __ARGS((char_u *name, long *numval, char_u **stringval, int opt_type, void *from)); -+ char_u *option_iter_next __ARGS((void **option, int opt_type)); - char_u *set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags)); - char_u *get_term_code __ARGS((char_u *tname)); - char_u *get_highlight_default __ARGS((void)); -*** ../vim-7.4.151/src/testdir/test86.in 2014-01-14 16:36:40.000000000 +0100 ---- src/testdir/test86.in 2014-01-14 16:49:10.000000000 +0100 -*************** -*** 506,511 **** ---- 506,516 ---- - :py bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options - :py bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options - :py bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options -+ :$put ='wopts iters equal: '.pyeval('list(wopts1) == list(wopts2)') -+ :$put ='bopts iters equal: '.pyeval('list(bopts1) == list(bopts2)') -+ :py gset=set(iter(gopts1)) -+ :py wset=set(iter(wopts1)) -+ :py bset=set(iter(bopts1)) - :set path=.,..,, - :let lst=[] - :let lst+=[['paste', 1, 0, 1, 2, 1, 1, 0 ]] -*************** -*** 536,541 **** ---- 541,548 ---- - : py oval3=bool(oval3) - : endif - : put ='>>> '.oname -+ : $put =' g/w/b:'.pyeval('oname in gset').'/'.pyeval('oname in wset').'/'.pyeval('oname in bset') -+ : $put =' g/w/b (in):'.pyeval('oname in gopts1').'/'.pyeval('oname in wopts1').'/'.pyeval('oname in bopts1') - : for v in ['gopts1', 'wopts1', 'bopts1'] - : try - : put =' p/'.v.': '.Ev('repr('.v.'['''.oname.'''])') -*************** -*** 1122,1127 **** ---- 1129,1141 ---- - ee('import failing') - vim.options['rtp'] = old_rtp - del old_rtp -+ cb.append("> Options") -+ cb.append(">> OptionsItem") -+ ee('vim.options["abcQ"]') -+ ee('vim.options[""]') -+ stringtochars_test('vim.options[%s]') -+ cb.append(">> OptionsContains") -+ stringtochars_test('%s in vim.options') - cb.append("> Dictionary") - cb.append(">> DictionaryConstructor") - ee('vim.Dictionary("abcI")') -*** ../vim-7.4.151/src/testdir/test86.ok 2014-01-14 16:36:40.000000000 +0100 ---- src/testdir/test86.ok 2014-01-14 16:49:10.000000000 +0100 -*************** -*** 112,118 **** ---- 112,122 ---- - def - bar - jkl -+ wopts iters equal: 1 -+ bopts iters equal: 1 - >>> paste -+ g/w/b:1/0/0 -+ g/w/b (in):1/0/0 - p/gopts1: False - p/wopts1! KeyError - inv: 2! KeyError -*************** -*** 133,138 **** ---- 137,144 ---- - W: 1:1 2:1 3:1 4:1 - B: 1:1 2:1 3:1 4:1 - >>> previewheight -+ g/w/b:1/0/0 -+ g/w/b (in):1/0/0 - p/gopts1: 12 - inv: 'a'! TypeError - p/wopts1! KeyError -*************** -*** 154,159 **** ---- 160,167 ---- - W: 1:5 2:5 3:5 4:5 - B: 1:5 2:5 3:5 4:5 - >>> operatorfunc -+ g/w/b:1/0/0 -+ g/w/b (in):1/0/0 - p/gopts1: '' - inv: 2! TypeError - p/wopts1! KeyError -*************** -*** 175,180 **** ---- 183,190 ---- - W: 1:'A' 2:'A' 3:'A' 4:'A' - B: 1:'A' 2:'A' 3:'A' 4:'A' - >>> number -+ g/w/b:0/1/0 -+ g/w/b (in):0/1/0 - p/gopts1! KeyError - inv: 0! KeyError - gopts1! KeyError -*************** -*** 193,198 **** ---- 203,210 ---- - W: 1:1 2:1 3:0 4:0 - B: 1:1 2:1 3:0 4:0 - >>> numberwidth -+ g/w/b:0/1/0 -+ g/w/b (in):0/1/0 - p/gopts1! KeyError - inv: -100! KeyError - gopts1! KeyError -*************** -*** 212,217 **** ---- 224,231 ---- - W: 1:3 2:5 3:2 4:8 - B: 1:3 2:5 3:2 4:8 - >>> colorcolumn -+ g/w/b:0/1/0 -+ g/w/b (in):0/1/0 - p/gopts1! KeyError - inv: 'abc4'! KeyError - gopts1! KeyError -*************** -*** 231,236 **** ---- 245,252 ---- - W: 1:'+2' 2:'+3' 3:'+1' 4:'' - B: 1:'+2' 2:'+3' 3:'+1' 4:'' - >>> statusline -+ g/w/b:1/1/0 -+ g/w/b (in):1/1/0 - p/gopts1: '' - inv: 0! TypeError - p/wopts1: None -*************** -*** 248,253 **** ---- 264,271 ---- - W: 1:'2' 2:'1' 3:'1' 4:'1' - B: 1:'2' 2:'1' 3:'1' 4:'1' - >>> autoindent -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 2! KeyError - gopts1! KeyError -*************** -*** 266,271 **** ---- 284,291 ---- - W: 1:0 2:1 3:0 4:1 - B: 1:0 2:1 3:0 4:1 - >>> shiftwidth -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 3! KeyError - gopts1! KeyError -*************** -*** 284,289 **** ---- 304,311 ---- - W: 1:0 2:2 3:8 4:1 - B: 1:0 2:2 3:8 4:1 - >>> omnifunc -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 1! KeyError - gopts1! KeyError -*************** -*** 303,308 **** ---- 325,332 ---- - W: 1:'A' 2:'B' 3:'' 4:'C' - B: 1:'A' 2:'B' 3:'' 4:'C' - >>> preserveindent -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 2! KeyError - gopts1! KeyError -*************** -*** 321,326 **** ---- 345,352 ---- - W: 1:0 2:1 3:0 4:1 - B: 1:0 2:1 3:0 4:1 - >>> path -+ g/w/b:1/0/1 -+ g/w/b (in):1/0/1 - p/gopts1: '.,..,,' - inv: 0! TypeError - p/wopts1! KeyError -*************** -*** 509,514 **** ---- 535,555 ---- - import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',) - import failing_import:ImportError:('No module named failing_import',) - import failing:NotImplementedError:() -+ > Options -+ >> OptionsItem -+ vim.options["abcQ"]:KeyError:('abcQ',) -+ vim.options[""]:ValueError:('empty keys are not allowed',) -+ >>> Testing StringToChars using vim.options[%s] -+ vim.options[1]:TypeError:('expected str() or unicode() instance, but got int',) -+ vim.options[u"\0"]:TypeError:('expected string without null bytes',) -+ vim.options["\0"]:TypeError:('expected string without null bytes',) -+ <<< Finished -+ >> OptionsContains -+ >>> Testing StringToChars using %s in vim.options -+ 1 in vim.options:TypeError:('expected str() or unicode() instance, but got int',) -+ u"\0" in vim.options:TypeError:('expected string without null bytes',) -+ "\0" in vim.options:TypeError:('expected string without null bytes',) -+ <<< Finished - > Dictionary - >> DictionaryConstructor - vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',) -*** ../vim-7.4.151/src/testdir/test87.in 2014-01-14 16:36:40.000000000 +0100 ---- src/testdir/test87.in 2014-01-14 16:49:10.000000000 +0100 -*************** -*** 503,508 **** ---- 503,513 ---- - :py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options - :py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options - :py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options -+ :$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts2)') -+ :$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts2)') -+ :py3 gset=set(iter(gopts1)) -+ :py3 wset=set(iter(wopts1)) -+ :py3 bset=set(iter(bopts1)) - :set path=.,..,, - :let lst=[] - :let lst+=[['paste', 1, 0, 1, 2, 1, 1, 0 ]] -*************** -*** 533,538 **** ---- 538,545 ---- - : py3 oval3=bool(oval3) - : endif - : put ='>>> '.oname -+ : $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('oname in wset').'/'.py3eval('oname in bset') -+ : $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3eval('oname in wopts1').'/'.py3eval('oname in bopts1') - : for v in ['gopts1', 'wopts1', 'bopts1'] - : try - : put =' p/'.v.': '.Ev('repr('.v.'['''.oname.'''])') -*************** -*** 1099,1104 **** ---- 1106,1118 ---- - ee('import failing') - vim.options['rtp'] = old_rtp - del old_rtp -+ cb.append("> Options") -+ cb.append(">> OptionsItem") -+ ee('vim.options["abcQ"]') -+ ee('vim.options[""]') -+ stringtochars_test('vim.options[%s]') -+ cb.append(">> OptionsContains") -+ stringtochars_test('%s in vim.options') - cb.append("> Dictionary") - cb.append(">> DictionaryConstructor") - ee('vim.Dictionary("abcI")') -*** ../vim-7.4.151/src/testdir/test87.ok 2014-01-14 16:36:40.000000000 +0100 ---- src/testdir/test87.ok 2014-01-14 16:49:10.000000000 +0100 -*************** -*** 112,118 **** ---- 112,122 ---- - def - bar - jkl -+ wopts iters equal: 1 -+ bopts iters equal: 1 - >>> paste -+ g/w/b:1/0/0 -+ g/w/b (in):1/0/0 - p/gopts1: False - p/wopts1! KeyError - inv: 2! KeyError -*************** -*** 133,138 **** ---- 137,144 ---- - W: 1:1 2:1 3:1 4:1 - B: 1:1 2:1 3:1 4:1 - >>> previewheight -+ g/w/b:1/0/0 -+ g/w/b (in):1/0/0 - p/gopts1: 12 - inv: 'a'! TypeError - p/wopts1! KeyError -*************** -*** 154,159 **** ---- 160,167 ---- - W: 1:5 2:5 3:5 4:5 - B: 1:5 2:5 3:5 4:5 - >>> operatorfunc -+ g/w/b:1/0/0 -+ g/w/b (in):1/0/0 - p/gopts1: b'' - inv: 2! TypeError - p/wopts1! KeyError -*************** -*** 175,180 **** ---- 183,190 ---- - W: 1:'A' 2:'A' 3:'A' 4:'A' - B: 1:'A' 2:'A' 3:'A' 4:'A' - >>> number -+ g/w/b:0/1/0 -+ g/w/b (in):0/1/0 - p/gopts1! KeyError - inv: 0! KeyError - gopts1! KeyError -*************** -*** 193,198 **** ---- 203,210 ---- - W: 1:1 2:1 3:0 4:0 - B: 1:1 2:1 3:0 4:0 - >>> numberwidth -+ g/w/b:0/1/0 -+ g/w/b (in):0/1/0 - p/gopts1! KeyError - inv: -100! KeyError - gopts1! KeyError -*************** -*** 212,217 **** ---- 224,231 ---- - W: 1:3 2:5 3:2 4:8 - B: 1:3 2:5 3:2 4:8 - >>> colorcolumn -+ g/w/b:0/1/0 -+ g/w/b (in):0/1/0 - p/gopts1! KeyError - inv: 'abc4'! KeyError - gopts1! KeyError -*************** -*** 231,236 **** ---- 245,252 ---- - W: 1:'+2' 2:'+3' 3:'+1' 4:'' - B: 1:'+2' 2:'+3' 3:'+1' 4:'' - >>> statusline -+ g/w/b:1/1/0 -+ g/w/b (in):1/1/0 - p/gopts1: b'' - inv: 0! TypeError - p/wopts1: None -*************** -*** 248,253 **** ---- 264,271 ---- - W: 1:'2' 2:'1' 3:'1' 4:'1' - B: 1:'2' 2:'1' 3:'1' 4:'1' - >>> autoindent -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 2! KeyError - gopts1! KeyError -*************** -*** 266,271 **** ---- 284,291 ---- - W: 1:0 2:1 3:0 4:1 - B: 1:0 2:1 3:0 4:1 - >>> shiftwidth -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 3! KeyError - gopts1! KeyError -*************** -*** 284,289 **** ---- 304,311 ---- - W: 1:0 2:2 3:8 4:1 - B: 1:0 2:2 3:8 4:1 - >>> omnifunc -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 1! KeyError - gopts1! KeyError -*************** -*** 303,308 **** ---- 325,332 ---- - W: 1:'A' 2:'B' 3:'' 4:'C' - B: 1:'A' 2:'B' 3:'' 4:'C' - >>> preserveindent -+ g/w/b:0/0/1 -+ g/w/b (in):0/0/1 - p/gopts1! KeyError - inv: 2! KeyError - gopts1! KeyError -*************** -*** 321,326 **** ---- 345,352 ---- - W: 1:0 2:1 3:0 4:1 - B: 1:0 2:1 3:0 4:1 - >>> path -+ g/w/b:1/0/1 -+ g/w/b (in):1/0/1 - p/gopts1: b'.,..,,' - inv: 0! TypeError - p/wopts1! KeyError -*************** -*** 509,514 **** ---- 535,555 ---- - import xxx_no_such_module_xxx:(, ImportError('No module named xxx_no_such_module_xxx',)) - import failing_import:(, ImportError('No module named failing_import',)) - import failing:(, NotImplementedError()) -+ > Options -+ >> OptionsItem -+ vim.options["abcQ"]:(, KeyError('abcQ',)) -+ vim.options[""]:(, ValueError('empty keys are not allowed',)) -+ >>> Testing StringToChars using vim.options[%s] -+ vim.options[1]:(, TypeError('expected bytes() or str() instance, but got int',)) -+ vim.options[b"\0"]:(, TypeError('expected bytes with no null',)) -+ vim.options["\0"]:(, TypeError('expected bytes with no null',)) -+ <<< Finished -+ >> OptionsContains -+ >>> Testing StringToChars using %s in vim.options -+ 1 in vim.options:(, TypeError('expected bytes() or str() instance, but got int',)) -+ b"\0" in vim.options:(, TypeError('expected bytes with no null',)) -+ "\0" in vim.options:(, TypeError('expected bytes with no null',)) -+ <<< Finished - > Dictionary - >> DictionaryConstructor - vim.Dictionary("abcI"):(, ValueError('expected sequence element of size 2, but got sequence of size 1',)) -*** ../vim-7.4.151/src/vim.h 2013-11-09 03:31:45.000000000 +0100 ---- src/vim.h 2014-01-14 16:49:10.000000000 +0100 -*************** -*** 2249,2254 **** ---- 2249,2255 ---- - #define SOPT_BUF 0x20 /* Option has buffer-local value */ - #define SOPT_UNSET 0x40 /* Option does not have local value set */ - -+ /* Option types for various functions in option.c */ - #define SREQ_GLOBAL 0 /* Request global option */ - #define SREQ_WIN 1 /* Request window-local option */ - #define SREQ_BUF 2 /* Request buffer-local option */ -*** ../vim-7.4.151/src/version.c 2014-01-14 16:36:40.000000000 +0100 ---- src/version.c 2014-01-14 16:43:58.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 152, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -160. You get in the elevator and double-click the button for the floor - you 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 /// diff --git a/7.4.153 b/7.4.153 deleted file mode 100644 index 73881b5d..00000000 --- a/7.4.153 +++ /dev/null @@ -1,176 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.153 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.153 -Problem: Compiler warning for pointer type. -Solution: Add type cast. -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - - -*** ../vim-7.4.152/src/if_py_both.h 2014-01-14 16:54:53.000000000 +0100 ---- src/if_py_both.h 2014-01-14 18:54:47.000000000 +0100 -*************** -*** 2326,2332 **** - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx(idx, ListLength(self), - &start, &stop, &step, &slicelen) < 0) - return NULL; - return ListSlice(self, start, step, slicelen); ---- 2326,2332 ---- - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self), - &start, &stop, &step, &slicelen) < 0) - return NULL; - return ListSlice(self, start, step, slicelen); -*************** -*** 2616,2622 **** - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx(idx, ListLength(self), - &start, &stop, &step, &slicelen) < 0) - return -1; - return ListAssSlice(self, start, step, slicelen, ---- 2616,2622 ---- - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self), - &start, &stop, &step, &slicelen) < 0) - return -1; - return ListAssSlice(self, start, step, slicelen, -*** ../vim-7.4.152/src/if_python.c 2014-01-14 16:36:40.000000000 +0100 ---- src/if_python.c 2014-01-14 18:56:41.000000000 +0100 -*************** -*** 343,349 **** - static PyInt(*dll_PyTuple_Size)(PyObject *); - static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt); - static PyTypeObject* dll_PyTuple_Type; -! static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length, - PyInt *start, PyInt *stop, PyInt *step, - PyInt *slicelen); - static PyObject*(*dll_PyImport_ImportModule)(const char *); ---- 343,349 ---- - static PyInt(*dll_PyTuple_Size)(PyObject *); - static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt); - static PyTypeObject* dll_PyTuple_Type; -! static int (*dll_PySlice_GetIndicesEx)(PySliceObject *r, PyInt length, - PyInt *start, PyInt *stop, PyInt *step, - PyInt *slicelen); - static PyObject*(*dll_PyImport_ImportModule)(const char *); -*** ../vim-7.4.152/src/if_python3.c 2014-01-14 16:36:40.000000000 +0100 ---- src/if_python3.c 2014-01-14 18:58:19.000000000 +0100 -*************** -*** 294,300 **** - static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t); - static int (*py3_PyMapping_Check)(PyObject *); - static PyObject* (*py3_PyMapping_Keys)(PyObject *); -! static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length, - Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, - Py_ssize_t *slicelen); - static PyObject* (*py3_PyErr_NoMemory)(void); ---- 294,300 ---- - static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t); - static int (*py3_PyMapping_Check)(PyObject *); - static PyObject* (*py3_PyMapping_Keys)(PyObject *); -! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length, - Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, - Py_ssize_t *slicelen); - static PyObject* (*py3_PyErr_NoMemory)(void); -*************** -*** 1190,1196 **** - if (CheckBuffer((BufferObject *) self)) - return NULL; - -! if (PySlice_GetIndicesEx((PyObject *)idx, - (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, - &start, &stop, - &step, &slicelen) < 0) ---- 1190,1196 ---- - if (CheckBuffer((BufferObject *) self)) - return NULL; - -! if (PySlice_GetIndicesEx((PySliceObject *)idx, - (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, - &start, &stop, - &step, &slicelen) < 0) -*************** -*** 1222,1228 **** - if (CheckBuffer((BufferObject *) self)) - return -1; - -! if (PySlice_GetIndicesEx((PyObject *)idx, - (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, - &start, &stop, - &step, &slicelen) < 0) ---- 1222,1228 ---- - if (CheckBuffer((BufferObject *) self)) - return -1; - -! if (PySlice_GetIndicesEx((PySliceObject *)idx, - (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, - &start, &stop, - &step, &slicelen) < 0) -*************** -*** 1306,1312 **** - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx((PyObject *)idx, - ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, - &start, &stop, - &step, &slicelen) < 0) ---- 1306,1312 ---- - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx((PySliceObject *)idx, - ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, - &start, &stop, - &step, &slicelen) < 0) -*************** -*** 1333,1339 **** - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx((PyObject *)idx, - ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, - &start, &stop, - &step, &slicelen) < 0) ---- 1333,1339 ---- - { - Py_ssize_t start, stop, step, slicelen; - -! if (PySlice_GetIndicesEx((PySliceObject *)idx, - ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, - &start, &stop, - &step, &slicelen) < 0) -*** ../vim-7.4.152/src/version.c 2014-01-14 16:54:53.000000000 +0100 ---- src/version.c 2014-01-14 18:54:01.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 153, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -161. You get up before the sun rises to check your e-mail, and you - find yourself in the very same chair long after the sun has set. - - /// 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 /// diff --git a/7.4.154 b/7.4.154 deleted file mode 100644 index db5ae62d..00000000 --- a/7.4.154 +++ /dev/null @@ -1,153 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.154 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.154 (after 7.4.149) -Problem: Still a problem with auto-loading. -Solution: Pass no_autoload to deref_func_name(). (Yukihiro Nakadaira) -Files: src/eval.c - - -*** ../vim-7.4.153/src/eval.c 2014-01-14 16:36:40.000000000 +0100 ---- src/eval.c 2014-01-14 19:40:36.000000000 +0100 -*************** -*** 447,453 **** - #endif - static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); - static int find_internal_func __ARGS((char_u *name)); -! static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); - static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static void emsg_funcname __ARGS((char *ermsg, char_u *name)); ---- 447,453 ---- - #endif - static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); - static int find_internal_func __ARGS((char_u *name)); -! static char_u *deref_func_name __ARGS((char_u *name, int *lenp, int no_autoload)); - static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static void emsg_funcname __ARGS((char *ermsg, char_u *name)); -*************** -*** 3432,3438 **** - - /* If it is the name of a variable of type VAR_FUNC use its contents. */ - len = (int)STRLEN(tofree); -! name = deref_func_name(tofree, &len); - - /* Skip white space to allow ":call func ()". Not good, but required for - * backward compatibility. */ ---- 3432,3438 ---- - - /* If it is the name of a variable of type VAR_FUNC use its contents. */ - len = (int)STRLEN(tofree); -! name = deref_func_name(tofree, &len, FALSE); - - /* Skip white space to allow ":call func ()". Not good, but required for - * backward compatibility. */ -*************** -*** 5159,5165 **** - { - /* If "s" is the name of a variable of type VAR_FUNC - * use its contents. */ -! s = deref_func_name(s, &len); - - /* Invoke the function. */ - ret = get_func_tv(s, len, rettv, arg, ---- 5159,5165 ---- - { - /* If "s" is the name of a variable of type VAR_FUNC - * use its contents. */ -! s = deref_func_name(s, &len, FALSE); - - /* Invoke the function. */ - ret = get_func_tv(s, len, rettv, arg, -*************** -*** 8291,8306 **** - * name it contains, otherwise return "name". - */ - static char_u * -! deref_func_name(name, lenp) - char_u *name; - int *lenp; - { - dictitem_T *v; - int cc; - - cc = name[*lenp]; - name[*lenp] = NUL; -! v = find_var(name, NULL, FALSE); - name[*lenp] = cc; - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { ---- 8291,8307 ---- - * name it contains, otherwise return "name". - */ - static char_u * -! deref_func_name(name, lenp, no_autoload) - char_u *name; - int *lenp; -+ int no_autoload; - { - dictitem_T *v; - int cc; - - cc = name[*lenp]; - name[*lenp] = NUL; -! v = find_var(name, NULL, no_autoload); - name[*lenp] = cc; - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { -*************** -*** 21947,21960 **** - if (lv.ll_exp_name != NULL) - { - len = (int)STRLEN(lv.ll_exp_name); -! name = deref_func_name(lv.ll_exp_name, &len); - if (name == lv.ll_exp_name) - name = NULL; - } - else - { - len = (int)(end - *pp); -! name = deref_func_name(*pp, &len); - if (name == *pp) - name = NULL; - } ---- 21948,21961 ---- - if (lv.ll_exp_name != NULL) - { - len = (int)STRLEN(lv.ll_exp_name); -! name = deref_func_name(lv.ll_exp_name, &len, flags & TFN_NO_AUTOLOAD); - if (name == lv.ll_exp_name) - name = NULL; - } - else - { - len = (int)(end - *pp); -! name = deref_func_name(*pp, &len, flags & TFN_NO_AUTOLOAD); - if (name == *pp) - name = NULL; - } -*** ../vim-7.4.153/src/version.c 2014-01-14 19:35:49.000000000 +0100 ---- src/version.c 2014-01-14 19:42:05.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 154, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -162. You go outside and look for a brightness knob to turn down 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 /// diff --git a/7.4.155 b/7.4.155 deleted file mode 100644 index e2b26bde..00000000 --- a/7.4.155 +++ /dev/null @@ -1,83 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.155 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.155 -Problem: ":keeppatterns /pat" does not keep search pattern offset. -Solution: Restore the offset after doing the search. -Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok - - -*** ../vim-7.4.154/src/search.c 2014-01-14 15:53:47.000000000 +0100 ---- src/search.c 2014-01-14 21:27:32.000000000 +0100 -*************** -*** 1437,1443 **** - curwin->w_set_curswant = TRUE; - - end_do_search: -! if (options & SEARCH_KEEP) - spats[0].off = old_off; - vim_free(strcopy); - ---- 1437,1443 ---- - curwin->w_set_curswant = TRUE; - - end_do_search: -! if ((options & SEARCH_KEEP) || cmdmod.keeppatterns) - spats[0].off = old_off; - vim_free(strcopy); - -*** ../vim-7.4.154/src/testdir/test14.in 2014-01-14 15:53:47.000000000 +0100 ---- src/testdir/test14.in 2014-01-14 21:13:39.000000000 +0100 -*************** -*** 56,62 **** - :$put =@/ - /^substitute - Y:$put =@0 -! :/^search()/,$w >>test.out - :qa! - ENDTEST - ---- 56,65 ---- - :$put =@/ - /^substitute - Y:$put =@0 -! /bar /e -! :$put =@0 -! -:keeppatterns /xyz -! 0dn:/^search()/,$w >>test.out - :qa! - ENDTEST - -*** ../vim-7.4.154/src/testdir/test14.ok 2014-01-14 15:53:47.000000000 +0100 ---- src/testdir/test14.ok 2014-01-14 21:16:23.000000000 +0100 -*************** -*** 23,25 **** ---- 23,26 ---- - foo - ^substitute - substitute bar xyz -+ xyz -*** ../vim-7.4.154/src/version.c 2014-01-14 19:44:30.000000000 +0100 ---- src/version.c 2014-01-14 21:28:24.000000000 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 155, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -164. You got out to buy software, instead of going out for a beer. - - /// 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 /// diff --git a/7.4.156 b/7.4.156 deleted file mode 100644 index a1a272c5..00000000 --- a/7.4.156 +++ /dev/null @@ -1,49 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.156 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.156 -Problem: Test file missing from distribution. -Solution: Add new directory to file list. -Files: Filelist - - -*** ../vim-7.4.155/Filelist 2013-07-13 15:23:38.000000000 +0200 ---- Filelist 2014-01-23 14:23:38.639298979 +0100 -*************** -*** 80,85 **** ---- 80,86 ---- - src/main.aap \ - src/testdir/main.aap \ - src/testdir/*.in \ -+ src/testdir/sautest/autoload/*.vim \ - src/testdir/test[0-9]*.ok \ - src/testdir/test49.vim \ - src/testdir/test60.vim \ -*** ../vim-7.4.155/src/version.c 2014-01-14 21:31:30.000000000 +0100 ---- src/version.c 2014-01-23 14:24:18.475300074 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 156, - /**/ - --- -Some of the well known MS-Windows errors: - ETIME Wrong time, wait a little while - ECRASH Try again... - EDETECT Unable to detect errors - EOVER You lost! Play another game? - ENOCLUE Eh, what did you 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 /// diff --git a/7.4.157 b/7.4.157 deleted file mode 100644 index 9ec2bd06..00000000 --- a/7.4.157 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.157 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.157 -Problem: Error number used twice. (Yukihiro Nakadaira) -Solution: Change the one not referred in the docs. -Files: src/undo.c - - -*** ../vim-7.4.156/src/undo.c 2013-11-07 03:04:06.000000000 +0100 ---- src/undo.c 2014-01-23 18:07:33.395668196 +0100 -*************** -*** 409,415 **** - { - /* This happens when the FileChangedRO autocommand changes the - * file in a way it becomes shorter. */ -! EMSG(_("E834: Line count changed unexpectedly")); - return FAIL; - } - #endif ---- 409,415 ---- - { - /* This happens when the FileChangedRO autocommand changes the - * file in a way it becomes shorter. */ -! EMSG(_("E881: Line count changed unexpectedly")); - return FAIL; - } - #endif -*** ../vim-7.4.156/src/version.c 2014-01-23 14:26:18.815303381 +0100 ---- src/version.c 2014-01-23 18:10:47.551673532 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 157, - /**/ - - --- -hundred-and-one symptoms of being an internet addict: -201. When somebody asks you where you are, you tell them in which chat 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 /// diff --git a/7.4.158 b/7.4.158 deleted file mode 100644 index d5291d3e..00000000 --- a/7.4.158 +++ /dev/null @@ -1,140 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.158 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.158 (after 7.4.045) -Problem: Pattern containing \zs is not handled correctly by substitute(). -Solution: Change how an empty match is skipped. (Yukihiro Nakadaira) -Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok - - -*** ../vim-7.4.157/src/eval.c 2014-01-14 19:44:30.000000000 +0100 ---- src/eval.c 2014-01-23 19:25:23.199796533 +0100 -*************** -*** 24365,24371 **** - garray_T ga; - char_u *ret; - char_u *save_cpo; -! int zero_width; - - /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ - save_cpo = p_cpo; ---- 24365,24371 ---- - garray_T ga; - char_u *ret; - char_u *save_cpo; -! char_u *zero_width = NULL; - - /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ - save_cpo = p_cpo; -*************** -*** 24382,24387 **** ---- 24382,24400 ---- - tail = str; - while (vim_regexec_nl(®match, str, (colnr_T)(tail - str))) - { -+ /* Skip empty match except for first match. */ -+ if (regmatch.startp[0] == regmatch.endp[0]) -+ { -+ if (zero_width == regmatch.startp[0]) -+ { -+ /* avoid getting stuck on a match with an empty string */ -+ *((char_u *)ga.ga_data + ga.ga_len) = *tail++; -+ ++ga.ga_len; -+ continue; -+ } -+ zero_width = regmatch.startp[0]; -+ } -+ - /* - * Get some space for a temporary buffer to do the substitution - * into. It will contain: -*************** -*** 24404,24420 **** - (void)vim_regsub(®match, sub, (char_u *)ga.ga_data - + ga.ga_len + i, TRUE, TRUE, FALSE); - ga.ga_len += i + sublen - 1; -- zero_width = (tail == regmatch.endp[0] -- || regmatch.startp[0] == regmatch.endp[0]); - tail = regmatch.endp[0]; - if (*tail == NUL) - break; -- if (zero_width) -- { -- /* avoid getting stuck on a match with an empty string */ -- *((char_u *)ga.ga_data + ga.ga_len) = *tail++; -- ++ga.ga_len; -- } - if (!do_all) - break; - } ---- 24417,24425 ---- -*** ../vim-7.4.157/src/testdir/test80.in 2013-09-29 21:11:00.000000000 +0200 ---- src/testdir/test80.in 2014-01-23 19:24:30.487795084 +0100 -*************** -*** 176,181 **** ---- 176,198 ---- - TEST_10: - - STARTTEST -+ :set magic& -+ :set cpo& -+ :$put =\"\n\nTEST_10:\" -+ :let y = substitute('123', '\zs', 'a', 'g') | $put =y -+ :let y = substitute('123', '\zs.', 'a', 'g') | $put =y -+ :let y = substitute('123', '.\zs', 'a', 'g') | $put =y -+ :let y = substitute('123', '\ze', 'a', 'g') | $put =y -+ :let y = substitute('123', '\ze.', 'a', 'g') | $put =y -+ :let y = substitute('123', '.\ze', 'a', 'g') | $put =y -+ :let y = substitute('123', '1\|\ze', 'a', 'g') | $put =y -+ :let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y -+ /^TEST_11 -+ ENDTEST -+ -+ TEST_11: -+ -+ STARTTEST - :/^Results/,$wq! test.out - ENDTEST - -*** ../vim-7.4.157/src/testdir/test80.ok 2013-09-29 21:11:00.000000000 +0200 ---- src/testdir/test80.ok 2014-01-23 19:24:35.691795227 +0100 -*************** -*** 115,117 **** ---- 115,128 ---- - - TEST_9: - XXx -+ -+ -+ TEST_10: -+ a1a2a3a -+ aaa -+ 1a2a3a -+ a1a2a3a -+ a1a2a3 -+ aaa -+ aa2a3a -+ 1aaa -*** ../vim-7.4.157/src/version.c 2014-01-23 18:12:44.695676751 +0100 ---- src/version.c 2014-01-23 19:27:21.611799787 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 158, - /**/ - --- -$ echo pizza > /dev/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 /// diff --git a/7.4.159 b/7.4.159 deleted file mode 100644 index be89abeb..00000000 --- a/7.4.159 +++ /dev/null @@ -1,116 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.159 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.159 -Problem: Completion hangs when scanning the current buffer after doing - keywords. (Christian Brabandt) -Solution: Set the first match position when starting to scan the current - buffer. -Files: src/edit.c - - -*** ../vim-7.4.158/src/edit.c 2014-01-14 12:16:57.000000000 +0100 ---- src/edit.c 2014-01-23 22:42:20.964121311 +0100 -*************** -*** 4180,4185 **** ---- 4180,4186 ---- - char_u *dict = NULL; - int dict_f = 0; - compl_T *old_match; -+ int set_match_pos; - - if (!compl_started) - { -*************** -*** 4198,4203 **** ---- 4199,4205 ---- - for (;;) - { - found_new_match = FAIL; -+ set_match_pos = FALSE; - - /* For ^N/^P pick a new entry from e_cpt if compl_started is off, - * or if found_all says this entry is done. For ^X^L only use the -*************** -*** 4217,4222 **** ---- 4219,4228 ---- - dec(&first_match_pos); - last_match_pos = first_match_pos; - type = 0; -+ -+ /* Remember the first match so that the loop stops when we -+ * wrap and come back there a second time. */ -+ set_match_pos = TRUE; - } - else if (vim_strchr((char_u *)"buwU", *e_cpt) != NULL - && (ins_buf = ins_compl_next_buf(ins_buf, *e_cpt)) != curbuf) -*************** -*** 4381,4387 **** - if (ins_buf->b_p_inf) - p_scs = FALSE; - -! /* buffers other than curbuf are scanned from the beginning or the - * end but never from the middle, thus setting nowrapscan in this - * buffers is a good idea, on the other hand, we always set - * wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */ ---- 4387,4393 ---- - if (ins_buf->b_p_inf) - p_scs = FALSE; - -! /* Buffers other than curbuf are scanned from the beginning or the - * end but never from the middle, thus setting nowrapscan in this - * buffers is a good idea, on the other hand, we always set - * wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */ -*************** -*** 4408,4419 **** - compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG, - RE_LAST, (linenr_T)0, NULL); - --msg_silent; -! if (!compl_started) - { - /* set "compl_started" even on fail */ - compl_started = TRUE; - first_match_pos = *pos; - last_match_pos = *pos; - } - else if (first_match_pos.lnum == last_match_pos.lnum - && first_match_pos.col == last_match_pos.col) ---- 4414,4426 ---- - compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG, - RE_LAST, (linenr_T)0, NULL); - --msg_silent; -! if (!compl_started || set_match_pos) - { - /* set "compl_started" even on fail */ - compl_started = TRUE; - first_match_pos = *pos; - last_match_pos = *pos; -+ set_match_pos = FALSE; - } - else if (first_match_pos.lnum == last_match_pos.lnum - && first_match_pos.col == last_match_pos.col) -*** ../vim-7.4.158/src/version.c 2014-01-23 20:09:29.523869260 +0100 ---- src/version.c 2014-01-23 22:44:40.908125157 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 159, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -205. You're constantly yelling at your spouse, family, roommate, whatever, - for using the phone for stupid things...like talking. - - /// 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 /// diff --git a/7.4.160 b/7.4.160 deleted file mode 100644 index 41b0043e..00000000 --- a/7.4.160 +++ /dev/null @@ -1,66 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.160 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.160 -Problem: Win32: Crash when executing external command. -Solution: Only close the handle when it was created. (Yasuhiro Matsumoto) -Files: src/os_win32.c - - -*** ../vim-7.4.159/src/os_win32.c 2014-01-12 13:24:46.000000000 +0100 ---- src/os_win32.c 2014-01-24 19:54:35.778219160 +0100 -*************** -*** 4627,4632 **** ---- 4627,4633 ---- - DWORD flags = CREATE_NEW_CONSOLE; - char_u *p; - -+ ZeroMemory(&si, sizeof(si)); - si.cb = sizeof(si); - si.lpReserved = NULL; - si.lpDesktop = NULL; -*************** -*** 4723,4731 **** - if (newcmd != cmdbase) - vim_free(newcmd); - -! if (si.hStdInput != NULL) - { -! /* Close the handle to \\.\NUL */ - CloseHandle(si.hStdInput); - } - /* Close the handles to the subprocess, so that it goes away */ ---- 4724,4732 ---- - if (newcmd != cmdbase) - vim_free(newcmd); - -! if (si.dwFlags == STARTF_USESTDHANDLES && si.hStdInput != NULL) - { -! /* Close the handle to \\.\NUL created above. */ - CloseHandle(si.hStdInput); - } - /* Close the handles to the subprocess, so that it goes away */ -*** ../vim-7.4.159/src/version.c 2014-01-23 22:45:54.608127182 +0100 ---- src/version.c 2014-01-24 19:52:46.946216170 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 160, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -209. Your house stinks because you haven't cleaned it in a 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 /// diff --git a/7.4.161 b/7.4.161 deleted file mode 100644 index 0487264c..00000000 --- a/7.4.161 +++ /dev/null @@ -1,75 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.161 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.161 -Problem: Crash in Python exception handling. -Solution: Only use exception variables if did_throw is set. (ZyX) -Files: if_py_both.h - - -*** ../vim-7.4.160/src/if_py_both.h 2014-01-14 19:35:49.000000000 +0100 ---- src/if_py_both.h 2014-01-31 14:46:20.455526607 +0100 -*************** -*** 564,573 **** - /* Keyboard interrupt should be preferred over anything else */ - if (got_int) - { -! if (current_exception != NULL) - discard_current_exception(); -- else -- need_rethrow = did_throw = FALSE; - got_int = FALSE; - PyErr_SetNone(PyExc_KeyboardInterrupt); - return -1; ---- 564,571 ---- - /* Keyboard interrupt should be preferred over anything else */ - if (got_int) - { -! if (did_throw) - discard_current_exception(); - got_int = FALSE; - PyErr_SetNone(PyExc_KeyboardInterrupt); - return -1; -*************** -*** 599,608 **** - /* Python exception is preferred over vim one; unlikely to occur though */ - else if (PyErr_Occurred()) - { -! if (current_exception != NULL) -! discard_current_exception(); -! else -! need_rethrow = did_throw = FALSE; - return -1; - } - /* Finally transform VimL exception to python one */ ---- 597,603 ---- - /* Python exception is preferred over vim one; unlikely to occur though */ - else if (PyErr_Occurred()) - { -! discard_current_exception(); - return -1; - } - /* Finally transform VimL exception to python one */ -*** ../vim-7.4.160/src/version.c 2014-01-24 19:55:33.078220735 +0100 ---- src/version.c 2014-01-31 14:46:39.127526894 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 161, - /**/ - --- -Eagles may soar, but weasels don't get sucked into jet engines. - - /// 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 /// diff --git a/7.4.162 b/7.4.162 deleted file mode 100644 index 0687e882..00000000 --- a/7.4.162 +++ /dev/null @@ -1,45 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.162 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.162 -Problem: Running tests in shadow dir doesn't work. -Solution: Add testdir/sautest to the shadow target. (James McCoy) -Files: src/Makefile - - -*** ../vim-7.4.161/src/Makefile 2013-11-07 03:25:51.000000000 +0100 ---- src/Makefile 2014-02-05 12:34:00.214024436 +0100 -*************** -*** 2381,2386 **** ---- 2381,2387 ---- - ../../testdir/*.in \ - ../../testdir/*.vim \ - ../../testdir/python* \ -+ ../../testdir/sautest \ - ../../testdir/test83-tags? \ - ../../testdir/*.ok . - -*** ../vim-7.4.161/src/version.c 2014-01-31 14:53:59.715533645 +0100 ---- src/version.c 2014-02-05 12:34:19.766024736 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 162, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -263. You have more e-mail addresses than shorts. - - /// 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 /// diff --git a/7.4.163 b/7.4.163 deleted file mode 100644 index b04e91d7..00000000 --- a/7.4.163 +++ /dev/null @@ -1,75 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.163 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.163 (after 7.4.142) -Problem: MS-Windows input doesn't work properly on Windows 7 and earlier. -Solution: Add a check for Windows 8. (Yasuhiro Matsumoto) -Files: src/os_win32.c - - -*** ../vim-7.4.162/src/os_win32.c 2014-01-24 19:55:33.078220735 +0100 ---- src/os_win32.c 2014-02-05 13:33:03.758078734 +0100 -*************** -*** 232,237 **** ---- 232,239 ---- - - static char_u *exe_path = NULL; - -+ static BOOL win8_or_later = FALSE; -+ - /* - * Version of ReadConsoleInput() that works with IME. - * Works around problems on Windows 8. -*************** -*** 252,257 **** ---- 254,266 ---- - static DWORD s_dwMax = 0; - DWORD dwEvents; - -+ if (!win8_or_later) -+ { -+ if (nLength == -1) -+ return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents); -+ return ReadConsoleInput(hInput, lpBuffer, 1, &dwEvents); -+ } -+ - if (s_dwMax == 0) - { - if (nLength == -1) -*************** -*** 617,622 **** ---- 626,635 ---- - - g_PlatformId = ovi.dwPlatformId; - -+ if ((ovi.dwMajorVersion == 6 && ovi.dwMinorVersion >= 2) -+ || ovi.dwMajorVersion > 6) -+ win8_or_later = TRUE; -+ - #ifdef HAVE_ACL - /* - * Load the ADVAPI runtime if we are on anything -*** ../vim-7.4.162/src/version.c 2014-02-05 12:36:36.622026833 +0100 ---- src/version.c 2014-02-05 13:31:31.618077322 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 163, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -266. You hear most of your jokes via e-mail instead of in person. - - /// 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 /// diff --git a/7.4.164 b/7.4.164 deleted file mode 100644 index b35debad..00000000 --- a/7.4.164 +++ /dev/null @@ -1,78 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.164 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.164 (after 7.4.163) -Problem: Problem with event handling on Windows 8. -Solution: Ignore duplicate WINDOW_BUFFER_SIZE_EVENTs. (Nobuhiro Takasaki) -Files: src/os_win32.c - - -*** ../vim-7.4.163/src/os_win32.c 2014-02-05 13:36:50.846082213 +0100 ---- src/os_win32.c 2014-02-05 14:01:13.350104623 +0100 -*************** -*** 253,258 **** ---- 253,261 ---- - static DWORD s_dwIndex = 0; - static DWORD s_dwMax = 0; - DWORD dwEvents; -+ int head; -+ int tail; -+ int i; - - if (!win8_or_later) - { -*************** -*** 274,280 **** ---- 277,305 ---- - *lpEvents = 0; - return TRUE; - } -+ -+ if (s_dwMax > 1) -+ { -+ head = 0; -+ tail = s_dwMax - 1; -+ while (head != tail) -+ { -+ if (s_irCache[head].EventType == WINDOW_BUFFER_SIZE_EVENT -+ && s_irCache[head + 1].EventType -+ == WINDOW_BUFFER_SIZE_EVENT) -+ { -+ /* Remove duplicate event to avoid flicker. */ -+ for (i = head; i < tail; ++i) -+ s_irCache[i] = s_irCache[i + 1]; -+ --tail; -+ continue; -+ } -+ head++; -+ } -+ s_dwMax = tail + 1; -+ } - } -+ - *lpBuffer = s_irCache[s_dwIndex]; - if (nLength != -1 && ++s_dwIndex >= s_dwMax) - s_dwMax = 0; -*** ../vim-7.4.163/src/version.c 2014-02-05 13:36:50.850082213 +0100 ---- src/version.c 2014-02-05 13:54:15.570098222 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 164, - /**/ - --- -XML is a nice language for computers. Not for humans. - - /// 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 /// diff --git a/7.4.165 b/7.4.165 deleted file mode 100644 index ab42f730..00000000 --- a/7.4.165 +++ /dev/null @@ -1,71 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.165 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.165 -Problem: By default, after closing a buffer changes can't be undone. -Solution: In the example vimrc file set 'undofile'. -Files: runtime/vimrc_example.vim - - -*** ../vim-7.4.164/runtime/vimrc_example.vim 2011-04-15 20:58:36.000000000 +0200 ---- runtime/vimrc_example.vim 2014-02-05 21:59:40.534544501 +0100 -*************** -*** 1,7 **** - " An example for a vimrc file. - " - " Maintainer: Bram Moolenaar -! " Last change: 2011 Apr 15 - " - " To use it, copy it to - " for Unix and OS/2: ~/.vimrc ---- 1,7 ---- - " An example for a vimrc file. - " - " Maintainer: Bram Moolenaar -! " Last change: 2014 Feb 05 - " - " To use it, copy it to - " for Unix and OS/2: ~/.vimrc -*************** -*** 24,30 **** - if has("vms") - set nobackup " do not keep a backup file, use versions instead - else -! set backup " keep a backup file - endif - set history=50 " keep 50 lines of command line history - set ruler " show the cursor position all the time ---- 24,31 ---- - if has("vms") - set nobackup " do not keep a backup file, use versions instead - else -! set backup " keep a backup file (restore to previous version) -! set undofile " keep an undo file (undo changes after closing) - endif - set history=50 " keep 50 lines of command line history - set ruler " show the cursor position all the time -*** ../vim-7.4.164/src/version.c 2014-02-05 14:02:23.590105699 +0100 ---- src/version.c 2014-02-05 21:59:47.774544612 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 165, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -269. You wonder how you can make your dustbin produce Sesame Street's - Oscar's the Garbage Monster song when you empty 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 /// diff --git a/7.4.166 b/7.4.166 deleted file mode 100644 index 16f51b42..00000000 --- a/7.4.166 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.166 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.166 -Problem: Auto-loading a function for code that won't be executed. -Solution: Do not auto-load when evaluation is off. (Yasuhiro Matsumoto) -Files: src/eval.c - - -*** ../vim-7.4.165/src/eval.c 2014-01-23 20:09:29.523869260 +0100 ---- src/eval.c 2014-02-05 22:04:21.110548800 +0100 -*************** -*** 5159,5165 **** - { - /* If "s" is the name of a variable of type VAR_FUNC - * use its contents. */ -! s = deref_func_name(s, &len, FALSE); - - /* Invoke the function. */ - ret = get_func_tv(s, len, rettv, arg, ---- 5159,5165 ---- - { - /* If "s" is the name of a variable of type VAR_FUNC - * use its contents. */ -! s = deref_func_name(s, &len, !evaluate); - - /* Invoke the function. */ - ret = get_func_tv(s, len, rettv, arg, -*** ../vim-7.4.165/src/version.c 2014-02-05 22:01:56.690546587 +0100 ---- src/version.c 2014-02-05 22:06:18.610550600 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 166, - /**/ - --- -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 /// diff --git a/7.4.167 b/7.4.167 deleted file mode 100644 index c3ad0740..00000000 --- a/7.4.167 +++ /dev/null @@ -1,195 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.167 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.167 (after 7.4.149) -Problem: Fixes are not tested. -Solution: Add a test for not autoloading on assignment. (Yukihiro Nakadaira) -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/sautest/autoload/Test104.vim, src/testdir/test104.in, - src/testdir/test104.ok - - -*** ../vim-7.4.166/src/testdir/Make_amiga.mak 2013-11-21 14:21:25.000000000 +0100 ---- src/testdir/Make_amiga.mak 2014-02-05 22:16:46.654560224 +0100 -*************** -*** 34,40 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out test103.out - - .SUFFIXES: .in .out - ---- 34,41 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out test103.out \ -! test104.out - - .SUFFIXES: .in .out - -*************** -*** 154,156 **** ---- 155,158 ---- - test101.out: test101.in - test102.out: test102.in - test103.out: test103.in -+ test104.out: test104.in -*** ../vim-7.4.166/src/testdir/Make_dos.mak 2013-11-21 14:21:25.000000000 +0100 ---- src/testdir/Make_dos.mak 2014-02-05 22:16:46.654560224 +0100 -*************** -*** 33,39 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - SCRIPTS32 = test50.out test70.out - ---- 33,39 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.166/src/testdir/Make_ming.mak 2014-01-06 15:51:46.000000000 +0100 ---- src/testdir/Make_ming.mak 2014-02-05 22:16:46.654560224 +0100 -*************** -*** 53,59 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - SCRIPTS32 = test50.out test70.out - ---- 53,59 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.166/src/testdir/Make_os2.mak 2013-11-21 14:21:25.000000000 +0100 ---- src/testdir/Make_os2.mak 2014-02-05 22:16:46.654560224 +0100 -*************** -*** 35,41 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - .SUFFIXES: .in .out - ---- 35,41 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.166/src/testdir/Make_vms.mms 2013-11-21 14:21:25.000000000 +0100 ---- src/testdir/Make_vms.mms 2014-02-05 22:16:46.658560224 +0100 -*************** -*** 79,85 **** - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 79,85 ---- - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.166/src/testdir/Makefile 2013-11-21 14:21:25.000000000 +0100 ---- src/testdir/Makefile 2014-02-05 22:16:46.658560224 +0100 -*************** -*** 30,36 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out test103.out - - SCRIPTS_GUI = test16.out - ---- 30,37 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ -! test99.out test100.out test101.out test102.out test103.out \ -! test104.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.166/src/testdir/sautest/autoload/Test104.vim 2014-02-05 22:25:12.050567968 +0100 ---- src/testdir/sautest/autoload/Test104.vim 2014-02-05 22:16:46.658560224 +0100 -*************** -*** 0 **** ---- 1 ---- -+ let Test104#numvar = 123 -*** ../vim-7.4.166/src/testdir/test104.in 2014-02-05 22:25:12.062567968 +0100 ---- src/testdir/test104.in 2014-02-05 22:24:07.706566982 +0100 -*************** -*** 0 **** ---- 1,16 ---- -+ Tests for autoload. vim: set ft=vim ts=8 : -+ -+ STARTTEST -+ :so small.vim -+ :set runtimepath+=./sautest -+ :" Test to not autoload when assigning. It causes internal error. -+ :try -+ : let Test104#numvar = function('tr') -+ : $put ='OK: ' . string(Test104#numvar) -+ :catch -+ : $put ='FAIL: ' . v:exception -+ :endtry -+ :/^Results/,$wq! test.out -+ ENDTEST -+ -+ Results of test104: -*** ../vim-7.4.166/src/testdir/test104.ok 2014-02-05 22:25:12.070567968 +0100 ---- src/testdir/test104.ok 2014-02-05 22:16:46.658560224 +0100 -*************** -*** 0 **** ---- 1,2 ---- -+ Results of test104: -+ OK: function('tr') -*** ../vim-7.4.166/src/version.c 2014-02-05 22:13:02.366556787 +0100 ---- src/version.c 2014-02-05 22:18:05.506561432 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 167, - /**/ - --- -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 /// diff --git a/7.4.168 b/7.4.168 deleted file mode 100644 index ac57dc49..00000000 --- a/7.4.168 +++ /dev/null @@ -1,91 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.168 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.168 -Problem: Can't compile with Ruby 2.1.0. -Solution: Add support for new GC. (Kohei Suzuki) -Files: src/if_ruby.c - - -*** ../vim-7.4.167/src/if_ruby.c 2013-05-20 12:47:48.000000000 +0200 ---- src/if_ruby.c 2014-02-05 22:35:17.378577243 +0100 -*************** -*** 96,101 **** ---- 96,107 ---- - # define rb_num2int rb_num2int_stub - #endif - -+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 21 -+ /* Ruby 2.1 adds new GC called RGenGC and RARRAY_PTR uses -+ * rb_gc_writebarrier_unprotect_promoted if USE_RGENGC */ -+ # define rb_gc_writebarrier_unprotect_promoted rb_gc_writebarrier_unprotect_promoted_stub -+ # endif -+ - #include - #ifdef RUBY19_OR_LATER - # include -*************** -*** 373,378 **** ---- 379,388 ---- - static void* (*ruby_process_options)(int, char**); - # endif - -+ # if defined(USE_RGENGC) && USE_RGENGC -+ static void (*dll_rb_gc_writebarrier_unprotect_promoted)(VALUE); -+ # endif -+ - # if defined(RUBY19_OR_LATER) && !defined(PROTO) - SIGNED_VALUE rb_num2long_stub(VALUE x) - { -*************** -*** 406,411 **** ---- 416,428 ---- - # endif - # endif - -+ # if defined(USE_RGENGC) && USE_RGENGC -+ void rb_gc_writebarrier_unprotect_promoted_stub(VALUE obj) -+ { -+ return dll_rb_gc_writebarrier_unprotect_promoted(obj); -+ } -+ # endif -+ - static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */ - - /* -*************** -*** 521,526 **** ---- 538,546 ---- - # endif - {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, - # endif -+ # if defined(USE_RGENGC) && USE_RGENGC -+ {"rb_gc_writebarrier_unprotect_promoted", (RUBY_PROC*)&dll_rb_gc_writebarrier_unprotect_promoted}, -+ # endif - {"", NULL}, - }; - -*** ../vim-7.4.167/src/version.c 2014-02-05 22:25:29.982568243 +0100 ---- src/version.c 2014-02-05 22:36:14.010578111 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 168, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -10E. You start counting in hex. - - /// 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 /// diff --git a/7.4.169 b/7.4.169 deleted file mode 100644 index bfb4c16f..00000000 --- a/7.4.169 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.169 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.169 -Problem: ":sleep" puts cursor in the wrong column. (Liang Li) -Solution: Add the window offset. (Christian Brabandt) -Files: src/ex_docmd.c - - -*** ../vim-7.4.168/src/ex_docmd.c 2014-01-10 15:53:09.000000000 +0100 ---- src/ex_docmd.c 2014-02-05 22:45:39.318586773 +0100 -*************** -*** 8371,8377 **** - { - n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled; - if (n >= 0) -! windgoto((int)n, curwin->w_wcol); - } - - len = eap->line2; ---- 8371,8377 ---- - { - n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled; - if (n >= 0) -! windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol); - } - - len = eap->line2; -*** ../vim-7.4.168/src/version.c 2014-02-05 22:41:11.430582669 +0100 ---- src/version.c 2014-02-05 22:44:51.458586040 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 169, - /**/ - --- -ARTHUR: This new learning amazes me, Sir Bedevere. Explain again how sheep's - bladders may be employed to prevent earthquakes. - "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 /// diff --git a/7.4.170 b/7.4.170 deleted file mode 100644 index 17de640b..00000000 --- a/7.4.170 +++ /dev/null @@ -1,90 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.170 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.170 -Problem: Some help tags don't work with ":help". (Tim Chase) -Solution: Add exceptions. -Files: src/ex_cmds.c - - -*** ../vim-7.4.169/src/ex_cmds.c 2013-11-09 03:31:45.000000000 +0100 ---- src/ex_cmds.c 2014-02-11 12:10:43.905946437 +0100 -*************** -*** 5936,5949 **** - "?", ":?", "?", "g?", "g?g?", "g??", "z?", - "/\\?", "/\\z(\\)", "\\=", ":s\\=", - "[count]", "[quotex]", "[range]", -! "[pattern]", "\\|", "\\%$"}; - static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star", - "/star", "/\\\\star", "quotestar", "starstar", - "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)", - "?", ":?", "?", "g?", "g?g?", "g??", "z?", - "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=", - "\\[count]", "\\[quotex]", "\\[range]", -! "\\[pattern]", "\\\\bar", "/\\\\%\\$"}; - int flags; - - d = IObuff; /* assume IObuff is long enough! */ ---- 5936,5953 ---- - "?", ":?", "?", "g?", "g?g?", "g??", "z?", - "/\\?", "/\\z(\\)", "\\=", ":s\\=", - "[count]", "[quotex]", "[range]", -! "[pattern]", "\\|", "\\%$", -! "s/\\~", "s/\\U", "s/\\L", -! "s/\\1", "s/\\2", "s/\\3", "s/\\9"}; - static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star", - "/star", "/\\\\star", "quotestar", "starstar", - "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)", - "?", ":?", "?", "g?", "g?g?", "g??", "z?", - "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=", - "\\[count]", "\\[quotex]", "\\[range]", -! "\\[pattern]", "\\\\bar", "/\\\\%\\$", -! "s/\\\\\\~", "s/\\\\U", "s/\\\\L", -! "s/\\\\1", "s/\\\\2", "s/\\\\3", "s/\\\\9"}; - int flags; - - d = IObuff; /* assume IObuff is long enough! */ -*************** -*** 5982,5988 **** - /* Replace: - * "[:...:]" with "\[:...:]" - * "[++...]" with "\[++...]" -! * "\{" with "\\{" - */ - if ((arg[0] == '[' && (arg[1] == ':' - || (arg[1] == '+' && arg[2] == '+'))) ---- 5986,5992 ---- - /* Replace: - * "[:...:]" with "\[:...:]" - * "[++...]" with "\[++...]" -! * "\{" with "\\{" -- matching "} \}" - */ - if ((arg[0] == '[' && (arg[1] == ':' - || (arg[1] == '+' && arg[2] == '+'))) -*** ../vim-7.4.169/src/version.c 2014-02-05 22:46:49.062587842 +0100 ---- src/version.c 2014-02-11 11:41:50.433919875 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 170, - /**/ - --- - GALAHAD turns back. We see from his POV the lovely ZOOT standing by him - smiling enchantingly and a number of equally delectable GIRLIES draped - around in the seductively poulticed room. They look at him smilingly and - wave. - "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 /// diff --git a/7.4.171 b/7.4.171 deleted file mode 100644 index cfd39069..00000000 --- a/7.4.171 +++ /dev/null @@ -1,841 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.171 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.171 -Problem: Redo does not set v:count and v:count1. -Solution: Use a separate buffer for redo, so that we can set the counts when - performing redo. -Files: src/getchar.c, src/globals.h, src/normal.c, src/proto/getchar.pro, - src/structs.h - - -*** ../vim-7.4.170/src/getchar.c 2013-06-29 13:43:27.000000000 +0200 ---- src/getchar.c 2014-02-11 14:54:46.830097259 +0100 -*************** -*** 40,52 **** - - #define MINIMAL_SIZE 20 /* minimal size for b_str */ - -! static struct buffheader redobuff = {{NULL, {NUL}}, NULL, 0, 0}; -! static struct buffheader old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; - #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO) -! static struct buffheader save_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; -! static struct buffheader save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; - #endif -! static struct buffheader recordbuff = {{NULL, {NUL}}, NULL, 0, 0}; - - static int typeahead_char = 0; /* typeahead char that's not flushed */ - ---- 40,52 ---- - - #define MINIMAL_SIZE 20 /* minimal size for b_str */ - -! static buffheader_T redobuff = {{NULL, {NUL}}, NULL, 0, 0}; -! static buffheader_T old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; - #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO) -! static buffheader_T save_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; -! static buffheader_T save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; - #endif -! static buffheader_T recordbuff = {{NULL, {NUL}}, NULL, 0, 0}; - - static int typeahead_char = 0; /* typeahead char that's not flushed */ - -*************** -*** 112,122 **** - - static int last_recorded_len = 0; /* number of last recorded chars */ - -! static char_u *get_buffcont __ARGS((struct buffheader *, int)); -! static void add_buff __ARGS((struct buffheader *, char_u *, long n)); -! static void add_num_buff __ARGS((struct buffheader *, long)); -! static void add_char_buff __ARGS((struct buffheader *, int)); -! static int read_stuff __ARGS((int advance)); - static void start_stuff __ARGS((void)); - static int read_redo __ARGS((int, int)); - static void copy_redo __ARGS((int)); ---- 112,123 ---- - - static int last_recorded_len = 0; /* number of last recorded chars */ - -! static char_u *get_buffcont __ARGS((buffheader_T *, int)); -! static void add_buff __ARGS((buffheader_T *, char_u *, long n)); -! static void add_num_buff __ARGS((buffheader_T *, long)); -! static void add_char_buff __ARGS((buffheader_T *, int)); -! static int read_readbuffers __ARGS((int advance)); -! static int read_readbuf __ARGS((buffheader_T *buf, int advance)); - static void start_stuff __ARGS((void)); - static int read_redo __ARGS((int, int)); - static void copy_redo __ARGS((int)); -*************** -*** 137,145 **** - */ - void - free_buff(buf) -! struct buffheader *buf; - { -! struct buffblock *p, *np; - - for (p = buf->bh_first.b_next; p != NULL; p = np) - { ---- 138,146 ---- - */ - void - free_buff(buf) -! buffheader_T *buf; - { -! buffblock_T *p, *np; - - for (p = buf->bh_first.b_next; p != NULL; p = np) - { -*************** -*** 155,168 **** - */ - static char_u * - get_buffcont(buffer, dozero) -! struct buffheader *buffer; - int dozero; /* count == zero is not an error */ - { - long_u count = 0; - char_u *p = NULL; - char_u *p2; - char_u *str; -! struct buffblock *bp; - - /* compute the total length of the string */ - for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next) ---- 156,169 ---- - */ - static char_u * - get_buffcont(buffer, dozero) -! buffheader_T *buffer; - int dozero; /* count == zero is not an error */ - { - long_u count = 0; - char_u *p = NULL; - char_u *p2; - char_u *str; -! buffblock_T *bp; - - /* compute the total length of the string */ - for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next) -*************** -*** 230,240 **** - */ - static void - add_buff(buf, s, slen) -! struct buffheader *buf; - char_u *s; - long slen; /* length of "s" or -1 */ - { -! struct buffblock *p; - long_u len; - - if (slen < 0) ---- 231,241 ---- - */ - static void - add_buff(buf, s, slen) -! buffheader_T *buf; - char_u *s; - long slen; /* length of "s" or -1 */ - { -! buffblock_T *p; - long_u len; - - if (slen < 0) -*************** -*** 270,276 **** - len = MINIMAL_SIZE; - else - len = slen; -! p = (struct buffblock *)lalloc((long_u)(sizeof(struct buffblock) + len), - TRUE); - if (p == NULL) - return; /* no space, just forget it */ ---- 271,277 ---- - len = MINIMAL_SIZE; - else - len = slen; -! p = (buffblock_T *)lalloc((long_u)(sizeof(buffblock_T) + len), - TRUE); - if (p == NULL) - return; /* no space, just forget it */ -*************** -*** 289,295 **** - */ - static void - add_num_buff(buf, n) -! struct buffheader *buf; - long n; - { - char_u number[32]; ---- 290,296 ---- - */ - static void - add_num_buff(buf, n) -! buffheader_T *buf; - long n; - { - char_u number[32]; -*************** -*** 304,310 **** - */ - static void - add_char_buff(buf, c) -! struct buffheader *buf; - int c; - { - #ifdef FEAT_MBYTE ---- 305,311 ---- - */ - static void - add_char_buff(buf, c) -! buffheader_T *buf; - int c; - { - #ifdef FEAT_MBYTE -*************** -*** 354,399 **** - #endif - } - - /* -! * Get one byte from the stuff buffer. - * If advance == TRUE go to the next char. - * No translation is done K_SPECIAL and CSI are escaped. - */ - static int -! read_stuff(advance) - int advance; - { -! char_u c; -! struct buffblock *curr; - -! if (stuffbuff.bh_first.b_next == NULL) /* buffer is empty */ - return NUL; - -! curr = stuffbuff.bh_first.b_next; -! c = curr->b_str[stuffbuff.bh_index]; - - if (advance) - { -! if (curr->b_str[++stuffbuff.bh_index] == NUL) - { -! stuffbuff.bh_first.b_next = curr->b_next; - vim_free(curr); -! stuffbuff.bh_index = 0; - } - } - return c; - } - - /* -! * Prepare the stuff buffer for reading (if it contains something). - */ - static void - start_stuff() - { -! if (stuffbuff.bh_first.b_next != NULL) - { -! stuffbuff.bh_curr = &(stuffbuff.bh_first); -! stuffbuff.bh_space = 0; - } - } - ---- 355,425 ---- - #endif - } - -+ /* First read ahead buffer. Used for translated commands. */ -+ static buffheader_T readbuf1 = {{NULL, {NUL}}, NULL, 0, 0}; -+ -+ /* Second read ahead buffer. Used for redo. */ -+ static buffheader_T readbuf2 = {{NULL, {NUL}}, NULL, 0, 0}; -+ - /* -! * Get one byte from the read buffers. Use readbuf1 one first, use readbuf2 -! * if that one is empty. - * If advance == TRUE go to the next char. - * No translation is done K_SPECIAL and CSI are escaped. - */ - static int -! read_readbuffers(advance) - int advance; - { -! int c; -! -! c = read_readbuf(&readbuf1, advance); -! if (c == NUL) -! c = read_readbuf(&readbuf2, advance); -! return c; -! } -! -! static int -! read_readbuf(buf, advance) -! buffheader_T *buf; -! int advance; -! { -! char_u c; -! buffblock_T *curr; - -! if (buf->bh_first.b_next == NULL) /* buffer is empty */ - return NUL; - -! curr = buf->bh_first.b_next; -! c = curr->b_str[buf->bh_index]; - - if (advance) - { -! if (curr->b_str[++buf->bh_index] == NUL) - { -! buf->bh_first.b_next = curr->b_next; - vim_free(curr); -! buf->bh_index = 0; - } - } - return c; - } - - /* -! * Prepare the read buffers for reading (if they contains something). - */ - static void - start_stuff() - { -! if (readbuf1.bh_first.b_next != NULL) - { -! readbuf1.bh_curr = &(readbuf1.bh_first); -! readbuf1.bh_space = 0; -! } -! if (readbuf2.bh_first.b_next != NULL) -! { -! readbuf2.bh_curr = &(readbuf2.bh_first); -! readbuf2.bh_space = 0; - } - } - -*************** -*** 403,409 **** - int - stuff_empty() - { -! return (stuffbuff.bh_first.b_next == NULL); - } - - /* ---- 429,446 ---- - int - stuff_empty() - { -! return (readbuf1.bh_first.b_next == NULL -! && readbuf2.bh_first.b_next == NULL); -! } -! -! /* -! * Return TRUE if readbuf1 is empty. There may still be redo characters in -! * redbuf2. -! */ -! int -! readbuf1_empty() -! { -! return (readbuf1.bh_first.b_next == NULL); - } - - /* -*************** -*** 428,434 **** - init_typebuf(); - - start_stuff(); -! while (read_stuff(TRUE) != NUL) - ; - - if (flush_typeahead) /* remove all typeahead */ ---- 465,471 ---- - init_typebuf(); - - start_stuff(); -! while (read_readbuffers(TRUE) != NUL) - ; - - if (flush_typeahead) /* remove all typeahead */ -*************** -*** 483,489 **** - redobuff = old_redobuff; - old_redobuff.bh_first.b_next = NULL; - start_stuff(); -! while (read_stuff(TRUE) != NUL) - ; - } - } ---- 520,526 ---- - redobuff = old_redobuff; - old_redobuff.bh_first.b_next = NULL; - start_stuff(); -! while (read_readbuffers(TRUE) != NUL) - ; - } - } -*************** -*** 638,644 **** - stuffReadbuff(s) - char_u *s; - { -! add_buff(&stuffbuff, s, -1L); - } - - void ---- 675,681 ---- - stuffReadbuff(s) - char_u *s; - { -! add_buff(&readbuf1, s, -1L); - } - - void -*************** -*** 646,652 **** - char_u *s; - long len; - { -! add_buff(&stuffbuff, s, len); - } - - #if defined(FEAT_EVAL) || defined(PROTO) ---- 683,689 ---- - char_u *s; - long len; - { -! add_buff(&readbuf1, s, len); - } - - #if defined(FEAT_EVAL) || defined(PROTO) -*************** -*** 692,698 **** - stuffcharReadbuff(c) - int c; - { -! add_char_buff(&stuffbuff, c); - } - - /* ---- 729,735 ---- - stuffcharReadbuff(c) - int c; - { -! add_char_buff(&readbuf1, c); - } - - /* -*************** -*** 702,708 **** - stuffnumReadbuff(n) - long n; - { -! add_num_buff(&stuffbuff, n); - } - - /* ---- 739,745 ---- - stuffnumReadbuff(n) - long n; - { -! add_num_buff(&readbuf1, n); - } - - /* -*************** -*** 718,730 **** - int init; - int old_redo; - { -! static struct buffblock *bp; -! static char_u *p; -! int c; - #ifdef FEAT_MBYTE -! int n; -! char_u buf[MB_MAXBYTES + 1]; -! int i; - #endif - - if (init) ---- 755,767 ---- - int init; - int old_redo; - { -! static buffblock_T *bp; -! static char_u *p; -! int c; - #ifdef FEAT_MBYTE -! int n; -! char_u buf[MB_MAXBYTES + 1]; -! int i; - #endif - - if (init) -*************** -*** 795,805 **** - int c; - - while ((c = read_redo(FALSE, old_redo)) != NUL) -! stuffcharReadbuff(c); - } - - /* -! * Stuff the redo buffer into the stuffbuff. - * Insert the redo count into the command. - * If "old_redo" is TRUE, the last but one command is repeated - * instead of the last command (inserting text). This is used for ---- 832,842 ---- - int c; - - while ((c = read_redo(FALSE, old_redo)) != NUL) -! add_char_buff(&readbuf2, c); - } - - /* -! * Stuff the redo buffer into readbuf2. - * Insert the redo count into the command. - * If "old_redo" is TRUE, the last but one command is repeated - * instead of the last command (inserting text). This is used for -*************** -*** 823,835 **** - /* copy the buffer name, if present */ - if (c == '"') - { -! add_buff(&stuffbuff, (char_u *)"\"", 1L); - c = read_redo(FALSE, old_redo); - - /* if a numbered buffer is used, increment the number */ - if (c >= '1' && c < '9') - ++c; -! add_char_buff(&stuffbuff, c); - c = read_redo(FALSE, old_redo); - } - ---- 860,872 ---- - /* copy the buffer name, if present */ - if (c == '"') - { -! add_buff(&readbuf2, (char_u *)"\"", 1L); - c = read_redo(FALSE, old_redo); - - /* if a numbered buffer is used, increment the number */ - if (c >= '1' && c < '9') - ++c; -! add_char_buff(&readbuf2, c); - c = read_redo(FALSE, old_redo); - } - -*************** -*** 850,867 **** - { - while (VIM_ISDIGIT(c)) /* skip "old" count */ - c = read_redo(FALSE, old_redo); -! add_num_buff(&stuffbuff, count); - } - - /* copy from the redo buffer into the stuff buffer */ -! add_char_buff(&stuffbuff, c); - copy_redo(old_redo); - return OK; - } - - /* - * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing -! * the redo buffer into the stuffbuff. - * return FAIL for failure, OK otherwise - */ - int ---- 887,904 ---- - { - while (VIM_ISDIGIT(c)) /* skip "old" count */ - c = read_redo(FALSE, old_redo); -! add_num_buff(&readbuf2, count); - } - - /* copy from the redo buffer into the stuff buffer */ -! add_char_buff(&readbuf2, c); - copy_redo(old_redo); - return OK; - } - - /* - * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing -! * the redo buffer into readbuf2. - * return FAIL for failure, OK otherwise - */ - int -*************** -*** 879,885 **** - if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL) - { - if (c == 'O' || c == 'o') -! stuffReadbuff(NL_STR); - break; - } - } ---- 916,922 ---- - if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL) - { - if (c == 'O' || c == 'o') -! add_buff(&readbuf2, NL_STR, -1L); - break; - } - } -*************** -*** 1360,1367 **** - tp->old_mod_mask = old_mod_mask; - old_char = -1; - -! tp->save_stuffbuff = stuffbuff; -! stuffbuff.bh_first.b_next = NULL; - # ifdef USE_INPUT_BUF - tp->save_inputbuf = get_input_buf(); - # endif ---- 1397,1406 ---- - tp->old_mod_mask = old_mod_mask; - old_char = -1; - -! tp->save_readbuf1 = readbuf1; -! readbuf1.bh_first.b_next = NULL; -! tp->save_readbuf2 = readbuf2; -! readbuf2.bh_first.b_next = NULL; - # ifdef USE_INPUT_BUF - tp->save_inputbuf = get_input_buf(); - # endif -*************** -*** 1384,1391 **** - old_char = tp->old_char; - old_mod_mask = tp->old_mod_mask; - -! free_buff(&stuffbuff); -! stuffbuff = tp->save_stuffbuff; - # ifdef USE_INPUT_BUF - set_input_buf(tp->save_inputbuf); - # endif ---- 1423,1432 ---- - old_char = tp->old_char; - old_mod_mask = tp->old_mod_mask; - -! free_buff(&readbuf1); -! readbuf1 = tp->save_readbuf1; -! free_buff(&readbuf2); -! readbuf2 = tp->save_readbuf2; - # ifdef USE_INPUT_BUF - set_input_buf(tp->save_inputbuf); - # endif -*************** -*** 1992,1998 **** - typeahead_char = 0; - } - else -! c = read_stuff(advance); - if (c != NUL && !got_int) - { - if (advance) ---- 2033,2039 ---- - typeahead_char = 0; - } - else -! c = read_readbuffers(advance); - if (c != NUL && !got_int) - { - if (advance) -*** ../vim-7.4.170/src/globals.h 2013-11-09 03:31:45.000000000 +0100 ---- src/globals.h 2014-02-11 14:17:44.070063200 +0100 -*************** -*** 979,989 **** - EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */ - EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */ - -- EXTERN struct buffheader stuffbuff /* stuff buffer */ -- #ifdef DO_INIT -- = {{NULL, {NUL}}, NULL, 0, 0} -- #endif -- ; - EXTERN typebuf_T typebuf /* typeahead buffer */ - #ifdef DO_INIT - = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0} ---- 979,984 ---- -*** ../vim-7.4.170/src/normal.c 2014-01-14 13:18:53.000000000 +0100 ---- src/normal.c 2014-02-11 14:53:54.246096453 +0100 -*************** -*** 655,662 **** - #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 - ---- 655,662 ---- - #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. Do set it for redo. */ -! if (toplevel && readbuf1_empty()) - set_vcount_ca(&ca, &set_prevcount); - #endif - -*************** -*** 736,743 **** - #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 -! * right after the count. */ -! if (toplevel && stuff_empty()) - set_vcount_ca(&ca, &set_prevcount); - #endif - if (ctrl_w) ---- 736,743 ---- - #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 -! * right after the count. Do set it for redo. */ -! if (toplevel && readbuf1_empty()) - set_vcount_ca(&ca, &set_prevcount); - #endif - if (ctrl_w) -*************** -*** 819,826 **** - #ifdef FEAT_EVAL - /* - * Only set v:count when called from main() and not a stuffed command. - */ -! if (toplevel && stuff_empty()) - set_vcount(ca.count0, ca.count1, set_prevcount); - #endif - ---- 819,827 ---- - #ifdef FEAT_EVAL - /* - * Only set v:count when called from main() and not a stuffed command. -+ * Do set it for redo. - */ -! if (toplevel && readbuf1_empty()) - set_vcount(ca.count0, ca.count1, set_prevcount); - #endif - -*** ../vim-7.4.170/src/proto/getchar.pro 2013-08-10 13:37:12.000000000 +0200 ---- src/proto/getchar.pro 2014-02-11 14:55:14.806097687 +0100 -*************** -*** 1,8 **** - /* getchar.c */ -! void free_buff __ARGS((struct buffheader *buf)); - char_u *get_recorded __ARGS((void)); - char_u *get_inserted __ARGS((void)); - int stuff_empty __ARGS((void)); - void typeahead_noflush __ARGS((int c)); - void flush_buffers __ARGS((int flush_typeahead)); - void ResetRedobuff __ARGS((void)); ---- 1,9 ---- - /* getchar.c */ -! void free_buff __ARGS((buffheader_T *buf)); - char_u *get_recorded __ARGS((void)); - char_u *get_inserted __ARGS((void)); - int stuff_empty __ARGS((void)); -+ int readbuf1_empty __ARGS((void)); - void typeahead_noflush __ARGS((int c)); - void flush_buffers __ARGS((int flush_typeahead)); - void ResetRedobuff __ARGS((void)); -*** ../vim-7.4.170/src/structs.h 2013-11-12 04:43:57.000000000 +0100 ---- src/structs.h 2014-02-11 14:35:43.606079741 +0100 -*************** -*** 471,483 **** - blocknr_T nt_new_bnum; /* new, positive, number */ - }; - - /* - * structure used to store one block of the stuff/redo/recording buffers - */ - struct buffblock - { -! struct buffblock *b_next; /* pointer to next buffblock */ -! char_u b_str[1]; /* contents (actually longer) */ - }; - - /* ---- 471,487 ---- - blocknr_T nt_new_bnum; /* new, positive, number */ - }; - -+ -+ typedef struct buffblock buffblock_T; -+ typedef struct buffheader buffheader_T; -+ - /* - * structure used to store one block of the stuff/redo/recording buffers - */ - struct buffblock - { -! buffblock_T *b_next; /* pointer to next buffblock */ -! char_u b_str[1]; /* contents (actually longer) */ - }; - - /* -*************** -*** 485,494 **** - */ - struct buffheader - { -! struct buffblock bh_first; /* first (dummy) block of list */ -! struct buffblock *bh_curr; /* buffblock for appending */ -! int bh_index; /* index for reading */ -! int bh_space; /* space in bh_curr for appending */ - }; - - /* ---- 489,498 ---- - */ - struct buffheader - { -! buffblock_T bh_first; /* first (dummy) block of list */ -! buffblock_T *bh_curr; /* buffblock for appending */ -! int bh_index; /* index for reading */ -! int bh_space; /* space in bh_curr for appending */ - }; - - /* -*************** -*** 964,970 **** - int typebuf_valid; /* TRUE when save_typebuf valid */ - int old_char; - int old_mod_mask; -! struct buffheader save_stuffbuff; - #ifdef USE_INPUT_BUF - char_u *save_inputbuf; - #endif ---- 968,975 ---- - int typebuf_valid; /* TRUE when save_typebuf valid */ - int old_char; - int old_mod_mask; -! buffheader_T save_readbuf1; -! buffheader_T save_readbuf2; - #ifdef USE_INPUT_BUF - char_u *save_inputbuf; - #endif -*** ../vim-7.4.170/src/version.c 2014-02-11 12:15:39.781950970 +0100 ---- src/version.c 2014-02-11 15:05:17.306106920 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 171, - /**/ - --- -Linux is just like a wigwam: no Windows, no Gates and an Apache inside. - - /// 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 /// diff --git a/7.4.172 b/7.4.172 deleted file mode 100644 index 8ad9fca2..00000000 --- a/7.4.172 +++ /dev/null @@ -1,346 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.172 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.172 -Problem: The blowfish code mentions output feedback, but the code is - actually doing cipher feedback. -Solution: Adjust names and comments. -Files: src/blowfish.c, src/fileio.c, src/proto/blowfish.pro, - src/memline.c - - -*** ../vim-7.4.171/src/blowfish.c 2010-12-17 19:58:18.000000000 +0100 ---- src/blowfish.c 2014-02-11 15:18:12.882118804 +0100 -*************** -*** 6,12 **** - * Do ":help credits" in Vim to see a list of people who contributed. - * See README.txt for an overview of the Vim source code. - * -! * Blowfish encryption for Vim; in Blowfish output feedback mode. - * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh - * Based on http://www.schneier.com/blowfish.html by Bruce Schneier. - */ ---- 6,12 ---- - * Do ":help credits" in Vim to see a list of people who contributed. - * See README.txt for an overview of the Vim source code. - * -! * Blowfish encryption for Vim; in Blowfish cipher feedback mode. - * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh - * Based on http://www.schneier.com/blowfish.html by Bruce Schneier. - */ -*************** -*** 19,25 **** - - #define BF_BLOCK 8 - #define BF_BLOCK_MASK 7 -! #define BF_OFB_LEN (8*(BF_BLOCK)) - - typedef union { - UINT32_T ul[2]; ---- 19,25 ---- - - #define BF_BLOCK 8 - #define BF_BLOCK_MASK 7 -! #define BF_CFB_LEN (8*(BF_BLOCK)) - - typedef union { - UINT32_T ul[2]; -*************** -*** 554,595 **** - return err > 0 ? FAIL : OK; - } - -! /* Output feedback mode. */ - static int randbyte_offset = 0; - static int update_offset = 0; -! static char_u ofb_buffer[BF_OFB_LEN]; /* 64 bytes */ - - /* - * Initialize with seed "iv[iv_len]". - */ - void -! bf_ofb_init(iv, iv_len) - char_u *iv; - int iv_len; - { - int i, mi; - - randbyte_offset = update_offset = 0; -! vim_memset(ofb_buffer, 0, BF_OFB_LEN); - if (iv_len > 0) - { -! mi = iv_len > BF_OFB_LEN ? iv_len : BF_OFB_LEN; - for (i = 0; i < mi; i++) -! ofb_buffer[i % BF_OFB_LEN] ^= iv[i % iv_len]; - } - } - -! #define BF_OFB_UPDATE(c) { \ -! ofb_buffer[update_offset] ^= (char_u)c; \ -! if (++update_offset == BF_OFB_LEN) \ - update_offset = 0; \ - } - - #define BF_RANBYTE(t) { \ - if ((randbyte_offset & BF_BLOCK_MASK) == 0) \ -! bf_e_cblock(&ofb_buffer[randbyte_offset]); \ -! t = ofb_buffer[randbyte_offset]; \ -! if (++randbyte_offset == BF_OFB_LEN) \ - randbyte_offset = 0; \ - } - ---- 554,595 ---- - return err > 0 ? FAIL : OK; - } - -! /* Cipher feedback mode. */ - static int randbyte_offset = 0; - static int update_offset = 0; -! static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */ - - /* - * Initialize with seed "iv[iv_len]". - */ - void -! bf_cfb_init(iv, iv_len) - char_u *iv; - int iv_len; - { - int i, mi; - - randbyte_offset = update_offset = 0; -! vim_memset(cfb_buffer, 0, BF_CFB_LEN); - if (iv_len > 0) - { -! mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN; - for (i = 0; i < mi; i++) -! cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len]; - } - } - -! #define BF_CFB_UPDATE(c) { \ -! cfb_buffer[update_offset] ^= (char_u)c; \ -! if (++update_offset == BF_CFB_LEN) \ - update_offset = 0; \ - } - - #define BF_RANBYTE(t) { \ - if ((randbyte_offset & BF_BLOCK_MASK) == 0) \ -! bf_e_cblock(&cfb_buffer[randbyte_offset]); \ -! t = cfb_buffer[randbyte_offset]; \ -! if (++randbyte_offset == BF_CFB_LEN) \ - randbyte_offset = 0; \ - } - -*************** -*** 610,616 **** - { - ztemp = from[i]; - BF_RANBYTE(t); -! BF_OFB_UPDATE(ztemp); - to[i] = t ^ ztemp; - } - } ---- 610,616 ---- - { - ztemp = from[i]; - BF_RANBYTE(t); -! BF_CFB_UPDATE(ztemp); - to[i] = t ^ ztemp; - } - } -*************** -*** 630,636 **** - { - BF_RANBYTE(t); - *p ^= t; -! BF_OFB_UPDATE(*p); - } - } - ---- 630,636 ---- - { - BF_RANBYTE(t); - *p ^= t; -! BF_CFB_UPDATE(*p); - } - } - -*************** -*** 646,658 **** - - for (p = passwd; *p != NUL; ++p) - { -! BF_OFB_UPDATE(*p); - } - } - - static int save_randbyte_offset; - static int save_update_offset; -! static char_u save_ofb_buffer[BF_OFB_LEN]; - static UINT32_T save_pax[18]; - static UINT32_T save_sbx[4][256]; - ---- 646,658 ---- - - for (p = passwd; *p != NUL; ++p) - { -! BF_CFB_UPDATE(*p); - } - } - - static int save_randbyte_offset; - static int save_update_offset; -! static char_u save_cfb_buffer[BF_CFB_LEN]; - static UINT32_T save_pax[18]; - static UINT32_T save_sbx[4][256]; - -*************** -*** 665,671 **** - { - save_randbyte_offset = randbyte_offset; - save_update_offset = update_offset; -! mch_memmove(save_ofb_buffer, ofb_buffer, BF_OFB_LEN); - mch_memmove(save_pax, pax, 4 * 18); - mch_memmove(save_sbx, sbx, 4 * 4 * 256); - } ---- 665,671 ---- - { - save_randbyte_offset = randbyte_offset; - save_update_offset = update_offset; -! mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN); - mch_memmove(save_pax, pax, 4 * 18); - mch_memmove(save_sbx, sbx, 4 * 4 * 256); - } -*************** -*** 679,685 **** - { - randbyte_offset = save_randbyte_offset; - update_offset = save_update_offset; -! mch_memmove(ofb_buffer, save_ofb_buffer, BF_OFB_LEN); - mch_memmove(pax, save_pax, 4 * 18); - mch_memmove(sbx, save_sbx, 4 * 4 * 256); - } ---- 679,685 ---- - { - randbyte_offset = save_randbyte_offset; - update_offset = save_update_offset; -! mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN); - mch_memmove(pax, save_pax, 4 * 18); - mch_memmove(sbx, save_sbx, 4 * 4 * 256); - } -*** ../vim-7.4.171/src/fileio.c 2013-11-28 18:53:47.000000000 +0100 ---- src/fileio.c 2014-02-11 15:16:57.546117649 +0100 -*************** -*** 2973,2979 **** - else - { - bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len); -! bf_ofb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len); - } - - /* Remove magic number from the text */ ---- 2973,2979 ---- - else - { - bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len); -! bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len); - } - - /* Remove magic number from the text */ -*************** -*** 3025,3031 **** - if (fread(buffer, salt_len + seed_len, 1, fp) != 1) - return FAIL; - bf_key_init(curbuf->b_p_key, buffer, salt_len); -! bf_ofb_init(buffer + salt_len, seed_len); - } - return OK; - } ---- 3025,3031 ---- - if (fread(buffer, salt_len + seed_len, 1, fp) != 1) - return FAIL; - bf_key_init(curbuf->b_p_key, buffer, salt_len); -! bf_cfb_init(buffer + salt_len, seed_len); - } - return OK; - } -*************** -*** 3064,3070 **** - seed = salt + salt_len; - sha2_seed(salt, salt_len, seed, seed_len); - bf_key_init(buf->b_p_key, salt, salt_len); -! bf_ofb_init(seed, seed_len); - } - } - *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len; ---- 3064,3070 ---- - seed = salt + salt_len; - sha2_seed(salt, salt_len, seed, seed_len); - bf_key_init(buf->b_p_key, salt, salt_len); -! bf_cfb_init(seed, seed_len); - } - } - *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len; -*** ../vim-7.4.171/src/proto/blowfish.pro 2013-08-10 13:37:06.000000000 +0200 ---- src/proto/blowfish.pro 2014-02-11 15:18:20.382118919 +0100 -*************** -*** 1,6 **** - /* blowfish.c */ - void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len)); -! void bf_ofb_init __ARGS((char_u *iv, int iv_len)); - void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to)); - void bf_crypt_decode __ARGS((char_u *ptr, long len)); - void bf_crypt_init_keys __ARGS((char_u *passwd)); ---- 1,6 ---- - /* blowfish.c */ - void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len)); -! void bf_cfb_init __ARGS((char_u *iv, int iv_len)); - void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to)); - void bf_crypt_decode __ARGS((char_u *ptr, long len)); - void bf_crypt_init_keys __ARGS((char_u *passwd)); -*** ../vim-7.4.171/src/memline.c 2013-11-28 17:41:41.000000000 +0100 ---- src/memline.c 2014-02-11 15:17:02.190117720 +0100 -*************** -*** 4914,4920 **** - * block for the salt. */ - vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset); - bf_key_init(key, salt, (int)STRLEN(salt)); -! bf_ofb_init(seed, MF_SEED_LEN); - } - } - ---- 4914,4920 ---- - * block for the salt. */ - vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset); - bf_key_init(key, salt, (int)STRLEN(salt)); -! bf_cfb_init(seed, MF_SEED_LEN); - } - } - -*** ../vim-7.4.171/src/version.c 2014-02-11 15:10:38.138111836 +0100 ---- src/version.c 2014-02-11 15:16:01.206116786 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 172, - /**/ - --- -GALAHAD: No look, really, this isn't nescess ... -PIGLET: We must examine you. -GALAHAD: There's nothing wrong with ... that. - "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 /// diff --git a/7.4.173 b/7.4.173 deleted file mode 100644 index 1756bdcd..00000000 --- a/7.4.173 +++ /dev/null @@ -1,61 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.173 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.173 -Problem: When using scrollbind the cursor can end up below the last line. - (mvxxc) -Solution: Reset w_botfill when scrolling up. (Christian Brabandt) -Files: src/move.c - - -*** ../vim-7.4.172/src/move.c 2012-11-28 18:15:42.000000000 +0100 ---- src/move.c 2014-02-11 15:39:24.758138292 +0100 -*************** -*** 2101,2106 **** ---- 2101,2107 ---- - int used; - lineoff_T loff; - lineoff_T boff; -+ linenr_T old_topline = curwin->w_topline; - - loff.lnum = boff.lnum = curwin->w_cursor.lnum; - #ifdef FEAT_FOLDING -*************** -*** 2156,2161 **** ---- 2157,2164 ---- - curwin->w_topline = topline; - #ifdef FEAT_DIFF - curwin->w_topfill = topfill; -+ if (old_topline > curwin->w_topline + curwin->w_height) -+ curwin->w_botfill = FALSE; - check_topfill(curwin, FALSE); - #endif - curwin->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE|VALID_BOTLINE_AP); -*** ../vim-7.4.172/src/version.c 2014-02-11 15:23:27.942123631 +0100 ---- src/version.c 2014-02-11 15:38:34.562137523 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 173, - /**/ - --- - GALAHAD hurries to the door and pushes through it. As he leaves the room - we CUT TO the reverse to show that he is now in a room full of bathing - and romping GIRLIES, all innocent, wide-eyed and beautiful. They smile - enchantingly at him as he tries to keep walking without being diverted by - the lovely sights assaulting his eyeballs. - "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 /// diff --git a/7.4.174 b/7.4.174 deleted file mode 100644 index 827e65cd..00000000 --- a/7.4.174 +++ /dev/null @@ -1,94 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.174 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.174 -Problem: Compiler warnings for Python interface. (Tony Mechelynck) -Solution: Add type casts, initialize variable. -Files: src/if_py_both.h - - -*** ../vim-7.4.173/src/if_py_both.h 2014-01-31 14:53:59.715533645 +0100 ---- src/if_py_both.h 2014-02-11 15:57:30.678154932 +0100 -*************** -*** 2368,2374 **** - PyInt numreplaced = 0; - PyInt numadded = 0; - PyInt size; -! listitem_T **lis; - - size = ListLength(self); - ---- 2368,2374 ---- - PyInt numreplaced = 0; - PyInt numadded = 0; - PyInt size; -! listitem_T **lis = NULL; - - size = ListLength(self); - -*************** -*** 2503,2510 **** - { - Py_DECREF(iterator); - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %d " -! "to extended slice"), slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; ---- 2503,2510 ---- - { - Py_DECREF(iterator); - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %ld " -! "to extended slice"), (long)slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; -*************** -*** 2516,2523 **** - if (step != 1 && i != slicelen) - { - PyErr_FORMAT2(PyExc_ValueError, -! N_("attempt to assign sequence of size %d to extended slice " -! "of size %d"), i, slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; ---- 2516,2523 ---- - if (step != 1 && i != slicelen) - { - PyErr_FORMAT2(PyExc_ValueError, -! N_("attempt to assign sequence of size %ld to extended slice " -! "of size %ld"), (long)i, (long)slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; -*** ../vim-7.4.173/src/version.c 2014-02-11 15:47:41.382145902 +0100 ---- src/version.c 2014-02-11 15:59:04.646156372 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 174, - /**/ - --- -DINGO: You must spank her well and after you have spanked her you - may deal with her as you like and then ... spank me. -AMAZING: And spank me! -STUNNER: And me. -LOVELY: And 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 /// diff --git a/7.4.175 b/7.4.175 deleted file mode 100644 index 99ca3903..00000000 --- a/7.4.175 +++ /dev/null @@ -1,180 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.175 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.175 -Problem: When a wide library function fails, falling back to the non-wide - function may do the wrong thing. -Solution: Check the platform, when the wide function is supported don't fall - back to the non-wide function. (Ken Takata) -Files: src/os_mswin.c, src/os_win32.c - - -*** ../vim-7.4.174/src/os_mswin.c 2014-01-14 12:18:41.000000000 +0100 ---- src/os_mswin.c 2014-02-11 17:02:03.002214267 +0100 -*************** -*** 648,654 **** - { - n = wstat_symlink_aware(wp, (struct _stat *)stp); - vim_free(wp); -! if (n >= 0) - return n; - /* Retry with non-wide function (for Windows 98). Can't use - * GetLastError() here and it's unclear what errno gets set to if ---- 648,654 ---- - { - n = wstat_symlink_aware(wp, (struct _stat *)stp); - vim_free(wp); -! if (n >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT) - return n; - /* Retry with non-wide function (for Windows 98). Can't use - * GetLastError() here and it's unclear what errno gets set to if -*************** -*** 815,822 **** - { - n = _wchdir(p); - vim_free(p); -! if (n == 0) -! return 0; - /* Retry with non-wide function (for Windows 98). */ - } - } ---- 815,822 ---- - { - n = _wchdir(p); - vim_free(p); -! if (n == 0 || g_PlatformId == VER_PLATFORM_WIN32_NT) -! return n; - /* Retry with non-wide function (for Windows 98). */ - } - } -*************** -*** 1942,1949 **** - - shortcut_errorw: - vim_free(p); -! if (hr == S_OK) -! goto shortcut_end; - } - } - /* Retry with non-wide function (for Windows 98). */ ---- 1942,1948 ---- - - shortcut_errorw: - vim_free(p); -! goto shortcut_end; - } - } - /* Retry with non-wide function (for Windows 98). */ -*** ../vim-7.4.174/src/os_win32.c 2014-02-05 14:02:23.590105699 +0100 ---- src/os_win32.c 2014-02-11 16:59:26.810211874 +0100 -*************** -*** 2877,2882 **** ---- 2877,2884 ---- - return OK; - } - } -+ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) -+ return FAIL; - /* Retry with non-wide function (for Windows 98). */ - } - #endif -*************** -*** 2917,2922 **** ---- 2919,2926 ---- - return; - } - } -+ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) -+ return; - /* Retry with non-wide function (for Windows 98). */ - } - #endif -*************** -*** 2966,2971 **** ---- 2970,2977 ---- - return OK; - } - } -+ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) -+ return FAIL; - /* Retry with non-wide function (for Windows 98). */ - } - #endif -*************** -*** 3006,3012 **** - { - n = _wchmod(p, perm); - vim_free(p); -! if (n == -1 && GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) - return FAIL; - /* Retry with non-wide function (for Windows 98). */ - } ---- 3012,3018 ---- - { - n = _wchmod(p, perm); - vim_free(p); -! if (n == -1 && g_PlatformId == VER_PLATFORM_WIN32_NT) - return FAIL; - /* Retry with non-wide function (for Windows 98). */ - } -*************** -*** 6048,6054 **** - { - f = _wopen(wn, flags, mode); - vim_free(wn); -! if (f >= 0) - return f; - /* Retry with non-wide function (for Windows 98). Can't use - * GetLastError() here and it's unclear what errno gets set to if ---- 6054,6060 ---- - { - f = _wopen(wn, flags, mode); - vim_free(wn); -! if (f >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT) - return f; - /* Retry with non-wide function (for Windows 98). Can't use - * GetLastError() here and it's unclear what errno gets set to if -*************** -*** 6099,6105 **** - _set_fmode(oldMode); - # endif - -! if (f != NULL) - return f; - /* Retry with non-wide function (for Windows 98). Can't use - * GetLastError() here and it's unclear what errno gets set to if ---- 6105,6111 ---- - _set_fmode(oldMode); - # endif - -! if (f != NULL || g_PlatformId == VER_PLATFORM_WIN32_NT) - return f; - /* Retry with non-wide function (for Windows 98). Can't use - * GetLastError() here and it's unclear what errno gets set to if -*** ../vim-7.4.174/src/version.c 2014-02-11 16:00:31.198157698 +0100 ---- src/version.c 2014-02-11 16:33:10.002187713 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 175, - /**/ - --- -DINGO: And after the spanking ... the oral sex. -GALAHAD: Oh, dear! Well, I... -GIRLS: The oral sex ... The oral sex. -GALAHAD: Well, I suppose I could stay a BIT longer. - "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 /// diff --git a/7.4.176 b/7.4.176 deleted file mode 100644 index ccde6b68..00000000 --- a/7.4.176 +++ /dev/null @@ -1,91 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.176 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.176 -Problem: Dictionary.update() thows an error when used without arguments. - Python programmers don't expect that. -Solution: Make Dictionary.update() without arguments do nothing. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test87.in - - -*** ../vim-7.4.175/src/if_py_both.h 2014-02-11 16:00:31.198157698 +0100 ---- src/if_py_both.h 2014-02-11 18:41:12.774305435 +0100 -*************** -*** 1918,1928 **** - } - else - { -! PyObject *obj; - -! if (!PyArg_ParseTuple(args, "O", &obj)) - return NULL; - - if (PyObject_HasAttrString(obj, "keys")) - return DictionaryUpdate(self, NULL, obj); - else ---- 1919,1935 ---- - } - else - { -! PyObject *obj = NULL; - -! if (!PyArg_ParseTuple(args, "|O", &obj)) - return NULL; - -+ if (obj == NULL) -+ { -+ Py_INCREF(Py_None); -+ return Py_None; -+ } -+ - if (PyObject_HasAttrString(obj, "keys")) - return DictionaryUpdate(self, NULL, obj); - else -*** ../vim-7.4.175/src/testdir/test86.in 2014-01-14 16:54:53.000000000 +0100 ---- src/testdir/test86.in 2014-02-11 17:25:08.414235496 +0100 -*************** -*** 39,44 **** ---- 39,45 ---- - py << EOF - d=vim.bindeval('d') - d['1']='asd' -+ d.update() # Must not do anything, including throwing errors - d.update(b=[1, 2, f]) - d.update((('-1', {'a': 1}),)) - d.update({'0': -1}) -*** ../vim-7.4.175/src/testdir/test87.in 2014-01-14 16:54:53.000000000 +0100 ---- src/testdir/test87.in 2014-02-11 17:25:12.602235560 +0100 -*************** -*** 33,38 **** ---- 33,39 ---- - py3 << EOF - d=vim.bindeval('d') - d['1']='asd' -+ d.update() # Must not do anything, including throwing errors - d.update(b=[1, 2, f]) - d.update((('-1', {'a': 1}),)) - d.update({'0': -1}) -*** ../vim-7.4.175/src/version.c 2014-02-11 17:05:57.282217857 +0100 ---- src/version.c 2014-02-11 18:46:37.518310411 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 176, - /**/ - --- -"Intelligence has much less practical application than you'd think." - -- Scott Adams, Dilbert. - - /// 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 /// diff --git a/7.4.177 b/7.4.177 deleted file mode 100644 index b943a190..00000000 --- a/7.4.177 +++ /dev/null @@ -1,48 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.177 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.177 -Problem: Compiler warning for unused variable. (Tony Mechelynck) -Solution: Add #ifdef. -Files: src/move.c - - -*** ../vim-7.4.176/src/move.c 2014-02-11 15:47:41.382145902 +0100 ---- src/move.c 2014-02-11 18:13:57.378280376 +0100 -*************** -*** 2101,2107 **** ---- 2101,2109 ---- - int used; - lineoff_T loff; - lineoff_T boff; -+ #ifdef FEAT_DIFF - linenr_T old_topline = curwin->w_topline; -+ #endif - - loff.lnum = boff.lnum = curwin->w_cursor.lnum; - #ifdef FEAT_FOLDING -*** ../vim-7.4.176/src/version.c 2014-02-11 18:47:18.682311042 +0100 ---- src/version.c 2014-02-11 18:57:55.110320794 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 177, - /**/ - --- -The psychic said, "God bless you." I said, "I didn't sneeze." She -looked deep into my eyes and said, "You will, eventually." And, damn -if she wasn't right. Two days later, I sneezed. --Ellen Degeneres - - /// 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 /// diff --git a/7.4.178 b/7.4.178 deleted file mode 100644 index 36e2eece..00000000 --- a/7.4.178 +++ /dev/null @@ -1,62 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.178 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.178 -Problem: The J command does not update '[ and '] marks. (William Gardner) -Solution: Set the marks. (Christian Brabandt) -Files: src/ops.c - - -*** ../vim-7.4.177/src/ops.c 2014-01-14 12:33:32.000000000 +0100 ---- src/ops.c 2014-02-11 19:22:46.538343647 +0100 -*************** -*** 4452,4457 **** ---- 4452,4463 ---- - for (t = 0; t < count; ++t) - { - curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t)); -+ if (t == 0) -+ { -+ /* Set the '[ mark. */ -+ curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum; -+ curwin->w_buffer->b_op_start.col = (colnr_T)STRLEN(curr); -+ } - #if defined(FEAT_COMMENTS) || defined(PROTO) - if (remove_comments) - { -*************** -*** 4568,4573 **** ---- 4574,4583 ---- - } - ml_replace(curwin->w_cursor.lnum, newp, FALSE); - -+ /* Set the '] mark. */ -+ curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum; -+ curwin->w_buffer->b_op_end.col = (colnr_T)STRLEN(newp); -+ - /* Only report the change in the first line here, del_lines() will report - * the deleted line. */ - changed_lines(curwin->w_cursor.lnum, currsize, -*** ../vim-7.4.177/src/version.c 2014-02-11 18:58:05.102320947 +0100 ---- src/version.c 2014-02-11 19:23:59.722344768 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 178, - /**/ - --- -Eight Megabytes And Continually Swapping. - - /// 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 /// diff --git a/7.4.179 b/7.4.179 deleted file mode 100644 index 29b366ee..00000000 --- a/7.4.179 +++ /dev/null @@ -1,57 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.179 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.179 -Problem: Warning for type-punned pointer. (Tony Mechelynck) -Solution: Use intermediate variable. -Files: src/if_py_both.h - - -*** ../vim-7.4.178/src/if_py_both.h 2014-02-11 18:47:18.678311042 +0100 ---- src/if_py_both.h 2014-02-11 18:41:12.774305435 +0100 -*************** -*** 1617,1624 **** - } - else if (flags & DICT_FLAG_RETURN_BOOL) - { -! Py_INCREF(Py_True); -! return Py_True; - } - - di = dict_lookup(hi); ---- 1617,1625 ---- - } - else if (flags & DICT_FLAG_RETURN_BOOL) - { -! ret = Py_True; -! Py_INCREF(ret); -! return ret; - } - - di = dict_lookup(hi); -*** ../vim-7.4.178/src/version.c 2014-02-11 19:33:03.358353098 +0100 ---- src/version.c 2014-02-12 22:08:16.795819706 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 179, - /**/ - --- -Luxury. We used to have to get out of the lake at three o'clock in the -morning, clean the lake, eat a handful of hot gravel, go to work at the -mill every day for tuppence a month, come home, and Dad would beat us -around the head and neck with a broken bottle, if we were LUCKY! - - /// 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 /// diff --git a/7.4.180 b/7.4.180 deleted file mode 100644 index 4fa07699..00000000 --- a/7.4.180 +++ /dev/null @@ -1,76 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.180 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.180 (after 7.4.174) -Problem: Older Python versions don't support %ld. -Solution: Use %d instead. (ZyX) -Files: src/if_py_both.h - - -*** ../vim-7.4.179/src/if_py_both.h 2014-02-12 22:08:46.055820155 +0100 ---- src/if_py_both.h 2014-02-15 15:56:44.133904982 +0100 -*************** -*** 2510,2517 **** - { - Py_DECREF(iterator); - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %ld " -! "to extended slice"), (long)slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; ---- 2510,2517 ---- - { - Py_DECREF(iterator); - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %d " -! "to extended slice"), (int) slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; -*************** -*** 2523,2530 **** - if (step != 1 && i != slicelen) - { - PyErr_FORMAT2(PyExc_ValueError, -! N_("attempt to assign sequence of size %ld to extended slice " -! "of size %ld"), (long)i, (long)slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; ---- 2523,2530 ---- - if (step != 1 && i != slicelen) - { - PyErr_FORMAT2(PyExc_ValueError, -! N_("attempt to assign sequence of size %d to extended slice " -! "of size %d"), (int) i, (int) slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); - return -1; -*** ../vim-7.4.179/src/version.c 2014-02-12 22:08:46.059820155 +0100 ---- src/version.c 2014-02-15 15:58:13.877904839 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 180, - /**/ - --- - 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 /// diff --git a/7.4.181 b/7.4.181 deleted file mode 100644 index 3668d086..00000000 --- a/7.4.181 +++ /dev/null @@ -1,68 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.181 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.181 -Problem: When using 'pastetoggle' the status lines are not updated. (Samuel - Ferencik, Jan Christoph Ebersbach) -Solution: Update the status lines. (Nobuhiro Takasaki) -Files: src/getchar.c - - -*** ../vim-7.4.180/src/getchar.c 2014-02-11 15:10:38.130111835 +0100 ---- src/getchar.c 2014-02-15 16:14:34.249903278 +0100 -*************** -*** 406,412 **** - } - - /* -! * Prepare the read buffers for reading (if they contains something). - */ - static void - start_stuff() ---- 406,412 ---- - } - - /* -! * Prepare the read buffers for reading (if they contain something). - */ - static void - start_stuff() -*************** -*** 2302,2307 **** ---- 2302,2311 ---- - msg_row = Rows - 1; - msg_clr_eos(); /* clear ruler */ - } -+ #ifdef FEAT_WINDOWS -+ status_redraw_all(); -+ redraw_statuslines(); -+ #endif - showmode(); - setcursor(); - continue; -*** ../vim-7.4.180/src/version.c 2014-02-15 15:58:55.081904773 +0100 ---- src/version.c 2014-02-15 16:12:22.329903488 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 181, - /**/ - --- -FIRST GUARD: Ah! Now ... we're not allowed to ... - SIR LAUNCELOT runs him through, grabs his spear and stabs the other - guard who collapses in a heap. Hiccoughs quietly. - "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 /// diff --git a/7.4.182 b/7.4.182 deleted file mode 100644 index 72b41483..00000000 --- a/7.4.182 +++ /dev/null @@ -1,56 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.182 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.182 -Problem: Building with mzscheme and racket does not work. (David Chimay) -Solution: Adjust autoconf. (Sergey Khorev) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.4.181/src/configure.in 2013-11-21 12:17:46.000000000 +0100 ---- src/configure.in 2014-02-15 16:21:41.705902597 +0100 -*************** -*** 802,810 **** ---- 802,820 ---- - AC_MSG_CHECKING(for mzscheme_base.c) - if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then - MZSCHEME_EXTRA="mzscheme_base.c" -+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" -+ MZSCHEME_MOD="++lib scheme/base" - else - if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then - MZSCHEME_EXTRA="mzscheme_base.c" -+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" -+ MZSCHEME_MOD="++lib scheme/base" -+ else -+ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then -+ MZSCHEME_EXTRA="mzscheme_base.c" -+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool" -+ MZSCHEME_MOD="" -+ fi - fi - fi - if test "X$MZSCHEME_EXTRA" != "X" ; then -*** ../vim-7.4.181/src/version.c 2014-02-15 16:17:02.213903042 +0100 ---- src/version.c 2014-02-15 16:23:42.505902405 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 182, - /**/ - --- -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 /// diff --git a/7.4.183 b/7.4.183 deleted file mode 100644 index f23061cf..00000000 --- a/7.4.183 +++ /dev/null @@ -1,49 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.183 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.183 -Problem: MSVC Visual Studio update not supported. -Solution: Add version number. (Mike William) -Files: src/Make_mvc.mak - - -*** ../vim-7.4.182/src/Make_mvc.mak 2013-12-14 11:50:28.000000000 +0100 ---- src/Make_mvc.mak 2014-02-15 19:25:27.333885042 +0100 -*************** -*** 424,429 **** ---- 424,432 ---- - !if "$(_NMAKE_VER)" == "11.00.60610.1" - MSVCVER = 11.0 - !endif -+ !if "$(_NMAKE_VER)" == "11.00.61030.0" -+ MSVCVER = 11.0 -+ !endif - !if "$(_NMAKE_VER)" == "12.00.21005.1" - MSVCVER = 12.0 - !endif -*** ../vim-7.4.182/src/version.c 2014-02-15 17:18:56.953897128 +0100 ---- src/version.c 2014-02-15 19:31:11.337884494 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 183, - /**/ - --- -FATHER: Did you kill all those guards? -LAUNCELOT: Yes ... I'm very sorry ... -FATHER: They cost fifty pounds each! - "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 /// diff --git a/7.4.184 b/7.4.184 deleted file mode 100644 index d6ceb64a..00000000 --- a/7.4.184 +++ /dev/null @@ -1,250 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.184 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.184 -Problem: match() does not work properly with a {count} argument. -Solution: Compute the length once and update it. Quit the loop when at the - end. (Hirohito Higashi) -Files: src/eval.c, src/testdir/test53.in, src/testdir/test53.ok - - -*** ../vim-7.4.183/src/eval.c 2014-02-05 22:13:02.366556787 +0100 ---- src/eval.c 2014-02-22 22:13:26.644906020 +0100 -*************** -*** 8014,8020 **** - {"log10", 1, 1, f_log10}, - #endif - #ifdef FEAT_LUA -! {"luaeval", 1, 2, f_luaeval}, - #endif - {"map", 2, 2, f_map}, - {"maparg", 1, 4, f_maparg}, ---- 8014,8020 ---- - {"log10", 1, 1, f_log10}, - #endif - #ifdef FEAT_LUA -! {"luaeval", 1, 2, f_luaeval}, - #endif - {"map", 2, 2, f_map}, - {"maparg", 1, 4, f_maparg}, -*************** -*** 13905,13910 **** ---- 13905,13911 ---- - int type; - { - char_u *str = NULL; -+ long len = 0; - char_u *expr = NULL; - char_u *pat; - regmatch_T regmatch; -*************** -*** 13944,13950 **** ---- 13945,13954 ---- - li = l->lv_first; - } - else -+ { - expr = str = get_tv_string(&argvars[0]); -+ len = (long)STRLEN(str); -+ } - - pat = get_tv_string_buf_chk(&argvars[1], patbuf); - if (pat == NULL) -*************** -*** 13968,13974 **** - { - if (start < 0) - start = 0; -! if (start > (long)STRLEN(str)) - goto theend; - /* When "count" argument is there ignore matches before "start", - * otherwise skip part of the string. Differs when pattern is "^" ---- 13972,13978 ---- - { - if (start < 0) - start = 0; -! if (start > len) - goto theend; - /* When "count" argument is there ignore matches before "start", - * otherwise skip part of the string. Differs when pattern is "^" -*************** -*** 13976,13982 **** ---- 13980,13989 ---- - if (argvars[3].v_type != VAR_UNKNOWN) - startcol = start; - else -+ { - str += start; -+ len -= start; -+ } - } - - if (argvars[3].v_type != VAR_UNKNOWN) -*************** -*** 14026,14031 **** ---- 14033,14044 ---- - #else - startcol = (colnr_T)(regmatch.startp[0] + 1 - str); - #endif -+ if (startcol > (colnr_T)len -+ || str + startcol <= regmatch.startp[0]) -+ { -+ match = FALSE; -+ break; -+ } - } - } - -*** ../vim-7.4.183/src/testdir/test53.in 2013-10-02 21:54:57.000000000 +0200 ---- src/testdir/test53.in 2014-02-22 22:08:24.260906501 +0100 -*************** -*** 4,9 **** ---- 4,11 ---- - - Also test match() and matchstr() - -+ Also test the gn command and repeating it. -+ - STARTTEST - :so small.vim - /^start:/ -*************** -*** 28,33 **** ---- 30,57 ---- - :put =matchstr(\"abcd\", \".\", 0, -1) " a - :put =match(\"abcd\", \".\", 0, 5) " -1 - :put =match(\"abcd\", \".\", 0, -1) " 0 -+ :put =match('abc', '.', 0, 1) " 0 -+ :put =match('abc', '.', 0, 2) " 1 -+ :put =match('abc', '.', 0, 3) " 2 -+ :put =match('abc', '.', 0, 4) " -1 -+ :put =match('abc', '.', 1, 1) " 1 -+ :put =match('abc', '.', 2, 1) " 2 -+ :put =match('abc', '.', 3, 1) " -1 -+ :put =match('abc', '$', 0, 1) " 3 -+ :put =match('abc', '$', 0, 2) " -1 -+ :put =match('abc', '$', 1, 1) " 3 -+ :put =match('abc', '$', 2, 1) " 3 -+ :put =match('abc', '$', 3, 1) " 3 -+ :put =match('abc', '$', 4, 1) " -1 -+ :put =match('abc', '\zs', 0, 1) " 0 -+ :put =match('abc', '\zs', 0, 2) " 1 -+ :put =match('abc', '\zs', 0, 3) " 2 -+ :put =match('abc', '\zs', 0, 4) " 3 -+ :put =match('abc', '\zs', 0, 5) " -1 -+ :put =match('abc', '\zs', 1, 1) " 1 -+ :put =match('abc', '\zs', 2, 1) " 2 -+ :put =match('abc', '\zs', 3, 1) " 3 -+ :put =match('abc', '\zs', 4, 1) " -1 - /^foobar - gncsearchmatch/one\_s*two\_s - :1 -*************** -*** 49,54 **** ---- 73,84 ---- - :" Make sure there is no other match y uppercase. - /x59 - gggnd -+ :" test repeating dgn -+ /^Johnny -+ ggdgn. -+ :" test repeating gUgn -+ /^Depp -+ gggUgn. - :/^start:/,/^end:/wq! test.out - ENDTEST - -*************** -*** 81,84 **** ---- 111,123 ---- - Y - text - Y -+ --1 -+ Johnny -+ --2 -+ Johnny -+ --3 -+ Depp -+ --4 -+ Depp -+ --5 - end: -*** ../vim-7.4.183/src/testdir/test53.ok 2013-10-02 21:54:57.000000000 +0200 ---- src/testdir/test53.ok 2014-02-22 22:08:24.264906501 +0100 -*************** -*** 18,23 **** ---- 18,45 ---- - a - -1 - 0 -+ 0 -+ 1 -+ 2 -+ -1 -+ 1 -+ 2 -+ -1 -+ 3 -+ -1 -+ 3 -+ 3 -+ 3 -+ -1 -+ 0 -+ 1 -+ 2 -+ 3 -+ -1 -+ 1 -+ 2 -+ 3 -+ -1 - SEARCH: - searchmatch - abcdx | | abcdx -*************** -*** 30,33 **** ---- 52,64 ---- - - text - Y -+ --1 -+ -+ --2 -+ -+ --3 -+ DEPP -+ --4 -+ DEPP -+ --5 - end: -*** ../vim-7.4.183/src/version.c 2014-02-15 19:47:46.685882910 +0100 ---- src/version.c 2014-02-22 22:10:49.604906270 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 184, - /**/ - --- -WOMAN: I didn't know we had a king. I thought we were an autonomous - collective. -DENNIS: You're fooling yourself. We're living in a dictatorship. A - self-perpetuating autocracy in which the working classes-- -WOMAN: Oh there you go, bringing class into it again. -DENNIS: That's what it's all about if only people would-- - 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 /// diff --git a/7.4.185 b/7.4.185 deleted file mode 100644 index b326a16d..00000000 --- a/7.4.185 +++ /dev/null @@ -1,64 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.185 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.185 -Problem: Clang gives warnings. -Solution: Adjust how bigness is set. (Dominique Pelle) -Files: src/ex_cmds.c - - -*** ../vim-7.4.184/src/ex_cmds.c 2014-02-11 12:15:39.781950970 +0100 ---- src/ex_cmds.c 2014-02-22 22:25:45.800904843 +0100 -*************** -*** 4099,4110 **** - * 'scroll' */ - if (eap->forceit) - bigness = curwin->w_height; -- else if (firstwin == lastwin) -- bigness = curwin->w_p_scr * 2; - #ifdef FEAT_WINDOWS -! else - bigness = curwin->w_height - 3; - #endif - if (bigness < 1) - bigness = 1; - ---- 4099,4110 ---- - * 'scroll' */ - if (eap->forceit) - bigness = curwin->w_height; - #ifdef FEAT_WINDOWS -! else if (firstwin != lastwin) - bigness = curwin->w_height - 3; - #endif -+ else -+ bigness = curwin->w_p_scr * 2; - if (bigness < 1) - bigness = 1; - -*** ../vim-7.4.184/src/version.c 2014-02-22 22:18:39.536905522 +0100 ---- src/version.c 2014-02-22 22:22:51.912905120 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 185, - /**/ - --- -There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU, -Linux, etc, and those who know COBOL. It gets very difficult for me at -parties, not knowing which group to socialise with :-) - Sitaram Chamarty - - /// 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 /// diff --git a/7.4.186 b/7.4.186 deleted file mode 100644 index 84f0a313..00000000 --- a/7.4.186 +++ /dev/null @@ -1,164 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.186 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.186 (after 7.4.085) -Problem: Insert in Visual mode sometimes gives incorrect results. - (Dominique Pelle) -Solution: Remember the original insert start position. (Christian Brabandt, - Dominique Pelle) -Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h - - -*** ../vim-7.4.185/src/edit.c 2014-01-23 22:45:54.608127182 +0100 ---- src/edit.c 2014-02-22 22:43:52.820903112 +0100 -*************** -*** 264,269 **** ---- 264,270 ---- - - static colnr_T Insstart_textlen; /* length of line when insert started */ - static colnr_T Insstart_blank_vcol; /* vcol for first inserted blank */ -+ static int update_Insstart_orig = TRUE; /* set Insstart_orig to Insstart */ - - static char_u *last_insert = NULL; /* the text of the previous insert, - K_SPECIAL and CSI are escaped */ -*************** -*** 340,345 **** ---- 341,349 ---- - * error message */ - check_for_delay(TRUE); - -+ /* set Insstart_orig to Insstart */ -+ update_Insstart_orig = TRUE; -+ - #ifdef HAVE_SANDBOX - /* Don't allow inserting in the sandbox. */ - if (sandbox != 0) -*************** -*** 631,636 **** ---- 635,643 ---- - if (arrow_used) /* don't repeat insert when arrow key used */ - count = 0; - -+ if (update_Insstart_orig) -+ Insstart_orig = Insstart; -+ - if (stop_insert_mode) - { - /* ":stopinsert" used or 'insertmode' reset */ -*************** -*** 6923,6928 **** ---- 6930,6936 ---- - if (end_insert_pos != NULL) - { - curbuf->b_op_start = Insstart; -+ curbuf->b_op_start_orig = Insstart_orig; - curbuf->b_op_end = *end_insert_pos; - } - } -*************** -*** 8257,8262 **** ---- 8265,8271 ---- - - /* Need to reset Insstart, esp. because a BS that joins - * a line to the previous one must save for undo. */ -+ update_Insstart_orig = FALSE; - Insstart = curwin->w_cursor; - break; - -*** ../vim-7.4.185/src/globals.h 2014-02-11 15:10:38.130111835 +0100 ---- src/globals.h 2014-02-22 23:02:01.644901378 +0100 -*************** -*** 752,757 **** ---- 752,763 ---- - */ - EXTERN pos_T Insstart; /* This is where the latest - * insert/append mode started. */ -+ -+ /* This is where the latest insert/append mode started. In contrast to -+ * Insstart, this won't be reset by certain keys and is needed for -+ * op_insert(), to detect correctly where inserting by the user started. */ -+ EXTERN pos_T Insstart_orig; -+ - #ifdef FEAT_VREPLACE - /* - * Stuff for VREPLACE mode. -*** ../vim-7.4.185/src/ops.c 2014-02-11 19:33:03.358353098 +0100 ---- src/ops.c 2014-02-22 22:39:47.588903502 +0100 -*************** -*** 2643,2662 **** - - /* The user may have moved the cursor before inserting something, try - * to adjust the block for that. */ -! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX) - { - if (oap->op_type == OP_INSERT -! && oap->start.col != curbuf->b_op_start.col) - { -! oap->start.col = curbuf->b_op_start.col; - pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) - - oap->start_vcol; - oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); - } - else if (oap->op_type == OP_APPEND -! && oap->end.col >= curbuf->b_op_start.col) - { -! oap->start.col = curbuf->b_op_start.col; - /* reset pre_textlen to the value of OP_INSERT */ - pre_textlen += bd.textlen; - pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) ---- 2643,2662 ---- - - /* The user may have moved the cursor before inserting something, try - * to adjust the block for that. */ -! if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX) - { - if (oap->op_type == OP_INSERT -! && oap->start.col != curbuf->b_op_start_orig.col) - { -! oap->start.col = curbuf->b_op_start_orig.col; - pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) - - oap->start_vcol; - oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); - } - else if (oap->op_type == OP_APPEND -! && oap->end.col >= curbuf->b_op_start_orig.col) - { -! oap->start.col = curbuf->b_op_start_orig.col; - /* reset pre_textlen to the value of OP_INSERT */ - pre_textlen += bd.textlen; - pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) -*** ../vim-7.4.185/src/structs.h 2014-02-11 15:10:38.138111836 +0100 ---- src/structs.h 2014-02-22 22:39:47.588903502 +0100 -*************** -*** 1449,1454 **** ---- 1449,1455 ---- - * start and end of an operator, also used for '[ and '] - */ - pos_T b_op_start; -+ pos_T b_op_start_orig; /* used for Insstart_orig */ - pos_T b_op_end; - - #ifdef FEAT_VIMINFO -*** ../vim-7.4.185/src/version.c 2014-02-22 22:27:20.772904692 +0100 ---- src/version.c 2014-02-22 22:39:08.932903564 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 186, - /**/ - --- -Individualists unite! - - /// 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 /// diff --git a/7.4.187 b/7.4.187 deleted file mode 100644 index 122056e4..00000000 --- a/7.4.187 +++ /dev/null @@ -1,136 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.187 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.187 -Problem: Delete that crosses line break splits multi-byte character. -Solution: Advance a character instead of a byte. (Cade Foster) -Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok - - -*** ../vim-7.4.186/src/normal.c 2014-02-11 15:10:38.134111836 +0100 ---- src/normal.c 2014-02-22 23:41:12.472897635 +0100 -*************** -*** 21,27 **** - static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ - static linenr_T resel_VIsual_line_count; /* number of lines */ - static colnr_T resel_VIsual_vcol; /* nr of cols or end col */ -! static int VIsual_mode_orig = NUL; /* type of Visual mode, that user entered */ - - static int restart_VIsual_select = 0; - #endif ---- 21,27 ---- - static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ - static linenr_T resel_VIsual_line_count; /* number of lines */ - static colnr_T resel_VIsual_vcol; /* nr of cols or end col */ -! static int VIsual_mode_orig = NUL; /* saved Visual mode */ - - static int restart_VIsual_select = 0; - #endif -*************** -*** 6202,6209 **** - || cap->oap->op_type == OP_CHANGE) - && !lineempty(curwin->w_cursor.lnum)) - { -! if (*ml_get_cursor() != NUL) -! ++curwin->w_cursor.col; - cap->retval |= CA_NO_ADJ_OP_END; - } - continue; ---- 6202,6218 ---- - || cap->oap->op_type == OP_CHANGE) - && !lineempty(curwin->w_cursor.lnum)) - { -! char_u *cp = ml_get_cursor(); -! -! if (*cp != NUL) -! { -! #ifdef FEAT_MBYTE -! if (has_mbyte) -! curwin->w_cursor.col += (*mb_ptr2len)(cp); -! else -! #endif -! ++curwin->w_cursor.col; -! } - cap->retval |= CA_NO_ADJ_OP_END; - } - continue; -*************** -*** 9482,9488 **** - # ifdef FEAT_CLIPBOARD - adjust_clip_reg(®name); - # endif -! if (regname == 0 || regname == '"' - || VIM_ISDIGIT(regname) || regname == '-' - # ifdef FEAT_CLIPBOARD - || (clip_unnamed && (regname == '*' || regname == '+')) ---- 9491,9497 ---- - # ifdef FEAT_CLIPBOARD - adjust_clip_reg(®name); - # endif -! if (regname == 0 || regname == '"' - || VIM_ISDIGIT(regname) || regname == '-' - # ifdef FEAT_CLIPBOARD - || (clip_unnamed && (regname == '*' || regname == '+')) -*** ../vim-7.4.186/src/testdir/test69.in 2013-11-02 23:29:17.000000000 +0100 ---- src/testdir/test69.in 2014-02-22 23:38:50.508897861 +0100 -*************** -*** 155,160 **** ---- 155,170 ---- - ï½ï½b - - STARTTEST -+ :set whichwrap+=h -+ /^x -+ dh -+ :set whichwrap-=h -+ ENDTEST -+ -+ á -+ x -+ -+ STARTTEST - :let a = '.é.' " one char of two bytes - :let b = '.eÌ.' " normal e with composing char - /^byteidx -*** ../vim-7.4.186/src/testdir/test69.ok 2013-11-02 23:29:17.000000000 +0100 ---- src/testdir/test69.ok 2014-02-22 23:38:53.752897856 +0100 -*************** -*** 150,155 **** ---- 150,158 ---- - aaa - - -+ áx -+ -+ - byteidx - [0, 1, 3, 4, -1] - [0, 1, 4, 5, -1] -*** ../vim-7.4.186/src/version.c 2014-02-22 23:03:48.716901208 +0100 ---- src/version.c 2014-02-22 23:30:24.412898667 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 187, - /**/ - --- -ARTHUR: Then who is your lord? -WOMAN: We don't have a lord. -ARTHUR: What? -DENNIS: I told you. We're an anarcho-syndicalist commune. We take it in - turns to act as a sort of executive officer for the week. - 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 /// diff --git a/7.4.188 b/7.4.188 deleted file mode 100644 index b2b4fa12..00000000 --- a/7.4.188 +++ /dev/null @@ -1,617 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.188 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.188 -Problem: SIZEOF_LONG clashes with similar defines in header files. -Solution: Rename to a name starting with VIM_. Also for SIZEOF_INT. -Files: src/if_ruby.c, src/vim.h, src/configure.in, src/auto/configure, - src/config.h.in, src/fileio.c, src/if_python.c, src/message.c, - src/spell.c, src/feature.h, src/os_os2_cfg.h, src/os_vms_conf.h, - src/os_win16.h, src/structs.h - - -*** ../vim-7.4.187/src/if_ruby.c 2014-02-05 22:41:11.430582669 +0100 ---- src/if_ruby.c 2014-02-23 21:55:03.516770208 +0100 -*************** -*** 89,97 **** - #endif - - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ -! && SIZEOF_INT < SIZEOF_LONG - /* Ruby 2.0 defines a number of static functions which use rb_fix2int and -! * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */ - # define rb_fix2int rb_fix2int_stub - # define rb_num2int rb_num2int_stub - #endif ---- 89,97 ---- - #endif - - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ -! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG - /* Ruby 2.0 defines a number of static functions which use rb_fix2int and -! * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */ - # define rb_fix2int rb_fix2int_stub - # define rb_num2int rb_num2int_stub - #endif -*************** -*** 202,208 **** - # define rb_hash_new dll_rb_hash_new - # define rb_inspect dll_rb_inspect - # define rb_int2inum dll_rb_int2inum -! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */ - # define rb_fix2int dll_rb_fix2int - # define rb_num2int dll_rb_num2int - # define rb_num2uint dll_rb_num2uint ---- 202,208 ---- - # define rb_hash_new dll_rb_hash_new - # define rb_inspect dll_rb_inspect - # define rb_int2inum dll_rb_int2inum -! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - # define rb_fix2int dll_rb_fix2int - # define rb_num2int dll_rb_num2int - # define rb_num2uint dll_rb_num2uint -*************** -*** 310,316 **** - static VALUE (*dll_rb_hash_new) (void); - static VALUE (*dll_rb_inspect) (VALUE); - static VALUE (*dll_rb_int2inum) (long); -! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */ - static long (*dll_rb_fix2int) (VALUE); - static long (*dll_rb_num2int) (VALUE); - static unsigned long (*dll_rb_num2uint) (VALUE); ---- 310,316 ---- - static VALUE (*dll_rb_hash_new) (void); - static VALUE (*dll_rb_inspect) (VALUE); - static VALUE (*dll_rb_int2inum) (long); -! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - static long (*dll_rb_fix2int) (VALUE); - static long (*dll_rb_num2int) (VALUE); - static unsigned long (*dll_rb_num2uint) (VALUE); -*************** -*** 393,399 **** - return dll_rb_int2big(x); - } - # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ -! && SIZEOF_INT < SIZEOF_LONG - long rb_fix2int_stub(VALUE x) - { - return dll_rb_fix2int(x); ---- 393,399 ---- - return dll_rb_int2big(x); - } - # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ -! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG - long rb_fix2int_stub(VALUE x) - { - return dll_rb_fix2int(x); -*************** -*** 466,472 **** - {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new}, - {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect}, - {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum}, -! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */ - {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int}, - {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int}, - {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint}, ---- 466,472 ---- - {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new}, - {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect}, - {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum}, -! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int}, - {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int}, - {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint}, -*** ../vim-7.4.187/src/vim.h 2014-01-14 16:54:53.000000000 +0100 ---- src/vim.h 2014-02-23 21:58:23.764769890 +0100 -*************** -*** 43,49 **** - * it becomes zero. This is likely a problem of not being able to run the - * test program. Other items from configure may also be wrong then! - */ -! # if (SIZEOF_INT == 0) - Error: configure did not run properly. Check auto/config.log. - # endif - ---- 43,49 ---- - * it becomes zero. This is likely a problem of not being able to run the - * test program. Other items from configure may also be wrong then! - */ -! # if (VIM_SIZEOF_INT == 0) - Error: configure did not run properly. Check auto/config.log. - # endif - -*************** -*** 148,169 **** - #endif - - /* -! * SIZEOF_INT is used in feature.h, and the system-specific included files -! * need items from feature.h. Therefore define SIZEOF_INT here. - */ - #ifdef WIN3264 -! # define SIZEOF_INT 4 - #endif - #ifdef MSDOS - # ifdef DJGPP - # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ -! # define SIZEOF_INT 4 /* 32 bit ints */ - # endif - # define DOS32 - # define FEAT_CLIPBOARD - # else - # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ -! # define SIZEOF_INT 2 /* 16 bit ints */ - # endif - # define SMALL_MALLOC /* 16 bit storage allocation */ - # define DOS16 ---- 148,169 ---- - #endif - - /* -! * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files -! * need items from feature.h. Therefore define VIM_SIZEOF_INT here. - */ - #ifdef WIN3264 -! # define VIM_SIZEOF_INT 4 - #endif - #ifdef MSDOS - # ifdef DJGPP - # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ -! # define VIM_SIZEOF_INT 4 /* 32 bit ints */ - # endif - # define DOS32 - # define FEAT_CLIPBOARD - # else - # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ -! # define VIM_SIZEOF_INT 2 /* 16 bit ints */ - # endif - # define SMALL_MALLOC /* 16 bit storage allocation */ - # define DOS16 -*************** -*** 174,191 **** - /* Be conservative about sizeof(int). It could be 4 too. */ - # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ - # ifdef __GNUC__ -! # define SIZEOF_INT 4 - # else -! # define SIZEOF_INT 2 - # endif - # endif - #endif - #ifdef MACOS - # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \ - || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */ -! # define SIZEOF_INT 4 - # else -! # define SIZEOF_INT 2 - # endif - #endif - ---- 174,191 ---- - /* Be conservative about sizeof(int). It could be 4 too. */ - # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ - # ifdef __GNUC__ -! # define VIM_SIZEOF_INT 4 - # else -! # define VIM_SIZEOF_INT 2 - # endif - # endif - #endif - #ifdef MACOS - # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \ - || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */ -! # define VIM_SIZEOF_INT 4 - # else -! # define VIM_SIZEOF_INT 2 - # endif - #endif - -*************** -*** 417,428 **** - #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U - - /* -! * Only systems which use configure will have SIZEOF_OFF_T and SIZEOF_LONG - * defined, which is ok since those are the same systems which can have - * varying sizes for off_t. The other systems will continue to use "%ld" to - * print off_t since off_t is simply a typedef to long for them. - */ -! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG) - # define LONG_LONG_OFF_T - #endif - ---- 417,428 ---- - #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U - - /* -! * Only systems which use configure will have SIZEOF_OFF_T and VIM_SIZEOF_LONG - * defined, which is ok since those are the same systems which can have - * varying sizes for off_t. The other systems will continue to use "%ld" to - * print off_t since off_t is simply a typedef to long for them. - */ -! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > VIM_SIZEOF_LONG) - # define LONG_LONG_OFF_T - #endif - -*************** -*** 448,454 **** - # ifdef UNICODE16 - typedef unsigned short u8char_T; /* short should be 16 bits */ - # else -! # if SIZEOF_INT >= 4 - typedef unsigned int u8char_T; /* int is 32 bits */ - # else - typedef unsigned long u8char_T; /* long should be 32 bits or more */ ---- 448,454 ---- - # ifdef UNICODE16 - typedef unsigned short u8char_T; /* short should be 16 bits */ - # else -! # if VIM_SIZEOF_INT >= 4 - typedef unsigned int u8char_T; /* int is 32 bits */ - # else - typedef unsigned long u8char_T; /* long should be 32 bits or more */ -*************** -*** 1608,1614 **** - * With this we restrict the maximum line length to 1073741823. I guess this is - * not a real problem. BTW: Longer lines are split. - */ -! #if SIZEOF_INT >= 4 - # ifdef __MVS__ - # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */ - # else ---- 1608,1614 ---- - * With this we restrict the maximum line length to 1073741823. I guess this is - * not a real problem. BTW: Longer lines are split. - */ -! #if VIM_SIZEOF_INT >= 4 - # ifdef __MVS__ - # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */ - # else -*** ../vim-7.4.187/src/configure.in 2014-02-15 17:18:56.953897128 +0100 ---- src/configure.in 2014-02-23 22:37:40.080766138 +0100 -*************** -*** 3581,3586 **** ---- 3581,3590 ---- - AC_CHECK_SIZEOF([time_t]) - AC_CHECK_SIZEOF([off_t]) - -+ dnl Use different names to avoid clashing with other header files. -+ AC_DEFINE_UNQUOTED(VIM_SIZEOF_INT, [$ac_cv_sizeof_int]) -+ AC_DEFINE_UNQUOTED(VIM_SIZEOF_LONG, [$ac_cv_sizeof_long]) -+ - dnl Make sure that uint32_t is really 32 bits unsigned. - AC_MSG_CHECKING([uint32_t is 32 bits]) - AC_TRY_RUN([ -*** ../vim-7.4.187/src/auto/configure 2013-11-21 12:17:46.000000000 +0100 ---- src/auto/configure 2014-02-23 22:37:43.692766132 +0100 -*************** -*** 5199,5207 **** ---- 5199,5217 ---- - $as_echo_n "checking for mzscheme_base.c... " >&6; } - if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then - MZSCHEME_EXTRA="mzscheme_base.c" -+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" -+ MZSCHEME_MOD="++lib scheme/base" - else - if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then - MZSCHEME_EXTRA="mzscheme_base.c" -+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" -+ MZSCHEME_MOD="++lib scheme/base" -+ else -+ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then -+ MZSCHEME_EXTRA="mzscheme_base.c" -+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool" -+ MZSCHEME_MOD="" -+ fi - fi - fi - if test "X$MZSCHEME_EXTRA" != "X" ; then -*************** -*** 12323,12328 **** ---- 12333,12347 ---- - - - -+ cat >>confdefs.h <<_ACEOF -+ #define VIM_SIZEOF_INT $ac_cv_sizeof_int -+ _ACEOF -+ -+ cat >>confdefs.h <<_ACEOF -+ #define VIM_SIZEOF_LONG $ac_cv_sizeof_long -+ _ACEOF -+ -+ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5 - $as_echo_n "checking uint32_t is 32 bits... " >&6; } - if test "$cross_compiling" = yes; then : -*** ../vim-7.4.187/src/config.h.in 2013-11-02 21:04:32.000000000 +0100 ---- src/config.h.in 2014-02-23 21:45:36.784771111 +0100 -*************** -*** 37,46 **** - #undef UNIX - - /* Defined to the size of an int */ -! #undef SIZEOF_INT - - /* Defined to the size of a long */ -! #undef SIZEOF_LONG - - /* Defined to the size of off_t */ - #undef SIZEOF_OFF_T ---- 37,46 ---- - #undef UNIX - - /* Defined to the size of an int */ -! #undef VIM_SIZEOF_INT - - /* Defined to the size of a long */ -! #undef VIM_SIZEOF_LONG - - /* Defined to the size of off_t */ - #undef SIZEOF_OFF_T -*** ../vim-7.4.187/src/fileio.c 2014-02-11 15:23:27.938123631 +0100 ---- src/fileio.c 2014-02-23 22:31:00.824766773 +0100 -*************** -*** 1185,1191 **** - * The amount is limited by the fact that read() only can read - * upto max_unsigned characters (and other things). - */ -! #if SIZEOF_INT <= 2 - if (linerest >= 0x7ff0) - { - ++split; ---- 1185,1191 ---- - * The amount is limited by the fact that read() only can read - * upto max_unsigned characters (and other things). - */ -! #if VIM_SIZEOF_INT <= 2 - if (linerest >= 0x7ff0) - { - ++split; -*************** -*** 1197,1203 **** - { - if (!skip_read) - { -! #if SIZEOF_INT > 2 - # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L) - size = SSIZE_MAX; /* use max I/O size, 52K */ - # else ---- 1197,1203 ---- - { - if (!skip_read) - { -! #if VIM_SIZEOF_INT > 2 - # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L) - size = SSIZE_MAX; /* use max I/O size, 52K */ - # else -*** ../vim-7.4.187/src/if_python.c 2014-01-14 19:35:49.000000000 +0100 ---- src/if_python.c 2014-02-23 21:54:39.212770247 +0100 -*************** -*** 613,619 **** - # endif - # endif - # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \ -! && SIZEOF_SIZE_T != SIZEOF_INT - # ifdef Py_DEBUG - {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4}, - # else ---- 613,619 ---- - # endif - # endif - # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \ -! && SIZEOF_SIZE_T != VIM_SIZEOF_INT - # ifdef Py_DEBUG - {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4}, - # else -*** ../vim-7.4.187/src/message.c 2013-11-04 02:00:55.000000000 +0100 ---- src/message.c 2014-02-23 21:55:16.984770187 +0100 -*************** -*** 4376,4382 **** - { - /* Don't put the #if inside memchr(), it can be a - * macro. */ -! #if SIZEOF_INT <= 2 - char *q = memchr(str_arg, '\0', precision); - #else - /* memchr on HP does not like n > 2^31 !!! */ ---- 4376,4382 ---- - { - /* Don't put the #if inside memchr(), it can be a - * macro. */ -! #if VIM_SIZEOF_INT <= 2 - char *q = memchr(str_arg, '\0', precision); - #else - /* memchr on HP does not like n > 2^31 !!! */ -*** ../vim-7.4.187/src/spell.c 2013-11-28 17:41:41.000000000 +0100 ---- src/spell.c 2014-02-23 21:55:24.600770175 +0100 -*************** -*** 317,323 **** - - /* Type used for indexes in the word tree need to be at least 4 bytes. If int - * is 8 bytes we could use something smaller, but what? */ -! #if SIZEOF_INT > 3 - typedef int idx_T; - #else - typedef long idx_T; ---- 317,323 ---- - - /* Type used for indexes in the word tree need to be at least 4 bytes. If int - * is 8 bytes we could use something smaller, but what? */ -! #if VIM_SIZEOF_INT > 3 - typedef int idx_T; - #else - typedef long idx_T; -*** ../vim-7.4.187/src/feature.h 2013-05-18 20:18:20.000000000 +0200 ---- src/feature.h 2014-02-23 21:55:54.868770127 +0100 -*************** -*** 328,334 **** - * - * Disabled for EBCDIC as it requires multibyte. - */ -! #if defined(FEAT_BIG) && !defined(WIN16) && SIZEOF_INT >= 4 && !defined(EBCDIC) - # define FEAT_ARABIC - #endif - #ifdef FEAT_ARABIC ---- 328,334 ---- - * - * Disabled for EBCDIC as it requires multibyte. - */ -! #if defined(FEAT_BIG) && !defined(WIN16) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC) - # define FEAT_ARABIC - #endif - #ifdef FEAT_ARABIC -*************** -*** 640,646 **** - */ - #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \ - && !defined(FEAT_MBYTE) && !defined(WIN16) \ -! && SIZEOF_INT >= 4 && !defined(EBCDIC) - # define FEAT_MBYTE - #endif - ---- 640,646 ---- - */ - #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \ - && !defined(FEAT_MBYTE) && !defined(WIN16) \ -! && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC) - # define FEAT_MBYTE - #endif - -*************** -*** 661,667 **** - # define FEAT_MBYTE - #endif - -! #if defined(FEAT_MBYTE) && SIZEOF_INT < 4 && !defined(PROTO) - Error: Can only handle multi-byte feature with 32 bit int or larger - #endif - ---- 661,667 ---- - # define FEAT_MBYTE - #endif - -! #if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO) - Error: Can only handle multi-byte feature with 32 bit int or larger - #endif - -*** ../vim-7.4.187/src/os_os2_cfg.h 2010-05-15 13:04:11.000000000 +0200 ---- src/os_os2_cfg.h 2014-02-23 21:56:03.540770113 +0100 -*************** -*** 47,53 **** - #undef UNIX /* define always by current configure script */ - - /* Defined to the size of an int */ -! #define SIZEOF_INT 4 - - /* - * If we cannot trust one of the following from the libraries, we use our ---- 47,53 ---- - #undef UNIX /* define always by current configure script */ - - /* Defined to the size of an int */ -! #define VIM_SIZEOF_INT 4 - - /* - * If we cannot trust one of the following from the libraries, we use our -*** ../vim-7.4.187/src/os_vms_conf.h 2010-07-28 19:07:48.000000000 +0200 ---- src/os_vms_conf.h 2014-02-23 21:56:20.700770086 +0100 -*************** -*** 23,29 **** - #define HAVE_DATE_TIME - - /* Defined to the size of an int */ -! #define SIZEOF_INT 4 - - /* #undef USEBCOPY */ - #define USEMEMMOVE ---- 23,29 ---- - #define HAVE_DATE_TIME - - /* Defined to the size of an int */ -! #define VIM_SIZEOF_INT 4 - - /* #undef USEBCOPY */ - #define USEMEMMOVE -*** ../vim-7.4.187/src/os_win16.h 2013-05-06 04:06:04.000000000 +0200 ---- src/os_win16.h 2014-02-23 21:56:39.292770056 +0100 -*************** -*** 55,62 **** - - #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */ - -! #ifndef SIZEOF_INT -! # define SIZEOF_INT 2 - #endif - - typedef long off_t; ---- 55,62 ---- - - #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */ - -! #ifndef VIM_SIZEOF_INT -! # define VIM_SIZEOF_INT 2 - #endif - - typedef long off_t; -*** ../vim-7.4.187/src/structs.h 2014-02-22 23:03:48.716901208 +0100 ---- src/structs.h 2014-02-23 21:57:17.680769995 +0100 -*************** -*** 364,370 **** - /* - * structures used in undo.c - */ -! #if SIZEOF_INT > 2 - # define ALIGN_LONG /* longword alignment and use filler byte */ - # define ALIGN_SIZE (sizeof(long)) - #else ---- 364,370 ---- - /* - * structures used in undo.c - */ -! #if VIM_SIZEOF_INT > 2 - # define ALIGN_LONG /* longword alignment and use filler byte */ - # define ALIGN_SIZE (sizeof(long)) - #else -*************** -*** 1094,1100 **** - typedef long_u hash_T; /* Type for hi_hash */ - - -! #if SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ - typedef long varnumber_T; - #else - typedef int varnumber_T; ---- 1094,1100 ---- - typedef long_u hash_T; /* Type for hi_hash */ - - -! #if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ - typedef long varnumber_T; - #else - typedef int varnumber_T; -*** ../vim-7.4.187/src/version.c 2014-02-22 23:49:30.268896843 +0100 ---- src/version.c 2014-02-23 22:40:55.708765826 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 188, - /**/ - --- -I'm sure that I asked CBuilder to do a "full" install. Looks like I got -a "fool" install, instead. Charles E Campbell, Jr, PhD - - - /// 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 /// diff --git a/7.4.189 b/7.4.189 deleted file mode 100644 index cf6a2b70..00000000 --- a/7.4.189 +++ /dev/null @@ -1,52 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.189 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.189 -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/eval.c - - -*** ../vim-7.4.188/src/eval.c 2014-02-22 22:18:39.532905522 +0100 ---- src/eval.c 2014-02-23 22:29:14.976766942 +0100 -*************** -*** 9203,9209 **** - byteidx(argvars, rettv, comp) - typval_T *argvars; - typval_T *rettv; -! int comp; - { - #ifdef FEAT_MBYTE - char_u *t; ---- 9203,9209 ---- - byteidx(argvars, rettv, comp) - typval_T *argvars; - typval_T *rettv; -! int comp UNUSED; - { - #ifdef FEAT_MBYTE - char_u *t; -*** ../vim-7.4.188/src/version.c 2014-02-23 22:52:33.372764715 +0100 ---- src/version.c 2014-02-23 22:54:17.836764549 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 189, - /**/ - --- -Q: How does a UNIX Guru pick up a girl? -A: look; grep; which; eval; nice; uname; talk; date; - - /// 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 /// diff --git a/7.4.190 b/7.4.190 deleted file mode 100644 index 6cafb4b2..00000000 --- a/7.4.190 +++ /dev/null @@ -1,70 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.190 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.190 -Problem: Compiler warning for using %lld for off_t. -Solution: Add type cast. -Files: src/fileio.c - - -*** ../vim-7.4.189/src/fileio.c 2014-02-23 22:52:33.368764715 +0100 ---- src/fileio.c 2014-02-23 22:31:00.824766773 +0100 -*************** -*** 5294,5300 **** - if (shortmess(SHM_LINES)) - sprintf((char *)p, - #ifdef LONG_LONG_OFF_T -! "%ldL, %lldC", lnum, nchars - #else - /* Explicit typecast avoids warning on Mac OS X 10.6 */ - "%ldL, %ldC", lnum, (long)nchars ---- 5294,5300 ---- - if (shortmess(SHM_LINES)) - sprintf((char *)p, - #ifdef LONG_LONG_OFF_T -! "%ldL, %lldC", lnum, (long long)nchars - #else - /* Explicit typecast avoids warning on Mac OS X 10.6 */ - "%ldL, %ldC", lnum, (long)nchars -*************** -*** 5312,5318 **** - else - sprintf((char *)p, - #ifdef LONG_LONG_OFF_T -! _("%lld characters"), nchars - #else - /* Explicit typecast avoids warning on Mac OS X 10.6 */ - _("%ld characters"), (long)nchars ---- 5312,5318 ---- - else - sprintf((char *)p, - #ifdef LONG_LONG_OFF_T -! _("%lld characters"), (long long)nchars - #else - /* Explicit typecast avoids warning on Mac OS X 10.6 */ - _("%ld characters"), (long)nchars -*** ../vim-7.4.189/src/version.c 2014-02-23 22:54:54.728764490 +0100 ---- src/version.c 2014-02-23 22:57:43.648764221 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 190, - /**/ - --- -Courtroom Quote #19: -Q: Doctor, how many autopsies have you performed on dead people? -A: All my autopsies have been performed on dead people. - - /// 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 /// diff --git a/7.4.191 b/7.4.191 deleted file mode 100644 index f0bb71bf..00000000 --- a/7.4.191 +++ /dev/null @@ -1,689 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.191 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.191 -Problem: Escaping a file name for shell commands can't be done without a - function. -Solution: Add the :S file name modifier. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test105.in, src/testdir/test105.ok, - runtime/doc/cmdline.txt, runtime/doc/eval.txt, - runtime/doc/map.txt, runtime/doc/options.txt, - runtime/doc/quickfix.txt, runtime/doc/usr_30.txt, - runtime/doc/usr_40.txt, runtime/doc/usr_42.txt, - runtime/doc/vi_diff.txt, src/eval.c, src/misc2.c, src/normal.c, - src/proto/misc2.pro - - -*** ../vim-7.4.190/src/testdir/Make_amiga.mak 2014-02-05 22:25:29.974568243 +0100 ---- src/testdir/Make_amiga.mak 2014-02-23 23:16:51.056762395 +0100 -*************** -*** 35,41 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out - - .SUFFIXES: .in .out - ---- 35,41 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out test105.out - - .SUFFIXES: .in .out - -*************** -*** 156,158 **** ---- 156,159 ---- - test102.out: test102.in - test103.out: test103.in - test104.out: test104.in -+ test105.out: test105.in -*** ../vim-7.4.190/src/testdir/Make_dos.mak 2014-02-05 22:25:29.978568243 +0100 ---- src/testdir/Make_dos.mak 2014-02-23 23:17:41.840762314 +0100 -*************** -*** 33,39 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - SCRIPTS32 = test50.out test70.out - ---- 33,40 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.190/src/testdir/Make_ming.mak 2014-02-05 22:25:29.978568243 +0100 ---- src/testdir/Make_ming.mak 2014-02-23 23:17:29.400762333 +0100 -*************** -*** 53,59 **** - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - SCRIPTS32 = test50.out test70.out - ---- 53,60 ---- - test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.190/src/testdir/Make_os2.mak 2014-02-05 22:25:29.978568243 +0100 ---- src/testdir/Make_os2.mak 2014-02-23 23:17:49.476762302 +0100 -*************** -*** 35,41 **** - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - .SUFFIXES: .in .out - ---- 35,42 ---- - test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.190/src/testdir/Make_vms.mms 2014-02-05 22:25:29.978568243 +0100 ---- src/testdir/Make_vms.mms 2014-02-23 23:17:56.596762290 +0100 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2013 Nov 21 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2014 Feb 23 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 79,85 **** - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason ---- 79,86 ---- - test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - # Known problems: - # Test 30: a problem around mac format - unknown reason -*** ../vim-7.4.190/src/testdir/Makefile 2014-02-05 22:25:29.982568243 +0100 ---- src/testdir/Makefile 2014-02-23 23:18:14.040762262 +0100 -*************** -*** 31,37 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out - - SCRIPTS_GUI = test16.out - ---- 31,37 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out test105.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.190/src/testdir/test105.in 2014-02-23 23:35:40.680760596 +0100 ---- src/testdir/test105.in 2014-02-23 23:30:24.748761099 +0100 -*************** -*** 0 **** ---- 1,45 ---- -+ Test filename modifiers vim: set ft=vim : -+ -+ STARTTEST -+ :source small.vim -+ :%delete _ -+ :set shell=sh -+ :set shellslash -+ :let tab="\t" -+ :command -nargs=1 Put :let expr= | $put =expr.tab.strtrans(string(eval(expr))) -+ :let $HOME=fnamemodify('.', ':p:h:h:h') -+ :Put fnamemodify('.', ':p' )[-1:] -+ :Put fnamemodify('.', ':p:h' )[-1:] -+ :Put fnamemodify('test.out', ':p' )[-1:] -+ :Put fnamemodify('test.out', ':.' ) -+ :Put fnamemodify('../testdir/a', ':.' ) -+ :Put fnamemodify('test.out', ':~' ) -+ :Put fnamemodify('../testdir/a', ':~' ) -+ :Put fnamemodify('../testdir/a', ':t' ) -+ :Put fnamemodify('.', ':p:t' ) -+ :Put fnamemodify('test.out', ':p:t' ) -+ :Put fnamemodify('test.out', ':p:e' ) -+ :Put fnamemodify('test.out', ':p:t:e' ) -+ :Put fnamemodify('abc.fb2.tar.gz', ':r' ) -+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r' ) -+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) -+ :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '') -+ :Put fnamemodify('abc.fb2.tar.gz', ':e' ) -+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e' ) -+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) -+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e:e') -+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:r' ) -+ :Put fnamemodify('abc def', ':S' ) -+ :Put fnamemodify('abc" "def', ':S' ) -+ :Put fnamemodify('abc"%"def', ':S' ) -+ :Put fnamemodify('abc'' ''def', ':S' ) -+ :Put fnamemodify('abc''%''def', ':S' ) -+ :Put fnamemodify("abc\ndef", ':S' ) -+ :set shell=tcsh -+ :Put fnamemodify("abc\ndef", ':S' ) -+ :$put ='vim: ts=8' -+ :1 delete _ -+ :w! test.out -+ :qa! -+ ENDTEST -+ -*** ../vim-7.4.190/src/testdir/test105.ok 2014-02-23 23:35:40.688760596 +0100 ---- src/testdir/test105.ok 2014-02-23 23:32:11.204760929 +0100 -*************** -*** 0 **** ---- 1,29 ---- -+ fnamemodify('.', ':p' )[-1:] '/' -+ fnamemodify('.', ':p:h' )[-1:] 'r' -+ fnamemodify('test.out', ':p' )[-1:] 't' -+ fnamemodify('test.out', ':.' ) 'test.out' -+ fnamemodify('../testdir/a', ':.' ) 'a' -+ fnamemodify('test.out', ':~' ) '~/src/testdir/test.out' -+ fnamemodify('../testdir/a', ':~' ) '~/src/testdir/a' -+ fnamemodify('../testdir/a', ':t' ) 'a' -+ fnamemodify('.', ':p:t' ) '' -+ fnamemodify('test.out', ':p:t' ) 'test.out' -+ fnamemodify('test.out', ':p:e' ) 'out' -+ fnamemodify('test.out', ':p:t:e' ) 'out' -+ fnamemodify('abc.fb2.tar.gz', ':r' ) 'abc.fb2.tar' -+ fnamemodify('abc.fb2.tar.gz', ':r:r' ) 'abc.fb2' -+ fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) 'abc' -+ substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '') 'src/testdir/abc.fb2' -+ fnamemodify('abc.fb2.tar.gz', ':e' ) 'gz' -+ fnamemodify('abc.fb2.tar.gz', ':e:e' ) 'tar.gz' -+ fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) 'fb2.tar.gz' -+ fnamemodify('abc.fb2.tar.gz', ':e:e:e:e') 'fb2.tar.gz' -+ fnamemodify('abc.fb2.tar.gz', ':e:e:r' ) 'tar' -+ fnamemodify('abc def', ':S' ) '''abc def''' -+ fnamemodify('abc" "def', ':S' ) '''abc" "def''' -+ fnamemodify('abc"%"def', ':S' ) '''abc"%"def''' -+ fnamemodify('abc'' ''def', ':S' ) '''abc''\'''' ''\''''def''' -+ fnamemodify('abc''%''def', ':S' ) '''abc''\''''%''\''''def''' -+ fnamemodify("abc\ndef", ':S' ) '''abc^@def''' -+ fnamemodify("abc\ndef", ':S' ) '''abc\^@def''' -+ vim: ts=8 -*** ../vim-7.4.190/runtime/doc/cmdline.txt 2013-11-09 05:30:18.000000000 +0100 ---- runtime/doc/cmdline.txt 2014-02-23 23:20:57.020762003 +0100 -*************** -*** 758,763 **** ---- 758,764 ---- - function expand() |expand()|. - % Is replaced with the current file name. *:_%* *c_%* - # Is replaced with the alternate file name. *:_#* *c_#* -+ This is remembered for every window. - #n (where n is a number) is replaced with *:_#0* *:_#n* - the file name of buffer n. "#0" is the same as "#". *c_#n* - ## Is replaced with all names in the argument list *:_##* *c_##* -*************** -*** 823,830 **** - the start of the function. - - *filename-modifiers* -! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* -! *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* - The file name modifiers can be used after "%", "#", "#n", "", "", - "" or "". They are also used with the |fnamemodify()| function. - These are not available when Vim has been compiled without the |+modify_fname| ---- 824,831 ---- - the start of the function. - - *filename-modifiers* -! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S* -! *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S* - The file name modifiers can be used after "%", "#", "#n", "", "", - "" or "". They are also used with the |fnamemodify()| function. - These are not available when Vim has been compiled without the |+modify_fname| -*************** -*** 879,884 **** ---- 880,889 ---- - :gs?pat?sub? - Substitute all occurrences of "pat" with "sub". Otherwise - this works like ":s". -+ :S Escape special characters for use with a shell command (see -+ |shellescape()|). Must be the last one. Examples: > -+ :!dir :S -+ :call system('chmod +w -- ' . expand('%:S')) - - Examples, when the file name is "src/version.c", current dir - "/home/mool/vim": > -*** ../vim-7.4.190/runtime/doc/eval.txt 2014-01-14 12:33:32.000000000 +0100 ---- runtime/doc/eval.txt 2014-02-23 23:19:32.420762138 +0100 -*************** -*** 5414,5419 **** ---- 5428,5434 ---- - < This results in a directory listing for the file under the - cursor. Example of use with |system()|: > - :call system("chmod +w -- " . shellescape(expand("%"))) -+ < See also |::S|. - - - shiftwidth() *shiftwidth()* -*************** -*** 5896,5909 **** - passed as stdin to the command. The string is written as-is, - you need to take care of using the correct line separators - yourself. Pipes are not used. -! Note: Use |shellescape()| to escape special characters in a -! command argument. Newlines in {expr} may cause the command to -! fail. The characters in 'shellquote' and 'shellxquote' may -! also cause trouble. - This is not to be used for interactive commands. - - The result is a String. Example: > - :let files = system("ls " . shellescape(expand('%:h'))) - - < To make the result more system-independent, the shell output - is filtered to replace with for Macintosh, and ---- 5911,5926 ---- - passed as stdin to the command. The string is written as-is, - you need to take care of using the correct line separators - yourself. Pipes are not used. -! Note: Use |shellescape()| or |::S| with |expand()| or -! |fnamemodify()| to escape special characters in a command -! argument. Newlines in {expr} may cause the command to fail. -! The characters in 'shellquote' and 'shellxquote' may also -! cause trouble. - This is not to be used for interactive commands. - - The result is a String. Example: > - :let files = system("ls " . shellescape(expand('%:h'))) -+ :let files = system('ls ' . expand('%:h:S')) - - < To make the result more system-independent, the shell output - is filtered to replace with for Macintosh, and -*** ../vim-7.4.190/runtime/doc/map.txt 2013-08-10 13:24:56.000000000 +0200 ---- runtime/doc/map.txt 2014-02-23 23:19:32.424762138 +0100 -*************** -*** 380,386 **** - The simplest way to load a set of related language mappings is by using the - 'keymap' option. See |45.5|. - In Insert mode and in Command-line mode the mappings can be disabled with -! the CTRL-^ command |i_CTRL-^| |c_CTRL-^| These commands change the value of - the 'iminsert' option. When starting to enter a normal command line (not a - search pattern) the mappings are disabled until a CTRL-^ is typed. The state - last used is remembered for Insert mode and Search patterns separately. The ---- 380,386 ---- - The simplest way to load a set of related language mappings is by using the - 'keymap' option. See |45.5|. - In Insert mode and in Command-line mode the mappings can be disabled with -! the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of - the 'iminsert' option. When starting to enter a normal command line (not a - search pattern) the mappings are disabled until a CTRL-^ is typed. The state - last used is remembered for Insert mode and Search patterns separately. The -*************** -*** 593,599 **** - When you have a mapping that contains an Ex command, you need to put a line - terminator after it to have it executed. The use of is recommended for - this (see |<>|). Example: > -! :map _ls :!ls -l %:echo "the end" - - To avoid mapping of the characters you type in insert or Command-line mode, - type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste' ---- 593,599 ---- - When you have a mapping that contains an Ex command, you need to put a line - terminator after it to have it executed. The use of is recommended for - this (see |<>|). Example: > -! :map _ls :!ls -l %:S:echo "the end" - - To avoid mapping of the characters you type in insert or Command-line mode, - type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste' -*** ../vim-7.4.190/runtime/doc/options.txt 2013-11-12 04:43:57.000000000 +0100 ---- runtime/doc/options.txt 2014-02-23 23:19:32.428762138 +0100 -*************** -*** 4757,4764 **** - global or local to buffer |global-local| - {not in Vi} - Program to use for the ":make" command. See |:make_makeprg|. -! This option may contain '%' and '#' characters, which are expanded to -! the current and alternate file name. |:_%| |:_#| - Environment variables are expanded |:set_env|. See |option-backslash| - about including spaces and backslashes. - Note that a '|' must be escaped twice: once for ":set" and once for ---- 4757,4765 ---- - global or local to buffer |global-local| - {not in Vi} - Program to use for the ":make" command. See |:make_makeprg|. -! This option may contain '%' and '#' characters (see |:_%| and |:_#|), -! which are expanded to the current and alternate file name. Use |::S| -! to escape file names in case they contain special characters. - Environment variables are expanded |:set_env|. See |option-backslash| - about including spaces and backslashes. - Note that a '|' must be escaped twice: once for ":set" and once for -*** ../vim-7.4.190/runtime/doc/quickfix.txt 2013-08-10 13:25:00.000000000 +0200 ---- runtime/doc/quickfix.txt 2014-02-23 23:19:32.432762138 +0100 -*************** -*** 838,844 **** - The alltests.py script seems to be used quite often, that's all. - Useful values for the 'makeprg' options therefore are: - setlocal makeprg=./alltests.py " Run a testsuite -! setlocal makeprg=python % " Run a single testcase - - Also see http://vim.sourceforge.net/tip_view.php?tip_id=280. - ---- 838,844 ---- - The alltests.py script seems to be used quite often, that's all. - Useful values for the 'makeprg' options therefore are: - setlocal makeprg=./alltests.py " Run a testsuite -! setlocal makeprg=python\ %:S " Run a single testcase - - Also see http://vim.sourceforge.net/tip_view.php?tip_id=280. - -*************** -*** 1332,1338 **** - Here is an alternative from Michael F. Lamb for Unix that filters the errors - first: > - :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%# -! :setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter - - You need to put the following in "vim-javac-filter" somewhere in your path - (e.g., in ~/bin) and make it executable: > ---- 1332,1338 ---- - Here is an alternative from Michael F. Lamb for Unix that filters the errors - first: > - :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%# -! :setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter - - You need to put the following in "vim-javac-filter" somewhere in your path - (e.g., in ~/bin) and make it executable: > -*** ../vim-7.4.190/runtime/doc/usr_30.txt 2013-08-10 13:25:05.000000000 +0200 ---- runtime/doc/usr_30.txt 2014-02-23 23:19:32.432762138 +0100 -*************** -*** 128,134 **** - You can include special Vim keywords in the command specification. The % - character expands to the name of the current file. So if you execute the - command: > -! :set makeprg=make\ % - - When you are editing main.c, then ":make" executes the following command: > - ---- 128,134 ---- - You can include special Vim keywords in the command specification. The % - character expands to the name of the current file. So if you execute the - command: > -! :set makeprg=make\ %:S - - When you are editing main.c, then ":make" executes the following command: > - -*************** -*** 137,143 **** - This is not too useful, so you will refine the command a little and use the :r - (root) modifier: > - -! :set makeprg=make\ %:r.o - - Now the command executed is as follows: > - ---- 137,143 ---- - This is not too useful, so you will refine the command a little and use the :r - (root) modifier: > - -! :set makeprg=make\ %:r:S.o - - Now the command executed is as follows: > - -*** ../vim-7.4.190/runtime/doc/usr_40.txt 2013-08-10 13:25:05.000000000 +0200 ---- runtime/doc/usr_40.txt 2014-02-23 23:19:32.432762138 +0100 -*************** -*** 209,215 **** - separates the two commands. This also means that a | character can't be used - inside a map command. To include one, use (five characters). Example: - > -! :map :write !checkin % - - The same problem applies to the ":unmap" command, with the addition that you - have to watch out for trailing white space. These two commands are different: ---- 209,215 ---- - separates the two commands. This also means that a | character can't be used - inside a map command. To include one, use (five characters). Example: - > -! :map :write !checkin %:S - - The same problem applies to the ":unmap" command, with the addition that you - have to watch out for trailing white space. These two commands are different: -*** ../vim-7.4.190/runtime/doc/usr_42.txt 2013-08-10 13:25:05.000000000 +0200 ---- runtime/doc/usr_42.txt 2014-02-23 23:19:32.432762138 +0100 -*************** -*** 311,317 **** - item with a bitmap. For example, define a new toolbar item with: > - - :tmenu ToolBar.Compile Compile the current file -! :amenu ToolBar.Compile :!cc % -o %:r - - Now you need to create the icon. For MS-Windows it must be in bitmap format, - with the name "Compile.bmp". For Unix XPM format is used, the file name is ---- 311,317 ---- - item with a bitmap. For example, define a new toolbar item with: > - - :tmenu ToolBar.Compile Compile the current file -! :amenu ToolBar.Compile :!cc %:S -o %:r:S - - Now you need to create the icon. For MS-Windows it must be in bitmap format, - with the name "Compile.bmp". For Unix XPM format is used, the file name is -*** ../vim-7.4.190/runtime/doc/vi_diff.txt 2013-08-10 13:25:07.000000000 +0200 ---- runtime/doc/vi_diff.txt 2014-02-23 23:19:32.432762138 +0100 -*************** -*** 540,546 **** - Added :wnext command. Same as ":write" followed by ":next". - - The ":w!" command always writes, also when the file is write protected. In Vi -! you would have to do ":!chmod +w %" and ":set noro". - - When 'tildeop' has been set, "~" is an operator (must be followed by a - movement command). ---- 540,546 ---- - Added :wnext command. Same as ":write" followed by ":next". - - The ":w!" command always writes, also when the file is write protected. In Vi -! you would have to do ":!chmod +w %:S" and ":set noro". - - When 'tildeop' has been set, "~" is an operator (must be followed by a - movement command). -*** ../vim-7.4.190/src/eval.c 2014-02-23 22:54:54.724764490 +0100 ---- src/eval.c 2014-02-23 23:19:32.432762138 +0100 -*************** -*** 16950,16956 **** - typval_T *rettv; - { - rettv->vval.v_string = vim_strsave_shellescape( -! get_tv_string(&argvars[0]), non_zero_arg(&argvars[1])); - rettv->v_type = VAR_STRING; - } - ---- 16950,16956 ---- - typval_T *rettv; - { - rettv->vval.v_string = vim_strsave_shellescape( -! get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]), TRUE); - rettv->v_type = VAR_STRING; - } - -*************** -*** 24355,24360 **** ---- 24355,24371 ---- - } - } - -+ if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S') -+ { -+ p = vim_strsave_shellescape(*fnamep, FALSE, FALSE); -+ if (p == NULL) -+ return -1; -+ vim_free(*bufp); -+ *bufp = *fnamep = p; -+ *fnamelen = (int)STRLEN(p); -+ *usedlen += 2; -+ } -+ - return valid; - } - -*** ../vim-7.4.190/src/misc2.c 2014-01-06 06:18:44.000000000 +0100 ---- src/misc2.c 2014-02-23 23:25:44.168761546 +0100 -*************** -*** 1369,1380 **** - * Escape a newline, depending on the 'shell' option. - * When "do_special" is TRUE also replace "!", "%", "#" and things starting - * with "<" like "". - * Returns the result in allocated memory, NULL if we have run out. - */ - char_u * -! vim_strsave_shellescape(string, do_special) - char_u *string; - int do_special; - { - unsigned length; - char_u *p; ---- 1369,1382 ---- - * Escape a newline, depending on the 'shell' option. - * When "do_special" is TRUE also replace "!", "%", "#" and things starting - * with "<" like "". -+ * When "do_newline" is FALSE do not escape newline unless it is csh shell. - * Returns the result in allocated memory, NULL if we have run out. - */ - char_u * -! vim_strsave_shellescape(string, do_special, do_newline) - char_u *string; - int do_special; -+ int do_newline; - { - unsigned length; - char_u *p; -*************** -*** 1403,1409 **** - # endif - if (*p == '\'') - length += 3; /* ' => '\'' */ -! if (*p == '\n' || (*p == '!' && (csh_like || do_special))) - { - ++length; /* insert backslash */ - if (csh_like && do_special) ---- 1405,1412 ---- - # endif - if (*p == '\'') - length += 3; /* ' => '\'' */ -! if ((*p == '\n' && (csh_like || do_newline)) -! || (*p == '!' && (csh_like || do_special))) - { - ++length; /* insert backslash */ - if (csh_like && do_special) -*************** -*** 1454,1460 **** - ++p; - continue; - } -! if (*p == '\n' || (*p == '!' && (csh_like || do_special))) - { - *d++ = '\\'; - if (csh_like && do_special) ---- 1457,1464 ---- - ++p; - continue; - } -! if ((*p == '\n' && (csh_like || do_newline)) -! || (*p == '!' && (csh_like || do_special))) - { - *d++ = '\\'; - if (csh_like && do_special) -*** ../vim-7.4.190/src/normal.c 2014-02-22 23:49:30.268896843 +0100 ---- src/normal.c 2014-02-23 23:19:32.436762138 +0100 -*************** -*** 5790,5796 **** - { - /* Escape the argument properly for a shell command */ - ptr = vim_strnsave(ptr, n); -! p = vim_strsave_shellescape(ptr, TRUE); - vim_free(ptr); - if (p == NULL) - { ---- 5790,5796 ---- - { - /* Escape the argument properly for a shell command */ - ptr = vim_strnsave(ptr, n); -! p = vim_strsave_shellescape(ptr, TRUE, TRUE); - vim_free(ptr); - if (p == NULL) - { -*** ../vim-7.4.190/src/proto/misc2.pro 2013-08-10 13:37:20.000000000 +0200 ---- src/proto/misc2.pro 2014-02-23 23:19:32.436762138 +0100 -*************** -*** 32,38 **** - char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars)); - char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl)); - int csh_like_shell __ARGS((void)); -! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special)); - char_u *vim_strsave_up __ARGS((char_u *string)); - char_u *vim_strnsave_up __ARGS((char_u *string, int len)); - void vim_strup __ARGS((char_u *p)); ---- 32,38 ---- - char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars)); - char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl)); - int csh_like_shell __ARGS((void)); -! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special, int do_newline)); - char_u *vim_strsave_up __ARGS((char_u *string)); - char_u *vim_strnsave_up __ARGS((char_u *string, int len)); - void vim_strup __ARGS((char_u *p)); -*** ../vim-7.4.190/src/version.c 2014-02-23 22:58:12.072764176 +0100 ---- src/version.c 2014-02-23 23:35:51.044760579 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 191, - /**/ - --- -Windows -M!uqoms - - /// 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 /// diff --git a/7.4.192 b/7.4.192 deleted file mode 100644 index 256d0faf..00000000 --- a/7.4.192 +++ /dev/null @@ -1,44 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.192 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.192 -Problem: Memory leak when giving E853. -Solution: Free the argument. (Dominique Pelle) -Files: src/eval.c - - -*** ../vim-7.4.191/src/eval.c 2014-02-23 23:38:58.824760280 +0100 ---- src/eval.c 2014-02-24 03:27:39.244738435 +0100 -*************** -*** 21457,21462 **** ---- 21457,21463 ---- - if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0) - { - EMSG2(_("E853: Duplicate argument name: %s"), arg); -+ vim_free(arg); - goto erret; - } - -*** ../vim-7.4.191/src/version.c 2014-02-23 23:38:58.828760280 +0100 ---- src/version.c 2014-02-24 03:28:23.068738365 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 192, - /**/ - --- -Seen on the back of a biker's vest: If you can read this, my wife fell off. - - /// 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 /// diff --git a/7.4.193 b/7.4.193 deleted file mode 100644 index f84a9d1c..00000000 --- a/7.4.193 +++ /dev/null @@ -1,106 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.193 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.193 -Problem: Typos in messages. -Solution: "then" -> "than". (Dominique Pelle) -Files: src/if_py_both.h, src/spell.c - - -*** ../vim-7.4.192/src/if_py_both.h 2014-02-15 15:58:55.081904773 +0100 ---- src/if_py_both.h 2014-03-08 16:10:46.015459417 +0100 -*************** -*** 236,242 **** - if (*result <= 0) - { - PyErr_SET_STRING(PyExc_ValueError, -! N_("number must be greater then zero")); - return -1; - } - } ---- 236,242 ---- - if (*result <= 0) - { - PyErr_SET_STRING(PyExc_ValueError, -! N_("number must be greater than zero")); - return -1; - } - } -*************** -*** 2405,2411 **** - if ((item = PyIter_Next(iterator))) - { - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %d " - "to extended slice"), 0); - Py_DECREF(item); - ret = -1; ---- 2405,2411 ---- - if ((item = PyIter_Next(iterator))) - { - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater than %d " - "to extended slice"), 0); - Py_DECREF(item); - ret = -1; -*************** -*** 2510,2516 **** - { - Py_DECREF(iterator); - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater then %d " - "to extended slice"), (int) slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); ---- 2510,2516 ---- - { - Py_DECREF(iterator); - PyErr_FORMAT(PyExc_ValueError, -! N_("attempt to assign sequence of size greater than %d " - "to extended slice"), (int) slicelen); - list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); - PyMem_Free(lis); -*** ../vim-7.4.192/src/spell.c 2014-02-23 22:52:33.372764715 +0100 ---- src/spell.c 2014-03-08 16:10:46.019459417 +0100 -*************** -*** 12037,12043 **** - /* Normal byte, go one level deeper. If it's not equal to the - * byte in the bad word adjust the score. But don't even try - * when the byte was already changed. And don't try when we -! * just deleted this byte, accepting it is always cheaper then - * delete + substitute. */ - if (c == fword[sp->ts_fidx] - #ifdef FEAT_MBYTE ---- 12037,12043 ---- - /* Normal byte, go one level deeper. If it's not equal to the - * byte in the bad word adjust the score. But don't even try - * when the byte was already changed. And don't try when we -! * just deleted this byte, accepting it is always cheaper than - * delete + substitute. */ - if (c == fword[sp->ts_fidx] - #ifdef FEAT_MBYTE -*** ../vim-7.4.192/src/version.c 2014-02-24 03:31:55.816738026 +0100 ---- src/version.c 2014-03-08 16:11:51.591460422 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 193, - /**/ - --- -BEDEVERE: How do you know so much about swallows? -ARTHUR: Well you have to know these things when you're a king, you know. - "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 /// diff --git a/7.4.194 b/7.4.194 deleted file mode 100644 index e73bd139..00000000 --- a/7.4.194 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.194 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.194 -Problem: Can't build for Android. -Solution: Add #if condition. (Fredrik Fornwall) -Files: src/mbyte.c - - -*** ../vim-7.4.193/src/mbyte.c 2014-01-14 13:26:17.000000000 +0100 ---- src/mbyte.c 2014-03-03 22:41:30.527101306 +0100 -*************** -*** 708,714 **** - * API */ - n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1; - #else -! # if defined(MACOS) || defined(__amigaos4__) - /* - * if mblen() is not available, character which MSB is turned on - * are treated as leading byte character. (note : This assumption ---- 708,714 ---- - * API */ - n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1; - #else -! # if defined(MACOS) || defined(__amigaos4__) || defined(__ANDROID__) - /* - * if mblen() is not available, character which MSB is turned on - * are treated as leading byte character. (note : This assumption -*** ../vim-7.4.193/src/version.c 2014-03-08 16:13:39.123462070 +0100 ---- src/version.c 2014-03-12 14:53:45.148684209 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 194, - /**/ - --- -A programmer's wife asks him: "Please run to the store and pick up a loaf of -bread. If they have eggs, get a dozen". The programmer comes home with 12 -loafs of bread. - - /// 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 /// diff --git a/7.4.195 b/7.4.195 deleted file mode 100644 index 0cd888d4..00000000 --- a/7.4.195 +++ /dev/null @@ -1,164 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.195 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.195 (after 7.4.193) -Problem: Python tests fail. -Solution: Change "then" to "than" in more places. (Dominique Pelle, Taro - Muraoka) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - - -*** ../vim-7.4.194/src/testdir/test86.in 2014-02-11 18:47:18.678311042 +0100 ---- src/testdir/test86.in 2014-03-12 15:20:41.512708977 +0100 -*************** -*** 675,681 **** - # Check GCing iterator that was not fully exhausted - i = iter(vim.buffers) - cb.append('i:' + str(next(i))) -! # and also check creating more then one iterator at a time - i2 = iter(vim.buffers) - cb.append('i2:' + str(next(i2))) - cb.append('i:' + str(next(i))) ---- 675,681 ---- - # Check GCing iterator that was not fully exhausted - i = iter(vim.buffers) - cb.append('i:' + str(next(i))) -! # and also check creating more than one iterator at a time - i2 = iter(vim.buffers) - cb.append('i2:' + str(next(i2))) - cb.append('i:' + str(next(i))) -*** ../vim-7.4.194/src/testdir/test86.ok 2014-01-14 16:54:53.000000000 +0100 ---- src/testdir/test86.ok 2014-03-12 15:19:28.080707851 +0100 -*************** -*** 882,892 **** - l[:] = FailingIter():NotImplementedError:('iter',) - l[:] = FailingIterNext():NotImplementedError:('next',) - <<< Finished -! nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',) - ('a', 'b', 'c', 'O') - nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) - ('a', 'b', 'c', 'O') -! nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',) - ('a', 'b', 'c', 'O') - nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) - ('a', 'b', 'c', 'O') ---- 882,892 ---- - l[:] = FailingIter():NotImplementedError:('iter',) - l[:] = FailingIterNext():NotImplementedError:('next',) - <<< Finished -! nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',) - ('a', 'b', 'c', 'O') - nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) - ('a', 'b', 'c', 'O') -! nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',) - ('a', 'b', 'c', 'O') - nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) - ('a', 'b', 'c', 'O') -*************** -*** 1233,1240 **** - >>> Testing NumberToLong using vim.buffers[%s] - vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) - vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) -! vim.buffers[-1]:ValueError:('number must be greater then zero',) -! vim.buffers[0]:ValueError:('number must be greater then zero',) - <<< Finished - > Current - >> CurrentGetattr ---- 1233,1240 ---- - >>> Testing NumberToLong using vim.buffers[%s] - vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) - vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) -! vim.buffers[-1]:ValueError:('number must be greater than zero',) -! vim.buffers[0]:ValueError:('number must be greater than zero',) - <<< Finished - > Current - >> CurrentGetattr -*** ../vim-7.4.194/src/testdir/test87.in 2014-02-11 18:47:18.678311042 +0100 ---- src/testdir/test87.in 2014-03-12 15:21:20.036709567 +0100 -*************** -*** 664,670 **** - # Check GCing iterator that was not fully exhausted - i = iter(vim.buffers) - cb.append('i:' + str(next(i))) -! # and also check creating more then one iterator at a time - i2 = iter(vim.buffers) - cb.append('i2:' + str(next(i2))) - cb.append('i:' + str(next(i))) ---- 664,670 ---- - # Check GCing iterator that was not fully exhausted - i = iter(vim.buffers) - cb.append('i:' + str(next(i))) -! # and also check creating more than one iterator at a time - i2 = iter(vim.buffers) - cb.append('i2:' + str(next(i2))) - cb.append('i:' + str(next(i))) -*** ../vim-7.4.194/src/testdir/test87.ok 2014-01-14 16:54:53.000000000 +0100 ---- src/testdir/test87.ok 2014-03-12 15:19:28.080707851 +0100 -*************** -*** 882,892 **** - l[:] = FailingIter():(, NotImplementedError('iter',)) - l[:] = FailingIterNext():(, NotImplementedError('next',)) - <<< Finished -! nel[1:10:2] = "abcK":(, ValueError('attempt to assign sequence of size greater then 2 to extended slice',)) - (b'a', b'b', b'c', b'O') - nel[1:10:2] = "a":(, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',)) - (b'a', b'b', b'c', b'O') -! nel[1:1:-1] = "a":(, ValueError('attempt to assign sequence of size greater then 0 to extended slice',)) - (b'a', b'b', b'c', b'O') - nel[:] = FailingIterNextN(2):(, NotImplementedError('next N',)) - (b'a', b'b', b'c', b'O') ---- 882,892 ---- - l[:] = FailingIter():(, NotImplementedError('iter',)) - l[:] = FailingIterNext():(, NotImplementedError('next',)) - <<< Finished -! nel[1:10:2] = "abcK":(, ValueError('attempt to assign sequence of size greater than 2 to extended slice',)) - (b'a', b'b', b'c', b'O') - nel[1:10:2] = "a":(, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',)) - (b'a', b'b', b'c', b'O') -! nel[1:1:-1] = "a":(, ValueError('attempt to assign sequence of size greater than 0 to extended slice',)) - (b'a', b'b', b'c', b'O') - nel[:] = FailingIterNextN(2):(, NotImplementedError('next N',)) - (b'a', b'b', b'c', b'O') -*************** -*** 1233,1240 **** - >>> Testing NumberToLong using vim.buffers[%s] - vim.buffers[[]]:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) - vim.buffers[None]:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) -! vim.buffers[-1]:(, ValueError('number must be greater then zero',)) -! vim.buffers[0]:(, ValueError('number must be greater then zero',)) - <<< Finished - > Current - >> CurrentGetattr ---- 1233,1240 ---- - >>> Testing NumberToLong using vim.buffers[%s] - vim.buffers[[]]:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) - vim.buffers[None]:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) -! vim.buffers[-1]:(, ValueError('number must be greater than zero',)) -! vim.buffers[0]:(, ValueError('number must be greater than zero',)) - <<< Finished - > Current - >> CurrentGetattr -*** ../vim-7.4.194/src/version.c 2014-03-12 14:54:29.920684895 +0100 ---- src/version.c 2014-03-12 15:19:20.016707728 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 195, - /**/ - --- -Zen Microsystems: we're the om in .commmmmmmmm - - /// 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 /// diff --git a/7.4.196 b/7.4.196 deleted file mode 100644 index d483b241..00000000 --- a/7.4.196 +++ /dev/null @@ -1,51 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.196 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.196 -Problem: Tests fail on Solaris 9 and 10. -Solution: Use "test -f" instead of "test -e". (Laurent Blume) -Files: src/testdir/Makefile - - -*** ../vim-7.4.195/src/testdir/Makefile 2014-02-23 23:38:58.812760280 +0100 ---- src/testdir/Makefile 2014-03-12 15:46:41.352732878 +0100 -*************** -*** 61,67 **** - test1.out: test1.in - -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize - $(RUN_VIM) $*.in -! @/bin/sh -c "if test -e wrongtermsize; \ - then echo; \ - echo test1 FAILED - terminal size must be 80x24 or larger; \ - echo; exit 1; \ ---- 61,67 ---- - test1.out: test1.in - -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize - $(RUN_VIM) $*.in -! @/bin/sh -c "if test -f wrongtermsize; \ - then echo; \ - echo test1 FAILED - terminal size must be 80x24 or larger; \ - echo; exit 1; \ -*** ../vim-7.4.195/src/version.c 2014-03-12 15:26:36.432714415 +0100 ---- src/version.c 2014-03-12 15:48:09.700734232 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 196, - /**/ - --- -My Go, this amn keyboar oesn't have a . - - /// 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 /// diff --git a/7.4.197 b/7.4.197 deleted file mode 100644 index 80783eb4..00000000 --- a/7.4.197 +++ /dev/null @@ -1,1052 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.197 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.197 -Problem: Various problems on VMS. -Solution: Fix several VMS problems. (Zoltan Arpadffy) -Files: runtime/doc/os_vms.txt, src/Make_vms.mms, src/fileio.c, - src/os_unix.c, src/os_unix.h, src/os_vms.c, src/os_vms_conf.h, - src/proto/os_vms.pro, src/testdir/Make_vms.mms, - src/testdir/test72.in, src/testdir/test77a.com, - src/testdir/test77a.in, src/testdir/test77a.ok src/undo.c - - -*** ../vim-7.4.196/runtime/doc/os_vms.txt 2013-08-10 13:24:59.000000000 +0200 ---- runtime/doc/os_vms.txt 2014-03-12 15:55:50.196741288 +0100 -*************** -*** 1,4 **** -! *os_vms.txt* For Vim version 7.4. Last change: 2011 Aug 14 - - - VIM REFERENCE MANUAL ---- 1,4 ---- -! *os_vms.txt* For Vim version 7.4. Last change: 2014 Feb 24 - - - VIM REFERENCE MANUAL -*************** -*** 24,30 **** - - 1. Getting started *vms-started* - -! Vim (Vi IMproved) is a vi-compatible text editor that runs on nearly every - operating system known to humanity. Now use Vim on OpenVMS too, in character - or X/Motif environment. It is fully featured and absolutely compatible with - Vim on other operating systems. ---- 24,30 ---- - - 1. Getting started *vms-started* - -! Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every - operating system known to humanity. Now use Vim on OpenVMS too, in character - or X/Motif environment. It is fully featured and absolutely compatible with - Vim on other operating systems. -*************** -*** 764,769 **** ---- 764,785 ---- - - 9. VMS related changes *vms-changes* - -+ Version 7.4 -+ - Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name" -+ add _un_ at the beginning to keep the extension -+ - correct swap file name wildcard handling -+ - handle iconv usage correctly -+ - do not optimize on vax - otherwise it hangs compiling crypto files -+ - fileio.c fix the comment -+ - correct RealWaitForChar -+ - after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have -+ G_FLOAT but IA64 uses IEEE float otherwise Vim crashes -+ - guard agains crashes that are caused by mixed filenames -+ - [TESTDIR]make_vms.mms changed to see the output files -+ - Improve tests, update known issues -+ - minor compiler warnings fixed -+ - CTAGS 5.8 +regex included -+ - Version 7.3 - - CTAGS 5.8 included - - VMS compile warnings fixed - floating-point overflow warning corrected on VAX -*** ../vim-7.4.196/src/Make_vms.mms 2013-05-06 04:06:04.000000000 +0200 ---- src/Make_vms.mms 2014-03-12 15:55:50.196741288 +0100 -*************** -*** 2,8 **** - # Makefile for Vim on OpenVMS - # - # Maintainer: Zoltan Arpadffy -! # Last change: 2008 Aug 16 - # - # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64 - # with MMS and MMK ---- 2,8 ---- - # Makefile for Vim on OpenVMS - # - # Maintainer: Zoltan Arpadffy -! # Last change: 2014 Feb 24 - # - # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64 - # with MMS and MMK -*************** -*** 21,29 **** - ###################################################################### - # Configuration section. - ###################################################################### -- # VMS version -- # Uncomment if you use VMS version 6.2 or older -- # OLD_VMS = YES - - # Compiler selection. - # Comment out if you use the VAXC compiler ---- 21,26 ---- -*************** -*** 60,66 **** - - # Uncomment if want a debug version. Resulting executable is DVIM.EXE - # Development purpose only! Normally, it should not be defined. !!! -! # DEBUG = YES - - # Languages support for Perl, Python, TCL etc. - # If you don't need it really, leave them behind the comment. ---- 57,63 ---- - - # Uncomment if want a debug version. Resulting executable is DVIM.EXE - # Development purpose only! Normally, it should not be defined. !!! -! # DEBUG = YES - - # Languages support for Perl, Python, TCL etc. - # If you don't need it really, leave them behind the comment. -*************** -*** 87,92 **** ---- 84,92 ---- - # Allow FEATURE_MZSCHEME - # VIM_MZSCHEME = YES - -+ # Use ICONV -+ # VIM_ICONV = YES -+ - ###################################################################### - # Directory, library and include files configuration section. - # Normally you need not to change anything below. ! -*************** -*** 99,123 **** - - .IFDEF MMSVAX - .IFDEF DECC # VAX with DECC -! CC_DEF = cc # /decc # some system requires this switch but when it is not required /ver might fail - PREFIX = /prefix=all - .ELSE # VAX with VAXC - CC_DEF = cc - PREFIX = - CCVER = - .ENDIF -! .ELSE # AXP wixh DECC - CC_DEF = cc - PREFIX = /prefix=all - .ENDIF - - LD_DEF = link - C_INC = [.proto] - -- .IFDEF OLD_VMS -- VMS_DEF = ,"OLD_VMS" -- .ENDIF -- - .IFDEF DEBUG - DEBUG_DEF = ,"DEBUG" - TARGET = dvim.exe ---- 99,123 ---- - - .IFDEF MMSVAX - .IFDEF DECC # VAX with DECC -! CC_DEF = cc # /decc # some versions require /decc switch but when it is not required /ver might fail - PREFIX = /prefix=all -+ OPTIMIZE= /noopt # do not optimize on VAX. The compiler has hard time with crypto functions - .ELSE # VAX with VAXC - CC_DEF = cc - PREFIX = -+ OPTIMIZE= /noopt - CCVER = - .ENDIF -! .ELSE # AXP and IA64 with DECC - CC_DEF = cc - PREFIX = /prefix=all -+ OPTIMIZE= /opt - .ENDIF - -+ - LD_DEF = link - C_INC = [.proto] - - .IFDEF DEBUG - DEBUG_DEF = ,"DEBUG" - TARGET = dvim.exe -*************** -*** 125,131 **** - LDFLAGS = /debug - .ELSE - TARGET = vim.exe -! CFLAGS = /opt$(PREFIX) - LDFLAGS = - .ENDIF - ---- 125,131 ---- - LDFLAGS = /debug - .ELSE - TARGET = vim.exe -! CFLAGS = $(OPTIMIZE)$(PREFIX) - LDFLAGS = - .ENDIF - -*************** -*** 274,279 **** ---- 274,284 ---- - MZSCH_OBJ = if_mzsch.obj - .ENDIF - -+ .IFDEF VIM_ICONV -+ # ICONV related setup -+ ICONV_DEF = ,"USE_ICONV" -+ .ENDIF -+ - ###################################################################### - # End of configuration section. - # Please, do not change anything below without programming experience. -*************** -*** 287,294 **** - - .SUFFIXES : .obj .c - -! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - -! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) - - $(CFLAGS)$(GUI_FLAG) - - /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) - ---- 292,299 ---- - - .SUFFIXES : .obj .c - -! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - -! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) - - $(CFLAGS)$(GUI_FLAG) - - /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) - -*************** -*** 296,303 **** - # It is specially formated for correct display of unix like includes - # as $(GUI_INC) - replaced with $(GUI_INC_VER) - # Otherwise should not be any other difference. -! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - -! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) - - $(CFLAGS)$(GUI_FLAG) - - /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) - ---- 301,308 ---- - # It is specially formated for correct display of unix like includes - # as $(GUI_INC) - replaced with $(GUI_INC_VER) - # Otherwise should not be any other difference. -! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - -! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) - - $(CFLAGS)$(GUI_FLAG) - - /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) - -*** ../vim-7.4.196/src/fileio.c 2014-02-23 22:58:12.072764176 +0100 ---- src/fileio.c 2014-03-12 15:55:50.200741288 +0100 -*************** -*** 7559,7565 **** - p = (char_u *)tempnam("tmp:", (char *)itmp); - if (p != NULL) - { -! /* VMS will use '.LOG' if we don't explicitly specify an extension, - * and VIM will then be unable to find the file later */ - STRCPY(itmp, p); - STRCAT(itmp, ".txt"); ---- 7559,7565 ---- - p = (char_u *)tempnam("tmp:", (char *)itmp); - if (p != NULL) - { -! /* VMS will use '.LIS' if we don't explicitly specify an extension, - * and VIM will then be unable to find the file later */ - STRCPY(itmp, p); - STRCAT(itmp, ".txt"); -*** ../vim-7.4.196/src/os_unix.c 2013-12-11 17:12:32.000000000 +0100 ---- src/os_unix.c 2014-03-12 16:25:11.144768271 +0100 -*************** -*** 2965,2971 **** ---- 2965,2990 ---- - - if (stat((char *)name, &st)) - return 0; -+ #ifdef VMS -+ /* Like on Unix system file can have executable rights but not necessarily -+ * be an executable, but on Unix is not a default for an ordianry file to -+ * have an executable flag - on VMS it is in most cases. -+ * Therefore, this check does not have any sense - let keep us to the -+ * conventions instead: -+ * *.COM and *.EXE files are the executables - the rest are not. This is -+ * not ideal but better then it was. -+ */ -+ int vms_executable = 0; -+ if (S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0) -+ { -+ if (strstr(vms_tolower((char*)name),".exe") != NULL -+ || strstr(vms_tolower((char*)name),".com")!= NULL) -+ vms_executable = 1; -+ } -+ return vms_executable; -+ #else - return S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0; -+ #endif - } - - /* -*************** -*** 2983,2989 **** ---- 3002,3010 ---- - /* If it's an absolute or relative path don't need to use $PATH. */ - if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/' - || (name[1] == '.' && name[2] == '/')))) -+ { - return executable_file(name); -+ } - - p = (char_u *)getenv("PATH"); - if (p == NULL || *p == NUL) -*** ../vim-7.4.196/src/os_unix.h 2013-12-11 17:12:32.000000000 +0100 ---- src/os_unix.h 2014-03-12 15:55:50.204741288 +0100 -*************** -*** 302,308 **** - # define USR_VIMRC_FILE2 "$HOME/vimfiles/vimrc" - # else - # ifdef VMS -! # define USR_VIMRC_FILE2 "sys$login:vimfiles:vimrc" - # else - # define USR_VIMRC_FILE2 "~/.vim/vimrc" - # endif ---- 302,308 ---- - # define USR_VIMRC_FILE2 "$HOME/vimfiles/vimrc" - # else - # ifdef VMS -! # define USR_VIMRC_FILE2 "sys$login:vimfiles/vimrc" - # else - # define USR_VIMRC_FILE2 "~/.vim/vimrc" - # endif -*************** -*** 329,335 **** - # define USR_GVIMRC_FILE2 "$HOME/vimfiles/gvimrc" - # else - # ifdef VMS -! # define USR_GVIMRC_FILE2 "sys$login:vimfiles:gvimrc" - # else - # define USR_GVIMRC_FILE2 "~/.vim/gvimrc" - # endif ---- 329,335 ---- - # define USR_GVIMRC_FILE2 "$HOME/vimfiles/gvimrc" - # else - # ifdef VMS -! # define USR_GVIMRC_FILE2 "sys$login:vimfiles/gvimrc" - # else - # define USR_GVIMRC_FILE2 "~/.vim/gvimrc" - # endif -*** ../vim-7.4.196/src/os_vms.c 2013-12-11 17:12:32.000000000 +0100 ---- src/os_vms.c 2014-03-12 16:26:17.544769288 +0100 -*************** -*** 296,301 **** ---- 296,313 ---- - } - - /* -+ * Convert string to lowercase - most often filename -+ */ -+ char * -+ vms_tolower( char *name ) -+ { -+ int i,nlen = strlen(name); -+ for (i = 0; i < nlen; i++) -+ name[i] = TOLOWER_ASC(name[i]); -+ return name; -+ } -+ -+ /* - * Convert VMS system() or lib$spawn() return code to Unix-like exit value. - */ - int -*************** -*** 361,373 **** - vms_wproc(char *name, int val) - { - int i; -- int nlen; - static int vms_match_alloced = 0; - -! if (val != DECC$K_FILE) /* Directories and foreign non VMS files are not -! counting */ - return 1; - - if (vms_match_num == 0) { - /* first time through, setup some things */ - if (NULL == vms_fmatch) { ---- 373,384 ---- - vms_wproc(char *name, int val) - { - int i; - static int vms_match_alloced = 0; - -! if (val == DECC$K_FOREIGN ) /* foreign non VMS files are not counting */ - return 1; - -+ /* accept all DECC$K_FILE and DECC$K_DIRECTORY */ - if (vms_match_num == 0) { - /* first time through, setup some things */ - if (NULL == vms_fmatch) { -*************** -*** 383,394 **** - } - } - - vms_remove_version(name); -! -! /* convert filename to lowercase */ -! nlen = strlen(name); -! for (i = 0; i < nlen; i++) -! name[i] = TOLOWER_ASC(name[i]); - - /* if name already exists, don't add it */ - for (i = 0; i 0) - cnt = vms_match_num; - ---- 458,470 ---- - STRCPY(buf,pat[i]); - - vms_match_num = 0; /* reset collection counter */ -! result = decc$translate_vms(vms_fixfilename(buf)); -! if ( (int) result == 0 || (int) result == -1 ) { -! cnt = 0; -! } -! else { -! cnt = decc$to_vms(result, vms_wproc, 1 /*allow wild*/ , (flags & EW_DIR ? 0:1 ) /*allow directory*/) ; -! } - if (cnt > 0) - cnt = vms_match_num; - -*************** -*** 497,506 **** - mch_expandpath(garray_T *gap, char_u *path, int flags) - { - int i,cnt = 0; -! vms_match_num = 0; - -! cnt = decc$to_vms(decc$translate_vms(vms_fixfilename(path)), vms_wproc, 1, 0); -! /* allow wild, no dir */ - if (cnt > 0) - cnt = vms_match_num; - for (i = 0; i < cnt; i++) ---- 511,528 ---- - mch_expandpath(garray_T *gap, char_u *path, int flags) - { - int i,cnt = 0; -! char *result; - -! vms_match_num = 0; -! /* the result from the decc$translate_vms needs to be handled */ -! /* otherwise it might create ACCVIO error in decc$to_vms */ -! result = decc$translate_vms(vms_fixfilename(path)); -! if ( (int) result == 0 || (int) result == -1 ) { -! cnt = 0; -! } -! else { -! cnt = decc$to_vms(result, vms_wproc, 1 /*allow_wild*/, (flags & EW_DIR ? 0:1 ) /*allow directory*/); -! } - if (cnt > 0) - cnt = vms_match_num; - for (i = 0; i < cnt; i++) -*************** -*** 521,526 **** ---- 543,549 ---- - char *end_of_dir; - char ch; - int len; -+ char *out_str=out; - - /* copy vms filename portion up to last colon - * (node and/or disk) -*************** -*** 602,608 **** - *end_of_dir = ']'; - } - -- - /* - * for decc$to_vms in vms_fixfilename - */ ---- 625,630 ---- -*************** -*** 710,735 **** - struct _generic_64 time_diff; - struct _generic_64 time_out; - unsigned int convert_operation = LIB$K_DELTA_SECONDS_F; -! float sec = (float) msec / 1000; - - /* make sure the iochan is set */ - if (!iochan) - get_tty(); - -! if (msec > 0) { - /* time-out specified; convert it to absolute time */ - - /* get current time (number of 100ns ticks since the VMS Epoch) */ - status = sys$gettim(&time_curr); - if (status != SS$_NORMAL) - return 0; /* error */ -- - /* construct the delta time */ -! status = lib$cvtf_to_internal_time( - &convert_operation, &sec, &time_diff); - if (status != LIB$_NORMAL) - return 0; /* error */ -- - /* add them up */ - status = lib$add_times( - &time_curr, ---- 732,764 ---- - struct _generic_64 time_diff; - struct _generic_64 time_out; - unsigned int convert_operation = LIB$K_DELTA_SECONDS_F; -! float sec =(float) msec/1000; - - /* make sure the iochan is set */ - if (!iochan) - get_tty(); - -! if (sec > 0) { - /* time-out specified; convert it to absolute time */ -+ /* sec>0 requirement of lib$cvtf_to_internal_time()*/ - - /* get current time (number of 100ns ticks since the VMS Epoch) */ - status = sys$gettim(&time_curr); - if (status != SS$_NORMAL) - return 0; /* error */ - /* construct the delta time */ -! #if __G_FLOAT==0 -! # ifndef VAX -! /* IEEE is default on IA64, but can be used on Alpha too - but not on VAX */ -! status = lib$cvts_to_internal_time( - &convert_operation, &sec, &time_diff); -+ # endif -+ #else /* default on Alpha and VAX */ -+ status = lib$cvtf_to_internal_time( -+ &convert_operation, &sec, &time_diff); -+ #endif - if (status != LIB$_NORMAL) - return 0; /* error */ - /* add them up */ - status = lib$add_times( - &time_curr, -*** ../vim-7.4.196/src/os_vms_conf.h 2014-02-23 22:52:33.372764715 +0100 ---- src/os_vms_conf.h 2014-03-12 15:55:50.204741288 +0100 -*************** -*** 166,173 **** - #undef HAVE_SYS_TIME_H - #undef HAVE_LOCALE_H - #define BROKEN_LOCALE -- #undef HAVE_ICONV_H -- #undef HAVE_ICONV - #undef DYNAMIC_ICONV - #undef HAVE_STRFTIME - #else ---- 166,171 ---- -*************** -*** 177,188 **** - #define HAVE_SYS_TIME_H - #define HAVE_LOCALE_H - #define BROKEN_LOCALE -- #undef HAVE_ICONV_H -- #undef HAVE_ICONV - #undef DYNAMIC_ICONV - #define HAVE_STRFTIME - #endif - - /* GUI support defines */ - #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) - #define HAVE_X11 ---- 175,192 ---- - #define HAVE_SYS_TIME_H - #define HAVE_LOCALE_H - #define BROKEN_LOCALE - #undef DYNAMIC_ICONV - #define HAVE_STRFTIME - #endif - -+ #if defined(USE_ICONV) -+ #define HAVE_ICONV_H -+ #define HAVE_ICONV -+ #else -+ #undef HAVE_ICONV_H -+ #undef HAVE_ICONV -+ #endif -+ - /* GUI support defines */ - #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) - #define HAVE_X11 -*** ../vim-7.4.196/src/proto/os_vms.pro 2013-08-10 13:37:40.000000000 +0200 ---- src/proto/os_vms.pro 2014-03-12 15:55:50.204741288 +0100 -*************** -*** 7,12 **** ---- 7,13 ---- - int vms_sys __ARGS((char *cmd, char *out, char *inp)); - int vms_sys_status __ARGS((int status)); - int vms_read __ARGS((char *inbuf, size_t nbytes)); -+ char *vms_tolower __ARGS((char *name)); - int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags)); - int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags)); - void *vms_fixfilename __ARGS((void *instring)); -*** ../vim-7.4.196/src/testdir/Make_vms.mms 2014-02-23 23:38:58.812760280 +0100 ---- src/testdir/Make_vms.mms 2014-03-12 16:06:22.888750982 +0100 -*************** -*** 4,10 **** - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2014 Feb 23 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. ---- 4,10 ---- - # Authors: Zoltan Arpadffy, - # Sandor Kopanyi, - # -! # Last change: 2014 Mar 12 - # - # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. - # Edit the lines in the Configuration section below to select. -*************** -*** 41,56 **** - # They fail because VMS does not support file names. - # WANT_SPELL = YES - -! # Comment out if you want to run mzschema tests. - # It fails because VMS does not support this feature yet. - # WANT_MZSCH = YES - - # Comment out if you have gzip on your system - # HAVE_GZIP = YES - - # Comment out if you have GNU compatible diff on your system - # HAVE_GDIFF = YES - - ####################################################################### - # End of configuration section. - # ---- 41,71 ---- - # They fail because VMS does not support file names. - # WANT_SPELL = YES - -! # Comment out if you want to run mzschema tests. - # It fails because VMS does not support this feature yet. - # WANT_MZSCH = YES - -+ # Comment out if you have ODS-5 file system -+ # HAVE_ODS5 = YES -+ - # Comment out if you have gzip on your system - # HAVE_GZIP = YES - - # Comment out if you have GNU compatible diff on your system - # HAVE_GDIFF = YES - -+ # Comment out if you have GNU compatible cksum on your system -+ # HAVE_CKSUM = YES -+ -+ # Comment out if you have ICONV support -+ # HAVE_ICONV = YES -+ -+ # Comment out if you have LUA support -+ # HAVE_LUA = YES -+ -+ # Comment out if you have PYTHON support -+ # HAVE_PYTHON = YES -+ - ####################################################################### - # End of configuration section. - # -*************** -*** 63,99 **** - - SCRIPT = test1.out test2.out test3.out test4.out test5.out \ - test6.out test7.out test8.out test9.out test10a.out\ -! test13.out test14.out test15.out test17.out \ - test18.out test19.out test20.out test21.out test22.out \ - test23.out test24.out test26.out \ - test28.out test29.out test30.out test31.out test32.out \ - test33.out test34.out test35.out test36.out test37.out \ - test38.out test39.out test40.out test41.out test42.out \ - test43.out test44.out test45.out test46.out \ -! test48.out test51.out test53.out test54.out test55.out \ -! test56.out test57.out test60.out \ - test61.out test62.out test63.out test64.out test65.out \ - test66.out test67.out test68.out test69.out \ - test71.out test72.out test74.out test75.out test76.out \ -! test77.out test78.out test79.out test80.out test81.out \ -! test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ -! test95.out test96.out test97.out test98.out test99.out \ -! test100.out test101.out test102.out test103.out test104.out \ - test105.out - - # Known problems: -! # Test 30: a problem around mac format - unknown reason - # -! # Test 32: VMS is not case sensitive and all filenames are lowercase within Vim - # (this should be changed in order to preserve the original filename) - should - # be fixed. VMS allows just one dot in the filename - # -! # Test 58 and 59: Failed/Hangs - VMS does not support spell files (file names - # with too many dots). - # -! # Test 72: unknown reason -! # Test 85: no Lua interface - - .IFDEF WANT_GUI - SCRIPT_GUI = test16.out ---- 78,121 ---- - - SCRIPT = test1.out test2.out test3.out test4.out test5.out \ - test6.out test7.out test8.out test9.out test10a.out\ -! test13.out test14.out test15.out \ - test18.out test19.out test20.out test21.out test22.out \ - test23.out test24.out test26.out \ - test28.out test29.out test30.out test31.out test32.out \ - test33.out test34.out test35.out test36.out test37.out \ - test38.out test39.out test40.out test41.out test42.out \ - test43.out test44.out test45.out test46.out \ -! test48.out test49.out test51.out test53.out test54.out \ -! test55.out test56.out test57.out test60.out \ - test61.out test62.out test63.out test64.out test65.out \ - test66.out test67.out test68.out test69.out \ - test71.out test72.out test74.out test75.out test76.out \ -! test77a.out test78.out test79.out test80.out test81.out \ -! test82.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ -! test95.out test96.out test98.out test99.out \ -! test100.out test101.out test103.out test104.out \ - test105.out - - # Known problems: -! # test17: ? -! # -! # test30: bug, most probably - a problem around mac format - # -! # test32: VMS is not case sensitive and all filenames are lowercase within Vim - # (this should be changed in order to preserve the original filename) - should - # be fixed. VMS allows just one dot in the filename - # -! # test58, test59: Failed/Hangs - VMS does not support spell files (file names - # with too many dots). - # -! # test72: bug - Vim hangs at :rename (while rename works well otherwise) -! # test78: bug - Vim dies at :recover Xtest -! # test83: ? -! # test85: no Lua interface -! # test89: bug - findfile() does not work on VMS (just in the current directory) -! # test97, test102: Just ODS-5 supports space and special chars in the filename. -! # On ODS-2 tests fail. - - .IFDEF WANT_GUI - SCRIPT_GUI = test16.out -*************** -*** 101,107 **** - .ENDIF - - .IFDEF WANT_UNIX -! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test49.out test73.out - .ENDIF - - .IFDEF WANT_WIN ---- 123,129 ---- - .ENDIF - - .IFDEF WANT_UNIX -! SCRIPT_UNIX = test10.out test12.out test17.out test25.out test27.out test49.out test73.out - .ENDIF - - .IFDEF WANT_WIN -*************** -*** 116,121 **** ---- 138,147 ---- - SCRIPT_MZSCH = test70.out - .ENDIF - -+ .IFDEF HAVE_ODS5 -+ SCRIPT_ODS5 = test97.out test102.out -+ .ENDIF -+ - .IFDEF HAVE_GZIP - SCRIPT_GZIP = test11.out - .ENDIF -*************** -*** 124,133 **** ---- 150,177 ---- - SCRIPT_GDIFF = test47.out - .ENDIF - -+ .IFDEF HAVE_CKSUM -+ SCRIPT_CKSUM = test77.out -+ .ENDIF -+ -+ .IFDEF HAVE_ICONV -+ SCRIPT_ICONV = test83.out -+ .ENDIF -+ -+ .IFDEF HAVE_LUA -+ SCRIPT_LUA = test85.out -+ .ENDIF -+ -+ .IFDEF HAVE_PYTHON -+ SCRIPT_PYTHON = test86.out test87.out -+ .ENDIF -+ - .in.out : - -@ !clean up before doing the test - -@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.* - -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then delete/noconfirm/nolog $*.out.* -+ -@ ! define TMP if not set - some tests use it -+ -@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP [] - -@ write sys$output " " - -@ write sys$output "-----------------------------------------------" - -@ write sys$output " "$*" " -*************** -*** 140,148 **** - -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok; - -@ !clean up after the test - -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.* - -! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) \ -! $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) nolog - -@ write sys$output " " - -@ write sys$output "-----------------------------------------------" - -@ write sys$output " All done" ---- 184,193 ---- - -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok; - -@ !clean up after the test - -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.* -+ -@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.* - -! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \ -! $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog - -@ write sys$output " " - -@ write sys$output "-----------------------------------------------" - -@ write sys$output " All done" -*************** -*** 165,177 **** - -@ write sys$output " Test results:" - -@ write sys$output "-----------------------------------------------" - -@ write sys$output "MAKE_VMS.MMS options:" -! -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" " -! -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" " -! -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" " -! -@ write sys$output " WANT_SPELL= ""$(WANT_SPELL)"" " -! -@ write sys$output " WANT_MZSCH= ""$(WANT_MZSCH)"" " -! -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" " -! -@ write sys$output " HAVE_GDIFF= ""$(HAVE_GDIFF)"" " - -@ write sys$output "Default vimrc file is VMS.VIM:" - -@ write sys$output "-----------------------------------------------" - -@ type VMS.VIM ---- 210,227 ---- - -@ write sys$output " Test results:" - -@ write sys$output "-----------------------------------------------" - -@ write sys$output "MAKE_VMS.MMS options:" -! -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" " -! -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" " -! -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" " -! -@ write sys$output " WANT_SPELL = ""$(WANT_SPELL)"" " -! -@ write sys$output " WANT_MZSCH = ""$(WANT_MZSCH)"" " -! -@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" " -! -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" " -! -@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" " -! -@ write sys$output " HAVE_CKSUM = ""$(HAVE_CKSUM)"" " -! -@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" " -! -@ write sys$output " HAVE_LUA = ""$(HAVE_LUA)"" " -! -@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" " - -@ write sys$output "Default vimrc file is VMS.VIM:" - -@ write sys$output "-----------------------------------------------" - -@ type VMS.VIM -*************** -*** 181,186 **** ---- 231,239 ---- - -@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.* - -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.* - -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.* -+ -@ if "''F$SEARCH("Xtest*.*")'" .NES. "" then delete/noconfirm/nolog Xtest*.*.* -+ -@ if "''F$SEARCH("XX*.*")'" .NES. "" then delete/noconfirm/nolog XX*.*.* -+ -@ if "''F$SEARCH("_un_*.*")'" .NES. "" then delete/noconfirm/nolog _un_*.*.* - -@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.* - -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.* - -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.* -*************** -*** 188,193 **** - -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.* - -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.* - -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.* -! -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.* - -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.* - ---- 241,246 ---- - -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.* - -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.* - -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.* -! -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.* - -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.* - -*** ../vim-7.4.196/src/testdir/test72.in 2012-01-04 19:04:17.000000000 +0100 ---- src/testdir/test72.in 2014-03-12 15:55:50.204741288 +0100 -*************** -*** 105,111 **** - u:.w >>test.out - :" - :" Rename the undo file so that it gets cleaned up. -! :call rename(".Xtestfile.un~", "Xtestundo") - :qa! - ENDTEST - ---- 105,115 ---- - u:.w >>test.out - :" - :" Rename the undo file so that it gets cleaned up. -! :if has("vms") -! : call rename("_un_Xtestfile", "Xtestundo") -! :else -! : call rename(".Xtestfile.un~", "Xtestundo") -! :endif - :qa! - ENDTEST - -*** ../vim-7.4.196/src/testdir/test77a.com 2014-03-12 16:49:10.740790329 +0100 ---- src/testdir/test77a.com 2014-03-12 16:40:04.316781957 +0100 -*************** -*** 0 **** ---- 1,8 ---- -+ $! test77a - help file creating checksum on VMS -+ $! Created by Zoltan Arpadffy -+ $ -+ $ IF P1 .NES. "" -+ $ THEN -+ $ checksum 'P1' -+ $ show symb CHECKSUM$CHECKSUM -+ $ ENDIF -*** ../vim-7.4.196/src/testdir/test77a.in 2014-03-12 16:49:10.748790329 +0100 ---- src/testdir/test77a.in 2014-03-12 15:55:50.204741288 +0100 -*************** -*** 0 **** ---- 1,31 ---- -+ Inserts 2 million lines with consecutive integers starting from 1 -+ (essentially, the output of GNU's seq 1 2000000), writes them to Xtest -+ and writes its cksum to test.out. -+ -+ We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess -+ up the lines the checksum would differ. -+ -+ cksum is part of POSIX and so should be available on most Unixes. -+ If it isn't available then the test will be skipped. -+ -+ VMS does not have CKSUM but has a built in CHECKSUM - it should be used -+ STARTTEST -+ :so small.vim -+ :if !has("vms") -+ : e! test.ok -+ : w! test.out -+ : qa! -+ :endif -+ :set fileformat=unix undolevels=-1 -+ ggdG -+ :let i = 1 -+ :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile -+ ggdd -+ :w! Xtest. -+ :r !@test77a.com Xtest. -+ :s/\s/ /g -+ :set fileformat& -+ :.w! test.out -+ :qa! -+ ENDTEST -+ -*** ../vim-7.4.196/src/testdir/test77a.ok 2014-03-12 16:49:10.756790330 +0100 ---- src/testdir/test77a.ok 2014-03-12 15:55:50.204741288 +0100 -*************** -*** 0 **** ---- 1 ---- -+ CHECKSUM$CHECKSUM = "844110470" -*** ../vim-7.4.196/src/undo.c 2014-01-23 18:12:44.695676751 +0100 ---- src/undo.c 2014-03-12 16:31:52.432774419 +0100 -*************** -*** 790,798 **** ---- 790,809 ---- - if (undo_file_name == NULL) - break; - p = gettail(undo_file_name); -+ #ifdef VMS -+ /* VMS can not handle more than one dot in the filenames -+ * use "dir/name" -> "dir/_un_name" - add _un_ -+ * at the beginning to keep the extension */ -+ mch_memmove(p + 4, p, STRLEN(p) + 1); -+ mch_memmove(p, "_un_", 4); -+ -+ #else -+ /* Use same directory as the ffname, -+ * "dir/name" -> "dir/.name.un~" */ - mch_memmove(p + 1, p, STRLEN(p) + 1); - *p = '.'; - STRCAT(p, ".un~"); -+ #endif - } - else - { -*** ../vim-7.4.196/src/version.c 2014-03-12 15:50:18.472736205 +0100 ---- src/version.c 2014-03-12 15:54:26.712740008 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 197, - /**/ - --- -Violators can be fined, arrested or jailed for making ugly faces at a dog. - [real standing law in Oklahoma, 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 /// diff --git a/7.4.198 b/7.4.198 deleted file mode 100644 index f204c2e0..00000000 --- a/7.4.198 +++ /dev/null @@ -1,103 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.198 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.198 -Problem: Can't build Vim with Perl when -Dusethreads is not specified for - building Perl, and building Vim with --enable-perlinterp=dynamic. -Solution: Adjust #ifdefs. (Yasuhiro Matsumoto) -Files: src/if_perl.xs - - -*** ../vim-7.4.197/src/if_perl.xs 2013-12-14 11:50:28.000000000 +0100 ---- src/if_perl.xs 2014-03-12 17:05:07.832804995 +0100 -*************** -*** 138,143 **** ---- 138,145 ---- - #endif - typedef int XSINIT_t; - typedef int XSUBADDR_t; -+ #endif -+ #ifndef USE_ITHREADS - typedef int perl_key; - #endif - -*************** -*** 264,270 **** - # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr - # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr - # if (PERL_REVISION == 5) && (PERL_VERSION >= 14) -! # define PL_thr_key *dll_PL_thr_key - # endif - - /* ---- 266,274 ---- - # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr - # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr - # if (PERL_REVISION == 5) && (PERL_VERSION >= 14) -! # ifdef USE_ITHREADS -! # define PL_thr_key *dll_PL_thr_key -! # endif - # endif - - /* -*************** -*** 386,392 **** ---- 390,398 ---- - #endif - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) -+ # ifdef USE_ITHREADS - static perl_key* dll_PL_thr_key; -+ # endif - #else - static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*); - static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*); -*************** -*** 413,419 **** ---- 419,427 ---- - #ifdef PERL5101_OR_LATER - {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, - #endif -+ #ifdef PERL_IMPLICIT_CONTEXT - {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, -+ #endif - {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, - {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, - {"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv}, -*************** -*** 505,511 **** ---- 513,521 ---- - # endif - #endif - #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) -+ # ifdef USE_ITHREADS - {"PL_thr_key", (PERL_PROC*)&dll_PL_thr_key}, -+ # endif - #else - {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr}, - {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr}, -*** ../vim-7.4.197/src/version.c 2014-03-12 16:51:35.060792541 +0100 ---- src/version.c 2014-03-12 17:06:27.660806218 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 198, - /**/ - --- -Dogs must have a permit signed by the mayor in order to congregate in groups -of three or more on private property. - [real standing law in Oklahoma, 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 /// diff --git a/7.4.199 b/7.4.199 deleted file mode 100644 index d421df0a..00000000 --- a/7.4.199 +++ /dev/null @@ -1,106 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.199 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.199 -Problem: (issue 197) ]P doesn't paste over Visual selection. -Solution: Handle Visual mode specifically. (Christian Brabandt) -Files: src/normal.c - - -*** ../vim-7.4.198/src/normal.c 2014-02-23 23:38:58.824760280 +0100 ---- src/normal.c 2014-03-12 17:33:28.184831049 +0100 -*************** -*** 6751,6760 **** - { - if (!checkclearop(cap->oap)) - { - prep_redo_cmd(cap); -! do_put(cap->oap->regname, -! (cap->cmdchar == ']' && cap->nchar == 'p') ? FORWARD : BACKWARD, -! cap->count1, PUT_FIXINDENT); - } - } - ---- 6751,6808 ---- - { - if (!checkclearop(cap->oap)) - { -+ int dir = (cap->cmdchar == ']' && cap->nchar == 'p') -+ ? FORWARD : BACKWARD; -+ int regname = cap->oap->regname; -+ #ifdef FEAT_VISUAL -+ int was_visual = VIsual_active; -+ int line_count = curbuf->b_ml.ml_line_count; -+ pos_T start, end; -+ -+ if (VIsual_active) -+ { -+ start = ltoreq(VIsual, curwin->w_cursor) -+ ? VIsual : curwin->w_cursor; -+ end = equalpos(start,VIsual) ? curwin->w_cursor : VIsual; -+ curwin->w_cursor = (dir == BACKWARD ? start : end); -+ } -+ #endif -+ # ifdef FEAT_CLIPBOARD -+ adjust_clip_reg(®name); -+ # endif - prep_redo_cmd(cap); -! -! do_put(regname, dir, cap->count1, PUT_FIXINDENT); -! #ifdef FEAT_VISUAL -! if (was_visual) -! { -! VIsual = start; -! curwin->w_cursor = end; -! if (dir == BACKWARD) -! { -! /* adjust lines */ -! VIsual.lnum += curbuf->b_ml.ml_line_count - line_count; -! curwin->w_cursor.lnum += -! curbuf->b_ml.ml_line_count - line_count; -! } -! -! VIsual_active = TRUE; -! if (VIsual_mode == 'V') -! { -! /* delete visually selected lines */ -! cap->cmdchar = 'd'; -! cap->nchar = NUL; -! cap->oap->regname = regname; -! nv_operator(cap); -! do_pending_operator(cap, 0, FALSE); -! } -! if (VIsual_active) -! { -! end_visual_mode(); -! redraw_later(SOME_VALID); -! } -! } -! #endif - } - } - -*** ../vim-7.4.198/src/version.c 2014-03-12 17:08:01.508807656 +0100 ---- src/version.c 2014-03-12 17:30:36.908828425 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 199, - /**/ - --- -No man may purchase alcohol without written consent from his wife. - [real standing law in Pennsylvania, 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 /// diff --git a/7.4.200 b/7.4.200 deleted file mode 100644 index be3dfb38..00000000 --- a/7.4.200 +++ /dev/null @@ -1,68 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.200 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.200 -Problem: Too many #ifdefs in the code. -Solution: Enable FEAT_VISUAL always, await any complaints -Files: src/feature.h - - -*** ../vim-7.4.199/src/feature.h 2014-02-23 22:52:33.372764715 +0100 ---- src/feature.h 2014-03-12 17:48:24.396844782 +0100 -*************** -*** 211,228 **** - #endif - - /* -! * +visual Visual mode. - * +visualextra Extra features for Visual mode (mostly block operators). - */ -! #ifdef FEAT_SMALL -! # define FEAT_VISUAL -! # ifdef FEAT_NORMAL -! # define FEAT_VISUALEXTRA -! # endif -! #else -! # ifdef FEAT_CLIPBOARD -! # undef FEAT_CLIPBOARD /* can't use clipboard without Visual mode */ -! # endif - #endif - - /* ---- 211,222 ---- - #endif - - /* -! * +visual Visual mode - now always included. - * +visualextra Extra features for Visual mode (mostly block operators). - */ -! #define FEAT_VISUAL -! #ifdef FEAT_NORMAL -! # define FEAT_VISUALEXTRA - #endif - - /* -*** ../vim-7.4.199/src/version.c 2014-03-12 17:41:59.128838878 +0100 ---- src/version.c 2014-03-12 17:52:28.080848516 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 200, - /**/ - --- -It is illegal to take more than three sips of beer at a time while standing. - [real standing law in Texas, 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 /// diff --git a/7.4.201 b/7.4.201 deleted file mode 100644 index 9bed2b5c..00000000 --- a/7.4.201 +++ /dev/null @@ -1,273 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.201 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.201 -Problem: 'lispwords' is a global option. -Solution: Make 'lispwords' global-local. (Sung Pae) -Files: runtime/doc/options.txt, runtime/optwin.vim, src/buffer.c, - src/misc1.c, src/option.c, src/option.h, src/structs.h, - src/testdir/test100.in, src/testdir/test100.ok - - -*** ../vim-7.4.200/runtime/doc/options.txt 2014-02-23 23:38:58.820760280 +0100 ---- runtime/doc/options.txt 2014-03-12 18:20:30.748874299 +0100 -*************** -*** 4629,4635 **** - - *'lispwords'* *'lw'* - 'lispwords' 'lw' string (default is very long) -! global - {not in Vi} - {not available when compiled without the |+lispindent| - feature} ---- 4629,4635 ---- - - *'lispwords'* *'lw'* - 'lispwords' 'lw' string (default is very long) -! global or local to buffer |global-local| - {not in Vi} - {not available when compiled without the |+lispindent| - feature} -*** ../vim-7.4.200/runtime/optwin.vim 2013-06-29 14:32:06.000000000 +0200 ---- runtime/optwin.vim 2014-03-12 18:20:30.748874299 +0100 -*************** -*** 855,861 **** - call append("$", "\t(local to buffer)") - call BinOptionL("lisp") - call append("$", "lispwords\twords that change how lisp indenting works") -! call OptionG("lw", &lw) - endif - - ---- 855,861 ---- - call append("$", "\t(local to buffer)") - call BinOptionL("lisp") - call append("$", "lispwords\twords that change how lisp indenting works") -! call OptionL("lw", &lw) - endif - - -*** ../vim-7.4.200/src/buffer.c 2014-01-10 16:43:09.000000000 +0100 ---- src/buffer.c 2014-03-12 18:20:30.752874299 +0100 -*************** -*** 1978,1983 **** ---- 1978,1986 ---- - #endif - buf->b_p_ar = -1; - buf->b_p_ul = NO_LOCAL_UNDOLEVEL; -+ #ifdef FEAT_LISP -+ clear_string_option(&buf->b_p_lw); -+ #endif - } - - /* -*** ../vim-7.4.200/src/misc1.c 2013-11-06 04:01:31.000000000 +0100 ---- src/misc1.c 2014-03-12 18:20:30.752874299 +0100 -*************** -*** 8879,8885 **** - { - char_u buf[LSIZE]; - int len; -! char_u *word = p_lispwords; - - while (*word != NUL) - { ---- 8879,8885 ---- - { - char_u buf[LSIZE]; - int len; -! char_u *word = *curbuf->b_p_lw != NUL ? curbuf->b_p_lw : p_lispwords; - - while (*word != NUL) - { -*** ../vim-7.4.200/src/option.c 2014-01-14 16:54:53.000000000 +0100 ---- src/option.c 2014-03-12 18:20:30.752874299 +0100 -*************** -*** 134,139 **** ---- 134,140 ---- - #define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) - #ifdef FEAT_LISP - # define PV_LISP OPT_BUF(BV_LISP) -+ # define PV_LW OPT_BOTH(OPT_BUF(BV_LW)) - #endif - #define PV_MA OPT_BUF(BV_MA) - #define PV_ML OPT_BUF(BV_ML) -*************** -*** 1718,1724 **** - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_LISP -! (char_u *)&p_lispwords, PV_NONE, - {(char_u *)LISPWORD_VALUE, (char_u *)0L} - #else - (char_u *)NULL, PV_NONE, ---- 1719,1725 ---- - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_LISP -! (char_u *)&p_lispwords, PV_LW, - {(char_u *)LISPWORD_VALUE, (char_u *)0L} - #else - (char_u *)NULL, PV_NONE, -*************** -*** 5412,5417 **** ---- 5413,5421 ---- - check_string_option(&buf->b_p_dict); - check_string_option(&buf->b_p_tsr); - #endif -+ #ifdef FEAT_LISP -+ check_string_option(&buf->b_p_lw); -+ #endif - } - - /* -*************** -*** 9879,9884 **** ---- 9883,9893 ---- - case PV_UL: - buf->b_p_ul = NO_LOCAL_UNDOLEVEL; - break; -+ #ifdef FEAT_LISP -+ case PV_LW: -+ clear_string_option(&buf->b_p_lw); -+ break; -+ #endif - } - } - -*************** -*** 9928,9933 **** ---- 9937,9945 ---- - case PV_STL: return (char_u *)&(curwin->w_p_stl); - #endif - case PV_UL: return (char_u *)&(curbuf->b_p_ul); -+ #ifdef FEAT_LISP -+ case PV_LW: return (char_u *)&(curbuf->b_p_lw); -+ #endif - } - return NULL; /* "cannot happen" */ - } -*************** -*** 9994,9999 **** ---- 10006,10015 ---- - #endif - case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL - ? (char_u *)&(curbuf->b_p_ul) : p->var; -+ #ifdef FEAT_LISP -+ case PV_LW: return *curbuf->b_p_lw != NUL -+ ? (char_u *)&(curbuf->b_p_lw) : p->var; -+ #endif - - #ifdef FEAT_ARABIC - case PV_ARAB: return (char_u *)&(curwin->w_p_arab); -*************** -*** 10567,10572 **** ---- 10583,10591 ---- - #ifdef FEAT_PERSISTENT_UNDO - buf->b_p_udf = p_udf; - #endif -+ #ifdef FEAT_LISP -+ buf->b_p_lw = empty_option; -+ #endif - - /* - * Don't copy the options set by ex_help(), use the saved values, -*** ../vim-7.4.200/src/option.h 2014-01-10 15:32:17.000000000 +0100 ---- src/option.h 2014-03-12 18:20:30.752874299 +0100 -*************** -*** 990,995 **** ---- 990,996 ---- - , BV_KP - #ifdef FEAT_LISP - , BV_LISP -+ , BV_LW - #endif - , BV_MA - , BV_ML -*** ../vim-7.4.200/src/structs.h 2014-02-23 22:52:33.372764715 +0100 ---- src/structs.h 2014-03-12 18:20:30.752874299 +0100 -*************** -*** 1641,1646 **** ---- 1641,1649 ---- - #ifdef FEAT_PERSISTENT_UNDO - int b_p_udf; /* 'undofile' */ - #endif -+ #ifdef FEAT_LISP -+ char_u *b_p_lw; /* 'lispwords' local value */ -+ #endif - - /* end of buffer options */ - -*** ../vim-7.4.200/src/testdir/test100.in 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/test100.in 2014-03-12 18:25:27.792878851 +0100 -*************** -*** 1,4 **** -! Tests for 'undolevel' setting being global-local - - STARTTEST - :so small.vim ---- 1,4 ---- -! Tests for 'undolevel' and 'lispwords' settings being global-local - - STARTTEST - :so small.vim -*************** -*** 37,42 **** ---- 37,50 ---- - :call UndoLevel() - :%w >> test.out - :"sleep 10 -+ :" -+ :" Testing 'lispwords' -+ :" -+ :setglobal lispwords=foo,bar,baz -+ :setlocal lispwords-=foo | setlocal lispwords+=quux -+ :redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end -+ :setlocal lispwords< -+ :redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end - :qa! - ENDTEST - -*** ../vim-7.4.200/src/testdir/test100.ok 2013-11-07 03:25:51.000000000 +0100 ---- src/testdir/test100.ok 2014-03-12 18:25:27.792878851 +0100 -*************** -*** 39,41 **** ---- 39,51 ---- - - undolevels=50 global - undolevels=-123456 local -+ -+ Testing 'lispwords' local value -+ lispwords=foo,bar,baz -+ lispwords=bar,baz,quux -+ bar,baz,quux -+ -+ Testing 'lispwords' value reset -+ lispwords=foo,bar,baz -+ lispwords=foo,bar,baz -+ foo,bar,baz -*** ../vim-7.4.200/src/version.c 2014-03-12 17:56:42.960852421 +0100 ---- src/version.c 2014-03-12 18:19:13.720873119 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 201, - /**/ - --- -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 /// diff --git a/7.4.202 b/7.4.202 deleted file mode 100644 index 5c50d878..00000000 --- a/7.4.202 +++ /dev/null @@ -1,281 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.202 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.202 -Problem: MS-Windows: non-ASCII font names don't work. -Solution: Convert between the current code page and 'encoding'. (Ken Takata) -Files: src/gui_w48.c, src/os_mswin.c, src/proto/winclip.pro, - src/winclip.c - - -*** ../vim-7.4.201/src/gui_w48.c 2013-09-22 15:43:34.000000000 +0200 ---- src/gui_w48.c 2014-03-12 19:18:14.264927370 +0100 -*************** -*** 3069,3083 **** - char *p; - char *res; - char *charset_name; - - charset_name = charset_id2name((int)lf.lfCharSet); -! res = alloc((unsigned)(strlen(lf.lfFaceName) + 20 - + (charset_name == NULL ? 0 : strlen(charset_name) + 2))); - if (res != NULL) - { - p = res; - /* make a normal font string out of the lf thing:*/ -! sprintf((char *)p, "%s:h%d", lf.lfFaceName, pixels_to_points( - lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE)); - while (*p) - { ---- 3069,3094 ---- - char *p; - char *res; - char *charset_name; -+ char *font_name = lf.lfFaceName; - - charset_name = charset_id2name((int)lf.lfCharSet); -! #ifdef FEAT_MBYTE -! /* Convert a font name from the current codepage to 'encoding'. -! * TODO: Use Wide APIs (including LOGFONTW) instead of ANSI APIs. */ -! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -! { -! int len; -! acp_to_enc(lf.lfFaceName, strlen(lf.lfFaceName), -! (char_u **)&font_name, &len); -! } -! #endif -! res = alloc((unsigned)(strlen(font_name) + 20 - + (charset_name == NULL ? 0 : strlen(charset_name) + 2))); - if (res != NULL) - { - p = res; - /* make a normal font string out of the lf thing:*/ -! sprintf((char *)p, "%s:h%d", font_name, pixels_to_points( - lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE)); - while (*p) - { -*************** -*** 3102,3107 **** ---- 3113,3122 ---- - } - } - -+ #ifdef FEAT_MBYTE -+ if (font_name != lf.lfFaceName) -+ vim_free(font_name); -+ #endif - return res; - } - -*** ../vim-7.4.201/src/os_mswin.c 2014-02-11 17:05:57.278217857 +0100 ---- src/os_mswin.c 2014-03-12 19:18:14.264927370 +0100 -*************** -*** 2867,2878 **** ---- 2867,2893 ---- - { - char_u *p; - int i; -+ int ret = FAIL; - static LOGFONT *lastlf = NULL; -+ #ifdef FEAT_MBYTE -+ char_u *acpname = NULL; -+ #endif - - *lf = s_lfDefault; - if (name == NULL) - return OK; - -+ #ifdef FEAT_MBYTE -+ /* Convert 'name' from 'encoding' to the current codepage, because -+ * lf->lfFaceName uses the current codepage. -+ * TODO: Use Wide APIs instead of ANSI APIs. */ -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ int len; -+ enc_to_acp(name, strlen(name), &acpname, &len); -+ name = acpname; -+ } -+ #endif - if (STRCMP(name, "*") == 0) - { - #if defined(FEAT_GUI_W32) -*************** -*** 2887,2896 **** - cf.lpLogFont = lf; - cf.nFontType = 0 ; //REGULAR_FONTTYPE; - if (ChooseFont(&cf)) -! goto theend; -! #else -! return FAIL; - #endif - } - - /* ---- 2902,2910 ---- - cf.lpLogFont = lf; - cf.nFontType = 0 ; //REGULAR_FONTTYPE; - if (ChooseFont(&cf)) -! ret = OK; - #endif -+ goto theend; - } - - /* -*************** -*** 2899,2905 **** - for (p = name; *p && *p != ':'; p++) - { - if (p - name + 1 > LF_FACESIZE) -! return FAIL; /* Name too long */ - lf->lfFaceName[p - name] = *p; - } - if (p != name) ---- 2913,2919 ---- - for (p = name; *p && *p != ':'; p++) - { - if (p - name + 1 > LF_FACESIZE) -! goto theend; /* Name too long */ - lf->lfFaceName[p - name] = *p; - } - if (p != name) -*************** -*** 2927,2933 **** - did_replace = TRUE; - } - if (!did_replace || init_logfont(lf) == FAIL) -! return FAIL; - } - - while (*p == ':') ---- 2941,2947 ---- - did_replace = TRUE; - } - if (!did_replace || init_logfont(lf) == FAIL) -! goto theend; - } - - while (*p == ':') -*************** -*** 2988,3012 **** - p[-1], name); - EMSG(IObuff); - } -! return FAIL; - } - while (*p == ':') - p++; - } - -- #if defined(FEAT_GUI_W32) - theend: -- #endif - /* ron: init lastlf */ -! if (printer_dc == NULL) - { - vim_free(lastlf); - lastlf = (LOGFONT *)alloc(sizeof(LOGFONT)); - if (lastlf != NULL) - mch_memmove(lastlf, lf, sizeof(LOGFONT)); - } - -! return OK; - } - - #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */ ---- 3002,3028 ---- - p[-1], name); - EMSG(IObuff); - } -! goto theend; - } - while (*p == ':') - p++; - } -+ ret = OK; - - theend: - /* ron: init lastlf */ -! if (ret == OK && printer_dc == NULL) - { - vim_free(lastlf); - lastlf = (LOGFONT *)alloc(sizeof(LOGFONT)); - if (lastlf != NULL) - mch_memmove(lastlf, lf, sizeof(LOGFONT)); - } -+ #ifdef FEAT_MBYTE -+ vim_free(acpname); -+ #endif - -! return ret; - } - - #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */ -*** ../vim-7.4.201/src/proto/winclip.pro 2013-08-10 13:37:39.000000000 +0200 ---- src/proto/winclip.pro 2014-03-12 19:18:14.264927370 +0100 -*************** -*** 11,14 **** ---- 11,15 ---- - short_u *enc_to_utf16 __ARGS((char_u *str, int *lenp)); - char_u *utf16_to_enc __ARGS((short_u *str, int *lenp)); - void acp_to_enc __ARGS((char_u *str, int str_size, char_u **out, int *outlen)); -+ void enc_to_acp __ARGS((char_u *str, int str_size, char_u **out, int *outlen)); - /* vim: set ft=c : */ -*** ../vim-7.4.201/src/winclip.c 2013-07-01 21:05:53.000000000 +0200 ---- src/winclip.c 2014-03-12 19:18:14.264927370 +0100 -*************** -*** 797,800 **** ---- 797,825 ---- - vim_free(widestr); - } - } -+ -+ /* -+ * Convert from 'encoding' to the active codepage. -+ * Input is "str[str_size]". -+ * The result is in allocated memory: "out[outlen]". With terminating NUL. -+ */ -+ void -+ enc_to_acp(str, str_size, out, outlen) -+ char_u *str; -+ int str_size; -+ char_u **out; -+ int *outlen; -+ -+ { -+ LPWSTR widestr; -+ int len = str_size; -+ -+ widestr = (WCHAR *)enc_to_utf16(str, &len); -+ if (widestr != NULL) -+ { -+ WideCharToMultiByte_alloc(GetACP(), 0, widestr, len, -+ (LPSTR *)out, outlen, 0, 0); -+ vim_free(widestr); -+ } -+ } - #endif -*** ../vim-7.4.201/src/version.c 2014-03-12 18:55:52.104906804 +0100 ---- src/version.c 2014-03-12 19:19:01.388928092 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 202, - /**/ - --- - Girls are like internet domain names, - the ones I like are already taken. - Well, you can stil get one from a strange country :-P - - /// 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 /// diff --git a/7.4.203 b/7.4.203 deleted file mode 100644 index d5cb84ae..00000000 --- a/7.4.203 +++ /dev/null @@ -1,203 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.203 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.203 -Problem: Parsing 'errorformat' is not correct. -Solution: Reset "multiignore" at the start of a multi-line message. (Lcd) -Files: src/quickfix.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile, src/testdir/test106.in, - src/testdir/test106.ok - - -*** ../vim-7.4.202/src/quickfix.c 2013-07-01 21:16:44.000000000 +0200 ---- src/quickfix.c 2014-03-12 19:35:22.016943118 +0100 -*************** -*** 751,757 **** ---- 751,760 ---- - fmt_start = fmt_ptr; - - if (vim_strchr((char_u *)"AEWI", idx) != NULL) -+ { - multiline = TRUE; /* start of a multi-line message */ -+ multiignore = FALSE; /* reset continuation */ -+ } - else if (vim_strchr((char_u *)"CZ", idx) != NULL) - { /* continuation of multi-line msg */ - if (qfprev == NULL) -*** ../vim-7.4.202/src/testdir/Make_amiga.mak 2014-02-23 23:38:58.808760280 +0100 ---- src/testdir/Make_amiga.mak 2014-03-12 19:32:32.192940516 +0100 -*************** -*** 35,41 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out test105.out - - .SUFFIXES: .in .out - ---- 35,41 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out test105.out test106.out - - .SUFFIXES: .in .out - -*************** -*** 157,159 **** ---- 157,160 ---- - test103.out: test103.in - test104.out: test104.in - test105.out: test105.in -+ test106.out: test106.in -*** ../vim-7.4.202/src/testdir/Make_dos.mak 2014-02-23 23:38:58.808760280 +0100 ---- src/testdir/Make_dos.mak 2014-03-12 19:32:40.100940637 +0100 -*************** -*** 34,40 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ - test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - SCRIPTS32 = test50.out test70.out - ---- 34,40 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ - test100.out test101.out test102.out test103.out test104.out \ -! test105.out test106.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.202/src/testdir/Make_ming.mak 2014-02-23 23:38:58.812760280 +0100 ---- src/testdir/Make_ming.mak 2014-03-12 19:32:44.948940712 +0100 -*************** -*** 54,60 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ - test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - SCRIPTS32 = test50.out test70.out - ---- 54,60 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ - test100.out test101.out test102.out test103.out test104.out \ -! test105.out test106.out - - SCRIPTS32 = test50.out test70.out - -*** ../vim-7.4.202/src/testdir/Make_os2.mak 2014-02-23 23:38:58.812760280 +0100 ---- src/testdir/Make_os2.mak 2014-03-12 19:32:48.112940760 +0100 -*************** -*** 36,42 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ - test100.out test101.out test102.out test103.out test104.out \ -! test105.out - - .SUFFIXES: .in .out - ---- 36,42 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test98.out test99.out \ - test100.out test101.out test102.out test103.out test104.out \ -! test105.out test106.out - - .SUFFIXES: .in .out - -*** ../vim-7.4.202/src/testdir/Make_vms.mms 2014-03-12 16:51:35.060792541 +0100 ---- src/testdir/Make_vms.mms 2014-03-12 19:32:51.836940817 +0100 -*************** -*** 95,101 **** - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test98.out test99.out \ - test100.out test101.out test103.out test104.out \ -! test105.out - - # Known problems: - # test17: ? ---- 95,101 ---- - test90.out test91.out test92.out test93.out test94.out \ - test95.out test96.out test98.out test99.out \ - test100.out test101.out test103.out test104.out \ -! test105.out test106.out - - # Known problems: - # test17: ? -*** ../vim-7.4.202/src/testdir/Makefile 2014-03-12 15:50:18.472736205 +0100 ---- src/testdir/Makefile 2014-03-12 19:32:13.884940236 +0100 -*************** -*** 31,37 **** - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out test105.out - - SCRIPTS_GUI = test16.out - ---- 31,37 ---- - test89.out test90.out test91.out test92.out test93.out \ - test94.out test95.out test96.out test97.out test98.out \ - test99.out test100.out test101.out test102.out test103.out \ -! test104.out test105.out test106.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.4.202/src/testdir/test106.in 2014-03-12 19:40:59.584948291 +0100 ---- src/testdir/test106.in 2014-03-12 19:33:30.332941407 +0100 -*************** -*** 0 **** ---- 1,16 ---- -+ Tests for errorformat. vim: set ft=vim ts=8 : -+ -+ STARTTEST -+ :so small.vim -+ :if !has('quickfix') | e! test.ok | wq! test.out | endif -+ :set efm=%EEEE%m,%WWWW%m,%+CCCC%.%#,%-GGGG%.%# -+ :cgetexpr ['WWWW', 'EEEE', 'CCCC'] -+ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) -+ :cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC'] -+ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) -+ :cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY'] -+ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) -+ :/^Results/,$wq! test.out -+ ENDTEST -+ -+ Results of test106: -*** ../vim-7.4.202/src/testdir/test106.ok 2014-03-12 19:40:59.592948291 +0100 ---- src/testdir/test106.ok 2014-03-12 19:33:50.496941716 +0100 -*************** -*** 0 **** ---- 1,4 ---- -+ Results of test106: -+ [['W', 1], ['E^@CCCC', 1]] -+ [['W', 1], ['E^@CCCC', 1]] -+ [['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]] -*** ../vim-7.4.202/src/version.c 2014-03-12 19:24:32.508933166 +0100 ---- src/version.c 2014-03-12 19:39:34.344946985 +0100 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 203, - /**/ - --- -"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 /// diff --git a/7.4.204 b/7.4.204 deleted file mode 100644 index c6b491e0..00000000 --- a/7.4.204 +++ /dev/null @@ -1,113 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.204 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.204 -Problem: A mapping where the second byte is 0x80 doesn't work. -Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro - Takasaki) -Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok - - -*** ../vim-7.4.203/src/getchar.c 2014-02-15 16:17:02.213903042 +0100 ---- src/getchar.c 2014-03-12 20:06:17.944971557 +0100 -*************** -*** 2206,2215 **** - #ifdef FEAT_MBYTE - /* Don't allow mapping the first byte(s) of a - * multi-byte char. Happens when mapping -! * and then changing 'encoding'. */ -! if (has_mbyte && MB_BYTE2LEN(c1) -! > (*mb_ptr2len)(mp->m_keys)) -! mlen = 0; - #endif - /* - * Check an entry whether it matches. ---- 2206,2221 ---- - #ifdef FEAT_MBYTE - /* Don't allow mapping the first byte(s) of a - * multi-byte char. Happens when mapping -! * and then changing 'encoding'. Beware -! * that 0x80 is escaped. */ -! { -! char_u *p1 = mp->m_keys; -! char_u *p2 = mb_unescape(&p1); -! -! if (has_mbyte && p2 != NULL -! && MB_BYTE2LEN(c1) > MB_PTR2LEN(p2)) -! mlen = 0; -! } - #endif - /* - * Check an entry whether it matches. -*** ../vim-7.4.203/src/testdir/test75.in 2013-11-02 04:19:10.000000000 +0100 ---- src/testdir/test75.in 2014-03-12 20:02:45.932968308 +0100 -*************** -*** 1,8 **** ---- 1,11 ---- - Tests for maparg(). -+ Also test utf8 map with a 0x80 byte. - - STARTTEST - :so small.vim -+ :so mbyte.vim - :set cpo-=< -+ :set encoding=utf8 - :" Test maparg() with a string result - :map foo isfoo - :vnoremap