/usr/share/vim/vim74/doc/version6.txt is in vim-runtime 2:7.4.052-1ubuntu3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12042 12043 12044 12045 12046 12047 12048 12049 12050 12051 12052 12053 12054 12055 12056 12057 12058 12059 12060 12061 12062 12063 12064 12065 12066 12067 12068 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 12087 12088 12089 12090 12091 12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 12104 12105 12106 12107 12108 12109 12110 12111 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 12159 12160 12161 12162 12163 12164 12165 12166 12167 12168 12169 12170 12171 12172 12173 12174 12175 12176 12177 12178 12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 12195 12196 12197 12198 12199 12200 12201 12202 12203 12204 12205 12206 12207 12208 12209 12210 12211 12212 12213 12214 12215 12216 12217 12218 12219 12220 12221 12222 12223 12224 12225 12226 12227 12228 12229 12230 12231 12232 12233 12234 12235 12236 12237 12238 12239 12240 12241 12242 12243 12244 12245 12246 12247 12248 12249 12250 12251 12252 12253 12254 12255 12256 12257 12258 12259 12260 12261 12262 12263 12264 12265 12266 12267 12268 12269 12270 12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 12372 12373 12374 12375 12376 12377 12378 12379 12380 12381 12382 12383 12384 12385 12386 12387 12388 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 12400 12401 12402 12403 12404 12405 12406 12407 12408 12409 12410 12411 12412 12413 12414 12415 12416 12417 12418 12419 12420 12421 12422 12423 12424 12425 12426 12427 12428 12429 12430 12431 12432 12433 12434 12435 12436 12437 12438 12439 12440 12441 12442 12443 12444 12445 12446 12447 12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 12477 12478 12479 12480 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 12492 12493 12494 12495 12496 12497 12498 12499 12500 12501 12502 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 12747 12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 12761 12762 12763 12764 12765 12766 12767 12768 12769 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 12785 12786 12787 12788 12789 12790 12791 12792 12793 12794 12795 12796 12797 12798 12799 12800 12801 12802 12803 12804 12805 12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 12819 12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 12835 12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 12849 12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 12863 12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 12880 12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 12894 12895 12896 12897 12898 12899 12900 12901 12902 12903 12904 12905 12906 12907 12908 12909 12910 12911 12912 12913 12914 12915 12916 12917 12918 12919 12920 12921 12922 12923 12924 12925 12926 12927 12928 12929 12930 12931 12932 12933 12934 12935 12936 12937 12938 12939 12940 12941 12942 12943 12944 12945 12946 12947 12948 12949 12950 12951 12952 12953 12954 12955 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971 12972 12973 12974 12975 12976 12977 12978 12979 12980 12981 12982 12983 12984 12985 12986 12987 12988 12989 12990 12991 12992 12993 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012 13013 13014 13015 13016 13017 13018 13019 13020 13021 13022 13023 13024 13025 13026 13027 13028 13029 13030 13031 13032 13033 13034 13035 13036 13037 13038 13039 13040 13041 13042 13043 13044 13045 13046 13047 13048 13049 13050 13051 13052 13053 13054 13055 13056 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 13067 13068 13069 13070 13071 13072 13073 13074 13075 13076 13077 13078 13079 13080 13081 13082 13083 13084 13085 13086 13087 13088 13089 13090 13091 13092 13093 13094 13095 13096 13097 13098 13099 13100 13101 13102 13103 13104 13105 13106 13107 13108 13109 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13122 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 13143 13144 13145 13146 13147 13148 13149 13150 13151 13152 13153 13154 13155 13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 13185 13186 13187 13188 13189 13190 13191 13192 13193 13194 13195 13196 13197 13198 13199 13200 13201 13202 13203 13204 13205 13206 13207 13208 13209 13210 13211 13212 13213 13214 13215 13216 13217 13218 13219 13220 13221 13222 13223 13224 13225 13226 13227 13228 13229 13230 13231 13232 13233 13234 13235 13236 13237 13238 13239 13240 13241 13242 13243 13244 13245 13246 13247 13248 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 13261 13262 13263 13264 13265 13266 13267 13268 13269 13270 13271 13272 13273 13274 13275 13276 13277 13278 13279 13280 13281 13282 13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 13299 13300 13301 13302 13303 13304 13305 13306 13307 13308 13309 13310 13311 13312 13313 13314 13315 13316 13317 13318 13319 13320 13321 13322 13323 13324 13325 13326 13327 13328 13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 13342 13343 13344 13345 13346 13347 13348 13349 13350 13351 13352 13353 13354 13355 13356 13357 13358 13359 13360 13361 13362 13363 13364 13365 13366 13367 13368 13369 13370 13371 13372 13373 13374 13375 13376 13377 13378 13379 13380 13381 13382 13383 13384 13385 13386 13387 13388 13389 13390 13391 13392 13393 13394 13395 13396 13397 13398 13399 13400 13401 13402 13403 13404 13405 13406 13407 13408 13409 13410 13411 13412 13413 13414 13415 13416 13417 13418 13419 13420 13421 13422 13423 13424 13425 13426 13427 13428 13429 13430 13431 13432 13433 13434 13435 13436 13437 13438 13439 13440 13441 13442 13443 13444 13445 13446 13447 13448 13449 13450 13451 13452 13453 13454 13455 13456 13457 13458 13459 13460 13461 13462 13463 13464 13465 13466 13467 13468 13469 13470 13471 13472 13473 13474 13475 13476 13477 13478 13479 13480 13481 13482 13483 13484 13485 13486 13487 13488 13489 13490 13491 13492 13493 13494 13495 13496 13497 13498 13499 13500 13501 13502 13503 13504 13505 13506 13507 13508 13509 13510 13511 13512 13513 13514 13515 13516 13517 13518 13519 13520 13521 13522 13523 13524 13525 13526 13527 13528 13529 13530 13531 13532 13533 13534 13535 13536 13537 13538 13539 13540 13541 13542 13543 13544 13545 13546 13547 13548 13549 13550 13551 13552 13553 13554 13555 13556 13557 13558 13559 13560 13561 13562 13563 13564 13565 13566 13567 13568 13569 13570 13571 13572 13573 13574 13575 13576 13577 13578 13579 13580 13581 13582 13583 13584 13585 13586 13587 13588 13589 13590 13591 13592 13593 13594 13595 13596 13597 13598 13599 13600 13601 13602 13603 13604 13605 13606 13607 13608 13609 13610 13611 13612 13613 13614 13615 13616 13617 13618 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 13640 13641 13642 13643 13644 13645 13646 13647 13648 13649 13650 13651 13652 13653 13654 13655 13656 13657 13658 13659 13660 13661 13662 13663 13664 13665 13666 13667 13668 13669 13670 13671 13672 13673 13674 13675 13676 13677 13678 13679 13680 13681 13682 13683 13684 13685 13686 13687 13688 13689 13690 13691 13692 13693 13694 13695 13696 13697 13698 13699 13700 13701 13702 13703 13704 13705 13706 13707 13708 13709 13710 13711 13712 13713 13714 13715 13716 13717 13718 13719 13720 13721 13722 13723 13724 13725 13726 13727 13728 13729 13730 13731 13732 13733 13734 13735 13736 13737 13738 13739 13740 13741 13742 13743 13744 13745 13746 13747 13748 13749 13750 13751 13752 13753 13754 13755 13756 13757 13758 13759 13760 13761 13762 13763 13764 13765 13766 13767 13768 13769 13770 13771 13772 13773 13774 13775 13776 13777 13778 13779 13780 13781 13782 13783 13784 13785 13786 13787 13788 13789 13790 13791 13792 13793 13794 13795 13796 13797 13798 13799 13800 13801 13802 13803 13804 13805 13806 13807 13808 13809 13810 13811 13812 13813 13814 13815 13816 13817 13818 13819 13820 13821 13822 13823 13824 13825 13826 13827 13828 13829 13830 13831 13832 13833 13834 13835 13836 13837 13838 13839 13840 13841 13842 13843 13844 13845 13846 13847 13848 13849 13850 13851 13852 13853 13854 13855 13856 13857 13858 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 13880 13881 13882 13883 13884 13885 13886 13887 13888 13889 13890 13891 13892 13893 13894 13895 13896 13897 13898 13899 13900 13901 13902 13903 13904 13905 13906 13907 13908 13909 13910 13911 13912 13913 13914 13915 13916 13917 13918 13919 13920 13921 13922 13923 13924 13925 13926 13927 13928 13929 13930 13931 13932 13933 13934 13935 13936 13937 13938 13939 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 13966 13967 13968 13969 13970 13971 13972 13973 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 14030 14031 14032 14033 14034 14035 14036 14037 14038 14039 14040 14041 14042 14043 14044 14045 14046 14047 14048 14049 14050 14051 14052 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 14070 14071 14072 14073 14074 14075 14076 14077 14078 14079 14080 14081 14082 14083 14084 14085 14086 14087 14088 14089 14090 14091 14092 14093 14094 14095 14096 14097 14098 14099 14100 14101 14102 14103 14104 14105 14106 14107 14108 14109 14110 14111 14112 14113 14114 14115 14116 14117 14118 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 14133 14134 14135 14136 14137 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 14150 14151 14152 14153 14154 14155 14156 14157 14158 14159 14160 14161 14162 14163 14164 14165 14166 14167 14168 14169 14170 14171 14172 14173 14174 14175 14176 14177 14178 14179 14180 14181 14182 14183 14184 14185 14186 14187 14188 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 14206 14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 14222 14223 14224 14225 14226 14227 14228 14229 14230 14231 14232 14233 14234 14235 14236 14237 14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 14263 14264 14265 14266 14267 14268 14269 14270 14271 14272 14273 14274 14275 14276 14277 14278 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294 14295 14296 14297 14298 14299 14300 14301 14302 14303 14304 14305 14306 14307 14308 14309 14310 14311 14312 14313 14314 14315 14316 14317 14318 14319 14320 14321 14322 14323 14324 14325 14326 14327 14328 14329 14330 14331 14332 14333 14334 14335 14336 14337 14338 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 14360 14361 14362 14363 14364 14365 14366 14367 14368 14369 14370 14371 14372 14373 14374 14375 14376 14377 14378 14379 14380 14381 14382 14383 14384 14385 14386 14387 14388 14389 14390 14391 14392 14393 14394 14395 14396 14397 14398 14399 14400 14401 14402 14403 14404 14405 14406 14407 14408 14409 14410 14411 14412 14413 14414 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434 14435 14436 14437 14438 14439 14440 14441 14442 14443 14444 14445 14446 14447 14448 14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 14468 14469 14470 14471 14472 14473 14474 14475 14476 14477 14478 14479 14480 14481 14482 14483 14484 14485 14486 14487 14488 14489 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 14500 14501 14502 14503 14504 14505 14506 14507 14508 14509 14510 14511 14512 14513 14514 14515 14516 14517 14518 14519 14520 14521 14522 14523 14524 14525 14526 14527 14528 14529 14530 | *version6.txt* For Vim version 7.4. Last change: 2013 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
Welcome to Vim Version 6.0! A large number of features has been added. This
file mentions all the new items that have been added, changes to existing
features and bug fixes compared to Vim 5.x.
See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0.
See |version4.txt| for differences between Vim 3.0 and Vim 4.0.
See |version5.txt| for differences between Vim 4.0 and Vim 5.0.
INCOMPATIBLE CHANGES |incompatible-6|
Cursor position in Visual mode |curpos-visual|
substitute command Vi compatible |substitute-CR|
global option values introduced |new-global-values|
'fileencoding' changed |fileencoding-changed|
Digraphs changed |digraphs-changed|
Filetype detection changed |filetypedetect-changed|
Unlisted buffers introduced |new-unlisted-buffers|
CTRL-U in Command-line mode changed |CTRL-U-changed|
Ctags gone |ctags-gone|
Documentation reorganized |documentation-6|
Modeless selection and clipboard |modeless-and-clipboard|
Small incompatibilities |incomp-small-6|
NEW FEATURES |new-6|
Folding |new-folding|
Vertically split windows |new-vertsplit|
Diff mode |new-diff-mode|
Easy Vim: click-and-type |new-evim|
User manual |new-user-manual|
Flexible indenting |new-indent-flex|
Extended search patterns |new-searchpat|
UTF-8 support |new-utf-8|
Multi-language support |new-multi-lang|
Plugin support |new-plugins|
Filetype plugins |new-filetype-plugins|
File browser |new-file-browser|
Editing files over a network |new-network-files|
Window for command-line editing |new-cmdwin|
Debugging mode |new-debug-mode|
Cursor in virtual position |new-virtedit|
Debugger interface |new-debug-itf|
Communication between Vims |new-vim-server|
Buffer type options |new-buftype|
Printing |new-printing|
Ports |ports-6|
Quickfix extended |quickfix-6|
Operator modifiers |new-operator-mod|
Search Path |new-search-path|
Writing files improved |new-file-writing|
Argument list |new-argument-list|
Restore a View |new-View|
Color schemes |new-color-schemes|
Various new items |new-items-6|
IMPROVEMENTS |improvements-6|
COMPILE TIME CHANGES |compile-changes-6|
BUG FIXES |bug-fixes-6|
VERSION 6.1 |version-6.1|
Changed |changed-6.1|
Added |added-6.1|
Fixed |fixed-6.1|
VERSION 6.2 |version-6.2|
Changed |changed-6.2|
Added |added-6.2|
Fixed |fixed-6.2|
VERSION 6.3 |version-6.3|
Changed |changed-6.3|
Added |added-6.3|
Fixed |fixed-6.3|
VERSION 6.4 |version-6.4|
Changed |changed-6.4|
Added |added-6.4|
Fixed |fixed-6.4|
==============================================================================
INCOMPATIBLE CHANGES *incompatible-6*
These changes are incompatible with previous releases. Check this list if you
run into a problem when upgrading from Vim 5.x to 6.0
Cursor position in Visual mode *curpos-visual*
------------------------------
When going from one window to another window on the same buffer while in
Visual mode, the cursor position of the other window is adjusted to keep the
same Visual area. This can be used to set the start of the Visual area in one
window and the end in another. In vim 5.x the cursor position of the other
window would be used, which could be anywhere and was not very useful.
Substitute command Vi compatible *substitute-CR*
--------------------------------
The substitute string (the "to" part of the substitute command) has been made
Vi compatible. Previously a CTRL-V had a special meaning and could be used to
prevent a <CR> to insert a line break. This made it impossible to insert a
CTRL-V before a line break. Now a backslash is used to prevent a <CR> to
cause a line break. Since the number of backslashes is halved, it is still
possible to insert a line break at the end of the line. This now works just
like Vi, but it's not compatible with Vim versions before 6.0.
When a ":s" command doesn't make any substitutions, it no longer sets the '[
and '] marks. This is not related to Vi, since it doesn't have these marks.
Global option values introduced *new-global-values*
-------------------------------
There are now global values for options which are local to a buffer or window.
Previously the local options were copied from one buffer to another. When
editing another file this could cause option values from a modeline to be used
for the wrong file. Now the global values are used when entering a buffer
that has not been used before. Also, when editing another buffer in a window,
the local window options are reset to their global values. The ":set" command
sets both the local and global values, this is still compatible. But a
modeline only sets the local value, this is not backwards compatible.
":let &opt = val" now sets the local and global values, like ":set". New
commands have been added to set the global or local value:
:let &opt = val like ":set"
:let &g:opt = val like ":setglobal"
:let &l:opt = val like ":setlocal"
'fileencoding' changed *fileencoding-changed*
----------------------
'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim.
This was a bit strange, because it was local to a buffer and worked for all
buffers. It could never be different between buffers, because it changed the
way text in all buffers was interpreted.
It is now used for the encoding of the file related to the buffer. If you
still set 'fileencoding' it is likely to be overwritten by the detected
encoding from 'fileencodings', thus it is "mostly harmless".
The old FileEncoding autocommand now does the same as the new EncodingChanged
event.
Digraphs changed *digraphs-changed*
----------------
The default digraphs now correspond to RFC1345. This is very different from
what was used in Vim 5.x. |digraphs|
Filetype detection changed *filetypedetect-changed*
--------------------------
The filetype detection previously was using the "filetype" autocommand group.
This caused confusion with the FileType event name (case is ignored). The
group is now called "filetypedetect". It still works, but if the "filetype"
group is used the autocommands will not be removed by ":filetype off".
The support for 'runtimepath' has made the "myfiletypefile" and
"mysyntaxfile" mechanism obsolete. They are still used for backwards
compatibility.
The connection between the FileType event and setting the 'syntax' option was
previously in the "syntax" autocommand group. That caused confusion with the
Syntax event name. The group is now called "syntaxset".
The distributed syntax files no longer contain "syntax clear". That makes it
possible to include one in the other without tricks. The syntax is now
cleared when the 'syntax' option is set (by an autocommand added from
synload.vim). This makes the syntax cleared when the value of 'syntax' does
not correspond to a syntax file. Previously the existing highlighting was
kept.
Unlisted buffers introduced *new-unlisted-buffers*
---------------------------
There is now a difference between buffers which don't appear in the buffer
list and buffers which are really not in the buffer list. Commands like
":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the
buffer list. |unlisted-buffer|
The 'buflisted' option can be used to make a buffer appear in the buffer list
or not.
Several commands that previously added a buffer to the buffer list now create
an unlisted buffer. This means that a ":bnext" and ":ball" will not find these
files until they have actually been edited. For example, buffers used for the
alternative file by ":write file" and ":read file".
Other commands previously completely deleted a buffer and now only remove
the buffer from the buffer list. Commands relying on a buffer not to be
present might fail. For example, a ":bdelete" command in an autocommand that
relied on something following to fail (was used in the automatic tests).
|:bwipeout| can be used for the old meaning of ":bdelete".
The BufDelete autocommand event is now triggered when a buffer is removed from
the buffer list. The BufCreate event is only triggered when a buffer is
created that is added to the buffer list, or when an existing buffer is added
to the buffer list. BufAdd is a new name for BufCreate.
The new BufNew event is for creating any buffer and BufWipeout for really
deleting a buffer.
When doing Insert mode completion, only buffers in the buffer list are
scanned. Added the 'U' flag to 'complete' to do completion from unlisted
buffers.
Unlisted buffers are not stored in a viminfo file.
CTRL-U in Command-line mode changed *CTRL-U-changed*
-----------------------------------
Using CTRL-U when editing the command line cleared the whole line. Most
shells only delete the characters before the cursor. Made it work like that.
(Steve Wall)
You can get the old behavior with CTRL-E CTRL-U: >
:cnoremap <C-U> <C-E><C-U>
Ctags gone *ctags-gone*
----------
Ctags is no longer part of the Vim distribution. It's now a grown-up program
by itself, it deserves to be distributed separately.
Ctags can be found here: http://ctags.sf.net/.
Documentation reorganized *documentation-6*
-------------------------
The documentation has been reorganized, an item may not be where you found it
in Vim 5.x.
- The user manual was added, some items have been moved to it from the
reference manual.
- The quick reference is now in a separate file (so that it can be printed).
The examples in the documentation were previously marked with a ">" in the
first column. This made it difficult to copy/paste them. There is now a
single ">" before the example and it ends at a "<" or a non-blank in the first
column. This also looks better without highlighting.
'helpfile' is no longer used to find the help tags file. This allows a user
to add its own help files (e.g., for plugins).
Modeless selection and clipboard *modeless-and-clipboard*
--------------------------------
The modeless selection is used to select text when Visual mode can't be used,
for example when editing the command line or at the more prompt.
In Vim 5.x the modeless selection was always used. On MS-Windows this caused
the clipboard to be overwritten, with no way to avoid that. The modeless
selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and
"autoselectml" in 'clipboard'. By default there is no automatic copy on
MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection.
To get the old behavior back, do this: >
:set clipboard^=autoselectml guioptions+=A
Small incompatibilities *incomp-small-6*
-----------------------
'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg',
'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg',
'viminfo' and 'runtimepath' can no longer be set from a modeline, for better
security.
Removed '_' from the 'breakat' default: It's commonly used in keywords.
The default for 'mousehide' is on, because this works well for most people.
The Amiga binary is now always compiled with "big" features. The "big" binary
archive no longer exists.
The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in
'statusline' no longer have a leading space.
Non-Unix systems: When expanding wildcards for the Vim arguments, don't use
'suffixes'. It now works as if the shell had expanded the arguments.
The 'lisp', 'smartindent' and 'cindent' options are not switched off when
'paste' is set. The auto-indenting is disabled when 'paste' is set, but
manual indenting with "=" still works.
When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there
is no change in indent, this is not counted as a change ('modified' isn't set
and there is nothing to undo).
Report 'modified' as changed when 'fileencoding' or 'fileformat' was set.
Thus it reflects the possibility to abandon the buffer without losing changes.
The "Save As" menu entry now edits the saved file. Most people expect it to
work like this.
A buffer for a directory is no longer added to the Buffers menu.
Renamed <Return> to <Enter>, since that's what it's called on most keyboards.
Thus it's now the hit-enter prompt instead of the hit-return prompt.
Can map <Enter> just like <CR> or <Return>.
The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't
set. Most people will want to use it, including beginners, but it required
setting the option, which isn't that easy.
After using ":colder" the newer error lists are overwritten. This makes it
possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99"
to get the old behavior.
The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and
sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to
match case.
The 16 bit MS-DOS version is now compiled without the +listcmds feature
(buffer list manipulation commands). They are not often needed and this
executable needs to be smaller.
'sessionoptions' now includes "curdir" by default. This means that restoring
a session will result in the current directory being restored, instead of
going to the directory where the session file is located.
A session deleted all buffers, deleting all marks. Now keep the buffer list,
it shouldn't hurt for some existing buffers to remain present.
When the argument list is empty ":argdel *" caused an error message.
No longer put the search pattern from a tag jump in the history.
Use "SpecialKey" highlighting for unprintable characters instead of "NonText".
The idea is that unprintable text or any text that's displayed differently
from the characters in the file is using "SpecialKey", and "NonText" is used
for text that doesn't really exist in the file.
Motif now uses the system default colors for the menu and scrollbar. Used to
be grey. It's still possible to set the colors with ":highlight" commands and
resources.
Formatting text with "gq" breaks a paragraph at a non-empty blank line.
Previously the line would be removed, which wasn't very useful.
":normal" does no longer hang when the argument ends in half a command.
Previously Vim would wait for more characters to be typed, without updating
the screen. Now it pretends an <Esc> was typed.
Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in
the "bitmaps" directories in 'runtimepath'.
Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal
mode menus. This generally works better and allows using the "Copy" menu to
produce CTRL-Y to copy the modeless selection.
Moved the font selection from the Window to the Edit menu, together with the
other settings.
The default values for 'isfname' include more characters to make "gf" work
better.
Changed the license for the documentation to the Open Publication License.
This seemed fair, considering the inclusion of parts of the Vim book, which is
also published under the OPL. The downside is that we can't force someone who
would sell copies of the manual to contribute to Uganda.
After "ayy don't let ""yy or :let @" = val overwrite the "a register.
Use the unnamed register instead.
MSDOS: A pattern "*.*" previously also matched a file name without a dot.
This was inconsistent with other versions.
In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously
it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N,
which is supposed to take us to Normal mode (especially in ":amenu").
Allow using ":" commands after an operator. Could be used to implement a new
movement command. Thus it no longer aborts a pending operator.
For the Amiga the "-d {device}" argument was possible. When compiled with the
diff feature, this no longer works. Use "-dev {device}" instead. |-dev|
Made the default mappings for <S-Insert> in Insert mode insert the text
literally, avoids that special characters like BS cause side effects.
Using ":confirm" applied to the rest of the line. Now it applies only to the
command right after it. Thus ":confirm if x | edit | endif" no longer works,
use ":if x | confirm edit | endif". This was the original intention, that it
worked differently was a bug.
==============================================================================
NEW FEATURES *new-6*
Folding *new-folding*
-------
Vim can now display a buffer with text folded. This allows overviewing the
structure of a file quickly. It is also possible to yank, delete and put
folded text, for example to move a function to another position.
There is a whole bunch of new commands and options related to folding.
See |folding|.
Vertically split windows *new-vertsplit*
------------------------
Windows can also be split vertically. This makes it possible to have windows
side by side. One nice use for this is to compare two similar files (see
|new-diff-mode|). The 'scrollbind' option can be used to synchronize
scrolling.
A vertical split can be created with the commands:
:vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit|
:vnew |:vnew|
:vertical {cmd} |:vertical|
The last one is a modifier, which has a meaning for any command that splits a
window. For example: >
:vertical stag main
Will vertically split the window and jump to the tag "main" in the new window.
Moving from window to window horizontally can be done with the |CTRL-W_h| and
|CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed
to jump to the window above or below the cursor position.
The vertical and horizontal splits can be mixed as you like. Resizing windows
is easy when using the mouse, just position the pointer on a status line or
vertical separator and drag it. In the GUI a special mouse pointer shape
indicates where you can drag a status or separator line.
To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands.
To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|.
To force a new window to use the full width or height of the Vim window,
these two modifiers are available:
:topleft {cmd} New window appears at the top with full
width or at the left with full height.
:botright {cmd} New window appears at the bottom with full
width or at the right with full height.
This can be combined with ":vertical" to force a vertical split: >
:vert bot dsplit DEBUG
This will open a window at the far right, occupying the full height of the Vim
window, with the cursor on the first definition of "DEBUG".
The help window is opened at the top, like ":topleft" was used, if the current
window is fewer than 80 characters wide.
A few options can be used to set the preferences for vertically split windows.
They work similar to their existing horizontal equivalents:
horizontal vertical ~
'splitbelow' 'splitright'
'winheight' 'winwidth'
'winminheight' 'winminwidth'
It's possible to set 'winminwidth' to zero, so that temporarily unused windows
hardly take up space without closing them.
The new 'eadirection' option tells where 'equalalways' applies:
:set eadirection=both both directions
:set eadirection=ver equalize window heights
:set eadirection=hor equalize windows widths
This can be used to avoid changing window sizes when you want to keep them.
Since windows can become quite narrow with vertical splits, text lines will
often not fit. The 'sidescrolloff' has been added to keep some context left
and right of the cursor. The 'listchars' option has been extended with the
"precedes" item, to show a "<" for example, when there is text left off the
screen. (Utz-Uwe Haus)
"-O" command line argument: Like "-o" but split windows vertically. (Scott
Urban)
Added commands to move the current window to the very top (CTRL-W K), bottom
(CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the
window uses the full width/height of the screen.
When there is not enough room in the status line for both the file name and
the ruler, use up to half the width for the ruler. Useful for narrow windows.
Diff mode *new-diff-mode*
---------
In diff mode Vim shows the differences between two, three or four files.
Folding is used to hide the parts of the file that are equal.
Highlighting is used to show deleted and changed lines.
See |diff-mode|.
An easy way to start in diff mode is to start Vim as "vimdiff file1 file2".
Added the vimdiff manpage.
In a running Vim the |:diffsplit| command starts diff mode for the current
file and another file. The |:diffpatch| command starts diff mode using the
current file and a patch file. The |:diffthis| command starts diff mode for
the current window.
Differences can be removed with the |:diffget| and |:diffput| commands.
- The 'diff' option switches diff mode on in a window.
- The |:diffupdate| command refreshes the diffs.
- The 'diffopt' option changes how diffs are displayed.
- The 'diffexpr' option can be set how a diff is to be created.
- The 'patchexpr' option can be set how patch is applied to a file.
- Added the "diff" folding method. When opening a window for diff-mode, set
'foldlevel' to zero and 'foldenable' on, to close the folds.
- Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to
specify the highlighting for differences. The defaults are ugly...
- Unix: make a vimdiff symbolic link for "make install".
- Removed the now obsolete "vimdiff.vim" script from the distribution.
- Added the "[c" and "]c" commands to move to the next/previous change in diff
mode.
Easy Vim: click-and-type *new-evim*
------------------------
eVim stands for "Easy Vim". This is a separate program, but can also be
started as "vim -y".
This starts Vim with 'insertmode' set to allow click-and-type editing. The
$VIMRUNTIME/evim.vim script is used to add mappings and set options to be able
to do most things like Notepad. This is only for people who can't stand two
modes.
eView does the same but in readonly mode.
In the GUI a CTRL-C now only interrupts when busy with something, not when
waiting for a character. Allows using CTRL-C to copy text to the clipboard.
User manual *new-user-manual*
-----------
The user manual has been added. It is organised around editing tasks. It
reads like a book, from start to end. It should allow beginners to start
learning Vim. It helps everybody to learn using the most useful Vim features.
It is much easier to read than the reference manual, but omits details. See
|user-manual|.
The user manual includes parts of the Vim book by Steve Oualline |frombook|.
It is published under the OPL |manual-copyright|.
When syntax highlighting is not enabled, the characters in the help file which
mark examples ('>' and '<') and header lines ('~') are replaced with a space.
When closing the help window, the window layout is restored from before
opening it, if the window layout didn't change since then.
When opening the help window, put it at the top of the Vim window if the
current window is fewer than 80 characters and not full width.
Flexible indenting *new-indent-flex*
------------------
Automatic indenting is now possible for any language. It works with a Vim
script, which makes it very flexible to compute the indent.
The ":filetype indent on" command enables using the provided indent scripts.
This is explained in the user manual: |30.3|.
The 'indentexpr' option is evaluated to get the indent for a line. The
'indentkeys' option tells when to trigger re-indenting. Normally these
options are set from an indent script. Like Syntax files, indent scripts will
be created and maintained by many people.
Extended search patterns *new-searchpat*
------------------------
Added the possibility to match more than one line with a pattern. (partly by
Loic Grenie)
New items in a search pattern for multi-line matches:
\n match end-of-line, also in []
\_[] match characters in range and end-of-line
\_x match character class and end-of-line
\_. match any character or end-of-line
\_^ match start-of-line, can be used anywhere in the regexp
\_$ match end-of-line, can be used anywhere in the regexp
Various other new items in search patterns:
\c ignore case for the whole pattern
\C match case for the whole pattern
\m magic on for the following
\M magic off for the following
\v make following characters "very magic"
\V make following characters "very nomagic"
\@! don't match atom before this.
Example: "foo\(bar\)\@!" matches "foo " but not "foobar".
\@= match atom, resulting in zero-width match
Example: "foo\(bar\)\@=" matches "foo" in "foobar".
\@<! don't match preceding atom before the current position
\@<= match preceding atom before the current position
\@> match preceding atom as a subexpression
\& match only when branch before and after it match
\%[] optionally match a list of atoms; "end\%[if]" matches "end",
"endi" and "endif"
\%(\) like \(\), but without creating a back-reference; there can be
any number of these, overcomes the limit of nine \( \) pairs
\%^ match start-of-file (Chase Tingley)
\%$ match end-of-file (Chase Tingley)
\%# Match with the cursor position. (Chase Tingley)
\? Just like "\=" but can't be used in a "?" command.
\%23l match in line 23
\%<23l match before line 23
\%>23l match after line 23
\%23c, \%<23c, \%>23c match in/before/after column 23
\%23v, \%<23v, \%>23v match in/before/after virtual column 23
For syntax items:
\z(...\) external reference match set (in region start pattern)
\z1 - \z9 external reference match use (in region skip or end pattern)
(Scott Bigham)
\zs use position as start of match
\ze use position as end of match
Removed limit of matching only up to 32767 times with *, \+, etc.
Added support to match multi-byte characters. (partly by Muraoka Taro)
Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
UTF-8 support *new-utf-8*
-------------
Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be
used, but only 16 bit characters are displayed. Up to two combining
characters are supported, they overprint the preceding character.
Double-wide characters are also supported. See |UTF-8|.
UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to
UTF-8 internally. There is also support for editing Unicode files in a Latin1
environment. Other encodings are converted with iconv() or an external
converter specified with 'charconvert'.
Many new items for Multi-byte support:
- Added 'encoding' option: specifies character encoding used inside Vim. It
can be any 8-bit encoding, some double-byte encodings or Unicode.
It is initialized from the environment when a supported value is found.
- Added 'fileencoding' and 'fileencodings': specify character coding in a
file, similar to 'fileformat' and 'fileformats'.
When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will
automatically switch to latin1 if a file does not contain valid UTF-8.
- Added 'bomb' option and detection of a BOM at the start of a file. Can be
used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode
file if it starts with a BOM. Especially useful on MS-Windows (NT and
2000), which uses ucs-2le files with a BOM (e.g., when exporting the
registry).
- Added the 'termencoding' option: Specifies the encoding used for the
terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: >
:let &termencoding = &encoding
:set encoding=utf-8
- When 'viminfo' contains the 'c' flag, the viminfo file is converted from the
'encoding' it was written with to the current 'encoding'.
- Added ":scriptencoding" command: convert lines in a sourced script to
'encoding'. Useful for menu files.
- Added 'guifontwide' to specify a font for double-wide characters.
- Added Korean support for character class detection. Also fix cls() in
search.c. (Chong-Dae Park)
- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev)
- Win32 with Mingw: compile with iconv library. (Ron Aaron)
- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
- Make it possible to build a version with multi-byte and iconv support with
Borland 5.5. (Yasuhiro Matsumoto)
- Added 'delcombine' option: Delete combining character separately. (Ron
Aaron)
- The "xfontset" feature isn't required for "xim". These are now two
independent features.
- XIM: enable XIM when typing a language character (Insert mode, Search
pattern, "f" or "r" command). Disable XIM when typing a Normal mode
command.
- When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun)
- Support "CursorIM" for XIM. (Nam SungHyun)
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
each multibyte character, not only at a space.
- Made ":syntax keyword" work with multi-byte characters.
- Added support for Unicode upper/lowercase flipping and comparing. (based on
patch by Raphael Finkel)
Let "~" on multi-byte characters that have a third case ("title case")
switch between the three cases. (Raphael Finkel)
Allow defining digraphs for multi-byte characters.
Added RFC1345 digraphs for Unicode.
Most Normal mode commands that accept a character argument, like "r", "t" and
"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
Vi compatible.
Added Language mapping and 'keymap' to be able to type multi-byte characters:
- Added the ":lmap" command and friends: Define mappings that are used when
typing characters in the language of the text. Also for "r", "t", etc. In
Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
CTRL-^ also toggles the use of an input method when no language mappings are
present. Allows switching the IM back on halfway typing.
- "<char-123>" argument to ":map", allows to specify the decimal, octal or
hexadecimal value of a character.
- Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to
define mappings for the keymap. The new ":loadkeymap" command is used in
the keymap file.
- Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when
it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are
active. Show this text in the default statusline too.
- Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings
and Input Method with an option. (Muraoka Taro)
Added 'imcmdline' option: When set the input method is always enabled when
starting to edit a command line. Useful for a XIM that uses dead keys to
type accented characters.
Added 'imactivatekey' option to better control XIM. (Muraoka Taro)
- When typing a mapping that's not finished yet, display the last character
under the cursor in Insert mode and Command-line mode. Looks good for dead
characters.
- Made the 'langmap' option recognize multi-byte characters. But mapping only
works for 8-bit characters. Helps when using UTF-8.
- Use a different cursor for when ":lmap" mappings are active. Can specify
two highlight groups for an item in 'guicursor'. By default "lCursor" and
"Cursor" are equal, the user must set a color he likes.
Use the cursor color for hangul input as well. (Sung-Hyun Nam)
- Show "(lang)" for 'showmode' when language mapping is enabled.
- UTF-8: Made "r" work with a ":lmap" that includes a composing character.
Also works for "f", which now works to find a character that includes a
composing character.
Other multi-byte character additions:
- Support double-byte single-width characters for euc-jp: Characters starting
with 0x8E. Added ScreenLines2[] to store the second byte.
Multi-language support *new-multi-lang*
----------------------
The messages used in Vim can be translated. Several translations are
available. This uses the gettext mechanism. It allows adding a translation
without recompiling Vim. |multi-lang| (partly by Marcin Dalecki)
The translation files are in the src/po directory. The src/po/README.txt file
explains a few things about doing a translation.
Menu translations are available as well. This uses the new |:menutranslate|
command. The translations are found in the runtime directory "lang". This
allows a user to add a translation.
Added |:language| command to set the language (locale) for messages, time and
character type. This allows switching languages in Vim without changing the
locale outside of Vim.
Made it possible to have vimtutor use different languages. (Eduardo Fernandez)
Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro
Matsumoto) and French (Adrien Beau) translations are included.
Added "vimtutor.bat": script to start Vim on a copy of the tutor file for
MS-Windows. (Dan Sharp)
- Added v:lang variable to be able to get current language setting.
(Marcin Dalecki) Also v:lc_time and v:ctype.
- Make it possible to translate the dialogs used by the menus. Uses global
"menutrans_" variables. ":menutrans clear" deletes them.
- removed "broken locale" (Marcin Dalecki).
- Don't use color names in icons, use RGB values. The names could be
translated.
- Win32: Added global IME support (Muraoka)
- Win32: Added dynamic loading of IME support.
- ":messages" prints a message about who maintains the messages or the
translations. Useful to find out where to make a remark about a wrong
translation.
- --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun
Nam)
- Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez)
- When available, call bind_textdomain_codeset() to have gettext() translate
messages to 'encoding'. This requires GNU gettext 0.10.36 or later.
- Added gettext support for Win32. This means messages will be translated
when the locale is set and libintl.dll can be found. (Muraoka Taro)
Also made it work with MingW compiler. (Eduardo Fernandez)
Detect the language and set $LANG to get the appropriate translated messages
(if supported). Also use $LANG to select a language, v:lang is a very
different kind of name.
- Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto)
Plugin support *new-plugins*
--------------
To make it really easy to load a Vim script when starting Vim, the "plugin"
runtime directory can be used. All "*.vim" files in it will be automatically
loaded. For Unix, the directory "~/.vim/plugin" is used by default. The
'runtimepath' option can be set to look in other directories for plugins.
|load-plugins| |add-plugin|
The |:runtime| command has been added to load one or more files in
'runtimepath'.
Standard plugins:
netrw.vim - Edit files over a network |new-network-files|
gzip.vim - Edit compressed files
explorer.vim - Browse directories |new-file-browser|
Added support for local help files. |add-local-help|.
When searching for help tags, all "doc/tags" files in 'runtimepath' are used.
Added the ":helptags" command: Generate a tags file for a help directory.
The first line of each help file is automagically added to the "LOCAL
ADDITIONS" section in doc/help.txt.
Added the <unique> argument to ":map": only add a mapping when it wasn't
defined before.
When displaying an option value with 'verbose' set will give a message about
where the option was last set. Very useful to find out which script did set
the value.
The new |:scriptnames| command displays a list of all scripts that have been
sourced.
GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps"
directories in 'runtimepath'. Allows adding your own bitmaps.
Filetype plugins *new-filetype-plugins*
-----------------
A new group of files has been added to do settings for specific file types.
These can be options and mappings which are specifically used for one value of
'filetype'.
The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option
makes it possible to use several sets of plugins: Your own, system-wide,
included in the Vim distribution, etc.
To be able to make this work, several features were added:
- Added the "s:" variables, local to a script. Avoids name conflicts with
global variables. They can be used in the script and in functions,
autocommands and user commands defined in the script. They are kept between
invocations of the same script. |s:var|
- Added the global value for local options. This value is used when opening
a new buffer or editing another file. The option value specified in a
modeline or filetype setting is not carried over to another buffer.
":set" sets both the local and the global value.
":setlocal" sets the local option value only.
":setglobal" sets or displays the global value for a local option.
":setlocal name<" sets a local option to its global value.
- Added the buffer-local value for some global options: 'equalprg', 'makeprg',
'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags',
'include' and 'define'. This allows setting a local value for these global
options, without making it incompatible.
- Added mappings and abbreviations local to a buffer: ":map <buffer>".
- In a mapping "<Leader>" can be used to get the value of the "mapleader"
variable. This simplifies mappings that use "mapleader". "<Leader>"
defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This
is to be used for mappings local to a buffer.
- Added <SID> Script ID to define functions and mappings local to a script.
- Added <script> argument to ":noremap" and ":noremenu": Only remap
script-local mappings. Avoids that mappings from other scripts get in the
way, but does allow using mappings defined in the script.
- User commands can be local to a buffer: ":command -buffer".
The new ":setfiletype" command is used in the filetype detection autocommands,
to avoid that 'filetype' is set twice.
File browser *new-file-browser*
------------
When editing a directory, the explorer plugin will list the files in the
directory. Pressing <Enter> on a file name edits that file. Pressing <Enter>
on a directory moves the browser to that directory.
There are several other possibilities, such as opening a file in the preview
window, renaming files and deleting files.
Editing files over a network *new-network-files*
----------------------------
Files starting with scp://, rcp://, ftp:// and http:// are recognized as
remote files. An attempt is made to access these files with the indicated
method. For http:// only reading is possible, for the others writing is also
supported. Uses the netrw.vim script as a standard "plugin". |netrw|
Made "gf" work on a URL. It no longer assumes the file is local on the
computer (mostly didn't work anyway, because the full path was required).
Adjusted test2 for this.
Allow using a URL in 'path'. Makes ":find index.html" work.
GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes
care of downloading the file. (MiKael Berthe)
Window for command-line editing *new-cmdwin*
-------------------------------
The Command-line window can be used to edit a command-line with Normal and
Insert mode commands. When it is opened it contains the history. This allows
copying parts of previous command lines. |cmdwin|
The command-line window can be opened from the command-line with the key
specified by the 'cedit' option (like Nvi). It can also be opened directly
from Normal mode with "q:", "q/" and "q?".
The 'cmdwinheight' is used to specify the initial height of the window.
In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like
it's done on the command-line. This is also useful for writing Vim scripts!
Additionally, there is "improved Ex mode". Entered when Vim is started as
"exim" or "vim -E", and with the "gQ" command. Works like repeated use of
":", with full command-line editing and completion. (Ulf Carlsson)
Debugging mode *new-debug-mode*
--------------
In debugging mode sourced scripts and user functions can be executed line by
line. There are commands to step over a command or step into it. |debug-mode|
Breakpoints can be set to run until a certain line in a script or user
function is executed. |:breakadd|
Debugging can be started with ":debug {cmd}" to debug what happens when a
command executes. The |-D| argument can be used to debug while starting up.
Cursor in virtual position *new-virtedit*
--------------------------
Added the 'virtualedit' option: Allow positioning the cursor where there is no
actual character in Insert mode, Visual mode or always. (Matthias Kramm)
This is especially useful in Visual-block mode. It allows positioning a
corner of the area where there is no text character. (Many improvements by
Chase Tingley)
Debugger interface *new-debug-itf*
------------------
This was originally made to work with Sun Visual Workshop. (Gordon Prieur)
See |debugger.txt|, |sign.txt| and |workshop.txt|.
Added the ":sign" command to define and place signs. They can be displayed
with two ASCII characters or an icon. The line after it can be highlighted.
Useful to display breakpoints and the current PC position.
Added the |:wsverb| command to execute debugger commands.
Added balloon stuff: 'balloondelay' and 'ballooneval' options.
Added "icon=" argument for ":menu". Allows defining a specific icon for a
ToolBar item.
Communication between Vims *new-vim-server*
--------------------------
Added communication between two Vims. Makes it possible to send commands from
one Vim to another. Works for X-Windows and MS-Windows |clientserver|.
Use "--remote" to have files be edited in an already running Vim.
Use "--remote-wait" to do the same and wait for the editing to finish.
Use "--remote-send" to send commands from one Vim to another.
Use "--remote-expr" to have an expression evaluated in another Vim.
Use "--serverlist" to list the currently available Vim servers. (X only)
There are also functions to communicate between the server and the client.
|remote_send()| |remote_expr()|
(X-windows version implemented by Flemming Madsen, MS-Windows version by Paul
Moore)
Added the command server name to the window title, so you can see which server
name belongs to which Vim.
Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the
distribution. Can now use "gvim --remote" and "gvim --remote-send", which is
portable.
GTK+: Support running Vim inside another window. Uses the --socketid argument
(Neil Bird)
Buffer type options *new-buftype*
-------------------
The 'buftype' and 'bufhidden' options have been added. They can be set to
have different kinds of buffers. For example:
- 'buftype' = "quickfix": buffer with error list
- 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be
deleted as soon as there is no window displaying it.
'bufhidden' can be used to overrule the 'hidden' option for one buffer.
In combination with 'buflisted' and 'swapfile' this offers the possibility to
use various kinds of special buffers. See |special-buffers|.
Printing *new-printing*
--------
Included first implementation of the ":hardcopy" command for printing
to paper. For MS-Windows any installed printer can be used. For other
systems a PostScript file is generated, which can be printed with the
'printexpr' option.
(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
Mike Williams)
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
Matsumoto)
Added options to tune the way printing works: (Vince Negri)
- 'printoptions' defines various things.
- 'printheader' specifies the header format. Added "N" field to 'statusline'
for the page number.
- 'printfont' specifies the font name and attributes.
- 'printdevice' defines the default printer for ":hardcopy!".
Ports *ports-6*
-----
Port to OS/390 Unix (Ralf Schandl)
- A lot of changes to handle EBCDIC encoding.
- Changed Ctrl('x') to Ctrl_x define.
Included jsbmouse support. (Darren Garth)
Support for dec mouse in Unix. (Steve Wall)
Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri)
Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid)
Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron)
Added Python support for compiling with Mingw. (Ron Aaron)
Dos 32 bit: Added support the Windows clipboard. (David Kotchan)
Win32: Dynamically load Perl and Python. Allows compiling Vim with these
interfaces and will try to find the DLLs at runtime. (Muraoka Taro)
Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and
uninstall. (Gerfried)
Mac: Make Vim compile with the free MPW compiler supplied by Apple. And
updates for CodeWarrior. (Axel Kielhorn)
Added typecasts and ifdefs as a start to make Vim work on Win64 (George
Reilly)
Quickfix extended *quickfix-6*
-----------------
Added the "error window". It contains all the errors of the current error
list. Pressing <Enter> in a line makes Vim jump to that line (in another
window). This makes it easy to navigate through the error list.
|quickfix-window|.
- |:copen| opens the quickfix window.
- |:cclose| closes the quickfix window.
- |:cwindow| takes care that there is a quickfix window only when there are
recognized errors. (Dan Sharp)
- Quickfix also knows "info", next to "warning" and "error" types. "%I" can be
used for the start of a multi-line informational message. (Tony Leneis)
- The "%p" argument can be used in 'errorformat' to get the column number from
a line where "^" points to the column. (Stefan Roemer)
- When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:"
in the filename, even when using "%f:".
Operator modifiers *new-operator-mod*
------------------
Insert "v", "V" or CTRL-V between an operator and a motion command to force
the operator to work characterwise, linewise or blockwise. |o_v|
Search Path *new-search-path*
-----------
Vim can search in a directory tree not only in downwards but also upwards.
Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl)
Also use "**" for 'tags' option. (Ralf Schandl)
Added 'includeexpr', can be used to modify file name found by 'include'
option.
Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found
without modification. Useful for doing "gf" on the name after an include or
import statement.
Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf)
Added the 'suffixesadd' option: Suffixes to be added to a file name when
searching for a file for the "gf", "[I", etc. commands.
Writing files improved *new-file-writing*
----------------------
Added the 'backupcopy' option: Select whether a file is to be copied or
renamed to make a backup file. Useful on Unix to speed up writing an ordinary
file. Useful on other systems to preserve file attributes and when editing a
file on a Unix filesystem.
Added the 'autowriteall' option. Works like 'autowrite' but for more
commands.
Added the 'backupskip' option: A list of file patterns to skip making a backup
file when it matches. The default for Unix includes "/tmp/*", this makes
"crontab -e" work.
Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL
is copied from the original file to the new file (or the backup if it's
copied).
ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren)
And on SGI.
Argument list *new-argument-list*
-------------
The support for the argument list has been extended. It can now be
manipulated to contain the files you want it to contain.
The argument list can now be local to a window. It is created with the
|:arglocal| command. The |:argglobal| command can be used to go back to the
global argument list.
The |:argdo| command executes a command on all files in the argument list.
File names can be added to the argument list with |:argadd|. File names can
be removed with |:argdelete|.
"##" can be used like "#", it is replaced by all the names in the argument
list concatenated. Useful for ":grep foo ##".
The |:argedit| adds a file to the argument list and edits it. Like ":argadd"
and then ":edit".
Restore a View *new-View*
--------------
The ":mkview" command writes a Vim script with the settings and mappings for
one window. When the created file is sourced, the view of the window is
restored. It's like ":mksession" for one window.
The View also contains the local argument list and manually created, opened
and closed folds.
Added the ":loadview" command and the 'viewdir' option: Allows for saving and
restoring views of a file with simple commands. ":mkview 1" saves view 1 for
the current file, ":loadview 1" loads it again. Also allows quickly switching
between two views on one file. And saving and restoring manual folds and the
folding state.
Added 'viewoptions' to specify how ":mkview" works.
":mksession" now also works fine with vertical splits. It has been further
improved and restores the view of each window. It also works properly with
preview and quickfix windows.
'sessionoptions' is used for ":mkview" as well.
Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what
the current directory will be restored to.
The session file now also contains the argument list(s).
Color schemes *new-color-schemes*
-------------
Support for loading a color scheme. Added the ":colorscheme" command.
Automatically add menu entries for available schemes.
Should now properly reset the colors when 'background' or 't_Co' is changed.
":highlight clear" sets the default colors again.
":syntax reset" sets the syntax highlight colors back to the defaults.
For ":set bg&" guess the value. This allows a color scheme to switch back to
the default colors.
When syntax highlighting is switched on and a color scheme was defined, reload
the color scheme to define the colors.
Various new items *new-items-6*
-----------------
Normal mode commands: ~
"gi" Jump to the ^ mark and start Insert mode. Also works when the
mark is just after the line. |gi|
"g'm" and "g`m"
Jump to a mark without changing the jumplist. Now you can use
g`" to jump to the last known position in a file without side
effects. Also useful in mappings.
[', [`, ]' and ]`
move the cursor to the next/previous lowercase mark.
g_ Go to last non-blank in line. (Steve Wall)
Options: ~
'autoread' When detected that a file changed outside of Vim,
automatically read a buffer again when it's not changed.
It has a global and a local value. Use ":setlocal autoread<"
to go back to using the global value for 'autoread'.
'debug' When set to "msg" it will print error messages that would
otherwise be omitted. Useful for debugging 'indentexpr' and
'foldexpr'.
'lispwords' List of words used for lisp indenting. It was previously hard
coded. Added a number of Lisp names to the default.
'fold...' Many new options for folding.
'modifiable' When off, it is impossible to make changes to a buffer.
The %m and %M items in 'statusline' show a '-'.
'previewwindow' Set in the preview window. Used in a session file to mark a
window as the preview window.
'printfont'
'printexpr'
'printheader'
'printdevice'
'printoptions' for ":hardcopy".
'buflisted' Makes a buffer appear in the buffer list or not.
Use "vim{version}:" for modelines, only to be executed when the version is
>= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}".
Ex commands: ~
:sav[eas][!] {file}
Works like ":w file" and ":e #", but without loading the file
again and avoiding other side effects. |:saveas|
:silent[!] {cmd}
Execute a command silently. Also don't use a delay that would
come after the message. And don't do 'showmatch'.
RISCOS: Removed that "!~cmd" didn't output anything, and
didn't wait for <Enter> afterwards. Can use ":silent !cmd"
now.
:menu <silent> Add a menu that won't echo Ex commands.
:map <silent> Add a mapping that won't echo Ex commands.
:checktime Check for changed buffers.
:verbose {cmd} Set 'verbose' for one command.
:echomsg {expr}
:echoerr {expr} Like ":echo" but store the message in the history. (Mark
Waggoner)
:grepadd Works just like ":grep" but adds to the current error list
instead of defining a new list. |:grepadd|
:finish Finish sourcing a file. Can be used to skip the rest of a Vim
script. |:finish|
:leftabove
:aboveleft Split left/above current window.
:rightbelow
:belowright Split right/below current window.
:first, :bfirst, :ptfirst, etc.
Alias for ":rewind". It's more logical compared to ":last".
:enew Edit a new, unnamed buffer. This is needed, because ":edit"
re-edits the same file. (Wall)
:quitall Same as ":qall".
:match Define match highlighting local to a window. Allows
highlighting an item in the current window without interfering
with syntax highlighting.
:menu enable
:menu disable Commands to enable/disable menu entries without removing them.
(Monish Shah)
:windo Execute a command in all windows.
:bufdo Execute a command in all buffers.
:wincmd Window (CTRL-W) command. Useful when a Normal mode command
can't be used (e.g., for a CursorHold autocommand). See
|CursorHold-example| for a nice application with it.
:lcd and :lchdir
Set local directory for a window. (Benjie Chen)
:hide {command}
Execute {command} with 'hidden' set.
:emenu in Visual mode to execute a ":vmenu" entry.
:popup Pop up a popup menu.
:redraw Redraw the screen even when busy with a script or function.
:hardcopy Print to paper.
:compiler Load a Vim script to do settings for a specific compiler.
:z# List numbered lines. (Bohdan Vlasyuk)
New marks: ~
'( and ') Begin or end of current sentence. Useful in Ex commands.
'{ and '} Begin or end of current paragraph. Useful in Ex commands.
'. Position of the last change in the current buffer.
'^ Position where Insert mode was stopped.
Store the ^ and . marks in the viminfo file. Makes it possible to jump to the
last insert position or changed text.
New functions: ~
argidx() Current index in argument list.
buflisted() Checks if the buffer exists and has 'buflisted' set.
cindent() Get indent according to 'cindent'.
eventhandler() Returns 1 when inside an event handler and interactive
commands can't be used.
executable() Checks if a program or batch script can be executed.
filewritable() Checks if a file can be written. (Ron Aaron)
foldclosed() Find out if there is a closed fold. (Johannes Zellner).
foldcloseend() Find the end of a closed fold.
foldlevel() Find out the foldlevel. (Johannes Zellner)
foreground() Move the GUI window to the foreground.
getchar() Get one character from the user. Can be used to define a
mapping that takes an argument.
getcharmod() Get last used key modifier.
getbufvar() gets the value of an option or local variable in a buffer (Ron
Aaron)
getfsize() Return the size of a file.
getwinvar() gets the value of an option or local variable in a window (Ron
Aaron)
globpath() Find matching files in a list of directories.
hasmapto() Detect if a mapping to a string is already present.
iconv() Convert a string from one encoding to another.
indent() gets the indent of a line (Ron Aaron)
inputdialog() Like input() but use a GUI dialog when possible. Currently
only works for Win32, Motif, Athena and GTK.
Use inputdialog() for the Edit/Settings/Text Width menu. Also
for the Help/Find.. and Toolbar FindHelp items.
(Win32 support by Thore B. Karlsen)
(Win16 support by Vince Negri)
inputsecret() Ask the user to type a string without showing the typed keys.
(Charles Campbell)
libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall)
libcallnr() for Win32 and Unix
lispindent() Get indent according to 'lisp'.
mode() Return a string that indicates the current mode.
nextnonblank() Skip blank lines forwards.
prevnonblank() Skip blank lines backwards. Useful to for indent scripts.
resolve() MS-Windows: resolve a shortcut to the file it points to.
Unix: resolve a symbolic link.
search() Search for a pattern.
searchpair() Search for matching pair. Can be used in indent files to find
the "if" matching an endif.
setbufvar() sets an option or variable local to a buffer (Ron Aaron)
setwinvar() sets an option or variable local to a window (Ron Aaron)
stridx() Search for first occurrence of one string in another.
strridx() Search for last occurrence of one string in another.
tolower() Convert string to all-lowercase.
toupper() Convert string to all-uppercase.
type() Check the type of an expression.
wincol() window column of the cursor
winwidth() Width of a window. (Johannes Zellner)
winline() window line of the cursor
Added expansion of curly braces in variable and function names. This can be
used for variable names that include the value of an option. Or a primitive
form of arrays. (Vince Negri)
New autocommand events: ~
BufWinEnter Triggered when a buffer is displayed in a window, after using
the modelines. Can be used to load a view.
BufWinLeave Triggered when a buffer is no longer in a window. Also
triggered when exiting Vim. Can be used to save views.
FileChangedRO Triggered before making the first change to a read-only file.
Can be used to check-out the file. (Scott Graham)
TermResponse Triggered when the terminal replies to the version-request.
The v:termresponse internal variable holds the result. Can be
used to react to the version of the terminal. (Ronald Schild)
FileReadCmd Triggered before reading a file.
BufReadCmd Triggered before reading a file into a buffer.
FileWriteCmd Triggered before writing a file.
BufWriteCmd Triggered before writing a buffer into a file.
FileAppendCmd Triggered before appending to a file.
FuncUndefined Triggered when a user function is not defined. (Ron Aaron)
The autocommands for the *Cmd events read or write the file instead of normal
file read/write. Use this in netrw.vim to be able to edit files on a remote
system. (Charles Campbell)
New Syntax files: ~
bdf BDF font definition (Nikolai Weibull)
catalog SGML catalog (Johannes Zellner)
debchangelog Debian Changelog (Wichert Akkerman)
debcontrol Debian Control (Wichert Akkerman)
dot dot (Markus Mottl)
dsl DSSSL syntax (Johannes Zellner)
eterm Eterm configuration (Nikolai Weibull)
indent Indent profile (Nikolai Weibull)
lftp LFTP (Nikolai Weibull)
lynx Lynx config (Doug Kearns)
mush mush sourcecode (Bek Oberin)
natural Natural (Marko Leipert)
pilrc Pal resource compiler (Brian Schau)
plm PL/M (Philippe Coulonges)
povini Povray configuration (David Necas)
ratpoison Ratpoison config/command (Doug Kearns)
readline readline config (Nikolai Weibull)
screen Screen RC (Nikolai Weibull)
specman Specman (Or Freund)
sqlforms SQL*Forms (Austin Ziegler)
terminfo terminfo (Nikolai Weibull)
tidy Tidy configuration (Doug Kearns)
wget Wget configuration (Doug Kearns)
Updated many syntax files to work both with Vim 5.7 and 6.0.
Interface to Ruby. (Shugo Maeda)
Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro)
Support this for Mingw too. (Benoit Cerrina)
Win32: Added possibility to load TCL dynamically. (Muraoka Taro)
Also for Borland 5.5. (Dan Sharp)
Win32: When editing a file that is a shortcut (*.lnk file), edit the file it
links to. Unless 'binary' is set, then edit the shortcut file itself.
(Yasuhiro Matsumoto)
The ":command" command now accepts a "-bar" argument. This allows the user
command to be followed by "| command".
The preview window is now also used by these commands:
- |:pedit| edits the specified file in the preview window
- |:psearch| searches for a word in included files, like |:ijump|, and
displays the found text in the preview window.
Added the CTRL-W P command: go to preview window.
MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly
for NT systems with multiple users.
A double-click of the mouse on a character that has a "%" match selects from
that character to the match. Similar to "v%".
"-S session.vim" argument: Source a script file when starting up. Convenient
way to start Vim with a session file.
Added "--cmd {command}" Vim argument to execute a command before a vimrc file
is loaded. (Vince Negri)
Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow
making changes and writing files.
Added runtime/delmenu.vim. Source this to remove all menus and prepare for
loading new menus. Useful when changing 'langmenu'.
Perl script to filter Perl error messages to quickfix usable format. (Joerg
Ziefle)
Added runtime/macros/less.vim: Vim script to simulate less, but with syntax
highlighting.
MS-Windows install program: (Jon Merz)
- The Win32 program can now create shortcuts on the desktop and install Vim in
the Start menu.
- Possibly remove old "Edit with Vim" entries.
- The Vim executable is never moved or $PATH changed. A small batch file is
created in a directory in $PATH. Fewer choices to be made.
- Detect already installed Vim versions and offer to uninstall them first.
Improved the MS-Windows uninstal program. It now also deletes the entries in
the Start menu, icons from the desktop and the created batch files. (Jon Merz)
Also made it possible to delete only some of these. Also unregister gvim for
OLE.
Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon
Merz et al.)
Added ":filetype detect". Try detecting the filetype again. Helps when
writing a new shell script, after adding "#!/bin/csh".
Added ":augroup! name" to delete an autocommand group. Needed for the
client-server "--remote-wait".
Add the Vim version number to the viminfo file, useful for debugging.
==============================================================================
IMPROVEMENTS *improvements-6*
Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not
put between line numbers from 'number' option. Makes it a lot easier to read
wrapped lines.
When there is a format error in a tags file, the byte position is reported so
that the error can be located.
"gf" works in Visual mode: Use the selected text as the file name. (Chase
Tingley)
Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest
matching one is used. Especially useful for ":lmap" and 'keymap'.
Encryption: Ask the key to be typed twice when crypting the first time.
Otherwise a typo might cause the text to be lost forever. (Chase Tingley)
The window title now has "VIM" on the end. The file name comes first, useful
in the taskbar. A "+" is added when the file is modified. "=" is added for
a read-only file. "-" is added for a file with 'modifiable' off.
In Visual mode, mention the size of the selected area in the 'showcmd'
position.
Added the "b:changedtick" variable. Incremented at each change, also for
undo. Can be used to take action only if the buffer has been changed.
In the replacement string of a ":s" command "\=" can be used to replace with
the result of an expression. From this expression the submatch() function can
be used to access submatches.
When doing ":qall" and there is a change in a buffer that is being edited in
another window, jump to that window, instead of editing that buffer in the
current window.
Added the "++enc=" and "++ff=" arguments to file read/write commands to force
using the given 'encoding' or 'fileformat'. And added the "v:cmdarg"
variable, to be used for FileReadCmd autocommands that read/write the file
themselves.
When reading stdin, first read the text in binary mode and then re-read it
with automatic selection of 'fileformat' and 'fileencoding'. This avoids
problems with not being able to rewind the file (e.g., when a line near the
end of the file ends in LF instead of CR-LF).
When reading text from stdin and the buffer is empty, don't mark it changed.
Allows exiting without trouble.
Added an ID to many error messages. This will make it easier to find help for
a message.
Insert mode:
- "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same
column. Useful for editing a table.
- Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri)
- Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus
completion. Added the 's' flag in 'complete'.
- Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also
scans other loaded buffers for matching lines.
- CTRL-R now also works in Insert mode while doing completion with CTRL-X or
CTRL-N. (Neil Bird)
- When doing Insert mode completion, when completion is finished check for a
match with words from 'cinkeys' or 'indentkeys'.
Performance:
- Made display updating more efficient. Insert/delete lines may be used for
all changes, also for undo/redo.
- The display is not redrawn when there is typeahead in Insert mode. Speeds
up CTRL-R a lot.
- Improved speed of screen output for 32 bit DOS version. (Vince Negri)
- When dragging with the mouse, there is a lookahead to skip mouse codes when
there is another one next. Makes dragging with the mouse a lot faster.
- Also a memory usage improvement: When calling u_save with a single line,
don't save it if the line was recently saved for the same undo already.
- When using a script that appends one character at a time, the amount of
allocated memory was growing steadily. Also when 'undolevels' is -1.
Caused by the line saved for "U" never to be freed. Now free an undo block
when it becomes empty.
- GUI and Dos32: Use a vertical scroll region, to make scrolling in a
vertically split window faster. No need to redraw the whole window.
- When scrolling isn't possible with terminal codes (e.g., for a vertically
split window) redraw from ScreenLines[]. That should be faster than going
through the lines with win_line(), especially when using syntax
highlighting.
- The Syntax menu is now pre-generated by a separate script. Makes loading
the menu 70% faster. This can halve the startup time of gvim.
- When doing ":help tag", don't open help.txt first, jump directly to the help
tag. It's faster and avoids an extra message.
- Win32: When a file name doesn't end in ".lnk" don't try resolving a
shortcut, it takes quite a bit of time.
- Don't update the mouse pointer shape while there are typeahead characters.
- Change META[] from a string into an array, avoids using strchr() on it.
- Don't clear the command line when adding characters, avoids that screen_fill
is called but doesn't do anything.
Robustness:
- Unix: Check for running out of stack space when executing a regexp. Avoids
a nasty crash. Only works when the system supports running the signal
function on another stack.
- Disallow ":source <dirname>". On unix it's possible to read a directory,
does not make sense to use it as Vim commands.
Security:
- When reading from or writing to a temporary file, check that it isn't a
symbolic link. Gives some protection against symlink attacks.
- When creating a backup file copy or a swap file, check for it already
existing to avoid a symlink attack. (Colin Phipps)
- Evaluating options which are an expression is done in a |sandbox|. If the
option was set by a modeline, it cannot cause damage.
- Use a secure way to generate temp file names: Create a private directory for
temp files. Used for Unix, MS-DOS and OS/2.
- 'makeef' can be empty, which means that an internally generated file name is
used. The old default was "/tmp/file", which is a security risk.
Writing 'makeef' in the current directory fails in a read-only directory and
causes trouble when using ":grep" on all files. Made the default empty for
all systems, so that a temp file is used.
- The command from a tags file is executed in the sandbox for better security.
- The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They
might do dangerous things. Perl is still possible, but limited to the Safe
environment. (Donnie Smith)
Syntax highlighting:
- Optimized the speed by caching the state stack all over the file, not just
the part being displayed. Required for folding.
- Added ":syntax sync fromstart": Always parse from the start of the file.
- Added the "display" argument for syntax items: use the item only when
displaying the result. Can make parsing faster for text that isn't going to
be displayed.
- When using CTRL-L, the cached states are deleted, to force parsing the text
again.
- Use elfhash algorithm for table of keywords. This should give a better
distribution and speedup keyword lookup. (Campbell)
- Also allow the "lc" leading context for skip and end patterns. (Scott
Bigham)
- Syntax items can have the "extend" argument to undo the effect of a
"keepend" argument of an item it is contained in. Makes it possible to have
some contained items extend a region while others don't.
- ":syntax clear" now deletes the b:current_syntax variable. That's logical,
since no syntax is defined after this command.
- Added ":syntax enable": switch on syntax highlighting without changing the
colors. This allows specifying the colors in the .vimrc file without the
need for a mysyntaxfile.
- Added ":syntax reset": reset the colors to their defaults.
- Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it
possible to define a transparent item that doesn't contain itself.
- Added a "containedin" argument to syntax items. Allows adding a contained
item to an existing item (e.g., to highlight a name in a comment).
Modeless selection:
- When in the command-line window, use modeless selection in the other
windows. Makes it possible to copy visible text to the command-line window.
- Support modeless selection on the cmdline in a terminal. Previously it was
only possible for the GUI.
- Make double-right-click in modeless selection select a whole word. Single
right click doesn't use the word selection started by a double-left-click.
Makes it work like in Visual mode.
- The modeless selection no longer has an implied automatic copy to the
clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or
"autoselect" and "autoselectml" in 'clipboard'.
- Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to
the clipboard. Also works at the hit-enter prompt and the more prompt.
Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in
cmdline-mode to be able to use CTRL-Y in the new way.
Reduced the amount of stack space used by regmatch() to allow it to handle
complicated patterns on a longer text.
'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS.
Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave
like the ASCII equivalent. (Ivan Wellesz and Vince Negri)
Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home>
Also trigger the BufUnload event when Vim is going to exit. Perhaps a script
needs to do some cleaning up.
Expand expression in backticks: `={expr}`. Can be used where backtick
expansion is done. (Vince Negri)
GUI:
- Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only
when there is a vertically split window.
- X11: When a color can't be allocated, use the nearest match from the
colormap. This avoids that black is used for many things. (Monish Shah)
Also do this for the menu and scrollbar, to avoid that they become black.
- Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to
the current mode. (Vince Negri)
- Added the 'linespace' option: Insert a pixel line between lines. (Nam)
- Allow modeless selection (without moving the cursor) by keeping CTRL and
SHIFT pressed. (Ivan Wellesz)
- Motif: added toolbar. (Gordon Prieur) Also added tooltips.
- Athena: added toolbar and tooltips. (David Harrison -- based on Gordon
Prieur's work)
- Made the 'toolbar' option work for Athena and Motif. Can now switch between
text and icons on the fly. (David Harrison)
- Support menu separator lines for Athena. (David Harrison)
- Athena: Adjust the arrow pixmap used in a pullright menu to the size of the
font. (David Harrison)
- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
Khodush)
- When no --enable-xim argument is given, automatically enable it when a X GUI
is used. Required for dead key support (and multi-byte input).
- After a file selection dialog, check that the edited files were not changed
or deleted. The Win32 dialog allows deleting and renaming files.
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
- Motif and Athena: Added "menuFont" to be able to specify a font or fontset
for the menus. Can also be set with the "Menu" highlight group. Useful
when the locale is different from 'encoding'. (David Harrison)
When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should
avoid trouble with changing from a font to a fontset. (David Harrison)
- Highlighting and font for the tooltips can be specified with the "Tooltip"
highlight group. (David Harrison)
- The Cmdline-mode menus can be used at the more-prompt. This mostly works
fine, because they start with a CTRL-C. The "Copy" menu works to copy the
modeless selection. Allows copying the output of ":set all" or ":intro"
without auto-selection.
- When starting the GUI when there is no terminal connected to stdout and
stderr, display error messages in a dialog. Previously they wouldn't be
displayed at all.
- Allow setting 'browsedir' to the name of a directory, to be used for the
file dialog. (Dan Sharp)
- b:browsefilter and g:browsefilter can be set to the filters used for the
file dialog. Supported for Win32 and Motif GUI. (Dan Sharp)
X11:
- Support for the clipboard selection as register "+. When exiting or
suspending copy the selection to cut buffer 0. Should allow copy/paste with
more applications in a X11-standard way. (Neil Bird)
- Use the X clipboard in any terminal, not just in an xterm.
Added "exclude:" in 'clipboard': Specify a pattern to match against terminal
names for which no connection should be made to the X server. The default
currently work for FreeBSD and Linux consoles.
- Added a few messages for when 'verbose' is non-zero to show what happens
when trying to connect to the X server. Should help when trying to find out
why startup is slow.
GTK GUI: (partly by Marcin Dalecki)
- With some fonts the characters can be taller than ascent + descent. E.g.,
"-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character
cell height.
- Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut,
when 'wak' changed after creating the menus.
- Setting 'wak' after the GUI started works.
- recycle text GC's to reduce communication.
- Adjust icon size to window manager.
- Cleanup in font handling.
- Replace XQueryColor with GDK calls.
- Gnome support. Detects Gnome in configure and uses different widgets.
Otherwise it's much like GTK. (Andy Kahn)
It is disabled by default, because it causes a few problems.
- Removed the special code to fork first and then start the GUI. Now use
_exit() instead of exit(), this works fine without special tricks.
- Dialogs sometimes appeared a bit far away. Position the dialogs inside
the gvim window. (Brent Verner)
- When dropping a file on Vim, remove extra slashes from the start of the
path. Also shorten the file name if possible.
Motif: (Marcin Dalecki)
- Made the dialog layout better.
- Added find and find/replace dialogs.
- For the menus, change "iso-8859" to "iso_8859", Linux appears to need this.
- Added icon to dialogs, like for GTK.
- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include
file when it's available.
- Change the shadow of the toolbar items to get a visual feedback of it being
pressed on non-LessTif.
- Use gadgets instead of windows for some items for speed.
Command line completion:
- Complete environment variable names. (Mike Steed)
- For ":command", added a few completion methods: "mapping", "function",
"expression" and "environment".
- When a function doesn't take arguments, let completion add () instead of (.
For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR.
(Walter Briscoe)
Redirect messages to the clipboard ":redir @*" and to the unnamed register
":redir @"". (Wall)
":let @/ = ''" clears the search pattern, instead of setting it to an empty
string.
Expression evaluation:
- "? :" can be used like in C.
- col("$") returns the length of the cursor line plus one. (Stephen P. Wall)
- Optional extra argument for match(), matchend() and matchstr(): Offset to
start looking for a match.
- Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera)
- exists() can also be used to check for Ex commands and defined autocommands.
- Added extra argument to input(): Default text.
- Also set "v:errmsg" when using ":silent! cmd".
- Added the v:prevcount variable: v:count for the previous command.
- Added "v:progname", name with which Vim was started. (Vince Negri)
- In the verbose message about returning from a function, also show the return
value.
Cscope:
- Added the cscope_connection() function. (Andy Kahn)
- ":cscope kill -1" kills all cscope connections. (Andy Kahn)
- Added the 'cscopepathcomp' option. (Scott Hauck)
- Added ":scscope" command, split window and execute Cscope command. (Jason
Duell)
VMS:
- Command line arguments are always uppercase. Interpret a "-X" argument as
"-x" and "-/X" as "-X".
- Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy)
- Use the X-clipboard feature and the X command server. (Zoltan Arpadffy)
Macintosh: (Dany St-Amant)
- Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn)
- Carbonized (while keeping non Carbon code)
(Some work "stolen" from Ammon Skidmore)
- Improved the menu item index handling (should be faster)
- Runtime commands now handle / in file name (MacOS 9 version)
- Added ":winpos" support.
- Support using "~" in file names for home directory.
Options:
- When using set += or ^= , check for items used twice. Duplicates are
removed. (Vince Negri)
- When setting an option that is a list of flags, remove duplicate flags.
- If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina)
- Added "alpha" to 'nrformats': increment or decrement an alphabetic character
with CTRL-A and CTRL-X.
- ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim
default. Useful to set 'cpo' to its Vim default without knowing what flags
that includes.
- 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the
window.
- Added more option settings to the default menus.
- Updated the option window with new options. Made it a bit easier to read.
Internal changes:
- Split line pointers in text part and attributes part. Allows for future
change to make attribute more than one byte.
- Provide a qsort() function for systems that don't have it.
- Changed the big switch for Normal mode commands into a table. This cleans
up the code considerably and avoids trouble for some optimizing compilers.
- Assigned a negative value to special keys, to avoid them being mixed up with
Unicode characters.
- Global variables expand_context and expand_pattern were not supposed to be
global. Pass them to ExpandOne() and all functions called by it.
- No longer use the global reg_ic flag. It caused trouble and in a few places
it was not set.
- Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids
problem with autocommands.
- Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too
big. Also moved some code from screen.c to move.c.
- Don't include the CRC table for encryption, generate it. Saves quite a bit
of space in the source code. (Matthias Kramm)
- Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems.
- Removed the GTK implementation of ":findhelp", it now uses the
ToolBar.FindHelp menu entry.
- Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and
mch_shellinit() to mch_init().
Highlighting:
- In a ":highlight" listing, show "xxx" with the highlight color.
- Added support for xterm with 88 or 256 colors. The right color numbers will
be used for the name used in a ":highlight" command. (Steve Wall)
- Added "default" argument for ":highlight". When included, the command is
ignored if highlighting for the group was already defined.
All syntax files now use ":hi default ..." to allow the user to specify
colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed
anymore. This greatly simplifies using non-default colors for a specific
language.
- Adjusted colortest.vim: Included colors on normal background and reduced the
size by using a while loop. (Rafael Garcia-Suarez)
- Added the "DarkYellow" color name. Just to make the list of standard colors
consistent, it's not really a nice color to use.
When an xterm is in 8-bit mode this is detected by the code returned for
|t_RV|. All key codes are automatically converted to their 8-bit versions.
The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the
actual key codes used and the number of colors for t_Co. Only when |t_RV| is
also used.
":browse set" now also works in the console mode. ":browse edit" will give an
error message.
":bdelete" and ":bunload" only report the number of deleted/unloaded buffers
when more than 'report'. The message was annoying when deleting a buffer in a
script.
Jump list:
- The number of marks kept in the jumplist has been increased from 50 to 100.
- The jumplist is now stored in the viminfo file. CTRL-O can be used to jump
to positions from a previous edit session.
- When doing ":split" copy the jumplist to the new window.
Also set the '[ and '] marks for the "~" and "r" commands. These marks are
now always set when making a change with a Normal mode command.
Python interface: Allow setting the width of a vertically split window. (John
Cook)
Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys').
Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes
Zellner)
Added the "l" flag in 'cinoptions'. (Anduin Withers)
Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt)
When doing ":wall" or ":wqall" and a modified buffer doesn't have a name,
mention its buffer number in the error message.
":function Name" lists the function with line numbers. Makes it easier to
find out where an error happened.
In non-blockwise Visual mode, "r" replaces all selected characters with the
typed one, like in blockwise Visual mode.
When editing the last file in the argument list in any way, allow exiting.
Previously this was only possible when getting to that file with ":next" or
":last".
Added the '1' flag to 'formatoptions'. (Vit Stradal)
Added 'n' flag in 'formatoptions': format a numbered list.
Swap file:
- When a swap file already exists, and the user selects "Delete" at the
ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo"
file which won't always be found.
- When giving the ATTENTION message and the date of the file is newer than the
date of swap file, give a warning about this.
- Made the info for an existing swap file a bit shorter, so that it still fits
on a 24 line screen.
- It was possible to make a symlink with the name of a swap file, linking to a
file that doesn't exist. Vim would then silently use another file (if open
with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do
another check for an existing swap file just before creating it to catch a
symlink attack.
The g CTRL-G command also works in Visual mode and counts the number of words.
(Chase Tingley)
Give an error message when using 'shell' and it's empty.
Added the possibility to include "%s" in 'shellpipe'.
Added "uhex" value for 'display': show non-printable characters as <xx>.
Show unprintable characters with NonText highlighting, also in the command
line.
When asked to display the value of a hidden option, tell it's not supported.
Win32:
- When dropping a shortcut on gvim (.lnk file) edit the target, not the
shortcut itself. (Yasuhiro Matsumoto)
- Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe)
- When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too.
Also check for the Unix shell names.
- When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig
Barkhouse)
Win32 console version:
- Includes the user and system name in the ":version" message, when available.
It generates a pathdef.c file for this. (Jon Miner)
- Set the window icon to Vim's icon (only for Windows 2000). While executing
a shell command, modify the window title to show this. When exiting,
restore the cursor position too. (Craig Barkhouse)
- The Win32 console version can be compiled with OLE support. It can only
function as a client, not as an OLE server.
Errorformat:
- Let "%p" in 'errorformat' (column of error indicated by a row of characters)
also accept a line of dots.
- Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp)
- Added a default 'errorformat' value for VMS. (Jim Bush)
The "p" command can now be used in Visual mode. It overwrites the selected
text with the contents of a register.
Highlight the <> items in the intro message to make clear they are special.
When using the "c" flag for ":substitute", allow typing "l" for replacing this
item and then stop: "last".
When printing a verbose message about sourcing another file, print the line
number.
When resizing the Vim window, don't use 'equalalways'. Avoids that making the
Vim window smaller makes split windows bigger. And it's what the docs say.
When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR
kept the remaining white space. Now made it work like BS: delete the
autoindent to avoid a blank non-empty line results.
Added a GetHwnd() call to the OLE interface. (Vince Negri)
Made ":normal" work in an event handler. Useful when dropping a file on Vim
and for CursorHold autocommands.
For the MS-Windows version, don't change to the directory of the file when a
slash is used instead of a backslash. Explorer should always use a backslash,
the user can use a slash when typing the command.
Timestamps:
- When a buffer was changed outside of Vim and regaining focus, give a dialog
to allow the user to reload the file. Now also for other GUIs than
MS-Windows. And also used in the console, when compiled with dialog
support.
- Inspect the file contents to find out if it really changed, ignore
situations where only the time stamp changed (e.g., checking the file out
from CVS).
- When checking the timestamp, first check if the file size changed, to avoid
a file compare then. Makes it quicker for large (log) files that are
appended to.
- Don't give a warning for a changed or deleted file when 'buftype' is set.
- No longer warn for a changed directory. This avoids that the file explorer
produces warnings.
- Checking timestamps is only done for buffers that are not hidden. These
will be checked when they become unhidden.
- When checking for a file being changed outside of Vim, also check if the
file permissions changed. When the file contents didn't change but the
permissions did, give a warning.
- Avoid checking too often, otherwise the dialog keeps popping up for a log
file that steadily grows.
Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very
hard to find problems. Disallow mapping part of a multi-byte character.
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
Also for ":ruby" and ":perl". (Benoit Cerrina)
Made ":syn include" use 'runtimepath' when the file name is not a full path.
When 'switchbuf' contains "split" and the current window is empty, don't split
the window.
Unix: Catch SIGPWR to preserve files when the power is about to go down.
Sniff interface: (Anton Leherbauer)
- fixed windows code, esp. the event handling stuff
- adaptations for sniff 4.x ($SNIFF_DIR4)
- support for adding sniff requests at runtime
Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt
key is used.
":find" accepts a count, which means that the count'th match in 'path' is
used.
":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a
buffer is active show "a" instead of nothing. When a buffer isn't loaded
show nothing instead of "-".
Unix install:
- When installing the tools, set absolute paths in tools scripts efm_perl.pl
and mve.awk. Avoids that the user has to edit these files.
- Install Icons for KDE when the directories exist and the icons do not exist
yet.
Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and
NT/2000/XP in a Vim script.
When a ":cd" command was typed, echo the new current directory. (Dan Sharp)
When using ":winpos" before the GUI window has been opened, remember the
values until it is opened.
In the ":version" output, add "/dyn" for features that are dynamically loaded.
This indicates the feature may not always work.
On Windows NT it is possible that a directory is read-only, but a file can be
deleted. When making a backup by renaming the file and 'backupdir' doesn't
use the current directory, this causes the original file to be deleted,
without the possibility to create a new file. Give an extra error message
then to warn to user about this.
Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's
consistent with Insert mode.
==============================================================================
COMPILE TIME CHANGES *compile-changes-6*
All generated files have been moved out of the "src" directory. This makes it
easy to see which files are not edited by hand. The files generated by
configure are now in the "src/auto" directory. For Unix, compiled object
files go in the objects directory.
The source archive was over the 1.4M floppy limit. The archives are now split
up into two runtime and two source archives. Also provide a bzip2 compressed
archive that contains all the sources and runtime files.
Added "reconfig" as a target for make. Useful when changing some of the
arguments that require flushing the cache, such as switching from GTK to
Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent
over different GUIs.
Added src/README.txt to give an overview of the main parts of the source code.
The Unix Makefile now fully supports using $(DESTDIR) to install to a specific
location. Replaces the manual setting of *ENDLOC variables.
Added the possibility for a maintainer of a binary version to include his
e-mail address with the --with-compiledby configure argument.
Included features are now grouped in "tiny", "small", "normal", "big" and
"huge". This replaces "min-features" and "max-features". Using "tiny"
disables multiple windows for a really small Vim.
For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin
are equal to curwin and don't use w_next and w_prev.
Added the +listcmds feature. Can be used to compile without the Vim commands
that manipulate the buffer list and argument list (the buffer list itself is
still there, can't do without it).
Added the +vreplace feature. It is disabled in the "small" version to avoid
that the 16 bit DOS version runs out of memory.
Removed GTK+ support for versions older than 1.1.16.
The configure checks for using PTYs have been improved. Code taken from a
recent version of screen.
Added configure options to install Vim, Ex and View under another name (e.g.,
vim6, ex6 and view6).
Added "--with-global-runtime" configure argument. Allows specifying the
global directory used in the 'runtimepath' default.
Made enabling the SNiFF+ interface possible with a configure argument.
Configure now always checks /usr/local/lib for libraries and
/usr/local/include for include files. Helps finding the stuff for iconv() and
gettext().
Moved the command line history stuff into the +cmdline_hist feature, to
exclude the command line history from the tiny version.
MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids
having to change two files for one problem. (Vince Negri)
Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri)
The jumplist is now a separate feature. It is disabled for the "small"
version (16 bit MS-DOS).
Renamed all types ending in _t to end in _T. Avoids potential problems with
system types.
Added a configure check for X11 header files that implicitly define the return
type to int. (Steve Wall)
"make doslang" in the top directory makes an archive with the menu and .mo
files for Windows. This uses the files generated on Unix, these should work
on MS-Windows as well.
Merged a large part of os_vms.c with os_unix.c. The code was duplicated in
the past which made maintenance more work. (Zoltan Arpadffy)
Updated the Borland C version 5 Makefile: (Dan Sharp)
- Fixed the Perl build
- Added python and tcl builds
- Added dynamic perl and dynamic python builds
- Added uninstal.exe build
- Use "yes" and "no" for the options, like in Make_mvc.mak.
Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's
much smaller, many unnecessary text has been removed. (Walter Briscoe)
Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in
MS-Devstudio. (Walter Briscoe)
MS-Windows: The big gvim.exe, which includes OLE, now also includes
dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1,
ActivePython 2.1.1 and ActiveTCL 8.3.3
Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for
Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile.
Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6.
(Vipin Aravind)
Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto)
Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro
Matsumoto)
==============================================================================
BUG FIXES *bug-fixes-6*
When checking the command name for "gvim", "ex", etc. ignore case. Required
for systems where case is ignored in command names.
Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'.
When double-clicking in another window, wasn't recognized as double click,
because topline is different. Added set_mouse_topline().
The BROKEN_LOCALE check was broken. (Marcin Dalecki)
When "t_Co" is set, the default colors remain the same, thus wrong. Reset the
colors after changing "t_Co". (Steve Wall)
When exiting with ":wqall" the messages about writing files could overwrite
each other and be lost forever.
When starting Vim with an extremely long file name (around 1024 characters) it
would crash. Added a few checks to avoid buffer overflows.
CTRL-E could get stuck in a file with very long lines.
":au syntax<Tab>" expanded event names while it should expand groups starting
with "syntax".
When expanding a file name caused an error (e.g., for <amatch>) it was
produced even when inside an "if 0".
'cindent' formatted C comments differently from what the 'comments' option
specified. (Steve Wall)
Default for 'grepprg' didn't include the file name when only grepping in one
file. Now /dev/null has been added for Unix.
Opening the option window twice caused trouble. Now the cursor goes to the
existing option window.
":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set
'readonly', unless the buffer is also edited in another window.
GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar
and menubar to disappear and resize the window (which clears the text).
Now always grey-out the toplevel menus to avoid that the menubar changes size
or disappears.
When re-using the current buffer for a new buffer, buffer-local variables were
not deleted.
GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a
down scroll. Now pass on a mouse event with mouse_row set to -1.
Win32: Console version didn't work on telnet, because of switching between two
console screens. Now use one console screen and save/restore the contents
when needed. (Craig Barkhouse)
When reading a file the magic number for encryption was included in the file
length. (Antonio Colombo)
The quickfix window contained leading whitespace and NULs for multi-line
messages. (David Harrison)
When using cscope, redundant tags were removed. This caused a numbering
problem, because they were all listed. Don't remove redundant cscope tags.
(David Bustos).
Cscope: Test for which matches are in the current buffer sometimes failed,
causing a jump to another match than selected. (David Bustos)
Win32: Buffer overflow when adding a charset name in a font.
'titlestring' and 'iconstring' were evaluating an expression in the current
context, which could be a user function, which is a problem for local
variables vs global variables.
Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in
_OnSysChar().
Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle.
Could also happen for the ruler. screen_puts() didn't clear the right char in
ScreenLines[] for the bold trick.
Win32: ":%!sort|uniq" didn't work, because the input file name touches the
"|". Insert a space before the "|".
OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to
fail, which caused syntax highlighting to fail.
Pasting a register containing CTRL-R on the command line could cause an
endless loop that can't be interrupted. Now it can be stopped with CTRL-C.
When 'verbose' is set, a message for file read/write could overwrite the
previous message.
When 'verbose' is set, the header from ":select" was put after the last
message. Now start a new line.
The hit-enter prompt reacted to the response of the t_RV string, causing
messages at startup to disappear.
When t_Co was set to 1, colors were still used. Now only use color when t_Co
> 1.
Listing functions with ":function" didn't quit when 'q' or ':' was typed at
the more prompt.
Use mkstemp() instead of mktemp() when it's available, avoids a warning for
linking on FreeBSD.
When doing Insert mode completion it's possible that b_sfname is NULL. Don't
give it to printf() for the "Scanning" message.
":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards
was done after trying to remove the string. Now for ":set opt+=val" and ":set
opt-=val" the expansion of wildcards is done before adding or removing "val".
Using CTRL-V with the "r" command with a blockwise Visual selection inserted a
CTRL-V instead of getting a special character.
Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE
after -lXdmcp. Should fix link problem on HP-UX 10.20.
Don't remove the last "-lm" from the link line. Vim may link but fail later
when the GUI starts.
When the shell returns with an error when trying to expand wildcards, do
include the pattern when the "EW_NOTFOUND" flag was set.
When expanding wildcards with the shell fails, give a clear error message
instead of just "1 returned".
Selecting a Visual block, with the start partly on a Tab, deleting it leaves
the cursor too far to the left. Causes "s" to work in the wrong position.
Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead.
Warning for changing a read-only file wasn't given when 'insertmode' was set.
Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start
notepad file" doesn't work. Remove the double quotes added by 'shellxquote'
when using ":!start". (Pavol Juhas)
The "<f-args>" argument of ":command" didn't accept Tabs for white space.
Also, don't add an empty argument when there are trailing blanks.
":e test\\je" edited "test\je", but ":next test\\je" edited "testje".
Backslashes were removed one time too many for ":next".
VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file
name. (Zoltan Arpadffy)
After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all
characters are redrawn with the right background.
When doing "make test" without +eval or +windows feature, many tests failed.
Now have test1 generate a script to copy the correct output, so that a test
that doesn't work is skipped.
On FreeBSD the Perl interface added "-lc" to the link command and Python added
"-pthread". These two don't work together, because the libc_r library should
be used. Removed "-lc" from Perl, it should not be needed.
Also: Add "-pthread" to $LIBS, so that the checks for functions is done with
libc_r. Sigaltstack() appears to be missing from libc_r.
The Syntax sub-menus were getting too long, reorganized them and added another
level for some languages.
Visual block "r"eplace didn't work well when a Tab is partly included.
(Matthias Kramm)
When yanking a Visual block, where some lines end halfway the block, putting
the text somewhere else doesn't insert a block. Padd with spaces for missing
characters. Added "y_width" to struct yankreg. (Matthias Kramm)
If a substitute string has a multibyte character after a backslash only the
first byte of it was skipped. (Muraoka Taro)
Win32: Numeric keypad keys were missing from the builtin termcap entry.
When a file was read-only ":wa!" didn't force it to be written. (Vince Negri)
Amiga: A file name starting with a colon was considered absolute but it isn't.
Amiga: ":pwd" added a slash when in the root of a drive.
Don't let 'ttymouse' default to "dec" when compiled with dec mouse support.
It breaks the gpm mouse (Linux console).
The prototypes for the Perl interface didn't work for threaded Perl. Added a
sed command to remove the prototypes from proto/if_perl.pro and added them
manually to if_perl.xs.
When ":w!" resets the 'readonly' option the title and status lines were not
updated.
":args" showed the current file when the argument list was empty. Made this
work like Vi: display nothing.
"99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode.
Don't set v:count when executing a stuffed command.
Amiga: Got a requester for "home:" because it's in the default runtime path.
Don't bring up a requester when searching for a file in 'path', sourcing the
.vimrc file or using ":runtime".
Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same
file to appear as two different buffers.
Win32: Renaming a file to an empty string crashed Vim. Happened when using
explorer.vim and hitting ESC at the rename prompt.
Win32: strftime() crashed when called with a "-1" value for the time.
Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not
to be found.
Cscope sometimes jumped to the wrong tag. (David Bustos)
OS/2: Could not find the tags file. mch_expand_wildcards() added another
slash to a directory name.
When using ">>" the `] mark was not in the last column.
When Vim was compiled without menu support, filetype.vim was still trying to
source the menu.vim script. (Rafael Garcia-Suarez)
":ptag" added an item to the tag stack.
Win32 IME: "gr" didn't use IME mode.
In the "vim --help" message the term "options" was used for arguments. That's
confusing, call them "arguments".
When there are two windows, and a BufUnload autocommand for closing window #1
closed window #2, Vim would crash.
When there is a preview window and only one other window, ":q" wouldn't exit.
In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed.
On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows
glob("*") also returned files starting with a dot. Made this work like Unix
on all systems.
Win32: Removed old code to open a console. Vimrun is now used and works fine.
Compute the room needed by the intro message accurately, so that it also fits
on a 25 line console. (Craig Barkhouse)
":ptnext" was broken. Now remember the last tag used in the preview window
separately from the tagstack.
Didn't check for "-display" being the last argument. (Wichert Akkerman)
GTK GUI: When starting "gvim" under some conditions there would be an X error.
Don't replace the error handler when creating the xterm clipboard. (Wichert
Akkerman)
Adding a space after a help tag caused the tag not to be found. E.g., ":he
autoindent ".
Was trying to expand a URL into a full path name. On Windows this resulted in
the current directory to be prepended to the URL. Added vim_isAbsName() and
vim_FullName() to avoid that various machine specific functions do it
differently.
":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only
does it for the current file (looks like a bug). Now remember the buffer used
for the entry in the argument list and use its name (adjusted when doing
":cd"), unless it's deleted.
When inserting a special key as its name ("<F8>" as four characters) after
moving around in Insert mode, undo didn't work properly.
Motif GUI: When using the right mouse button, for some people gvim froze for
a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup
menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or
"popup_setpos". (David Harrison)
Motif: When adding many menu items, the "Help" menu disappeared but the
menubar didn't wrap. Now manually set the menubar height.
When using <BS> in Insert mode to remove a line break, or using "J" to join
lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro)
Removed defining SVR4 in configure. It causes problems for some X header
files and doesn't appear to be used anywhere.
When 'wildignore' is used, 'ignorecase' for a tag match was not working.
When 'wildignore' contains "*~" it was impossible to edit a file ending in a
"~". Now don't recognize a file ending in "~" as containing wildcards.
Disabled the mouse code for OS/2. It was not really used.
":mksession" always used the full path name for a buffer, also when the short
name could be used.
":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a
way that they would be restored. Now use the key name if possible, this is
portable.
After recovering a file and abandoning it, an ":edit" command didn't give the
ATTENTION prompt again. Would be useful to be able to delete the file in an
easy way. Reset the BF_RECOVERED flag when unloading the buffer.
histdel() could match or ignore case, depending on what happened before it.
Now always match case.
When a window size was specified when splitting a window, it would still get
the size from 'winheight' or 'winwidth' if it's larger.
When using "append" or "insert" inside a function definition, a line starting
with "function" or "endfunction" caused confusion. Now recognize the commands
and skip lines until a ".".
At the end of any function or sourced file need_wait_return could be reset,
causing messages to disappear when redrawing.
When in a while loop the line number for error messages stayed fixed. Now the
line number is remembered in the while loop.
"cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash.
MS-Windows: getftime() didn't work when a directory had a trailing slash or
backslash. Didn't show the time in the explorer because of this.
When doing wildcard completion, a directory "a/" sorted after "a-b". Now
recognize path separators when sorting files.
Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were
created as different buffers, although it's the same file. Expand to a full
file name also when an absolute name contains "..".
"g&" didn't repeat the last substitute properly.
When 'clipboard' was set to "unnamed", a "Y" command would not write to "0.
Now make a copy of register 0 to the clipboard register.
When the search pattern matches in many ways, it could not always be
interrupted with a CTRL-C. And CTRL-C would have to be hit once for every
line when 'hlsearch' is on.
When 'incsearch' is on and interrupting the search for a match, don't abandon
the command line.
When turning a directory name into a full path, e.g., with fnamemodify(),
sometimes a slash was added. Make this consistent: Don't add a slash.
When a file name contains a "!", using it in a shell command will cause
trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time
when 'shell' contains "sh".
Completing a file name that has a tail that starts with a "~" didn't work:
":e view/~<Tab>".
Using a ":command" argument that contains < and > but not for a special
argument was not skipped properly.
The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in
$PATH didn't work, it always found it in the current directory.
Rename the vim.exe in the current dir to avoid this. (Walter Briscoe)
In the MS-DOS/Windows install program, use %VIM% instead of an absolute path,
so that moving Vim requires only one change in the batch file.
Mac: mch_FullName() changed the "fname" argument and didn't always initialize
the buffer.
MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file
name.
"echo expand("%:p:h")" with an empty file name removed one directory name on
MS-DOS. For Unix, when the file name is a directory, the directory name was
removed. Now make it consistent: "%:p" adds a path separator for all systems,
but no path separator is added in other situations.
Unix: When checking for a CTRL-C (could happen any time) and there is an X
event (e.g., clipboard updated) and there is typeahead, Vim would hang until a
character was typed.
MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon,
had the slash removed.
":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even
"he :set^=" didn't find it.
A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work
when the current path for D: isn't the root of the drive.
Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary.
When using a dtterm or various other color terminals, and the Normal group has
been set to use a different background color, the background wouldn't always
be displayed with that color. Added check for "ut" termcap entry: If it's
missing, clearing the screen won't give us the current background color. Need
to draw each character instead. Vim now also works when the "cl" (clear
screen) termcap entry is missing.
When repeating a "/" search command with a line offset, the "n" did use the
offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the
same.
Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash.
OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty().
C-indenting: Indented a line starting with ")" with the matching "(", but not
a line starting with "x)" looks strange. Also compute the indent for aligning
with items inside the () and use the lowest indent.
MS-DOS and Windows: ":n *.vim" also matched files ending in "~".
Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are
equal.
Macintosh: (Dany St-Amant)
- In Vi-compatible mode didn't read files with CR line separators.
- Fixed a bug in the handling of Activate/Deactivate Event
- Fixed a bug in gui_mch_dialog (using wrong pointer)
Multibyte GDK XIM: While composing a multibyte-word, if user presses a
mouse button, then the word is removed. It should remain and composing end.
(Sung-Hyun Nam)
MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF
conversion by the C library got in the way of detecting a "dos" 'fileformat'.
When 'smartcase' is set, patterns with "\S" would also make 'ignorecase'
reset.
When clicking the mouse in a column larger than 222, it moved to the first
column. Can't encode a larger number in a character. Now limit the number to
222, don't jump back to the first column.
GUI: In some versions CSI would cause trouble, either when typed directly or
when part of a multi-byte sequence.
When using multibyte characters in a ":normal" command, a trailing byte that
is CSI or K_SPECIAL caused problems.
Wildmenu didn't handle multi-byte characters.
":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
both work the same.
Unix: When waiting for a character is interrupted by an X-windows event (e.g.,
to obtain the contents of the selection), the wait time would not be honored.
A message could be overwritten quickly. Now compute the remaining waiting
time.
Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then
the name is invalid. Don't insert the backslash.
When doing an auto-write before ":make", IObuff was overwritten and the wrong
text displayed later.
On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults
for 'backupdir' and 'directory', they don't exist.
The check for a new file not to be on an MS-DOS filesystem created the file
temporarily, which can be slow. Don't do this if there is another check for
the swap file being on an MS-DOS filesystem.
Don't give the "Changing a readonly file" warning when reading from stdin.
When using the "Save As" menu entry and not entering a file name, would get an
error message for the trailing ":edit #". Now only do that when the
alternate file name was changed.
When Vim owns the X11 selection and is being suspended, an application that
tries to use the selection hangs. When Vim continues it could no longer
obtain the selection. Now give up the selection when suspending.
option.h and globals.h were included in some files, while they were already
included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it
twice.
When repeating an operator that used a search pattern and the search pattern
contained characters that have a special meaning on the cmdline (e.g., CTRL-U)
it didn't work.
Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in
a (multibyte) character. For example, the "r" command could not be repeated.
The DOS/Windows install program didn't always work from a directory with a
long filename, because $VIM and the executable name would not have the same
path.
Multi-byte:
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
(Muraoka Taro)
- When backspacing over inserted characters in Replace mode multi-byte
characters were not handled correctly. (Muraoka Taro)
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
Taro)
- Word completion in Insert mode didn't work with multibyte characters.
(Muraoka Taro)
- Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too
wide (number of bytes instead of cell width).
- When changing 'encoding' to "euc-jp" and inserting a character Vim would
crash.
- For euc-jp characters positioning the cursor would sometimes be wrong.
Also, with two characters with 0x8e leading byte only the first one would be
displayed.
- When using DYNAMIC_ICONV on Win32 conversion might fail because of using the
wrong error number. (Muraoka Taro)
- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
the right character.
- When using Visual block selection and only the left halve of a double-wide
character is selected, the highlighting continued to the end of the line.
- Visual-block delete didn't work properly when deleting the right halve of a
double-wide character.
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
character.
- The cursor in Replace mode (also in the cmdline) was to small on a
double-wide character.
- When a multibyte character contained a 0x80 byte, it didn't work (was using
a CSI byte instead). (Muraoka Taro)
- Wordwise selection with the mouse didn't work.
- Yanking a modeless selection of multi-byte characters didn't work.
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte
character used wrong highlighting for the following character.
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
Win32 GUI: When "vimrun.exe" is used to execute an external command, don't
give a message box with the return value, it was already printed by vimrun.
Also avoid printing the return value of the shell when ":silent!" is used.
Win32: selecting a lot of text and using the "find/replace" dialog caused a
crash.
X11 GUI: When typing a character with the 8th bit set and the Meta/Alt
modifier, the modifier was removed without changing the character.
Truncating a message to make it fit on the command line, using "..." for the
middle, didn't always compute the space correctly.
Could not imap <C-@>. Now it works like <Nul>.
VMS:
- Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M
characters. (Zoltan Arpadffy and John W. Hamill)
- Added VMS-specific defaults for the 'isfname' and 'isprint' options.
(Zoltan Arpadffy)
- Removed os_vms_osdef.h, it's no longer used.
The gzip plugin used a ":normal" command, this doesn't work when dropping a
compressed file on Vim.
In very rare situations a binary search for a tag would fail, because an
uninitialized value happens to be half the size of the tag file. (Narendran)
When using BufEnter and BufLeave autocommands to enable/disable a menu, it
wasn't updated right away.
When doing a replace with the "c"onfirm flag, the cursor was positioned after
the ruler, instead of after the question. With a long replacement string the
screen could scroll up and cause a "more" prompt. Now the message is
truncated to make it fit.
Motif: The autoconf check for the Xp library didn't work.
When 'verbose' is set to list lines of a sourced file, defining a function
would reset the counter used for the "more" prompt.
In the Win32 find/replace dialog, a '/' character caused problems. Escape it
with a backslash.
Starting a shell with ":sh" was different from starting a shell for CTRL-Z
when suspending doesn't work. They now work the same way.
Jumping to a file mark while in a changed buffer gave a "mark not set" error.
":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch
all commands that cause too much recursiveness.
Removed "Failed to open input method" error message, too many people got this
when they didn't want to use a XIM.
GUI: When compiled without the +windows feature, the scrollbar would start
below line one.
Removed the trick with redefining character class functions from regexp.c.
Win32 GUI: Find dialog gives focus back to main window, when typing a
character mouse pointer is blanked, it didn't reappear when moving it in the
dialog window. (Vince Negri)
When recording and typing a CTRL-C, no character was recorded. When in Insert
mode or cancelling half a command, playing back the recorded sequence wouldn't
work. Now record the CTRL-C.
When the GUI was started, mouse codes for DEC and netterm were still checked
for.
GUI: When scrolling and 'writedelay' is non-zero, the character under the
cursor was displayed in the wrong position (one line above/below with
CTRL-E/CTRL-Y).
A ":normal" command would reset the 'scrollbind' info. Causes problems when
using a ":normal" command in an autocommand for opening a file.
Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka
Taro)
When 'scrollbind' wasn't set would still remember the current position,
wasting time.
GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of
exit() when the child couldn't execute the shell.
Multi-byte:
- GUI with double-byte encoding: a mouse click in left halve of double-wide
character put the cursor in previous char.
- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
included the character after the word.
- When using a double-byte encoding and there is a lead byte at the end of the
line, the preceding line would be displayed. "ga" also showed wrong info.
- "gf" didn't include multi-byte characters before the cursor properly.
(Muraoka Taro)
GUI: The cursor was sometimes not removed when scrolling. Changed the policy
from redrawing the cursor after each call to gui_write() to only update it at
the end of update_screen() or when setting the cursor position. Also only
update the scrollbars at the end of update_screen(), that's the only place
where the window text may have been scrolled.
Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now
remove the space before the Tab.
Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next
line. Now keep the space after the Tab.
In some places non-ASCII alphabetical characters were accepted, which could
cause problems. For example, ":X" (X being such a character).
When a pattern matches the end of the line, the last character in the line was
highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the
character just after the line.
Motif: If a dialog was closed by clicking on the "X" of the window frame Vim
would no longer respond.
When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would
crash. (Matsumoto)
When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in
Select mode. Insert mode wasn't restarted after overwriting the text.
Now allow nesting Insert mode with insert and change commands. CTRL-O
cwfoo<Esc> now also works.
Clicking with the right mouse button in another window started Visual mode,
but used the start position of the current window. Caused ml_get errors when
the line number was invalid. Now stay in the same window.
When 'selection' is "exclusive", "gv" sometimes selected one character fewer.
When 'comments' contains more than one start/middle/end triplet, the optional
flags could be mixed up. Also didn't align the end with the middle part.
Double-right-click in Visual mode didn't update the shown mode.
When the Normal group has a font name, it was never used when starting up.
Now use it when 'guifont' and 'guifontset' are empty.
Setting a font name to a highlight group before the GUI was started didn't
work.
"make test" didn't use the name of the generated Vim executable.
'cindent' problems:
- Aligned with an "else" inside a do-while loop for a line below that loop.
(Meikel Brandmeyer)
- A line before a function would be indented even when terminated with a
semicolon. (Meikel Brandmeyer)
- 'cindent' gave too much indent to a line after a "};" that ends an array
init.
- Support declaration lines ending in "," and "\". (Meikel Brandmeyer)
- A case statement inside a do-while loop was used for indenting a line after
the do-while loop. (Meikel Brandmeyer)
- When skipping a string in a line with one double quote it could continue in
the previous line. (Meikel Brandmeyer)
When 'list' is set, 'hlsearch' didn't highlight a match at the end of the
line. Now highlight the '$'.
The Paste menu item in the menu bar, the popup menu and the toolbar were all
different. Now made them all equal to how it was done in mswin.vim.
st_dev can be smaller than "unsigned". The compiler may give an overflow
warning. Added a configure check for dev_t.
Athena: closing a confirm() dialog killed Vim.
Various typos in the documentation. (Matt Dunford)
Python interface: The definition of _DEBUG could cause trouble, undefine it.
The error message for not being able to load the shared library wasn't
translated. (Muraoka Taro)
Mac: (Dany St-Amant and Axel Kielhorn)
- Several fixes.
- Vim was eating 80% of the CPU time.
- The project os_mac.pbxproj didn't work, Moved it to a subdirectory.
- Made the menu priority work for the menubar.
- Fixed a problem with dragging the scrollbar.
- Cleaned up the various #ifdefs.
Unix: When catching a deadly signal and we keep getting one use _exit() to
exit in a quick and dirty way.
Athena menu ordering didn't work correctly. (David Harrison)
A ":make" or ":grep" command with a long argument could cause a crash.
Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new
window.
GTK: When starting the GUI and there is an error in the .vimrc file, don't
present the wait-return prompt, since the message was given in the terminal.
When there was an error in a .vimrc file the terminal where gvim was started
could be cleared. Set msg_row in main.c before writing any messages.
GTK and X11 GUI: When trying to read characters from the user (e.g. with
input()) before the Vim window was opened caused Vim to hang when it was
started from the desktop.
OS/390 uses 31 bit pointers. That broke some computations with MAX_COL.
Reduce MAX_COL by one bit for OS/390. (Ralf Schandl)
When defining a function and it already exists, Vim didn't say it existed
until after typing it. Now do this right away when typing it.
The message remembered for displaying later (keep_msg) was sometimes pointing
into a generic buffer, which might be changed by the time the message is
displayed. Now make a copy of the message.
When using multi-byte characters in a menu and a trailing byte is a backslash,
the menu would not be created correctly. (Muraoka Taro)
Using a multibyte character in the substitute string where a trail byte is a
backslash didn't work. (Muraoka Taro)
When setting "t_Co" in a vimrc file, then setting it automatically from an
xterm termresponse and then setting it again manually caused a crash.
When getting the value of a string option that is not supported, the number
zero was returned. This breaks a check like "&enc == "asdf". Now an empty
string is returned for string options.
Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting
'title' in the gvimrc and starting the GUI with ":gui". Closed the connection
to the X server accidentally.
Had to hit return after selecting an entry for ":ts".
The message from ":cn" message was sometimes cleared. Now display it after
redrawing if it doesn't cause a scroll (truncated when necessary).
hangulin.c didn't compile when the GUI was disabled. Disable it when it won't
work.
When setting a termcap option like "t_CO", the value could be displayed as
being for a normal key with a modifier, like "<M-=>".
When expanding the argument list, entries which are a directory name did not
get included. This stopped "vim c:/" from opening the file explorer.
":syn match sd "^" nextgroup=asdf" skipped the first column and matched the
nextgroup in the second column.
GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing
the output.
Don't define the <NetMouse> termcode in an xterm, reduces the problem when
someone types <Esc> } in Insert mode.
Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro
Matsumoto)
Using a filename in Big5 encoding for autocommands didn't work (backslash in
trailbyte). (Yasuhiro Matsumoto)
DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like
Unix to avoid problems with Windows dir functions. Merged the DOS and Win32
functions.
Win32: Gvimext could not edit more than a few files at once, the length of the
argument was fixed.
"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to
raw mode when needed. Use dup() to copy the stderr file descriptor to stdin
to make shell commands work. No longer requires an external program to do
this.
When using ":filetype off", ftplugin and indent usage would be switched off at
the same time. Don't do this, setting 'filetype' manually can still use them.
GUI: When writing a double-byte character, it could be split up in two calls
to gui_write(), which doesn't work. Now flush before the output buffer
becomes full.
When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message
would be written over the status line.
The ":intro" command didn't work when there wasn't enough room.
Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha)
Athena: When deleting the directory in which Vim was started, using the file
browser made Vim exit. Removed the use of XtAppError().
When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef
UNIX" to a separate line.
Win32: Disabled _OnWindowPosChanging() to make maximize work better.
Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe)
Athena:
- Finally fixed the problems with deleting a menu. (David Harrison)
- Athena: When closing the confirm() dialog, worked like OK was pressed,
instead of Cancel.
The file explorer didn't work in compatible mode, because of line
continuation.
Didn't give an error message for ":digraph a".
When using Ex mode in the GUI and typing a special key, <BS> didn't delete it
correctly. Now display '?' for a special key.
When an operator is pending, clicking in another window made it apply to that
window, even though the line numbers could be beyond the end of the buffer.
When a function call doesn't have a terminating ")" Vim could crash.
Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers)
Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin)
Using a syntax cluster that includes itself made Vim crash.
GUI: With 'ls' set to 2, dragging the status line all the way up, then making
the Vim window smaller: Could not the drag status line anymore.
"vim -c startinsert! file" placed cursor on last char of a line, instead of
after it. A ":set" command in the buffer menu set w_set_curswant. Now don't
do this when w_curswant is MAXCOL.
Win32: When the gvim window was maximized and selecting another font, the
window would no longer fill the screen.
The line with 'pastetoggle' in ":options" didn't show the right value when it
is a special key. Hitting <CR> didn't work either.
Formatting text, resulting in a % landing in the first line, repeated the % in
the following lines, like it's the start of a comment.
GTK: When adding a toolbar item while gvim is already running, it wasn't
possible to use the tooltip. Now it works by adding the tooltip first.
The output of "g CTRL-G" mentioned "Char" but it's actually bytes.
Searching for the end of a oneline region didn't work correctly when there is
an offset for the highlighting.
Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the
start of a comment.
Win32: Without scrollbars present, the MS mouse scroll wheel didn't work.
Also handle the scrollbars when they are not visible.
Motif: When there is no right scrollbar, the bottom scrollbar would still
leave room for it. (Marcin Dalecki)
When changing 'guicursor' and the value is invalid, some of the effects would
still take place. Now first check for errors and only make the new value
effective when it's OK.
Using "A" In Visual block mode, appending to lines that don't extend into the
block, padding was wrong.
When pasting a block of text, a character that occupies more than one screen
column could be deleted and spaces inserted instead. Now only do that with a
tab.
Fixed conversion of documentation to HTML using Perl. (Dan Sharp)
Give an error message when a menu name starts with a dot.
Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem"
even when sys/ptem.h isn't present.
When creating the temp directory, make sure umask is 077, otherwise the
directory is not accessible when it was set to 0177.
Unix: When resizing the window and a redraw is a bit slow, could get a window
resize event while redrawing, resulting in a messed up window. Any input
(e.g., a mouse click) would redraw.
The "%B" item in the status line became zero in Insert mode (that's normal)
for another than the current window.
The menu entries to convert to xxd and back didn't work in Insert mode.
When ":vglobal" didn't find a line where the pattern doesn't match, the error
message would be the wrong way around.
When ignoring a multi-line error message with "%-A", the continuation lines
would be used anyway. (Servatius Brandt)
"grx" on a double-wide character inserted "x", instead of replacing the
character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace
at all. When doing "gRxx" on a control character the first "x" would be
inserted, breaking the alignment.
Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place
as where "==" would put it.
Win32: When maximized, adding/removing toolbar didn't resize the text area.
When using <C-RightMouse> a count was discarded.
When typing CTRL-V and <RightMouse> in the command line, would insert
<LeftMouse>.
Using "vis" or "vas" when 'selection' is exclusive didn't include the last
character.
When adding to an option like 'grepprg', leading space would be lost. Don't
expand environment variables when there is no comma separating the items.
GUI: When using a bold-italic font, would still use the bold trick and
underlining.
Motif: The default button didn't work in dialogs, the first one was always
used. Had to give input focus to the default button.
When using CTRL-T to jump within the same file, the '' mark wasn't set.
Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the
whole ":s" command instead of each confirmed replacement.
The Buffers menu, when torn-off, disappeared when being refreshed. Add a
dummy item to avoid this.
Removed calling msg_start() in main(), it should not be needed.
vim_strpbrk() did not support multibyte characters. (Muraoka Taro)
The Amiga version didn't compile, the code was too big for relative jumps.
Moved a few files from ex_docmd.c to ex_cmds2.c
When evaluating the "= register resulted in the "= register being changed, Vim
would crash.
When doing ":view file" and it fails, the current buffer was made read-only.
Motif: For some people the separators in the toolbar disappeared when resizing
the Vim window. (Marcin Dalecki)
Win32 GUI: when setting 'lines' to a huge number, would not compute the
available space correctly. Was counting the menu height twice.
Conversion of the docs to HTML didn't handle the line with the +quickfix tag
correctly. (Antonio Colombo)
Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro
Matsumoto)
The Cygwin version had trouble with fchdir(). Don't use that function for
Cygwin.
The generic check in scripts.vim for "conf" syntax was done before some checks
in filetype.vim, resulting in "conf" syntax too often.
Dos32: Typing lagged behind. Would wait for one biostick when checking if a
character is available.
GTK: When setting 'columns' while starting up "gvim", would set the width of
the terminal it was started in.
When using ESC in Insert mode, an autoindent that wraps to the next line
caused the cursor to move to the end of the line temporarily. When the
character before the cursor was a double-wide multi-byte character the cursor
would be on the right halve, which causes problems with some terminals.
Didn't handle multi-byte characters correctly when expanding a file name.
(Yasuhiro Matsumoto)
Win32 GUI: Errors generated before the GUI is decided to start were not
reported.
globpath() didn't reserve enough room for concatenated results. (Anduin
Withers)
When expanding an option that is very long already, don't do the expansion, it
would be truncated to MAXPATHL. (Anduin Withers)
When 'selection' is "exclusive", using "Fx" in Visual mode only moved until
just after the character.
When using IME on the console to enter a file name, the screen may scroll up.
Redraw the screen then. (Yasuhiro Matsumoto)
Motif: In the find/replace dialog the "Replace" button didn't work first time,
second time it replaced all matches. Removed the use of ":s///c".
GTK: Similar problems with the find/replace dialog, moved the code to a common
function.
X11: Use shared GC's for text. (Marcin Dalecki)
"]i" found the match under the cursor, instead of the first one below it.
Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D".
Win16: When maximized and the font is changed, don't change the window size.
(Vince Negri)
When 'lbr' is set, deleting a block of text could leave the cursor in the
wrong position.
Win32: When opening a file with the "Edit with Vim" popup menu entry,
wildcards would cause trouble. Added the "--literal" argument to avoid
expanding file names.
When using "gv", it didn't restore that "$" was used in Visual block mode.
Win32 GUI: While waiting for a shell command to finish, the window wasn't
redrawn at all. (Yasuhiro Matsumoto)
Syntax highlighting: A match that continues on a next line because of a
contained region didn't end when that region ended.
The ":s" command didn't allow flags like 'e' and 'i' right after it.
When using ":s" to split a line, marks were moved to the next line. Vi keeps
them in the first line.
When using ":n" ":rew", the previous context mark was at the top of the file,
while Vi puts it in the same place as the cursor. Made it Vi compatible.
Fixed Vi incompatibility: Text was not put in register 1 when using "c" and
"d" with a motion character, when deleting within one line with one of the
commands: % ( ) `<character> / ? N n { }
Win32 GUI: The tooltip for tear-off items remained when the tear-off item was
no longer selected.
GUI: When typing ":" at the more prompt, would return to Normal mode and not
redraw the screen.
When starting Vim with an argument "-c g/at/p" the printed lines would
overwrite each other.
BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check
removed them. Various changes to os_beos.cc. (Joshua Haberman)
Removed the check for the hardware platform, the BeBox has not been produced
for a long time now.
Win32 GUI: don't use a message box when the shell returns an error code,
display the message in the Vim window.
Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't
work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp)
When a line in the tags file ended in ;" (no TAB following) the command would
not be recognized as a search command.
X11: The inputMethod resource never worked. Don't use the "none" input method
for SGI, it apparently makes the first character in Input method dropped.
Fixed incorrect tests in os_mac.h. (Axel Kielhorn)
Win32 console: When the console where Vim runs in is closed, Vim could hang in
trying to restore the window icon. (Yasuhiro Matsumoto)
When using ":3call func()" or ":3,3call func() the line number was ignored.
When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes
continued until the end of the line.
GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't'
when starting up.
MS-Windows: When the current directory includes a "~", searching files with
"gf" or ":find" didn't work. A "$" in the directory had the same problem.
Added mch_has_exp_wildcard() functions.
When reducing the Vim window height while starting up, would get an
out-of-memory error message.
When editing a very long search pattern, 'incsearch' caused the redraw of the
command line to fail.
Motif GUI: On some systems the "Help" menu would not be on the far right, as
it should be. On some other systems (esp. IRIX) the command line would not
completely show. Solution is to only resize the menubar for Lesstif.
Using "%" in a line that contains "\\" twice didn't take care of the quotes
properly. Now make a difference between \" and \\".
For non-Unix systems a dummy file is created when finding a swap name to
detect a 8.3 filesystem. When there is an existing swap file, would get a
warning for the file being created outside of Vim. Also, when closing the Vim
window the file would remain.
Motif: The menu height was always computed, using a "-menuheight" argument
was setting the room for the command line. Now make clear the argument is not
supported.
For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to
avoid a duplicate case in a switch.
The GUI may have problems when forking. Always call _exit() instead of exit()
in the parent, the child will call exit().
Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus.
Now use CP_ACP instead of CP_OEMCP. (Vince Negri)
When displaying text with syntax highlighting causes an error (e.g., running
out of stack) the syntax highlighting is disabled to avoid further messages.
When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was
started from the desktop (no place to display messages) it would hang. Now
open the GUI window early to be able to display the messages and pop up the
dialog.
"r<CR>" on a multi-byte character deleted only the first byte of the
character. "3r<CR>" deleted three bytes instead of three characters.
When interrupting reading a file, Vi considers the buffer modified. Added the
'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to
do ":q").
When using an item in 'guicursor' that starts with a colon, Vim would get
stuck or crash.
When putting a file mark in a help file and later jumping back to it, the
options would not be set. Extended the modeline in all help files to make
this work better.
When a modeline contained "::" the local option values would be printed. Now
ignore it.
Some help files did not use a 8.3 names, which causes problems when using
MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to
"rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to
"os_risc.txt".
When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That
doesn't seem right, only do this when in linewise mode. But then do it
always, not only when start and end of Visual mode are equal.
When using "viw" on a single-letter word and 'selection' is exclusive, would
not include the word.
When formatting text from Insert mode, using CTRL-O, could mess up undo
information.
While writing a file (also for the backup file) there was no check for an
interrupt (hitting CTRL-C). Vim could hang when writing a large file over a
slow network, and moving the mouse didn't make it appear (when 'mousehide' is
set) and the screen wasn't updated in the GUI. Also allow interrupting when
syncing the swap file, it can take a long time.
When using ":mksession" while there is help window, it would later be restored
to the right file but not marked as a help buffer. ":help" would then open
another window. Now use the value "help" for 'buftype' to mark a help buffer.
The session file contained absolute path names in option values, that doesn't
work when the home directory depends on the situation. Replace the home
directory with ~/ when possible.
When using 'showbreak' a TAB just after the shown break would not be counted
correctly, the cursor would be positioned wrong.
With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting
tabs did not work right. Could cause a crash. Backspacing was also wrong,
could get stuck at a line break.
Win32: crashed when tearing off a menu with over 300 items.
GUI: A menu or toolbar item would appear when only a tooltip was defined for
it.
When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the
last line of the file is the first line on screen, the text wasn't displayed.
When running "autoconf", delete the configure cache to force starting cleanly
when configure is run again.
When changing the Normal colors for cterm, the value of 'background' was
changed even when the GUI was used.
The warning for a missing vimrun.exe was always given on startup, but some
people just editing a file don't need to be bothered by it. Only show it when
vimrun would be used.
When using "%" in a multibyte text it could get confused by trailbytes that
match. (Muraoka Taro)
Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes.
Athena: The title of a dialog window and the file selector window were not
set. (David Harrison)
The "htmlLink" highlight group specified colors, which gives problems when
using a color scheme. Added the "Underlined" highlight group for this.
After using ":insert" or ":change" the '[ mark would be one line too low.
When looking for the file name after a match with 'include' one character was
skipped. Same for 'define'.
Win32 and DJGPP: When editing a file with a short name in a directory, and
editing the same file but using the long name, would end up with two buffers
on the same file.
"gf" on a filename that starts with "../" only worked when the file being
edited is in the current directory. An include file search didn't work
properly for files starting with "../" or ".". Now search both relative to
the file and to the current directory.
When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline'
contained "%{" but no following "}" memory was corrupted and a crash could
happen.
":0append" and then inserting two lines did not redraw the blank lines that
were scrolled back down.
When using insert mode completion in a narrow window, the message caused a
scroll up. Now shorten the message if it doesn't fit and avoid writing the
ruler over the message.
XIM still didn't work correctly on some systems, especially SGI/IRIX. Added
the 'imdisable' option, which is set by default for that system.
Patch 6.0aw.008
Problem: When the first character of a file name is over 127, the Buffers
menu entry would get a negative priority and cause problems.
Solution: Reduce the multiplier for the first character when computing
the hash value for a Buffers menu entry.
Files: runtime/menu.vim
Patch 6.0aw.010
Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas)
Solution: Change slashes to backslashes in the directory passed to the file
browser.
Files: src/gui_w48.c
Athena file browser: On some systems wcstombs() can't be used to get the
length of a multi-byte string. Use the maximum length then. (Yasuhiro
Matsumoto)
Patch 6.0ax.001
Problem: When 'patchmode' is set, appending to a file gives an empty
original file. (Ed Ralston)
Solution: Also make a backup copy when appending and 'patchmode' is set.
Files: src/fileio.c
Patch 6.0ax.002
Problem: When 'patchmode' is set, appending to a compressed file gives an
uncompressed original file. (Ed Ralston)
Solution: Create the original file before decompressing.
Files: runtime/plugin/gzip.vim
Patch 6.0ax.005
Problem: Athena file selector keeps the title of the first invocation.
Solution: Set the title each time the file selector is opened. (David
Harrison)
Files: src/gui_at_fs.c
Patch 6.0ax.007
Problem: When using GPM (mouse driver in a Linux console) a double click is
interpreted as a scroll wheel click.
Solution: Check if GPM is being used when deciding if a mouse event is for
the scroll wheel.
Files: src/term.c
Patch 6.0ax.010
Problem: The Edit.Save menu and the Save toolbar button didn't work when
the buffer has no file name.
Solution: Use a file browser to ask for a file name. Also fix the toolbar
Find item in Visual mode.
Files: runtime/menu.vim
Patch 6.0ax.012
Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth'
doesn't redraw properly. (Stefan Schulze)
Solution: Remove the dollar before breaking the line.
Files: src/edit.c
Patch 6.0ax.014
Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is
"command.com" and 'makeprg' is "nmake". The environment isn't
passed on to "nmake".
Solution: Also use vimrun.exe when redirecting the output of a command.
Files: src/os_win32.c
Patch 6.0ax.016
Problem: The version number was reported wrong in the intro screen.
Solution: Check for a version number with two additional letters.
Files: src/version.c
Patch 6.0ax.019
Problem: When scrolling a window with folds upwards, switching to another
vertically split window and back may not update the scrollbar.
Solution: Limit w_botline to the number of lines in the buffer plus one.
Files: src/move.c
==============================================================================
VERSION 6.1 *version-6.1*
This section is about improvements made between version 6.0 and 6.1.
This is a bug-fix release, there are not really any new features.
Changed *changed-6.1*
-------
'iminsert' and 'imsearch' are no longer set as a side effect of defining a
language-mapping using ":lmap".
Added *added-6.1*
-----
Syntax files:
ampl AMPL (David Krief)
ant Ant (Johannes Zellner)
baan Baan (Her van de Vliert)
cs C# (Johannes Zellner)
lifelines Lifelines (Patrick Texier)
lscript LotusScript (Taryn East)
moo MOO (Timo Frenay)
nsis NSIS (Alex Jakushev)
ppd Postscript Printer Description (Bjoern Jacke)
rpl RPL/2 (Joel Bertrand)
scilab Scilab (Benoit Hamelin)
splint Splint (Ralf Wildenhues)
sqlj SQLJ (Andreas Fischbach)
wvdial WvDial (Prahlad Vaidyanathan)
xf86conf XFree86 config (Nikolai Weibull)
xmodmap Xmodmap (Nikolai Weibull)
xslt Xslt (Johannes Zellner)
monk Monk (Mike Litherland)
xsd Xsd (Johannes Zellner)
cdl CDL (Raul Segura Acevedo)
sendpr Send-pr (Hendrik Scholz)
Added indent file for Scheme. (Dorai Sitaram)
Added indent file for Prolog. (Kontra Gergely)
Added indent file for Povray (David Necas)
Added indent file for IDL (Aleksandar Jelenak)
Added C# indent and ftplugin scripts.
Added Ukrainian menu translations. (Bohdan Vlasyuk)
Added ASCII version of the Czech menus. (Jiri Brezina)
Added Simplified Chinese translation of the tutor. (Mendel L Chan)
Added Russian keymap for yawerty keyboard.
Added an explanation of using the vimrc file in the tutor.
Changed tutor.vim to get the right encoding for the Taiwainese tutor.
Added Russian tutor. (Andrey Kiselev)
Added Polish tutor. (Mikolaj Machowski)
Added darkblue color scheme. (Bohdan Vlasyuk)
When packing the dos language archive automatically generate the .mo files
that are required.
Improved NSIS script to support NSIS 180. Added icons for the
enabled/disabled status. (Mirek Pruchnik)
cp1250 version of the Slovak message translations.
Compiler plugins for IRIX compilers. (David Harrison)
Fixed *fixed-6.1*
-----
The license text was updated to make the meaning clearer and make it
compatible with the GNU GPL. Otherwise distributors have a problem when
linking Vim with a GPL'ed library.
When installing the "less.sh" script it was not made executable. (Chuck Berg)
Win32: The "9" key on the numpad wasn't working. (Julian Kinraid)
The NSIS install script didn't work with NSIS 1.80 or later. Also add
Vim-specific icons. (Pruchnik)
The script for conversion to HTML contained an "if" in the wrong place.
(Michael Geddes)
Allow using ":ascii" in the sandbox, it's harmless.
Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when
it's redefined to creat64().
The text files in the VisVim directory were in "dos" format. This caused
problems when applying a patch. Now keep them in "unix" format and convert
them to "dos" format only for the PC archives.
Add ruby files to the dos source archive, they can be used by Make_mvc.mak.
(Mirek Pruchnik)
"cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm
-f" and "cp".
Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger)
The GTK file selection dialog didn't include the "Create Dir", "Delete File"
and "Rename File" buttons.
When doing ":browse source" the dialog has the title "Run Macro". Better
would be "Source Vim script". (Yegappan Lakshmanan)
Win32: Don't use the printer font as default for the font dialog.
"make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to
"yes". (Mirek Pruchnik)
The ToolBar TagJump item used "g]", which prompts for a selection even when
there is only one matching tag. Use "g<C-]>" instead.
The ming makefile for message translations didn't have the right list of
files.
The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile
this version without message translations.
The Borland 5 makefile contained a check for Ruby which is no longer needed.
The URLs for the TCL library was outdated. (Dan Sharp)
The eviso.ps file was missing from the DOS runtime archive, it's needed for
printing PostScript in the 32bit DOS version.
In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032
Now use ":scriptencoding" in the file where the translations are given. Do
the same for all menus in latin1 encoding.
Included a lot of fixes for the Macintosh, mostly to make it work with Carbon.
(Dany StAmant, Axel Kielhorn, Benji Fisher)
Improved the vimtutor shell script to use $TMPDIR when it exists, and delete
the copied file when exiting in an abnormal way. (Max Ischenko)
When "iconv.dll" can't be found, try using "libiconv.dll".
When encryption is used, filtering with a shell command wasn't possible.
DJGPP: ":cd c:" always failed, can't get permissions for "c:".
Win32: ":cd c:/" failed if the previous current directory on c: had become
invalid.
DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is
wrong. Disabled it.
Dependencies on header files in MingW makefile was wrong.
Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe)
Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a
different argument to make didn't regenerate it.
Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different
directory, the if_ole.h in the src directory may be used instead. Delete the
distributed file.
When a window is vertically split and then ":ball" is used, the window layout
is messed up, can cause a crash. (Muraoka Taro)
When 'insertmode' is set, using File/New menu and then double clicking, "i" is
soon inserted. (Merlin Hansen)
When Select mode is active and using the Buffers menu to switch to another
buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer"
command.
When Select mode is active and 'insertmode' is set, using the Buffers menu to
switch to another buffer, did not return to Insert mode. Make sure
"restart_edit" is set.
When double clicking on the first character of a word while 'selection' is
"exclusive" didn't select that word.
Patch 6.0.001
Problem: Loading the sh.vim syntax file causes error messages. (Corinna
Vinschen)
Solution: Add an "if". (Charles Campbell)
Files: runtime/syntax/sh.vim
Patch 6.0.002
Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert)
Solution: Add '@' to the list of accepted items.
Files: src/option.c
Patch 6.0.003
Problem: The configure check for ACLs on AIX doesn't work.
Solution: Fix the test program so that it compiles. (Tomas Ogren)
Files: src/configure.in, src/auto/configure
Patch 6.0.004
Problem: The find/replace dialog doesn't reuse a previous argument
properly.
Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo)
Files: src/gui.c
Patch 6.0.005
Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing.
Solution: Don't delay just after wait_return() was called. Added the
did_wait_return flag.
Files: src/globals.h, src/message.c, src/normal.c, src/screen.c
Patch 6.0.006
Problem: With a vertical split, 'number' set and 'scrolloff' non-zero,
making the window width very small causes a crash. (Niklas
Lindstrom)
Solution: Check for a zero width.
Files: src/move.c
Patch 6.0.007
Problem: When setting 'filetype' while there is no FileType autocommand, a
following ":setfiletype" would set 'filetype' again. (Kobus
Retief)
Solution: Set did_filetype always when 'filetype' has been set.
Files: src/option.c
Patch 6.0.008
Problem: 'imdisable' is missing from the options window. (Michael Naumann)
Solution: Add an entry for it.
Files: runtime/optwin.vim
Patch 6.0.009
Problem: Nextstep doesn't have S_ISBLK. (John Beppu)
Solution: Define S_ISBLK using S_IFBLK.
Files: src/os_unix.h
Patch 6.0.010
Problem: Using "gf" on a file name starting with "./" or "../" in a buffer
without a name causes a crash. (Roy Lewis)
Solution: Check for a NULL file name.
Files: src/misc2.c
Patch 6.0.011
Problem: Python: After replacing or deleting lines get an ml_get error.
(Leo Lipelis)
Solution: Adjust the cursor position for deleted or added lines.
Files: src/if_python.c
Patch 6.0.012
Problem: Polish translations contain printf format errors, this can result
in a crash when using one of them.
Solution: Fix for translated messages. (Michal Politowski)
Files: src/po/pl.po
Patch 6.0.013
Problem: Using ":silent! cmd" still gives some error messages, like for an
invalid range. (Salman Halim)
Solution: Reset emsg_silent after calling emsg() in do_one_cmd().
Files: src/ex_docmd.c
Patch 6.0.014
Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB
still changes the buffer. (Muraoka Taro)
Solution: Check if saving the line for undo fails.
Files: src/normal.c
Patch 6.0.015
Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been
used, can get an error for deleting the b:did_ftplugin variable.
(Ralph Henderson)
Solution: Only delete the variable when it exists.
Files: runtime/ftplugin.vim
Patch 6.0.016
Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when
the argument is a string. (Hari Krishna Dara)
Also for setbufvar() and getbufvar().
Solution: Also find unlisted buffers.
Files: src/eval.c
Patch 6.0.017
Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co
and the external one doesn't, it gets reset to empty. (David
Harrison)
Solution: Only set t_Co when it wasn't set yet.
Files: src/term.c
Patch 6.0.018
Problem: Initializing 'encoding' may cause a crash when setlocale() is not
used. (Dany St-Amant)
Solution: Check for a NULL pointer.
Files: src/mbyte.c
Patch 6.0.019
Problem: Converting a string with multi-byte characters to a printable
string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
Solution: Correctly compute the length of the result in transstr().
Files: src/charset.c
Patch 6.0.020
Problem: When obtaining the value of a global variable internally, could
get the function-local value instead. Applies to using <Leader>
and <LocalLeader> and resetting highlighting in a function.
Solution: Prepend "g:" to the variable name. (Aric Blumer)
Files: src/syntax.c, src/term.c
Patch 6.0.021
Problem: The 'cscopepathcomp' option didn't work.
Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng)
Files: src/option.c
Patch 6.0.022
Problem: When using the 'langmap' option, the second character of a command
starting with "g" isn't adjusted.
Solution: Apply 'langmap' to the second character. (Alex Kapranoff)
Files: src/normal.c
Patch 6.0.023
Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen)
Solution: Use ":runtime" instead of "source" to load haskell.vim.
Files: runtime/syntax/lhaskell.vim
Patch 6.0.024
Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah
Levitt)
Solution: Don't insert a NUL byte in the text, use a newline.
Files: src/misc1.c
Patch 6.0.025
Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line.
(Preben Peppe Guldberg)
Solution: Always see a "$" as end-of-line after "\v". Do the same for "^".
Files: src/regexp.c
Patch 6.0.026
Problem: GTK: When using arrow keys to navigate through the menus, the
separators are selected.
Solution: Set the separators "insensitive". (Pavel Kankovsky)
Files: src/gui_gtk.c, src/gui_gtk_x11.c
Patch 6.0.027
Problem: VMS: Printing doesn't work, the file is deleted too quickly.
No longer need the VMS specific printing menu.
gethostname() is not available with VAXC.
The makefile was lacking selection of the tiny-huge feature set.
Solution: Adjust the 'printexpr' option default. Fix the other problems and
update the documentation. (Zoltan Arpadffy)
Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt,
src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h
Patch 6.0.028
Problem: Can't compile without +virtualedit and with +visualextra. (Geza
Lakner)
Solution: Add an #ifdef for +virtualedit.
Files: src/ops.c
Patch 6.0.029
Problem: When making a change in line 1, then in line 2 and then deleting
line 1, undo info could be wrong. Only when the changes are undone
at once. (Gerhard Hochholzer)
Solution: When not saving a line for undo because it was already done
before, remember for which entry the last line must be computed.
Added ue_getbot_entry pointer for this. When the number of lines
changes, adjust the position of newer undo entries.
Files: src/structs.h, src/undo.c
Patch 6.0.030
Problem: Using ":source! file" doesn't work inside a loop or after
":argdo". (Pavol Juhas)
Solution: Execute the commands in the file right away, do not let the main
loop do it.
Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h,
src/proto/ex_docmd.pro, src/proto/getchar.pro
Patch 6.0.031
Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu)
Solution: Move putenv() from pty.c to misc2.c
Files: src/misc2.c, src/pty.c
Patch 6.0.032
Problem: When changing a setting that affects all folds, they are not
displayed immediately.
Solution: Set the redraw flag in foldUpdateAll().
Files: src/fold.c
Patch 6.0.033
Problem: Using 'wildmenu' on MS-Windows, file names that include a space
are only displayed starting with that space. (Xie Yuheng)
Solution: Don't recognize a backslash before a space as a path separator.
Files: src/screen.c
Patch 6.0.034
Problem: Calling searchpair() with three arguments could result in a crash
or strange error message. (Kalle Bjorklid)
Solution: Don't use the fifth argument when there is no fourth argument.
Files: src/eval.c
Patch 6.0.035
Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work
when 'ignorecase' is set. (Allen Castaban)
Solution: Always match case when checking if a flag is already present in
'guioptions'.
Files: runtime/menu.vim
Patch 6.0.036
Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a
slash in 'tags' doesn't work as expected. (Mathias Koehrer)
Solution: Only use the drive, not the whole path to the current directory.
Also make it work for "c:dir/file".
Files: src/misc2.c
Patch 6.0.037
Problem: When the user has set "did_install_syntax_menu" to avoid the
default Syntax menu it still appears. (Virgilio)
Solution: Don't add the three default items when "did_install_syntax_menu"
is set.
Files: runtime/menu.vim
Patch 6.0.038
Problem: When 'selection' is "exclusive", deleting a block of text at the
end of a line can leave the cursor beyond the end of the line.
Solution: Correct the cursor position.
Files: src/ops.c
Patch 6.0.039
Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is
used. Using "c" in blockwise Visual mode leaves the cursor in a
strange position.
Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave
the cursor on the last inserted character.
Files: src/ops.c
Patch 6.0.040
Problem: When 'fileencoding' is invalid and writing fails because of
this, the original file is gone. (Eric Carlier)
Solution: Restore the original file from the backup.
Files: src/fileio.c
Patch 6.0.041
Problem: Using ":language messages en" when LC_MESSAGES is undefined
results in setting LC_CTYPE. (Eric Carlier)
Solution: Set $LC_MESSAGES instead.
Files: src/ex_cmds2.c
Patch 6.0.042
Problem: ":mksession" can't handle file names with a space.
Solution: Escape special characters in file names with a backslash.
Files: src/ex_docmd.c
Patch 6.0.043
Problem: Patch 6.0.041 was wrong.
Solution: Use mch_getenv() instead of vim_getenv().
Files: src/ex_cmds2.c
Patch 6.0.044
Problem: Using a "containedin" list for a syntax item doesn't work for an
item that doesn't have a "contains" argument. Also, "containedin"
doesn't ignore a transparent item. (Timo Frenay)
Solution: When there is a "containedin" argument somewhere, always check for
contained items. Don't check for the transparent item but the
item it's contained in.
Files: src/structs.h, src/syntax.c
Patch 6.0.045
Problem: After creating a fold with a Visual selection, another window
with the same buffer still has inverted text. (Sami Salonen)
Solution: Redraw the inverted text.
Files: src/normal.c
Patch 6.0.046
Problem: When getrlimit() returns an 8 byte number the check for running
out of stack may fail. (Anthony Meijer)
Solution: Skip the stack check if the limit doesn't fit in a long.
Files: src/auto/configure, src/config.h.in, src/configure.in,
src/os_unix.c
Patch 6.0.047
Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash.
(Samuel Lacas)
Solution: Don't allow nested atoms inside "\%[]".
Files: src/regexp.c
Patch 6.0.048
Problem: Win32: In the console the mouse doesn't always work correctly.
Sometimes after getting focus a mouse movement is interpreted like
a button click.
Solution: Use a different function to obtain the number of mouse buttons.
Avoid recognizing a button press from undefined bits. (Vince Negri)
Files: src/os_win32.c
Patch 6.0.049
Problem: When using evim the intro screen is misleading. (Adrian Nagle)
Solution: Mention whether 'insertmode' is set and the menus to be used.
Files: runtime/menu.vim, src/version.c
Patch 6.0.050
Problem: UTF-8: "viw" doesn't include non-ASCII characters before the
cursor. (Bertilo Wennergren)
Solution: Use dec_cursor() instead of decrementing the column number.
Files: src/search.c
Patch 6.0.051
Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing
characters. (Ron Aaron)
Solution: Also include the composing characters and fix redrawing them.
Files: src/ex_getln.c, src/ops.c
Patch 6.0.052
Problem: The check for rlim_t in patch 6.0.046 does not work on some
systems. (Zdenek Sekera)
Solution: Also look in sys/resource.h for rlim_t.
Files: src/auto/configure, src/configure.in
Patch 6.0.053 (extra)
Problem: Various problems with QNX.
Solution: Minor fix for configure. Switch on terminal clipboard support in
main.c. Fix "pterm" mouse support. os_qnx.c didn't build without
photon. (Julian Kinraid)
Files: src/auto/configure, src/configure.in, src/gui_photon.c,
src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h,
src/syntax.c
Patch 6.0.054
Problem: When using mswin.vim, CTRL-V pastes a block of text like it is
normal text. Using CTRL-V in blockwise Visual mode leaves "x"
characters behind.
Solution: Make CTRL-V work as it should. Do the same for the Paste menu
entries.
Files: runtime/menu.vim, runtime/mswin.vim
Patch 6.0.055
Problem: GTK: The selection isn't copied the first time.
Solution: Own the selection at the right moment.
Files: src/gui_gtk_x11.c
Patch 6.0.056
Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode.
<Esc> doesn't leave Insert mode then.
Solution: Only use nested Insert mode when 'insertmode' is set or when a
mapping is used.
Files: src/normal.c
Patch 6.0.057
Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway)
Solution: Execute the command directly, instead of putting it in the
typeahead buffer.
Files: src/normal.c, src/proto/normal.pro, src/window.c
Patch 6.0.058
Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't
updated. (Bohdan Vlasyuk)
Solution: Update the ruler after executing the autocommands.
Files: src/gui.c
Patch 6.0.059
Problem: Highlighting for 'hlsearch' isn't visible in lines that are
highlighted for diff highlighting. (Gary Holloway)
Solution: Let 'hlsearch' highlighting overrule diff highlighting.
Files: src/screen.c
Patch 6.0.060
Problem: Motif: When the tooltip is to be popped up, Vim crashes.
(Gary Holloway)
Solution: Check for a NULL return value from gui_motif_fontset2fontlist().
Files: src/gui_beval.c
Patch 6.0.061
Problem: The toolbar buttons to load and save a session do not correctly
use v:this_session.
Solution: Check for v:this_session to be empty instead of existing.
Files: runtime/menu.vim
Patch 6.0.062
Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan
Lakshmanan)
Solution: Avoid giving a NULL pointer to printf(). Also output a newline
and switch the cursor on.
Files: src/misc2.c
Patch 6.0.063
Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of
the "$" doesn't update syntax highlighting after it.
Solution: Stop displaying the "$" when typing a ')' in its position.
Files: src/search.c
Patch 6.0.064 (extra)
Problem: The NSIS install script doesn't work with newer versions of NSIS.
The diff feature doesn't work when there isn't a good diff.exe on
the system.
Solution: Replace the GetParentDir instruction by a user function.
Fix a few cosmetic problems. Use defined constants for the
version number, so that it's defined in one place only.
Only accept the install directory when it ends in "vim".
(Eduardo Fernandez)
Add a diff.exe and use it from the default _vimrc.
Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c
Patch 6.0.065
Problem: When using ":normal" in 'indentexpr' it may use redo characters
before its argument. (Neil Bird)
Solution: Save and restore the stuff buffer in ex_normal().
Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h
Patch 6.0.066
Problem: Sometimes undo for one command is split into two undo actions.
(Halim Salman)
Solution: Don't set the undo-synced flag when reusing a line that was
already saved for undo.
Files: src/undo.c
Patch 6.0.067
Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined
in the usual header file (e.g., AIX). (Mark Waggoner)
Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it.
Files: src/if_xcmdsrv.c
Patch 6.0.068
Problem: When formatting a Visually selected area with "gq" and the number
of lines increases the last line may not be redrawn correctly.
(Yegappan Lakshmanan)
Solution: Correct the area to be redrawn for inserted/deleted lines.
Files: src/ops.c
Patch 6.0.069
Problem: Using "K" on a word that includes a "!" causes a "No previous
command" error, because the "!" is expanded. (Craig Jeffries)
Solution: Put a backslash before the "!".
Files: src/normal.c
Patch 6.0.070
Problem: Win32: The error message for a failed dynamic linking of a Perl,
Ruby, Tcl and Python library is unclear about what went wrong.
Solution: Give the name of the library or function that could not be loaded.
Also for the iconv and gettext libraries when 'verbose' is set.
Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c,
src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro,
src/proto/if_python.pro, src/proto/if_ruby.pro,
src/proto/if_tcl.pro, src/proto/mbyte.pro
Patch 6.0.071
Problem: The "iris-ansi" builtin termcap isn't very good.
Solution: Fix the wrong entries. (David Harrison)
Files: src/term.c
Patch 6.0.072
Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves
the cursor and starts Visual mode again causes a redraw problem.
(Brian Silverman)
Solution: Redraw both the old and the new Visual area when necessary.
Files: src/normal.c, src/screen.c
Patch 6.0.073 (extra)
Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway
the text. (Volker Kiefel)
Solution: Position the system cursor before starting the shell.
Files: src/os_msdos.c
Patch 6.0.074
Problem: When using "&" in a substitute string a multi-byte character with
a trailbyte 0x5c is not handled correctly.
Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
Files: src/regexp.c
Patch 6.0.075
Problem: When closing a horizontally split window while 'eadirection' is
"hor" another horizontally split window is still resized. (Aron
Griffis)
Solution: Only resize windows in the same top frame as the window that is
split or closed.
Files: src/main.c, src/proto/window.pro, src/window.c
Patch 6.0.076
Problem: Warning for wrong pointer type when compiling.
Solution: Use char instead of char_u pointer.
Files: src/version.c
Patch 6.0.077
Problem: Patch 6.0.075 was incomplete.
Solution: Fix another call to win_equal().
Files: src/option.c
Patch 6.0.078
Problem: Using "daw" at the end of a line on a single-character word didn't
include the white space before it. At the end of the file it
didn't work at all. (Gavin Sinclair)
Solution: Include the white space before the word.
Files: src/search.c
Patch 6.0.079
Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can
still overwrite a read-only file, because it's renamed. (Gary
Holloway)
Solution: Add a check for a read-only file before renaming the file to
become the backup.
Files: src/fileio.c
Patch 6.0.080
Problem: When using a session file that has the same file in two windows,
the fileinfo() call in do_ecmd() causes a scroll and a hit-enter
prompt. (Robert Webb)
Solution: Don't scroll this message when 'shortmess' contains 'O'.
Files: src/ex_cmds.c
Patch 6.0.081
Problem: After using ":saveas" the new buffer name is added to the Buffers
menu with a wrong number. (Chauk-Mean Proum)
Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer
and BufAdd for the old name (which is with a new buffer).
Files: src/ex_cmds.c
Patch 6.0.082
Problem: When swapping screens in an xterm and there is an (error) message
from the vimrc script, the shell prompt is after the message.
Solution: Output a newline when there was output on the alternate screen.
Also when starting the GUI.
Files: src/main.c
Patch 6.0.083
Problem: GTK: When compiled without menu support the buttons in a dialog
don't have any text. (Erik Edelmann)
Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define
GTK_USE_ACCEL also when not using menus.
Files: src/gui_gtk.c
Patch 6.0.084
Problem: UTF-8: a "r" command with an argument that is a keymap for a
character with a composing character can't be repeated with ".".
(Raphael Finkel)
Solution: Add the composing characters to the redo buffer.
Files: src/normal.c
Patch 6.0.085
Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then
moving the mouse pointer to another window stops Insert mode,
while this doesn't happen with "a" or "i". (Robert Webb)
Solution: Reset finish_op before calling edit().
Files: src/normal.c
Patch 6.0.086
Problem: When using "gu" the message says "~ed".
Solution: Make the message say "changed".
Files: src/ops.c
Patch 6.0.087 (lang)
Problem: Message translations are incorrect, which may cause a crash.
(Peter Figura)
The Turkish translations needed more work and the maintainer
didn't have time.
Solution: Fix order of printf arguments. Remove %2$d constructs.
Add "-v" to msgfmt to get a warning for wrong translations.
Don't install the Turkish translations for now.
Update a few more translations.
Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po,
src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po,
src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po,
src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po,
src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po
Patch 6.0.088
Problem: "." doesn't work after using "rx" in Visual mode. (Charles
Campbell)
Solution: Also store the replacement character in the redo buffer.
Files: src/normal.c
Patch 6.0.089
Problem: In a C file, using "==" to align a line starting with "* " after
a line with "* -" indents one space too few. (Piet Delport)
Solution: Align with the previous line if the comment-start-string matches
there.
Files: src/misc1.c
Patch 6.0.090
Problem: When a wrapping line does not fit in a window and 'scrolloff' is
bigger than half the window height, moving the cursor left or
right causes the screen to flash badly. (Lubomir Host)
Solution: When there is not enough room to show 'scrolloff' screen lines and
near the end of the line, show the end of the line.
Files: src/move.c
Patch 6.0.091
Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the
cursor is after the end-of-line, moves the cursor left. (Yegappan
Lakshmanan)
Solution: Keep the cursor in the same position.
Files: src/edit.c
Patch 6.0.092
Problem: The explorer plugin doesn't ignore case of 'suffixes' on
MS-Windows. (Mike Williams)
Solution: Match or ignore case as appropriate for the OS.
Files: runtime/plugin/explorer.vim
Patch 6.0.093
Problem: When the Tcl library couldn't be loaded dynamically, get an error
message when closing a buffer or window. (Muraoka Taro)
Solution: Only free structures if already using the Tcl interpreter.
Files: src/if_tcl.c
Patch 6.0.094
Problem: Athena: When clicking in the horizontal scrollbar Vim crashes.
(Paul Ackersviller)
Solution: Use the thumb size instead of the window pointer of the scrollbar
(which is NULL). (David Harrison)
Also avoid that scrolling goes the wrong way in a narrow window.
Files: src/gui_athena.c
Patch 6.0.095
Problem: Perl: Deleting lines may leave the cursor beyond the end of the
file.
Solution: Check the cursor position after deleting a line. (Serguei)
Files: src/if_perl.xs
Patch 6.0.096
Problem: When ":saveas fname" fails because the file already exists, the
file name is changed anyway and a following ":w" will overwrite
the file. (Eric Carlier)
Solution: Don't change the file name if the file already exists.
Files: src/ex_cmds.c
Patch 6.0.097
Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
multi-byte encoding.
Solution: Avoid using a character before the start of a line. (Sergey
Vlasov)
Files: src/edit.c
Patch 6.0.098
Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog
boxes are not translated.
Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez)
Files: src/gui_gtk.c, src/gui_gtk_x11.c
Patch 6.0.099
Problem: Cygwin: When running Vi compatible MS-DOS line endings cause
trouble.
Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible
mode. (Michael Schaap)
Files: src/option.h
Patch 6.0.100
Problem: ":badd +0 test%file" causes a crash.
Solution: Take into account that the "+0" is NUL terminated when allocating
room for replacing the "%".
Files: src/ex_docmd.c
Patch 6.0.101
Problem: ":mksession" doesn't restore editing a file that has a '#' or '%'
in its name. (Wolfgang Blankenburg)
Solution: Put a backslash before the '#' and '%'.
Files: src/ex_docmd.c
Patch 6.0.102
Problem: When changing folds the cursor may appear halfway a closed fold.
(Nam SungHyun)
Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto)
Files: src/move.c
Patch 6.0.103
Problem: When using 'scrollbind' a large value of 'scrolloff' will make the
scroll binding stop near the end of the file. (Coen Engelbarts)
Solution: Don't use 'scrolloff' when limiting the topline for scroll
binding. (Dany StAmant)
Files: src/normal.c
Patch 6.0.104
Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
character that overwrites the left halve of an old double-wide
character causes a redraw problem and the cursor stops blinking.
Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
Files: src/edit.c, src/screen.c
Patch 6.0.105
Problem: Multi-byte: In a window of one column wide, with syntax
highlighting enabled a crash might happen.
Solution: Skip getting the syntax attribute when the character doesn't fit
anyway. (Yasuhiro Matsumoto)
Files: src/screen.c
Patch 6.0.106 (extra)
Problem: Win32: When the printer font is wrong, there is no error message.
Solution: Give an appropriate error message. (Yasuhiro Matsumoto)
Files: src/os_mswin.c
Patch 6.0.107 (extra)
Problem: VisVim: When editing another file, a modified file may be written
unexpectedly and without warning.
Solution: Split the window if a file was modified.
Files: VisVim/Commands.cpp
Patch 6.0.108
Problem: When using folding could try displaying line zero, resulting in an
error for a NULL pointer.
Solution: Stop decrementing w_topline when the first line of a window is in
a closed fold.
Files: src/window.c
Patch 6.0.109
Problem: XIM: When the input method is enabled, repeating an insertion with
"." disables it. (Marcel Svitalsky)
Solution: Don't store the input method status when a command comes from the
stuff buffer.
Files: src/ui.c
Patch 6.0.110
Problem: Using undo after executing "OxjAxkdd" from a register in
an empty buffer gives an error message. (Gerhard Hochholzer)
Solution: Don't adjust the bottom line number of an undo block when it's
zero. Add a test for this problem.
Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok
Patch 6.0.111
Problem: The virtcol() function doesn't take care of 'virtualedit'.
Solution: Add the column offset when needed. (Yegappan Lakshmanan)
Files: src/eval.c
Patch 6.0.112
Problem: The explorer plugin doesn't sort directories with a space or
special character after a directory with a shorter name.
Solution: Ignore the trailing slash when comparing directory names. (Mike
Williams)
Files: runtime/plugin/explorer.vim
Patch 6.0.113
Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also,
expanding wildcards with the shell may fail. (John Daniel)
Solution: Escape spaces with a backslash when needed.
Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c
Patch 6.0.114
Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a
full path. For Win32 the current directory was prepended.
(Michael Geddes)
Solution: Expand the home directory.
Files: src/eval.c
Patch 6.0.115 (extra)
Problem: Win32: When using a dialog with a textfield it cannot scroll the
text.
Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes)
Files: src/gui_w32.c
Patch 6.0.116 (extra)
Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for
filesystems that use ACLs.
Solution: Use ACL functions to check if a file is writable. (Mike Williams)
Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro
Patch 6.0.117 (extra)
Problem: Win32: when disabling the menu, "set lines=999" doesn't use all
the available screen space.
Solution: Don't subtract the fixed caption height but the real menu height
from the available screen space. Also: Avoid recursion in
gui_mswin_get_menu_height().
Files: src/gui_w32.c, src/gui_w48.c
Patch 6.0.118
Problem: When $TMPDIR is a relative path, the temp directory is missing a
trailing slash and isn't deleted when Vim exits. (Peter Holm)
Solution: Add the slash after expanding the directory to an absolute path.
Files: src/fileio.c
Patch 6.0.119 (depends on patch 6.0.116)
Problem: VMS: filewritable() doesn't work properly.
Solution: Use the same method as for Unix. (Zoltan Arpadffy)
Files: src/eval.c
Patch 6.0.120
Problem: The conversion to html isn't compatible with XHTML.
Solution: Quote the values. (Jess Thrysoee)
Files: runtime/syntax/2html.vim
Patch 6.0.121 (extra) (depends on patch 6.0.116)
Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32.
Solution: Add an #ifdef HAVE_ACL.
Files: src/os_win32.c
Patch 6.0.122 (extra)
Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And
dialog textfield problem from patch 6.0.115.
Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag.
(Vince Negri)
Files: src/gui_w16.c
Patch 6.0.123 (depends on patch 6.0.119)
Problem: Win16: Compilation problems.
Solution: Move "&&" to other lines. (Vince Negri)
Files: src/eval.c
Patch 6.0.124
Problem: When using a ":substitute" command that starts with "\="
(evaluated as an expression), "~" was still replaced with the
previous substitute string.
Solution: Skip the replacement when the substitute string starts with "\=".
Also adjust the documentation about doubling backslashes.
Files: src/ex_cmds.c, runtime/doc/change.txt
Patch 6.0.125 (extra)
Problem: Win32: When using the multi_byte_ime feature pressing the shift
key would be handled as if a character was entered, thus mappings
with a shifted key didn't work. (Charles Campbell)
Solution: Ignore pressing the shift, control and alt keys.
Files: src/os_win32.c
Patch 6.0.126
Problem: The python library was always statically linked.
Solution: Link the python library dynamically. (Matthias Klose)
Files: src/auto/configure, src/configure.in
Patch 6.0.127
Problem: When using a terminal that swaps screens and the Normal background
color has a different background, using an external command may
cause the color of the wrong screen to be changed. (Mark Waggoner)
Solution: Don't call screen_stop_highlight() in stoptermcap().
Files: src/term.c
Patch 6.0.128
Problem: When moving a vertically split window to the far left or right,
the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus'
is set the mouse pointer wasn't adjusted.
Solution: Adjust the scrollbars and the mouse pointer.
Files: src/window.c
Patch 6.0.129
Problem: When using a very long file name, ":ls" (repeated a few times)
causes a crash. Test with "vim `perl -e 'print "A"x1000'`".
(Tejeda)
Solution: Terminate a string before getting its length in buflist_list().
Files: src/buffer.c
Patch 6.0.130
Problem: When using ":cprev" while the error window is open, and the new
line at the top wraps, the window isn't correctly drawn.
(Yegappan Lakshmanan)
Solution: When redrawing the topline don't scroll twice.
Files: src/screen.c
Patch 6.0.131
Problem: When using bufname() and there are two matches for listed buffers
and one match for an unlisted buffer, the unlisted buffer is used.
(Aric Blumer)
Solution: When there is a match with a listed buffer, don't check for
unlisted buffers.
Files: src/buffer.c
Patch 6.0.132
Problem: When setting 'iminsert' in the vimrc and using an xterm with two
screens the ruler is drawn in the wrong screen. (Igor Goldenberg)
Solution: Only draw the ruler when using the right screen.
Files: src/option.c
Patch 6.0.133
Problem: When opening another buffer while 'keymap' is set and 'iminsert'
is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg)
Solution: Don't set 'iminsert' as a side effect of defining a ":lmap"
mapping. Only do that when 'keymap' is set.
Files: src/getchar.c, src/option.c
Patch 6.0.134
Problem: When completing ":set tags=" a path with an embedded space causes
the completion to stop. (Sektor van Skijlen)
Solution: Escape spaces with backslashes, like for ":set path=". Also take
backslashes into account when searching for the start of the path
to complete (e.g., for 'backupdir' and 'cscopeprg').
Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h
Patch 6.0.135
Problem: Menus that are not supposed to do anything used "<Nul>", which
still produced an error beep.
When CTRL-O is mapped for Insert mode, ":amenu" commands didn't
work in Insert mode.
Menu language falls back to English when $LANG ends in "@euro".
Solution: Use "<Nop>" for a menu item that doesn't do anything, just like
mappings.
Use ":anoremenu" instead of ":amenu".
Ignore "@euro" in the locale name.
Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c
Patch 6.0.136
Problem: When completing in Insert mode, a mapping could be unexpectedly
applied.
Solution: Don't use mappings when checking for a typed character.
Files: src/edit.c
Patch 6.0.137
Problem: GUI: When using the find or find/replace dialog from Insert mode,
the input mode is stopped.
Solution: Don't use the input method status when the main window doesn't
have focus.
Files: src/ui.c
Patch 6.0.138
Problem: GUI: When using the find or find/replace dialog from Insert mode,
the text is inserted when CTRL-O is mapped. (Andre Pang)
When opening the dialog again, a whole word search isn't
recognized.
When doing "replace all" a whole word search was never done.
Solution: Don't put a search or replace command in the input buffer,
execute it directly.
Recognize "\<" and "\>" after removing "\V".
Add "\<" and "\>" also for "replace all".
Files: src/gui.c
Patch 6.0.139
Problem: When stopping 'wildmenu' completion, the statusline of the
bottom-left vertically split window isn't redrawn. (Yegappan
Lakshmanan)
Solution: Redraw all the bottom statuslines.
Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c
Patch 6.0.140
Problem: Memory allocated for local mappings and abbreviations is leaked
when the buffer is wiped out.
Solution: Clear the local mappings when deleting a buffer.
Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h
Patch 6.0.141
Problem: When using ":enew" in an empty buffer, some buffer-local things
are not cleared. b:keymap_name is not set.
Solution: Clear user commands and mappings local to the buffer when re-using
the current buffer. Reload the keymap.
Files: src/buffer.c
Patch 6.0.142
Problem: When Python is linked statically, loading dynamic extensions might
fail.
Solution: Add an extra linking flag when needed. (Andrew Rodionoff)
Files: src/configure.in, src/auto/configure
Patch 6.0.143
Problem: When a syntax item includes a line break in a pattern, the syntax
may not be updated properly when making a change.
Solution: Add the "linebreaks" argument to ":syn sync".
Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c
Patch 6.0.144
Problem: After patch 6.0.088 redoing "veU" doesn't work.
Solution: Don't add the "U" to the redo buffer, it will be used as an undo
command.
Files: src/normal.c
Patch 6.0.145
Problem: When Vim can't read any input it might get stuck. When
redirecting stdin and stderr Vim would not read commands from a
file. (Servatius Brandt)
Solution: When repeatedly trying to read a character when it's not possible,
exit Vim. When stdin and stderr are not a tty, still try reading
from them, but don't do a blocking wait.
Files: src/ui.c
Patch 6.0.146
Problem: When 'statusline' contains "%{'-'}" this results in a zero.
(Milan Vancura)
Solution: Don't handle numbers with a minus as a number, they were not
displayed anyway.
Files: src/buffer.c
Patch 6.0.147
Problem: It's not easy to mark a Vim version as being modified. The new
license requires this.
Solution: Add the --modified-by argument to configure and the MODIFIED_BY
define. It's used in the intro screen and the ":version" output.
Files: src/auto/configure, src/configure.in, src/config.h.in,
src/feature.h, src/version.c
Patch 6.0.148
Problem: After "p" in an empty line, `[ goes to the second character.
(Kontra Gergely)
Solution: Don't increment the column number in an empty line.
Files: src/ops.c
Patch 6.0.149
Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search
pattern that causes a stack overflow to be detected Vim could
still hang.
Solution: Correctly report "operand could be empty" when using "\{-}".
Check for "out_of_stack" inside loops to avoid a hang.
Files: src/regexp.c
Patch 6.0.150
Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work
like "P". (Sung-Hyun Nam)
Solution: Compute the byte length of a multi-byte character.
Files: src/ops.c
Patch 6.0.151
Problem: Redrawing the status line and ruler can be wrong when it contains
multi-byte characters.
Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
Files: src/screen.c
Patch 6.0.152
Problem: strtrans() could hang on an illegal UTF-8 byte sequence.
Solution: Skip over illegal bytes. (Yasuhiro Matsumoto)
Files: src/charset.c
Patch 6.0.153
Problem: When using (illegal) double-byte characters and Vim syntax
highlighting Vim can crash. (Yasuhiro Matsumoto)
Solution: Increase a pointer over a character instead of a byte.
Files: src/regexp.c
Patch 6.0.154
Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when
there is no xxd in the path.
When converting back from Hex the filetype may remain "xxd" if it
is not detected.
Solution: When xxd is not in the path use the one in the runtime directory,
where the install program has put it.
Clear the 'filetype' option before detecting the new value.
Files: runtime/menu.vim
Patch 6.0.155
Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel
Kielhorn)
Solution: Don't call mch_inchar() when NO_CONSOLE is defined.
Files: src/ui.c
Patch 6.0.156
Problem: Starting Vim with the -b argument and two files, ":next" doesn't
set 'binary' in the second file, like Vim 5.7. (Norman Diamond)
Solution: Set the global value for 'binary'.
Files: src/option.c
Patch 6.0.157
Problem: When defining a user command with "-complete=dir" files will also
be expanded. Also, "-complete=mapping" doesn't appear to work.
(Michael Naumann)
Solution: Use the expansion flags defined with the user command.
Handle expanding mappings specifically.
Files: src/ex_docmd.c
Patch 6.0.158
Problem: When getting the warning for a file being changed outside of Vim
and reloading the file, the 'readonly' option is reset, even when
the permissions didn't change. (Marcel Svitalsky)
Solution: Keep 'readonly' set when reloading a file and the permissions
didn't change.
Files: src/fileio.c
Patch 6.0.159
Problem: Wildcard expansion for ":emenu" also shows separators.
Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff".
Also, don't handle ":tmenu" as if it was ":tearoff". And leave
out the alternatives with "&" included.
Files: src/menu.c
Patch 6.0.160
Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the
optimizer causes a problem that makes Vim crash.
Solution: Add a configure check to avoid "-O2" for this version of gcc.
Files: src/configure.in, src/auto/configure
Patch 6.0.161 (extra)
Problem: Win32: Bitmaps don't work with signs.
Solution: Make it possible to use bitmaps with signs. (Muraoka Taro)
Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c,
src/proto/gui_w32.pro, src/proto/gui_x11.pro
Patch 6.0.162
Problem: Client-server: An error message for a wrong expression appears in
the server instead of the client.
Solution: Pass the error message from the server to the client. Also
adjust the example code. (Flemming Madsen)
Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro,
runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c
Patch 6.0.163
Problem: When using a GUI dialog, a file name is sometimes used like it was
a directory.
Solution: Separate path and file name properly.
For GTK, Motif and Athena concatenate directory and file name for
the default selection.
Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c
Patch 6.0.164
Problem: After patch 6.0.135 the menu entries for pasting don't work in
Insert and Visual mode. (Muraoka Taro)
Solution: Add <script> to allow script-local mappings.
Files: runtime/menu.vim
Patch 6.0.165
Problem: Using --remote and executing locally gives unavoidable error
messages.
Solution: Add --remote-silent and --remote-wait-silent to silently execute
locally.
For Win32 there was no error message when a server didn't exist.
Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro
Patch 6.0.166
Problem: GUI: There is no way to avoid dialogs to pop up.
Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan
Lakshmanan)
Files: runtime/doc/options.txt, src/option.h, src/message.c
Patch 6.0.167
Problem: When 'fileencodings' is "latin2" some characters in the help files
are displayed wrong.
Solution: Force the 'fileencoding' for the help files to be "latin1".
Files: src/fileio.c
Patch 6.0.168
Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser)
Solution: Don't skip matches after joining two lines.
Files: src/ex_cmds.c
Patch 6.0.169
Problem: When run as evim and the GUI can't be started we get stuck in a
terminal without menus in Insert mode.
Solution: Exit when using "evim" and "gvim -y" when the GUI can't be
started.
Files: src/main.c
Patch 6.0.170
Problem: When printing double-width characters the size of tabs after them
is wrong. (Muraoka Taro)
Solution: Correctly compute the column after a double-width character.
Files: src/ex_cmds2.c
Patch 6.0.171
Problem: With 'keymodel' including "startsel", in Insert mode after the end
of a line, shift-Left does not move the cursor. (Steve Hall)
Solution: CTRL-O doesn't move the cursor left, need to do that explicitly.
Files: src/edit.c
Patch 6.0.172
Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it
does in most other situations.
Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode.
Files: src/edit.c
Patch 6.0.173
Problem: When using "P" to insert a line break the cursor remains past the
end of the line.
Solution: Check for the cursor being beyond the end of the line.
Files: src/ops.c
Patch 6.0.174
Problem: After using "gd" or "gD" the search direction for "n" may still be
backwards. (Servatius Brandt)
Solution: Reset the search direction to forward.
Files: src/normal.c, src/search.c, src/proto/search.pro
Patch 6.0.175
Problem: ":help /\z(\)" doesn't work. (Thomas Koehler)
Solution: Double the backslashes.
Files: src/ex_cmds.c
Patch 6.0.176
Problem: When killed by a signal autocommands are still triggered as if
nothing happened.
Solution: Add the v:dying variable to allow autocommands to work differently
when a deadly signal has been trapped.
Files: src/eval.c, src/os_unix.c, src/vim.h
Patch 6.0.177
Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf"
doesn't work. (Thomas S. Urban)
Solution: Add the marker even when 'commentstring' is empty.
Files: src/fold.c, src/normal.c
Patch 6.0.178
Problem: Uninitialized memory read from xp_backslash field.
Solution: Initialize xp_backslash field properly.
Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c
Patch 6.0.179
Problem: Win32: When displaying UTF-8 characters may read uninitialized
memory.
Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a
string.
Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c
Patch 6.0.180
Problem: Expanding environment variables in a string that ends in a
backslash could go past the end of the string.
Solution: Detect the trailing backslash.
Files: src/misc1.c
Patch 6.0.181
Problem: When using ":cd dir" memory was leaked.
Solution: Free the allocated memory. Also avoid an uninitialized memory
read.
Files: src/misc2.c
Patch 6.0.182
Problem: When using a regexp on multi-byte characters, could try to read a
character before the start of the line.
Solution: Don't decrement a pointer to before the start of the line.
Files: src/regexp.c
Patch 6.0.183
Problem: Leaking memory when ":func!" redefines a function.
Solution: Free the function name when it's not used.
Files: src/eval.c
Patch 6.0.184
Problem: Leaking memory when expanding option values.
Solution: Don't always copy the expanded option into allocated memory.
Files: src/option.c
Patch 6.0.185
Problem: Crash in Vim when pasting a selection in another application, on a
64 bit machine.
Solution: Fix the format for an Atom to 32 bits. (Peter Derr)
Files: src/ui.c
Patch 6.0.186
Problem: X11: Three warnings when compiling the client-server code.
Solution: Add a typecast to unsigned char.
Files: src/if_xcmdsrv.c
Patch 6.0.187
Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew
Stryker)
"I" in Visual linewise mode adjusts the indent for no apparent
reason.
Solution: Only save those lines for undo that are changed.
Don't change the indent after inserting in Visual linewise mode.
Files: src/ops.c
Patch 6.0.188
Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't
work.
Solution: Initialize the sign icons after initializing the GUI. (Vince
Negri)
Files: src/gui.c, src/gui_x11.c
Patch 6.0.189
Problem: The size of the Visual area isn't always displayed when scrolling
('ruler' off, 'showcmd' on). Also not when using a search
command. (Sylvain Hitier)
Solution: Redisplay the size of the selection after showing the mode.
Files: src/screen.c
Patch 6.0.190
Problem: GUI: when 'mouse' is empty a click with the middle button still
moves the cursor.
Solution: Paste at the cursor position instead of the mouse position.
Files: src/normal.c
Patch 6.0.191
Problem: When no servers are available serverlist() gives an error instead
of returning an empty string. (Hari Krishna)
Solution: Don't give an error message.
Files: src/eval.c
Patch 6.0.192
Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew
Nikitin)
Solution: Reset the flag that w_virtcol is valid when moving the cursor back
to the start of the operated area.
Files: src/normal.c
Patch 6.0.193
Problem: When 'virtualedit' is set, col(".") after the end of the line
should return one extra.
Solution: Add one to the column.
Files: src/eval.c
Patch 6.0.194
Problem: "--remote-silent" tries to send a reply to the client, like it was
"--remote-wait".
Solution: Properly check for the argument.
Files: src/main.c
Patch 6.0.195
Problem: When 'virtualedit' is set and a search starts in virtual space
":call search('x')" goes to the wrong position. (Eric Long)
Solution: Reset coladd when finding a match.
Files: src/search.c
Patch 6.0.196
Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually
selecting part of a tab at the start of a line, "x" joins it with
the previous line. Also, when the selection spans more than one
line the whole tab is deleted.
Solution: Take coladd into account when adjusting for 'selection' being
"exclusive". Also expand a tab into spaces when deleting more
than one line.
Files: src/normal.c, src/ops.c
Patch 6.0.197
Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x"
doesn't delete the last character in the line. (Eric Long)
Solution: Don't reset the inclusive flag. (Helmut Stiegler)
Files: src/normal.c
Patch 6.0.198
Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the
cursor over the line break doesn't work properly. (Eric Long)
Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the
virtual cursor position. Adjust coladvance() and oneleft() to
skip over the 'showbreak' characters.
Files: src/edit.c, src/misc2.c
Patch 6.0.199
Problem: Multi-byte: could use iconv() after calling iconv_end().
(Yasuhiro Matsumoto)
Solution: Stop converting input and output stream after calling iconv_end().
Files: src/mbyte.c
Patch 6.0.200
Problem: A script that starts with "#!perl" isn't recognized as a Perl
filetype.
Solution: Ignore a missing path in a script header. Also, speed up
recognizing scripts by simplifying the patterns used.
Files: runtime/scripts.vim
Patch 6.0.201
Problem: When scrollbinding and doing a long jump, switching windows jumps
to another position in the file. Scrolling a few lines at a time
is OK. (Johannes Zellner)
Solution: When setting w_topline reset the flag that indicates w_botline is
valid.
Files: src/diff.c
Patch 6.0.202
Problem: The "icon=" argument for the menu command to define a toolbar icon
with a file didn't work for GTK. (Christian J. Robinson)
For Motif and Athena a full path was required.
Solution: Search the icon file using the specified path. Expand environment
variables in the file name.
Files: src/gui_gtk.c, src/gui_x11.c
Patch 6.0.203
Problem: Can change 'fileformat' even though 'modifiable' is off.
(Servatius Brandt)
Solution: Correct check for kind of set command.
Files: src/option.c
Patch 6.0.204
Problem: ":unlet" doesn't work for variables with curly braces. (Thomas
Scott Urban)
Solution: Handle variable names with curly braces properly. (Vince Negri)
Files: src/eval.c
Patch 6.0.205 (extra)
Problem: "gvim -f" still forks when using the batch script to start Vim.
Solution: Add an argument to "start" to use a foreground session (Michael
Geddes)
Files: src/dosinst.c
Patch 6.0.206
Problem: Unix: if expanding a wildcard in a file name results in a
wildcard character and there are more parts in the path with a
wildcard, it is expanded again.
Windows: ":edit \[abc]" could never edit the file "[abc]".
Solution: Don't expand wildcards in already expanded parts.
Don't remove backslashes used to escape the special meaning of a
wildcard; can edit "[abc]" if '[' is removed from 'isfname'.
Files: src/misc1.c, src/os_unix.c
Patch 6.0.207 (extra)
Problem: Win32: The shortcuts and start menu entries let Vim startup in the
desktop directory, which is not very useful.
Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH.
Files: src/dosinst.c
Patch 6.0.208
Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in
Insert mode doesn't directly change the cursor color. (Alex
Solow)
Solution: Force a redraw of the cursor after CTRL-^.
Files: src/edit.c
Patch 6.0.209
Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
are redraw problems for multi-byte characters.
Solution: Separate the font dialog from setting the new font name to avoid
that "*" is used to find wide and bold fonts.
When redrawing extra characters for the bold trick, take care of
UTF-8 characters.
Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro,
src/proto/gui_gtk_x11.pro
Patch 6.0.210
Problem: After patch 6.0.167 it's no longer possible to edit a help file in
another encoding than latin1.
Solution: Let the "++enc=" argument overrule the encoding.
Files: src/fileio.c
Patch 6.0.211
Problem: When reading a file fails, the buffer is empty, but it might still
be possible to write it with ":w" later. The original file is
lost then. (Steve Amerige)
Solution: Set the 'readonly' option for the buffer.
Files: src/fileio.c
Patch 6.0.212
Problem: GUI GTK: confirm("foo", "") causes a crash.
Solution: Don't make a non-existing button the default. Add a default "OK"
button if none is specified.
Files: src/eval.c, src/gui_gtk.c
Patch 6.0.213
Problem: When a file name contains unprintable characters, CTRL-G and other
commands don't work well.
Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto)
Files: src/buffer.c, src/charset.c
Patch 6.0.214
Problem: When there is a buffer without a name, empty entries appear in the
jumplist saved in the viminfo file.
Solution: Don't write jumplist entries without a file name.
Files: src/mark.c
Patch 6.0.215
Problem: After using "/" from Visual mode the Paste menu and Toolbar
entries don't work. Pasting with the middle mouse doesn't work
and modeless selection doesn't work.
Solution: Use the command line mode menus and use the mouse like in the
command line.
Files: src/gui.c, src/menu.c, src/ui.c
Patch 6.0.216
Problem: After reloading a file, displayed in another window than the
current one, which was changed outside of Vim the part of the file
around the cursor set by autocommands may be displayed, but
jumping back to the original cursor position when entering the
window again.
Solution: Restore the topline of the window.
Files: src/fileio.c
Patch 6.0.217
Problem: When getting help from a help file that was used before, an empty
unlisted buffer remains in the buffer list. (Eric Long)
Solution: Wipe out the buffer used to do the tag jump from.
Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
Patch 6.0.218
Problem: With explorer plugin: "vim -o filename dirname" doesn't load the
explorer window until entering the window.
Solution: Call s:EditDir() for each window after starting up.
Files: runtime/plugin/explorer.vim
Patch 6.0.219
Problem: ":setlocal" and ":setglobal", without arguments, display terminal
options. (Zdenek Sekera)
Solution: Skip terminal options for these two commands.
Files: src/option.c
Patch 6.0.220
Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro)
Solution: Don't try going to another window when there isn't one.
Files: runtime/plugin/explorer.vim
Patch 6.0.221
Problem: When using ":bdel" and all other buffers are unloaded the lowest
numbered buffer is jumped to instead of the most recent one. (Dave
Cecil)
Solution: Prefer an unloaded buffer from the jumplist.
Files: src/buffer.c
Patch 6.0.222
Problem: When 'virtualedit' is set and using autoindent, pressing Esc after
starting a new line leaves behind part of the autoindent. (Helmut
Stiegler)
Solution: After deleting the last char in the line adjust the cursor
position in del_bytes().
Files: src/misc1.c, src/ops.c
Patch 6.0.223
Problem: When splitting a window that contains the explorer, hitting CR on
a file name gives error messages.
Solution: Set the window variables after splitting the window.
Files: runtime/plugin/explorer.vim
Patch 6.0.224
Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window
the text may jump left-right and the cursor is displayed in the
wrong position. (Aric Blumer)
Solution: When there is not enough room, compute the left column for the
window to put the cursor in the middle.
Files: src/move.c
Patch 6.0.225
Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath
Avadhanula)
Solution: Behave differently in a closed fold.
Files: src/normal.c
Patch 6.0.226
Problem: When doing ":recover file" get the ATTENTION prompt.
After recovering the same file five times get a read error or a
crash. (Alex Davis)
Solution: Set the recoverymode flag before setting the file name.
Correct the amount of used memory for the size of block zero.
Files: src/ex_docmd.c
Patch 6.0.227 (extra)
Problem: The RISC OS port has several problems.
Solution: Update the makefile and fix some of the problems. (Andy Wingate)
Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h,
src/proto/os_riscos.pro, src/search.c
Patch 6.0.228
Problem: After putting text in Visual mode the '] mark is not at the end of
the put text.
Undo doesn't work properly when putting a word into a Visual
selection that spans more than one line.
Solution: Correct the '] mark for the deleting the Visually selected text.
#ifdef code that depends on FEAT_VISUAL properly.
Also fix that "d" crossing line boundary puts '[ just before
deleted text.
Fix undo by saving all deleted lines at once.
Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
src/structs.h, src/vim.h
Patch 6.0.229
Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
at a multi-byte char followed by an ASCII char, and the other way
around. (Muraoka Taro)
When joining lines a space is inserted between multi-byte
characters, which is not always wanted.
Solution: Check for multi-byte character before and after the breakpoint.
Don't insert a space before or after a multi-byte character when
joining lines and the 'M' flag is in 'formatoptions'. Don't
insert a space between multi-byte characters when the 'B' flag is
in 'formatoptions'.
Files: src/edit.c, src/ops.c, src/option.h
Patch 6.0.230
Problem: The ":" used as a motion after an operator is exclusive, but
sometimes it should be inclusive.
Solution: Make the "v" in between an operator and motion toggle
inclusive/exclusive. (Servatius Brandt)
Files: runtime/doc/motion.txt, src/normal.c
Patch 6.0.231
Problem: "gd" and "gD" don't work when the variable matches in a comment
just above the match to be found. (Servatius Brandt)
Solution: Continue searching in the first column below the comment.
Files: src/normal.c
Patch 6.0.232
Problem: "vim --version" prints on stderr while "vim --help" prints on
stdout.
Solution: Make "vim --version" use stdout.
Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c
Patch 6.0.233
Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because
there is an upper limit. (Jim Battle)
Solution: Allow using "\{min,max}" after an atom that can be empty if there
is an upper limit.
Files: src/regexp.c
Patch 6.0.234
Problem: It's not easy to set the cursor position without modifying marks.
Solution: Add the cursor() function. (Yegappan Lakshmanan)
Files: runtime/doc/eval.txt, src/eval.c
Patch 6.0.235
Problem: When writing a file and renaming the original file to make the
backup, permissions could change when setting the owner.
Solution: Only set the owner when it's needed and set the permissions again
afterwards.
When 'backupcopy' is "auto" check that the owner and permissions
of a newly created file can be set properly.
Files: src/fileio.c
Patch 6.0.236
Problem: ":edit" without argument should move cursor to line 1 in Vi
compatible mode.
Solution: Add 'g' flag to 'cpoptions'.
Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h
Patch 6.0.237
Problem: In a C file, using the filetype plugin, re-indenting a comment
with two spaces after the middle "*" doesn't align properly.
Solution: Don't use a middle entry from a start/middle/end to line up with
the start of the comment when the start part doesn't match with
the actual comment start.
Files: src/misc1.c
Patch 6.0.238
Problem: Using a ":substitute" command with a substitute() call in the
substitution expression causes errors. (Srinath Avadhanula)
Solution: Save and restore pointers when doing substitution recursively.
Files: src/regexp.c
Patch 6.0.239
Problem: Using "A" to append after a Visually selected block which is after
the end of the line, spaces are inserted in the wrong line and
other unexpected effects. (Michael Naumann)
Solution: Don't advance the cursor to the next line.
Files: src/ops.c
Patch 6.0.240
Problem: Win32: building with Python 2.2 doesn't work.
Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore)
Files: src/if_python.c
Patch 6.0.241
Problem: Win32: Expanding the old value of an option that is a path that
starts with a backslash, an extra backslash is inserted.
Solution: Only insert backslashes where needed.
Also handle multi-byte characters properly when removing
backslashes.
Files: src/option.c
Patch 6.0.242
Problem: GUI: On a system with an Exceed X server sometimes get a "Bad
Window" error. (Tommi Maekitalo)
Solution: When forking, use a pipe to wait in the parent for the child to
have done the setsid() call.
Files: src/gui.c
Patch 6.0.243
Problem: Unix: "vim --version" outputs a NL before the last line instead of
after it. (Charles Campbell)
Solution: Send the NL to the same output stream as the text.
Files: src/message.c, src/os_unix.c, src/proto/message.pro
Patch 6.0.244
Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
file name (e.g., icon text, status line).
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
characters and replace them with <xx>. Truncating the status line
wasn't done correctly at a multi-byte character. (Yasuhiro
Matsumoto)
Added correct_cmdspos() and transchar_byte().
Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
src/message.c, src/screen.c, src/vim.h
Patch 6.0.245
Problem: After using a color scheme, setting the 'background' option might
not work. (Peter Horst)
Solution: Disable the color scheme if it switches 'background' back to the
wrong value.
Files: src/option.c
Patch 6.0.246
Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary
Holloway)
Solution: Use the specified attributes for the message. (Yegappan
Lakshmanan)
Files: src/eval.c
Patch 6.0.247
Problem: GTK GUI: Can't use gvim in a kpart widget.
Solution: Add the "--echo-wid" argument to let Vim echo the window ID on
stdout. (Philippe Fremy)
Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c,
src/main.c
Patch 6.0.248
Problem: When using compressed help files and 'encoding' isn't "latin1",
Vim converts the help file before decompressing. (David Reviejo)
Solution: Don't convert a help file when 'binary' is set.
Files: src/fileio.c
Patch 6.0.249
Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit().
Solution: Don't set the cursor on the first line for "-c" arguments when
there also is a "-t" argument.
Files: src/main.c
Patch 6.0.250 (extra)
Problem: Macintosh: Various problems when compiling.
Solution: Various fixes, mostly #ifdefs. (Dany St. Amant)
Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h,
src/os_mac.pbproj/project.pbxproj, src/os_unix.c
Patch 6.0.251 (extra)
Problem: Macintosh: menu shortcuts are not very clear.
Solution: Show the shortcut with the Mac clover symbol. (raindog)
Files: src/gui_mac.c
Patch 6.0.252
Problem: When a user function was defined with "abort", an error that is
not inside if/endif or while/endwhile doesn't abort the function.
(Servatius Brandt)
Solution: Don't reset did_emsg when the function is to be aborted.
Files: src/ex_docmd.c
Patch 6.0.253
Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O>
doesn't work. (Benji Fisher) <C-L> has the same problem.
Solution: Reset need_start_insertmode once in edit().
Files: src/edit.c
Patch 6.0.254 (extra)
Problem: Borland C++ 5.5: Checking for stack overflow doesn't work
correctly. Matters when using a complicated regexp.
Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto)
Files: src/Make_bc5.mak
Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121)
Problem: Win32: ACL support doesn't work well on Samba drives.
Solution: Add a check for working ACL support. (Mike Williams)
Files: src/os_win32.c
Patch 6.0.256 (extra)
Problem: Win32: ":highlight Comment guifg=asdf" does not give an error
message. (Randall W. Morris) Also for other systems.
Solution: Add gui_get_color() to give one error message for all systems.
Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c,
src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c,
src/proto/gui.pro, src/syntax.c
Patch 6.0.257
Problem: Win32: When 'mousefocus' is set and there is a BufRead
autocommand, after the dialog for permissions changed outside of
Vim: 'mousefocus' stops working. (Robert Webb)
Solution: Reset need_mouse_correct after checking timestamps.
Files: src/fileio.c
Patch 6.0.258
Problem: When 'scrolloff' is 999 and there are folds, the text can jump up
and down when moving the cursor down near the end of the file.
(Lubomir Host)
Solution: When putting the cursor halfway the window start counting lines at
the end of a fold.
Files: src/move.c
Patch 6.0.259
Problem: MS-DOS: after editing the command line the cursor shape may remain
like in Insert mode. (Volker Kiefel)
Solution: Reset the cursor shape after editing the command line.
Files: src/ex_getln.c
Patch 6.0.260
Problem: GUI: May crash while starting up when giving an error message for
missing color. (Servatius Brandt)
Solution: Don't call gui_write() when still starting up. Don't give error
message for empty color name. Don't use 't_vb' while the GUI is
still starting up.
Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
Patch 6.0.261
Problem: nr2char() and char2nr() don't work with multi-byte characters.
Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
Files: runtime/doc/eval.txt, src/eval.c
Patch 6.0.262 (extra)
Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used
at all.
Solution: Adjust various things for IME.
Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro,
src/structs.h, src/ui.c
Patch 6.0.263
Problem: GTK: When a dialog is closed by the window manager, Vim hangs.
(Christian J. Robinson)
Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE().
Files: src/gui_gtk.c, src/gui_gtk_x11.c
Patch 6.0.264
Problem: The amount of virtual memory is used to initialize 'maxmemtot',
which may be much more than the amount of physical memory,
resulting in a lot of swapping.
Solution: Get the amount of physical memory with sysctl(), sysconf() or
sysinfo() when possible.
Files: src/auto/configure, src/configure.in, src/config.h.in,
src/os_unix.c, src/os_unix.h
Patch 6.0.265
Problem: Win32: Using backspace while 'fkmap' is set causes a crash.
(Jamshid Oasjmoha)
Solution: Don't try mapping special keys.
Files: src/farsi.c
Patch 6.0.266
Problem: The rename() function deletes the file if the old and the new name
are the same. (Volker Kiefel)
Solution: Don't do anything if the names are equal.
Files: src/fileio.c
Patch 6.0.267
Problem: UTF-8: Although 'isprint' says a character is printable,
utf_char2cells() still considers it unprintable.
Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto)
Files: src/mbyte.c
Patch 6.0.268 (extra) (depends on patch 6.0.255)
Problem: Win32: ACL check crashes when using forward slash in file name.
Solution: Improve the check for the path in the file name.
Files: src/os_win32.c
Patch 6.0.269
Problem: Unprintable characters in a file name may cause problems when
using the 'statusline' option or when 'buftype' is "nofile".
Solution: call trans_characters() for the resulting statusline. (Yasuhiro
Matsumoto)
Files: src/buffer.c, src/screen.c, src/charset.c
Patch 6.0.270 (depends on patch 6.0.267)
Problem: A tab causes UTF-8 text to be displayed in the wrong position.
(Ron Aaron)
Solution: Correct utf_char2cells() again.
Files: src/mbyte.c
Patch 6.1a.001 (extra)
Problem: 32bit DOS: copying text to the clipboard may cause a crash.
(Jonathan D Johnston)
Solution: Don't copy one byte too much in SetClipboardData().
Files: src/os_msdos.c
Patch 6.1a.002
Problem: GTK: On some configurations, when closing a dialog from the window
manager, Vim hangs.
Solution: Catch the "destroy" signal. (Aric Blumer)
Files: src/gui_gtk.c
Patch 6.1a.003
Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set:
yanking in Visual mode doesn't include the last byte. (Eric Long)
Solution: Don't add a space for a double-wide character.
Files: src/ops.c
Patch 6.1a.004 (extra)
Problem: MINGW: undefined type. (Ron Aaron)
Solution: Make GetCompositionString_inUCS2() static.
Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro
Patch 6.1a.005 (extra)
Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan
Johnston)
Solution: Don't keep the driver context when using ":hardcopy!". (Vince
Negri)
Files: src/os_mswin.c
Patch 6.1a.006
Problem: multi-byte: after setting 'encoding' the window title might be
wrong.
Solution: Force resetting the title. (Yasuhiro Matsumoto)
Files: src/option.c
Patch 6.1a.007
Problem: Filetype detection for "*.inc" doesn't work.
Solution: Use a ":let" command. (David Schweikert)
Files: runtime/filetype.vim
Patch 6.1a.008 (extra)
Problem: Win32: ACL detection for network shares doesn't work.
Solution: Include the trailing (back)slash in the root path. (Mike Williams)
Files: src/os_win32.c
Patch 6.1a.009
Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a ()
part that follows, but it generates an error message.
Solution: Allow a forward reference when there is a following "\@<=" or
"\@<!".
Files: runtime/doc/pattern.txt, src/regexp.c
Patch 6.1a.010
Problem: When using ":help" and opening a new window, the alternate file
isn't set.
Solution: Set the alternate file to the previously edited file.
Files: src/ex_cmds.c
Patch 6.1a.011
Problem: GTK: ":set co=77", change width with the mouse, ":set co=77"
doesn't resize the window. (Darren Hiebert)
Solution: Set the form size after handling a resize event.
Files: src/gui_gtk_x11.c
Patch 6.1a.012
Problem: GTK: The file browser always returns a full path. (Lohner)
Solution: Shorten the file name if possible.
Files: src/gui_gtk.c
Patch 6.1a.013
Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the
last character of the word isn't ignored. (Raul Segura Acevedo)
Solution: Ignore case when checking the last typed character.
Files: src/edit.c
Patch 6.1a.014
Problem: After patch 6.1a.006 can't compile without the title feature.
Solution: Add an #ifdef.
Files: src/option.c
Patch 6.1a.015
Problem: MS-Windows: When expanding a file name that contains a '[' or '{'
an extra backslash is inserted. (Raul Segura Acevedo)
Solution: Avoid adding the backslash.
Files: src/ex_getln.c
Patch 6.1a.016
Problem: Completion after ":language" doesn't include "time". (Raul Segura
Acevedo)
Solution: Add the alternative to the completions.
Files: src/ex_cmds2.c
Patch 6.1a.017
Problem: Clicking the mouse in the top row of a window where the first line
doesn't fit moves the cursor to the wrong column.
Solution: Add the skipcol also for the top row of a window.
Files: src/ui.c
Patch 6.1a.018
Problem: When 'scrolloff' is one and the window height is one, "gj" can put
the cursor above the window. (Raul Segura Acevedo)
Solution: Don't let skipcol become bigger than the cursor column.
Files: src/move.c
Patch 6.1a.019
Problem: When using a composing character on top of an ASCII character, the
"l" command clears the composing character. Only when 'ruler' and
'showcmd' are off. (Raphael Finkel)
Solution: Don't move the cursor by displaying characters when there are
composing characters.
Files: src/screen.c
Patch 6.1a.020
Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always
work well for small sizes. (Adrien Beau)
Solution: Use another way to avoid the problem with ":set co=77".
Files: src/gui_gtk_x11.c
Patch 6.1a.021
Problem: Several Syntax menu entries are wrong or confusing.
Solution: Rephrase and correct the menu entries. (Adrien Beau)
Files: runtime/makemenu.vim, runtime/menu.vim
Patch 6.1a.022
Problem: A tags file might be used twice on case insensitive systems.
(Rick Swanton)
Solution: Don't use the same file name twice in the default for the 'tags'
option. Ignore case when comparing names of already visited
files.
Files: src/misc2.c, src/option.c
Patch 6.1a.023
Problem: When starting the GUI get "C" characters echoed in the terminal.
Solution: Don't try sending a clear-screen command while the GUI is starting
up.
Files: src/screen.c
Patch 6.1a.024
Problem: In other editors CTRL-F is often used for a find dialog.
Solution: In evim use CTRL-F for the find dialog.
Files: runtime/evim.vim
Patch 6.1a.025
Problem: The choices for the fileformat dialog can't be translated.
Solution: Add g:menutrans_fileformat_choices. (Adrien Beau)
Files: runtime/menu.vim
Patch 6.1a.026
Problem: Indenting Java files is wrong with "throws", "extends" and
"implements" clauses.
Solution: Update the Java indent script.
Files: runtime/indent/java.vim
Patch 6.1a.027
Problem: A few Syntax menu entries missing or incorrect.
Solution: Add and correct the menu entries. (Adrien Beau)
Shorten a few menus to avoid they become too long.
Files: runtime/makemenu.vim, runtime/menu.vim
Patch 6.1a.028
Problem: XIM: problems with feedback and some input methods.
Solution: Use iconv for calculating the cells. Remove the queue for
key_press_event only when text was changed. (Yasuhiro Matsumoto)
Files: src/globals.h, src/mbyte.c, src/screen.c
Patch 6.1a.029
Problem: After patch 6.1a.028 can't compile GTK version with XIM but
without multi-byte chars.
Solution: Add an #ifdef. (Aschwin Marsman)
Files: src/mbyte.c
Patch 6.1a.030
Problem: With double-byte encodings toupper() and tolower() may have wrong
results.
Solution: Skip double-byte characters. (Eric Long)
Files: src/eval.c
Patch 6.1a.031
Problem: Accessing the 'balloondelay' variable may cause a crash.
Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert)
Files: src/option.h
Patch 6.1a.032 (extra)
Problem: Some menu files used a wrong encoding name for "scriptencoding".
Solution: Move the translations to a separate file, which is sourced after
setting "scriptencoding".
Also add Czech menu translations in ASCII and update the other
encodings.
Files: runtime/lang/menu_cs_cz.iso_8859-1.vim,
runtime/lang/menu_cs_cz.iso_8859-2.vim,
runtime/lang/menu_czech_czech_republic.1250.vim,
runtime/lang/menu_czech_czech_republic.1252.vim,
runtime/lang/menu_czech_czech_republic.ascii.vim,
runtime/lang/menu_de_de.iso_8859-1.vim,
runtime/lang/menu_de_de.latin1.vim,
runtime/lang/menu_fr_fr.iso_8859-1.vim,
runtime/lang/menu_fr_fr.latin1.vim,
runtime/lang/menu_french_france.1252.vim,
runtime/lang/menu_german_germany.1252.vim,
runtime/lang/menu_ja_jp.euc-jp.vim,
runtime/lang/menu_ja_jp.utf-8.vim,
runtime/lang/menu_japanese_japan.932.vim
Patch 6.1a.033
Problem: XIM: doesn't reset input context.
Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka)
Files: src/mbyte.c
Patch 6.1a.034 (extra)
Problem: Win32: The ACL checks for a readonly file still don't work well.
Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
Files: src/os_win32.c
Patch 6.1a.035
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
multi-byte characters are not handled correctly.
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
Matsumoto) Also handle UTF-8 composing characters.
Files: src/os_unix.c
Patch 6.1a.036
Problem: GTK: the save-yourself event was not handled.
Solution: Catch the save-yourself event and preserve swap files. (Neil Bird)
Files: src/gui_gtk_x11.c
Patch 6.1a.037
Problem: The MS-Windows key mapping doesn't include CTRL-S for saving.
(Vlad Sandrini)
Solution: Map CTRL-S to ":update".
Files: runtime/mswin.vim
Patch 6.1a.038
Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't
work. (Antonio Colombo)
Solution: Don't include sys/sysinfo.h when not calling sysinfo().
Files: src/os_unix.c
Patch 6.1a.039
Problem: Not all visual basic files are recognized.
Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo)
Files: runtime/filetype.vim
Patch 6.1a.040
Problem: A *.pl file is recognized as Perl, but it could be a prolog file.
Solution: Check the first non-empty line. (Kontra Gergely)
Files: runtime/filetype.vim
Patch 6.1a.041
Problem: When pressing the left mouse button in the command line and them
moving the mouse upwards, nearly all the text is selected.
Solution: Don't try extending a modeless selection when there isn't one.
Files: src/ui.c
Patch 6.1a.042
Problem: When merging files, ":diffput" and ":diffget" are used a lot, but
they require a lot of typing.
Solution: Add "dp" for ":diffput" and "do" for ":diffget".
Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
Patch 6.1b.001 (extra)
Problem: Checking for wildcards in a path does not handle multi-byte
characters with a trail byte which is a wildcard.
Solution: Handle multi-byte characters correctly. (Muraoka Taro)
Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
src/os_unix.c
Patch 6.1b.002
Problem: A regexp that ends in "\{" is not flagged as an error. May cause
a stack overflow when 'incsearch' is set. (Gerhard Hochholzer)
Solution: Handle a missing "}" as an error.
Files: src/regexp.c
Patch 6.1b.003 (extra)
Problem: The RISC OS GUI doesn't compile.
Solution: Include changes since Vim 5.7. (Andy Wingate)
Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c,
src/os_riscos.h, src/proto/gui_riscos.pro
Patch 6.1b.004
Problem: col("'>") returns a negative number for linewise selection. (Neil
Bird)
Solution: Don't add one to MAXCOL.
Files: src/eval.c
Patch 6.1b.005
Problem: Using a search pattern that causes an out-of-stack error while
'hlsearch' is set keeps giving the hit-Enter prompt.
A search pattern that takes a long time delays typing when
'incsearch' is set.
Solution: Stop 'hlsearch' highlighting when the regexp causes an error.
Stop searching for 'incsearch' when a character is typed.
Files: src/globals.h, src/message.c, src/screen.c, src/search.c,
src/vim.h
Patch 6.1b.006
Problem: When entering a composing character on the command line with
CTRL-V, the text isn't redrawn correctly.
Solution: Redraw the text under and after the cursor.
Files: src/ex_getln.c
Patch 6.1b.007
Problem: When the cursor is in the white space between two sentences, "dis"
deletes the first character of the following sentence, "das"
deletes a space after the sentence.
Solution: Backup the cursor one character in these situations.
Files: src/search.c
Patch 6.1b.008
Problem: *.xsl files are not recognized as xslt but xml.
Monk files are not recognized.
Solution: Delete the duplicate line for *.xsl. (Johannes Zellner)
Recognize monk files.
Files: runtime/filetype.vim
Patch 6.1b.009
Problem: Can't always compile small features and then adding eval feature,
"sandbox" is undefined. (Axel Kielhorn)
Solution: Always define "sandbox" when the eval feature is used.
Files: src/globals.h
Patch 6.1b.010 (extra)
Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings.
Solution: Change "true" to "TRUE". (Walter Briscoe)
Files: GvimExt/gvimext.cpp
Patch 6.1b.011
Problem: When using a very long string for confirm(), can't quit the
displaying at the more prompt. (Hari Krishna Dara)
Solution: Jump to the end of the message to show the choices.
Files: src/message.c
Patch 6.1b.012
Problem: Multi-byte: When 'showbreak' is set and a double-wide character
doesn't fit at the right window edge the cursor gets stuck there.
Using cursor-left gets stuck when 'virtualedit' is set. (Eric
Long)
Solution: Fix the way the extra ">" character is counted when 'showbreak' is
set. Don't correct cursor for virtual editing on a double-wide
character.
Files: src/charset.c, src/edit.c
Patch 6.1b.013
Problem: A user command that partly matches with a buffer-local user
command and matches full with a global user command unnecessarily
gives an 'ambiguous command' error.
Solution: Find the full global match even after a partly local match.
Files: src/ex_docmd.c
Patch 6.1b.014
Problem: EBCDIC: switching mouse events off causes garbage on screen.
Positioning the cursor in the GUI causes garbage.
Solution: Insert an ESC in the terminal code. (Ralf Schandl)
Use "\b" instead of "\010" for KS_LE.
Files: src/os_unix.c, src/term.c
Patch 6.1b.015
Problem: Vimtutor has a typo. Get a warning for "tempfile" if it
doesn't exist.
Solution: Move a quote to the end of a line. (Max Ischenko)
Use "mktemp" first, more systems have it.
Files: src/vimtutor
Patch 6.1b.016
Problem: GTK: loading a fontset that works partly, Vim might hang or crash.
Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto)
Files: src/gui_gtk_x11.c
Patch 6.1b.017
Problem: GUI: When using ":shell" and there is a beep, nothing happens.
Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro
Matsumoto)
Files: src/message.c
Patch 6.1b.018 (depends on 6.1b.006)
Problem: When entering the encryption key, special keys may still reveal
the typed characters.
Solution: Make sure stars are used or nothing is shown in all cases.
Files: src/digraph.c, src/getchar.c, src/ex_getln.c
Patch 6.1b.019 (depends on 6.1b.005)
Problem: A search pattern that takes a long time slows down typing when
'incsearch' is set.
Solution: Pass SEARCH_PEEK to dosearch().
Files: src/ex_getln.c
Patch 6.1b.020
Problem: When using the matchit plugin, "%" finds a match on the "end" of a
":syntax region" command in Vim scripts.
Solution: Skip over ":syntax region" commands by setting b:match_skip.
Files: runtime/ftplugin/vim.vim
Patch 6.1b.021
Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the
pointer to the new window. (Robert Webb)
Solution: Don't reset need_mouse_correct when checking the timestamp of a
file.
Files: src/fileio.c
Patch 6.1b.022
Problem: With lots of folds "j" does not obey 'scrolloff' properly.
(Srinath Avadhanula)
Solution: Go to end of the fold before counting context lines.
Files: src/move.c
Patch 6.1b.023
Problem: On MS-Windows system() may cause checking timestamps, because Vim
loses and gains input focus, while this doesn't happen on Unix.
Solution: Don't check timestamps while system() is busy.
Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
Patch 6.1b.024 (extra)
Problem: Gettext 0.11 complains that "sjis" is not a standard name.
Solution: Use "cp932" instead.
Files: src/po/sjiscorr.c
Patch 6.1b.025 (extra)
Problem: Win32: When closing gvim while it is minimized and has a changed
file, the file-changed dialog pops up in a corner of the screen.
Solution: Put the dialog in the middle of the screen.
Files: src/gui_w48.c
Patch 6.1b.026
Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in
case are not highlighted properly. (Gerhard Hochholzer)
Solution: Don't ignore case when ignoring white space differences.
Files: src/diff.c
Patch 6.1b.027
Problem: "vim --remote +" may cause a crash.
Solution: Check for missing file name argument. (Martin Kahlert)
Files: src/main.c
Patch 6.1b.028 (extra)
Problem: Win16: Can't compile after patch 6.1b.025.
Solution: Add code specifically for Win16. (Vince Negri)
Files: src/gui_w48.c
Patch 6.1b.029
Problem: Win32: When a directory on an NTFS partition is read/execute (no
delete,modify,write) and the file has modify rights, trying to
write the file deletes it. Making the file read/write/execute
(not delete) solves it. (Mark Canup)
Solution: Use the Unix code to check for a writable directory. If not, then
make a backup copy and overwrite the file.
Files: src/fileio.c
Patch 6.1b.030 (extra)
Problem: Mac: small mistake in the build script and prototypes.
Solution: Fix the build script and add the prototypes. (Axel Kielhorn)
Files: src/os_mac.build, src/gui_mac.c
Patch 6.1b.031 (extra)
Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting
font name. (Vlad Sandrini)
Solution: Put the code back in gui_mch_init_font() to form the font name out
of the logfont.
Files: src/gui_w48.c
Patch 6.1b.032
Problem: Athena: Setting a color scheme before the GUI has started causes a
crash. (Todd Blumer)
Solution: Don't try using color names that haven't been set yet.
Files: src/gui_athena.c
Patch 6.1b.033
Problem: When using a count after a ":s" command may get ml_get errors.
(Dietmar Lang)
Solution: Check that the resulting range does not go past the end of the
buffer.
Files: src/ex_cmds.c
Patch 6.1b.034
Problem: After sourcing mswin.vim, when using <C-S-Right> after
auto-indenting and then <Del>, get warning for allocating
ridiculous amount of memory. (Dave Delgreco)
Solution: Adjust the start of the Visual area when deleting the auto-indent.
Files: src/edit.c
Patch 6.1b.035
Problem: When using evim, dropping a file on Vim and then double clicking
on a word, it is changed to "i". (Merlin Hansen)
Solution: Reset need_start_insertmode after editing the file.
Files: src/ex_docmd.c
==============================================================================
VERSION 6.2 *version-6.2*
This section is about improvements made between version 6.1 and 6.2.
This is mainly a bug-fix release. There are also a few new features.
Main new features:
- Support for GTK 2. (Daniel Elstner)
- Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi)
- ":try" command and exception handling. (Servatius Brandt)
- Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff)
- Cscope support for Win32. (Khorev Sergey)
- Support for PostScript printing in various 8-bit encodings. (Mike Williams)
Changed *changed-6.2*
-------
Removed the scheme indent file, the internal Lisp indenting works well now.
Moved the GvimEXt, OleVim and VisVim directories into the "src" directory.
This is more consistent with how xxd is handled.
The VisVim.dll file is installed in the top directory, next to gvimext.dll,
instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it
from the wrong directory.
Removed the art indent file, it didn't do anything.
submatch() returned line breaks with CR instead of LF.
Changed the Win32 Makefiles to become more uniform and compile gvimext.dll.
(Dan Sharp)
'cindent': Align a "//" comment with a "//" comment in a previous line.
(Helmut Stiegler)
Previously only for xterm-like terminals parent widgets were followed to find
the title and icon label. Now do this for all terminal emulators.
Made it possible to recognize backslashes for "%" matching. The 'M' flag in
'cpoptions' disables it. (Haakon Riiser)
Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably
can't make it work (the compiler runs out of memory).
Even though the documentation refers to keywords, "[ CTRL-D" was using
'isident' to find matches. Changed it to use 'iskeyword'. Also applies to
other commands that search for defined words in included files such as
":dsearch", "[D" and "[d".
Made 'keywordprg' global-local. (Christian Robinson)
Enabled the Netbeans interface by default. Reversed the configure argument
from "--enable-netbeans" to "--disable-netbeans".
Added *added-6.2*
-----
New options:
'arabic'
'arabicshape'
'ambiwidth'
'autochdir'
'casemap'
'copyindent'
'cscopequickfix'
'preserveindent'
'printencoding'
'rightleftcmd'
'termbidi'
'toolbariconsize'
'winfixheight'
New keymaps:
Serbian (Aleksandar Veselinovic)
Chinese Pinyin (Fredrik Roubert)
Esperanto (Antoine J. Mechelynck)
New syntax files:
Valgrind (Roger Luethi)
Smarty template (Manfred Stienstra)
MySQL (Kenneth Pronovici)
RockLinux package description (Piotr Esden-Tempski)
MMIX (Dirk Huesken)
gkrellmrc (David Necas)
Tilde (Tobias Rundtrom)
Logtalk (Paulo Moura)
PLP (Juerd Waalboer)
fvwm2m4 (David Necas)
IPfilter (Hendrik Scholz)
fstab (Radu Dineiu)
Quake (Nikolai Weibull)
Occam (Mario Schweigler)
lpc (Shizhu Pan)
Exim conf (David Necas)
EDIF (Artem Zankovich)
.cvsrc (Nikolai Weibull)
.fetchmailrc (Nikolai Weibull)
GNU gpg (Nikolai Weibull)
Grub (Nikolai Weibull)
Modconf (Nikolai Weibull)
RCS (Dmitry Vasiliev)
Art (Dorai Sitaram)
Renderman Interface Bytestream (Andrew J Bromage)
Mailcap (Doug Kearns)
Subversion commit file (Dmitry Vasiliev)
Microsoft IDL (Vadim Zeitlin)
WildPackets EtherPeek Decoder (Christopher Shinn)
Spyce (Rimon Barr)
Resolv.conf (Radu Dineiu)
A65 (Clemens Kirchgatterer)
sshconfig and sshdconfig (David Necas)
Cheetah and HTMLCheetah (Max Ischenko)
Packet filter (Camiel Dobbelaar)
New indent files:
Eiffel (David Clarke)
Tilde (Tobias Rundtrom)
Occam (Mario Schweigler)
Art (Dorai Sitaram)
PHP (Miles Lott)
Dylan (Brent Fulgham)
New tutor translations:
Slovak (Lubos Celko)
Greek (Christos Kontas)
German (Joachim Hofmann)
Norwegian (Øyvind Holm)
New filetype plugins:
Occam (Mario Schweigler)
Art (Dorai Sitaram)
ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim,
jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim,
xhtml.vim, xml.vim, xsd.vim. (Dan Sharp)
New compiler plugins:
Checkstyle (Doug Kearns)
g77 (Ralf Wildenhues)
fortran (Johann-Guenter Simon)
Xmllint (Doug Kearns)
Ruby (Tim Hammerquist)
Modelsim vcom (Paul Baleme)
New menu translations:
Brazilian (José de Paula)
British (Mike Williams)
Korean in UTF-8. (Nam SungHyun)
Norwegian (Øyvind Holm)
Serbian (Aleksandar Jelenak)
New message translation for Norwegian. (Øyvind Holm)
New color scheme:
desert (Hans Fugal)
Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and
'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi)
Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff)
Win32: cscope support. (Khorev Sergey)
VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy)
Added "x" key to the explorer plugin: execute the default action. (Yasuhiro
Matsumoto)
Compile gvimext.dll with MingW. (Rene de Zwart)
Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy
way to convert text to HTML.
Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers
to all error messages, so that they can be caught by the number.
(Servatius Brandt)
Moved part of ex_docmd.c to the new ex_eval.c source file.
Include support for GTK+ 2.2.x (Daniel Elstner)
Adds the "~" register: drag & drop text.
Adds the 'toolbariconsize' option.
Add -Dalloca when running lint to work around a problem with alloca()
prototype.
When selecting an item in the error window to jump to, take some effort to
find an ordinary window to show the file in (not a preview window).
Support for PostScript printing of various 8-bit encodings. (Mike Williams)
inputdialog() accepts a third argument that is used when the dialog is
cancelled. Makes it possible to see a difference between cancelling and
entering nothing.
Included Aap recipes. Can be used to update Vim to the latest version,
building and installing.
"/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler)
Vim variable "v:register" and functions setreg(), getreg() and getregtype().
(Michael Geddes)
"v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode.
(Phillip Vandry)
Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when
running install in the "src" directory for testing.
Support tag files that were sorted with case ignored. (Flemming Madsen)
When completing a wildcard in a leading path element, as in "../*/Makefile",
only the last part ("Makefile") was listed. Support custom defined
command line completion. (Flemming Madsen)
Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo)
Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not
used by popular desktops. (Neil Bird)
Not used for Gnome 2, it has its own handling.
Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter
Briscoe)
Support page breaks for printing. Adds the "formfeed" field in
'printoptions'. (Mike Williams)
Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel
Kielhorn)
"\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron)
Added 'preserveindent' and 'copyindent' options. They use existing white
space characters instead of using Tabs as much as possible. (Chris Leishman)
Updated Unicode tables to Unicode 4.0. (Raphael Finkel)
Support for the mouse wheel in rxvt. (AIDA Shinra)
Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8"
expansion on Win32 systems. (Michael Geddes)
'cscopequickfix' option: Open quickfix window for Cscope commands. Also
cleanup the code for giving messages. (Khorev Sergey)
GUI: Support more than 222 columns for mouse positions.
":stopinsert" command: Don't return to Insert mode.
"interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius
Brandt)
Fixed *fixed-6.2*
-----
Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h.
The Vim icons in PNG format didn't have a transparent background. (Greg
Roelofs)
Fixed a large number of spelling mistakes in the docs. (Adri Verhoef)
The #defines for prototype generation were causing trouble. Changed them to
typedefs.
A new version of libintl.h uses __asm__, which confuses cproto. Define a
dummy __asm__ macro.
When 'virtualedit' is set can't move to halfway an unprintable character.
Cripples CTRL-V selection. (Taro Muraoka)
Allow moving to halfway an unprintable character. Don't let getvvcol() change
the pos->coladd argument.
When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is
non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro)
When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto)
When no argument given use the ".*" pattern.
Win32: When gvim.exe is started from a shortcut with the window style property
set to maximize Vim doesn't start with a maximized window. (Yasuhiro
Matsumoto) Open the window with the default size and don't call ShowWindow()
again when it's already visible. (Helmut Stiegler)
gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header
files.
Win32: When closing a window from a mapping some pixels remain on the
statusline. (Yasuhiro Matsumoto)
A column number in an errorformat that goes beyond the end of the line may
cause a crash.
":throw 'test'" crashes Vim. (Yasuhiro Matsumoto)
The file selector's scrollbar colors are not set after doing a ":hi Scrollbar
guifg=color". And the file selector's colors are not changed by the
colorscheme command. (David Harrison)
Motif: When compiling with FEAT_FOOTER defined, the text area gets a few
pixels extra space on the right. Remove the special case in
gui_get_base_width(). (David Harrison)
Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position.
(Helmut Stiegler)
When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted.
Using a "--cmd" argument more than 10 times caused a crash.
DEC style mouse support didn't work if the page field is not empty.
(Uribarri)
"vim -l one two" did only set 'lisp' in the first file. Vi does it for every
file.
":set tw<" didn't work. Was checking for '^' instead of '<'.
In ":hardcopy > %.ps" the "%" was not expanded to the current filename.
Made ":redraw" also update the Visual area.
When a not implemented command, such as ":perl", has wrong arguments the less
important error was reported, giving the user the idea the command could work.
On non-Unix systems autocommands for writing did not attempt a match with the
short file name, causing a pattern like "a/b" to fail.
VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan
Arpadffy)
redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter
Briscoe)
Various changes for the PC Makefiles. (Walter Briscoe)
Use _truename() instead of our own code to expand a file name into a full
path. (Walter Briscoe)
Error in filetype check for /etc/modutils. (Lubomir Host)
Cscope interface: allocated a buffer too small.
Win16: remove a trailing backslash from a path when obtaining the permission
flags. (Vince Negri)
When searching for tags with case ignored Vim could hang.
When searching directories with a stopdir could get a crash. Did not
re-allocate enough memory. (Vince Negri)
A user command may cause a crash. Don't use the command index when it's
negative. (Vince Negri)
putenv() didn't work for MingW and Cygwin. (Dan Sharp)
Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c
for compiling the Win16 version and remove the functions from os_win16.c.
(Vince Negri)
For terminals that behave like an xterm but didn't have a name that is
recognized, the window title would not always be set.
When syntax highlighting is off ":hardcopy" could still attempt printing
colors.
Crash when using ":catch" without an argument. (Servatius Brandt)
Win32: ":n #" doubled the backslashes.
Fixed Arabic shaping for the command line. (Nadim Shaikli)
Avoid splitting up a string displayed on the command line into individual
characters, it breaks Arabic shaping.
Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp)
2html.vim didn't work with 'nomagic' set.
When a local argument list is used and doing ":only" Vim could crash later.
(Muraoka Taro)
When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3%
could result in "-3%". Also avoid changing a space inside a filename to the
fill character.
MSwin: Handling of backslashes and double quotes for command line arguments
was not like what other applications do. (Walter Briscoe)
Test32 sometimes didn't work, because test11.out was written as TEST11.OUT.
Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and
uninstal.c.
More improvements for Make_bc3.mak file. (Walter Briscoe)
When ":syn sync linebreaks=1" is used, editing the first line caused a redraw
of the whole screen.
Making translated messages didn't work, if_perl.xs wasn't found. (Vlad
Sandrini)
Motif and Athena: moving Vim to the foreground didn't uniconify it. Use
XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran)
When using ":ptag" in a window where 'scrollbind' is set the preview window
would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'.
Various commands that split a window took over 'scrollbind', which is hardly
ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when
splitting a window.
When 'shellslash' is set in the vimrc file the first entry of ":scriptnames"
would still have backslashes. Entries in the quickfix list could also have
wrong (back)slashes.
Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
When using a multi-byte character with a K_SPECIAL byte or a special key code
with "--remote-send" the received byte sequence was mangled. Put it in the
typeahead buffer instead of the input buffer.
Win32: The cursor position was incorrect after changing cursor shape.
(Yasuhiro Matsumoto).
Win32: When 'encoding' is not the current codepage the title could not be set
to non-ascii characters.
"vim -d scp://machine/file1 scp://machine/file2" did not work, there was only
one window. Fixed the netrw plugin not to wipe out the buffer if it is
displayed in other windows.
"/$" caused "e" in last column of screen to disappear, a highlighted blank was
displayed instead.
":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was
using the line count including what matched after the "\ze".
Using the "c" flag with ":s" changed the behavior when a line break is
replaced and "\@<=" is used. Without "c" a following match was not found.
":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n".
VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy)
When a delete prompts if a delete should continue when yanking is not
possible, restore msg_silent afterwards.
":sign" did not complain about a missing argument.
When adding or deleting a sign 'hlsearch' highlighting could disappear.
Use the generic functions for updating signs.
On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing.
Makes the tests work on more systems.
In the DOS tests don't create "/tmp" to avoid an error.
Mac classic: Problems with reading files with CR vs CR/LF. Rely on the
library version of fgets() to work correctly for Metrowerks 2.2. (Axel
Kielhorn)
When typing a password a "*" was shown for each byte instead of for each
character. Added multi-byte handling to displaying the stars. (Yasuhiro
Matsumoto)
When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
different code for 5.6 and 5.8. (Dan Sharp)
MingW and Cygwin: Don't strip the debug executable. (Dan Sharp)
An assignment to a variable with curlies that includes "==" doesn't work.
Skip over the curlies before searching for an "=". (Vince Negri)
When cancelling the selection of alternate matching tags the tag stack index
could be advanced too far, resulting in an error message when using CTRL-T.
Patch 6.1.001
Problem: When formatting UTF-8 text it might be wrapped at a space that is
followed by a composing character. (Raphael Finkel)
Also correct a display error for removing a composing char on top
of a space.
Solution: Check for a composing character on a space.
Files: src/edit.c, src/misc1.c, src/screen.c
Patch 6.1.002 (extra)
Problem: Win32: after a ":popup" command the mouse pointer stays hidden.
Solution: Unhide the mouse pointer before showing the menu.
Files: src/gui_w48.c
Patch 6.1.003
Problem: When 'laststatus' is zero and there is a vertical split, the
vertical separator is drawn in the command line. (Srikant
Sankaran)
Solution: Don't draw the vertical separator where there is no statusline.
Files: src/screen.c
Patch 6.1.004
Problem: Unicode 3.2 changes width and composing of a few characters.
(Markus Kuhn)
Solution: Adjust the Unicode functions for the character width and composing
characters.
Files: src/mbyte.c
Patch 6.1.005
Problem: When using more than 50 items in 'statusline' Vim might crash.
(Steve Hall)
Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen)
Files: src/option.c
Patch 6.1.006
Problem: When using "P" in Visual mode to put linewise selected text, the
wrong text is deleted. (Jakub Turski)
Solution: Put the text before the Visual area and correct the text to be
deleted for the inserted lines.
Also fix that "p" of linewise text in Visual block mode doesn't
work correctly.
Files: src/normal.c, src/ops.c
Patch 6.1.007
Problem: Using ":filetype plugin off" when filetype plugins were never
enabled causes an error message. (Yiu Wing)
Solution: Use ":silent!" to avoid the error message.
Files: runtime/ftplugof.vim
Patch 6.1.008
Problem: The "%" command doesn't ignore \" inside a string, it's seen as
the end of the string. (Ken Clark)
Solution: Skip a double quote preceded by an odd number of backslashes.
Files: src/search.c
Patch 6.1.009
Problem: Vim crashes when using a huge number for the maxwid value in a
statusline. (Robert M. Nowotniak)
Solution: Check for an overflow that makes maxwid negative.
Files: src/buffer.c
Patch 6.1.010
Problem: Searching backwards for a question mark with "?\?" doesn't work.
(Alan Isaac) Same problem in ":s?\??" and ":g?\??".
Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter.
Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c,
src/search.c, src/syntax.c, src/tag.c
Patch 6.1.011
Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus
problem when selecting candidates.
Solution: Fix the XIM problems. (Yasuhiro Matsumoto)
Files: src/mbyte.c, src/screen.c
Patch 6.1.012
Problem: A system() call might fail if fread() does CR-LF to LF
translation.
Solution: Open the output file in binary mode. (Pavol Huhas)
Files: src/misc1.c
Patch 6.1.013
Problem: Win32: The default for 'printexpr' doesn't work when there are
special characters in 'printdevice'.
Solution: Add double quotes around the device name. (Mike Williams)
Files: runtime/doc/option.txt, src/option.c
Patch 6.1.014
Problem: An operator like "r" used in Visual block mode doesn't use
'virtualedit' when it's set to "block".
Solution: Check for 'virtualedit' being active in Visual block mode when the
operator was started.
Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c,
src/ops.c, src/undo.c
Patch 6.1.015
Problem: After patch 6.1.014 can't compile with tiny features. (Christian
J. Robinson)
Solution: Add the missing define of virtual_op.
Files: src/vim.h
Patch 6.1.016 (extra)
Problem: Win32: Outputting Hebrew or Arabic text might have a problem with
reversing.
Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron)
Files: src/gui_w32.c
Patch 6.1.017
Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O.
(Pavol Juhas)
Solution: Define BINARY_FILE_IO for Cygwin.
Files: src/os_unix.h
Patch 6.1.018
Problem: Error message when using cterm highlighting. (Leonardo Di Lella)
Solution: Remove a backslash before a question mark.
Files: runtime/syntax/cterm.vim
Patch 6.1.019 (extra)
Problem: Win32: File name is messed up when editing just a drive name.
(Walter Briscoe)
Solution: Append a NUL after the drive name. (Vince Negri)
Files: src/os_win32.c
Patch 6.1.020
Problem: col("'>") returns a huge number after using Visual line mode.
Solution: Return the length of the line instead.
Files: src/eval.c
Patch 6.1.021 (depends on patch 6.1.009)
Problem: Vim crashes when using a huge number for the minwid value in a
statusline. (Robert M. Nowotniak)
Solution: Check for an overflow that makes minwid negative.
Files: src/buffer.c
Patch 6.1.022
Problem: Grabbing the status line above the command-line window works like
the bottom status line was grabbed. (Jim Battle)
Solution: Make it possible to grab the status line above the command-line
window, so that it can be resized.
Files: src/ui.c
Patch 6.1.023 (extra)
Problem: VMS: running tests doesn't work properly.
Solution: Adjust the makefile. (Zoltan Arpadffy)
Files: src/testdir/Make_vms.mms
Patch 6.1.024
Problem: When header files use a new syntax for declaring functions, Vim
can't figure out missing prototypes properly.
Solution: Accept braces around a function name. (M. Warner Losh)
Files: src/osdef.sh
Patch 6.1.025
Problem: Five messages for "vim --help" don't start with a capital. (Vlad
Sandrini)
Solution: Make the messages consistent.
Files: src/main.c
Patch 6.1.026
Problem: *.patch files are not recognized as diff files. In a script a
"VAR=val" argument after "env" isn't ignored. PHP scripts are not
recognized.
Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP
scripts. (Roman Neuhauser)
Files: runtime/filetype.vim, runtime/scripts.vim
Patch 6.1.027
Problem: When 'foldcolumn' is non-zero, a special character that wraps to
the next line disturbs the foldcolumn highlighting. (Yasuhiro
Matsumoto)
Solution: Only use the special highlighting when drawing text characters.
Files: src/screen.c
Patch 6.1.028
Problem: Client-server: When a --remote-expr fails, Vim still exits with
status zero.
Solution: Exit Vim with a non-zero status to indicate the --remote-expr
failed. (Thomas Scott Urban)
Files: src/main.c
Patch 6.1.029
Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing
a utf-8 or other Unicode file uses the wrong conversion. (Jan
Fedak)
Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other
than "latin1".
Files: src/fileio.c
Patch 6.1.030
Problem: When CTRL-N is mapped in Insert mode, it is also mapped after
CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F.
(Kontra Gergely)
Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P.
Files: src/getchar.c
Patch 6.1.031
Problem: Cygwin: Xxd could read a file in text mode instead of binary mode.
Solution: Use "rb" or "rt" when needed. (Pavol Juhas)
Files: src/xxd/xxd.c
Patch 6.1.032
Problem: Can't specify a quickfix file without jumping to the first error.
Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan)
Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h,
src/quickfix.c
Patch 6.1.033
Problem: GUI: When the selection is lost and the Visual highlighting is
changed to underlining, the cursor is left in a different
position. (Christian Michon)
Solution: Update the cursor position after redrawing the selection.
Files: src/ui.c
Patch 6.1.034
Problem: A CVS diff file isn't recognized as diff filetype.
Solution: Skip lines starting with "? " before checking for an "Index:" line.
Files: runtime/scripts.vim
Patch 6.1.035 (extra, depends on 6.1.016)
Problem: Win32: Outputting Hebrew or Arabic text might have a problem with
reversing on MS-Windows 95/98/ME.
Solution: Restore the RevOut() function and use it in specific situations
only. (Ron Aaron)
Files: src/gui_w32.c
Patch 6.1.036
Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens)
Solution: Compute the right length of the regexp when it's empty.
Files: src/search.c
Patch 6.1.037
Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt
causes an incomplete redraw and the cursor isn't positioned.
(Lubomir Host)
Solution: Overrule 'lazyredraw' when do_redraw is set.
Files: src/main.c, src/screen.c
Patch 6.1.038
Problem: Multi-byte: When a ":s" command contains a multi-byte character
where the trail byte is '~' the text is messed up.
Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro)
Files: src/regexp.c
Patch 6.1.039
Problem: When folds are defined and the file is changed outside of Vim,
reloading the file doesn't update the folds. (Anders
Schack-Nielsen)
Solution: Recompute the folds after reloading the file.
Files: src/fileio.c
Patch 6.1.040
Problem: When changing directory for expanding a file name fails there is
no error message.
Solution: Give an error message for this situation. Don't change directory
if we can't return to the original directory.
Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c,
src/os_unix.c
Patch 6.1.041
Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in
the rhs. (Davyd Ondrejko)
Solution: Insert a CTRL-V before the leading space. Also display leading
and trailing white space in <> form.
Files: src/getchar.c, src/message.c
Patch 6.1.042
Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap
files. (Steve Talley)
Solution: Keep all matching swap file names.
Files: src/memline.c
Patch 6.1.043
Problem: After patch 6.1.040 a few warnings are produced.
Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn)
Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c
Patch 6.1.044 (extra)
Problem: GUI: When using the find/replace dialog with text that contains a
slash, an invalid substitute command is generated.
On Win32 a find doesn't work when 'insertmode' is set.
Solution: Escape slashes with a backslash.
Make the Win32, Motif and GTK gui use common code for the
find/replace dialog.
Add the "match case" option for Motif and GTK.
Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h,
src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c
Patch 6.1.045
Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999,
moving the cursor down near the end of the file causes the text to
jump up and down. (Lubomir Host)
Solution: Take into account that the cursor may be on the last line of a
closed fold.
Files: src/move.c
Patch 6.1.046
Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black
rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor
disappear. (Nam SungHyun)
Solution: Correctly compute the height of the horizontal cursor.
Files: src/gui_gtk_x11.c, src/gui_x11.c
Patch 6.1.047
Problem: When skipping commands after an error was encountered, expressions
for ":if", ";elseif" and ":while" are still evaluated.
Solution: Skip the expression after an error. (Servatius Brandt)
Files: src/ex_docmd.c
Patch 6.1.048
Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters.
Solution: Recognize more characters as composing characters. (Jungshik Shin)
Files: src/mbyte.c
Patch 6.1.049 (extra)
Problem: On a 32 bit display a valid color may cause an error message,
because its pixel value is negative. (Chris Paulson-Ellis)
Solution: Check for -11111 instead of the color being negative.
Don't add one to the pixel value, -1 may be used for white.
Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c,
src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c,
src/gui_mac.c, src/gui_motif.c, src/gui_photon.c,
src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c,
src/gui_x11.c, src/mbyte.c, src/syntax.c
Patch 6.1.050 (depends on 6.1.049)
Problem: After patch 6.1.049 the non-GUI version doesn't compile.
Solution: Add an #ifdef FEAT_GUI. (Robert Stanton)
Files: src/syntax.c
Patch 6.1.051 (depends on 6.1.044)
Problem: Doesn't compile with GUI and small features.
Solution: Adjust the #if for ga_append().
Files: src/misc2.c
Patch 6.1.052
Problem: Unix: The executable() function doesn't work when the "which"
command isn't available.
Solution: Go through $PATH manually. Also makes it work for VMS.
Files: src/os_unix.c
Patch 6.1.053
Problem: When 'sessionoptions' contains "globals", or "localoptions" and an
option value contains a line break, the resulting script is wrong.
Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula)
Files: src/eval.c
Patch 6.1.054
Problem: GUI: A mouse click is not recognized at the more prompt, even when
'mouse' includes 'r'.
Solution: Recognize a mouse click at the more prompt.
Also accept a mouse click in the last line in the GUI.
Add "ml" entry in 'mouseshape'.
Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c,
src/structs.h
Patch 6.1.055
Problem: When editing a compressed file, Vim will inspect the contents to
guess the filetype.
Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files.
Files: runtime/filetype.vim, runtime/plugin/gzip.vim
Patch 6.1.056
Problem: Loading the Syntax menu can take quite a bit of time.
Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the
available syntax files are not in the Syntax menu.
Files: runtime/doc/gui.txt, runtime/menu.vim
Patch 6.1.057
Problem: An ESC inside a mapping doesn't work as documented when
'insertmode' is set, it does go from Visual or Normal mode to
Insert mode. (Benji Fisher)
Solution: Make it work as documented.
Files: src/normal.c
Patch 6.1.058
Problem: When there is a closed fold just above the first line in the
window, using CTRL-X CTRL-Y in Insert mode will show only one line
of the fold. (Alexey Marinichev)
Solution: Correct the topline by putting it at the start of the fold.
Files: src/move.c
Patch 6.1.059
Problem: ":redir > ~/file" doesn't work. (Stephen Rasku)
Solution: Expand environment variables in the ":redir >" argument.
Files: src/ex_docmd.c
Patch 6.1.060
Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting
a character just before a tab changes the tab into spaces. Undo
doesn't restore the tab. (Helmut Stiegler)
Solution: Don't replace the tab by spaces when it's not needed. Correctly
save the line before it's changed.
Files: src/ops.c
Patch 6.1.061
Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual
selection that ends just after a tab doesn't include that tab in
the highlighting. (Helmut Stiegler)
Solution: Use a different way to exclude the character under the cursor.
Files: src/screen.c
Patch 6.1.062
Problem: The "man" filetype plugin doesn't work properly on Solaris 5.
Solution: Use a different way to detect that "man -s" should be used. (Hugh
Sasse)
Files: runtime/ftplugin/man.vim
Patch 6.1.063
Problem: Java indenting doesn't work properly.
Solution: Ignore comments when checking if the indent doesn't increase after
a "}".
Files: runtime/indent/java.vim
Patch 6.1.064
Problem: The URLs that the netrw plugin recognized for ftp and rcp did not
conform to the standard method://[user@]host[:port]/path.
Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new
and the previous style. Also added a bit of dav/cadaver support.
(Charles Campbell)
Files: runtime/plugin/netrw.vim
Patch 6.1.065
Problem: VMS: The colorscheme, keymap and compiler menus are not filled in.
Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts)
Files: runtime/menu.vim
Patch 6.1.066 (extra)
Problem: When calling system() in a plugin reading stdin hangs.
Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode
before the system() call.
Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c,
src/os_win16.c, src/os_win32.c
Patch 6.1.067
Problem: ":set viminfo+=f0" is not working. (Benji Fisher)
Solution: Check the "f" flag instead of "'" in 'viminfo'.
Files: src/mark.c
Patch 6.1.068
Problem: When a file is reloaded after it was changed outside of Vim, diff
mode isn't updated. (Michael Naumann)
Solution: Invalidate the diff info so that it's updated when needed.
Files: src/fileio.c
Patch 6.1.069
Problem: When 'showmatch' is set and "$" is in 'cpoptions', using
"C}<Esc>" may forget to remove the "$". (Preben Guldberg)
Solution: Restore dollar_vcol after displaying the matching cursor position.
Files: src/search.c
Patch 6.1.070 (depends on 6.1.060)
Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams)
Solution: Add a typecast to int.
Files: src/ops.c
Patch 6.1.071
Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one
character too much. (David Necas)
Solution: Subtract one from the end position.
Files: src/ops.c
Patch 6.1.072
Problem: When a file name in a tags file starts with http:// or something
else for which there is a BufReadCmd autocommand, the file isn't
opened anyway.
Solution: Check if there is a matching BufReadCmd autocommand and try to
open the file.
Files: src/fileio.c, src/proto/fileio.pro, src/tag.c
Patch 6.1.073 (extra)
Problem: BC5: Can't easily specify a tiny, small, normal, big or huge
version.
Solution: Allow selecting the version with the FEATURES variable. (Ajit
Thakkar)
Files: src/Make_bc5.mak
Patch 6.1.074
Problem: When 'cdpath' includes "../..", changing to a directory in which
we currently already are doesn't work. ff_check_visited() adds
the directory both when using it as the root for searching and for
the actual matches. (Stephen Rasku)
Solution: Use a separate list for the already searched directories.
Files: src/misc2.c
Patch 6.1.075 (depends on 6.1.072)
Problem: Can't compile fileio.c on MS-Windows.
Solution: Add a declaration for the "p" pointer. (Madoka Machitani)
Files: src/fileio.c
Patch 6.1.076 (extra)
Problem: Macintosh: explorer plugin doesn't work on Mac Classic.
IME doesn't work. Dialog boxes don't work on Mac OS X
Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn)
Fix IME support. (Muraoka Taro)
Disable dialog boxes. (Benji Fisher)
Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c
Patch 6.1.077
Problem: On a Debian system with ACL linking fails. (Lubomir Host)
Solution: When the "acl" library is used, check if the "attr" library is
present and use it.
Files: src/auto/configure, src/configure.in, src/link.sh
Patch 6.1.078
Problem: When using 'foldmethod' "marker" and the end marker appears before
the start marker in the file, no fold is found. (Nazri Ramliy)
Solution: Don't let the fold depth go negative.
Files: src/fold.c
Patch 6.1.079
Problem: When using "s" in Visual block mode with 'virtualedit' set, when
the selected block is after the end of some lines the wrong text
is inserted and some lines are skipped. (Servatius Brandt)
Solution: Insert the right text and extend short lines.
Files: src/ops.c
Patch 6.1.080
Problem: When using gcc with /usr/local already in the search path, adding
it again causes problems.
Solution: Adjust configure.in to avoid adding /usr/local/include and
/usr/local/lib when using GCC and they are already used. (Johannes
Zellner)
Files: src/auto/configure, src/configure.in
Patch 6.1.081
Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson)
Solution: Double the backslash to avoid the special meaning of "\_".
Files: src/ex_cmds.c
Patch 6.1.082
Problem: On MS-Windows the vimrc_example.vim script is sourced and then
mswin.vim. This enables using select mode, but since "p" is
mapped it doesn't replace the selection.
Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete.
(Vlad Sandrini)
Files: runtime/vimrc_example.vim
Patch 6.1.083
Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found.
(Martin Lacko)
Solution: Guess the right menu file based on the system.
Files: runtime/lang/menu_sk_sk.vim
Patch 6.1.084 (depends on 6.1.080)
Problem: "include" and "lib" are mixed up when checking the directories gcc
already searches.
Solution: Swap the variable names. (SunHo Kim)
Files: src/auto/configure, src/configure.in
Patch 6.1.085
Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed
mode "(insert)" isn't removed. (Benji Fisher)
Solution: Clear the command line.
Files: src/normal.c
Patch 6.1.086 (depends on 6.1.049)
Problem: The guifg color for CursorIM doesn't take effect.
Solution: Use the foreground color when it's defined. (Muraoka Taro)
Files: src/gui.c
Patch 6.1.087
Problem: A thesaurus with Japanese characters has problems with characters
in different word classes.
Solution: Only separate words with single-byte non-word characters.
(Muraoka Taro)
Files: src/edit.c
Patch 6.1.088 (extra)
Problem: Win32: no debugging info is generated. Tags file excludes .cpp
files.
Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command.
(Muraoka Taro)
Files: src/Make_mvc.mak
Patch 6.1.089
Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan)
Solution: Use ss_base instead.
Files: src/auto/configure, src/configure.in, src/config.h.in,
src/os_unix.c
Patch 6.1.090
Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix
of long wrapping lines and a non-wrapping line.
Solution: Check that CTRL-F scrolls at least one line.
Files: src/move.c
Patch 6.1.091
Problem: GTK: Can't change preeditstate without setting 'imactivatekey'.
Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro
Matsumoto)
Files: src/mbyte.c
Patch 6.1.092
Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam)
Solution: Allow an argument for ":mapclear".
Files: src/ex_cmds.h
Patch 6.1.093 (extra)
Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the
results can be messed up, because the cursor is moved.
Solution: Disallow direct scrolling when not waiting for a character.
Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
Patch 6.1.094
Problem: Cygwin: Passing a file name that has backslashes isn't handled
very well.
Solution: Convert file name arguments to Posix. (Chris Metcalf)
Files: src/main.c
Patch 6.1.095
Problem: When using signs can free an item on the stack.
Overruling sign colors doesn't work. (Srikanth Sankaran)
Solution: Don't free the item on the stack. Use NULL instead of "none" for
the value of the color.
Files: src/gui_x11.c
Patch 6.1.096
Problem: When erasing the right halve of a double-byte character, it may
cause further characters to be erased. (Yasuhiro Matsumoto)
Solution: Make sure only one character is erased.
Files: src/screen.c
Patch 6.1.097 (depends on 6.1.090)
Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the
file scrolls one line. (Lubomir Host)
Solution: Don't scroll when CTRL-F detects the end-of-file.
Files: src/move.c
Patch 6.1.098
Problem: MS-Windows: When the xxd program is under "c:\program files" the
"Convert to Hex" menu doesn't work. (Brian Mathis)
Solution: Put the path to xxd in double quotes.
Files: runtime/menu.vim
Patch 6.1.099
Problem: Memory corrupted when closing a fold with more than 99999 lines.
Solution: Allocate more space for the fold text. (Walter Briscoe)
Files: src/eval.c
Patch 6.1.100 (extra, depends on 6.1.088)
Problem: Win32: VC5 and earlier don't support the /mapinfo option.
Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro)
Files: src/Make_mvc.mak
Patch 6.1.101
Problem: After using ":options" the tabstop of a new window is 15. Entry
in ":options" window for 'autowriteall' is wrong. (Antoine J
Mechelynck) Can't insert a space in an option value.
Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
Don't map space in Insert mode.
Files: runtime/optwin.vim
Patch 6.1.102
Problem: Unprintable and multi-byte characters in a statusline item are not
truncated correctly. (Yasuhiro Matsumoto)
Solution: Count the width of characters instead of the number of bytes.
Files: src/buffer.c
Patch 6.1.103
Problem: A function returning from a while loop, with 'verbose' set to 12
or higher, doesn't mention the return value. A function with the
'abort' attribute may return -1 while the verbose message says
something else.
Solution: Move the verbose message about returning from a function to
call_func(). (Servatius Brandt)
Files: src/eval.c
Patch 6.1.104
Problem: GCC 3.1 appears to have an optimizer problem that makes test 3
crash.
Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug.
Filter out extra info from "gcc --version".
Files: src/auto/configure, src/configure.in
Patch 6.1.105
Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion
Nicolaas)
Solution: Redirect stderr, depending on the shell (like for 'shellredir').
Files: src/option.c
Patch 6.1.106
Problem: The maze program crashes.
Solution: Change "11" to "27" and it works. (Greg Roelofs)
Files: runtime/macros/maze/mazeansi.c
Patch 6.1.107
Problem: When 'list' is set the current line in the error window may be
displayed wrong. (Muraoka Taro)
Solution: Don't continue the line after the $ has been displayed and the
rightmost column is reached.
Files: src/screen.c
Patch 6.1.108
Problem: When interrupting a filter command such as "!!sleep 20" the file
becomes read-only. (Mark Brader)
Solution: Only set the read-only flag when opening a buffer is interrupted.
When the shell command was interrupted, read the output that was
produced so far.
Files: src/ex_cmds.c, src/fileio.c
Patch 6.1.109
Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the
window heights. (Roman Neuhauser)
Solution: Ignore 'eadirection' for CTRL-W =
Files: src/window.c
Patch 6.1.110
Problem: When using ":badd file" when "file" is already present but not
listed, it stays unlisted. (David Frey)
Solution: Set 'buflisted'.
Files: src/buffer.c
Patch 6.1.111
Problem: It's not possible to detect using the Unix sources on Win32 or Mac.
Solution: Add has("macunix") and has("win32unix").
Files: runtime/doc/eval.txt, src/eval.c
Patch 6.1.112
Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to
the cursor position from before this command but every position
where the argument was executed.
Solution: Only remember the cursor position from before the ":argdo",
":bufdo" and ":windo".
Files: src/ex_cmds2.c, src/mark.c
Patch 6.1.113
Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser)
Solution: Decide what buffer to go to next before executing the command.
Files: src/ex_cmds2.c
Patch 6.1.114
Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives
a lalloc(0) error. (Chris Southern)
Solution: Don't allocate an array when it's size is zero.
Files: src/if_python.c
Patch 6.1.115
Problem: "das" on the white space at the end of a paragraph does not delete
the "." the sentence ends with.
Solution: Don't exclude the last character when it is not white space.
Files: src/search.c
Patch 6.1.116
Problem: When 'endofline' is changed while 'binary' is set a file should be
considered modified. (Olaf Buddenhagen)
Solution: Remember the 'eol' value when editing started and consider the
file changed when the current value is different and 'binary' is
set. Also fix that the window title isn't updated when 'ff' or
'bin' changes.
Files: src/option.c, src/structs.h
Patch 6.1.117
Problem: Small problem with editing a file over ftp: and with Cygwin.
Solution: Remove a dot from a ":normal" command. Use "cygdrive" where
appropriate. (Charles Campbell)
Files: runtime/plugin/netrw.vim
Patch 6.1.118
Problem: When a file in diff mode is reloaded because it changed outside
of Vim, other windows in diff mode are not always updated.
(Michael Naumann)
Solution: After reloading a file in diff mode mark all windows in diff mode
for redraw.
Files: src/diff.c
Patch 6.1.119 (extra)
Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be
a crash when connecting to Sniff.
Solution: Initialize sniff_rq_sep such that its value can be changed.
(Martin Egloff)
Files: src/if_sniff.c
Patch 6.1.120 (depends on 6.1.097)
Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the
end of the file scrolls part of a closed fold. (Lubomir Host)
Solution: Adjust the first line to the start of a fold.
Files: src/move.c
Patch 6.1.121 (depends on 6.1.098)
Problem: When starting Select mode from Insert mode, then using the Paste
menu entry, the cursor is left before the last pasted character.
(Mario Schweigler)
Solution: Set the cursor for Insert mode one character to the right.
Files: runtime/menu.vim
Patch 6.1.122
Problem: ":file name" creates a new buffer to hold the old buffer name,
which becomes the alternate file. This buffer is unexpectedly
listed.
Solution: Create the buffer for the alternate name unlisted.
Files: src/ex_cmds.c
Patch 6.1.123
Problem: A ":match" command with more than one argument doesn't report an
error.
Solution: Check for extra characters. (Servatius Brandt)
Files: src/ex_docmd.c
Patch 6.1.124
Problem: When trying to exit and there is a hidden buffer that had 'eol'
off and 'bin' set exiting isn't possible. (John McGowan)
Solution: Set b_start_eol when clearing the buffer.
Files: src/buffer.c
Patch 6.1.125
Problem: Explorer plugin asks for saving a modified buffer even when it's
open in another window as well.
Solution: Count the number of windows using the buffer.
Files: runtime/plugin/explorer.vim
Patch 6.1.126
Problem: Adding the choices in the syntax menu is consuming much of the
startup time of the GUI while it's not often used.
Solution: Only add the choices when the user wants to use them.
Files: Makefile, runtime/makemenu.vim, runtime/menu.vim,
runtime/synmenu.vim, src/Makefile
Patch 6.1.127
Problem: When using "--remote file" and the server has 'insertmode' set,
commands are inserted instead of being executed. (Niklas Volbers)
Solution: Go to Normal mode again after the ":drop" command.
Files: src/main.c
Patch 6.1.128
Problem: The expression "input('very long prompt')" puts the cursor in the
wrong line (column is OK).
Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto)
Files: src/ex_getln.c
Patch 6.1.129
Problem: On Solaris editing "file/" and then "file" results in using the
same buffer. (Jim Battle)
Solution: Before using stat(), check that there is no illegal trailing
slash.
Files: src/auto/configure, src/config.h.in, src/configure.in,
src/macros.h src/misc2.c, src/proto/misc2.pro
Patch 6.1.130
Problem: The documentation for some of the 'errorformat' items is unclear.
Solution: Add more examples and explain hard to understand items. (Stefan
Roemer)
Files: runtime/doc/quickfix.txt
Patch 6.1.131
Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI,
the CSI byte itself isn't copied.
Solution: Copy the CSI byte.
Files: src/gui_x11.c
Patch 6.1.132
Problem: Executing a register in Ex mode may cause commands to be skipped.
(John McGowan)
Solution: In Ex mode use an extra check if the register contents was
consumed, to avoid input goes into the typeahead buffer.
Files: src/ex_docmd.c
Patch 6.1.133
Problem: When drawing double-wide characters in the statusline, may clear
half of a character. (Yasuhiro Matsumoto)
Solution: Force redraw of the next character by setting the attributes
instead of putting a NUL in ScreenLines[]. Do put a NUL in
ScreenLines[] when overwriting half of a double-wide character.
Files: src/screen.c
Patch 6.1.134
Problem: An error for a trailing argument of ":match" should not be given
after ":if 0". (Servatius Brandt)
Solution: Only do the check when executing commands.
Files: src/ex_docmd.c
Patch 6.1.135
Problem: Passing a command to the shell that includes a newline always has
a backslash before the newline.
Solution: Remove one backslash before the newline. (Servatius Brandt)
Files: src/ex_docmd.c
Patch 6.1.136
Problem: When $TERM is "linux" the default for 'background' is "dark", even
though the GUI uses a light background. (Hugh Allen)
Solution: Don't mark the option as set when defaulting to "dark" for the
linux console. Also reset 'background' to "light" when the GUI
has a light background.
Files: src/option.c
Patch 6.1.137
Problem: Converting to HTML has a clumsy way of dealing with tabs which may
change the highlighting.
Solution: Replace tabs with spaces after converting a line to HTML. (Preben
Guldberg)
Files: runtime/syntax/2html.vim
Patch 6.1.138 (depends on 6.1.126)
Problem: Adding extra items to the Syntax menu can't be done when the "Show
individual choices" menu is used.
Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim
files in the runtime path are loaded. (Servatius Brandt)
Also fix that a translated menu can't be removed.
Files: runtime/menu.vim
Patch 6.1.139
Problem: Cygwin: PATH_MAX is not defined.
Solution: Include limits.h. (Dan Sharp)
Files: src/main.c
Patch 6.1.140
Problem: Cygwin: ":args `ls *.c`" does not work if the shell command
produces CR NL line separators.
Solution: Remove the CR characters ourselves. (Pavol Juhas)
Files: src/os_unix.c
Patch 6.1.141
Problem: ":wincmd gx" may cause problems when mixed with other commands.
":wincmd c" doesn't close the window immediately. (Benji Fisher)
Solution: Pass the extra command character directly instead of using the
stuff buffer and call ex_close() directly.
Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro,
src/proto/window.pro, src/window.c
Patch 6.1.142
Problem: Defining paragraphs without a separating blank line isn't
possible. Paragraphs can't be formatted automatically.
Solution: Allow defining paragraphs with lines that end in white space.
Added the 'w' and 'a' flags in 'formatoptions'.
Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c,
src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro,
src/vim.h
Patch 6.1.143 (depends on 6.1.142)
Problem: Auto formatting near the end of the file moves the cursor to a
wrong position. In Insert mode some lines are made one char too
narrow. When deleting a line undo might not always work properly.
Solution: Don't always move to the end of the line in the last line. Don't
position the cursor past the end of the line in Insert mode.
After deleting a line save the cursor line for undo.
Files: src/edit.c, src/ops.c, src/normal.c
Patch 6.1.144
Problem: Obtaining the size of a line in screen characters can be wrong.
A pointer may wrap around zero.
Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim
Dunleavy)
Files: src/charset.c
Patch 6.1.145
Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael
Marchand)
Solution: Rewrite the code that parses the received list of files to be more
robust.
Files: src/charset.c, src/gui_gtk_x11.c
Patch 6.1.146
Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and
$HOMEPATH, it is not used for storing the _viminfo file. (Normal
Diamond)
Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH.
Files: src/misc1.c
Patch 6.1.147 (extra)
Problem: MS-Windows: When a dialog has no default button, pressing Enter
ends it anyway and all buttons are selected.
Solution: Don't end a dialog when there is no default button. Don't select
all button when there is no default. (Vince Negri)
Files: src/gui_w32.c
Patch 6.1.148 (extra)
Problem: MS-Windows: ACL is not properly supported.
Solution: Add an access() replacement that also works for ACL. (Mike
Williams)
Files: runtime/doc/editing.txt, src/os_win32.c
Patch 6.1.149 (extra)
Problem: MS-Windows: Can't use diff mode from the file explorer.
Solution: Add a "diff with Vim" context menu entry. (Dan Sharp)
Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h
Patch 6.1.150
Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd()
still uses backslash. (Yegappan Lakshmanan)
Solution: Adjust slashes in getcwd().
Files: src/eval.c
Patch 6.1.151 (extra)
Problem: Win32: The NTFS substream isn't copied.
Solution: Copy the substream when making a backup copy. (Muraoka Taro)
Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro
Patch 6.1.152
Problem: When $LANG is iso8859-1 translated menus are not used.
Solution: Change iso8859 to iso_8859.
Files: runtime/menu.vim
Patch 6.1.153
Problem: Searching in included files may search recursively when the path
starts with "../". (Sven Berkvens-Matthijsse)
Solution: Compare full file names, use inode/device when possible.
Files: src/search.c
Patch 6.1.154 (extra)
Problem: DJGPP: "vim -h" leaves the cursor in a wrong position.
Solution: Don't position the cursor using uninitialized variables. (Jim
Dunleavy)
Files: src/os_msdos.c
Patch 6.1.155
Problem: Win32: Cursor may sometimes disappear in Insert mode.
Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe)
Files: src/option.c
Patch 6.1.156
Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly.
Solution: Clean up a few things.
Files: src/mbyte.c, src/structs.h
Patch 6.1.157
Problem: 'hlsearch' highlights only the second comma in ",,,,," with
"/,\@<=[^,]*". (Preben Guldberg)
Solution: Also check for an empty match to start just after a previous
match.
Files: src/screen.c
Patch 6.1.158
Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1".
(Preben Guldberg)
Solution: Take 'siso' into account when computing the horizontal scroll
position for "zs" and "ze".
Files: src/normal.c
Patch 6.1.159
Problem: When expanding an abbreviation that includes a multi-byte
character too many characters are deleted. (Andrey Urazov)
Solution: Delete the abbreviation counting characters instead of bytes.
Files: src/getchar.c
Patch 6.1.160
Problem: ":$read file.gz" doesn't work. (Preben Guldberg)
Solution: Don't use the '[ mark after it has become invalid.
Files: runtime/plugin/gzip.vim
Patch 6.1.161 (depends on 6.1.158)
Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative
value. (Mike Williams)
Solution: Add a typecast. Add a check for 'siso' being negative.
Files: src/normal.c, src/option.c
Patch 6.1.162
Problem: Python interface: Didn't initialize threads properly.
Solution: Call PyEval_InitThreads() when starting up.
Files: src/if_python.c
Patch 6.1.163
Problem: Win32: Can't compile with Python after 6.1.162.
Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp)
Files: src/if_python.c
Patch 6.1.164
Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is
changed to "xxd" anyway.
Solution: Don't change 'filetype' when conversion failed.
Files: runtime/menu.vim
Patch 6.1.165
Problem: Making changes in several lines and then a change in one of these
lines that splits it in two or more lines, undo information was
corrupted. May cause a crash. (Dave Fishburn)
Solution: When skipping to save a line for undo because it was already
saved, move it to become the last saved line, so that when the
command changes the line count other saved lines are not involved.
Files: src/undo.c
Patch 6.1.166
Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting
with CTRL-V just after auto-indenting removes the indent. (Shlomi
Fish)
Solution: First insert an "x" and delete it again, so that the auto-indent
remains.
Files: runtime/mswin.vim
Patch 6.1.167
Problem: When giving a negative argument to ":retab" strange things start
happening. (Hans Ginzel)
Solution: Check for a negative value.
Files: src/ex_cmds.c
Patch 6.1.168
Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt.
Solution: Make CTRL-C stop the hit-enter prompt.
Files: src/message.c
Patch 6.1.169
Problem: bufexists() finds a buffer by using the name of a symbolic link to
it, but bufnr() doesn't. (Yegappan Lakshmanan)
Solution: When bufnr() can't find a buffer, try using the same method as
bufexists().
Files: src/eval.c
Patch 6.1.170
Problem: Using ":mksession" uses the default session file name, but "vim
-S" doesn't. (Hans Ginzel)
Solution: Use the default session file name if "-S" is the last command
line argument or another option follows.
Files: runtime/doc/starting.txt, src/main.c
Patch 6.1.171
Problem: When opening a line just above a closed fold with "O" and the
comment leader is automatically inserted, the cursor is displayed
in the first column. (Sung-Hyun Nam)
Solution: Update the flag that indicates the cursor is in a closed fold.
Files: src/misc1.c
Patch 6.1.172
Problem: Command line completion of ":tag /pat" does not show the same
results as the tags the command actually finds. (Gilles Roy)
Solution: Don't modify the pattern to make it a regexp.
Files: src/ex_getln.c, src/tag.c
Patch 6.1.173
Problem: When using remote control to edit a position in a file and this
file is the current buffer and it's modified, the window is split
and the ":drop" command fails.
Solution: Don't split the window, keep editing the same buffer.
Use the ":drop" command in VisVim to avoid the problem there.
Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
VisVim/Commands.cpp
Patch 6.1.174
Problem: It is difficult to know in a script whether an option not only
exists but really works.
Solution: Add "exists('+option')".
Files: runtime/doc/eval.txt, src/eval.c
Patch 6.1.175
Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim
will hang. (Piet Delport)
Solution: Don't keep reading characters to clear typeahead when an interrupt
was detected, stop when a single CTRL-C is read.
Files: src/getchar.c, src/ui.c
Patch 6.1.176
Problem: When the stack limit is very big a false out-of-stack error may
be detected.
Solution: Add a check for overflow of the stack limit computation. (Jim
Dunleavy)
Files: src/os_unix.c
Patch 6.1.177 (depends on 6.1.141)
Problem: ":wincmd" does not allow a following command. (Gary Johnson)
Solution: Check for a following " | cmd". Also give an error for trailing
characters.
Files: src/ex_docmd.c
Patch 6.1.178
Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab.
(Bruce deVisser)
Solution: Replace with a literal Tab.
Files: src/normal.c
Patch 6.1.179 (depends on 6.1.091)
Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin)
Solution: Include the missing definitions.
Files: src/mbyte.c
Patch 6.1.180
Problem: Use of the GUI code for forking is inconsistent.
Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer)
Files: src/gui.c
Patch 6.1.181
Problem: If the terminal doesn't wrap from the last char in a line to the
next line, the last column is blanked out. (Peter Karp)
Solution: Don't output a space to mark the wrap, but the same character
again.
Files: src/screen.c
Patch 6.1.182 (depends on 6.1.142)
Problem: It is not possible to auto-format comments only. (Moshe Kaminsky)
Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format
comments.
Files: runtime/doc/change.txt, src/edit.c
Patch 6.1.183
Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with
illegal bytes gives "CONVERSION ERROR" even though no conversion
is done. 'readonly' is set, even though writing the file results
in an unmodified file.
Solution: For this specific error use "ILLEGAL BYTE" and don't set
'readonly'.
Files: src/fileio.c
Patch 6.1.184 (extra)
Problem: The extra mouse buttons found on some mice don't work.
Solution: Support two extra buttons for MS-Windows. (Michael Geddes)
Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c,
src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c,
src/misc1.c, src/misc2.c, src/normal.c, src/vim.h
Patch 6.1.185 (depends on 6.1.182)
Problem: Can't compile without +comments feature.
Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson)
Files: src/edit.c
Patch 6.1.186 (depends on 6.1.177)
Problem: ":wincmd" does not allow a following comment. (Aric Blumer)
Solution: Check for a following double quote.
Files: src/ex_docmd.c
Patch 6.1.187
Problem: Using ":doarg" with 'hidden' set and the current file is the only
argument and was modified gives an error message. (Preben
Guldberg)
Solution: Don't try re-editing the same file.
Files: src/ex_cmds2.c
Patch 6.1.188 (depends on 6.1.173)
Problem: Unused variable in the small version.
Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS.
Files: src/ex_cmds2.c
Patch 6.1.189
Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric
Blumer)
Solution: Fall back to the input() function in this situation.
Files: src/eval.c
Patch 6.1.190 (extra)
Problem: VMS: doesn't build with GTK GUI. Various other problems.
Solution: Fix building for GTK. Improved Perl, Python and TCL support.
Improved VMS documentation. (Zoltan Arpadffy)
Added Vimtutor for VMS (T. R. Wyant)
Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h,
src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms,
src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com,
src/testdir/Make_vms.mms
Patch 6.1.191
Problem: When using "vim -s script" and redirecting the output, the delay
for the "Output is not to a terminal" warning slows Vim down too
much.
Solution: Don't delay when reading commands from a script.
Files: src/main.c
Patch 6.1.192
Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson)
Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used.
Files: src/diff.c, src/main.c
Patch 6.1.193
Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave
Fishburn)
Solution: Check for a negative syntax id, used for keywords.
Files: src/syntax.c
Patch 6.1.194
Problem: When "t_ti" is set but it doesn't cause swapping terminal pages,
"ZZ" may cause the shell prompt to appear on top of the file-write
message.
Solution: Scroll the text up in the Vim page before swapping to the terminal
page. (Michael Schroeder)
Files: src/os_unix.c
Patch 6.1.195
Problem: The quickfix and preview windows always keep their height, while
other windows can't fix their height.
Solution: Add the 'winfixheight' option, so that a fixed height can be
specified for any window. Also fix that the wildmenu may resize a
one-line window to a two-line window if 'ls' is zero.
Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c,
src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c,
src/screen.c, src/structs.h, src/window.c
Patch 6.1.196 (depends on 6.1.084)
Problem: On Mac OS X 10.2 generating osdef.h fails.
Solution: Add -no-cpp-precomp to avoid using precompiled header files, which
disables printing the search path. (Ben Fowler)
Files: src/auto/configure, src/configure.in
Patch 6.1.197
Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an
error message. (Servatius Brandt)
Solution: Double the backslash in "CTRL-\".
Files: src/ex_cmds.c
Patch 6.1.198 (extra) (depends on 6.1.076)
Problem: Mac OS X: Dialogues don't work.
Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when
saving to a new file from the GUI. (Peter Cucka)
Files: src/feature.h, src/gui_mac.c
Patch 6.1.199
Problem: 'guifontwide' doesn't work on Win32.
Solution: Output each wide character separately. (Michael Geddes)
Files: src/gui.c
Patch 6.1.200
Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make
syntax highlighting very slow.
Solution: Check "eap->skip" appropriately. (Rob West)
Files: src/syntax.c
Patch 6.1.201 (depends on 6.1.192)
Problem: Warning for illegal pointer combination. (Zoltan Arpadffy)
Solution: Add a typecast.
Files: src/diff.c
Patch 6.1.202 (extra)(depends on 6.1.148)
Problem: Win32: filewritable() doesn't work properly on directories.
Solution: fix filewritable(). (Mike Williams)
Files: src/os_win32.c
Patch 6.1.203
Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway)
Solution: Avoid reading past the end of a line when "~" is empty.
Files: src/regexp.c
Patch 6.1.204 (depends on 6.1.129)
Problem: Warning for an illegal pointer on Solaris.
Solution: Add a typecast. (Derek Wyatt)
Files: src/misc2.c
Patch 6.1.205
Problem: The gzip plugin changes the alternate file when editing a
compressed file. (Oliver Fuchs)
Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'.
Files: runtime/plugin/gzip.vim
Patch 6.1.206
Problem: The script generated with ":mksession" doesn't work properly when
some commands are mapped.
Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where
possible. (Muraoka Taro)
Files: src/ex_docmd.c, src/fold.c
Patch 6.1.207
Problem: Indenting a Java file hangs below a line with a comment after a
command.
Solution: Break out of a loop. (Andre Pang)
Also line up } with matching {.
Files: runtime/indent/java.vim
Patch 6.1.208
Problem: Can't use the buffer number from the Python interface.
Solution: Add buffer.number. (Michal Vitecek)
Files: src/if_python.c
Patch 6.1.209
Problem: Printing doesn't work on Mac OS classic.
Solution: Use a ":" for path separator when opening the resource file. (Axel
Kielhorn)
Files: src/ex_cmds2.c
Patch 6.1.210
Problem: When there is an iconv() conversion error when reading a file
there can be an error the next time iconv() is used.
Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto)
Files: src/fileio.c
Patch 6.1.211
Problem: The message "use ! to override" is confusing.
Solution: Make it "add ! to override".
Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c,
src/globals.h
Patch 6.1.212
Problem: When Vim was started with "-R" ":new" creates a buffer
'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg)
Solution: Don't set 'readonly in a new empty buffer for ":enew".
Files: src/ex_docmd.c
Patch 6.1.213
Problem: Using CTRL-W H may cause a big gap to appear below the last
window. (Aric Blumer)
Solution: Don't set the window height when there is a vertical split.
(Yasuhiro Matsumoto)
Files: src/window.c
Patch 6.1.214
Problem: When installing Vim and the runtime files were checked out from
CVS the CVS directories will also be installed.
Solution: Avoid installing the CVS dirs and their contents.
Files: src/Makefile
Patch 6.1.215
Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set.
(Xiangjiang Ma)
Solution: Adjust backslashes before printing the message.
Files: src/ex_docmd.c
Patch 6.1.216
Problem: When dynamically loading the iconv library, the error codes may be
confused.
Solution: Use specific error codes for iconv and redefine them for dynamic
loading. (Yasuhiro Matsumoto)
Files: src/fileio.c, src/mbyte.c, src/vim.h
Patch 6.1.217
Problem: When sourcing the same Vim script using a different name (symbolic
link or MS-Windows 8.3 name) it is listed twice with
":scriptnames". (Tony Mechelynck)
Solution: Turn the script name into a full path before using it. On Unix
compare inode/device numbers.
Files: src/ex_cmds2.c
Patch 6.1.218
Problem: No error message for using the function argument "5+". (Servatius
Brandt)
Solution: Give an error message if a function or variable is expected but is
not found.
Files: src/eval.c
Patch 6.1.219
Problem: When using ":amenu :b 1<CR>" with a Visual selection and
'insertmode' is set, Vim does not return to Insert mode. (Mickael
Marchand)
Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if
'insertmode' is set and to Normal mode otherwise. Append this to
menus defined with ":amenu".
Files: src/edit.c, src/ex_getln.c, src/normal.c
Patch 6.1.220
Problem: When using a BufReadPost autocommand that changes the line count,
e.g., "$-1join", reloading a file that was changed outside Vim
does not work properly. (Alan G Isaac)
Solution: Make the buffer empty before reading the new version of the file.
Save the lines in a dummy buffer, so that they can be put back
when reading the file fails.
Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h,
src/proto/buffer.pro
Patch 6.1.221
Problem: Changing case may not work properly, depending on the current
locale.
Solution: Add the 'casemap' option to let the user chose how changing case
is to be done.
Also fix lowering case when an UTF-8 character doesn't keep the
same byte length.
Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure,
src/buffer.c, src/charset.c, src/config.h.in, src/configure.in,
src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c
src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc,
src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c,
src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c,
src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h,
src/syntax.c
Patch 6.1.222 (depends on 6.1.219)
Problem: Patch 6.1.219 was incomplete.
Solution: Add the changes for ":amenu".
Files: src/menu.c
Patch 6.1.223 (extra)
Problem: Win32: When IME is activated 'iminsert' is set, but it might never
be reset when IME is disabled. (Muraoka Taro)
All systems: 'iminsert' is set to 2 when leaving Insert mode, even
when langmap is being used. (Peter Valach)
Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro)
Don't store the status of the input method in 'iminsert' when
'iminsert' is one. Also for editing the command line and for
arguments to Normal mode commands.
Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c
Patch 6.1.224
Problem: "expand('$VAR')" returns an empty string when the expanded $VAR
is not an existing file. (Aric Blumer)
Solution: Included non-existing files, as documented.
Files: src/eval.c
Patch 6.1.225
Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u
NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses
fileinfo(), the redraw is done after a delay to give the user time
to read the message.
Solution: Put the message from fileio() in "keep_msg", so that the redraw is
done before the delay (still needed to avoid the mode message
overwrites the fileinfo() message).
Files: src/buffer.c
Patch 6.1.226
Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin
Keith)
Solution: Save the typeahead buffer when obtaining a debug command.
Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro
Patch 6.1.227
Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf
= 5" does not give an error message. (Mikolaj Machowski)
Solution: Check for a ":" inside the variable name.
Files: src/eval.c
Patch 6.1.228 (extra)
Problem: Win32: The special output function for Hangul is used too often,
causing special handling for other situations to be skipped.
bInComposition is always FALSE, causing ImeGetTempComposition()
always to return NULL.
Solution: Remove HanExtTextOut(). Delete the dead code around
bInComposition and ImeGetTempComposition().
Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
Patch 6.1.229
Problem: Win32: Conversion to/from often used codepages requires the iconv
library, which is not always available.
Solution: Use standard MS-Windows functions for the conversion when
possible. (mostly by Glenn Maynard)
Also fixes missing declaration for patch 6.1.220.
Files: src/fileio.c
Patch 6.1.230 (extra)
Problem: Win16: building doesn't work.
Solution: Exclude the XBUTTON handling. (Vince Negri)
Files: src/gui_w48.c
Patch 6.1.231
Problem: Double clicking with the mouse to select a word does not work for
multi-byte characters.
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
is used instead of 'isident'. Also fix that mixing ASCII with
multi-byte word characters doesn't work, the mouse class for
punctuation and word characters was mixed up.
Files: src/normal.c
Patch 6.1.232 (depends on 6.1.226)
Problem: Using ex_normal_busy while it might not be available. (Axel
Kielhorn)
Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined.
Files: src/ex_cmds2.c
Patch 6.1.233
Problem: ":help expr-||" does not work.
Solution: Don't use the '|' as a command separator
Files: src/ex_cmds.c
Patch 6.1.234 (depends on 6.1.217)
Problem: Get a warning for using a negative value for st_dev.
Solution: Don't assign a negative value to st_dev.
Files: src/ex_cmds2.c
Patch 6.1.235 (depends on 6.1.223)
Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter
Valach)
Solution: Check "State" before resetting it to NORMAL.
Files: src/edit.c
Patch 6.1.236
Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and
when reloading a changed buffer.
Solution: Free a line after calling ml_append().
Files: src/diff.c, src/fileio.c
Patch 6.1.237
Problem: Putting in Visual block mode does not work correctly when "$" was
used or when the first line is short. (Christian Michon)
Solution: First delete the selected text and then put the new text. Save
and restore registers as necessary.
Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro,
src/vim.h
Patch 6.1.238 (extra)
Problem: Win32: The "icon=" argument for the ":menu" command does not
search for the bitmap file.
Solution: Expand environment variables and search for the bitmap file.
(Vince Negri)
Make it consistent, use the same mechanism for X11 and GTK.
Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c,
src/proto/gui.pro
Patch 6.1.239
Problem: Giving an error for missing :endif or :endwhile when being
interrupted.
Solution: Don't give these messages when interrupted.
Files: src/ex_docmd.c, src/os_unix.c
Patch 6.1.240 (extra)
Problem: Win32 with BCC 5: CPU may be defined in the environment, which
causes a wrong argument for the compiler. (Walter Briscoe)
Solution: Use CPUNR instead of CPU.
Files: src/Make_bc5.mak
Patch 6.1.241
Problem: Something goes wrong when drawing or undrawing the cursor.
Solution: Remember when the cursor invalid in a better way.
Files: src/gui.c
Patch 6.1.242
Problem: When pasting a large number of lines on the command line it is not
possible to interrupt. (Jean Jordaan)
Solution: Check for an interrupt after each pasted line.
Files: src/ops.c
Patch 6.1.243 (extra)
Problem: Win32: When the OLE version is started and wasn't registered, a
message pops up to suggest registering, even when this isn't
possible (when the registry is not writable).
Solution: Check if registering is possible before asking whether it should
be done. (Walter Briscoe)
Also avoid restarting Vim after registering.
Files: src/if_ole.cpp
Patch 6.1.244
Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg)
Solution: Include it here.
Files: src/vim.h
Patch 6.1.245
Problem: Comparing with ignored case does not work properly for Unicode
with a locale where case folding an ASCII character results in a
multi-byte character. (Glenn Maynard)
Solution: Handle ignore-case compare for Unicode differently.
Files: src/mbyte.c
Patch 6.1.246
Problem: ":blast" goes to the first buffer if the last one is unlisted.
(Andrew Stryker)
Solution: From the last buffer search backwards for the first listed buffer
instead of forwards.
Files: src/ex_docmd.c
Patch 6.1.247
Problem: ACL support doesn't always work properly.
Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry
Vignaud)
Files: src/auto/configure, src/configure.in
Patch 6.1.248
Problem: Typing 'q' at the more-prompt for ":let" does not quit the
listing. (Hari Krishna Dara)
Solution: Quit the listing when got_int is set.
Files: src/eval.c
Patch 6.1.249
Problem: Can't expand a path on the command line if it includes a "|" as a
trail byte of a multi-byte character.
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
Files: src/ex_docmd.c
Patch 6.1.250
Problem: When changing the value of 'lines' inside the expression set with
'diffexpr' Vim might crash. (Dave Fishburn)
Solution: Don't allow changing the screen size while updating the screen.
Files: src/globals.h, src/option.c, src/screen.c
Patch 6.1.251
Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd".
Solution: Expand directory names for these commands. (Servatius Brandt)
Files: src/ex_docmd.c
Patch 6.1.252
Problem: "vi}" does not include a line break when the "}" is at the start
of a following line. (Kamil Burzynski)
Solution: Include the line break.
Files: src/search.c
Patch 6.1.253 (extra)
Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way.
(Xiangjiang Ma)
Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version.
Update the Cygwin makefile to support more features. (Dan Sharp)
Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c
Patch 6.1.254
Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work.
":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work.
":delfunc F{" does not give an error message. ':delfunc F{"F"}'
does not work.
Solution: Support magic braces for the exists() argument. (Vince Negri)
Check for trailing comments explicitly for ":unlet". Add support
for magic braces in further arguments of ":let". Look for a
parenthesis only after the function name. (Servatius Brandt)
Also expand magic braces for "exists('*expr')". Give an error
message for an invalid ":delfunc" argument. Allow quotes in the
":delfunc" argument.
Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c
Patch 6.1.255 (depends on 6.1.254)
Problem: Crash when loading menu.vim a second time. (Christian Robinson)
":unlet garbage foo" tries unletting "foo" after an error message.
(Servatius Brandt)
Very long function arguments cause very long messages when
'verbose' is 14 or higher.
Solution: Avoid reading from uninitialized memory.
Break out of a loop after an invalid argument for ":unlet".
Truncate long function arguments to 80 characters.
Files: src/eval.c
Patch 6.1.256 (depends on 6.1.255)
Problem: Defining a function after ":if 0" could still cause an error
message for an existing function.
Leaking memory when there are trailing characters for ":delfunc".
Solution: Check the "skip" flag. Free the memory. (Servatius Brandt)
Files: src/eval.c
Patch 6.1.257
Problem: ":cwindow" always sets the previous window to the last but one
window. (Benji Fisher)
Solution: Set the previous window properly.
Files: src/globals.c, src/quickfix.c, src/window.c
Patch 6.1.258
Problem: Buffers menu doesn't work properly for multibyte buffer names.
Solution: Use a pattern to get the left and right part of the name.
(Yasuhiro Matsumoto)
Files: runtime/menu.vim
Patch 6.1.259 (extra)
Problem: Mac: with 'patchmode' is used filenames are truncated.
Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston)
Files: src/os_mac.h
Patch 6.1.260 (depends on 6.1.104)
Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El)
Solution: Use the same configure check as used for GCC 3.1.
Files: src/auto/configure, src/configure.in
Patch 6.1.261
Problem: When deleting a line in a buffer which is not the current buffer,
using the Perl interface Delete(), the cursor in the current
window may move. (Chris Houser)
Solution: Don't adjust the cursor position when changing another buffer.
Files: src/if_perl.xs
Patch 6.1.262
Problem: When jumping over folds with "z[", "zj" and "zk" the previous
position is not remembered. (Hari Krishna Dara)
Solution: Set the previous context mark before jumping.
Files: src/fold.c
Patch 6.1.263
Problem: When typing a multi-byte character that triggers an abbreviation
it is not inserted properly.
Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
Files: src/getchar.c
Patch 6.1.264 (depends on patch 6.1.254)
Problem: exists() does not work for built-in functions. (Steve Wall)
Solution: Don't check for the function name to start with a capital.
Files: src/eval.c
Patch 6.1.265
Problem: libcall() can be used in 'foldexpr' to call any system function.
rename(), delete() and remote_send() can also be used in
'foldexpr'. These are security problems. (Georgi Guninski)
Solution: Don't allow using libcall(), rename(), delete(), remote_send() and
similar functions in the sandbox.
Files: src/eval.c
Patch 6.1.266 (depends on 6.1.265)
Problem: Win32: compile error in eval.c. (Bill McCarthy)
Solution: Move a variable declaration.
Files: src/eval.c
Patch 6.1.267
Problem: Using "p" to paste into a Visual selected area may cause a crash.
Solution: Allocate enough memory for saving the register contents. (Muraoka
Taro)
Files: src/ops.c
Patch 6.1.268
Problem: When triggering an abbreviation with a multi-byte character, this
character is not correctly inserted after expanding the
abbreviation. (Taro Muraoka)
Solution: Add ABBR_OFF to all characters above 0xff.
Files: src/edit.c, src/ex_getln.c, src/getchar.c
Patch 6.1.269
Problem: After using input() text written with ":redir" gets extra indent.
(David Fishburn)
Solution: Restore msg_col after using input().
Files: src/ex_getln.c
Patch 6.1.270 (depends on 6.1.260)
Problem: GCC 3.2.1 still seems to have an optimizer problem.
Solution: Use the same configure check as used for GCC 3.1.
Files: src/auto/configure, src/configure.in
Patch 6.1.271
Problem: When compiling without the +syntax feature there are errors.
Solution: Don't use some code for syntax highlighting. (Roger Cornelius)
Make test 45 work without syntax highlighting.
Also fix an error in a pattern matching: "\%(" was not supported.
Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in
Patch 6.1.272
Problem: After using ":set define<" a crash may happen. (Christian Robinson)
Solution: Make a copy of the option value in allocated memory.
Files: src/option.c
Patch 6.1.273
Problem: When the cursor doesn't blink, redrawing an exposed area may hide
the cursor.
Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro)
Files: src/gui.c
Patch 6.1.274 (depends on 6.1.210)
Problem: Resetting the iconv() state after each error is wrong for an
incomplete sequence.
Solution: Don't reset the iconv() state.
Files: src/fileio.c
Patch 6.1.275
Problem: When using "v" in a startup script, get warning message that
terminal cannot highlight. (Charles Campbell)
Solution: Only give the message after the terminal has been initialized.
Files: src/normal.c
Patch 6.1.276
Problem: "gvim --remote file" doesn't prompt for an encryption key.
Solution: The further characters the client sends to the server are used.
Added inputsave() and inputrestore() to allow prompting the
user directly and not using typeahead.
Also fix possible memory leak for ":normal".
Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c,
src/main.c, src/proto/getchar.pro, src/proto/ui.pro,
src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h
Patch 6.1.277 (depends on 6.1.276)
Problem: Compilation error when building with small features.
Solution: Define trash_input_buf() when needed. (Kelvin Lee)
Files: src/ui.c
Patch 6.1.278
Problem: When using signs the line number of a closed fold doesn't line up
with the other line numbers. (Kamil Burzynski)
Solution: Insert two spaces for the sign column.
Files: src/screen.c
Patch 6.1.279
Problem: The prototype for smsg() and smsg_attr() do not match the function
definition. This may cause trouble for some compilers. (Nix)
Solution: Use va_list for systems that have stdarg.h. Use "int" instead of
"void" for the return type.
Files: src/auto/configure, src/config.h.in, src/configure.in,
src/proto.h, src/message.c
Patch 6.1.280
Problem: It's possible to use an argument "firstline" or "lastline" for a
function but using "a:firstline" or "a:lastline" in the function
won't work. (Benji Fisher)
Solution: Give an error message for these arguments.
Also avoid that the following function body causes a whole row of
errors, skip over it after an error in the first line.
Files: src/eval.c
Patch 6.1.281
Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler.
Solution: Set the cursor position before waiting for the argument of CTRL-G.
(Yasuhiro Matsumoto)
Files: src/edit.c
Patch 6.1.282
Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this.
Solution: Also accept "se " where "set " is accepted in a modeline.
(Yasuhiro Matsumoto)
Files: src/buffer.c
Patch 6.1.283
Problem: For ":sign" the icon file name cannot contain a space.
Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto)
Files: src/ex_cmds.c
Patch 6.1.284
Problem: On Solaris there is a warning for "struct utimbuf".
Solution: Move including "utime.h" to outside the function. (Derek Wyatt)
Files: src/fileio.c
Patch 6.1.285
Problem: Can't wipe out a buffer with 'bufhide' option.
Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan)
Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
src/quickfix.c
Patch 6.1.286
Problem: 'showbreak' cannot contain multi-byte characters.
Solution: Allow using all printable characters for 'showbreak'.
Files: src/charset.c, src/move.c, src/option.c
Patch 6.1.287 (depends on 6.1.285)
Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up.
Solution: Wipe out when wiping out is asked for.
Files: src/buffer.c
Patch 6.1.288
Problem: ":silent function F" hangs. (Hari Krishna Dara)
Solution: Don't use msg_col, it is not incremented when using ":silent".
Also made the function output look a bit better. Don't translate
"function".
Files: src/eval.c
Patch 6.1.289 (depends on 6.1.278)
Problem: Compiler warning for pointer. (Axel Kielhorn)
Solution: Add a typecast for " ".
Files: src/screen.c
Patch 6.1.290 (extra)
Problem: Truncating long text for message box may break multi-byte
character.
Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
Files: src/os_mswin.c
Patch 6.1.291 (extra)
Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it.
Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto)
Files: src/gui_w48.c
Patch 6.1.292 (extra, depends on 6.1.253)
Problem: Win32: Can't compile with new MingW compiler.
Borland 5 makefile doesn't generate pathdef.c.
Solution: Remove -wwide-multiply argument. (Rene de Zwart)
Various fixes for other problems in Win32 makefiles. (Dan Sharp)
Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak,
src/Make_mvc.mak
Patch 6.1.293
Problem: byte2line() returns a wrong result for some values.
Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
Add one to the line number when at the end of a block.
Files: src/memline.c
Patch 6.1.294
Problem: Can't include a multi-byte character in a string by its hex value.
(Benji Fisher)
Solution: Add "\u....": a character specified with up to four hex numbers
and stored according to the value of 'encoding'.
Files: src/eval.c
Patch 6.1.295 (extra)
Problem: Processing the cs.po file generates an error. (Rahul Agrawal)
Solution: Fix the printf format characters in the translation.
Files: src/po/cs.po
Patch 6.1.296
Problem: Win32: When cancelling the font dialog 'guifont' remains set to
"*".
Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto)
Files: src/option.c
Patch 6.1.297
Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher)
Solution: Before executing the BufReadPost autocommands save the current
fileencoding, so that the file isn't marked changed.
Files: src/fileio.c
Patch 6.1.298
Problem: When using signs and the first line of a closed fold has a sign
it can be redrawn as if the fold was open. (Kamil Burzynski)
Solution: Don't redraw a sign inside a closed fold.
Files: src/screen.c
Patch 6.1.299
Problem: ":edit +set\ ro file" doesn't work.
Solution: Halve the number of backslashes in the "+cmd" argument.
Files: src/ex_docmd.c
Patch 6.1.300 (extra)
Problem: Handling of ETO_IGNORELANGUAGE is confusing.
Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard)
Files: src/gui_w32.c
Patch 6.1.301 (extra)
Problem: French translation of file-save dialog doesn't show file name.
Solution: Insert a star in the printf string. (Francois Terrot)
Files: src/po/fr.po
Patch 6.1.302
Problem: Counting lines of the Visual area is incorrect for closed folds.
(Mikolaj Machowski)
Solution: Correct the start and end for the closed fold.
Files: src/normal.c
Patch 6.1.303 (extra)
Problem: The Top/Bottom/All text does not always fit in the ruler when
translated to Japanese. Problem with a character being wider when
in a bold font.
Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro
Matsumoto)
Files: src/gui_w32.c
Patch 6.1.304 (extra, depends on 6.1.292)
Problem: Win32: Postscript is always enabled in the MingW Makefile.
Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro
Matsumoto)
Solution: Change an ifdef to an ifeq. (Madoka Machitani)
Use the Borland make redirection to generate pathdef.c. (Maurice
Barnum)
Files: src/Make_bc5.mak, src/Make_ming.mak
Patch 6.1.305
Problem: When 'verbose' is 14 or higher, a function call may cause reading
uninitialized data. (Walter Briscoe)
Solution: Check for end-of-string in trunc_string().
Files: src/message.c
Patch 6.1.306
Problem: The AIX VisualAge cc compiler doesn't define __STDC__.
Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee)
Files: src/os_unix.h
Patch 6.1.307
Problem: When a double-byte character has an illegal tail byte the display
is messed up. (Yasuhiro Matsumoto)
Solution: Draw "XX" instead of the wrong character.
Files: src/screen.c
Patch 6.1.308
Problem: Can't reset the Visual mode returned by visualmode().
Solution: Use an optional argument to visualmode(). (Charles Campbell)
Files: runtime/doc/eval.txt, src/eval.c, src/normal.c,
src/structs.h
Patch 6.1.309
Problem: The tutor doesn't select German if the locale name is
"German_Germany.1252". (Joachim Hofmann)
Solution: Check for "German" in the locale name. Also check for
".ge". And include the German and Greek tutors.
Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim,
runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737
Patch 6.1.310 (depends on 6.1.307)
Problem: All double-byte characters are displayed as "XX".
Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto)
Files: src/screen.c
Patch 6.1.311 (extra)
Problem: VMS: path in window title doesn't include necessary separator.
file version doesn't always work properly with Unix.
Crashes because of memory overwrite in GUI.
Didn't always handle files with lowercase and correct path.
Solution: Fix the problems. Remove unnecessary file name translations.
(Zoltan Arpadffy)
Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c,
src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c
Patch 6.1.312
Problem: When using ":silent" debugging is also done silently.
Solution: Disable silence while at the debug prompt.
Files: src/ex_cmds2.c
Patch 6.1.313
Problem: When a ":drop fname" command is used and "fname" is open in
another window, it is also opened in the current window.
Solution: Change to the window with "fname" instead.
Don't redefine the argument list when dropping only one file.
Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c,
src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro
Patch 6.1.314 (depends on 6.1.126)
Problem: Missing backslash in "Generic Config file" syntax menu.
Solution: Insert the backslash. (Zak Beck)
Files: runtime/makemenu.vim, runtime/synmenu.vim
Patch 6.1.315 (extra)
Problem: A very long hostname may lead to an unterminated string. Failing
to obtain a hostname may result in garbage. (Walter Briscoe)
Solution: Add a NUL at the end of the hostname buffer.
Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c,
src/os_win32.c
Patch 6.1.316
Problem: When exiting with "wq" and there is a hidden buffer, after the
"file changed" dialog there is a warning for a changed buffer.
(Ajit Thakkar)
Solution: Do update the buffer timestamps when exiting.
Files: src/fileio.c
Patch 6.1.317
Problem: Closing a window may cause some of the remaining windows to be
positioned wrong if there is a mix of horizontal and vertical
splits. (Stefan Ingi Valdimarsson)
Solution: Update the frame sizes before updating the window positions.
Files: src/window.c
Patch 6.1.318
Problem: auto/pathdef.c can include wrong quotes when a compiler flag
includes quotes.
Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida)
Files: src/Makefile
Patch 6.1.319 (depends on 6.1.276)
Problem: Using "--remote +cmd file" does not execute "cmd".
Solution: Call inputrestore() in the same command line as inputsave(),
otherwise it will never get executed.
Files: src/main.c
Patch 6.1.320 (depends on 6.1.313)
Problem: When a ":drop one\ file" command is used the file "one\ file" is
opened, the backslash is not removed. (Taro Muraoka)
Solution: Handle backslashes correctly. Always set the argument list to
keep it simple.
Files: runtime/doc/windows.txt, src/ex_cmds.c
Patch 6.1.321
Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual
mode with the mouse.
Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming
Madsen)
Files: src/normal.c
Patch 6.1.322 (extra, depends on 6.1.315)
Problem: Win32: The host name is always "PC " plus the real host name.
Solution: Don't insert "PC " before the host name.
Files: src/os_win32.c
Patch 6.1.323
Problem: ":registers" doesn't stop listing for a "q" at the more prompt.
(Hari Krishna Dara)
Solution: Check for interrupt and got_int.
Files: src/ops.c, src/proto/ops.pro
Patch 6.1.324
Problem: Crash when dragging a vertical separator when <LeftMouse> is
remapped to jump to another window.
Solution: Pass the window pointer to the function doing the dragging instead
of always using the current window. (Daniel Elstner)
Also fix that starting a drag changes window focus.
Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h,
src/window.c
Patch 6.1.325
Problem: Shift-Tab is not automatically recognized in an xterm.
Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott)
Files: src/term.c
Patch 6.1.326
Problem: Using a search pattern may read from uninitialized data (Yasuhiro
Matsumoto)
Solution: Initialize pointers to NULL.
Files: src/regexp.c
Patch 6.1.327
Problem: When opening the "mbyte.txt" help file the utf-8 characters are
unreadable, because the fileencoding is forced to be latin1.
Solution: Check for utf-8 encoding first in help files. (Daniel Elstner)
Files: runtime/doc/mbyte.txt, src/fileio.c
Patch 6.1.328
Problem: Prototype for enc_canon_search() is missing.
Solution: Add the prototype. (Walter Briscoe)
Files: src/mbyte.c
Patch 6.1.329
Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %"
does not work properly. (Hari Krishna Dara)
Solution: Always escape spaces when expanding "%". Don't split argument for
<f-args> in a user command when only one argument is used.
Files: src/ex_docmd.c
Patch 6.1.330
Problem: GTK, Motif and Athena: Keypad keys produce the same code as
non-keypad keys, making it impossible to map them separately.
Solution: Use different termcap codes for the keypad keys. (Neil Bird)
Files: src/gui_gtk_x11.c, src/gui_x11.c
Patch 6.1.331
Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks
the spot where help files from plugins are to be listed.
Solution: Add a "local-additions" tag and use that to find the right spot.
Files: runtime/doc/help.txt, src/ex_cmds.c
Patch 6.1.332 (extra)
Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8.
Perl 5.8 also does not work with Cygwin and Ming.
Solution: Adjust the function calls. (Taro Muraoka)
Adjust the cyg and ming makefiles. (Dan Sharp)
Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
src/if_perl.xs
Patch 6.1.333 (extra)
Problem: Win32: Can't handle Unicode text on the clipboard.
Can't pass NUL byte, it becomes a line break. (Bruce DeVisser)
Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard)
Also support copy/paste of NUL bytes.
Files: src/os_mswin.c, src/os_win16.c src/os_win32.c
Patch 6.1.334 (extra, depends on 6.1.303)
Problem: Problem with drawing Hebrew characters.
Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto)
Files: src/gui_w32.c
Patch 6.1.335 (extra)
Problem: Failure of obtaining the cursor position and window size is
ignored.
Solution: Remove a semicolon after an "if". (Walter Briscoe)
Files: src/gui_w32.c
Patch 6.1.336 (extra)
Problem: Warning for use of function prototypes of smsg().
Solution: Define HAVE_STDARG_H. (Walter Briscoe)
Files: src/os_win32.h
Patch 6.1.337
Problem: When using "finish" in debug mode in function B() for ":call
A(B())" does not stop after B() is finished.
Solution: Increase debug_level while evaluating a function.
Files: src/ex_docmd.c
Patch 6.1.338
Problem: When using a menu that checks out the current file from Insert
mode, there is no warning for the changed file until exiting
Insert mode. (Srikanth Sankaran)
Solution: Add a check for need_check_timestamps in the Insert mode loop.
Files: src/edit.c
Patch 6.1.339
Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji
Fisher)
Solution: Return "g:var" for global variables when that is what is being
expanded. (Flemming Madsen)
Files: src/eval.c
Patch 6.1.340 (extra, depends on 6.1.332)
Problem: Win32: Can't compile the Perl interface with nmake.
Solution: Don't compare the version number as a string but as a number.
(Juergen Kraemer)
Files: src/Make_mvc.mak
Patch 6.1.341
Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a
double-wide character. For CTRL-R and CTRL-K in Insert mode the "
or ? is not displayed.
Solution: Draw the cursor in the next character cell. Display the " or ?
over the right half of the double-wide character. (Yasuhiro
Matsumoto) Also fix that cancelling a digraph doesn't redraw
a double-byte character correctly.
Files: src/edit.c, src/gui.c, src/mbyte.c
Patch 6.1.342 (depends on 6.1.341)
Problem: With 'rightleft' set typing "c" on a double-wide character causes
the cursor to be displayed one cell to the left.
Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto)
Files: src/gui.c
Patch 6.1.343 (depends on 6.1.342)
Problem: Cannot compile with the +multi_byte feature but without +rightleft.
Cannot compile without the GUI.
Solution: Fix the #ifdefs. (partly by Nam SungHyun)
Files: src/gui.c, src/mbyte.c, src/ui.c
Patch 6.1.344
Problem: When using ":silent filetype" the output is still put in the
message history. (Hari Krishna Dara)
Solution: Don't add messages in the history when ":silent" is used.
Files: src/message.c
Patch 6.1.345 (extra)
Problem: Win32: 'imdisable' doesn't work.
Solution: Make 'imdisable' work. (Yasuhiro Matsumoto)
Files: src/gui_w32.c
Patch 6.1.346
Problem: The scroll wheel can only scroll the current window.
Solution: Make the scroll wheel scroll the window that the mouse points to.
(Daniel Elstner)
Files: src/edit.c, src/gui.c, src/normal.c, src/term.c
Patch 6.1.347
Problem: When using cscope to list matching tags, the listed number is
sometimes not equal to what cscope uses. (Vihren Milev)
Solution: For cscope tags use only one table, don't give tags in the current
file a higher priority.
Files: src/tag.c
Patch 6.1.348
Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme
<tab>" results in "zellner" instead of the first entry. (Anand
Hariharan)
Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen)
Files: src/ex_getln.c
Patch 6.1.349
Problem: "vim --serverlist" when no server was ever started gives an error
message without "\n".
"vim --serverlist" doesn't exit when the X server can't be
contacted, it starts Vim unexpectedly. (Ricardo Signes)
Solution: Don't give an error when no Vim server was ever started.
Treat failing of opening the display equal to errors inside the
remote*() functions. (Flemming Madsen)
Files: src/if_xcmdsrv.c, src/main.c
Patch 6.1.350
Problem: When entering a buffer with ":bnext" for the first time, using an
autocommand to restore the last used cursor position doesn't work.
(Paolo Giarusso)
Solution: Don't use the last known cursor position of the current Vim
invocation if an autocommand changed the position.
Files: src/buffer.c
Patch 6.1.351 (depends on 6.1.349)
Problem: Crash when starting Vim the first time in an X server. (John
McGowan)
Solution: Don't call xFree() with a fixed string.
Files: src/if_xcmdsrv.c
Patch 6.1.352 (extra, depends on 6.1.345)
Problem: Win32: Crash when setting "imdisable" in _vimrc.
Solution: Don't call IME functions when imm32.dll was not loaded (yet).
Also add typecasts to avoid Compiler warnings for
ImmAssociateContext() argument.
Files: src/gui_w32.c
Patch 6.1.353 (extra, depends on 6.1.334)
Problem: Problem with drawing Arabic characters.
Solution: Don't use ETO_PDY, do use padding.
Files: src/gui_w32.c
Patch 6.1.354 (extra, depends on 6.1.333)
Problem: MS-Windows 98: Notepad can't paste text copied from Vim when
'encoding' is "utf-8".
Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron)
Files: src/os_mswin.c
Patch 6.1.355
Problem: In a regexp '\n' will never match anything in a string.
Solution: Make '\n' match a newline character.
Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c,
src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c,
src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h
Patch 6.1.356 (extra, depends on, well, eh, several others)
Problem: Compiler warnings for using convert_setup() and a few other
things.
Solution: Add typecasts.
Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c
Patch 6.1.357
Problem: CR in the quickfix window jumps to the error under the cursor, but
this doesn't work in Insert mode. (Srikanth Sankaran)
Solution: Handle CR in Insert mode in the quickfix window.
Files: src/edit.c
Patch 6.1.358
Problem: The tutor doesn't select another locale version properly.
Solution: Insert the "let" command. (Yasuhiro Matsumoto)
Files: runtime/tutor/tutor.vim
Patch 6.1.359 (extra)
Problem: Mac Carbon: Vim doesn't get focus when started from the command
line. Crash when using horizontal scroll bar.
Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
Files: src/gui_mac.c
Patch 6.1.360 (depends on 6.1.341)
Problem: In Insert mode CTRL-K ESC messes up a multi-byte character.
(Anders Helmersson)
Solution: Save all bytes of a character when displaying a character
temporarily.
Files: src/edit.c, src/proto/screen.pro, src/screen.c
Patch 6.1.361
Problem: Cannot jump to a file mark with ":'M".
Solution: Allow jumping to another file for a mark in an Ex address when it
is the only thing in the command line.
Files: src/ex_docmd.c
Patch 6.1.362
Problem: tgetent() may return zero for success. tgetflag() may return -1
for an error.
Solution: Check tgetflag() for returning a positive value. Add an autoconf
check for the value that tgetent() returns.
Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c
Patch 6.1.363
Problem: byte2line() can return one more than the number of lines.
Solution: Return -1 if the offset is one byte past the end.
Files: src/memline.c
Patch 6.1.364
Problem: That the FileChangedShell autocommand event never nests makes it
difficult to reload a file in a normal way.
Solution: Allow nesting for the FileChangedShell event but do not allow
triggering itself again.
Also avoid autocommands for the cmdline window in rare cases.
Files: src/ex_getln.c, src/fileio.c, src/window.c
Patch 6.1.365 (depends on 6.1.217)
Problem: Setting a breakpoint in a sourced file with a relative path name
doesn't work. (Servatius Brandt)
Solution: Expand the file name to a full path.
Files: src/ex_cmds2.c
Patch 6.1.366
Problem: Can't use Vim with Netbeans.
Solution: Add the Netbeans interface. Includes support for sign icons and
"-fg" and "-bg" arguments for GTK. Add the 'autochdir'
option. (Gordon Prieur, George Hernandez, Dave Weatherford)
Make it possible to display both a sign with a text and one with
line highlighting in the same line.
Add support for Agide, interface version 2.1.
Also fix that when 'iskeyword' includes '?' the "*" command
doesn't work properly on a word that includes "?" (Bill McCarthy):
Don't escape "?" to "\?" when searching forward.
Files: runtime/doc/Makefile, runtime/doc/netbeans.txt,
runtime/doc/options.txt, runtime/doc/various.txt,
src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in,
src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c,
src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h,
src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c,
src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c,
src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c,
src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro,
src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro,
src/proto/gui_x11.pro, src/proto/misc2.pro,
src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro,
src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c,
src/vim.h, src/window.c, src/workshop.c
Patch 6.1.367 (depends on 6.1.365)
Problem: Setting a breakpoint in a function doesn't work. For a sourced
file it doesn't work when symbolic links are involved. (Servatius
Brandt)
Solution: Expand the file name in the same way as do_source() does. Don't
prepend the path to a function name.
Files: src/ex_cmds2.c
Patch 6.1.368
Problem: Completion for ":map" does not include <silent> and <script>.
":mkexrc" do not save the <silent> attribute of mappings.
Solution: Add "<silent>" to the generated map commands when appropriate.
(David Elstner)
Add <silent> and <script> to command line completion.
Files: src/getchar.c
Patch 6.1.369 (extra)
Problem: VMS: Vim hangs when attempting to edit a read-only file in the
terminal. Problem with VMS filenames for quickfix.
Solution: Rewrite low level input. Remove version number from file name in
a couple more places. Fix crash after patch 6.1.362. Correct
return code for system(). (Zoltan Arpadffy, Tomas Stehlik)
Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro,
src/os_vms_conf.h, src/quickfix.c, src/ui.c
Patch 6.1.370
Problem: #ifdef nesting is unclear.
Solution: Insert spaces to indicate the nesting.
Files: src/os_unix.c
Patch 6.1.371
Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line.
Solution: Add one to the column when comparing with virtual column (Andrew
Pimlott)
Files: src/buffer.c
Patch 6.1.372
Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe)
Solution: Change int into long.
Files: src/structs.h, src/syntax.c
Patch 6.1.373
Problem: The default page header for printing is not translated.
Solution: Add _() around the two places where "Page" is used. (Mike
Williams) Translate the default value of the 'titleold' and
'printheader' options.
Files: src/ex_cmds2.c, src/option.c
Patch 6.1.374 (extra)
Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin.
Solution: Add makefile and modified resource files. (Rene de Zwart)
Also support Cygwin. (Alejandro Lopez_Valencia)
Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile,
GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc
Patch 6.1.375
Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces.
(Xiangjiang Ma)
Solution: Don't insert backslashes for spaces in a shell command.
Files: src/ex_docmd.c
Patch 6.1.376
Problem: "vim --version" and "vim --help" have a non-zero exit code.
That is unusual. (Petesea)
Solution: Use a zero exit code.
Files: src/main.c
Patch 6.1.377
Problem: Can't add words to 'lispwords' option.
Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser)
Files: src/option.c
Patch 6.1.378
Problem: When two buffer-local user commands are ambiguous, a full match
with a global user command isn't found. (Hari Krishna Dara)
Solution: Detect this situation and accept the global command.
Files: src/ex_docmd.c
Patch 6.1.379
Problem: Linux with kernel 2.2 can't use the alternate stack in combination
with threading, causes an infinite loop.
Solution: Don't use the alternate stack in this situation.
Files: src/os_unix.c
Patch 6.1.380
Problem: When 'winminheight' is zero and the quickfix window is zero lines,
entering the window doesn't make it higher. (Christian J.
Robinson)
Solution: Make sure the current window is at least one line high.
Files: src/window.c
Patch 6.1.381
Problem: When a BufWriteCmd is used and it leaves the buffer modified, the
window may still be closed. (Hari Krishna Dara)
Solution: Return FAIL from buf_write() when the buffer is still modified
after a BufWriteCmd autocommand was used.
Files: src/fileio.c
Patch 6.1.382 (extra)
Problem: Win32 GUI: When using two monitors, the code that checks/fixes the
window size and position (e.g. when a font changes) doesn't work
properly. (George Reilly)
Solution: Handle a double monitor situation. (Helmut Stiegler)
Files: src/gui_w32.c
Patch 6.1.383
Problem: The filling of the status line doesn't work properly for
multi-byte characters. (Nam SungHyun)
There is no check for going past the end of the buffer.
Solution: Properly distinguish characters and bytes. Properly check for
running out of buffer space.
Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c
Patch 6.1.384
Problem: It is not possible to find if a certain patch has been included.
(Lubomir Host)
Solution: Support using has() to check if a patch was included.
Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
src/version.c
Patch 6.1.385 (depends on 6.1.383)
Problem: Can't compile without the multi-byte feature.
Solution: Move an #ifdef. (Christian J. Robinson)
Files: src/buffer.c
Patch 6.1.386
Problem: Get duplicate tags when running ":helptags".
Solution: Do the other halve of moving a section to another help file.
Files: runtime/tagsrch.txt
Patch 6.1.387 (depends on 6.1.373)
Problem: Compiler warning for pointer cast.
Solution: Add (char_u *).
Files: src/option.c
Patch 6.1.388 (depends on 6.1.384)
Problem: Compiler warning for pointer cast.
Solution: Add (char *). Only include has_patch() when used.
Files: src/eval.c, src/version.c
Patch 6.1.389 (depends on 6.1.366)
Problem: Balloon evaluation doesn't work for GTK.
has("balloon_eval") doesn't work.
Solution: Add balloon evaluation for GTK. Also improve displaying of signs.
(Daniel Elstner)
Also make ":gui" start the netbeans connection and avoid using
netbeans functions when the connection is not open.
Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h,
src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c,
src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c,
src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro,
src/structs.h, src/syntax.c, src/ui.c, src/workshop.c
Patch 6.1.390 (depends on 6.1.389)
Problem: It's not possible to tell Vim to save and exit through the
Netbeans interface. Would still try to send balloon eval text
after the connection is closed.
Can't use Unicode characters for sign text.
Solution: Add functions "saveAndExit" and "getModified". Check for a
working connection before sending a balloonText event.
various other cleanups.
Support any character for sign text. (Daniel Elstner)
Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c,
src/netbeans.c, src/screen.c
Patch 6.1.391
Problem: ml_get() error when using virtualedit. (Charles Campbell)
Solution: Get a line from a specific window, not the current one.
Files: src/charset.c
Patch 6.1.392 (depends on 6.1.383)
Problem: Highlighting in the 'statusline' is in the wrong position when an
item is truncated. (Zak Beck)
Solution: Correct the start of 'statusline' items properly for a truncated
item.
Files: src/buffer.c
Patch 6.1.393
Problem: When compiled with Python and threads, detaching the terminal may
cause Vim to loop forever.
Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel
Elstner)
Files: src/auto/configure,, src/configure.in
Patch 6.1.394 (depends on 6.1.390)
Problem: The netbeans interface doesn't recognize multibyte glyph names.
Solution: Check the number of cells rather than bytes to decide
whether a glyph name is not a filename. (Daniel Elstner)
Files: src/netbeans.c
Patch 6.1.395 (extra, depends on 6.1.369)
Problem: VMS: OLD_VMS is never defined. Missing function prototype.
Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to
os_vms.pro. (Zoltan Arpadffy)
Files: src/Make_vms.mms, src/proto/os_vms.pro
Patch 6.1.396 (depends on 6.1.330)
Problem: Compiler warnings for using enum.
Solution: Add typecast to char_u.
Files: src/gui_gtk_x11.c, src/gui_x11.c
Patch 6.1.397 (extra)
Problem: The install program may use a wrong path for the diff command if
there is a space in the install directory path.
Solution: Use double quotes around the path if necessary. (Alejandro
Lopez-Valencia) Also use double quotes around the file name
arguments.
Files: src/dosinst.c
Patch 6.1.398
Problem: Saving the typeahead for debug mode causes trouble for a test
script. (Servatius Brandt)
Solution: Add the ":debuggreedy" command to avoid saving the typeahead.
Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c,
src/ex_docmd.c, src/proto/ex_cmds2.pro
Patch 6.1.399
Problem: Warning for unused variable.
Solution: Remove the variable two_or_more.
Files: src/ex_cmds.c
Patch 6.1.400 (depends on 6.1.381)
Problem: When a BufWriteCmd wipes out the buffer it may still be accessed.
Solution: Don't try accessing a buffer that has been wiped out.
Files: src/fileio.c
Patch 6.1.401 (extra)
Problem: Building the Win16 version with Borland 5.01 doesn't work.
"make test" doesn't work with Make_dos.mak. (Walter Briscoe)
Solution: Various fixes to the w16 makefile. (Walter Briscoe)
Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp".
Files: src/Make_w16.mak, src/testdir/Make_dos.mak
Patch 6.1.402
Problem: When evaluating a function name with curly braces, an error
is not handled consistently.
Solution: Accept the result of a curly braces expression when an
error was encountered. Skip evaluating an expression in curly
braces when skipping. (Servatius Brandt)
Files: src/eval.c
Patch 6.1.403 (extra)
Problem: MS-Windows 16 bit: compiler warnings.
Solution: Add typecasts. (Walter Briscoe)
Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c,
src/syntax.c
Patch 6.1.404 (extra)
Problem: Various small problems.
Solution: Fix comments. Various small additions, changes in indent, removal
of unused items and fixes.
Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim,
src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak,
src/Make_cyg.mak, src/Make_ming.mak, src/Makefile,
src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c,
src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c,
src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c,
src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c,
src/message.c, src/misc1.c, src/misc2.c, src/normal.c,
src/option.c, src/os_os2_cfg.h, src/os_win32.c,
src/proto/getchar.pro, src/proto/message.pro,
src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c,
src/term.c, src/testdir/test15.in, src/testdir/test15.ok,
src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile
Patch 6.1.405
Problem: A few files are missing from the toplevel Makefile.
Solution: Add the missing files.
Files: Makefile
Patch 6.1.406 (depends on 6.1.392)
Problem: When a statusline item doesn't fit arbitrary text appears.
(Christian J. Robinson)
Solution: When there is just enough room but not for the "<" truncate the
statusline item like there is no room.
Files: src/buffer.c
Patch 6.1.407
Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew
Pimlott)
Solution: Reset 'scrollbind' when opening a help window.
Files: src/ex_cmds.c
Patch 6.1.408
Problem: When 'rightleft' is set unprintable character 0x0c is displayed as
">c0<".
Solution: Reverse the text of the hex character.
Files: src/screen.c
Patch 6.1.409
Problem: Generating tags for the help doesn't work for some locales.
Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel
Elstner)
Files: runtime/doc/Makefile
Patch 6.1.410 (depends on 6.1.390)
Problem: Linking error when compiling with Netbeans but without sign icons.
(Malte Neumann)
Solution: Don't define buf_signcount() when sign icons are unavailable.
Files: src/buffer.c
Patch 6.1.411
Problem: When 'virtualedit' is set, highlighting a Visual block beyond the
end of a line may be wrong.
Solution: Correct the virtual column when the end of the line is before the
displayed part of the line. (Muraoka Taro)
Files: src/screen.c
Patch 6.1.412
Problem: When swapping terminal screens and using ":gui" to start the GUI,
the shell prompt may be after a hit-enter prompt.
Solution: Output a newline in the terminal when starting the GUI and there
was a hit-enter prompt..
Files: src/gui.c
Patch 6.1.413
Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't
work correctly.
Solution: Save the register before overwriting it and put the resulting text
on the clipboard afterwards. (Muraoka Taro)
Files: src/normal.c, src/ops.c
Patch 6.1.414 (extra, depends on 6.1.369)
Problem: VMS: Vim busy waits when waiting for input.
Solution: Delay for a short while before getting another character. (Zoltan
Arpadffy)
Files: src/os_vms.c
Patch 6.1.415
Problem: When there is a vertical split and a quickfix window, reducing the
size of the Vim window may result in a wrong window layout and a
crash.
Solution: When reducing the window size and there is not enough space for
'winfixheight' set the frame height to the larger height, so that
there is a retry while ignoring 'winfixheight'. (Yasuhiro
Matsumoto)
Files: src/window.c
Patch 6.1.416 (depends on 6.1.366)
Problem: When using the Netbeans interface, a line with a sign cannot be
changed.
Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
area.
Files: src/netbeans.c
Patch 6.1.417
Problem: Unprintable multi-byte characters are not handled correctly.
Multi-byte characters above 0xffff are displayed as another
character.
Solution: Handle unprintable multi-byte characters. Display multi-byte
characters above 0xffff with a marker. Recognize UTF-16 words and
BOM words as unprintable. (Daniel Elstner)
Files: src/charset.c, src/mbyte.c, src/screen.c
Patch 6.1.418
Problem: The result of strftime() is in the current locals. Need to
convert it to 'encoding'.
Solution: Obtain the current locale and convert the argument for strftime()
to it and the result back to 'encoding'. (Daniel Elstner)
Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c,
src/proto/mbyte.pro, src/option.c, src/os_mswin.c
Patch 6.1.419
Problem: Vim doesn't compile on AIX 5.1.
Solution: Don't define _NO_PROTO on this system. (Uribarri)
Files: src/auto/configure, src/configure.in
Patch 6.1.420 (extra)
Problem: convert_input() has an unnecessary STRLEN().
Conversion from UCS-2 to a codepage uses word count instead of
byte count.
Solution: Remove the STRLEN() call. (Daniel Elstner)
Always use byte count for string_convert().
Files: src/gui_w32.c, src/mbyte.c
Patch 6.1.421 (extra, depends on 6.1.354)
Problem: MS-Windows 9x: When putting text on the clipboard it can be in
the wrong encoding.
Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard)
Files: src/os_mswin.c
Patch 6.1.422
Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping
screens. (Neil Bird)
Solution: Set msg_didany also when sending a message to the terminal
directly.
Files: src/message.c
Patch 6.1.423
Problem: Can't find arbitrary text in help files.
Solution: Added the ":helpgrep" command.
Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
src/proto/quickfix.pro, src/quickfix.c
Patch 6.1.424 (extra)
Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show
menu items.
Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO.
(Muraoka Taro)
Files: src/Make_mvc.mak
Patch 6.1.425
Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag.
Solution: Do add the "help-tags" tag for that specific directory.
Files: src/ex_cmds.c
Patch 6.1.426
Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff)
Solution: Don't wait for the "+cmd" argument to have been edited.
Files: src/main.c
Patch 6.1.427
Problem: Several error messages for regexp patterns are not translated.
Solution: Use _() properly. (Muraoka Taro)
Files: src/regexp.c
Patch 6.1.428
Problem: FreeBSD: wait() may hang when compiled with Python support and
doing a system() call in a startup script.
Solution: Use waitpid() instead of wait() and poll every 10 msec, just like
what is done in the GUI.
Files: src/os_unix.c
Patch 6.1.429 (depends on 6.1.390)
Problem: Crash when using showmarks.vim plugin. (Charles Campbell)
Solution: Check for sign_get_text() returning a NULL pointer.
Files: src/screen.c
Patch 6.1.430
Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai)
Solution: Skip over backslashed parens.
Files: src/search.c
Patch 6.1.431
Problem: Debug commands end up in redirected text.
Solution: Disable redirection while handling debug commands.
Files: src/ex_cmds2.c
Patch 6.1.432 (depends on 6.1.375)
Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls)
Solution: Don't add backslashes, handle it like ":!cmd".
Files: src/ex_docmd.c
Patch 6.1.433
Problem: ":popup" only works for Win32.
Solution: Add ":popup" support for GTK. (Daniel Elstner)
Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c,
src/proto/gui_gtk.pro
Patch 6.1.434 (extra)
Problem: Win32: When there are more than 32767 lines, the scrollbar has a
roundoff error.
Solution: Make a click on an arrow move one line. Also move the code to
gui_w48.c, there is hardly any difference between the 16 bit and
32 bit versions. (Walter Briscoe)
Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
Patch 6.1.435
Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew
Pimlott)
Solution: Give an error message for wrong arguments of ":winsize" and
":winpos".
Files: src/ex_docmd.c
Patch 6.1.436
Problem: When a long UTF-8 file contains an illegal byte it's hard to find
out where it is. (Ron Aaron)
Solution: Add the line number to the error message.
Files: src/fileio.c
Patch 6.1.437 (extra, depends on 6.1.421)
Problem: Using multi-byte functions when they are not available.
Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
Also fix a pointer type mistake. (Walter Briscoe)
Files: src/os_mswin.c
Patch 6.1.438
Problem: When Perl has thread support Vim cannot use the Perl interface.
Solution: Add a configure check and disable Perl when it will not work.
(Aron Griffis)
Files: src/auto/configure, src/configure.in
Patch 6.1.439
Problem: Netbeans: A "create" function doesn't actually create a buffer,
following functions may fail.
Solution: Create a Vim buffer without a name when "create" is called.
(Gordon Prieur)
Files: runtime/doc/netbeans.txt, src/netbeans.c
Patch 6.1.440
Problem: The "@*" command doesn't obtain the actual contents of the
clipboard. (Hari Krishna Dara)
Solution: Obtain the clipboard text before executing the command.
Files: src/ops.c
Patch 6.1.441
Problem: "zj" and "zk" cannot be used as a motion command after an
operator. (Ralf Hetzel)
Solution: Accept these commands as motion commands.
Files: src/normal.c
Patch 6.1.442
Problem: Unicode 3.2 defines more space and punctuation characters.
Solution: Add the new characters to the Unicode tables. (Raphael Finkel)
Files: src/mbyte.c
Patch 6.1.443 (extra)
Problem: Win32: The gvimext.dll build with Borland 5.5 requires another
DLL.
Solution: Build a statically linked version by default. (Dan Sharp)
Files: GvimExt/Make_bc5.mak
Patch 6.1.444 (extra)
Problem: Win32: Enabling a build with gettext support is not consistent.
Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp)
Files: src/Make_bc5.mak, src/Make_mvc.mak
Patch 6.1.445 (extra)
Problem: DJGPP: get warning for argument of putenv()
Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe)
Files: src/os_msdos.h
Patch 6.1.446 (extra)
Problem: Win32: The MingW makefile uses a different style of arguments than
other makefiles.
Dynamic IME is not supported for Cygwin.
Solution: Use "no" and "yes" style arguments. Remove the use of the
dyn-ming.h include file. (Dan Sharp)
Do not include the ime.h file and adjust the makefile. (Alejandro
Lopez-Valencia)
Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c,
src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c
Patch 6.1.447
Problem: "make install" uses "make" directly for generating help tags.
Solution: Use $(MAKE) instead of "make". (Tim Mooney)
Files: src/Makefile
Patch 6.1.448
Problem: 'titlestring' has a default maximum width of 50 chars per item.
Solution: Remove the default maximum (also for 'statusline').
Files: src/buffer.c
Patch 6.1.449
Problem: When "1" and "a" are in 'formatoptions', auto-formatting always
moves a newly added character to the next line. (Servatius Brandt)
Solution: Don't move a single character to the next line when it was just
typed.
Files: src/edit.c
Patch 6.1.450
Problem: Termcap entry "kB" for back-tab is not recognized.
Solution: Use back-tab as the shift-tab code.
Files: src/keymap.h, src/misc2.c, src/term.c
Patch 6.1.451
Problem: GUI: When text in the find dialog contains a slash, a backslash is
inserted the next time it is opened. (Mezz)
Solution: Remove escaped backslashes and question marks. (Daniel Elstner)
Files: src/gui.c
Patch 6.1.452 (extra, after 6.1.446)
Problem: Win32: IME support doesn't work for MSVC.
Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia)
Files: src/gui_w32.c
Patch 6.1.453 (after 6.1.429)
Problem: When compiled without sign icons but with sign support, adding a
sign may cause a crash.
Solution: Check for the text sign to exist before using it. (Kamil
Burzynski)
Files: src/screen.c
Patch 6.1.454 (extra)
Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251
results in utf-8 bytes. (Perelyubskiy)
Conversion from DBCS to UCS2 does not work when 'encoding' is not
the active codepage.
Solution: Introduce enc_codepage and use it for conversion to 'encoding'
(Glenn Maynard)
Use MultiByteToWideChar() and WideCharToMultiByte() instead of
iconv(). Should do most needed conversions without iconv.dll.
Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c,
src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h
Patch 6.1.455
Problem: Some Unicode characters can be one or two character cells wide.
Solution: Add the 'ambiwidth' option to tell Vim how to display these
characters. (Jungshik Shin)
Also reset the script ID when setting an option to its default
value, so that ":verbose set" won't give wrong info.
Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h
Patch 6.1.456 (extra, after 6.1.454)
Problem: Win32: IME doesn't work.
Solution: ImmGetCompositionStringW() returns the size in bytes, not words.
(Yasuhiro Matsumoto) Also fix typecast problem.
Files: src/gui_w32.c, src/os_mswin.c
Patch 6.1.457
Problem: An empty register in viminfo causes conversion to fail.
Solution: Don't convert an empty string. (Yasuhiro Matsumoto)
Files: src/ex_cmds.c, src/mbyte.c
Patch 6.1.458
Problem: Compiler warning for pointer.
Solution: Add a typecast.
Files: src/ex_cmds.c
Patch 6.1.459 (extra)
Problem: Win32: libcall() may return an invalid pointer and cause Vim to
crash.
Solution: Add a strict check for the returned pointer. (Bruce Mellows)
Files: src/os_mswin.c
Patch 6.1.460
Problem: GTK: after scrolling the text one line with a key, clicking the
arrow of the scrollbar does not always work. (Nam SungHyun)
Solution: Always update the scrollbar thumb when the value changed, even
when it would not move, like for RISCOS. (Daniel Elstner)
Files: src/gui.c, src/gui.h
Patch 6.1.461
Problem: When a keymap is active, typing a character in Select mode does
not use it. (Benji Fisher)
Solution: Apply Insert mode mapping to the character typed in Select mode.
Files: src/normal.c
Patch 6.1.462
Problem: When autocommands wipe out a buffer, a crash may happen. (Hari
Krishna Dara)
Solution: Don't decrement the window count of a buffer before calling the
autocommands for it. When re-using the current buffer, watch out
for autocommands changing the current buffer.
Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
Patch 6.1.463
Problem: When writing a compressed file, the file name that gzip stores in
the file is the weird temporary file name. (David Rennalls)
Solution: Use the real file name when possible.
Files: runtime/plugin/gzip.vim
Patch 6.1.464
Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer)
Solution: Check for a negative index.
Files: src/syntax.c
Patch 6.1.465 (after 6.1.454)
Problem: Compile error when using cygwin.
Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia)
Undefine WIN32 after including windows.h
Files: src/mbyte.c
Patch 6.1.466
Problem: The "-f" argument is a bit obscure.
Solution: Add the "--nofork" argument. Improve the help text a bit.
Files: runtime/doc/starting.txt, src/main.c
Patch 6.1.467
Problem: Setting the window title doesn't work for Chinese.
Solution: Use an X11 function to convert text to a text property. (Kentaro
Nakazawa)
Files: src/os_unix.c
Patch 6.1.468
Problem: ":mksession" also stores folds for buffers which will not be
restored.
Solution: Only store folds for a buffer with 'buftype' empty and help files.
Files: src/ex_docmd.c
Patch 6.1.469
Problem: 'listchars' cannot contain multi-byte characters.
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
Files: src/message.c, src/option.c, src/screen.c
Patch 6.1.470 (lang)
Problem: Polish messages don't show up correctly on MS-Windows.
Solution: Convert messages to cp1250. (Mikolaj Machowski)
Also add English message translations, because it got in the way
of the patch.
Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po
Patch 6.1.471
Problem: ":jumps" output continues after pressing "q" at the more-prompt.
(Hari Krishna Dara)
Solution: Check for "got_int" being set.
Files: src/mark.c
Patch 6.1.472
Problem: When there is an authentication error when connecting to the X
server Vim exits.
Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid
the exit. Also do this in the main loop, so that when the X
server exits a Vim running in a console isn't killed.
Files: src/globals.h, src/main.c, src/os_unix.c
Patch 6.1.473
Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash.
Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto)
Files: src/if_perl.xs
Patch 6.1.474
Problem: When opening the command-line window in Ex mode it's impossible to
go back. (Pavol Juhas)
Solution: Reset "exmode_active" and restore it when the command-line window
is closed.
Files: src/ex_getln.c
Patch 6.2f.001
Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0.
Solution: Change the way the Ruby check is done. (Aron Griffis)
Files: src/auto/configure, src/configure.in
Patch 6.2f.002
Problem: The output of ":ls" doesn't show whether a buffer had read errors.
Solution: Add the "x" flag in the ":ls" output.
Files: runtime/doc/windows.txt, src/buffer.c
Patch 6.2f.003
Problem: Test49 doesn't properly test the behavior of ":catch" without an
argument.
Solution: Update test49. (Servatius Brandt)
Files: src/testdir/test49.ok, src/testdir/test49.vim
Patch 6.2f.004
Problem: "vim --version" always uses CR/LF in the output.
Solution: Omit the CR.
Files: src/message.c, src/os_unix.c
Patch 6.2f.005
Problem: Two error messages without a colon after the number.
Solution: Add the colon. (Taro Muraoka)
Files: src/if_cscope.c
Patch 6.2f.006
Problem: When saving a file takes a while and Vim regains focus this can
result in a "file changed outside of Vim" warning and ml_get()
errors. (Mike Williams)
Solution: Add the "b_saving" flag to avoid checking the timestamp while the
buffer is being saved. (Michael Schaap)
Files: src/fileio.c, src/structs.h
Patch 6.2f.007
Problem: Irix compiler complains about multiple defined symbols.
vsnprintf() is not available. (Charles Campbell)
Solution: Insert EXTERN for variables in globals.h. Change the configure
check for vsnprintf() from compiling to linking.
Files: src/auto/configure, src/configure.in, src/globals.h
Patch 6.2f.008
Problem: The Aap recipe doesn't work with Aap 0.149.
Solution: Change targetarg to TARGETARG. Update the mysign file.
Files: src/main.aap, src/mysign
Patch 6.2f.009 (extra)
Problem: Small problem when building with Borland 5.01.
Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe)
Files: src/dosinst.h
Patch 6.2f.010
Problem: Warning for missing prototypes.
Solution: Add missing prototypes. (Walter Briscoe)
Files: src/if_cscope.c
Patch 6.2f.011
Problem: The configure script doesn't work with autoconf 2.5x.
Solution: Add square brackets around a header check. (Aron Griffis)
Note: touch src/auto/configure after applying this patch.
Files: src/configure.in
Patch 6.2f.012
Problem: ":echoerr" doesn't work correctly inside try/endtry.
Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt)
Files: src/eval.c
Patch 6.2f.013 (extra)
Problem: Macintosh: Compiler warning for a trigraph.
Solution: Insert a backslash before each question mark. (Peter Cucka)
Files: src/os_mac.h
Patch 6.2f.014 (extra)
Problem: Macintosh: ex_eval is not included in the project file.
Solution: Add ex_eval. (Dany St-Amant)
Files: src/os_mac.pbproj/project.pbxproj
Patch 6.2f.015 (extra)
Problem: Win32: When changing header files not all source files involved
are recompiled.
Solution: Improve the dependency rules. (Dan Sharp)
Files: src/Make_cyg.mak, src/Make_ming.mak
Patch 6.2f.016
Problem: "vim --version > ff" on non-Unix systems results in a file with a
missing line break at the end. (Bill McCArthy)
Solution: Add a line break.
Files: src/main.c
Patch 6.2f.017
Problem: Unix: starting Vim in the background and then bringing it to the
foreground may cause the terminal settings to be wrong.
Solution: Check for tcsetattr() to return an error, retry when it does.
(Paul Tapper)
Files: src/os_unix.c
Patch 6.2f.018
Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses
one. Redefining it causes a warning message.
Solution: Undefine OK before defining it to one. (Taro Muraoka)
Files: src/vim.h
Patch 6.2f.019
Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in
curses.h.
Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE.
Files: src/ex_cmds2.c
Patch 6.2f.020
Problem: Win32: test50 produces beeps and fails with some versions of diff.
Solution: Remove empty lines and convert the output to dos fileformat.
Files: src/testdir/test50.in
Patch 6.2f.021
Problem: Running configure with "--enable-netbeans" disables Netbeans.
(Gordon Prieur)
Solution: Fix the tests in configure.in where the default is to enable a
feature. Fix that "--enable-acl" reported "yes" confusingly.
Files: src/auto/configure, src/configure.in, src/mysign
Patch 6.2f.022
Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a
hang. (Derek Wyatt)
Solution: Check for a non-empty string before and after the comma.
Files: src/option.c
Patch 6.2f.023
Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is
correct Vim still can't find the help files.
Solution: Also look for a tags file in the directory of 'helpfile'.
Files: src/tag.c
Patch 6.2f.024
Problem: When 'delcombine' is set and a character has more than two
composing characters "x" deletes them all.
Solution: Always delete only the last composing character.
Files: src/misc1.c
Patch 6.2f.025
Problem: When reading a file from stdin that has DOS line endings but a
missing end-of-line for the last line 'fileformat' becomes "unix".
(Bill McCarthy)
Solution: Don't add the missing line break when re-reading the text from the
buffer.
Files: src/fileio.c
Patch 6.2f.026
Problem: When typing new text at the command line, old composing characters
may be displayed.
Solution: Don't read composing characters from after the end of the
text to be displayed.
Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro,
src/screen.c
Patch 6.2f.027
Problem: Compiler warnings for unsigned char pointers. (Tony Leneis)
Solution: Add typecasts to char pointer.
Files: src/quickfix.c
Patch 6.2f.028
Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be
made active again. Cursor isn't updated immediately when changing
XIM activation. Japanese XIM may hang when using 'imactivatekey'.
Can't activate XIM after typing fFtT command or ":sh".
Solution: Properly set the flag that indicates the IM is active. Update the
cursor right away. Do not send a key-release event. Handle
Normal mode and running an external command differently.
(Yasuhiro Matsumoto)
Files: src/mbyte.c
Patch 6.2f.029
Problem: Mixing use of int and enum.
Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef.
Files: src/if_cscope.c, src/if_cscope.h
Patch 6.2f.030 (after 6.2f.028)
Problem: Cursor moves up when using XIM.
Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto)
Files: src/mbyte.c
Patch 6.2f.031
Problem: Crash when listing a function argument in the debugger. (Ron Aaron)
Solution: Init the name field of an argument to NULL.
Files: src/eval.c
Patch 6.2f.032
Problem: When a write fails for a ":silent!" while inside try/endtry the
BufWritePost autocommands are not triggered.
Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt)
Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim
Patch 6.2f.033
Problem: Cscope: re-entrance problem for ":cscope" command. Checking for
duplicate database didn't work well for Win95. Didn't check for
duplicate databases after an empty entry.
Solution: Don't set postponed_split too early. Remember first empty
database entry. (Sergey Khorev)
Files: src/if_cscope.c
Patch 6.2f.034
Problem: The netbeans interface cannot be used on systems without
vsnprintf(). (Tony Leneis)
Solution: Use EMSG(), EMSGN() and EMSG2() instead.
Files: src/auto/configure, src/configure.in, src/netbeans.c
Patch 6.2f.035
Problem: The configure check for the netbeans interface doesn't work if the
socket and nsl libraries are required.
Solution: Check for the socket and nsl libraries before the netbeans check.
Files: src/auto/configure, src/configure.in
Patch 6.2f.036
Problem: Moving leftwards over text with an illegal UTF-8 byte moves one
byte instead of one character.
Solution: Ignore an illegal byte after the cursor position.
Files: src/mbyte.c
Patch 6.2f.037
Problem: When receiving a Netbeans command at the hit-enter or more prompt
the screen is redrawn but Vim is still waiting at the prompt.
Solution: Quit the prompt like a CTRL-C was typed.
Files: src/netbeans.c
Patch 6.2f.038
Problem: The dependency to run autoconf causes a patch for configure.in
to run autoconf, even though the configure script was updated as
well.
Solution: Only run autoconf with "make autoconf".
Files: src/Makefile
Patch 6.2f.039
Problem: CTRL-W K makes the new top window very high.
Solution: When 'equalalways' is set equalize the window heights.
Files: src/window.c
==============================================================================
VERSION 6.3 *version-6.3*
This section is about improvements made between version 6.2 and 6.3.
This is mainly a bug-fix release. There are also a few new features.
The major number of new items is in the runtime files and translations.
Changed *changed-6.3*
-------
The intro message also displays a note about sponsoring Vim, mixed randomly
with the message about helping children in Uganda.
Included the translated menus, keymaps and tutors with the normal runtime
files. The separate "lang" archive now only contains translated messages.
Made the translated menu file names a bit more consistent. Use "latin1" for
"iso_8859-1" and "iso_8859-15".
Removed the "file_select.vim" script from the distribution. It's not more
useful than other scripts that can be downloaded from www.vim.org.
The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows
it used to be dos fileformat, but ":helptags" generates a unix format file.
Added *added-6.3*
-----
New commands:
:cNfile go to last error in previous file
:cpfile idem
:changes print the change list
:keepmarks following command keeps marks where they are
:keepjumps following command keeps jumplist and marks
:lockmarks following command keeps marks where they are
:redrawstatus force a redraw of the status line(s)
New options:
'antialias' Mac OS X: use smooth, antialiased fonts
'helplang' preferred help languages
Syntax files:
Arch inventory (Nikolai Weibull)
Calendar (Nikolai Weibull)
Ch (Wayne Cheng)
Controllable Regex Mutilator (Nikolai Weibull)
D (Jason Mills)
Desktop (Mikolaj Machowski)
Dircolors (Nikolai Weibull)
Elinks configuration (Nikolai Weibull)
FASM (Ron Aaron)
GrADS scripts (Stefan Fronzek)
Icewm menu (James Mahler)
LDIF (Zak Johnson)
Locale input, fdcc. (Dwayne Bailey)
Pinfo config (Nikolai Weibull)
Pyrex (Marco Barisione)
Relax NG Compact (Nikolai Weibull)
Slice (Morel Bodin)
VAX Macro Assembly (Tom Uijldert)
grads (Stefan Fronzek)
libao (Nikolai Weibull)
mplayer (Nikolai Weibull)
rst (Nikolai Weibull)
tcsh (Gautam Iyer)
yaml (Nikolai Weibull)
Compiler plugins:
ATT dot (Marcos Macedo)
Apple Project Builder (Alexander von Below)
Intel (David Harrison)
bdf (Nikolai Weibull)
icc (Peter Puck)
javac (Doug Kearns)
neato (Marcos Macedo)
onsgmls (Robert B. Rowsome)
perl (Christian J. Robinson)
rst (Nikolai Weibull)
se (SmartEiffel) (Doug Kearns)
tcl (Doug Kearns)
xmlwf (Robert B. Rowsome)
Filetype plugins:
Aap (Bram Moolenaar)
Ch (Wayne Cheng)
Css (Nikolai Weibull)
Pyrex (Marco Barisione)
Rst (Nikolai Weibull)
Indent scripts:
Aap (Bram Moolenaar)
Ch (Wayne Cheng)
DocBook (Nikolai Weibull)
MetaPost (Eugene Minkovskii)
Objective-C (Kazunobu Kuriyama)
Pyrex (Marco Barisione)
Rst (Nikolai Weibull)
Tcsh (Gautam Iyer)
XFree86 configuration file (Nikolai Weibull)
Zsh (Nikolai Weibull)
Keymaps:
Greek for cp1253 (Panagiotis Louridas)
Hungarian (Magyar) (Laszlo Zavaleta)
Persian-Iranian (Behnam Esfahbod)
Message translations:
Catalan (Ernest Adrogue)
Russian (Vassily Ragosin)
Swedish (Johan Svedberg)
Menu translations:
Catalan (Ernest Adrogue)
Russian (Tim Alexeevsky)
Swedish (Johan Svedberg)
Tutor translations:
Catalan (Ernest Adrogue)
Russian in cp1251 (Alexey Froloff)
Slovak in cp1250 and iso8859-2 (Lubos Celko)
Swedish (Johan Svedberg)
Korean (Kee-Won Seo)
UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as
the original, create the other Japanese tutor by conversion.
Included "russian.txt" help file. (Vassily Ragosin)
Include Encapsulated PostScript and PDF versions of the Vim logo in the extra
archive.
The help highlighting finds the highlight groups and shows them in the color
that is actually being used. (idea from Yakov Lerner)
The big Win32 version is now compiled with Ruby interface, version 1.8. For
Python version 2.3 is used. For Perl version 5.8 is used.
The "ftdetect" directory is mentioned in the documentation. The DOS install
program creates it.
Fixed *fixed-6.3*
-----
Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options
here and there. (Walter Briscoe)
The explorer plugin didn't work for double-byte 'encoding's.
Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting.
Patch 6.2.001
Problem: The ":stopinsert" command doesn't have a help tag.
Solution: Add the tag. (Antoine J. Mechelynck)
Files: runtime/doc/insert.txt, runtime/doc/tags
Patch 6.2.002
Problem: When compiled with the +multi_byte feature but without +eval,
displaying UTF-8 characters may cause a crash. (Karsten Hopp)
Solution: Also set the default for 'ambiwidth' when compiled without the
+eval feature.
Files: src/option.c
Patch 6.2.003
Problem: GTK 2: double-wide characters below 256 are not displayed
correctly.
Solution: Check the cell width for characters above 127. (Yasuhiro
Matsumoto)
Files: src/gui_gtk_x11.c
Patch 6.2.004
Problem: With a line-Visual selection at the end of the file a "p" command
puts the text one line upwards.
Solution: Detect that the last line was deleted and put forward. (Taro
Muraoka)
Files: src/normal.c
Patch 6.2.005
Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin
Marsman)
Solution: Show the dialog after creating it. (David Necas)
Files: src/gui_gtk.c
Patch 6.2.006
Problem: The Netbeans code contains an obsolete function that uses "vim61"
and sets the fall-back value for $VIMRUNTIME.
Solution: Delete the obsolete function.
Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro
Patch 6.2.007
Problem: Listing tags for Cscope doesn't always work.
Solution: Avoid using smgs_attr(). (Sergey Khorev)
Files: src/if_cscope.c
Patch 6.2.008
Problem: XIM with GTK 2: After backspacing preedit characters are wrong.
Solution: Reset the cursor position. (Yasuhiro Matsumoto)
Files: src/mbyte.c
Patch 6.2.009
Problem: Win32: The self-installing executable "Full" selection only
selects some of the items to install. (Salman Mohsin)
Solution: Change commas to spaces in between section numbers.
Files: nsis/gvim.nsi
Patch 6.2.010
Problem: When 'virtualedit' is effective and a line starts with a
multi-byte character, moving the cursor right doesn't work.
Solution: Obtain the right character to compute the column offset. (Taro
Muraoka)
Files: src/charset.c
Patch 6.2.011
Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway.
(Moshe Kaminsky)
Solution: Move the #ifdef outside of stat().
Files: src/os_unix.c
Patch 6.2.012
Problem: May hang when polling for a character.
Solution: Break the wait loop when not waiting for a character.
Files: src/os_unix.c
Patch 6.2.013 (extra)
Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1".
Solution: Change the version number to "6.2". (Ajit Thakkar)
Files: src/GvimExt/GvimExt.reg
Patch 6.2.014 (after 6.2.012)
Problem: XSMP doesn't work when using poll().
Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird)
Files: src/os_unix.c
Patch 6.2.015
Problem: The +xsmp feature is never enabled.
Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined.
(Alexey Froloff)
Files: src/feature.h
Patch 6.2.016
Problem: Using ":scscope find" with 'cscopequickfix' does not always split
the window. (Gary Johnson)
Win32: ":cscope add" could make the script that contains it
read-only until the corresponding ":cscope kill".
Errors during ":cscope add" may not be handled properly.
Solution: When using the quickfix window may need to split the window.
Avoid file handle inheritance for the script.
Check for a failed connection and/or process. (Sergey Khorev)
Files: src/ex_cmds2.c, src/if_cscope.c
Patch 6.2.017
Problem: Test11 sometimes prompts the user, because a file would have been
changed outside of Vim. (Antonio Colombo)
Solution: Add a FileChangedShell autocommand to avoid the prompt.
Files: src/testdir/test11.in
Patch 6.2.018
Problem: When using the XSMP protocol and reading from stdin Vim may wait
for a key to be pressed.
Solution: Avoid that RealWaitForChar() is used recursively.
Files: src/os_unix.c
Patch 6.2.019 (lang)
Problem: Loading the Portuguese menu causes an error message.
Solution: Join two lines. (Jose Pedro Oliveira, José de Paula)
Files: runtime/lang/menu_pt_br.vim
Patch 6.2.020
Problem: The "Syntax/Set syntax only" menu item causes an error message.
(Oyvind Holm)
Solution: Set the script-local variable in a function. (Benji Fisher)
Files: runtime/synmenu.vim
Patch 6.2.021
Problem: The user manual section on exceptions contains small mistakes.
Solution: Give a good example of an error that could be missed and other
improvements. (Servatius Brandt)
Files: runtime/doc/usr_41.txt
Patch 6.2.022 (extra)
Problem: Win32: After deleting a menu item it still appears in a tear-off
window.
Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto)
Files: src/gui_w32.c
Patch 6.2.023 (extra)
Problem: Win32: Make_ivc.mak does not clean everything.
Solution: Delete more files in the clean rule. (Walter Briscoe)
Files: src/Make_ivc.mak
Patch 6.2.024 (extra)
Problem: Win32: Compiler warnings for typecasts.
Solution: Use DWORD instead of WORD. (Walter Briscoe)
Files: src/gui_w32.c
Patch 6.2.025
Problem: Missing prototype for sigaltstack().
Solution: Add the prototype when it is not found in a header file.
Files: src/os_unix.c
Patch 6.2.026
Problem: Warning for utimes() argument.
Solution: Add a typecast.
Files: src/fileio.c
Patch 6.2.027
Problem: Warning for uninitialized variable.
Solution: Set mb_l to one when not using multi-byte characters.
Files: src/message.c
Patch 6.2.028
Problem: Cscope connection may kill Vim process and others.
Solution: Check for pid being larger than one. (Khorev Sergey)
Files: src/if_cscope.c
Patch 6.2.029
Problem: When using the remote server functionality Vim may leak memory.
(Srikanth Sankaran)
Solution: Free the result of XListProperties().
Files: src/if_xcmdsrv.c
Patch 6.2.030
Problem: Mac: Warning for not being able to use precompiled header files.
Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that
function prototypes are still found.
Files: src/os_unix.c, src/osdef.sh
Patch 6.2.031
Problem: The langmenu entry in the options window doesn't work. (Rodolfo
Lima)
With GTK 1 the ":options" command causes an error message.
(Michael Naumann)
Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for
GTK 2.
Files: runtime/optwin.vim
Patch 6.2.032
Problem: The lpc filetype is never recognized. (Shizhu Pan)
Solution: Check for g:lpc_syntax_for_c instead of the local variable
lpc_syntax_for_c. (Benji Fisher)
Files: runtime/filetype.vim
Patch 6.2.033 (extra)
Problem: Mac: Various compiler warnings.
Solution: Don't include Classic-only headers in Unix version.
Remove references to several unused variables. (Ben Fowler)
Fix double definition of DEFAULT_TERM.
Use int instead of unsigned short for pixel values, so that the
negative error values are recognized.
Files: src/gui_mac.c, src/term.c
Patch 6.2.034
Problem: Mac: Compiler warning for redefining DEFAULT_TERM.
Solution: Fix double definition of DEFAULT_TERM.
Files: src/term.c
Patch 6.2.035
Problem: Mac: Compiler warnings in Python interface.
Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka)
Files: src/if_python.c
Patch 6.2.036 (extra)
Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should
expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin)
Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher)
Files: src/os_mac.h
Patch 6.2.037
Problem: Win32: converting an encoding name to a codepage could result in
an arbitrary number.
Solution: make encname2codepage() return zero if the encoding name doesn't
contain a codepage number.
Files: src/mbyte.c
Patch 6.2.038 (extra)
Problem: Warning messages when using the MingW compiler. (Bill McCarthy)
Can't compile console version without +mouse feature.
Solution: Initialize variables, add parenthesis.
Add an #ifdef around g_nMouseClick. (Ajit Thakkar)
Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c
Patch 6.2.039 (extra)
Problem: More warning messages when using the MingW compiler.
Solution: Initialize variables. (Bill McCarthy)
Files: src/os_mswin.c
Patch 6.2.040
Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature.
Solution: Pass a non-NULL argument to IceAddConnectionWatch().
Files: src/os_unix.c
Patch 6.2.041 (extra, after 6.2.033)
Problem: Mac: Compiler warnings for conversion types, missing prototype,
missing return type.
Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add
gui_mch_init_check() prototype. Add "int" to termlib functions.
Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c.
Patch 6.2.042 (extra)
Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a
crash.
Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp)
Files: src/Make_cyg.mak
Patch 6.2.043
Problem: Compiling with both netbeans and workshop doesn't work.
Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur)
Files: src/gui_x11.c, src/integration.c, src/netbeans.c,
src/proto/netbeans.pro
Patch 6.2.044
Problem: ":au filetypedetect" gives an error for a non-existing event name,
but it's actually a non-existing group name. (Antoine Mechelynck)
Solution: Make the error message clearer.
Files: src/fileio.c
Patch 6.2.045
Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway)
Solution: Don't set the '' mark when searching for the start/end of the
current sentence/paragraph.
Files: src/mark.c
Patch 6.2.046
Problem: When evaluating an argument of a function throws an exception the
function is still called. (Hari Krishna Dara)
Solution: Don't call the function when an exception was thrown.
Files: src/eval.c
Patch 6.2.047 (extra)
Problem: Compiler warnings when using MingW. (Bill McCarthy)
Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime.
Files: src/os_win32.c
Patch 6.2.048
Problem: The Python interface doesn't compile with Python 2.3 when
dynamically loaded.
Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore)
Files: src/if_python.c
Patch 6.2.049
Problem: Using a "-range=" argument with ":command" doesn't work and
doesn't generate an error message.
Solution: Generate an error message.
Files: src/ex_docmd.c
Patch 6.2.050
Problem: Test 32 didn't work on MS-Windows.
Solution: Write the temp file in Unix fileformat. (Walter Briscoe)
Files: src/testdir/test32.in
Patch 6.2.051
Problem: When using "\=submatch(0)" in a ":s" command, line breaks become
NUL characters.
Solution: Change NL to CR characters, so that they become line breaks.
Files: src/regexp.c
Patch 6.2.052
Problem: A few messages are not translated.
Solution: Add _() to the messages. (Muraoka Taro)
Files: src/ex_cmds.c
Patch 6.2.053
Problem: Prototype for bzero() doesn't match most systems.
Solution: Use "void *" instead of "char *" and "size_t" instead of "int".
Files: src/osdef1.h.in
Patch 6.2.054
Problem: A double-byte character with a second byte that is a backslash
causes problems inside a string.
Solution: Skip over multi-byte characters in a string properly. (Yasuhiro
Matsumoto)
Files: src/eval.c
Patch 6.2.055
Problem: Using col('.') from CTRL-O in Insert mode does not return the
correct value for multi-byte characters.
Solution: Correct the cursor position when it is necessary, move to the
first byte of a multi-byte character. (Yasuhiro Matsumoto)
Files: src/edit.c
Patch 6.2.056 (extra)
Problem: Building with Sniff++ doesn't work.
Solution: Use the multi-threaded libc when needed. (Holger Ditting)
Files: src/Make_mvc.mak
Patch 6.2.057 (extra)
Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system
library. Get a warning for redefining OK. Unused variables in
os_mac.c
Solution: Define HAVE_PUTENV. Undefine OK after including curses.h.
Remove declarations for unused variables.
Files: src/os_mac.c, src/os_mac.h, src/vim.h
Patch 6.2.058
Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes
a crash.
Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro
Muraoka)
Files: src/buffer.c
Patch 6.2.059
Problem: When 'scrolloff' is a large number and listing completion results
on the command line, then executing a command that jumps close to
where the cursor was before, part of the screen is not updated.
(Yakov Lerner)
Solution: Don't skip redrawing part of the window when it was scrolled.
Files: src/screen.c
Patch 6.2.060 (extra)
Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from
the clipboard gives a lalloc(0) error. (Kriton Kyrimis)
Solution: When the string length is zero allocate one byte. Also fix that
when the length of the Unicode text is zero (conversion from
'encoding' to UCS-2 was not possible) the normal text is used.
Files: src/os_mswin.c
Patch 6.2.061
Problem: GUI: Using the left mouse button with the shift key should work
like "*" but it scrolls instead. (Martin Beller)
Solution: Don't recognize an rxvt scroll wheel event when using the GUI.
Files: src/term.c
Patch 6.2.062
Problem: When one buffer uses a syntax with "containedin" and another
buffer does not, redrawing depends on what the current buffer is.
(Brett Pershing Stahlman)
Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin
flag.
Files: src/syntax.c
Patch 6.2.063
Problem: When using custom completion end up with no matches.
Solution: Make cmd_numfiles and cmd_files local to completion to avoid that
they are overwritten when ExpandOne() is called recursively by
f_glob().
Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro,
src/misc1.c, src/structs.h, src/tag.c
Patch 6.2.064
Problem: resolve() only handles one symbolic link, need to repeat it to
resolve all of them. Then need to simplify the file name.
Solution: Make resolve() resolve all symbolic links and simplify the result.
Add simplify() to just simplify a file name. Fix that test49
doesn't work if /tmp is a symbolic link. (Servatius Brandt)
Files: runtime/doc/eval.txt, src/eval.c, src/tag.c,
src/testdir/test49.vim
Patch 6.2.065
Problem: ":windo 123" only updates other windows when entering them.
(Walter Briscoe)
Solution: Update the topline before going to the next window.
Files: src/ex_cmds2.c
Patch 6.2.066 (extra)
Problem: Ruby interface doesn't work with Ruby 1.8.0.
Solution: Change "defout" to "stdout". (Aron Griffis)
Change dynamic loading. (Taro Muraoka)
Files: src/if_ruby.c, src/Make_mvc.mak
Patch 6.2.067
Problem: When searching for a string that starts with a composing character
the command line isn't drawn properly.
Solution: Don't count the space to draw the composing character on and
adjust the cursor column after drawing the string.
Files: src/message.c
Patch 6.2.068
Problem: Events for the netbeans interface that include a file name with
special characters don't work properly.
Solution: Use nb_quote() on the file name. (Sergey Khorev)
Files: src/netbeans.c
Patch 6.2.069 (after 6.2.064)
Problem: Unused variables "limit" and "new_st" and unused label "fail" in
some situation. (Bill McCarthy)
Solution: Put the declarations inside an #ifdef. (Servatius Brandt)
Files: src/eval.c, src/tag.c
Patch 6.2.070 (after 6.2.069)
Problem: Still unused variable "new_st". (Bill McCarthy)
Solution: Move the declaration to the right block this time.
Files: src/tag.c
Patch 6.2.071
Problem: 'statusline' can only contain 50 % items. (Antony Scriven)
Solution: Allow 80 items and mention it in the docs.
Files: runtime/doc/option.txt, src/vim.h
Patch 6.2.072
Problem: When using expression folding, foldexpr() mostly returns -1 for
the previous line, which makes it difficult to write a fold
expression.
Solution: Make the level of the previous line available while still looking
for the end of a fold.
Files: src/fold.c
Patch 6.2.073
Problem: When adding detection of a specific filetype for a plugin you need
to edit "filetype.vim".
Solution: Source files from the "ftdetect" directory, so that a filetype
detection plugin only needs to be dropped in a directory.
Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt,
runtime/doc/usr_41.txt, runtime/filetype.vim
Patch 6.2.074
Problem: Warnings when compiling the Python interface. (Ajit Thakkar)
Solution: Use ANSI function declarations.
Files: src/if_python.c
Patch 6.2.075
Problem: When the temp file for writing viminfo can't be used "NULL"
appears in the error message. (Ben Lavender)
Solution: Print the original file name when there is no temp file name.
Files: src/ex_cmds.c
Patch 6.2.076
Problem: The tags listed for cscope are in the wrong order. (Johannes
Stezenbach)
Solution: Remove the reordering of tags for the current file. (Sergey
Khorev)
Files: src/if_cscope.c
Patch 6.2.077
Problem: When a user function specifies custom completion, the function
gets a zero argument instead of an empty string when there is no
word before the cursor. (Preben Guldberg)
Solution: Don't convert an empty string to a zero.
Files: src/eval.c
Patch 6.2.078
Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis)
Solution: Build Vim before running the tests.
Files: src/Makefile
Patch 6.2.079
Problem: ":w ++enc=utf-8 !cmd" doesn't work.
Solution: Check for the "++" argument before the "!".
Files: src/ex_docmd.c
Patch 6.2.080
Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in
an unmodified file doesn't clear the last line.
Solution: Call msg_clr_eos() when needed. (Michael Schroeder)
Files: src/os_unix.c
Patch 6.2.081
Problem: Problem when using a long multibyte string for the statusline.
Solution: Use the right pointer to get the cell size. (Taro Muraoka)
Files: src/buffer.c
Patch 6.2.082
Problem: Can't compile with Perl 5.8.1.
Solution: Rename "e_number" to "e_number_exp". (Sascha Blank)
Files: src/digraph.c, src/globals.h
Patch 6.2.083
Problem: When a compiler uses ^^^^ to mark a word the information is not
visible in the quickfix window. (Srikanth Sankaran)
Solution: Don't remove the indent for a line that is not recognized as an
error message.
Files: src/quickfix.c
Patch 6.2.084
Problem: "g_" in Visual mode always goes to the character after the line.
(Jean-Rene David)
Solution: Ignore the NUL at the end of the line.
Files: src/normal.c
Patch 6.2.085
Problem: ":verbose set ts" doesn't say an option was set with a "-c" or
"--cmd" argument.
Solution: Remember the option was set from a Vim argument.
Files: src/main.c, src/ex_cmds2.c, src/vim.h
Patch 6.2.086
Problem: "{" and "}" stop inside a closed fold.
Solution: Only stop once inside a closed fold. (Stephen Riehm)
Files: src/search.c
Patch 6.2.087
Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with
":bnext". (Yakov Lerner)
Solution: Put up a dialog for a changed file when 'confirm' is set in more
situations.
Files: src/buffer.c, src/ex_cmds.c
Patch 6.2.088
Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if
the match is less than 'sidescrolloff' off from the side of the
window. (Roland Stahn)
Solution: Set 'sidescrolloff' to zero while displaying the match.
Files: src/search.c
Patch 6.2.089
Problem: ":set isk+=" adds a comma. (Mark Waggoner)
Solution: Don't add a comma when the added value is empty.
Files: src/option.c
Patch 6.2.090 (extra)
Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy)
Solution: Put an #ifdef around the #pragmas.
Files: src/os_win32.c
Patch 6.2.091
Problem: When an autocommand is triggered when a file is dropped on Vim and
it produces output, messages from a following command may be
scrolled unexpectedly. (David Rennalls)
Solution: Save and restore msg_scroll in handle_drop().
Files: src/ex_docmd.c
Patch 6.2.092
Problem: Invalid items appear in the help file tags. (Antonio Colombo)
Solution: Only accept tags with white space before the first "*".
Files: runtime/doc/doctags.c, src/ex_cmds.c
Patch 6.2.093
Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau)
Solution: Check the second command character for an "o", not the third.
Files: src/menu.c
Patch 6.2.094
Problem: Can't compile with GTK and tiny features.
Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined.
Do not try to split the window.
Files: src/ex_docmd.c, src/misc2.c
Patch 6.2.095
Problem: The message "Cannot go to buffer x" is confusing for ":buf 6".
(Frans Englich)
Solution: Make it "Buffer x does not exist".
Files: src/buffer.c
Patch 6.2.096
Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus
Bosau)
Solution: Put zero bytes on the clipboard for an empty string.
Files: src/ops.c
Patch 6.2.097
Problem: Setting or resetting 'insertmode' in a BufEnter autocommand
doesn't always have immediate effect. (Nagger)
Solution: When 'insertmode' is set, set need_start_insertmode, when it's
reset set stop_insert_mode.
Files: src/option.c
Patch 6.2.098 (after 6.2.097)
Problem: Can't build Vim with tiny features. (Christian J. Robinson)
Solution: Declare stop_insert_mode always.
Files: src/edit.c, src/globals.h
Patch 6.2.099 (extra)
Problem: Test 49 fails. (Mikolaj Machowski)
Solution: The Polish translation must not change "E116" to "R116".
Files: src/po/pl.po
Patch 6.2.100
Problem: "make proto" fails when compiled with the Perl interface.
Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option.
Files: src/auto/configure, src/configure.in
Patch 6.2.101
Problem: When using syntax folding, opening a file slows down a lot when
it's size increases by only 20%. (Gary Johnson)
Solution: The array with cached syntax states is leaking entries. After
cleaning up the list obtain the current entry again.
Files: src/syntax.c
Patch 6.2.102
Problem: The macros equal() and CR conflict with a Carbon header file.
Solution: Rename equal() to equalpos(). Rename CR to CAR.
Do this in the non-extra files only.
Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c,
src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c,
src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c,
src/gui_motif.c, src/macros.h, src/mark.c, src/message.c,
src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c,
src/regexp.c, src/search.c, src/ui.c, src/workshop.c
Patch 6.2.103 (extra)
Problem: The macros equal() and CR conflict with a Carbon header file.
Solution: Rename equal() to equalpos(). Rename CR to CAR.
Do this in the extra files only.
Files: src/gui_photon.c, src/gui_w48.c
Patch 6.2.104
Problem: Unmatched braces in the table with options.
Solution: Move the "}," outside of the #ifdef. (Yakov Lerner)
Files: src/option.c
Patch 6.2.105
Problem: When the cursor is past the end of the line when calling
get_c_indent() a crash might occur.
Solution: Don't look past the end of the line. (NJ Verenini)
Files: src/misc1.c
Patch 6.2.106
Problem: Tag searching gets stuck on a very long line in the tags file.
Solution: When skipping back to search the first matching tag remember the
offset where searching started looking for a line break.
Files: src/tag.c
Patch 6.2.107 (extra)
Problem: The NetBeans interface cannot be used on Win32.
Solution: Add support for the NetBeans for Win32. Add support for reading
XPM files on Win32. Also fixes that a sign icon with a space in
the file name did not work through the NetBeans interface.
(Sergey Khorev)
Also: avoid repeating error messages when the connection is lost.
Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak,
src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h,
src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c,
src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h,
src/proto/gui_beval.pro, src/proto/gui_w32.pro,
src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h,
src/xpm_w32.c, src/xpm_w32.h
Patch 6.2.108
Problem: Crash when giving a message about ignoring case in a tag. (Manfred
Kuehn)
Solution: Use a longer buffer for the message.
Files: src/tag.c
Patch 6.2.109
Problem: Compiler warnings with various Amiga compilers.
Solution: Add typecast, prototypes, et al. that are also useful for other
systems. (Flavio Stanchina)
Files: src/eval.c, src/ops.c
Patch 6.2.110
Problem: When $LANG includes the encoding, a menu without an encoding name
is not found.
Solution: Also look for a menu file without any encoding.
Files: runtime/menu.vim
Patch 6.2.111
Problem: Encoding "cp1251" is not recognized.
Solution: Add "cp1251" to the table of encodings. (Alexey Froloff)
Files: src/mbyte.c
Patch 6.2.112
Problem: After applying patches test32 fails. (Antonio Colombo)
Solution: Have "make clean" in the testdir delete *.rej and *.orig files.
Use this when doing "make clean" in the src directory.
Files: src/Makefile, src/testdir/Makefile
Patch 6.2.113
Problem: Using ":startinsert" after "$" works like "a" instead of "i".
(Ajit Thakkar)
Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit().
Files: src/edit.c, src/ex_docmd.c
Patch 6.2.114
Problem: When stdout is piped through "tee", the size of the screen may not
be correct.
Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and
stdout isn't.
Files: src/os_unix.c
Patch 6.2.115 (extra)
Problem: Compiler warnings with various Amiga compilers.
Solution: Add typecast, prototypes, et al. Those changes that are
Amiga-specific. (Flavio Stanchina)
Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h,
src/vim.h
Patch 6.2.116 (extra)
Problem: German keyboard with Numlock set different from system startup
causes problems.
Solution: Ignore keys with code 0xff. (Helmut Stiegler)
Files: src/gui_w48.c
Patch 6.2.117
Problem: Breakpoints in loops of sourced files and functions are not
detected. (Hari Krishna Dara)
Solution: Check for breakpoints when using lines that were previously read.
(Servatius Brandt)
Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro,
src/proto/ex_cmds2.pro
Patch 6.2.118 (extra)
Problem: Mac: Compiling is done in a non-standard way.
Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI"
to Makefile and configure. (Eric Kow)
Move a few prototypes from os_mac.pro to gui_mac.pro.
Files: src/Makefile, src/auto/configure, src/configure.in,
src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c,
src/proto/gui_mac.pro, src/proto/os_mac.pro,
src/infplist.xml, src/vim.h
Patch 6.2.119 (after 6.2.107)
Problem: When packing the MS-Windows archives a few files are missing.
(Guopeng Wen)
Solution: Add gui_beval.* to the list of generic source files.
Files: Makefile
Patch 6.2.120
Problem: Win32 GUI: The console dialogs are not supported on MS-Windows,
disabling the 'c' flag of 'guioptions'. (Servatius Brandt)
Solution: Define FEAT_CON_DIALOG also for GUI-only builds.
Files: src/feature.h
Patch 6.2.121 (after 6.2.118)
Problem: Not all make programs support "+=". (Charles Campbell)
Solution: Use a normal assignment.
Files: src/Makefile
Patch 6.2.122 (after 6.2.119)
Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen)
Solution: Use a simpler pattern. Add the Aap recipe for the maze program
and a clean version of the source code.
Files: Makefile, runtime/macros/maze/Makefile,
runtime/macros/maze/README.txt, runtime/macros/maze/main.aap,
runtime/macros/maze/mazeclean.c
Patch 6.2.123 (after 6.2.118)
Problem: Running configure fails. (Tony Leneis)
Solution: Change "==" to "=" for a test.
Files: src/auto/configure, src/configure.in
Patch 6.2.124 (after 6.2.121)(extra)
Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim
directly it can't find the runtime files. (Emily Jackson)
Using GNU constructs causes warnings with other make programs.
(Ronald Schild)
Solution: Use another name for the M4FLAGS variable.
Don't remove "Vim.app" from the path.
Update the explanation for compiling on the Mac. (Eric Kow)
Don't use $(shell ) and $(addprefix ).
Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c
Patch 6.2.125 (after 6.2.107)
Problem: The "winsock2.h" file isn't always available.
Solution: Don't include this header file.
Files: src/netbeans.c
Patch 6.2.126
Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception.
Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set
in _OnChar().
Files: src/misc1.c
Patch 6.2.127 (extra)
Problem: Win32 console: Typing CTRL-C doesn't throw an exception.
Solution: Set got_int immediately when CTRL-C is typed, don't wait for
mch_breakcheck() being called.
Files: src/os_win32.c
Patch 6.2.128 (after 6.2.118)
Problem: src/auto/configure is not consistent with src/configure.in.
Solution: Use the newly generated configure script.
Files: src/auto/configure
Patch 6.2.129
Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible.
(Yasuhiro Matsumoto)
Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn'
and similar things.
Files: src/edit.c
Patch 6.2.130 (extra)
Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes
the screen to be cleared. (Michael A. Mangino)
Solution: Don't clear the screen when exiting and 'restorescreen' isn't set.
Files: src/os_win32.c
Patch 6.2.131 (extra)
Problem: Win32: Font handles are leaked.
Solution: Free italic, bold and bold-italic handles before overwriting them.
(Michael Wookey)
Files: src/gui_w48.c
Patch 6.2.132 (extra)
Problem: Win32: console version doesn't work on latest Windows Server 2003.
Solution: Copy 12000 instead of 15000 cells at a time to avoid running out
of memory.
Files: src/os_win32.c
Patch 6.2.133
Problem: When starting the GUI a bogus error message about 'imactivatekey'
may be given.
Solution: Only check the value of 'imactivatekey' when the GUI is running.
Files: src/gui.c, src/option.c
Patch 6.2.134 (extra)
Problem: Win32: When scrolling parts of the window are redrawn when this
isn't necessary.
Solution: Only invalidate parts of the window when they are obscured by
other windows. (Michael Wookey)
Files: src/gui_w48.c
Patch 6.2.135
Problem: An item <> in the ":command" argument is interpreted as <args>.
Solution: Avoid that <> is recognized as <args>.
Files: src/ex_docmd.c
Patch 6.2.136
Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't
exist. (Miroslaw Dobrzanski-Neumann)
Solution: Set 'fileencoding' to the specified encoding when editing a file
that does not exist.
Files: src/fileio.c
Patch 6.2.137
Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%"
when using the matchit plugin.
Solution: Store the command to be repeated. This is restricted to
single-line commands.
Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h
Patch 6.2.138 (extra)
Problem: Compilation problem on VMS with dynamic buffer on the stack.
Solution: Read one byte less than the size of the buffer, so that we can
check for the string length without an extra buffer.
Files: src/os_vms.c
Patch 6.2.139
Problem: Code is repeated in the two Perl files.
Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h.
Also fix a problem with generating prototypes.
Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h
Patch 6.2.140 (after 6.2.121)
Problem: Mac: Compiling with Python and Perl doesn't work.
Solution: Adjust the configure check for Python to use "-framework Python"
for Python 2.3 on Mac OS/X.
Move "-ldl" after "DynaLoader.a" in the link command.
Change "perllibs" to "PERL_LIBS".
Files: src/auto/configure, src/configure.in, src/config.mk.in
Patch 6.2.141 (extra)
Problem: Mac: The b_FSSpec field is sometimes unused.
Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h
Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h
Patch 6.2.142 (after 6.2.124)
Problem: Mac: building without GUI through configure doesn't work.
When the system is slow, unpacking the resource file takes too
long.
Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it
in the Makefile.
Add a configure option to skip Darwin detection.
Use a Python script to unpack the resources to avoid a race
condition. (Taro Muraoka)
Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
src/dehqx.py, src/vim.h
Patch 6.2.143
Problem: Using "K" on Visually selected text doesn't work if it ends in
a multi-byte character.
Solution: Include all the bytes of the last character. (Taro Muraoka)
Files: src/normal.c
Patch 6.2.144
Problem: When "g:html_use_css" is set the HTML header generated by the
2html script is wrong.
Solution: Add the header after adding HREF for links.
Also use ":normal!" instead of ":normal" to avoid mappings
getting in the way.
Files: runtime/syntax/2html.vim
Patch 6.2.145 (after 6.2.139)
Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz)
Solution: Only undefine "bool" on Mac OS.
Files: src/vim.h
Patch 6.2.146
Problem: On some systems the prototype for iconv() is wrong, causing a
warning message.
Solution: Use a cast (void *) to avoid the warning. (Charles Campbell)
Files: src/fileio.c, src/mbyte.c
Patch 6.2.147
Problem: ":s/pat/\=col('.')" always replaces with "1".
Solution: Set the cursor to the start of the match before substituting.
(Helmut Stiegler)
Files: src/ex_cmds.c
Patch 6.2.148
Problem: Can't break an Insert into several undoable parts.
Solution: Add the CTRL-G u command.
Files: runtime/doc/insert.txt, src/edit.c
Patch 6.2.149
Problem: When the cursor is on a line past 21,474,748 the indicated
percentage of the position is invalid. With that many lines
"100%" causes a negative cursor line number, resulting in a crash.
(Daniel Goujot)
Solution: Divide by 100 instead of multiplying. Avoid overflow when
computing the line number for "100%".
Files: src/buffer.c, src/ex_cmds2.c, src/normal.c
Patch 6.2.150
Problem: When doing "vim - < file" lines are broken at NUL chars.
(Daniel Goujot)
Solution: Change NL characters back to NUL when reading from the temp
buffer.
Files: src/fileio.c
Patch 6.2.151
Problem: When doing "vim --remote +startinsert file" some commands are
inserted as text. (Klaus Bosau)
Solution: Put all the init commands in one Ex line, not using a <CR>, so
that Insert mode isn't started too early.
Files: src/main.c
Patch 6.2.152
Problem: The cursor() function doesn't reset the column offset for
'virtualedit'.
Solution: Reset the offset to zero. (Helmut Stiegler)
Files: src/eval.c
Patch 6.2.153
Problem: Win32: ":lang german" doesn't use German messages.
Solution: Add a table to translate the Win32 language names to two-letter
language codes.
Files: src/ex_cmds2.c
Patch 6.2.154
Problem: Python bails out when giving a warning message. (Eugene
Minkovskii)
Solution: Set sys.argv[] to an empty string.
Files: src/if_python.c
Patch 6.2.155
Problem: Win32: Using ":tjump www" in a help file gives two results.
(Dave Roberts)
Solution: Ignore differences between slashes and backslashes when checking
for identical tag matches.
Files: src/tag.c
Patch 6.2.156 (after 6.2.125)
Problem: Win32: Netbeans fails to build, EINTR is not defined.
Solution: Redefine EINTR to WSAEINTR. (Mike Williams)
Files: src/netbeans.c
Patch 6.2.157
Problem: Using "%p" in 'errorformat' gives a column number that is too
high.
Solution: Set the flag to use the number as a virtual column. (Lefteris
Koutsoloukas)
Files: src/quickfix.c
Patch 6.2.158
Problem: The sed command on Solaris and HPUX doesn't work for a line that
doesn't end in a newline.
Solution: Add a newline when feeding text to sed. (Mark Waggoner)
Files: src/configure.in, src/auto/configure
Patch 6.2.159
Problem: When using expression folding and 'foldopen' is "undo" an undo
command doesn't always open the fold.
Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'.
(Taro Muraoka)
Files: src/fold.c
Patch 6.2.160
Problem: When 'virtualedit' is "all" and 'selection' is "exclusive",
selecting a double-width character below a single-width character
may cause a crash.
Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka)
Files: src/normal.c
Patch 6.2.161 (extra)
Problem: VMS: Missing header file. Reading input busy loops.
Solution: Include termdef.h. Avoid the use of a wait function in
vms_read(). (Frank Ries)
Files: src/os_unix.h, src/os_vms.c
Patch 6.2.162
Problem: ":redraw" doesn't always display the text that includes the cursor
position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii)
Solution: Call update_topline() before redrawing.
Files: src/ex_docmd.c
Patch 6.2.163
Problem: "make install" may also copy AAPDIR directories.
Solution: Delete AAPDIR directories, just like CVS directories.
Files: src/Makefile
Patch 6.2.164 (after 6.2.144)
Problem: When "g:html_use_css" is set the HTML header generated by the
2html script is still wrong.
Solution: Search for a string instead of jumping to a fixed line number.
Go to the start of the line before inserting the header.
(Jess Thrysoee)
Files: runtime/syntax/2html.vim
Patch 6.2.165
Problem: The configure checks hang when using autoconf 2.57.
Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis)
Files: src/auto/configure, src/configure.in
Patch 6.2.166
Problem: When $GZIP contains "-N" editing compressed files doesn't work
properly.
Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind
Holm)
Files: runtime/plugin/gzip.vim
Patch 6.2.167
Problem: The Python interface leaks memory when assigning lines to a
buffer. (Sergey Khorev)
Solution: Do not copy the line when calling ml_replace().
Files: src/if_python.c
Patch 6.2.168
Problem: Python interface: There is no way to get the indices from a range
object.
Solution: Add the "start" and "end" attributes. (Maurice S. Barnum)
Files: src/if_python.c, runtime/doc/if_pyth.txt
Patch 6.2.169
Problem: The prototype for _Xmblen() appears in a recent XFree86 header
file, causing a warning for our prototype. (Hisashi T Fujinaka)
Solution: Move the prototype to an osdef file, so that it's filtered out.
Files: src/mbyte.c, src/osdef2.h.in
Patch 6.2.170
Problem: When using Sun WorkShop the current directory isn't changed to
where the file is.
Solution: Set the 'autochdir' option when using WorkShop. And avoid using
the basename when 'autochdir' is not set.
Files: src/gui_x11.c, src/ex_cmds.c
Patch 6.2.171 (after 6.2.163)
Problem: The "-or" argument of "find" doesn't work for SysV systems.
Solution: Use "-o" instead. (Gordon Prieur)
Files: src/Makefile
Patch 6.2.172 (after 6.2.169)
Problem: The prototype for _Xmblen() still causes trouble.
Solution: Include the X11 header file that defines the prototype.
Files: src/osdef2.h.in, src/osdef.sh
Patch 6.2.173 (extra)
Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other
compilers than MSVC.
Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp)
Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak
Patch 6.2.174
Problem: After the ":intro" message only a mouse click in the last line
gets past the hit-return prompt.
Solution: Accept a click at or below the hit-return prompt.
Files: src/gui.c, src/message.c
Patch 6.2.175
Problem: Changing 'backupext' in a *WritePre autocommand doesn't work.
(William Natter)
Solution: Move the use of p_bex to after executing the *WritePre
autocommands. Also avoids reading allocated memory after freeing.
Files: src/fileio.c
Patch 6.2.176
Problem: Accented characters in translated help files are not handled
correctly. (Fabien Vayssiere)
Solution: Include "192-255" in 'iskeyword' for the help window.
Files: src/ex_cmds.c
Patch 6.2.177 (extra)
Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob
Retter) Arbitrary commands are being executed. (Neil Bird)
Solution: Put a backslash in front of every space in the file name.
(Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL.
Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc
Patch 6.2.178
Problem: People who don't know how to exit Vim try pressing CTRL-C.
Solution: Give a message how to exit Vim when CTRL-C is pressed and it
doesn't cancel anything.
Files: src/normal.c
Patch 6.2.179 (extra)
Problem: The en_gb messages file isn't found on case sensitive systems.
Solution: Rename en_gb to en_GB. (Mike Williams)
Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak,
src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt
Patch 6.2.180
Problem: Compiling with GTK2 on Win32 doesn't work.
Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula)
Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c
Patch 6.2.181 (after 6.2.171)
Problem: The "-o" argument of "find" has lower priority than the implied
"and" with "-print".
Solution: Add parenthesis around the "-o" expression. (Gordon Prieur)
Files: src/Makefile
Patch 6.2.182 (after 6.2.094)
Problem: Compilation with tiny features fails because of missing
get_past_head() function.
Solution: Adjust the #ifdef for get_past_head().
Files: src/misc1.c
Patch 6.2.183 (after 6.2.178)
Problem: Warning for char/unsigned char mixup.
Solution: Use MSG() instead of msg(). (Tony Leneis)
Files: src/normal.c
Patch 6.2.184
Problem: With 'formatoptions' set to "1aw" inserting text may cause the
paragraph to be ended. (Alan Schmitt)
Solution: Temporarily add an extra space to make the paragraph continue
after moving the word after the cursor to the next line.
Also format when pressing Esc.
Files: src/edit.c, src/normal.c, src/proto/edit.pro
Patch 6.2.185
Problem: Restoring a session with zero-height windows does not work
properly. (Charles Campbell)
Solution: Accept a zero argument to ":resize" as intended. Add a window
number argument to ":resize" to be able to set the size of other
windows, because the current window cannot be zero-height.
Fix the explorer plugin to avoid changing the window sizes. Add
the winrestcmd() function for this.
Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c,
src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c
Patch 6.2.186 (after 6.2.185)
Problem: Documentation file eval.txt contains examples without indent.
Solution: Insert the indent. Also fix other mistakes.
Files: runtime/doc/eval.txt
Patch 6.2.187
Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle)
Solution: Initialize variables where needed. Free allocated memory to avoid
leaks. Fix comparing tags to avoid reading past allocated memory.
Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c
Patch 6.2.188 (extra)
Problem: MS-Windows: Multi-byte characters in a filename cause trouble for
the window title.
Solution: Return when the wide function for setting the title did its work.
Files: src/gui_w48.c
Patch 6.2.189
Problem: When setting 'viminfo' after editing a new buffer its marks are
not stored. (Keith Roberts)
Solution: Set the "b_marks_read" flag when skipping to read marks from the
viminfo file.
Files: src/fileio.c
Patch 6.2.190
Problem: When editing a compressed files, marks are lost.
Solution: Add the ":lockmarks" modifier and use it in the gzip plugin.
Make exists() also check for command modifiers, so that the
existence of ":lockmarks" can be checked for.
Also add ":keepmarks" to avoid that marks are deleted when
filtering text.
When deleting lines put marks 'A - 'Z and '0 - '9 at the first
deleted line instead of clearing the mark. They were kept in the
viminfo file anyway.
Avoid that the gzip plugin puts deleted text in registers.
Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c,
src/ex_docmd.c, src/mark.c, src/structs.h
Patch 6.2.191
Problem: The intro message is outdated. Information about sponsoring and
registering is missing.
Solution: Show info about sponsoring and registering Vim in the intro
message now and then. Add help file about sponsoring.
Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags,
runtime/menu.vim, src/version.c
Patch 6.2.192
Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonathan
Hankins)
Solution: Avoid calling change_indent() recursively.
Files: src/edit.c
Patch 6.2.193
Problem: When recalling a search pattern from the history from a ":s,a/c,"
command the '/' ends the search string. (JC van Winkel)
Solution: Store the separator character with the history entries. Escape
characters when needed, replace the old separator with the new one.
Also fixes that recalling a "/" search for a "?" command messes up
trailing flags.
Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro,
src/search.c, src/tag.c
Patch 6.2.194 (after 6.2.068)
Problem: For NetBeans, instead of writing the file and sending an event
about it, tell NetBeans to write the file.
Solution: Add the "save" command, "netbeansBuffer" command and
"buttonRelease" event to the netbeans protocol. Updated the
interface to version 2.2. (Gordon Prieur)
Also: open a fold when the cursor has been positioned.
Also: fix memory leak, free result of nb_quote().
Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c,
src/normal.c, src/proto/netbeans.pro, src/structs.h
Patch 6.2.195 (after 6.2.190)
Problem: Compiling fails for missing CPO_REMMARK symbol.
Solution: Add the patch I forgot to include...
Files: src/option.h
Patch 6.2.196 (after 6.2.191)
Problem: Rebuilding the documentation doesn't use the sponsor.txt file.
Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson)
Files: runtime/doc/Makefile
Patch 6.2.197
Problem: It is not possible to force a redraw of status lines. (Gary
Johnson)
Solution: Add the ":redrawstatus" command.
Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
src/screen.c
Patch 6.2.198
Problem: A few messages are not translated. (Ernest Adrogue)
Solution: Mark the messages to be translated.
Files: src/ex_cmds.c
Patch 6.2.199 (after 6.2.194)
Problem: Vim doesn't work perfectly well with NetBeans.
Solution: When NetBeans saves the file, reset the timestamp to avoid "file
changed" warnings. Close a buffer in a proper way. Don't try
giving a debug message with an invalid pointer. Send a
newDotAndMark message when needed. Report a change by the "r"
command to NetBeans. (Gordon Prieur)
Files: src/netbeans.c, src/normal.c
Patch 6.2.200
Problem: When recovering a file, 'fileformat' is always the default, thus
writing the file may result in differences. (Penelope Fudd)
Solution: Before recovering the file try reading the original file to obtain
the values of 'fileformat', 'fileencoding', etc.
Files: src/memline.c
Patch 6.2.201
Problem: When 'autowriteall' is set ":qall" still refuses to exit if there
is a modified buffer. (Antoine Mechelynck)
Solution: Attempt writing modified buffers as intended.
Files: src/ex_cmds2.c
Patch 6.2.202
Problem: Filetype names of CHILL and ch script are confusing.
Solution: Rename "ch" to "chill" and "chscript" to "ch".
Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim
runtime/syntax/ch.vim, runtime/syntax/chill.vim
Patch 6.2.203
Problem: With characterwise text that has more than one line, "3P" works
wrong. "3p" has the same problem. There also is a display
problem. (Daniel Goujot)
Solution: Perform characterwise puts with a count in the right position.
Files: src/ops.c
Patch 6.2.204 (after 6.2.086)
Problem: "]]" in a file with closed folds moves to the end of the file.
(Nam SungHyun)
Solution: Find one position in each closed fold, then move to after the fold.
Files: src/search.c
Patch 6.2.205 (extra)
Problem: MS-Windows: When the taskbar is at the left or top of the screen,
the Vim window placement is wrong.
Solution: Compute the size and position of the window correctly. (Taro
Muraoka)
Files: src/gui_w32.c, src/gui_w48.c
Patch 6.2.206
Problem: Multi-byte characters cannot be used as hotkeys in a console
dialog. (Mattias Erkisson)
Solution: Handle multi-byte characters properly. Also put () or [] around
default hotkeys.
Files: src/message.c, src/macros.h
Patch 6.2.207
Problem: When 'encoding' is a multi-byte encoding, expanding an
abbreviation that starts where insertion started results in
characters before the insertion to be deleted. (Xiangjiang Ma)
Solution: Stop searching leftwards for the start of the word at the position
where insertion started.
Files: src/getchar.c
Patch 6.2.208
Problem: When using fold markers, three lines in a row have the start
marker and deleting the first one with "dd", a nested fold is not
deleted. (Kamil Burzynski)
Using marker folding, a level 1 fold doesn't stop when it is
followed by "{{{2", starting a level 2 fold.
Solution: Don't stop updating folds at the end of a change when the nesting
level of folds is larger than the fold level.
Correctly compute the number of folds that start at "{{{2".
Also avoid a crash for a NULL pointer.
Files: src/fold.c
Patch 6.2.209
Problem: A bogus fold is created when using "P" while the cursor is in the
middle of a closed fold. (Kamil Burzynski)
Solution: Correct the line number where marks are modified for closed folds.
Files: src/ops.c
Patch 6.2.210 (extra)
Problem: Mac OSX: antialiased fonts are not supported.
Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX
10.2 and later. (Peter Cucka)
Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c
Patch 6.2.211 (extra)
Problem: Code for handling file dropped on Vim is duplicated.
Solution: Move the common code to gui_handle_drop().
Add code to drop the files in the window under the cursor.
Support drag&drop on the Macintosh. (Taro Muraoka)
When dropping a directory name edit that directory (using the
explorer plugin)
Fix that changing directory with Shift pressed didn't work for
relative path names.
Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c,
src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro
Patch 6.2.212 (after 6.2.199)
Problem: NetBeans: Replacing with a count is not handled correctly.
Solution: Move reporting the change outside of the loop for the count.
(Gordon Prieur)
Files: src/normal.c
Patch 6.2.213 (after 6.2.208)
Problem: Using marker folding, "{{{1" doesn't start a new fold when already
at fold level 1. (Servatius Brandt)
Solution: Correctly compute the number of folds that start at "{{{1".
Files: src/fold.c
Patch 6.2.214 (after 6.2.211) (extra)
Problem: Warning for an unused variable.
Solution: Delete the declaration. (Bill McCarthy)
Files: src/gui_w48.c
Patch 6.2.215
Problem: NetBeans: problems saving an unmodified file.
Solution: Add isNetbeansModified() function. Disable netbeans_unmodified().
(Gordon Prieur)
Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
runtime/doc/netbeans.txt, runtime/doc/tags
Patch 6.2.216 (after 6.2.206)
Problem: Multi-byte characters still cannot be used as hotkeys in a console
dialog. (Mattias Erkisson)
Solution: Make get_keystroke() handle multi-byte characters.
Files: src/misc1.c
Patch 6.2.217
Problem: GTK: setting the title doesn't always work correctly.
Solution: Invoke gui_mch_settitle(). (Tomas Stehlik)
Files: src/os_unix.c
Patch 6.2.218
Problem: Warning for function without prototype.
Solution: Add argument types to the msgCB field of the BalloonEval struct.
Files: src/gui_beval.h
Patch 6.2.219
Problem: Syntax highlighting hangs on an empty match of an item with a
nextgroup. (Charles Campbell)
Solution: Remember that the item has already matched and don't match it
again at the same position.
Files: src/syntax.c
Patch 6.2.220
Problem: When a Vim server runs in a console a remote command isn't handled
before a key is typed. (Joshua Neuheisel)
Solution: Don't try reading more input when a client-server command has been
received.
Files: src/os_unix.c
Patch 6.2.221
Problem: No file name completion for ":cscope add".
Solution: Add the XFILE flag to ":cscope". (Gary Johnson)
Files: src/ex_cmds.h
Patch 6.2.222
Problem: Using "--remote" several times on a row only opens some of the
files. (Dany St-Amant)
Solution: Don't delete all typeahead when the server receives a command from
a client, only delete typed characters.
Files: src/main.c
Patch 6.2.223
Problem: Cscope: Avoid a hang when cscope waits for a response while Vim
waits for a prompt.
Error messages from Cscope mess up the display.
Solution: Detect the hit-enter message and respond by sending a return
character to cscope. (Gary Johnson)
Use EMSG() and strerror() when possible. Replace perror() with
PERROR() everywhere, add emsg3().
Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c,
src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h
Patch 6.2.224
Problem: Mac: Can't compile with small features. (Axel Kielhorn)
Solution: Also include vim_chdirfile() when compiling for the Mac.
Files: src/misc2.c
Patch 6.2.225
Problem: NetBeans: Reported modified state isn't exactly right.
Solution: Report a file being modified in the NetBeans way.
Files: src/netbeans.c
Patch 6.2.226 (after 6.2.107) (extra)
Problem: The "ws2-32.lib" file isn't always available.
Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp)
Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak
Patch 6.2.227 (extra)
Problem: The "PC" symbol is defined but not used anywhere.
Solution: Remove "-DPC" from the makefiles.
Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak,
src/Make_ming.mak
Patch 6.2.228
Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim
back to Normal mode. Same for CTRL-\ CTRL-G.
Solution: Check if the character typed after a command is CTRL-\ and obtain
another character to check for CTRL-N or CTRL-G, waiting up to
'ttimeoutlen' msec.
Files: src/normal.c
Patch 6.2.229
Problem: ":function" with a name that uses magic curlies does not work
inside a function. (Servatius Brandt)
Solution: Skip over the function name properly.
Files: src/eval.c
Patch 6.2.230 (extra)
Problem: Win32: a complex pattern may cause a crash.
Solution: Use __try and __except to catch the exception and handle it
gracefully, when possible. Add myresetstkoflw() to reset the
stack overflow. (Benjamin Peterson)
Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h,
src/proto/os_win32.pro, src/regexp.c
Patch 6.2.231 (after 6.2.046)
Problem: Various problems when an error exception is raised from within a
builtin function. When it is invoked while evaluating arguments
to a function following arguments are still evaluated. When
invoked with a line range it will be called for remaining lines.
Solution: Update "force_abort" also after calling a builtin function, so
that aborting() always returns the correct value. (Servatius
Brandt)
Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro,
src/testdir/test49.ok, src/testdir/test49.vim
Patch 6.2.232
Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene
Minkovskii)
Solution: Disallow executing a Python command recursively and give an error
message.
Files: src/if_python.c
Patch 6.2.233
Problem: On Mac OSX adding -pthread for Python only generates a warning.
The test for Perl threads rejects Perl while it's OK.
Tcl doesn't work at all.
The test for Ruby fails if ruby exists but there are no header
files. The Ruby library isn't detected properly
Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's
not the 5.5 threads.
Use the Tcl framework for header files. For Ruby rename cWindow
to cVimWindow to avoid a name clash. (Ken Scott)
Only enable Ruby when the header files can be found. Use "-lruby"
instead of "libruby.a" when it can't be found.
Files: src/auto/configure, src/configure.in, src/if_ruby.c
Patch 6.2.234
Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command
line.
Solution: Flush output before removing scrollbars. Also do this in other
places where gui_mch_*() functions are invoked.
Files: src/ex_cmds.c, src/option.c, src/window.c
Patch 6.2.235 (extra)
Problem: Win32: Cursor isn't removed with a 25x80 window and doing:
"1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto)
Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines().
Files: src/gui_w48.c
Patch 6.2.236
Problem: Using gvim with Agide gives "connection lost" error messages.
Solution: Only give the "connection lost" message when the buffer was once
owned by NetBeans.
Files: src/netbeans.c, src/structs.h
Patch 6.2.237
Problem: GTK 2: Thai text is drawn wrong. It changes when moving the
cursor over it.
Solution: Disable the shaping engine, it moves combining characters to a
wrong position and combines characters, while drawing the cursor
doesn't combine characters.
Files: src/gui_gtk_x11.c
Patch 6.2.238 (after 6.2.231)
Problem: ":function" does not work inside a while loop. (Servatius Brandt)
Solution: Add get_while_line() and pass it to do_one_cmd() when in a while
loop, so that all lines are stored and can be used again when
repeating the loop.
Adjust test 49 so that it checks for the fixed problems.
(Servatius Brandt)
Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro,
src/testdir/test49.in, src/testdir/test49.ok,
src/testdir/test49.vim
Patch 6.2.239
Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar
often doesn't scroll. (Moshe Kaminsky)
Solution: Hackish solution: Detect that the button was pressed from the
mouse pointer position.
Files: src/gui_gtk.c, src/gui.c
Patch 6.2.240
Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with
other systems. Need to explicitly use "icon=name". (Ned Konz,
Christian J. Robinson)
Solution: Search for icons like done for Motif.
Files: src/gui_gtk.c
Patch 6.2.241
Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no
sense. Buttons are sometimes greyed-out. (Jeremy Messenger)
Solution: Remove the code to sync the two dialogs. Adjust the code to react
to an empty search string to also work for GTK2. (David Necas)
Files: src/gui_gtk.c
Patch 6.2.242
Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim
arguments.
Solution: Don't let the Gnome code remove the "--help" argument and don't
exit at the end of usage().
Files: src/gui_gtk_x11.c, src/main.c
Patch 6.2.243 (extra)
Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt.
Solution: Move the dropped files to the global argument list, instead of the
usual drop handling. (Eckehard Berns)
Files: src/main.c, src/gui_mac.c
Patch 6.2.244
Problem: ':echo "\xf7"' displays the illegal byte as if it was a character
and leaves "cho" after it.
Solution: When checking the length of a UTF-8 byte sequence and it's shorter
than the number of bytes available, assume it's an illegal byte.
Files: src/mbyte.c
Patch 6.2.245
Problem: Completion doesn't work for ":keepmarks" and ":lockmarks".
Solution: Add the command modifiers to the table of commands. (Madoka
Machitani)
Files: src/ex_cmds.h, src/ex_docmd.c
Patch 6.2.246
Problem: Mac: Starting Vim from Finder doesn't show error messages.
Solution: Recognize that output is being displayed by stderr being
"/dev/console". (Eckehard Berns)
Files: src/main.c, src/message.c
Patch 6.2.247 (after 6.2.193)
Problem: When using a search pattern from the viminfo file the last
character is replaced with a '/'.
Solution: Store the separator character in the right place. (Kelvin Lee)
Files: src/ex_getln.c
Patch 6.2.248
Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be
distinguished.
Solution: Detect that XIM changes the keypad key to the expected ASCII
character and fall back to the non-XIM code. (Neil Bird)
Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro
Patch 6.2.249
Problem: ":cnext" moves to the error in the next file, but there is no
method to go back.
Solution: Add ":cpfile" and ":cNfile".
Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt
Patch 6.2.250
Problem: Memory leaks when using signs. (Xavier de Gaye)
Solution: Delete the list of signs when unloading a buffer.
Files: src/buffer.c
Patch 6.2.251
Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall)
Order of buttons is reversed for GTK 2.2.4. Don't always get
focus back after handling a dialog.
Solution: Make buttons appear vertically when desired. Reverse the order in
which buttons are added to a dialog. Move mouse pointer around
when the dialog is done and we don't have focus.
Files: src/gui_gtk.c
Patch 6.2.252 (extra, after 6.2.243)
Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for
Mac OS classic.
Solution: Remove the #ifdef from the code that fixes it for Mac OSX.
Files: src/gui_mac.c
Patch 6.2.253
Problem: When 'tagstack' is not set a ":tag id" command does not work after
a ":tjump" command.
Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran)
Files: src/tag.c
Patch 6.2.254
Problem: May run out of space for error messages.
Solution: Keep room for two more bytes.
Files: src/quickfix.c
Patch 6.2.255
Problem: GTK: A new item in the popup menu is put just after instead of
just before the right item. (Gabriel Zachmann)
Solution: Don't increment the menu item index.
Files: src/gui_gtk.c
Patch 6.2.256
Problem: Mac: "macroman" encoding isn't recognized, need to use
"8bit-macroman".
Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns)
Files: src/mbyte.c
Patch 6.2.257 (after 6.2.250)
Problem: Signs are deleted for ":bdel", but they could still be useful.
Solution: Delete signs only for ":bwipe".
Files: src/buffer.c
Patch 6.2.258
Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar)
Solution: Loop over the popup menus for all modes.
Files: src/menu.c
Patch 6.2.259
Problem: If there are messages when exiting, on the console there is a
hit-enter prompt while the message can be read; in the GUI the
message may not be visible.
Solution: Use the hit-enter prompt when there is an error message from
writing the viminfo file or autocommands, or when there is any
output in the GUI and 'verbose' is set. Don't use a hit-enter
prompt for the non-GUI version unless there is an error message.
Files: src/main.c
Patch 6.2.260
Problem: GTK 2: Can't quit a dialog with <Esc>.
GTK 1 and 2: <Enter> always gives a result, even when the default
button has been disabled.
Solution: Handle these keys explicitly. When no default button is specified
use the first one (works mostly like it was before).
Files: src/gui_gtk.c
Patch 6.2.261
Problem: When 'autoindent' and 'cindent' are set and a line is recognized
as a comment, starting a new line won't do 'cindent' formatting.
Solution: Also use 'cindent' formatting for lines that are used as a
comment. (Servatius Brandt)
Files: src/misc1.c
Patch 6.2.262
Problem: 1 CTRL-W w beeps, even though going to the first window is
possible. (Charles Campbell)
Solution: Don't beep.
Files: src/window.c
Patch 6.2.263
Problem: Lint warnings: Duplicate function prototypes, duplicate macros,
use of a zero character instead of a zero pointer, unused
variable. Clearing allocated memory in a complicated way.
Solution: Remove the function prototypes from farsi.h. Remove the
duplicated lines in keymap.h. Change getvcol() argument from NUL
to NULL. Remove the "col" variable in regmatch(). Use
lalloc_clear() instead of lalloc(). (Walter Briscoe)
Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c
Patch 6.2.264 (after 6.2.247)
Problem: Writing past allocated memory when using a command line from the
viminfo file.
Solution: Store the NUL in the right place.
Files: src/ex_getln.c
Patch 6.2.265
Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val"
works.
Solution: Do allow changing options in the sandbox, but not the ones that
can't be changed from a modeline.
Files: src/ex_cmds.h, src/options.c
Patch 6.2.266
Problem: When redirecting output and using ":silent", line breaks are
missing from output of ":map" and ":tselect". Alignment of
columns is wrong.
Solution: Insert a line break where "msg_didout" was tested. Update msg_col
when redirecting and using ":silent".
Files: src/getchar.c, src/message.c
Patch 6.2.267 (extra)
Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte)
Solution: Use the "name" item from the menu instead of the "dname" item.
Files: src/gui_w32.c, src/menu.c
Patch 6.2.268
Problem: GUI: When changing 'guioptions' part of the window may be off
screen. (Randall Morris)
Solution: Adjust the size of the window when changing 'guioptions', but only
when adding something.
Files: src/gui.c
Patch 6.2.269
Problem: Diff mode does not highlight a change in a combining character.
(Raphael Finkel)
Solution: Make diff_find_change() multi-byte aware: find the start byte of
a character that contains a change.
Files: src/diff.c
Patch 6.2.270
Problem: Completion in Insert mode, then repeating with ".", doesn't handle
composing characters in the completed text. (Raphael Finkel)
Solution: Don't skip over composing chars when adding completed text to the
redo buffer.
Files: src/getchar.c
Patch 6.2.271
Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with
an argument or environment variable is not secure.
Solution: Wait after initializing the log. Allow passing the socket info
through a file. (Gordon Prieur)
Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c
Patch 6.2.272
Problem: When the "po" directory exists, but "po/Makefile" doesn't,
building fails. Make loops when the "po" directory has been
deleted after running configure.
Solution: Check for the "po/Makefile" instead of just the "po" directory.
Check this again before trying to run make with that Makefile.
Files: src/auto/configure, src/configure.in, src/Makefile
Patch 6.2.273
Problem: Changing the sort order in an explorer window for an empty
directory produces error messages. (Doug Kearns)
Solution: When an invalid range is used for a function that is not going to
be executed, skip over the arguments anyway.
Files: src/eval.c
Patch 6.2.274
Problem: ":print" skips empty lines when 'list' is set and there is no
"eol" in 'listchars'. (Yakov Lerner)
Solution: Skip outputting a space for an empty line only when 'list' is set
and the end-of-line character is not empty.
Files: src/message.c
Patch 6.2.275 (extra, after 6.2.267)
Problem: Warning for uninitialized variable when using gcc.
Solution: Initialize "acLen" to zero. (Bill McCarthy)
Files: src/gui_w32.c
Patch 6.2.276
Problem: ":echo X()" does not put a line break between the message that X()
displays and the text that X() returns. (Yakov Lerner)
Solution: Invoke msg_start() after evaluating the argument.
Files: src/eval.c
Patch 6.2.277
Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive
loop. (Robert Nowotniak)
Solution: Restore "msg_list" before returning from do_cmdline().
Files: src/ex_docmd.c
Patch 6.2.278
Problem: Using "much" instead of "many".
Solution: Correct the error message.
Files: src/eval.c
Patch 6.2.279
Problem: There is no default choice for a confirm() dialog, now that it is
possible not to have a default choice.
Solution: Make the first choice the default choice.
Files: runtime/doc/eval.txt, src/eval.c
Patch 6.2.280
Problem: "do" and ":diffget" don't work in the first line and the last line
of a buffer. (Aron Griffis)
Solution: Find a difference above the first line and below the last line.
Also fix a few display updating bugs.
Files: src/diff.c, src/fold.c, src/move.c
Patch 6.2.281
Problem: PostScript printing doesn't work on Mac OS X 10.3.2.
Solution: Adjust the header file. (Mike Williams)
Files: runtime/print/prolog.ps
Patch 6.2.282
Problem: When using CTRL-O to go back to a help file, it becomes listed.
(Andrew Nesbit)
Using ":tag" or ":tjump" in a help file doesn't keep the help file
settings (e.g. for 'iskeyword').
Solution: Don't mark a buffer as listed when its help flag is set. Put all
the option settings for a help buffer together in do_ecmd().
Files: src/ex_cmds.c
Patch 6.2.283
Problem: The "local additions" in help.txt are used without conversion,
causing latin1 characters showing up wrong when 'enc' is utf-8.
(Antoine J. Mechelynck)
Solution: Convert the text to 'encoding'.
Files: src/ex_cmds.c
Patch 6.2.284
Problem: Listing a function puts "endfunction" in the message history.
Typing "q" at the more prompt isn't handled correctly when listing
variables and functions. (Hara Krishna Dara)
Solution: Don't use msg() for "endfunction". Check "got_int" regularly.
Files: src/eval.c
Patch 6.2.285
Problem: GUI: In a single wrapped line that fills the window, "gj" in the
last screen line leaves the cursor behind. (Ivan Tarasov)
Solution: Undraw the cursor before scrolling the text up.
Files: src/gui.c
Patch 6.2.286
Problem: When trying to rename a file and it doesn't exist, the destination
file is deleted anyway. (Luc Deux)
Solution: Don't delete the destination when the source doesn't exist. (Taro
Muraoka)
Files: src/fileio.c
Patch 6.2.287 (after 6.2.264)
Problem: Duplicate lines are added to the viminfo file.
Solution: Compare with existing entries without an offset. Also fixes
reading very long history lines from viminfo.
Files: src/ex_getln.c
Patch 6.2.288 (extra)
Problem: Mac: An external program can't be interrupted.
Solution: Don't use the 'c' key for backspace. (Eckehard Berns)
Files: src/gui_mac.c
Patch 6.2.289
Problem: Compiling the Tcl interface with thread support causes ":make" to
fail. (Juergen Salk)
Solution: Use $TCL_DEFS from the Tcl config script to obtain the required
compile flags for using the thread library.
Files: src/auto/configure, src/configure.in
Patch 6.2.290 (extra)
Problem: Mac: The mousewheel doesn't work.
Solution: Add mousewheel support. Also fix updating the thumb after a drag
and then using another way to scroll. (Eckehard Berns)
Files: src/gui_mac.c
Patch 6.2.291 (extra)
Problem: Mac: the plus button and close button don't do anything.
Solution: Make the plus button maximize the window and the close button
close Vim. (Eckehard Berns)
Files: src/gui.c, src/gui_mac.c
Patch 6.2.292
Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows
the last argument repeated.
Solution: Set argv[argc] to NULL. (Michael Jarvis)
Files: src/gui_x11.c
Patch 6.2.293 (after 6.2.255)
Problem: GTK: A new item in a menu is put before the tearoff item.
Solution: Do increment the menu item index for non-popup menu items.
Files: src/gui_gtk.c
Patch 6.2.294 (extra)
Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape.
Solution: Handle all modifiers for these keys. (Eckehard Berns)
Files: src/gui_mac.c
Patch 6.2.295
Problem: When in debug mode, receiving a message from a remote client
causes a crash. Evaluating an expression causes Vim to wait for
"cont" to be typed, without a prompt. (Hari Krishna Dara)
Solution: Disable debugging when evaluating an expression for a client.
(Michael Geddes) Don't try reading into the typeahead buffer when
it may have been filled in another way.
Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c,
src/misc1.c, src/proto/getchar.pro, src/proto/main.pro,
src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h,
src/os_unix.c, src/ui.c
Patch 6.2.296 (extra)
Problem: Same as 6.2.295.
Solution: Extra files for patch 6.2.295.
Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c,
src/proto/os_amiga.pro, src/proto/os_msdos.pro,
src/proto/os_riscos.pro, src/proto/os_win32.pro
Patch 6.2.297 (after 6.2.232)
Problem: Cannot invoke Python commands recursively.
Solution: With Python 2.3 and later use the available mechanisms to invoke
Python recursively. (Matthew Mueller)
Files: src/if_python.c
Patch 6.2.298
Problem: A change always sets the '. mark and an insert always sets the '^
mark, even when this is not wanted.
Cannot go back to the position of older changes without undoing
those changes.
Solution: Add the ":keepjumps" command modifier.
Add the "g," and "g;" commands.
Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c,
src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro,
src/structs.h, src/undo.c
Patch 6.2.299
Problem: Can only use one language for help files.
Solution: Add the 'helplang' option to select the preferred language(s).
Make ":helptags" generate tags files for all languages.
Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile,
src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c,
src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro,
src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h,
src/tag.c, src/vim.h
Patch 6.2.300 (after 6.2.297)
Problem: Cannot build Python interface with Python 2.2 or earlier.
Solution: Add a semicolon.
Files: src/if_python.c
Patch 6.2.301
Problem: The "select all" item from the popup menu doesn't work for Select
mode.
Solution: Use the same commands as for the "Edit.select all" menu.
(Benji Fisher)
Files: runtime/menu.vim
Patch 6.2.302
Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji
Fisher)
Solution: Restore "restart_edit" after an insert command that was not typed.
Avoid waiting with displaying the mode when there is no text to be
overwritten.
Fix that "CTRL-O ." sometimes doesn't put the cursor back after
the end-of-line. Only reset the flag that CTRL-O was used past
the end of the line when restarting editing. Update "o_lnum"
number when inserting text and "o_eol" is set.
Files: src/edit.c, src/normal.c
Patch 6.2.303
Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode.
Solution: Convert the character from Unicode to 'encoding' when needed.
Use the Unicode digraphs for the Macintosh. (Eckehard Berns)
Files: src/digraph.c
Patch 6.2.304 (extra, after 6.2.256)
Problem: Mac: No proper support for 'encoding'. Conversion without iconv()
is not possible.
Solution: Convert input from 'termencoding' to 'encoding'. Add
mac_string_convert(). Convert text for the clipboard when needed.
(Eckehard Berns)
Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h
Patch 6.2.305 (after 6.2.300)
Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit
Thakkar)
Solution: Add two functions to the dynamic loading feature.
Files: src/if_python.c
Patch 6.2.306 (extra)
Problem: Win32: Building console version with BCC 5.5 gives a warning for
get_cmd_args() prototype missing. (Ajit Thakkar)
Solution: Don't build os_w32exe.c for the console version.
Files: src/Make_bc5.mak
Patch 6.2.307 (after 6.2.299)
Problem: Installing help files fails.
Solution: Expand wildcards for translated help files separately.
Files: src/Makefile
Patch 6.2.308
Problem: Not all systems have "whoami", resulting in an empty user name.
Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce)
Files: src/Makefile
Patch 6.2.309
Problem: "3grx" waits for two ESC to be typed. (Jens Paulus)
Solution: Append the ESC to the stuff buffer when redoing the "gr" insert.
Files: src/edit.c
Patch 6.2.310
Problem: When setting 'undolevels' to -1, making a change and setting
'undolevels' to a positive value an "undo list corrupt" error
occurs. (Madoka Machitani)
Solution: Sync undo before changing 'undolevels'.
Files: src/option.c
Patch 6.2.311 (after 6.2.298)
Problem: When making several changes in one line the changelist grows
quickly. There is no error message for reaching the end of the
changelist. Reading changelist marks from viminfo doesn't work
properly.
Solution: Only make a new entry in the changelist when making a change in
another line or 'textwidth' columns away. Add E662, E663 and E664
error messages. Put a changelist mark from viminfo one position
before the end.
Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c
Patch 6.2.312 (after 6.2.299)
Problem: "make install" clears the screen when installing the docs.
Solution: Execute ":helptags" in silent mode.
Files: runtime/doc/Makefile
Patch 6.2.313
Problem: When opening folds in a diff window, other diff windows no longer
show the same text.
Solution: Sync the folds in diff windows.
Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro,
src/proto/move.pro
Patch 6.2.314
Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise
selection and using "$". (Moritz Orbach)
Solution: Don't try replacing chars in a line that has no characters in the
block.
Files: src/ops.c
Patch 6.2.315
Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set
stops Vim from returning to Insert mode.
Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode'
is set.
Files: src/normal.c
Patch 6.2.316 (after 6.2.312)
Problem: "make install" tries connecting to the X server when installing
the docs. (Stephen Thomas)
Solution: Add the "-X" argument.
Files: runtime/doc/Makefile
Patch 6.2.317 (after 6.2.313)
Problem: When using "zi" in a diff window, other diff windows are not
adjusted. (Richard Curnow)
Solution: Distribute a change in 'foldenable' to other diff windows.
Files: src/normal.c
Patch 6.2.318
Problem: When compiling with _THREAD_SAFE external commands don't echo
typed characters.
Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at
TMODE_COOK.
Files: src/os_unix.c
Patch 6.2.319 (extra)
Problem: Building gvimext.dll with Mingw doesn't work properly.
Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro
Lopez-Valencia)
Files: src/GvimExt/Make_ming.mak
Patch 6.2.320
Problem: Win32: Adding and removing the menubar resizes the Vim window.
(Jonathon Merz)
Solution: Don't let a resize event change 'lines' unexpectedly.
Files: src/gui.c
Patch 6.2.321
Problem: When using modeless selection, wrapping lines are not recognized,
a line break is always inserted.
Solution: Add LineWraps[] to remember whether a line wrapped or not.
Files: src/globals.h, src/screen.c, src/ui.c
Patch 6.2.322
Problem: With 'showcmd' set, after typing "dd" the next "d" may not be
displayed. (Jens Paulus)
Solution: Redraw the command line after updating the screen, scrolling may
have set "clear_cmdline".
Files: src/screen.c
Patch 6.2.323
Problem: Win32: expanding "~/file" in an autocommand pattern results in
backslashes, while this pattern should only have forward slashes.
Solution: Make expanding environment variables respect 'shellslash' and set
p_ssl when expanding the autocommand pattern.
Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro
Patch 6.2.324 (extra)
Problem: Win32: when "vimrun.exe" has a path with white space, such as
"Program Files", executing external commands may fail.
Solution: Put double quotes around the path to "vimrun".
Files: src/os_win32.c
Patch 6.2.325
Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't
work, the space is used to separate file names. (Brett Stahlman)
Solution: Escape the space with a backslash.
Files: src/option.c
Patch 6.2.326
Problem: ":windo set syntax=foo" doesn't work. (Tim Chase)
Solution: Don't change 'eventignore' for ":windo".
Files: src/ex_cmds2.c
Patch 6.2.327
Problem: When formatting text all marks in the formatted lines are lost.
A word is not joined to a previous line when this would be
possible. (Mikolaj Machowski)
Solution: Try to keep marks in the same position as much as possible.
Also keep mark positions when joining lines.
Start auto-formatting in the previous line when appropriate.
Add the "gw" operator: Like "gq" but keep the cursor where it is.
Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c,
src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro,
src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h
Patch 6.2.328
Problem: XIM with GTK: It is hard to understand what XIM is doing.
Solution: Add xim_log() to log XIM events and help with debugging.
Files: src/mbyte.c
Patch 6.2.329
Problem: ":=" does not work Vi compatible. (Antony Scriven)
Solution: Print the last line number instead of the current line. Don't
print "line".
Files: src/ex_cmds.h, src/ex_docmd.c
Patch 6.2.330 (extra, after 6.2.267)
Problem: Win32: Crash when tearing off a menu.
Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto)
Files: src/gui_w32.c
Patch 6.2.331 (after 6.2.327)
Problem: "gwap" leaves cursor in the wrong line.
Solution: Remember the cursor position before finding the ends of the
paragraph.
Files: src/normal.c, src/ops.c, src/structs.h
Patch 6.2.332 (extra)
Problem: Amiga: Compile error for string array. Compiling the Amiga GUI
doesn't work.
Solution: Use a char pointer instead. Move including "gui_amiga.h" to after
including "vim.h". Add a semicolon. (Ali Akcaagac)
Files: src/gui_amiga.c, src/os_amiga.c
Patch 6.2.333 (extra)
Problem: Win32: printing doesn't work with specified font charset.
Solution: Use the specified font charset. (Mike Williams)
Files: src/os_mswin.c
Patch 6.2.334 (extra, after 6.2.296)
Problem: Win32: evaluating client expression in debug mode requires typing
"cont".
Solution: Use eval_client_expr_to_string().
Files: src/os_mswin.c
Patch 6.2.335
Problem: The ":sign" command cannot be followed by another command.
Solution: Add TRLBAR to the command flags.
Files: src/ex_cmds.h
Patch 6.2.336 (after 6.2.327)
Problem: Mixup of items in an expression.
Solution: Move "== NUL" to the right spot.
Files: src/edit.c
Patch 6.2.337 (extra, after 6.2.319)
Problem: Building gvimext.dll with Mingw doesn't work properly.
Solution: Fix white space and other details. (Alejandro Lopez-Valencia)
Files: src/GvimExt/Make_ming.mak
Patch 6.2.338 (after 6.2.331)
Problem: When undoing "gwap" the cursor is always put at the start of the
paragraph. When undoing auto-formatting the cursor may be above
the change.
Solution: Try to move the cursor back to where it was or to the first line
that actually changed.
Files: src/normal.c, src/ops.c, src/undo.c
Patch 6.2.339
Problem: Crash when using many different highlight groups and a User
highlight group. (Juergen Kraemer)
Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify
use of the highlight group table.
Files: src/syntax.c
Patch 6.2.340
Problem: ":reg" doesn't show the actual contents of the clipboard if it was
filled outside of Vim. (Stuart MacDonald)
Solution: Obtain the clipboard contents before displaying it.
Files: src/ops.c
Patch 6.2.341 (extra)
Problem: Win32: When the path to diff.exe contains a space and using the
vimrc generated by the install program, diff mode does not work.
Solution: Put the first double quote just before the space instead of before
the path.
Files: src/dosinst.c
Patch 6.2.342 (extra)
Problem: Win32: macros are not always used as expected.
Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro
Lopez-Valencia)
Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak
Patch 6.2.343
Problem: Title doesn't work with some window managers. X11: Setting the
text property for the window title is hard coded.
Solution: Use STRING format when possible. Use the UTF-8 function when
it's available and 'encoding' is utf-8. Use
XStringListToTextProperty(). Do the same for the icon name.
(David Harrison)
Files: src/os_unix.c
Patch 6.2.344 (extra, after 6.2.337)
Problem: Cannot build gvimext.dll with MingW on Linux.
Solution: Add support for cross compiling. (Ronald Hoellwarth)
Files: src/GvimExt/Make_ming.mak
Patch 6.2.345 (extra)
Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set
properly or there are illegal bytes.
Solution: Use a raw byte format. Always set it when copying. When pasting
use the raw format if 'encoding' is the same.
Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h
Patch 6.2.346
Problem: Win32 console: After using "chcp" Vim does not detect the
different codepage.
Solution: Use GetConsoleCP() and when it is different from GetACP() set
'termencoding'.
Files: src/option.c
Patch 6.2.347 (extra)
Problem: Win32: XP theme support is missing.
Solution: Add a manifest and refer to it from the resource file. (Michael
Wookey)
Files: Makefile, src/gvim.exe.mnf, src/vim.rc
Patch 6.2.348
Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname'
default value doesn't contain parenthesis.
Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name
arguments.
Files: src/main.c
Patch 6.2.349
Problem: Finding a match using 'matchpairs' may cause a crash.
'matchpairs' is not used for 'showmatch'.
Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for
'showmatch'. (Dave Olszewkski)
Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c
Patch 6.2.350
Problem: Not enough info about startup timing.
Solution: Add a few more TIME_MSG() calls.
Files: src/main.c
Patch 6.2.351
Problem: Win32: $HOME may be set to %USERPROFILE%.
Solution: Expand %VAR% at the start of $HOME.
Files: src/misc1.c
Patch 6.2.352 (after 6.2.335)
Problem: ":sign texthl=||" does not work.
Solution: Remove the check for a following command. Give an error for extra
arguments after "buff=1".
Files: src/ex_cmds.c, src/ex_cmds.h
Patch 6.2.353 (extra)
Problem: Win32: Supported server name length is limited. (Paul Bossi)
Solution: Use MAX_PATH instead of 25.
Files: src/os_mswin.c
Patch 6.2.354 (extra)
Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden
when typing but is not redisplayed when moved. (Markx Hackmann)
Solution: Handle the pointer move event for the tear-off menu window.
Files: src/gui_w32.c
Patch 6.2.355 (after 6.2.303)
Problem: When 'encoding' is a double-byte encoding different from the
current locale, the width of characters is not correct.
Possible failure and memory leak when using iconv, Unicode
digraphs and 'encoding' is not "utf-8".
Solution: Use iconv() to discover the actual width of characters.
Add the "vc_fail" field to vimconv_T.
When converting a digraph, init the conversion type to NONE and
cleanup afterwards.
Files: src/digraph.c, src/mbyte.c, src/structs.h
Patch 6.2.356
Problem: When using a double-byte 'encoding' and 'selection' is
"exclusive", "vy" only yanks the first byte of a double-byte
character. (Xiangjiang Ma)
Solution: Correct the column in unadjust_for_sel() to position on the first
byte, always include the trailing byte of the selected text.
Files: src/normal.c
Patch 6.2.357 (after 6.2.321)
Problem: Memory leak when resizing the Vim window.
Solution: Free the LineWraps array.
Files: src/screen.c
Patch 6.2.358 (after 6.2.299)
Problem: Memory leak when using ":help" and the language doesn't match.
Solution: Free the array with matching tags.
Files: src/ex_cmds.c
Patch 6.2.359 (after 6.2.352)
Problem: Compiler warning for long to int type cast.
Solution: Add explicit type cast.
Files: src/ex_cmds.c
Patch 6.2.360
Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol
Juhas)
Solution: Recompute w_virtcol if the target column was not reached.
Files: src/misc2.c
Patch 6.2.361 (extra)
Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while
pressing Esc, then release Alt: Cursor disappears and typing a key
causes a beep. (Hari Krishna Dara)
Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled.
Files: src/gui_w32.c
Patch 6.2.362 (extra, after 6.2.347)
Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts)
Solution: Change "x86" to "X86". (Serge Pirotte)
Files: src/gvim.exe.mnf
Patch 6.2.363
Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler
from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc>
doesn't make it "0-1" again. Same problem for ruler in
statusline. (Andrew Pimlott)
Solution: Remember the "empty line" flag with Insert mode and'ed to it.
Files: src/screen.c
Patch 6.2.364
Problem: HTML version of the documentation doesn't mention the encoding,
which is a problem for mbyte.txt.
Solution: Adjust the awk script. (Ilya Sher)
Files: runtime/doc/makehtml.awk
Patch 6.2.365
Problem: The configure checks for Perl and Python may add compile and link
arguments that break building Vim.
Solution: Do a sanity check: try building with the arguments.
Files: src/auto/configure, src/configure.in
Patch 6.2.366
Problem: When the GUI can't start because no valid font is found, there is
no error message. (Ugen)
Solution: Add an error message.
Files: src/gui.c
Patch 6.2.367
Problem: Building the help tags file while installing may fail if there is
another Vim in $PATH.
Solution: Specify the just installed Vim executable. (Gordon Prieur)
Files: src/Makefile
Patch 6.2.368
Problem: When 'autochdir' is set, closing a window doesn't change to the
directory of the new current window. (Salman Halim)
Solution: Handle 'autochdir' always when a window becomes the current one.
Files: src/window.c
Patch 6.2.369
Problem: Various memory leaks: when using globpath(), when searching for
help tags files, when defining a function inside a function, when
giving an error message through an exception, for the final "."
line in ":append", in expression "cond ? a : b" that fails and for
missing ")" in an expression. Using NULL pointer when adding
first user command and for pointer computations with regexp.
(tests by Dominique Pelle)
Solution: Fix the leaks by freeing the allocated memory. Don't use the
array of user commands when there are no entries. Use a macro
instead of a function call for saving and restoring regexp states.
Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c,
src/misc2.c, src/regexp.c, src/screen.c, src/tag.c
Patch 6.2.370 (extra, after6.2.341)
Problem: Win32: When the path to diff.exe contains a space and using the
vimrc generated by the install program, diff mode may not work.
(Alejandro Lopez-Valencia)
Solution: Do not use double quotes for arguments that do not have a space.
Files: src/dosinst.c
Patch 6.2.371
Problem: When 'virtualedit' is set and there is a Tab before the next "x",
"dtx" does not delete the whole Tab. (Ken Hashishi)
Solution: Move the cursor to the last position of the Tab. Also for
"df<Tab>".
Files: src/normal.c
Patch 6.2.372
Problem: When using balloon evaluation, no value is displayed for members
of structures and items of an array.
Solution: Include "->", "." and "[*]" in the expression.
Files: src/gui_beval.c, src/normal.c, src/vim.h
Patch 6.2.373
Problem: When 'winminheight' is zero and a window is reduced to zero
height, the ruler always says "Top" instead of the cursor
position. (Antoine J. Mechelynck)
Solution: Don't recompute w_topline for a zero-height window.
Files: src/window.c
Patch 6.2.374
Problem: ":echo "hello" | silent normal n" removes the "hello" message.
(Servatius Brandt)
Solution: Don't echo the search string when ":silent" was used. Also don't
show the mode. In general: don't clear to the end of the screen.
Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro,
src/screen.c, src/search.c, src/window.c
Patch 6.2.375
Problem: When changing 'guioptions' the hit-enter prompt may be below the
end of the Vim window.
Solution: Call screen_alloc() before showing the prompt.
Files: src/message.c
Patch 6.2.376
Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina)
Files: src/if_ruby.c
Patch 6.2.377 (after 6.2.372)
Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey)
Solution: Add type cast.
Files: src/normal.c
Patch 6.2.378 (extra, after 6.2.118)
Problem: Mac: cannot build with Project Builder.
Solution: Add remove_tail_with_ext() to locate and remove the "build"
directory from the runtime path. Include os_unix.c when needed.
(Dany St Amant)
Files: src/misc1.c, src/os_macosx.c, src/vim.h
Patch 6.2.379
Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to
"delete". (Michael Naumann)
Solution: Do not add buffer-specific option values to a global vimrc file.
Files: src/option.c
Patch 6.2.380 (extra)
Problem: DOS: "make test" fails when running it again. Can't "make test"
with Borland C.
Solution: Make sure ".out" files are deleted when they get in the way. Add
a "test" target to the Borland C Makefile.
Files: src/Make_bc5.mak, src/testdir/Make_dos.mak
Patch 6.2.381
Problem: Setting 'fileencoding' to a comma separated list (confusing it
with 'fileencodings') does not result in an error message.
Setting 'fileencoding' in an empty file marks it as modified.
There is no "+" in the title after setting 'fileencoding'.
Solution: Check for a comma in 'fileencoding'. Only consider a non-empty
file modified by changing 'fileencoding'. Update the title after
changing 'fileencoding'.
Files: src/option.c
Patch 6.2.382
Problem: Running "make test" puts marks from test files in viminfo.
Solution: Specify a different viminfo file to use.
Files: src/testdir/test15.in, src/testdir/test49.in
Patch 6.2.383
Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven)
Solution: Check that the closing ' is there.
Files: src/syntax.c
Patch 6.2.384
Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated.
Solution: Also compare the names without '&' characters.
Files: src/menu.c
Patch 6.2.385 (extra)
Problem: Win32: forward_slash() and trash_input_buf() are undefined when
compiling with small features. (Ajit Thakkar)
Solution: Change the #ifdefs for forward_slash(). Don't call
trash_input_buf() if the input buffer isn't used.
Files: src/fileio.c, src/os_win32.c
Patch 6.2.386
Problem: Wasting time trying to read marks from the viminfo file for a
buffer without a name.
Solution: Skip reading marks when the buffer has no name.
Files: src/fileio.c
Patch 6.2.387
Problem: There is no highlighting of translated items in help files.
Solution: Search for a "help_ab.vim" syntax file when the help file is
called "*.abx". Also improve the help highlighting a bit.
Files: runtime/syntax/help.vim
Patch 6.2.388
Problem: GTK: When displaying some double-width characters they are drawn
as single-width, because of conversion to UTF-8.
Solution: Check the width that GTK uses and add a space if it's one instead
of two.
Files: src/gui_gtk_x11.c
Patch 6.2.389
Problem: When working over a slow connection, it's very annoying that the
last line is partly drawn and then cleared for every change.
Solution: Don't redraw the bottom line if no rows were inserted or deleted.
Don't draw the line if we know "@" lines will be used.
Files: src/screen.c
Patch 6.2.390
Problem: Using "r*" in Visual mode on multi-byte characters only replaces
every other character. (Tyson Roberts)
Solution: Correct the cursor position after replacing each character.
Files: src/ops.c
Patch 6.2.391 (extra)
Problem: The ":highlight" command is not tested.
Solution: Add a test script for ":highlight".
Files: src/testdir/Makefile, src/testdir/Make_amiga.mak,
src/testdir/Make_dos.mak, src/testdir/Make_os2.mak,
src/testdir/Make_vms.mms, src/testdir/test51.in,
src/testdir/test51.ok
Patch 6.2.392 (after 6.2.384)
Problem: Unused variable.
Solution: Remove "dlen".
Files: src/menu.c
Patch 6.2.393
Problem: When using very long lines the viminfo file can become very big.
Solution: Add the "s" flag to 'viminfo': skip registers with more than the
specified Kbyte of text.
Files: runtime/doc/options.txt, src/ops.c, src/option.c
Patch 6.2.394 (after 6.2.391)
Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis)
Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute.
Files: src/testdir/test51.in
Patch 6.2.395
Problem: When using ":tag" or ":pop" the previous matching tag is used.
But since the current file is different, the ordering of the tags
may change.
Solution: Remember what the current buffer was for when re-using cur_match.
Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h,
src/tag.c
Patch 6.2.396
Problem: When CTRL-T jumps to another file and an autocommand moves the
cursor to the '" mark, don't end up on the right line. (Michal
Malecki)
Solution: Set the line number after loading the file.
Files: src/tag.c
Patch 6.2.397
Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work.
(Yasuhiro Matsumoto)
Solution: Do not set the 8th bit of the character but use a modifier.
Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c
Patch 6.2.398 (extra)
Problem: Win32 console: no extra key modifiers are supported.
Solution: Encode the modifiers into the input stream. Also fix that special
keys are converted and stop working when 'tenc' is set. Also fix
that when 'tenc' is initialized the input and output conversion is
not setup properly until 'enc' or 'tenc' is set.
Files: src/getchar.c, src/option.c, src/os_win32.c
Patch 6.2.399
Problem: A ":set" command that fails still writes a message when it is
inside a try/catch block.
Solution: Include all the text of the message in the error message.
Files: src/charset.c, src/option.c
Patch 6.2.400
Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0.
Solution: Include header file poll.h. (Malte Neumann)
Files: src/if_xcmdsrv.c
Patch 6.2.401
Problem: When opening a buffer that was previously opened, Vim does not
restore the cursor position if the first line starts with white
space. (Gregory Margo)
Solution: Don't skip restoring the cursor position if it is past the blanks
in the first line.
Files: src/buffer.c
Patch 6.2.402
Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher)
Solution: Generate help tags before copying the runtime files.
Files: src/Makefile
Patch 6.2.403
Problem: ":@y" checks stdin if there are more commands to execute. This
fails if stdin is not connected, e.g., when starting the GUI from
KDE. (Ned Konz)
Solution: Only check for a next command if there still is typeahead.
Files: src/ex_docmd.c
Patch 6.2.404
Problem: Our own function to determine width of Unicode characters may get
outdated. (Markus Kuhn)
Solution: Use wcwidth() when it is available. Also use iswprint().
Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c
Patch 6.2.405
Problem: Cannot map zero without breaking the count before a command.
(Benji Fisher)
Solution: Disable mapping zero when entering a count.
Files: src/getchar.c, src/globals.h, src/normal.c
Patch 6.2.406
Problem: ":help \zs", ":help \@=" and similar don't find useful help.
Solution: Prepend "/\" to the arguments to find the desired help tag.
Files: src/ex_cmds.c
Patch 6.2.407 (after 6.2.299)
Problem: ":help \@<=" doesn't find help.
Solution: Avoid that ":help \@<=" searches for the "<=" language.
Files: src/tag.c
Patch 6.2.408
Problem: ":compiler" is not consistent: Sets local options and a global
variable. (Douglas Potts) There is no error message when a
compiler is not supported.
Solution: Use ":compiler!" to set a compiler globally, otherwise it's local
to the buffer and "b:current_compiler" is used. Give an error
when no compiler script could be found.
Note: updated compiler plugins can be found at
ftp://ftp.vim.org/pub/vim/runtime/compiler/
Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c,
src/ex_cmds2.c
Patch 6.2.409
Problem: The cursor ends up in the last column instead of after the line
when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)".
(Toby Allsopp)
Solution: Adjust the cursor as if in Insert mode.
Files: src/misc1.c
Patch 6.2.410 (after 6.2.389)
Problem: In diff mode, when there are more filler lines than fit in the
window, they are not drawn.
Solution: Check for filler lines when skipping to draw a line that doesn't
fit.
Files: src/screen.c
Patch 6.2.411
Problem: A "\n" inside a string is not seen as a line break by the regular
expression matching. (Hari Krishna Dara)
Solution: Add the vim_regexec_nl() function for strings where "\n" is to be
matched with a line break.
Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c
Patch 6.2.412
Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also
for ":python", ":tcl" and ":perl".
Solution: Check for "<< marker" and skip until "marker" before checking for
"endfunction".
Files: src/eval.c
Patch 6.2.413 (after 6.2.411)
Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky)
Solution: Now really include the prototype.
Files: src/proto/regexp.pro
Patch 6.2.414
Problem: The function used for custom completion of user commands cannot
have <SID> to make it local. (Hari Krishna Dara)
Solution: Pass the SID of the script where the user command was defined on
to the completion. Also clean up #ifdefs.
Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h
Patch 6.2.415
Problem: Vim may crash after a sequence of events that change the window
size. The window layout assumes a larger window than is actually
available. (Servatius Brandt)
Solution: Invoke win_new_shellsize() from screenalloc() instead of from
set_shellsize().
Files: src/screen.c, src/term.c
Patch 6.2.416
Problem: Compiler warning for incompatible pointer.
Solution: Remove the "&" in the call to poll(). (Xavier de Gaye)
Files: src/os_unix.c
Patch 6.2.417 (after 6.2.393)
Problem: Many people forget that the '"' item in 'viminfo' needs to be
preceded with a backslash,
Solution: Add '<' as an alias for the '"' item.
Files: runtime/doc/options.txt, src/ops.c, src/option.c
Patch 6.2.418
Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx":
when pressing <F12> still uses the abbreviation. (Hari Krishna)
Solution: Also apply "noremap" to abbreviations.
Files: src/getchar.c
Patch 6.2.419 (extra)
Problem: Win32: Cannot open the Vim window inside another application.
Solution: Add the "-P" argument to specify the window title of the
application to run inside. (Zibo Zhao)
Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c,
src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c,
src/proto/gui_w32.pro
Patch 6.2.420
Problem: Cannot specify a file to be edited in binary mode without setting
the global value of the 'binary' option.
Solution: Support ":edit ++bin file".
Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h,
src/ex_docmd.c, src/fileio.c, src/misc2.c
Patch 6.2.421
Problem: Cannot set the '[ and '] mark, which may be necessary when an
autocommand simulates reading a file.
Solution: Allow using "m[" and "m]".
Files: runtime/doc/motion.txt, src/mark.c
Patch 6.2.422
Problem: In CTRL-X completion messages the "/" makes them less readable.
Solution: Remove the slashes. (Antony Scriven)
Files: src/edit.c
Patch 6.2.423
Problem: ":vertical wincmd ]" does not split vertically.
Solution: Add "postponed_split_flags".
Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c
Patch 6.2.424
Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from
working in Insert mode (Normal mode is OK). (Gregory Seidman)
Solution: In the Insert mode loop invoke gui_mouse_correct() when needed.
Files: src/edit.c
Patch 6.2.425
Problem: Vertical split and command line window: can only drag status line
above the cmdline window on the righthand side, not lefthand side.
Solution: Check the status line row instead of the window pointer.
Files: src/ui.c
Patch 6.2.426
Problem: A syntax region end match with a matchgroup that includes a line
break only highlights the last line with matchgroup. (Gary
Holloway)
Solution: Also use the line number of the position where the region
highlighting ends.
Files: src/syntax.c
Patch 6.2.427 (extra)
Problem: When pasting a lot of text in a multi-byte encoding, conversion
from 'termencoding' to 'encoding' may fail for some characters.
(Kuang-che Wu)
Solution: When there is an incomplete byte sequence at the end of the read
text keep it for the next time.
Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro,
src/proto/os_mswin.pro, src/ui.c
Patch 6.2.428
Problem: The X11 clipboard supports the Vim selection for char/line/block
mode, but since the encoding is not included can't copy/paste
between two Vims with a different 'encoding'.
Solution: Add a new selection format that includes the 'encoding'. Perform
conversion when necessary.
Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h
Patch 6.2.429
Problem: Unix: glob() doesn't work for a directory with a single quote in
the name. (Nazri Ramliy)
Solution: When using the shell to expand, only put double quotes around
spaces and single quotes, not the whole thing.
Files: src/os_unix.c
Patch 6.2.430
Problem: BOM at start of a vim script file is not recognized and causes an
error message.
Solution: Detect the BOM and skip over it. Also fix that after using
":scriptencoding" the iconv() file descriptor was not closed
(memory leak).
Files: src/ex_cmds2.c
Patch 6.2.431
Problem: When using the horizontal scrollbar, the scrolling is limited to
the length of the cursor line.
Solution: Make the scroll limit depend on the longest visible line. The
cursor is moved when necessary. Including the 'h' flag in
'guioptions' disables this.
Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c,
src/misc2.c, src/option.h
Patch 6.2.432 (after 6.2.430 and 6.2.431)
Problem: Lint warnings.
Solution: Add type casts.
Files: src/ex_cmds2.c, src/gui.c
Patch 6.2.433
Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good
result. (Alejandro Lopez Valencia)
Solution: Use a string for each combination.
Files: src/screen.c
Patch 6.2.434 (after 6.2.431)
Problem: Compiler warning. (Salman Halim)
Solution: Add type casts.
Files: src/gui.c
Patch 6.2.435
Problem: When there are vertically split windows the minimal Vim window
height is computed wrong.
Solution: Use frame_minheight() to correctly compute the minimal height.
Files: src/window.c
Patch 6.2.436
Problem: Running the tests changes the user's viminfo file.
Solution: In test 49 tell the extra Vim to use the test viminfo file.
Files: src/testdir/test49.vim
Patch 6.2.437
Problem: ":mksession" always puts "set nocompatible" in the session file.
This changes option settings. (Ron Aaron)
Solution: Add an "if" to only change 'compatible' when needed.
Files: src/ex_docmd.c
Patch 6.2.438
Problem: When the 'v' flag is present in 'cpoptions', backspacing and then
typing text again: one character too much is overtyped before
inserting is done again.
Solution: Set "dollar_vcol" to the right column.
Files: src/edit.c
Patch 6.2.439
Problem: GTK 2: Changing 'lines' may cause a mismatch between the window
layout and the size of the window.
Solution: Disable the hack with force_shell_resize_idle().
Files: src/gui_gtk_x11.c
Patch 6.2.440
Problem: When 'lazyredraw' is set the window title is still updated.
The size of the Visual area and the ruler are displayed too often.
Solution: Postpone redrawing the window title. Only show the Visual area
size when waiting for a character. Don't draw the ruler
unnecessary.
Files: src/buffer.c, src/normal.c, src/screen.c
Patch 6.2.441
Problem: ":unabbreviate foo " doesn't work, because of the trailing space,
while an abbreviation with a trailing space is not possible. (Paul
Jolly)
Solution: Accept a match with the lhs of an abbreviation without the
trailing space.
Files: src/getchar.c
Patch 6.2.442
Problem: Cannot manipulate the command line from a function.
Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the
CTRL-\ e command.
Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c
src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
src/proto/ops.pro
Patch 6.2.443
Problem: With ":silent! echoerr something" you don't get the position of
the error. emsg() only writes the message itself and returns.
Solution: Also redirect the position of the error.
Files: src/message.c
Patch 6.2.444
Problem: When adding the 'c' flag to a ":substitute" command it may replace
more times than without the 'c' flag. Happens for a match that
starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus
Bosau).
Solution: Correct "prev_matchcol" when replacing the line. Don't replace
the line when the pattern uses look-behind matching.
Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c
Patch 6.2.445
Problem: Copying vimtutor to /tmp/something is not secure, a symlink may
cause trouble.
Solution: Create a directory and create the file in it. Use "umask" to
create the directory with mode 700. (Stefan Nordhausen)
Files: src/vimtutor
Patch 6.2.446 (after 6.2.404)
Problem: Using library functions wcwidth() and iswprint() results in
display problems for Hebrew characters. (Ron Aaron)
Solution: Disable the code to use the library functions, use our own.
Files: src/mbyte.c
Patch 6.2.447 (after 6.2.440)
Problem: Now that the title is only updated when redrawing, it is no longer
possible to show it while executing a function. (Madoka Machitani)
Solution: Make ":redraw" also update the title.
Files: src/ex_docmd.c
Patch 6.2.448 (after 6.2.427)
Problem: Mac: conversion done when 'termencoding' differs from 'encoding'
fails when pasting a longer text.
Solution: Check for an incomplete sequence at the end of the chunk to be
converted. (Eckehard Berns)
Files: src/mbyte.c
Patch 6.2.449 (after 6.2.431)
Problem: Get error messages when switching files.
Solution: Check for a valid line number when calculating the width of the
horizontal scrollbar. (Helmut Stiegler)
Files: src/gui.c
Patch 6.2.450
Problem: " #include" and " #define" are not recognized with the default
option values for 'include' and 'defined'. (RG Kiran)
Solution: Adjust the default values to allow white space before the #.
Files: runtime/doc/options.txt, src/option.c
Patch 6.2.451
Problem: GTK: when using XIM there are various problems, including setting
'modified' and breaking undo at the wrong moment.
Solution: Add "xim_changed_while_preediting", "preedit_end_col" and
im_is_preediting(). (Yasuhiro Matsumoto)
Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c,
src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c,
src/undo.c
Patch 6.2.452
Problem: In diff mode, when DiffAdd and DiffText highlight settings are
equal, an added line is highlighted with DiffChange. (Tom Schumm)
Solution: Remember the diff highlight type instead of the attributes.
Files: src/screen.c
Patch 6.2.453
Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar".
(Pavel Papushev)
Solution: When the pattern can match a line break also try matching at the
NUL at the end of a line.
Files: src/ex_cmds.c, src/regexp.c
Patch 6.2.454
Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let
b:changedtick = 99" does not give an error message.
Solution: Add code to recognize ":let b:changedtick".
Files: src/eval.c
Patch 6.2.455 (after 6.2.297)
Problem: In Python commands the current locale changes how certain Python
functions work. (Eugene M. Minkovskii)
Solution: Set the LC_NUMERIC locale to "C" while executing a Python command.
Files: src/if_python.c
Patch 6.2.456 (extra)
Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or
using the file selection dialog) doesn't work. (Yakov Lerner, Alex
Jakushev)
Solution: Use wide character functions when file names are involved and
convert from/to 'encoding' where needed.
Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c,
src/os_mswin.c, src/os_win32.c
Patch 6.2.457 (after 6.2.244)
Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80
in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm)
Solution: Correct the utf_ptr2len_check_len() function and fix the problem
of displaying 0xf7 in utfc_ptr2len_check_len().
Files: src/mbyte.c
Patch 6.2.458
Problem: When 'virtualedit' is set "$" doesn't move to the end of an
unprintable character, causing "y$" not to include that character.
(Fred Ma)
Solution: Set "coladd" to move the cursor to the end of the character.
Files: src/misc2.c
Patch 6.2.459 (after 6.2.454)
Problem: Variable "b" cannot be written. (Salman Halim)
Solution: Compare strings properly.
Files: src/eval.c
Patch 6.2.460 (extra, after 6.2.456)
Problem: Compiler warnings for missing prototypes.
Solution: Include the missing prototypes.
Files: src/proto/os_win32.pro
Patch 6.2.461
Problem: After using a search command "x" starts putting single characters
in the numbered registers.
Solution: Reset "use_reg_one" at the right moment.
Files: src/normal.c
Patch 6.2.462
Problem: Finding a matching parenthesis does not correctly handle a
backslash in a trailing byte.
Solution: Handle multi-byte characters correctly. (Taro Muraoka)
Files: src/search.c
Patch 6.2.463 (extra)
Problem: Win32: An NTFS file system may contain files with extra info
streams. The current method to copy them creates one and then
deletes it again. (Peter Toennies) Also, only three streams with
hard coded names are copied.
Solution: Use BackupRead() to check which info streams the original file
contains and only copy these streams.
Files: src/os_win32.c
Patch 6.2.464 (extra, after 6.2.427)
Problem: Amiga: Compilation error with gcc. (Ali Akcaagac)
Solution: Move the #ifdef outside of Read().
Files: src/os_amiga.c
Patch 6.2.465
Problem: When resizing the GUI window the window manager sometimes moves it
left of or above the screen. (Michael McCarty)
Solution: Check the window position after resizing it and move it onto the
screen when it isn't.
Files: src/gui.c
Patch 6.2.466 (extra, after 6.2.456)
Problem: Win32: Compiling with Borland C fails, and an un/signed warning.
Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
Matsumoto)
Files: src/os_win32.c
Patch 6.2.467 (extra, after 6.2.463)
Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar)
Solution: Add #ifdefs around the info stream code.
Files: src/os_win32.c
Patch 6.2.468
Problem: Compiler warnings for shadowed variables. (Matthias Mohr)
Solution: Delete superfluous variables and rename others.
Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c,
src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c,
src/regexp.c
Patch 6.2.469 (extra, after 6.2.456)
Problem: Win32: Can't create swap file when 'encoding' differs from the
active code page. (Kriton Kyrimis)
Solution: In enc_to_ucs2() terminate the converted string with a NUL
Files: src/os_mswin.c
Patch 6.2.470
Problem: The name returned by tempname() may be equal to the file used for
shell output when ignoring case.
Solution: Skip 'O' and 'I' in tempname().
Files: src/eval.c
Patch 6.2.471
Problem: "-L/usr/lib" is used in the link command, even though it's
supposed to be filtered out. "-lw" and "-ldl" are not
automatically added when needed for "-lXmu". (Antonio Colombo)
Solution: Check for a space after the argument instead of before. Also
remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl"
before trying "-lXmu".
Files: src/auto/configure, src/configure.in, src/link.sh
Patch 6.2.472
Problem: When using a FileChangedShell autocommand that changes the current
buffer, a buffer exists that can't be wiped out.
Also, Vim sometimes crashes when executing an external command
that changes the buffer and a FileChangedShell autocommand is
used. (Hari Krishna Dara)
Users are confused by the warning for a file being changed outside
of Vim.
Solution: Avoid that the window counter for a buffer is incremented twice.
Avoid that buf_check_timestamp() is used recursively.
Add a hint to look in the help for more info.
Files: src/ex_cmds.c, src/fileio.c
Patch 6.2.473
Problem: Using CTRL-] in a help buffer without a name causes a crash.
Solution: Check for name to be present before using it. (Taro Muraoka)
Files: src/tag.c
Patch 6.2.474 (extra, after 6.2.456)
Problem: When Vim is starting up conversion is done unnecessarily. Failure
to find the runtime files on Windows 98. (Randall W. Morris)
Solution: Init enc_codepage negative, only use it when not negative.
Don't use GetFileAttributesW() on Windows 98 or earlier.
Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c,
src/os_win32.c
Patch 6.2.475
Problem: Commands after "perl <<EOF" are parsed as Vim commands when they
are not executed.
Solution: Properly skip over the perl commands.
Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c,
src/if_ruby.c, src/if_tcl.c, src/misc2.c
Patch 6.2.476
Problem: When reloading a hidden buffer changed outside of Vim and the
current buffer is read-only, the reloaded buffer becomes
read-only. (Hari Krishna Dara)
Solution: Save the 'readonly' flag of the reloaded buffer instead of the
current buffer.
Files: src/fileio.c
Patch 6.2.477
Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang.
(Yakov Lerner)
Solution: When the resulting string is empty don't set received_from_client.
Files: src/main.c
Patch 6.2.478
Problem: Win32: "--remote file" fails changing directory if the current
directory name starts with a single quote. (Iestyn Walters)
Solution: Add a backslash where it will be removed later.
Files: src/main.c, src/misc2.c, src/proto/misc2.pro
Patch 6.2.479
Problem: The error message for errors during recovery goes unnoticed.
Solution: Avoid that the hit-enter prompt overwrites the message. Add a few
lines to make the error stand out.
Files: src/main.c, src/message.c, src/memline.c
Patch 6.2.480
Problem: NetBeans: Using negative index in array. backslash at end of
message may cause Vim to crash. (Xavier de Gaye)
Solution: Initialize buf_list_used to zero. Check for trailing backslash.
Files: src/netbeans.c
Patch 6.2.481
Problem: When writing a file it is not possible to specify that hard and/or
symlinks are to be broken instead of preserved.
Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'.
(Simon Ekstrand)
Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h
Patch 6.2.482
Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is
considered to be a digit. (Juergen Kraemer)
Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for
speed where possible. Also add vim_isxdigit().
Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c,
src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c,
src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c,
src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c,
src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h,
src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c,
src/misc2.c, src/normal.c, src/ops.c, src/option.c,
src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c,
src/syntax.c, src/tag.c, src/term.c, src/termlib.c
Patch 6.2.483 (extra, after 6.2.482)
Problem: See 6.2.482.
Solution: Extra part of patch 6.2.482.
Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c
Patch 6.2.484
Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z
are not recognized. (Peter Keresztes)
Solution: Write the files with unix fileformat and invoke diff with --binary
if possible.
Files: src/diff.c
Patch 6.2.485
Problem: A BufWriteCmd autocommand cannot know if "!" was used or not.
(Hari Krishna Dara)
Solution: Add the v:cmdbang variable.
Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro,
src/fileio.c, src/vim.h
Patch 6.2.486 (6.2.482)
Problem: Diff for eval.c is missing.
Solution: Addition to patch 6.2.482.
Files: src/eval.c
Patch 6.2.487 (extra, after 6.2.456)
Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia)
Solution: Delete the prototype for Handle_WM_Notify().
Files: src/proto/gui_w32.pro
Patch 6.2.488
Problem: Missing ")" in *.ch filetype detection.
Solution: Add the ")". (Ciaran McCreesh)
Files: runtime/filetype.vim
Patch 6.2.489
Problem: When accidentally opening a session in Vim which has already been
opened in another Vim there is a long row of ATTENTION prompts.
Need to quit each of them to get out. (Robert Webb)
Solution: Add the "Abort" alternative to the dialog.
Files: src/memline.c
Patch 6.2.490
Problem: With 'paragraph' it is not possible to use a single dot as a
paragraph boundary. (Dorai Sitaram)
Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
". $"
Files: src/search.c
Patch 6.2.491
Problem: Decrementing a position doesn't take care of multi-byte chars.
Solution: Adjust the column for multi-byte characters. Remove mb_dec().
(Yasuhiro Matsumoto)
Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
Patch 6.2.492
Problem: When using ":redraw" while there is a message, the next ":echo"
still causes text to scroll. (Yasuhiro Matsumoto)
Solution: Reset msg_didout and msg_col, so that after ":redraw" the next
message overwrites an existing one.
Files: src/ex_docmd.c
Patch 6.2.493
Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher)
Solution: Put "restart_edit" in the typeahead buffer, so that it's used
after executing the register contents.
Files: src/ops.c
Patch 6.2.494
Problem: Using diff mode with two windows, when moving horizontally in
inserted lines, a fold in the other window may open.
Solution: Compute the line number in the other window correctly.
Files: src/diff.c
Patch 6.2.495 (extra, after 6.2.456)
Problem: Win32: The file dialog doesn't work on Windows 95.
Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use
it only on Windows NT/2000/XP.
Files: src/gui_w32.c, src/gui_w48.c
Patch 6.2.496
Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a
complicated pattern may cause Vim to crash. Catching the signal
doesn't work.
Solution: When compiled with threads, instead of using the normal stacksize
limit, use the size of the initial stack.
Files: src/auto/configure, src/config.h.in, src/configure.in,
src/os_unix.c
Patch 6.2.497 (extra)
Problem: Russian messages are only available in one encoding.
Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin)
Files: src/po/Makefile
Patch 6.2.498
Problem: Non-latin1 help files are not properly supported.
Solution: Support utf-8 help files and convert them to 'encoding' when
needed.
Files: src/fileio.c
Patch 6.2.499
Problem: When writing a file and halting the system, the file might be lost
when using a journaling file system.
Solution: Use fsync() to flush the file data to disk after writing a file.
(Radim Kolar)
Files: src/fileio.c
Patch 6.2.500 (extra)
Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for
diff.
Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez-
Valencia)
Files: src/dosinst.c
Patch 6.2.501
Problem: Vim does not compile with MorphOS.
Solution: Add a Makefile and a few changes to make Vim work with MorphOS.
(Ali Akcaagac)
Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt,
src/Make_morphos.mak, src/memfile.c, src/term.c
Patch 6.2.502
Problem: Building fails for generating message files.
Solution: Add dummy message files.
Files: src/po/ca.po, src/po/ru.po, src/po/sv.po
Patch 6.2.503
Problem: Mac: Can't compile MacRoman conversions without the GUI.
Solution: Also link with the Carbon framework for the terminal version, for
the MacRoman conversion functions. (Eckehard Berns)
Remove -ltermcap from the GUI link command, it is not needed.
Files: src/auto/configure, src/Makefile, src/configure.in
Patch 6.2.504
Problem: Various problems with 'cindent', among which that a
list of variable declarations is not indented properly.
Solution: Fix the wrong indenting. Improve indenting of C++ methods.
Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by
Helmut Stiegler)
Improve indenting of preprocessor-continuation lines.
Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
src/testdir/test3.ok
Patch 6.2.505
Problem: Help for -P argument is missing. (Ronald Hoellwarth)
Solution: Add the patch that was missing in 6.2.419.
Files: runtime/doc/starting.txt
Patch 6.2.506 (extra)
Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file
only works when iconv is available. Writing a file in another
codepage uses the wrong kind of conversion.
Solution: Use internal conversion functions. Enable reading and writing
files with 'fileencoding' different from 'encoding' for all valid
codepages and utf-8 without the need for iconv.
Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in,
src/testdir/test52.ok
Patch 6.2.507
Problem: The ownership of the file with the password for the NetBeans
connection is not checked. "-nb={file}" doesn't work for GTK.
Solution: Only accept the file when owned by the user and not accessible by
others. Detect "-nb=" for GTK.
Files: src/netbeans.c, src/gui_gtk_x11.c
Patch 6.2.508
Problem: Win32: "v:lang" does not show the current language for messages if
it differs from the other locale settings.
Solution: Use the value of the $LC_MESSAGES environment variable.
Files: src/ex_cmds2.c
Patch 6.2.509 (after 6.2.508)
Problem: Crash when $LANG is not set.
Solution: Add check for NULL pointer. (Ron Aaron)
Files: src/ex_cmds2.c
Patch 6.2.510 (after 6.2.507)
Problem: Warning for pointer conversion.
Solution: Add a type cast.
Files: src/gui_gtk_x11.c
Patch 6.2.511
Problem: Tags in Russian help files are in utf-8 encoding, which may be
different from 'encoding'.
Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the
encoding of the tags. Convert help tags from 'encoding' to the
tag file encoding when searching for matches, do the reverse when
listing help tags.
Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c
Patch 6.2.512
Problem: Translating "\"\n" is useless. (Gerfried Fuchs)
Solution: Remove the _() around it.
Files: src/main.c, src/memline.c
Patch 6.2.513 (after 6.2.507)
Problem: NetBeans: the check for owning the connection info file can be
simplified. (Nikolay Molchanov)
Solution: Only check if the access mode is right.
Files: src/netbeans.c
Patch 6.2.514
Problem: When a highlight/syntax group name contains invalid characters
there is no warning.
Solution: Add an error for unprintable characters and a warning for other
invalid characters.
Files: src/syntax.c
Patch 6.2.515
Problem: When using the options window 'swapfile' is reset.
Solution: Use ":setlocal" instead of ":set".
Files: runtime/optwin.vim
Patch 6.2.516
Problem: The sign column cannot be seen, looks like there are two spaces
before the text. (Rob Retter)
Solution: Add the SignColumn highlight group.
Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
src/screen.c, src/syntax.c, src/vim.h
Patch 6.2.517
Problem: Using "r*" in Visual mode on multi-byte characters replaces
too many characters. In Visual Block mode replacing with a
multi-byte character doesn't work.
Solution: Adjust the operator end for the difference in byte length of the
original and the replaced character. Insert all bytes of a
multi-byte character, take care of double-wide characters.
Files: src/ops.c
Patch 6.2.518
Problem: Last line of a window is not updated after using "J" and then "D".
(Adri Verhoef)
Solution: When no line is found below a change that doesn't need updating,
update all lines below the change.
Files: src/screen.c
Patch 6.2.519
Problem: Mac: cannot read/write files in MacRoman format.
Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1.
(Eckehard Berns)
Files: src/fileio.c
Patch 6.2.520 (extra)
Problem: The NSIS installer is outdated.
Solution: Make it work with NSIS 2.0. Also include console executables for
Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use
"/oname" to avoid having to rename files before running NSIS.
Files: Makefile, nsis/gvim.nsi
Patch 6.2.521
Problem: When using silent Ex mode the "changing a readonly file" warning
is omitted but the one second wait isn't. (Yakov Lerner)
Solution: Skip the delay when "silent_mode" is set.
Files: src/misc1.c
Patch 6.2.522
Problem: GUI: when changing 'cmdheight' in the gvimrc file the window
layout is messed up. (Keith Dart)
Solution: Skip updating the window layout when changing 'cmdheight' while
still starting up.
Files: src/option.c
Patch 6.2.523
Problem: When loading a session and aborting when a swap file already
exists, the user is left with useless windows. (Robert Webb)
Solution: Load one file before creating the windows.
Files: src/ex_docmd.c
Patch 6.2.524 (extra, after 6.2.520)
Problem: Win32: (un)installing gvimext.dll may fail if it was used.
The desktop and start menu links are created for the current user
instead of all users.
Using the home directory as working directory for the links is a
bad idea for multi-user systems.
Cannot use Vim from the "Open With..." menu.
Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use
macros for the directory of the source and runtime files. Use
"CSIDL_COMMON_*" instead of "CSIDL_*" when possible.
Do not specify a working directory in the links.
Add Vim to the "Open With..." menu. (Giuseppe Bilotta)
Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c
Patch 6.2.525
Problem: When the history contains a very long line ":history" causes a
crash. (Volker Kiefel)
Solution: Shorten the history entry to fit it in one line.
Files: src/ex_getln.c
Patch 6.2.526
Problem: When s:lang is "ja" the Japanese menus are not used.
Solution: Add 'encoding' to the language when there is no charset.
Files: runtime/menu.vim
Patch 6.2.527
Problem: The 2html script uses ":wincmd p", which breaks when using some
autocommands.
Solution: Remember the window numbers and jump to them with ":wincmd w".
Also add XHTML support. (Panagiotis Issaris)
Files: runtime/syntax/2html.vim
Patch 6.2.528
Problem: NetBeans: Changes of the "~" command are not reported.
Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
Also change NetBeans debugging to append to the log file.
Also fix that "~" in Visual block mode changes too much if there
are multi-byte characters.
Files: src/nbdebug.c, src/normal.c, src/ops.c
Patch 6.2.529 (extra)
Problem: VisVim only works for Admin. Doing it for one user doesn't work.
(Alexandre Gouraud)
Solution: When registering the module fails, simply continue.
Files: src/VisVim/VisVim.cpp
Patch 6.2.530
Problem: Warning for missing prototype on the Amiga.
Solution: Include time.h
Files: src/version.c
Patch 6.2.531
Problem: In silent ex mode no messages are given, which makes debugging
very difficult.
Solution: Do output messages when 'verbose' is set.
Files: src/message.c, src/ui.c
Patch 6.2.532 (extra)
Problem: Compiling for Win32s with VC 4.1 doesn't work.
Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON*
when not defined.
Files: src/dosinst.h, src/fileio.c
Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto)
Patch 6.3a.001
Problem: Win32: if testing for the "--binary" option fails, diff isn't used
at all.
Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto)
Files: src/diff.c
Patch 6.3a.002
Problem: NetBeans: An insert command from NetBeans beyond the end of a
buffer crashes Vim. (Xavier de Gaye)
Solution: Use a local pos_T structure for the position.
Files: src/netbeans.c
Patch 6.3a.003
Problem: E315 error with auto-formatting comments. (Henry Van Roessel)
Solution: Pass the line number to same_leader().
Files: src/ops.c
Patch 6.3a.004
Problem: Test32 fails on Windows XP for the DJGPP version. Renaming
test11.out fails.
Solution: Don't try renaming, create new files to use for the test.
Files: src/testdir/test32.in, src/testdir/test32.ok
Patch 6.3a.005
Problem: ":checkpath!" does not use 'includeexpr'.
Solution: Use a file name that was found directly. When a file was not
found and the located name is empty, use the rest of the line.
Files: src/search.c
Patch 6.3a.006
Problem: "yip" moves the cursor to the first yanked line, but not to the
first column. Looks like not all text was yanked. (Jens Paulus)
Solution: Move the cursor to the first column.
Files: src/search.c
Patch 6.3a.007
Problem: 'cindent' recognizes "enum" but not "typedef enum".
Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler)
Also avoid that searching for this item goes too far back.
Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
Patch 6.3a.008 (extra)
Problem: Windows 98: Some of the wide functions are not implemented,
resulting in file I/O to fail. This depends on what Unicode
support is installed.
Solution: Handle the failure and fall back to non-wide functions.
Files: src/os_win32.c
Patch 6.3a.009
Problem: Win32: Completion of filenames does not work properly when
'encoding' differs from the active code page.
Solution: Use wide functions for expanding wildcards when appropriate.
Files: src/misc1.c
Patch 6.3a.010 (extra)
Problem: Win32: Characters in the window title that do not appear in the
active codepage are replaced by a question mark.
Solution: Use DefWindowProcW() instead of DefWindowProc() when possible.
Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro,
src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
Patch 6.3a.011
Problem: Using the explorer plugin changes a local directory to the global
directory.
Solution: Don't use ":chdir" to restore the current directory. Make
"expand('%:p')" remove "/../" and "/./" items from the path.
Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c
Patch 6.3a.012 (extra)
Problem: On Windows 98 the installer doesn't work, don't even get the "I
agree" button. The check for the path ending in "vim" makes the
browse dialog hard to use. The default path when no previous Vim
is installed is "c:\vim" instead of "c:\Program Files\Vim".
Solution: Remove the background gradient command. Change the
.onVerifyInstDir function to a leave function for the directory
page. Don't let the install program default to c:\vim when no
path could be found.
Files: nsis/gvim.nsi, src/dosinst.c
Patch 6.3a.013 (extra)
Problem: Win32: Characters in the menu that are not in the active codepage
are garbled.
Solution: Convert menu strings from 'encoding' to the active codepage.
Files: src/gui_w32.c, src/gui_w48.c
Patch 6.3a.014
Problem: Using multi-byte text and highlighting in a statusline causes gaps
to appear. (Helmut Stiegler)
Solution: Advance the column by text width instead of number of bytes. Add
the vim_strnsize() function.
Files: src/charset.c, src/proto/charset.pro, src/screen.c
Patch 6.3a.015
Problem: Using the "select all" menu item when 'insertmode' is set and
clicking the mouse button doesn't return to Insert mode. The
Buffers/Delete menu doesn't offer a choice to abandon a changed
buffer. (Jens Paulus)
Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu
items.
Files: runtime/menu.vim
Patch 6.3a.016
Problem: After cancelling the ":confirm" dialog the error message and
hit-enter prompt may not be displayed properly.
Solution: Flush output after showing the dialog.
Files: src/message.c
Patch 6.3a.017
Problem: servername() doesn't work when Vim was started with the "-X"
argument or when the "exclude" in 'clipboard' matches the terminal
name. (Robert Nowotniak)
Solution: Force connecting to the X server when using client-server
commands.
Files: src/eval.c, src/globals.h, src/os_unix.c
Patch 6.3a.018 (after 6.3a.017)
Problem: Compiler warning for return value of make_connection().
Solution: Use void return type.
Files: src/eval.c
Patch 6.3a.019 (extra)
Problem: Win32: typing non-latin1 characters doesn't work.
Solution: Invoke _OnChar() directly to avoid that the argument is truncated
to a byte. Convert the UTF-16 character to bytes according to
'encoding' and ignore 'termencoding'. Same for _OnSysChar().
Files: src/gui_w32.c, src/gui_w48.c
Patch 6.3a.020 (extra)
Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI
doesn't work.
Solution: Add AROS support. (Adam Chodorowski)
Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac)
Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h,
src/memfile.c, src/os_amiga.c, src/term.c
Patch 6.3a.021 (after 6.3a.017)
Problem: Can't compile with X11 but without GUI.
Solution: Put use of "gui.in_use" inside an #ifdef.
Files: src/eval.c
Patch 6.3a.022
Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a
tab is counted for two spaces.
Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted
as two spaces or as 'tabstop'. (Antony Scriven)
Files: runtime/doc/options.txt, src/edit.c
Patch 6.3a.023
Problem: Completion on the command line doesn't handle backslashes
properly. Only the tail of matches is shown, even when not
completing filenames.
Solution: When turning the string into a pattern double backslashes. Don't
omit the path when not expanding files or directories.
Files: src/ex_getln.c
Patch 6.3a.024
Problem: The "save all" toolbar item fails for buffers that don't have a
name. When using ":wa" or closing the Vim window and there are
nameless buffers, browsing for a name may cause the name being
given to the wrong buffer or not stored properly. ":browse" only
worked for one file.
Solution: Use ":confirm browse" for "save all".
Pass buffer argument to setfname(). Restore "browse" flag and
"forceit" after doing the work for one file.
Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c,
src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c,
src/message.c, src/window.c, src/proto/buffer.pro,
src/proto/ex_cmds2.pro, src/proto/memline.pro
Patch 6.3a.025
Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher)
Solution: Update the virtual column before using it.
Files: src/option.c
Patch 6.3a.026 (extra, after 6.3a.008)
Problem: Editing files on Windows 98 doesn't work when 'encoding' is
"utf-8" (Antoine Mechelynck)
Warning for missing function prototype.
Solution: For all wide functions check if it failed because it is not
implemented. Use ANSI function declaration for char_to_string().
Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c
Patch 6.3a.027 (extra, after 6.3a.026)
Problem: Compiler warning for function argument.
Solution: Declare both char and WCHAR arrays.
Files: src/gui_w48.c
Patch 6.3a.028
Problem: ":normal ." doesn't work inside a function, because redo is saved
and restored. (Benji Fisher)
Solution: Make a copy of the redo buffer when executing a function.
Files: src/getchar.c
Patch 6.3b.001 (extra)
Problem: Bcc 5: The generated auto/pathdef can't be compiled.
Solution: Fix the way quotes and backslashes are escaped.
Files: src/Make_bc5.mak
Patch 6.3b.002
Problem: Win32: conversion during file write fails when a double-byte
character is split over two writes.
Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka)
Files: src/fileio.c
Patch 6.3b.003 (extra)
Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8"
then Vim can't open files under MS-Windows 98. (Antoine J.
Mechelynck)
Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation.
Files: src/os_mswin.c, src/os_win32.c
Patch 6.3b.004
Problem: ":helpgrep" includes a trailing CR in the text line.
Solution: Remove the CR.
Files: src/quickfix.c
Patch 6.3b.005
Problem: ":echo &g:ai" results in the local option value. (Salman Halim)
Solution: Pass the flags from find_option_end() to get_option_value().
Files: src/eval.c
Patch 6.3b.006
Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before
last pasted character. (Mathew Davis)
Solution: Use the same Paste() function as in menu.vim.
Files: runtime/mswin.vim
Patch 6.3b.007
Problem: Session file doesn't restore view on windows properly. (Robert
Webb)
Solution: Restore window sizes both before and after restoring the view, so
that the view, cursor position and size are restored properly.
Files: src/ex_docmd.c
Patch 6.3b.008
Problem: Using ":finally" in a user command doesn't always work. (Hari
Krishna Dara)
Solution: Don't assume that using getexline() means the command was typed.
Files: src/ex_docmd.c
Patch 6.3b.009 (extra)
Problem: Win32: When the -P argument is not found in a window title, there
is no error message.
Solution: When the window can't be found give an error message and exit.
Also use try/except to catch failing to open the MDI window.
(Michael Wookey)
Files: src/gui_w32.c
Patch 6.3b.010
Problem: Win32: Using the "-D" argument and expanding arguments may cause a
hang, because the terminal isn't initialized yet. (Vince Negri)
Solution: Don't go into debug mode before the terminal is initialized.
Files: src/main.c
Patch 6.3b.011
Problem: Using CTRL-\ e while obtaining an expression aborts the command
line. (Hari Krishna Dara)
Solution: Insert the CTRL-\ e as typed.
Files: src/ex_getln.c
Patch 6.3b.012 (after 6.3b.010)
Problem: Can't compile with tiny features. (Norbert Tretkowski)
Solution: Add #ifdefs.
Files: src/main.c
Patch 6.3b.013
Problem: Loading a session file results in editing the wrong file in the
first window when this is not the file at the current position in
the argument list. (Robert Webb)
Solution: Check w_arg_idx_invalid to decide whether to edit a file.
Files: src/ex_docmd.c
Patch 6.3b.014
Problem: ":runtime! foo*.vim" may using freed memory when a sourced script
changes the value of 'runtimepath'.
Solution: Make a copy of 'runtimepath' when looping over the matches.
Files: src/ex_cmds2.c
Patch 6.3b.015
Problem: Get lalloc(0) error when using "p" in Visual mode while
'clipboard' contains "autoselect,unnamed". (Mark Wagonner)
Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary.
Files: src/ops.c
Patch 6.3b.016
Problem: When 'virtualedit' is used "x" doesn't delete the last character
of a line that has as many characters as 'columns'. (Yakov Lerner)
Solution: When the cursor isn't moved let oneright() return FAIL.
Files: src/edit.c
Patch 6.3b.017
Problem: Win32: "vim --remote-wait" doesn't exit when the server finished
editing the file. (David Fishburn)
Solution: In the rrhelper plugin change backslashes to forward slashes and
escape special characters.
Files: runtime/plugin/rrhelper.vim
Patch 6.3b.018
Problem: The list of help files in the "local additions" table doesn't
recognize utf-8 encoding. (Yasuhiro Matsumoto)
Solution: Recognize utf-8 characters.
Files: src/ex_cmds.c
Patch 6.3b.019
Problem: When $VIMRUNTIME is not a full path name the "local additions"
table lists all the help files.
Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory
names.
Files: src/ex_cmds.c
Patch 6.3b.020
Problem: When using CTRL-^ when entering a search string, the item in the
statusline that indicates the keymap is not updated. (Ilya
Dogolazky)
Solution: Mark the statuslines for updating.
Files: src/ex_getln.c
Patch 6.3b.021
Problem: The swapfile is not readable for others, the ATTENTION prompt does
not show all info when someone else is editing the same file.
(Marcel Svitalsky)
Solution: Use the protection of original file for the swapfile and set it
after creating the swapfile.
Files: src/fileio.c
Patch 6.3b.022
Problem: Using "4v" to select four times the old Visual area may put the
cursor beyond the end of the line. (Jens Paulus)
Solution: Correct the cursor column.
Files: src/normal.c
Patch 6.3b.023
Problem: When "3dip" starts in an empty line, white lines after the
non-white lines are not deleted. (Jens Paulus)
Solution: Include the white lines.
Files: src/search.c
Patch 6.3b.024
Problem: "2daw" does not delete leading white space like "daw" does. (Jens
Paulus)
Solution: Include the white space when a count is used.
Files: src/search.c
Patch 6.3b.025
Problem: Percentage in ruler isn't updated when a line is deleted. (Jens
Paulus)
Solution: Check for a change in line count when deciding to update the ruler.
Files: src/screen.c, src/structs.h
Patch 6.3b.026
Problem: When selecting "abort" at the ATTENTION prompt for a file that is
already being edited Vim crashes.
Solution: Don't abort creating a new buffer when we really need it.
Files: src/buffer.c, src/vim.h
Patch 6.3b.027
Problem: Win32: When enabling the menu in a maximized window, Vim uses more
lines than what is room for. (Shizhu Pan)
Solution: When deciding to call shell_resized(), also compare the text area
size with Rows and Columns, not just with screen_Rows and
screen_Columns.
Files: src/gui.c
Patch 6.3b.028
Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine)
Solution: Check for last column differently when 'rightleft' is set.
Files: src/screen.c
Patch 6.3b.029
Problem: Win32: warning for uninitialized variable.
Solution: Initialize to zero.
Files: src/misc1.c
Patch 6.3b.030
Problem: After Visually selecting four characters, changing it to other
text, Visually selecting and yanking two characters: "." changes
four characters, another "." changes two characters. (Robert Webb)
Solution: Don't store the size of the Visual area when redo is active.
Files: src/normal.c
==============================================================================
VERSION 6.4 *version-6.4*
This section is about improvements made between version 6.3 and 6.4.
This is a bug-fix release. There are also a few new features. The major
number of new items is in the runtime files and translations.
The big MS-Windows version now uses:
Ruby version 1.8.3
Perl version 5.8.7
Python version 2.4.2
Changed *changed-6.4*
-------
Removed runtime/tools/tcltags, Exuberant ctags does it better.
Added *added-6.4*
-----
Alsaconf syntax file (Nikolai Weibull)
Eruby syntax, indent, compiler and ftplugin file (Doug Kearns)
Esterel syntax file (Maurizio Tranchero)
Mathematica indent file (Steve Layland)
Netrc syntax file (Nikolai Weibull)
PHP compiler file (Doug Kearns)
Pascal indent file (Neil Carter)
Prescribe syntax file (Klaus Muth)
Rubyunit compiler file (Doug Kearns)
SMTPrc syntax file (Kornel Kielczewski)
Sudoers syntax file (Nikolai Weibull)
TPP syntax file (Gerfried Fuchs)
VHDL ftplugin file (R. Shankar)
Verilog-AMS syntax file (S. Myles Prather)
Bulgarian keymap (Alberto Mardegan)
Canadian keymap (Eric Joanis)
Hungarian menu translations in UTF-8 (Kantra Gergely)
Ukrainian menu translations (Bohdan Vlasyuk)
Irish message translations (Kevin Patrick Scannell)
Configure also checks for tclsh8.4.
Fixed *fixed-6.4*
-----
"dFxd;" deleted the character under the cursor, "d;" didn't remember the
exclusiveness of the motion.
When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one
line for the cmdline. (Christian Robinson) Invoke command_height() after the
GUI has started up.
Gcc would warn "dereferencing type-punned pointer will break strict -aliasing
rules". Avoid using typecasts for variable pointers.
Gcc 3.x interprets the -MM argument differently. Change "-I /path" to
"-isystem /path" for "make depend".
Patch 6.3.001
Problem: ":browse split" gives the file selection dialog twice. (Gordon
Bazeley) Same problem for ":browse diffpatch".
Solution: Reset cmdmod.browse before calling do_ecmd().
Files: src/diff.c, src/ex_docmd.c
Patch 6.3.002
Problem: When using translated help files with non-ASCII latin1 characters
in the first line the utf-8 detection is wrong.
Solution: Properly detect utf-8 characters. When a mix of encodings is
detected continue with the next language and avoid a "no matches"
error because of "got_int" being set. Add the directory name to
the error message for a duplicate tag.
Files: src/ex_cmds.c
Patch 6.3.003
Problem: Crash when using a console dialog and the first choice does not
have a default button. (Darin Ohashi)
Solution: Allocate two more characters for the [] around the character for
the default choice.
Files: src/message.c
Patch 6.3.004
Problem: When searching for a long string (140 chars in a 80 column
terminal) get three hit-enter prompts. (Robert Webb)
Solution: Avoid the hit-enter prompt when giving the message for wrapping
around the end of the buffer. Don't give that message again when
the string was not found.
Files: src/message.c, src/search.c
Patch 6.3.005
Problem: Crash when searching for a pattern with a character offset and
starting in a closed fold. (Frank Butler)
Solution: Check for the column to be past the end of the line. Also fix
that a pattern with a character offset relative to the end isn't
read back from the viminfo properly.
Files: src/search.c
Patch 6.3.006
Problem: ":breakadd file *foo" prepends the current directory to the file
pattern. (Hari Krishna Dara)
Solution: Keep the pattern as-is.
Files: src/ex_cmds2.c
Patch 6.3.007
Problem: When there is a buffer with 'buftype' set to "nofile" and using a
":cd" command, the swap file is not deleted when exiting.
Solution: Use the full path of the swap file also for "nofile" buffers.
Files: src/fileio.c
Patch 6.3.008
Problem: Compiling fails under OS/2.
Solution: Include "e_screenmode" also for OS/2. (David Sanders)
Files: src/globals.h
Patch 6.3.009 (after 6.3.006)
Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link
is involved. (Servatius Brandt)
Solution: Do expand the pattern when it does not start with "*".
Files: runtime/doc/repeat.txt, src/ex_cmds2.c
Patch 6.3.010
Problem: When writing to a named pipe there is an error for fsync()
failing.
Solution: Ignore the fsync() error for devices.
Files: src/fileio.c
Patch 6.3.011
Problem: Crash when the completion function of a user-command uses a
"normal :cmd" command. (Hari Krishna Dara)
Solution: Save the command line when invoking the completion function.
Files: src/ex_getln.c
Patch 6.3.012
Problem: Internal lalloc(0) error when using a complicated multi-line
pattern in a substitute command. (Luc Hermitte)
Solution: Avoid going past the end of a line.
Files: src/ex_cmds.c
Patch 6.3.013
Problem: Crash when editing a command line and typing CTRL-R = to evaluate
a function that uses "normal :cmd". (Hari Krishna Dara)
Solution: Save and restore the command line when evaluating an expression
for CTRL-R =.
Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
src/proto/ops.pro
Patch 6.3.014
Problem: When using Chinese or Taiwanese the default for 'helplang' is
wrong. (Simon Liang)
Solution: Use the part of the locale name after "zh_".
Files: src/option.c
Patch 6.3.015
Problem: The string that winrestcmd() returns may end in garbage.
Solution: NUL-terminate the string. (Walter Briscoe)
Files: src/eval.c
Patch 6.3.016
Problem: The default value for 'define' has "\s" before '#'.
Solution: Add a star after "\s". (Herculano de Lima Einloft Neto)
Files: src/option.c
Patch 6.3.017
Problem: "8zz" may leave the cursor beyond the end of the line. (Niko
Maatjes)
Solution: Correct the cursor column after moving to another line.
Files: src/normal.c
Patch 6.3.018
Problem: ":0argadd zero" added the argument after the first one, instead of
before it. (Adri Verhoef)
Solution: Accept a zero range for ":argadd".
Files: src/ex_cmds.h
Patch 6.3.019
Problem: Crash in startup for debug version. (David Rennals)
Solution: Move the call to nbdebug_wait() to after allocating NameBuff.
Files: src/main.c
Patch 6.3.020
Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not
delete a word but only a combining character of the first
character, if there is one. (Raphael Finkel)
Solution: Correctly check that one character is being deleted.
Files: src/misc1.c
Patch 6.3.021
Problem: When the last character of a file name is a multi-byte character
and the last byte is a path separator, the file cannot be edited.
Solution: Check for the last byte to be part of a multi-byte character.
(Taro Muraoka)
Files: src/fileio.c
Patch 6.3.022 (extra)
Problem: Win32: When the last character of a file name is a multi-byte
character and the last byte is a path separator, the file cannot
be written. A trail byte that is a space makes that a file cannot
be opened from the command line.
Solution: Recognize double-byte characters when parsing the command line.
In mch_stat() check for the last byte to be part of a multi-byte
character. (Taro Muraoka)
Files: src/gui_w48.c, src/os_mswin.c
Patch 6.3.023
Problem: When the "to" part of a mapping starts with its "from" part,
abbreviations for the same characters is not possible. For
example, when <Space> is mapped to something that starts with a
space, typing <Space> does not expand abbreviations.
Solution: Only disable expanding abbreviations when a mapping is not
remapped, don't disable it when the RHS of a mapping starts with
the LHS.
Files: src/getchar.c, src/vim.h
Patch 6.3.024
Problem: In a few places a string in allocated memory is not terminated
with a NUL.
Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and
serverGetVimNames().
Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c
Patch 6.3.025 (extra)
Problem: Missing NUL for list of server names.
Solution: Add ga_append(NUL) in serverGetVimNames().
Files: src/os_mswin.c
Patch 6.3.026
Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that
reloads the colors an endless loop and/or a crash may occur.
Solution: Only free the old value of an option when it was originally
allocated. Limit recursiveness of init_highlight() to 5 levels.
Files: src/option.c, src/syntax.c
Patch 6.3.027
Problem: VMS: Writing a file may insert extra CR characters. Not all
terminals are recognized correctly. Vt320 doesn't support colors.
Environment variables are not expanded correctly.
Solution: Use another method to write files. Add vt320 termcap codes for
colors. (Zoltan Arpadffy)
Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h,
src/term.c
Patch 6.3.028
Problem: When appending to a file the BOM marker may be written. (Alex
Jakushev)
Solution: Do not write the BOM marker when appending.
Files: src/fileio.c
Patch 6.3.029
Problem: Crash when inserting a line break. (Walter Briscoe)
Solution: In the syntax highlighting code, don't use an old state after a
change was made, current_col may be past the end of the line.
Files: src/syntax.c
Patch 6.3.030
Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets
'encoding' to "utf-8" and loads the menus again. GTK error
message when tooltip text is in a wrong encoding.
Solution: Don't copy characters from the old screen to the new screen when
switching 'encoding' to utf-8, they may be invalid. Only set the
tooltip when it is valid utf-8.
Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c
Patch 6.3.031
Problem: When entering a mapping and pressing Tab halfway the command line
isn't redrawn properly. (Adri Verhoef)
Solution: Reposition the cursor after drawing over the "..." of the
completion attempt.
Files: src/ex_getln.c
Patch 6.3.032
Problem: Using Python 2.3 with threads doesn't work properly.
Solution: Release the lock after initialization.
Files: src/if_python.c
Patch 6.3.033
Problem: When a mapping ends in a Normal mode command of more than one
character Vim doesn't return to Insert mode.
Solution: Check that the mapping has ended after obtaining all characters of
the Normal mode command.
Files: src/normal.c
Patch 6.3.034
Problem: VMS: crash when using ":help".
Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?"
wildcard. (Zoltan Arpadffy)
Files: src/tag.c
Patch 6.3.035 (extra)
Problem: RISC OS: Compile errors.
Solution: Change e_screnmode to e_screenmode. Change the way
__riscosify_control is set. Improve the makefile. (Andy Wingate)
Files: src/os_riscos.c, src/search.c, src/Make_ro.mak
Patch 6.3.036
Problem: ml_get errors when the whole file is a fold, switching
'foldmethod' and doing "zj". (Christian J. Robinson) Was not
deleting the fold but creating a fold with zero lines.
Solution: Delete the fold properly.
Files: src/fold.c
Patch 6.3.037 (after 6.3.032)
Problem: Warning for unused variable.
Solution: Change the #ifdefs for the saved thread stuff.
Files: src/if_python.c
Patch 6.3.038 (extra)
Problem: Win32: When the "file changed" dialog pops up after a click that
gives gvim focus and not moving the mouse after that, the effect
of the click may occur when moving the mouse later. (Ken Clark)
Happened because the release event was missed.
Solution: Clear the s_button_pending variable when any input is received.
Files: src/gui_w48.c
Patch 6.3.039
Problem: When 'number' is set and inserting lines just above the first
displayed line (in another window on the same buffer), the line
numbers are not updated. (Hitier Sylvain)
Solution: When 'number' is set and lines are inserted/deleted redraw all
lines below the change.
Files: src/screen.c
Patch 6.3.040
Problem: Error handling does not always work properly and may cause a
buffer to be marked as if it's viewed in a window while it isn't.
Also when selecting "Abort" at the attention prompt.
Solution: Add enter_cleanup() and leave_cleanup() functions to move
saving/restoring things for error handling to one place.
Clear a buffer read error when it's unloaded.
Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c,
src/proto/ex_eval.pro, src/structs.h, src/vim.h
Patch 6.3.041 (extra)
Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h"
doesn't work. (Valery Kondakoff)
Solution: Use a wide function to change directory.
Files: src/os_mswin.c
Patch 6.3.042
Problem: When there is a closed fold at the top of the window, CTRL-X
CTRL-E in Insert mode reduces the size of the fold instead of
scrolling the text up. (Gautam)
Solution: Scroll over the closed fold.
Files: src/move.c
Patch 6.3.043
Problem: 'hlsearch' highlighting sometimes disappears when inserting text
in PHP code with syntax highlighting. (Marcel Svitalsky)
Solution: Don't use pointers to remember where a match was found, use an
index. The pointers may become invalid when searching in other
lines.
Files: src/screen.c
Patch 6.3.044 (extra)
Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves
pixels behind. (Richard Sandilands)
Solution: Erase the character cell before drawing the text when needed.
Files: src/gui_mac.c
Patch 6.3.045
Problem: Unusual characters in an option value may cause unexpected
behavior, especially for a modeline. (Ciaran McCreesh)
Solution: Don't allow setting termcap options or 'printdevice' in a
modeline. Don't list options for "termcap" and "all" in a
modeline. Don't allow unusual characters in 'filetype', 'syntax',
'backupext', 'keymap', 'patchmode' and 'langmenu'.
Files: src/option.c, runtime/doc/options.txt
Patch 6.3.046
Problem: ":registers" doesn't show multi-byte characters properly.
(Valery Kondakoff)
Solution: Get the length of each character before displaying it.
Files: src/ops.c
Patch 6.3.047 (extra)
Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with
read-only attributes. (Tony Mechelynck)
Solution: Don't use the _wopen() function for Borland.
Files: src/os_win32.c
Patch 6.3.048 (extra)
Problem: Build problems with VMS on IA64.
Solution: Add dependencies to the build file. (Zoltan Arpadffy)
Files: src/Make_vms.mms
Patch 6.3.049 (after 6.3.045)
Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy)
Solution: Add a typecast.
Files: src/option.c
Patch 6.3.050
Problem: When SIGHUP is received while busy exiting, non-reentrant
functions such as free() may cause a crash.
Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
Files: src/misc1.c, src/main.c
Patch 6.3.051
Problem: When 'wildmenu' is set and completed file names contain multi-byte
characters Vim may crash.
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
Files: src/screen.c
Patch 6.3.052 (extra)
Problem: Windows 98: typed keys that are not ASCII may not work properly.
For example with a Russian input method. (Jiri Jezdinsky)
Solution: Assume that the characters arrive in the current codepage instead
of UCS-2. Perform conversion based on that.
Files: src/gui_w48.c
Patch 6.3.053
Problem: Win32: ":loadview" cannot find a file with non-ASCII characters.
(Valerie Kondakoff)
Solution: Use mch_open() instead of open() to open the file.
Files: src/ex_cmds2.c
Patch 6.3.054
Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus)
Vim is actually still working but redraw is disabled.
Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo
buffer but a CTRL-L.
Files: src/edit.c
Patch 6.3.055 (after 6.3.013)
Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>=
when editing a command line. Using <C-\>e may crash Vim. (Peter
Winters)
Solution: When moving ccline out of the way for recursive use, make it
available to the functions that need it. Also save and restore
ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at
the end of getcmdline().
Files: src/ex_getln.c
Patch 6.3.056
Problem: The last characters of a multi-byte file name may not be displayed
in the window title.
Solution: Avoid to remove a multi-byte character where the last byte looks
like a path separator character. (Yasuhiro Matsumoto)
Files: src/buffer.c, src/ex_getln.c
Patch 6.3.057
Problem: When filtering lines folds are not updated. (Carl Osterwisch)
Solution: Update folds for filtered lines.
Files: src/ex_cmds.c
Patch 6.3.058
Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on
Vim may crash. Disabling the vertical split feature breaks
compiling. (Peter Winters)
Solution: Check for zero room for wrapped text. Make compiling without
vertical splits possible.
Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c
Patch 6.3.059
Problem: Crash when expanding an ":edit" command containing several spaces
with the shell. (Brian Hirt)
Solution: Allocate enough space for the quotes.
Files: src/os_unix.c
Patch 6.3.060
Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name
still causes something to be inserted.
Solution: Check the register name for being valid.
Files: src/edit.c
Patch 6.3.061
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
multi-byte character in the last column, displaying is messed up.
(Joël Rio)
Solution: Check for a multi-byte character, not a multi-column character.
Files: src/screen.c
Patch 6.3.062
Problem: ":normal! gQ" hangs.
Solution: Quit getcmdline() and do_exmode() when out of typeahead.
Files: src/ex_getln.c, src/ex_docmd.c
Patch 6.3.063
Problem: When a CursorHold autocommand changes to another window
(temporarily) 'mousefocus' stops working.
Solution: Call gui_mouse_correct() after triggering CursorHold.
Files: src/gui.c
Patch 6.3.064
Problem: line2byte(line("$") + 1) sometimes returns the wrong number.
(Charles Campbell)
Solution: Flush the cached line before counting the bytes.
Files: src/memline.c
Patch 6.3.065
Problem: The euro digraph doesn't always work.
Solution: Add an "e=" digraph for Unicode euro character and adjust the
help files.
Files: src/digraph.c, runtime/doc/digraph.txt
Patch 6.3.066
Problem: Backup file may get wrong permissions.
Solution: Use permissions of original file for backup file in more places.
Files: src/fileio.c
Patch 6.3.067 (after 6.3.066)
Problem: Newly created file gets execute permission.
Solution: Check for "perm" to be negative before using it.
Files: src/fileio.c
Patch 6.3.068
Problem: When editing a compressed file xxx.gz which is a symbolic link to
the actual file a ":write" renames the link.
Solution: Resolve the link, so that the actual file is renamed and
compressed.
Files: runtime/plugin/gzip.vim
Patch 6.3.069
Problem: When converting text with illegal characters Vim may crash.
Solution: Avoid that too much is subtracted from the length. (Da Woon Jung)
Files: src/mbyte.c
Patch 6.3.070
Problem: After ":set number linebreak wrap" and a vertical split, moving
the vertical separator far left will crash Vim. (Georg Dahn)
Solution: Avoid dividing by zero.
Files: src/charset.c
Patch 6.3.071
Problem: The message for CTRL-X mode is still displayed after an error for
'thesaurus' or 'dictionary' being empty.
Solution: Clear "edit_submode".
Files: src/edit.c
Patch 6.3.072
Problem: Crash in giving substitute message when language is Chinese and
encoding is utf-8. (Yongwei)
Solution: Make the msg_buf size larger when using multi-byte.
Files: src/vim.h
Patch 6.3.073
Problem: Win32 GUI: When the Vim window is partly above or below the
screen, scrolling causes display errors when the taskbar is not on
that side.
Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or
above the screen.
Files: src/gui_w48.c
Patch 6.3.074
Problem: When mswin.vim is used and 'insertmode' is set, typing text in
Select mode and then using CTRL-V results in <SNR>99_Pastegi.
(Georg Dahn)
Solution: When restart_edit is set use "d" instead of "c" to remove the
selected text to avoid calling edit() twice.
Files: src/normal.c
Patch 6.3.075
Problem: After unloading another buffer, syntax highlighting in the current
buffer may be wrong when it uses "containedin". (Eric Arnold)
Solution: Use "buf" instead of "curbuf" in syntax_clear().
Files: src/syntax.c
Patch 6.3.076
Problem: Crash when using cscope and there is a parse error (e.g., line too
long). (Alexey I. Froloff)
Solution: Pass the actual number of matches to cs_manage_matches() and
correctly handle the error situation.
Files: src/if_cscope.c
Patch 6.3.077 (extra)
Problem: VMS: First character input after ESC was not recognized.
Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy)
Files: src/os_vms.c
Patch 6.3.078 (extra, after 6.3.077)
Problem: VMS: Performance issue after patch 6.3.077
Solution: Add a timeout in the itemlist. (Zoltan Arpadffy)
Files: src/os_vms.c
Patch 6.3.079
Problem: Crash when executing a command in the command line window while
syntax highlighting is enabled. (Pero Brbora)
Solution: Don't use a pointer to a buffer that has been deleted.
Files: src/syntax.c
Patch 6.3.080 (extra)
Problem: Win32: With 'encoding' set to utf-8 while the current codepage is
Chinese editing a file with some specific characters in the name
fails.
Solution: Use _wfullpath() instead of _fullpath() when necessary.
Files: src/os_mswin.c
Patch 6.3.081
Problem: Unix: glob() may execute a shell command when it's not wanted.
(Georgi Guninski)
Solution: Verify the sandbox flag is not set.
Files: src/os_unix.c
Patch 6.3.082 (after 6.3.081)
Problem: Unix: expand() may execute a shell command when it's not wanted.
(Georgi Guninski)
Solution: A more generic solution than 6.3.081.
Files: src/os_unix.c
Patch 6.3.083
Problem: VMS: The vt320 termcap entry is incomplete.
Solution: Add missing function keys. (Zoltan Arpadffy)
Files: src/term.c
Patch 6.3.084 (extra)
Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored.
Failure when $(OUTDIR) already exists. "po" makefile is missing.
Solution: Use changes tested in Vim 7. (Tony Mechelynck)
Files: src/Make_cyg.mak, src/po/Make_cyg.mak
Patch 6.3.085
Problem: Crash in syntax highlighting code. (Marc Espie)
Solution: Prevent current_col going past the end of the line.
Files: src/syntax.c
Patch 6.3.086 (extra)
Problem: Can't produce message translation file with msgfmt that checks
printf strings.
Solution: Fix the Russian translation.
Files: src/po/ru.po, src/po/ru.cp1251.po
Patch 6.3.087
Problem: MS-DOS: Crash. (Jason Hood)
Solution: Don't call fname_case() with a NULL pointer.
Files: src/ex_cmds.c
Patch 6.3.088
Problem: Editing ".in" causes error E218. (Stefan Karlsson)
Solution: Require some characters before ".in". Same for ".orig" and others.
Files: runtime/filetype.vim
Patch 6.3.089
Problem: A session file doesn't work when created while the current
directory contains a space or the directory of the session files
contains a space. (Paolo Giarrusso)
Solution: Escape spaces with a backslash.
Files: src/ex_docmd.c
Patch 6.3.090
Problem: A very big value for 'columns' or 'lines' may cause a crash.
Solution: Limit the values to 10000 and 1000.
Files: src/option.c
Patch 6.4a.001
Problem: The Unix Makefile contained too many dependencies and a few
uncommented lines.
Solution: Run "make depend" with manual changes to avoid a gcc
incompatibility. Comment a few lines.
Files: src/Makefile
Patch 6.4b.001
Problem: Vim reports "Vim 6.4a" in the ":version" output.
Solution: Change "a" to "b". (Tony Mechelynck)
Files: src/version.h
Patch 6.4b.002
Problem: In Insert mode, pasting a multi-byte character after the end of
the line leaves the cursor just before that character.
Solution: Make sure "gP" leaves the cursor in the right place when
'virtualedit' is set.
Files: src/ops.c
Patch 6.4b.003 (after 6.4b.002)
Problem: The problem still exists when 'encoding' is set to "cp936".
Solution: Fix the problem in getvvcol(), compute the coladd field correctly.
Files: src/charset.c, src/ops.c
Patch 6.4b.004
Problem: Selecting a {} block with "viB" includes the '}' when there is an
empty line before it.
Solution: Don't advance the cursor to include a line break when it's already
at the line break.
Files: src/search.c
vim:tw=78:ts=8:ft=help:norl:
|