This file is indexed.

/usr/share/doc/vim/html/todo.html is in vim-doc 2:8.0.1453-1ubuntu1.

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
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" content="text/html; charset=ISO-8859-1">
<TITLE>Vim documentation: todo</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>Vim documentation: todo</H1>
<A NAME="top"></A>
<A HREF="index.html">main help file</A>

<HR>
<PRE>

*<A NAME="todo.txt"></A><B>todo.txt</B>*      For Vim version 8.0.  Last change: 2018 Jan 28


		  VIM REFERENCE MANUAL	  by <A HREF="intro.html#Bram">Bram</A> <A HREF="intro.html#Moolenaar">Moolenaar</A>



			      TODO <A HREF="eval.html#list">list</A> for Vim		*<A NAME="todo"></A><B>todo</B>*

This is a veeeery long <A HREF="eval.html#list">list</A> of known bugs, current work and desired
improvements.  To make <A HREF="motion.html#it">it</A> a little bit accessible, the older items are grouped
by subject.  In the first column of the line a classification is used to be
able to look for &quot;the next thing to do&quot;:

Priority classification:
9   next point release
8   next release
7   <A HREF="motion.html#as">as</A> soon <A HREF="motion.html#as">as</A> possible
6   soon
5   should be included
4   <A HREF="#nice">nice</A> to have
3   consider including
2   maybe not
1   probably not
-   unclassified


						    *<A NAME="votes-for-changes"></A><B>votes-for-changes</B>*
See |<A HREF="develop.html">develop.txt</A>| for <A HREF="develop.html#development">development</A> plans.  You can vote for which items should
be worked on, but only if you sponsor Vim <A HREF="develop.html#development">development</A>.  See |<A HREF="sponsor.html#sponsor">sponsor</A>|.

Issues can also be entered online: https://github.com/vim/vim/issues
Only use this for bug reports, not for questions!  Those belong on the
<A HREF="intro.html#maillist">maillist</A>.  Updates will be forwarded to the |<A HREF="intro.html#vim_dev">vim_dev</A>| <A HREF="intro.html#maillist">maillist</A>.  Issues
entered there will not be repeated below, unless there is extra information.


							*<A NAME="known-bugs"></A><B>known-bugs</B>*

No maintainer for Vietnamese translations.
No maintainer for Simplified <A HREF="mbyte.html#Chinese">Chinese</A> translations.

Terminal emulator <A HREF="windows.html#window">window</A>:
- Lots of stuff to implement, see src/terminal.c
- Improve debugger interface:
  Include all debug features of Agide.
    - Implement the right-click popup menu for the <A HREF="terminal.html#terminal">terminal</A>. Can use the
      completion popup menu code and mouse dragging.
      Use <A HREF="motion.html#it">it</A> for &quot;set breakpoint&quot;, &quot;remove breakpoint&quot;, etc.
 - get ideas from	<A HREF="http://clewn.sf.net">http://clewn.sf.net</A>
  - Look into the idevim plugin/script.
- Improve <A HREF="eval.html#testing">testing</A>:
  Make a screenshot of a <A HREF="terminal.html#terminal">terminal</A>, store in a file.
  Display a stored screenshot, display <A HREF="diff.html#diff">diff</A> with another one.
  Make a test that puts Vim in a specific state, make a screenshot and compare
  with the expected screenshot.  Set <A HREF="term.html#t_Co">t_Co</A> to 256.

<A HREF="various.html#+channel">+channel</A>:
- Add a separate timeout for opening a socket.  Currently it's fixed at 50
  msec, which is too small for a remote connection. (tverniquet, #2130)
- Try out background make <A HREF="usr_05.html#plugin">plugin</A>: 
  https://github.com/AndrewVos/vim-make-background
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
- Writing raw mode to a buffer should still handle NL characters <A HREF="motion.html#as">as</A> line
  breaks. (Dmitry Zotikov, 2017 Aug 16)
- When <A HREF="channel.html#out_cb">out_cb</A> executes <A HREF="various.html#:sleep">:sleep</A>, the <A HREF="channel.html#close_cb">close_cb</A> may be invoked. (Daniel Hahler,
  2016 Dec 11, #1320)
- Implement |<A HREF="channel.html#job-term">job-term</A>| ?
- <A HREF="eval.html#Channel">Channel</A> test fails with <A HREF="gui_x11.html#Motif">Motif</A>.  Sometimes kills the <A HREF="options.html#X11">X11</A> server.
- When a message in the queue but there is no callback, drop <A HREF="motion.html#it">it</A> after a while?
  Add <A HREF="editing.html#timestamp">timestamp</A> to queued <A HREF="message.html#messages">messages</A> and callbacks with ID, remove after a
  minute.  Option to set the droptime.
- Add an option to drop text of very long lines?  Default to 1 Mbyte.
- Add remark about <A HREF="undo.html#undo">undo</A> sync, is there a way to force <A HREF="motion.html#it">it</A>?
- When starting a <A HREF="channel.html#job">job</A>, have an option to open the server socket, so we know
  the port, and pass <A HREF="motion.html#it">it</A> to the command with --socket-fd {nr}. (Olaf Dabrunz,
  Feb 9)  How to <A HREF="diff.html#do">do</A> this on <A HREF="os_win32.html#MS-Windows">MS-Windows</A>?
- For connection to server, a &quot;keep open&quot; flag would be useful.  Retry
  connecting in the main loop with zero timeout.
- <A HREF="eval.html#job_start()">job_start()</A>: run <A HREF="channel.html#job">job</A> in a newly opened <A HREF="terminal.html#terminal">terminal</A> (not a <A HREF="terminal.html#terminal">terminal</A> <A HREF="windows.html#window">window</A>).
    With xterm could use -S{pty}.
    Although user could use &quot;xterm <A HREF="starting.html#-e">-e</A> 'cmd arg&#39;&#34;'.

Regexp problems:
- When search <A HREF="pattern.html#pattern">pattern</A> has the base character both with and without combining
  character, search fails.  E.g. &quot;รรีบ&quot; in &quot;การรีบรักใคร&quot;. (agguser, #2312)
- <A HREF="pattern.html#[:space:]">[:space:]</A> only matches ASCII spaces.  Add [:white:] for all space-like
  characters, esp. including 0xa0.  Use character class zero.
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
  (Manuel Ortega, 2016 Apr 24)
  Test fails on <A HREF="os_mac.html#Mac">Mac</A>.  Avoid using isalpha(), isalnum(), etc?  Depends on
  LC_CTYPE
- The old engine does not find a match for &quot;/\&#37;#=1\(\)\{80}&quot;, the new engine
  matches everywhere.
- Using win_linetabsize() can still be slow. Cache the result, store col and
  vcol. Reset them when moving to another line.
- Very slow with a long line and <A HREF="if_ruby.html#Ruby">Ruby</A> highlighting. (John Whitley, 2014 Dec 4)
- Bug with <A HREF="pattern.html#pattern">pattern</A>: '\vblock (\d+)\.\n.*\d+&#37;(\1)@&lt;!\.$'
  (Lech Lorens, 2014 Feb 3)
- Issue 164: freeze on <A HREF="pattern.html#regexp">regexp</A> search.
- Ignorecase not handled properly for <A HREF="mbyte.html#multi-byte">multi-byte</A> characters. (Axel Bender,
  2013 Dec 11)
- Using \@&gt; and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
  Szamotulski; Remark from Brett 2014 Jan 6 and 7.
- <A HREF="pattern.html#NFA">NFA</A> <A HREF="pattern.html#regexp">regexp</A> doesn't handle \&#37;&lt;v correctly. (Ingo Karkat, 2014 May 12)
- Does not work with <A HREF="pattern.html#NFA">NFA</A> <A HREF="pattern.html#regexp">regexp</A> engine:
  \&#37;u, \&#37;x, \&#37;o, \&#37;d followed by a composing character
- Search for \&#37;d0\+ may fail with <A HREF="options.html#E363">E363</A>. (Christian Brabandt, 2016 Oct 4)
- \&#37;'[ does not work.  '&#37;'] does work.  (Masaaki Nakamura, 2016 Apr 4)
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
- New RE does not give an error for empty group: &quot;\(\)\{2}&quot; (Dominique Pelle,
  2015 Feb 7)
- Using back reference before the capturing group sometimes works with the old
  engine, can we <A HREF="diff.html#do">do</A> this with the new engine?  E.g. with
  &quot;/\&#37;(&lt;\1&gt;\)\@&lt;=.*\&#37;(&lt;\/\(\w\+\)&gt;\)\@=&quot; matching text inside HTML <A HREF="tagsrch.html#tags">tags</A>.
  This problem is probably the same: &quot;\&#37;(^\1.*$\n\)\@&lt;=\(\d\+\).*$&quot;.
  (guotuofeng, 2015 Jun 22)
- Strange matching with &quot;\(Hello\n\)\@&lt;=A&quot;. (Anas Syed, 2015 Feb 12)
- Problem with \v(A)@&lt;=b+\1c. (Issue 334)
- Diff highlighting can be very slow. (Issue 309)
- Using &#37;&gt; for a virtual column has a check based on 'tabsize'.  Better would
  be to cache the result of win_linetabsize(col), storing both col and vcol,
  and use them to decide whether win_linetabsize() needs to be called.  Reset
  col and vcol when moving to another line.
- this doesn't work: &quot;<A HREF="syntax.html#syntax">syntax</A> match ErrorMsg /.\&#37;9l\&#37;&gt;20c\&amp;\&#37;&lt;28c/&quot;.  Leaving
  out the \&amp; works.  Seems any column check after \&amp; fails.
- Difference between two engines: &quot;.*\zs\/\@&gt;\/&quot; on text &quot;///&quot;
  (Chris Paul, 2016 Nov 13)  New engine not greedy enough?
  Another one: echom matchstr(&quot; sdfsfsf\n sfdsdfsdf&quot;,'[^\n]*')
  (2017 May 15, #1252)

Include a few color schemes, based on popularity:
	<A HREF="http://www.vim.org/scripts/script_search_results.php?keywords=&amp;script_type=color+scheme&amp;order_by=rating&amp;direction=descending&amp;search=search">http://www.vim.org/scripts/script_search_results.php?keywords=&amp;script_type=color+scheme&amp;order_by=rating&amp;direction=descending&amp;search=search</A>
	<A HREF="http://vimawesome.com/?q=tag:color-scheme">http://vimawesome.com/?q=tag:color-scheme</A>
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
- monokai - Xia Crusoe (2017 Aug 4) 
- seoul256 - Christian Brabandt (2017 Aug 3)
- gruvbox -  Christian Brabandt (2017 Aug 3) (simplified version from
      Lifepillar, 2018 Jan 22, #2573)
- janah - Marco Hinz (2017 Aug 4)
- apprentice - Romain Lafourcade (2017 Aug 6)  remarks about help file #1964
Suggested by Hiroki Kokubun:
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
- [hybrid](https://github.com/w0ng/vim-hybrid)
Include solarized color scheme?, <A HREF="motion.html#it">it</A> does not support termguicolors.
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)

Reproducible:
    invalid memory access in <A HREF="pattern.html#regexp">regexp</A> with zero-width.
	reproduced by Dominique, 2017 Dec 23
    heap-use-after-free in win_equal_rec (#2467)
        au* 0 vs¡
	ar0
	arga
	al
	al
Patch to fix using freed memory. (Christian Brabandt, 2018 Jan 6, #2467)

Patch for nsis runtime files. (Ken Takata, 2018 Jan 25)

Patch for scheme runtime files (new version) (Evan Hanson, 2018 Jan 26)

Patch to turn tests into new style. (Yegappan, 2017 Dec 29, #2509)

Patch to fix crash in rubyf. (W, #2512) fixes #2511

Updates for Debian runtime files. (James McCoy, 2018 Jan 7)

Crash when calling <A HREF="eval.html#term_start()">term_start()</A> with empty command on <A HREF="windows.html#windows">windows</A>. (Wang Shidong,
2018 Dec 27, #2501)

Patch to improve DirectX rendering. (Ken Takata, 2018 Jan 18, #2560 fixes
#2401)

Endless loop invovlving gui_mch_stop_blink(). (zdohnal, 2018 Jan 11)

Patch to add <A HREF="options.html#'pythonhome'">'pythonhome'</A> and <A HREF="options.html#'pythonthreehome'">'pythonthreehome'</A> <A HREF="options.html#options">options</A>. (Kazuki Sakamoto,
2016 Nov 21, #1266)

&quot;silent! try&quot; doesn't restore emsg_silent when an exception is thrown.
(Ben Reilly, 2018 Jan 5, #2531)  Possible solution by Christian Brabandt, 2018
Jan 6.

Patch to fix <A HREF="starting.html#ex">ex</A> mode buffering output. (Brian <A HREF="motion.html#M">M</A>. Carlson, 2018 Jan 8, #2537)

Patch for config.vim <A HREF="syntax.html#syntax">syntax</A> file. (James McCoy, 2018 Jan 28, maintainer didn't
respond).

Patch to add support for clojure <A HREF="usr_41.html#script">script</A> <A HREF="filetype.html#filetype">filetype</A> detection. (David Burgin,
2018 Jan 20, #257)

Patch to implement the DirChanged autocmd event. (Andy Massimino, 2018 Jan 9,
replaces #888)

Patch to fix not adding a slash after <A HREF="editing.html#:find">:find</A> completion. (Genki Sky, 2018 Jan
10)

Patch for <A HREF="filetype.html#man.vim">man.vim</A>, fix for <A HREF="os_mac.html#Mac">Mac</A>. (SungHyun Nam, 2018 Jan 8, #2488)
Update Jan 10.

Patch to fix illegal memory access in del_bytes(). (Christian Brabandt, 2018
Jan 2, #2466)

Recursive use of alist_add() (Christian Brabandt, 2018 Jan 6, #2472)

patch 1218 breaks etags. (zdohnal, 2018 Jan 5)

Errors found with random data:
    heap-buffer-overflow in alist_add (#2472)
    heap-buffer-overflow in del_bytes (#2466)

Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in do_sub() (#2249)
- signed integer overflow in get_address() (#2248)
- signed integer overflow in getdecchrs() (#2254)
- signed integer overflow in nfa_regatom() (#2251)
    patch by Christian Brabandt, 2018 Jan 8
- undefined left <A HREF="intro.html#shift">shift</A> in get_string_tv() (#2250)

Patch to fix <A HREF="mbyte.html#CursorIM">CursorIM</A> highlighting on Windows. (Ken Takata, 2018 Jan 18)

Cursor in wrong screen line with <A HREF="gui.html#WinBar">WinBar</A>. (#2362)
Fix by Christian Brabandt (2018 Jan 2)

<A HREF="eval.html#balloon_show()">balloon_show()</A> does not work properly in the <A HREF="terminal.html#terminal">terminal</A>. (Ben Jackson, 2017 Dec
20, #2481)
Also see #2352, want better <A HREF="intro.html#control">control</A> over balloon, perhaps set the position.

Patch to make installer faster. (Ken Takata, 2018 Jan 3, #2522)

Patch to support hunspell. (Matej Cepl, Jan 2018, #2500)

Cursor in status line after search. (#2530)

Cursor in wrong position when line wraps. (#2540)

Alternative <A HREF="filetype.html#manpager.vim">manpager.vim</A>. (Enno, 2018 Jan 5, #2529)

Patch for minimum width of completion popup menu. (Christian Brabandt, 2018
Jan 3, #2314)

When using <A HREF="repeat.html#:packadd">:packadd</A> files under &quot;later&quot; are not used, which is inconsistent
with <A HREF="repeat.html#packages">packages</A> under &quot;start&quot;. (xtal8, #1994)

Patch to make D&amp;D work between 32 bit app and 64 bit Vim. (Ken Takata, #2504)

Patch to fix invalid return value with backwards searchpair. (Daniel Hahler,
2018 Jan 15, #2552)

Column number is wrong whsn using <A HREF="options.html#'linebreak'">'linebreak'</A> and <A HREF="options.html#'wrap'">'wrap'</A>. (Keith Smiley, 2018
Jan 15, #2555)

Patch to remove redundant &quot;if&quot;. (Dominique Pelle, 2018 Jan 14)

Serbian translations. (Peseic, 2018 Jan 17)

Check argument of <A HREF="eval.html#systemlist()">systemlist()</A>. (Pavlov)

Patch to parse &quot;:line&quot; in <A HREF="tagsrch.html#tags">tags</A> file and use <A HREF="motion.html#it">it</A> for search. (Daniel Hahler,
#2546)

Patch to fix illegal memory access. (Christian Brabandt,  2018 Jan 6, #2523)

When 'inchsearch' and <A HREF="options.html#'hlsearch'">'hlsearch'</A> are set <A HREF="pattern.html#/\v">/\v</A> highlights everything.
Also see #2337

Starting <A HREF="channel.html#job">job</A> with cwd option, when the directory does not exist, gives a
confusing error message. (Wang Shidong, 2018 Jan 2, #2519)

7   Add a watchpoint in the debug mode: An <A HREF="eval.html#expression">expression</A> that breaks execution
    when evaluating to non-zero.  Add the &quot;watchadd expr&quot; command, stop when
    the value of the <A HREF="eval.html#expression">expression</A> changes.  &quot;:watchdel&quot; deletes an item,
    &quot;:watchlist&quot; lists the items. (Charles Campbell)
Patch by Christian Brabandt, 2016 Jun 10, #859

7   Make &quot;<A HREF="various.html#ga">ga</A>&quot; show the <A HREF="digraph.html#digraph">digraph</A> for a character, if <A HREF="motion.html#it">it</A> exists.
Patch from Christian Brabandt, 2011 Aug 19.

Patch to add &quot;module&quot; to <A HREF="quickfix.html#quickfix">quickfix</A> entries. (Marcin Szamotulski, Coot, 2017 Jun
8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
first.

<A HREF="eval.html#ch_sendraw()">ch_sendraw()</A> with long <A HREF="eval.html#string">string</A> does not try to read inbetween, which may cause
a deadlock if the reading side is waiting for the write to finish. (Nate
Bosch, 2018 Jan 13, #2548)

Problem with mouse scroll in tmux. (fcying, #2419)  Might be caused by patch
8.0.1309.

Des setting <A HREF="options.html#'cursorline'">'cursorline'</A> cause <A HREF="syntax.html#syntax">syntax</A> highlighting to slow down?  Perhaps is
mess up the cache?  (Mike Lee Williams, 2018 Jan 27, #2539)

Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)

With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
(Marcin Szewczyk, 2017 Apr 26)

Using <A HREF="options.html#'wildignore'">'wildignore'</A> also applies to literally entered file name.  Also with
<A HREF="windows.html#:drop">:drop</A> (remote commands).

&quot;<A HREF="starting.html#gvim">gvim</A> --remote&quot; from a directory with non-word characters changes the current
directory (Paulo Marcel Coelho <A HREF="arabic.html#Arabic">Arabic</A>, 2017 Oct 30, #2266)
Also see #1689.

Patch for 24 bit color support in <A HREF="os_win32.html#MS-Windows">MS-Windows</A> console, using vcon. (Nobuhiro
Takasaki, Ken Takata, 2017 Oct 1, #2060).

ml_get error when using a <A HREF="if_pyth.html#Python">Python</A>. (Yggdroot, 2017 Jun 1, #1737)
Lemonboy can reproduce (2017 Jun 5)

When <A HREF="options.html#'virtualedit'">'virtualedit'</A> is &quot;all&quot; and <A HREF="options.html#'cursorcolumn'">'cursorcolumn'</A> is set, the wrong column may be
highlighted. (van-debugger, 2018 Jan 23, #2576)

Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)

No <A HREF="repeat.html#profile">profile</A> information for function that executes &quot;<A HREF="editing.html#:quit">:quit</A>&quot;. (Daniel Hahler,
2017 Dec 26, #2501)

Get a &quot;No Name&quot; buffer when <A HREF="options.html#'hidden'">'hidden'</A> is set and opening a new <A HREF="windows.html#window">window</A> from the
<A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="eval.html#list">list</A>. (bfrg, 2018 Jan 22, #2574)

A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)

Patch to fix <A HREF="eval.html#E806">E806</A>. (Dominique, 2017 Nov 22, #2368)
Kazunobu Kuriyama: caused by XtSetLanguageProc().

Patch to fix <A HREF="gui.html#GUI">GUI</A> find/replace <A HREF="gui_w32.html#dialog">dialog</A>. (kiloliter, 2017 Dec 11, report in
#2418, fix in #2435)

Invalid range error when using <A HREF="autocmd.html#BufWinLeave">BufWinLeave</A> for closing <A HREF="terminal.html#terminal">terminal</A>.
(Gabriel Barta, 2017 Nov 15, #2339)

ml_get <A HREF="message.html#errors">errors</A> with buggy <A HREF="usr_41.html#script">script</A>. (Dominique, 2017 Apr 30)

Error in emsg with buggy <A HREF="usr_41.html#script">script</A>. (Dominique, 2017 Apr 30)

Patch to avoid clearing the <A HREF="intro.html#intro">intro</A> message on <A HREF="os_win32.html#Win32">Win32</A> console.
(Ken Takata, 2017 Nov 14)

Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
#2478)

Patch to copy buffer-local <A HREF="options.html#options">options</A> before buffer leaves the <A HREF="windows.html#window">window</A>. (Bjorn
Linse, 2017 Nov 14, #2336)

Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
Requires <A HREF="options.html#'formatoptions'">'formatoptions'</A> to include &quot;<A HREF="motion.html#j">j</A>&quot;. (Gary Johnson, 2017 Dec 24)

When a <A HREF="eval.html#timer">timer</A> is running and typing <A HREF="undo.html#CTRL-R">CTRL-R</A> on the command line, <A HREF="motion.html#it">it</A> is not
redrawn properly. (xtal8, 2017 Oct 23, #2241)

Universal solution to detect if <A HREF="term.html#t_RS">t_RS</A> is working, using cursor position.
Koichi Iwamoto, #2126

Patch to fix cmdline abbreviation after '&lt;,'&gt;. (Christian Brabandt, 2017 Nov
13, on issue #2320)

Patch for Neovim concerning restoring when closing help <A HREF="windows.html#window">window</A>. (glacambre
neovim #7431)

Default <A HREF="usr_90.html#install">install</A> on <A HREF="os_win32.html#MS-Windows">MS-Windows</A> should source <A HREF="starting.html#defaults.vim">defaults.vim</A>.
Ask whether to use Windows or Vim key behavior?

Patch for improving detecting <A HREF="if_ruby.html#Ruby">Ruby</A> on <A HREF="os_mac.html#Mac">Mac</A> in configure. (Ilya Mikhaltsou, 2017
Nov 21)

Add a ModeChanged <A HREF="autocmd.html#autocommand">autocommand</A> that has an argument indicating the old and new
mode.  Also used for switching Terminal mode.

When using command line <A HREF="windows.html#window">window</A>, <A HREF="autocmd.html#CmdlineLeave">CmdlineLeave</A> is triggered without
<A HREF="autocmd.html#CmdlineEnter">CmdlineEnter</A>.  (xtal8, 2017 Oct 30, #2263)
Add some way to get the nested state.  Although <A HREF="autocmd.html#CmdwinEnter">CmdwinEnter</A> is obviously
always nested.

matchit hasn't been maintained for a long time.  #955.

Problem with <A HREF="options.html#'delcombine'">'delcombine'</A>. (agguser, 2017 Nov 10, #2313)

<A HREF="os_win32.html#MS-Windows">MS-Windows</A>: buffer completion doesn't work when using <A HREF="intro.html#backslash">backslash</A> (or slash)
for a path separator. (xtal8, #2201)

Patch to adjust to DPI setting for <A HREF="gui_x11.html#GTK">GTK</A>. (Roel van de Kraats, 2017 Nov 20,
#2357)

Test runtime files.
Start with <A HREF="filetype.html#filetype">filetype</A> detection: testdir/test_filetype.vim

Window not closed when <A HREF="change.html#deleting">deleting</A> buffer. (Harm te Hennepe, 2017 Aug 27, #2029)

Add options_default() / options_restore() to set several <A HREF="options.html#options">options</A> to Vim
defaults for a <A HREF="usr_05.html#plugin">plugin</A>. Comments from Zyx, 2017 May 10.
Perhaps use a vimcontext / endvimcontext command block.

After using <A HREF="autocmd.html#:noautocmd">:noautocmd</A> <A HREF="autocmd.html#CursorMoved">CursorMoved</A> may still trigger. (Andy Stewart, 2017 Sep
13, #2084).  Set old position after the command.

Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
Still happens (2017 Jul 9)

When bracketed paste is used, pasting at the &quot;<A HREF="insert.html#:append">:append</A>&quot; prompt does not get the
line breaks. (Ken Takata, 2017 Aug 22)

The &quot;<A HREF="change.html#:move">:move</A>&quot; command does not honor closed <A HREF="fold.html#folds">folds</A>. (Ryan Lue, #2351)

Memory leaks in test_channel? (or is <A HREF="motion.html#it">it</A> because of fork())
Using uninitialized value in test_crypt.
Memory leaks in test_escaped_glob

Patch to clear background when &quot;guibg=NONE&quot; is used and <A HREF="options.html#'termguicolors'">'termguicolors'</A> is
set. (Nick Jensen, 2017 Nov 13, #2332, based on #981 by Kazunobu Kuriyama)

Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)

Cannot copy modeless selection when cursor is inside <A HREF="motion.html#it">it</A>. (lkintact, #2300)

Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
It can replace the <A HREF="os_beos.html#BeOS">BeOS</A> code, which is likely not used anymore.
Now on github: #1856.  Updated Oct 2017
Got permission to include this under the Vim <A HREF="uganda.html#license">license</A>.

Patch to include hunspell support. (Matej Cepl, 2017 Dec 26, #845)
Doesn't work on Windows yet.

Refactored HTML indent file. (Michael Lee, #1821)

Test_writefile_fails_conversion failure on Solaris because if different iconv
behavior.  Skip when &quot;uname&quot; returns &quot;SunOS&quot;? (Pavel Heimlich, #1872)

<A HREF="options.html#'tagrelative'">'tagrelative'</A> is broken in specific situation. (xaizek, 2017 Oct 19, #2221)

All <A HREF="eval.html#functions">functions</A> are global, which makes <A HREF="eval.html#functions">functions</A> like <A HREF="eval.html#get()">get()</A> and <A HREF="eval.html#len()">len()</A> awkward.
For the future use the ~get() and ~len() <A HREF="syntax.html#syntax">syntax</A>, e.g.:
    mylist~get(idx)
    mydict~get(idx)
    mystring~len()
Alternatives for ~:
    ^  list^get()    could also be used
    .  list.get()    already means concatenate
    $  list$get()    harder to read
<A HREF="mailto:@">@</A> <A HREF="mailto:list@get()">list@get()</A> harder to read 
    -&gt;  list-&gt;get()  two characters, used for <A HREF="eval.html#lambda">lambda</A>

The ++ <A HREF="options.html#options">options</A> for the <A HREF="editing.html#:edit">:edit</A> command are also useful on the Vim command line.

When recovering a file, put the swap file name in b:recovered_swapfile.  Then
a command can delete <A HREF="motion.html#it">it</A>.

Overlong <A HREF="mbyte.html#utf-8">utf-8</A> sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
#2089)  Patch with possible solution by Björn Linse.

The change <A HREF="eval.html#list">list</A> index is local to a buffer, but <A HREF="motion.html#it">it</A> doesn't make sense using <A HREF="motion.html#it">it</A>
for another buffer.  (lacygoll) Copy w_changelistidx to wininfo_S and back.

<A HREF="options.html#X11">X11</A>: Putting more than about 262040 characters of text on the <A HREF="gui.html#clipboard">clipboard</A> and
pasting <A HREF="motion.html#it">it</A> in another Vim doesn't work.  (Dominique Pelle, 2008 Aug 21-23)
clip_x11_request_selection_cb() is called with zero value and length.
Also: Get an error message from free() in the process that owns the selection.
Seems to happen when the selection is requested the second time, but before
clip_x11_convert_selection_cb() is invoked, thus in X library code.
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)

Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)

Creating a partial with an <A HREF="eval.html#autoload">autoload</A> function is confused about the &quot;<A HREF="eval.html#self">self</A>&quot;
attribute of the function.  For an unknown function assume &quot;<A HREF="eval.html#self">self</A>&quot; and make
that optiona? (Bjorn Linse, 2017 Aug 5)

Cindent: returning a structure has more indent for the second item.
(Sam Pagenkopf, 2017 Sep 14, #2090)

Completion mixes results from the current buffer with <A HREF="tagsrch.html#tags">tags</A> and other files.
Happens when typing <A HREF="motion.html#CTRL-N">CTRL-N</A> while still search for results.  E.g., type &quot;b_&quot; in
terminal.c and then <A HREF="motion.html#CTRL-N">CTRL-N</A> <A HREF="if_cscop.html#twice">twice</A>.
Should <A HREF="diff.html#do">do</A> current file first and not split <A HREF="motion.html#it">it</A> up when more results are found.
(Also #1890)

Patch from Christian Brabandt to preserve upper <A HREF="change.html#case">case</A> marks when wiping out a
buffer. (2013 Dec 9)
Also fixes #2166?

Patch to add argument to <A HREF="quickfix.html#:cquit">:cquit</A>. (Thinca, 2014 Oct 12)

<A HREF="if_pyth.html#Python">Python</A>: After &quot;import vim&quot; error <A HREF="message.html#messages">messages</A> only show the first line of the
stack trace. (Yggdroot, 2017 Jul 28, #1887)

Profile of a <A HREF="eval.html#dict">dict</A> function is lost when the <A HREF="eval.html#dict">dict</A> is deleted.  Would <A HREF="motion.html#it">it</A> be
possible to collect this?  (Daniel Hahler, #2350)

Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
#2322)  Now in #2327?

When checking if a bufref is valid, also check the buffer number, to catch the
<A HREF="change.html#case">case</A> of <A HREF="windows.html#:bwipe">:bwipe</A> followed by <A HREF="windows.html#:new">:new</A>.

Patch to skip <A HREF="editing.html#writing">writing</A> a temp file for diffing if the buffer is equal to the
existing file. (Akria Sheng, 2017 Jul 22)
Could also skip <A HREF="editing.html#writing">writing</A> lines that are the same.

Patch with Files for Latvian language. (Vitolins, 2017 May 3, #1675)

<A HREF="os_win32.html#MS-Windows">MS-Windows</A>: Opening same file in a second <A HREF="starting.html#gvim">gvim</A> hangs. (Sven Bruggemann, 2017
Jul 4)

Setting <A HREF="options.html#'clipboard'">'clipboard'</A> to &quot;unnamed&quot; makes a global command very slow (Daniel
Drucker, 2017 May 8).
This was supposed to be fixed, did <A HREF="motion.html#it">it</A> break again somehow?
Christian cannot reproduce <A HREF="motion.html#it">it</A>.

Using composing char in <A HREF="map.html#mapping">mapping</A> does not work properly. <A HREF="eval.html#maparg()">maparg()</A> shows the
wrong thing. (Nikolai Pavlov, 2017 Jul 8, #1827)
Or is this not an actual problem?

Better TeX indent file. (Christian Brabandt, 2017 May 3)

Openhab <A HREF="syntax.html#syntax">syntax</A> file (mueller, #1678)

Patch to use a separate code for BS on Windows. (Linwei, #1823)

Use gvimext.dll from the nightly build? (Issue #249)

<A HREF="options.html#'synmaxcol'">'synmaxcol'</A> works with bytes instead of screen cells. (Llandon, 2017 May 31,
#1736)

Problem with using <A HREF="editing.html#:cd">:cd</A> when remotely editing a file. (Gerd Wachsmuth, 2017 May
8, #1690)

Running test_gui and test_gui_init with <A HREF="gui_x11.html#Motif">Motif</A> sometimes kills the <A HREF="windows.html#window">window</A>
manager.  Problem with <A HREF="gui_x11.html#Motif">Motif</A>?

Bogus characters inserted when triggering indent while <A HREF="change.html#changing">changing</A> text.
(Vitor Antunes, 2016 Nov 22, #1269)

Using &quot;wviminfo /tmp/viminfo&quot; does not store file marks that Vim knows about,
<A HREF="motion.html#it">it</A> only works when merging with an existing file.  (Shougo, 2017 Jun 19, #1781)

Segmentation fault with <A HREF="eval.html#complete()">complete()</A>. (Lifepillar, 2017 Apr 29, #1668)
Check for &quot;pat&quot; to be NULL in search_for_exact_line()?
How did <A HREF="motion.html#it">it</A> get NULL?  Comment by Christian, Apr 30.

Is <A HREF="motion.html#it">it</A> possible to keep the complete menu open when calling <A HREF="eval.html#complete()">complete()</A>?
(Prabir Shrestha, 2017 May 19, #1713)

Memory leak in test97?  The <A HREF="eval.html#string">string</A> is actually freed.  Weird.

Patch to add configure flags to skip rtl, <A HREF="farsi.html#farsi">farsi</A> and arabic support.
(Diego Carrión, #1867)

<A HREF="eval.html#assert_fails()">assert_fails()</A> can only check for the first error.  Make <A HREF="motion.html#it">it</A> possible to have
<A HREF="motion.html#it">it</A> catch multiple <A HREF="message.html#errors">errors</A> and check all of them.

New value &quot;uselast&quot; for <A HREF="options.html#'switchbuf'">'switchbuf'</A>. (Lemonboy, 2017 Apr 23, #1652)

Add a toolbar in the <A HREF="terminal.html#terminal">terminal</A>.  Can be global, above all <A HREF="windows.html#windows">windows</A>, or specific
for one <A HREF="windows.html#window">window</A>.

Make <A HREF="eval.html#maparg()">maparg()</A> also return the raw rhs, so that <A HREF="motion.html#it">it</A> doesn't depend on <A HREF="options.html#'cpo'">'cpo'</A>.
(Brett Stahlman, 2017 May 23)
Even better: add a way to disable a <A HREF="map.html#mapping">mapping</A> temporarily and re-enable <A HREF="motion.html#it">it</A>
later.  This is for a sub-mode that is active for a short while (one buffer).
Still need maplist() to find the mappings.  What can we use to identify a
<A HREF="map.html#mapping">mapping</A>?  Something unique would be better than the LHS.
Perhaps simpler: actually delete the mappings.  Use maplist() to <A HREF="eval.html#list">list</A> matching
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
maprestore() to restore (using the output of maplist()).

Add an argument to <A HREF="starting.html#:mkvimrc">:mkvimrc</A> (or add another command) to skip mappings from
plugins (source is a Vim <A HREF="usr_41.html#script">script</A>).  No need to put these in a <A HREF="starting.html#.vimrc">.vimrc</A>, they will
be defined when the <A HREF="usr_05.html#plugin">plugin</A> is loaded.

Use tb_set(winid, [{'text': 'stop', <A HREF="options.html#'cb'">'cb'</A>: callback, <A HREF="options.html#'hi'">'hi'</A>: 'Green'}])
    tb_highlight(winid, 'ToolBar')
    tb_get(winid)

<A HREF="eval.html#json_encode()">json_encode()</A>: should convert to <A HREF="mbyte.html#utf-8">utf-8</A>. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?

Json <A HREF="eval.html#string">string</A> with trailing \u should be an error. (Lcd)

import can't be used in define option when include matches too.
(Romain Lafourcade, 2017 Jun 18, #1519)

When session file has name in argument <A HREF="eval.html#list">list</A> but the buffer was deleted, the
buffer is not deleted when using the session file. (#1393)
Should add the buffer in hidden state.

When an item in the <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="eval.html#list">list</A> has a file name that does not exist, behave
like the item was not a match for <A HREF="quickfix.html#:cnext">:cnext</A>.

Wrong <A HREF="diff.html#diff">diff</A> highlighting with three files. (2016 Oct 20, #1186)
Also get <A HREF="various.html#E749">E749</A> on exit.
Another example in #1309

When <A HREF="change.html#deleting">deleting</A> a <A HREF="motion.html#mark">mark</A> or <A HREF="sponsor.html#register">register</A>, leave a tombstone, so that it's also deleted
when <A HREF="editing.html#writing">writing</A> <A HREF="starting.html#viminfo">viminfo</A> (and the delete was the most recent action). #1339

Suggestion to improve pt-br <A HREF="spell.html#spell">spell</A> checking. (Marcelo <A HREF="change.html#D">D</A> Montu, 2016 Dec 15,
#1330)

Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)

Completion for <A HREF="various.html#:!cmd">:!cmd</A> shows each match <A HREF="if_cscop.html#twice">twice</A>. #1435

<A HREF="gui_x11.html#GTK">GTK</A>: When adding a <A HREF="eval.html#timer">timer</A> from <A HREF="options.html#'balloonexpr'">'balloonexpr'</A> <A HREF="motion.html#it">it</A> won't fire, because
g_main_context_iteration() doesn't return.  Need to trigger an event when the
<A HREF="eval.html#timer">timer</A> expires.

Screen update bug related to <A HREF="pi_paren.html#matchparen">matchparen</A>.  (Chris Heath, 2017 Mar 4, #1532)

Rule to use &quot;<A HREF="motion.html#^">^</A>&quot; for statusline does not work if a space is defined with
highlighting for both stl and stlnc.  Patch by Ken Hamada (itchyny, 2016 Dec 11)

8   &quot;stl&quot; and &quot;stlnc&quot; in <A HREF="options.html#'fillchars'">'fillchars'</A> don't work for <A HREF="mbyte.html#multi-byte">multi-byte</A> characters.
    Patch by Christian Wellenbrock, 2013 Jul 5.

Using CTRL-G_U in <A HREF="autocmd.html#InsertCharPre">InsertCharPre</A> causes trouble for <A HREF="undo.html#redo">redo</A>. (Israel Chauca
Fuentes, 2017 Feb 12, #1470)

Add a &quot;keytrans()&quot; function, which turns the internal byte representation of a
key into a form that can be used for <A HREF="map.html#:map">:map</A>.  E.g.
    let xx = &quot;\&lt;C-Home&gt;&quot;
    echo keytrans(xx)
    <A HREF="motion.html#&lt;C-Home&gt;">&lt;C-Home&gt;</A>

Check for <A HREF="message.html#errors">errors</A> <A HREF="eval.html#E704">E704</A> and <A HREF="eval.html#E705">E705</A> only does VAR_FUNC, should also <A HREF="diff.html#do">do</A> VAR_PARTIAL.
(Nikolai Pavlov, 2017 Mar 13, #1557)
Make a function to check for function-like type?

Screen updated delayed when using <A HREF="motion.html#CTRL-O">CTRL-O</A> <A HREF="undo.html#u">u</A> in <A HREF="insert.html#Insert">Insert</A> mode.
(Barlik, #1191)  Perhaps because status message?

Implement optional arguments for <A HREF="eval.html#functions">functions</A>.
    func Foo(start, <A HREF="intro.html#count">count</A> = 1 all = 1)
    call Foo(12)
    call Foo(12, all = 0)
    call Foo(12, 15, 0)

Change the <A HREF="farsi.html#Farsi">Farsi</A> code to work with <A HREF="mbyte.html#UTF-8">UTF-8</A>.  Possibly combined with the <A HREF="arabic.html#Arabic">Arabic</A>
support, or similar.
Invalid read error in <A HREF="farsi.html#Farsi">Farsi</A> mode. (Dominique Pelle, 2009 Aug 2)

Add a command to take a range of lines, <A HREF="change.html#filter">filter</A> them and put the output
somewhere else.  :{range}copy {dest} !cmd

Patch to fix that empty first <A HREF="intro.html#tab">tab</A> is not in session.
(Hirohito Higashi, 2016 Nov 25, #1282)

Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
New one from Yasuhiro Matsumoto, #1277.

Patch to fix escaping of <A HREF="channel.html#job">job</A> arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
Update Aug 2017: #1954

Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)
Remarks from Christian Brabandt (Apr 21)

The <A HREF="autocmd.html#TermResponse">TermResponse</A> event is not triggered when a <A HREF="usr_05.html#plugin">plugin</A> has set <A HREF="options.html#'eventignore'">'eventignore'</A> to
&quot;all&quot;.  Netrw does this. (Gary Johnson, 2017 Jan 24)
Postpone the event until <A HREF="options.html#'eventignore'">'eventignore'</A> is reset.

Expanding /**/ is slow.  Idea by Luc Hermitte, 2017 Apr 14.

Once .exe with updated installer is available: Add remark to <A HREF="intro.html#download">download</A> page
about /S and /D <A HREF="options.html#options">options</A> (Ken Takata, 2016 Apr 13)
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases

Problem passing non-UTF-8 strings to <A HREF="if_pyth.html#Python">Python</A> 3. (Björn Linse, 2016 Sep 11,
#1053)  With patch, does <A HREF="motion.html#it">it</A> work?

Using <A HREF="remote.html#--remote">--remote</A> to open a file in which a # appears does not work on
<A HREF="os_win32.html#MS-Windows">MS-Windows</A>.  Perhaps in \#  the \ is seen <A HREF="motion.html#as">as</A> a path separator. (Axel Bender,
2017 Feb 9)  Can we expand <A HREF="editing.html#wildcards">wildcards</A> first and send the path literally to the
receiving Vim?  Or make an exception for #, it's not useful remotely.

&quot;<A HREF="windows.html#:sbr">:sbr</A>&quot; docs state <A HREF="motion.html#it">it</A> respects <A HREF="options.html#'switchbuf'">'switchbuf'</A>, but &quot;vsplit&quot; does not cause a
vertical split. (Haldean Brown, 2017 Mar 1)

Use ADDR_OTHER instead of ADDR_LINES for many more commands.
Add tests for using number larger than number of lines in buffer.

Might be useful to have isreadonly(), like we have <A HREF="eval.html#islocked()">islocked()</A>.
Avoids exceptions, e.g. when using the <A HREF="eval.html#b:">b:</A> namespace <A HREF="motion.html#as">as</A> a <A HREF="eval.html#dict">dict</A>.

Patch to make <A HREF="eval.html#v:shell_error">v:shell_error</A> writable. (Christian Brabandt, 2016 Sep 27)
Useful to restore <A HREF="motion.html#it">it</A>.  Is there another solution?

&quot;ci[&quot; does not look for next [ like ci&quot; does look for next &quot;.
(J.F. 2017 Jan 7)

Patch for wrong cursor position on wrapped line, involving breakindent.
(Ozaki Kiichi, 2016 Nov 25)
Does this also fix #1408 ?

<A HREF="options.html#'cursorline'">'cursorline'</A> and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)

Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)

Patch to be able to separately map <A HREF="motion.html#CTRL-H">CTRL-H</A> and BS on Windows.
(Linwei, 2017 Jul 11, #1833)

When <A HREF="options.html#'completeopt'">'completeopt'</A> has &quot;noselect&quot; does not insert a newline. (Lifepillar, 2017
Apr 23, #1653)

Using an external <A HREF="diff.html#diff">diff</A> is inefficient.  Not all systems have a good <A HREF="diff.html#diff">diff</A>
program available (esp. <A HREF="os_win32.html#MS-Windows">MS-Windows</A>).  Would be <A HREF="#nice">nice</A> to have in internal <A HREF="diff.html#diff">diff</A>
implementation.  Can then also use this for displaying changes within a line.
Olaf Dabrunz is working on this. (10 Jan 2016)
9   Instead invoking an external <A HREF="diff.html#diff">diff</A> program, use builtin code.  One can be
 found here:	<A HREF="http://www.ioplex.com/~miallen/libmba/dl/src/diff.c">http://www.ioplex.com/~miallen/libmba/dl/src/diff.c</A>
    It's complicated and badly documented.

Window resizing with <A HREF="options.html#'winfixheight'">'winfixheight'</A>: With a vertical split the height changes
anyway. (Tommy allen, 2017 Feb 21, #1502)

When adding an item to a new <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="eval.html#list">list</A> make &quot;<A HREF="quickfix.html#:cnext">:cnext</A>&quot; jump to that item.
Make a difference being at the first item and not having used <A HREF="quickfix.html#:cnext">:cnext</A> at all.
(Afanasiy Fet, 2017 Jan 3)

Invalid behavior with NULL <A HREF="eval.html#list">list</A>. (Nikolai Pavlov, #768)
E.g. deepcopy(test_null_list())

Patch to make <A HREF="motion.html#it">it</A> possible to extend a <A HREF="eval.html#list">list</A> with itself.
(Nikolai Pavlov, 2016 Sep 23)

Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)

Patch to add trim() function. (Bukn, 2016 Nov 25, #1280)

Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)

Patch to change argument of <A HREF="motion.html#:marks">:marks</A>. (LemonBoy, 2017 Jan 29, #1426)

On Windows buffer completion sees <A HREF="intro.html#backslash">backslash</A> <A HREF="motion.html#as">as</A> <A HREF="intro.html#escape">escape</A> char instead of path
separator. (Toffanim, 2016 Nov 24, #1274)

<A HREF="eval.html#min()">min()</A> and <A HREF="eval.html#max()">max()</A> spawn lots of error <A HREF="message.html#messages">messages</A> if sorted list/dictionary
contains invalid data (Nikolay Pavlov, 2016 Sep 4, #1039)

Should <A HREF="map.html#:vmap">:vmap</A> in matchit.vim be <A HREF="map.html#:xmap">:xmap</A>?  (Tony Mechelynck)

Problem with <A HREF="pattern.html#whitespace">whitespace</A> in <A HREF="quickfix.html#errorformat">errorformat</A>. (Gerd Wachsmuth, 2016 May 15, #807)

Undo problem: &quot;<A HREF="undo.html#g-">g-</A>&quot; doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)

Add &quot;<A HREF="mbyte.html#unicode">unicode</A> true&quot; to NSIS installer.  Doesn't work with Windows 95, which we
no longer support.

<A HREF="eval.html#sort()">sort()</A> is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
4#1038)

Patch to add &quot;cmdline&quot; completion to <A HREF="eval.html#getcompletion()">getcompletion()</A>. (Shougo, Oct 1, #1140)

Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
#1350)

Undo message is not always properly displayed.  Patch by Ken Takata, 2013 oct
3.  Doesn't work properly according to Yukihiro Nakadaira.
Also see #1635.

Patch for <A HREF="eval.html#systemlist()">systemlist()</A>, add empty item. (thinca, Sep 30, #1135)
Add an argument to choose binary or non-binary (like readfile()), when omitted
use the current behavior.
Include the test.

Patch to add tagfunc().  Cleaned up by Christian Brabandt, 2013 Jun 22.
New update 2017 Apr 10, #1628

When <A HREF="options.html#'keywordprg'">'keywordprg'</A> starts with &quot;<A HREF="cmdline.html#:">:</A>&quot; the argument is still escaped <A HREF="motion.html#as">as</A> a shell
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)

Patch to support CamelCase for <A HREF="spell.html#spell">spell</A> checking: See a lower-to-upper <A HREF="change.html#case">case</A>
change <A HREF="motion.html#as">as</A> a <A HREF="motion.html#word">word</A> boundary. (btucker-MPCData, 2016 Nov 6, #1235)

Idea from Sven: record sequence of keys.  Useful to show others what they are
doing (look over the shoulder), and also to see what happened.
Probably <A HREF="eval.html#list">list</A> of keystrokes, with some annotations for mode changes.
Could store in logfile to be able to analyse <A HREF="motion.html#it">it</A> with an external command.
E.g. to see when's the last time a <A HREF="usr_05.html#plugin">plugin</A> command was used.

<A HREF="eval.html#execute()">execute()</A> cannot be used with command completion. (Daniel Hahler, 2016 Oct 1,
#1141)

cmap using <A HREF="eval.html#execute()">execute()</A> has side effects. (Killthemule, 2016 Aug 17, #983)

<A HREF="map.html#:map">:map</A> X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)

Patch to order results from <A HREF="eval.html#taglist()">taglist()</A>. (Duncan McDougall, 2016 Oct 25)

patch for 'spellcamelcase' option: spellcheck each CamelCased <A HREF="motion.html#word">word</A>.
(Ben Tucker, 2016 Dec 2)

When using &quot;<A HREF="diff.html#:diffput">:diffput</A>&quot; through a <A HREF="map.html#mapping">mapping</A>, <A HREF="undo.html#undo">undo</A> in the target buffer isn't
synced.  (Ryan Carney, 2016 Sep 14)

<A HREF="autocmd.html#Syntax">Syntax</A> highlighting for <A HREF="message.html#messages">messages</A> with RFC3339 <A HREF="editing.html#timestamp">timestamp</A> (#946)
Did maintainer reply?

Patch to avoid problem with special characters in file name.
(Shougo, 2016 Sept 19, #1099)  Not finished?

ml_get <A HREF="message.html#errors">errors</A> when reloading file. (Chris Desjardins, 2016 Apr 19)
Also with latest version.

Cannot delete a file with square brackets with <A HREF="eval.html#delete()">delete()</A>. (#696)

Patch to add &quot;<A HREF="syntax.html#:syn">:syn</A> foldlevel&quot; to use fold level further down the line.
(Brad King, 2016 Oct 19, update 2017 Jan 30)

Completion for <A HREF="eval.html#input()">input()</A> does not expand environment <A HREF="eval.html#variables">variables</A>. (chdiza, 2016
Jul 25, #948)

Patch to add 'systemencoding', convert between <A HREF="options.html#'encoding'">'encoding'</A> and this for file
names, shell commands and the like.  (Kikuchan, 2010 Oct 14)
Assume the system converts between the actual encoding of the filesystem to
the system encoding (usually <A HREF="mbyte.html#utf-8">utf-8</A>).

Using &quot;<A HREF="tabpage.html#:tab">:tab</A> drop file&quot; does not trigger <A HREF="autocmd.html#BufEnter">BufEnter</A> or <A HREF="autocmd.html#TabEnter">TabEnter</A> events.
(Andy Stewart, 2017 Apr 27, #1660)
Autocommands blocked in do_arg_all().  Supposed to happen later?

<A HREF="options.html#'hlsearch'">'hlsearch'</A> interferes with a Conceal match. (Rom Grk, 2016 Aug 9)

<A HREF="os_win32.html#MS-Windows">MS-Windows</A>: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
Otherwise task flickers in taskbar.

Should make &quot;:@r&quot; handle line continuation. (Cesar Romani, 2016 Jun 26)
Also for &quot;:@.&quot;.

Repeating <A HREF="options.html#'opfunc'">'opfunc'</A> in a function only works once. (Tarmean, 2016 Jul 15, #925)

Have a way to get the call stack, in a function and from an exception.
#1125

Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)

This does not work: <A HREF="options.html#:set">:set</A> <A HREF="options.html#'cscopequickfix'">cscopequickfix</A>=a-
(Linewi, 2015 Jul 12, #914)

Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)

Filetype <A HREF="usr_05.html#plugin">plugin</A> for awk. (Doug Kearns, 2016 Sep 5)

Patch to improve map documentation. Issue #799.

Patch for <A HREF="syntax.html#syntax">syntax</A> <A HREF="fold.html#folding">folding</A> optimization. (Shougo, 2016 Sep 6, #1045)

We can use <A HREF="motion.html#'.">'.</A> to go to the last change in the current buffer, but how about
the last change in any buffer?  Can we use '', (, is next to .)?

Ramel Eshed: <A HREF="eval.html#system()">system()</A> is much slower than <A HREF="eval.html#job_start()">job_start()</A>, why? (Aug 26)

When generating the <A HREF="mbyte.html#Unicode">Unicode</A> tables with runtime/tools/unicode.vim the
emoji_width table has only one entry.

It's possible to add &quot;,,&quot; to <A HREF="options.html#'wildignore'">'wildignore'</A>, an empty entry.  Causes problems.
Reject the value? #710.

Patch to fix increment/decrement not working properly when <A HREF="options.html#'virtualedit'">'virtualedit'</A> is
set. (Hirohito Higashi, 2016 Aug 1, #923)

When doing &quot;<A HREF="intro.html#vi">vi</A> buf.md&quot; a <A HREF="autocmd.html#BufNew">BufNew</A> <A HREF="autocmd.html#autocommand">autocommand</A> for *.md is not triggered.
Because of using the initial buffer? (Dun Peal, 2016 May 12)

Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858  Update 2017 Mar 28: use &lt;buffer&gt;

Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)

Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
No test, needs some work to include.

Patch to improve indenting for C++ constructor with initializer <A HREF="eval.html#list">list</A>.
(Hirohito Higashi, 2016 Mar 31)

Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)

Add stronger <A HREF="editing.html#encryption">encryption</A>.  Could use libsodium (NaCl).
https://github.com/jedisct1/libsodium/
Possibly include the needed code so that <A HREF="motion.html#it">it</A> can be build everywhere.

Add a way to restart a <A HREF="eval.html#timer">timer</A>.  It's similar to <A HREF="eval.html#timer_stop()">timer_stop()</A> and <A HREF="eval.html#timer_start()">timer_start()</A>,
but the reference remains valid.

Need to try out instructions in INSSTALLpc.txt about how to <A HREF="usr_90.html#install">install</A> all
interfaces and how to build Vim with them.
Appveyor build with self-installing executable, includes getting most
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
result: https://ci.appveyor.com/project/k-takata/vim/history

Duplication of completion suggestions for &quot;:!hom&quot;.  Issue 539.
Patch by Christian, 2016 Jan 29

Problem that a previous silent &quot;<A HREF="eval.html#:throw">:throw</A>&quot; causes a following try/catch not to
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)

Problem using &quot;<A HREF="eval.html#:try">:try</A>&quot; inside &quot;<A HREF="eval.html#:execute">:execute</A>&quot;. (ZyX, 2013 Sep 15)

Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)

Add &quot;<A HREF="insert.html#:read">:read</A> :command&quot;, to insert the output of an <A HREF="intro.html#Ex">Ex</A> command?
Can already <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> with &quot;:$put =execute('command')&quot;.

When <A HREF="repeat.html#repeating">repeating</A> the <A HREF="options.html#'confirm'">'confirm'</A> <A HREF="gui_w32.html#dialog">dialog</A> one needs to press Enter. (ds26gte, 2016
Apr 17)  #762

exists(&quot;:tearoff&quot;) does not tell you if the command is implemented. (Tony
Mechelynck)  Perhaps use exists(&quot;::tearoff&quot;) to check?

Use <A HREF="syntax.html#vim.vim">vim.vim</A> <A HREF="syntax.html#syntax">syntax</A> highlighting for help file examples, but without &quot;<A HREF="cmdline.html#:">:</A>&quot; in
<A HREF="options.html#'iskeyword'">'iskeyword'</A> for <A HREF="syntax.html#syntax">syntax</A>.

Patch to make &quot;&#37;:h:h&quot; return &quot;<A HREF="repeat.html#.">.</A>&quot; instead of the full path.
(Coot, 2016 Jan 24, #592)

Remove SPACE_IN_FILENAME ? What could possibly go wrong?

When command names are very long <A HREF="map.html#:command">:command</A> output is difficult to read.  Use a
maximum for the column width?  (#871)
Patcy by varmanishant, 2016 Jun 18, #876

Installation of .desktop files does not work everywhere.
It's now fixed, but the target directory probably isn't right.
Add configure check?
Should use /usr/local/share/applications or /usr/share/applications.
Or use $XDG_DATA_DIRS.
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)

Test object <A HREF="motion.html#i{">i{</A> and <A HREF="motion.html#it">it</A> <A HREF="diff.html#do">do</A> not behave the same. #1379
Do not include the linebreak at the start?

Patch to have text <A HREF="index.html#objects">objects</A> defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Added tests (James McCoy, 2016 Aug 3).  Still needs more work.

Feature request: add the &quot;al&quot; text object, to manipulate a screen line.
Especially useful when using <A HREF="options.html#'linebreak'">'linebreak'</A>

Access to uninitialized memory in match_backref() regexp_nda.c:4882
(Dominique Pelle, 2015 Nov 6)

&quot;<A HREF="editing.html#:cd">:cd</A> C:\Windows\System32\drivers\etc*&quot; does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)

In debug mode one can inspect <A HREF="eval.html#variables">variables</A>, but not the function parameters
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)

If &quot;<A HREF="windows.html#:bd">:bd</A>&quot; also closes a <A HREF="intro.html#Tab">Tab</A> page then the &quot; <A HREF="motion.html#mark">mark</A> is not set.  (Harm te Hennepe,
2016 Apr 25, #780)

Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)

Patch to add {skip} argument to <A HREF="eval.html#search()">search()</A>. (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861

Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7.  Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.

Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)

When the <A HREF="autocmd.html#CursorMovedI">CursorMovedI</A> event triggers, and <A HREF="change.html#CTRL-X">CTRL-X</A> was typed, a <A HREF="usr_41.html#script">script</A> cannot
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
Do not trigger the event?

Using &quot;<A HREF="windows.html#:windo">:windo</A>&quot; to set <A HREF="options.html#options">options</A> in all <A HREF="windows.html#windows">windows</A> has the side effect that <A HREF="motion.html#it">it</A>
changes the <A HREF="windows.html#window">window</A> layout and the current <A HREF="windows.html#window">window</A>.  Make a variant that saves
and restores.  Use in the <A HREF="pi_paren.html#matchparen">matchparen</A> <A HREF="usr_05.html#plugin">plugin</A>.
Perhaps we can use &quot;<A HREF="windows.html#:windo">:windo</A> &lt;restore&gt; {cmd}&quot;?
Patch to add &lt;restore&gt; to <A HREF="windows.html#:windo">:windo</A>, <A HREF="windows.html#:bufdo">:bufdo</A>, etc. (Christian Brabandt, 2015 Jan
6, 2nd message)
Alternative: &quot;:keeppos&quot; command modifier: &quot;:keeppos windo {cmd}&quot;.

Patch to fix that <A HREF="eval.html#executable()">executable()</A> may fail on very long filename in <A HREF="os_win32.html#MS-Windows">MS-Windows</A>.
(Ken Takata, 2016 Feb 1)

Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477

Patch to make the behavior of &quot;<A HREF="motion.html#w">w</A>&quot; more straightforward, but not <A HREF="intro.html#Vi">Vi</A> compatible.
With a <A HREF="options.html#'cpo'">'cpo'</A> flag.  (Christian Brabandt, 2016 Feb 8)

Patch to add optionproperties(). (Anton Lindqvist, 2016 Mar 27, update Apr 13)

Patch to add TagNotFound <A HREF="autocmd.html#autocommand">autocommand</A>. (Anton Lindqvist, 2016 Feb 3)

Patch to add Error <A HREF="autocmd.html#autocommand">autocommand</A>. (Anton Lindqvist, 2016 Feb 17)
Only remembers one error.

Gvim: when both <A HREF="intro.html#Tab">Tab</A> and <A HREF="motion.html#CTRL-I">CTRL-I</A> are mapped, use <A HREF="motion.html#CTRL-I">CTRL-I</A> not for <A HREF="intro.html#Tab">Tab</A>.

Unexpected delay when using <A HREF="motion.html#CTRL-O">CTRL-O</A> <A HREF="undo.html#u">u</A>.  It's not timeoutlen.
(Gary Johnson, 2015 Aug 28)

Instead of separately uploading patches to the ftp site, we can get them from
github with a URL like this:
   https://github.com/vim/vim/compare/v7.4.920&#37;5E...v7.4.920.diff
Diff for version.c contains more context, can't skip a patch.

When <A HREF="term.html#t_Co">t_Co</A> is changed from termresponse, the <A HREF="autocmd.html#OptionSet">OptionSet</A> autocmmand event isn't
triggered.  Use the code from the end of set_num_option() in
set_color_count().

<A HREF="if_pyth.html#Python">Python</A>: &quot;<A HREF="if_pyth.html#:py">:py</A> raw_input('prompt')&quot; doesn't work. (Manu Hack)

Comparing nested structures with &quot;<A HREF="change.html#==">==</A>&quot; uses a different comparator than when
comparing individual items.
Also, &quot;<A HREF="motion.html#''">''</A> <A HREF="change.html#==">==</A> 0&quot; evaluates to true, which isn't <A HREF="#nice">nice</A>.
Add &quot;===&quot; to have a strict comparison (type and value match).
Add &quot;==*&quot; (?) to have a value match, but no automatic conversion, and <A HREF="eval.html#v:true">v:true</A>
equals 1 and 1.0, <A HREF="eval.html#v:false">v:false</A> equals 0 and 0.0.?

Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)

<A HREF="os_win32.html#MS-Windows">MS-Windows</A>: When editing a file with a leading space, <A HREF="editing.html#writing">writing</A> <A HREF="motion.html#it">it</A> uses the
wrong name. (Aram, 2014 Nov 7)  Vim 7.4.

Can't recognize the $ProgramFiles(x86) environment variable.  Recognize <A HREF="motion.html#it">it</A>
specifically?  First try with the parens, then without.

Patch to add :mapgroup, put mappings in a group like augroup.
(Yasuhiro Matsumoto, 2016 Feb 19)

Value returned by <A HREF="eval.html#virtcol()">virtcol()</A> changes depending on how lines wrap.  This is
inconsistent with the documentation.

Value of <A HREF="eval.html#virtcol()">virtcol()</A> for <A HREF="motion.html#'[">'[</A> and <A HREF="motion.html#']">']</A> depend on <A HREF="mbyte.html#multi-byte">multi-byte</A> character.
(Luchr, #277)

Can we cache the <A HREF="syntax.html#syntax">syntax</A> attributes, so that updates for <A HREF="options.html#'relativenumber'">'relativenumber'</A> and
'cursorline'/'cursorcolumn' are a lot faster?  Thus store the attributes
before combining them.

C highlighting: modern C allows: /* comment */ #ifdef
and also line continuation after #include.
I can't recommend <A HREF="motion.html#it">it</A> though.

Build with <A HREF="if_pyth.html#Python">Python</A> on <A HREF="os_mac.html#Mac">Mac</A> does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)

Patch to add arguments to <A HREF="eval.html#argc()">argc()</A> and <A HREF="eval.html#argv()">argv()</A>. (Yegappan Lakshmanan, 2016 Jan
24)  Also need a way to get the global arg <A HREF="eval.html#list">list</A>?  Update later on Jan 24
Update Mar 5. Update Apr 7.  Update Jun 5.

To support Thai (and other languages) <A HREF="motion.html#word">word</A> boundaries, include the ICU
 library:	<A HREF="http://userguide.icu-project.org/boundaryanalysis">http://userguide.icu-project.org/boundaryanalysis</A>

When <A HREF="eval.html#complete()">complete()</A> first argument is before where insert started and <A HREF="options.html#'backspace'">'backspace'</A>
is <A HREF="intro.html#Vi">Vi</A> compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)

Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
30)

<A HREF="os_win32.html#MS-Windows">MS-Windows</A>: Crash opening very long file name starting with &quot;\\&quot;.
(Christian Brock, 2012 Jun 29)

The <A HREF="autocmd.html#OptionSet">OptionSet</A> <A HREF="autocmd.html#autocommand">autocommand</A> event is not always triggered. (Rick Howe, 2015 Sep
24): <A HREF="diff.html#:diffthis">:diffthis</A>, <A HREF="diff.html#:diffoff">:diffoff</A>.

&quot;<A HREF="options.html#:set">:set</A> all&amp;&quot; still does not handle all side effects.  Centralize handling side
effects for when set by the user, on init and when reset to default.

&quot;<A HREF="tagsrch.html#:tag">:tag</A>&quot; does not jump to the right entry of a <A HREF="tagsrch.html#:tselect">:tselect</A>. (James Speros, 2015 Oct
9)

The argument for &quot;<A HREF="starting.html#-S">-S</A>&quot; is not taken literally, the &quot;<A HREF="repeat.html#:so">:so</A>&quot; command expands
<A HREF="editing.html#wildcards">wildcards</A>.  Add a &quot;:nowild&quot; command modifier?  (ZyX, 2015 March 4)

Proposal to make <A HREF="options.html#options.txt">options.txt</A> easier to read. (Arnaud Decara, 2015 Aug 5)
Update Aug 14.

When using <A HREF="remote.html#--remote-tab">--remote-tab</A> on <A HREF="os_win32.html#MS-Windows">MS-Windows</A> <A HREF="options.html#'encoding'">'encoding'</A> hasn't been initialized yet,
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)

Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
Sep 10) Update 2018 Jan 4  #2575
Alternate change by Ken Takata.

Example in <A HREF="editing.html#editing.txt">editing.txt</A> uses <A HREF="options.html#$HOME">$HOME</A> with the expectation that <A HREF="motion.html#it">it</A> ends in a
slash.  For me <A HREF="motion.html#it">it</A> does, but perhaps not for everybody.  Add a function that
inserts a slash when needed?  pathconcat(dir, path) (Thilo Six, 2015 Aug 12)

ml_updatechunk() is slow when retrying for another encoding. (John Little,
2014 Sep 11)

Patch to fix checking global option value when not using <A HREF="motion.html#it">it</A>.
(Arnaud Decara, 2015 Jul 23)

When <A HREF="options.html#'showbreak'">'showbreak'</A> is set <A HREF="repeat.html#repeating">repeating</A> a <A HREF="visual.html#Visual">Visual</A> operation counts the size of the
<A HREF="options.html#'showbreak'">'showbreak'</A> text <A HREF="motion.html#as">as</A> part of the operation. (Axel Bender, 2015 Jul 20)

Patch for <A HREF="mbyte.html#multi-byte">multi-byte</A> characters in langmap and applying a <A HREF="map.html#mapping">mapping</A> on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution?  Need to cleanup langmap behavior:
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
  a copy-buffer, only when langmap is appropriate for the current mode. Then
  check for <A HREF="map.html#mapping">mapping</A> and let gotchars() work on the copy-buffer.
- Remove LANGMAP_ADJUST() in other parts of the code.  Make sure the mode is
  covered by the above change.
So that replaying the <A HREF="sponsor.html#register">register</A> doesn't use keymap/langmap and still does the
same thing.  Remarks on issue 543 (Roland Puntaier).
Also see #737: langmap not applied to replaying <A HREF="repeat.html#recording">recording</A>.

Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.

Would be useful to have a treemap() or deepmap() function.  Like <A HREF="eval.html#map()">map()</A> but
when an item is a <A HREF="eval.html#list">list</A> or <A HREF="eval.html#dict">dict</A> would recurse into <A HREF="motion.html#it">it</A>.

Patch for <A HREF="options.html#global-local">global-local</A> <A HREF="options.html#options">options</A> consistency. (Arnaud Decara, 2015 Jul 22)
Is this right?

Patch to make <A HREF="eval.html#getregtype()">getregtype()</A> return the right size for non-linux systems.
(Yasuhiro Matsumoto, 2014 Jul 8)
Breaks test_eval.  Inefficient, can we only compute y_width when needed?

Patch to use different <A HREF="terminal.html#terminal">terminal</A> mode settings for <A HREF="eval.html#system()">system()</A>. (Hayaki Saito)
Does this work for everybody?

Patch for <A HREF="filetype.html#man.vim">man.vim</A>. (SungHyun Nam, 2015 May 20)
Doesn't work completely (Dominique Orban)

Patch to add a &quot;literal&quot; argument to <A HREF="eval.html#bufnr()">bufnr()</A>.  (Olaf Dabrunz, 2015 Aug 4)

Cannot execute the shell when it's in a directory with a space.
Issue #459.

When a session file is created and there are &quot;nofile&quot; <A HREF="windows.html#buffers">buffers</A>, these are not
filled.  Need to trigger <A HREF="autocmd.html#BufReadCmd">BufReadCmd</A> autocommands.  Also handle <A HREF="change.html#deleting">deleting</A> the
initial empty buffer better. (ZyX, 2015 March 8)

Extended file attributes lost on write (backupcopy=no).  Issue 306.

Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
OK to not block marks?

Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)

Patch on Issue 72: <A HREF="options.html#'autochdir'">'autochdir'</A> causes problems for <A HREF="quickfix.html#:vimgrep">:vimgrep</A>.

When two SIGWINCH arrive very quickly, the second one may be lost.
(Josh Triplett, 2015 Sep 17)

Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)

Result of <A HREF="eval.html#systemlist()">systemlist()</A> does not show whether text ended in line break.
(Bjorn Linse, 2014 Nov 27)

When in <A HREF="options.html#'comments'">'comments'</A> &quot;n:x&quot; follows after three-part comment directly <A HREF="motion.html#it">it</A> repeats
any one-character from the previous line. (Kartik Agaram, 2014 Sep 19)

<A HREF="autocmd.html#Syntax">Syntax</A> highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)

Adding &quot;<A HREF="change.html#~">~</A>&quot; to <A HREF="options.html#'cdpath'">'cdpath'</A> doesn't work for completion?  (Davido, 2013 Aug 19)

Should be <A HREF="starting.html#easy">easy</A> to highlight all matches with <A HREF="options.html#'incsearch'">'incsearch'</A>.  Idea by Itchyny,
2015 Feb 6.

Wrong <A HREF="scroll.html#scrolling">scrolling</A> when using incsearch.  Patch by Christian Brabandt, 2014 Dec 4.
Is this a good solution?

Patch: Let rare <A HREF="motion.html#word">word</A> highlighting overrule good <A HREF="motion.html#word">word</A> highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)

Patch to add digits argument to <A HREF="eval.html#round()">round()</A>. (Yasuhiro Matsumoto, 2015 Apr 26)

Can assign to s:type when a function s:type has been defined.
Also the other way around: define a function while a variable with that name
was already defined.
(Yasuhiro Matsumoto, 2014 Nov 3)

Patch for ordered <A HREF="eval.html#dict">dict</A>. (Ozaki Kiichi, 2015 May 7)

Patch to make closed <A HREF="fold.html#folds">folds</A> line up. (Charles Campbell, 2014 Sep 12)
Remark from Roland Eggner: does <A HREF="motion.html#it">it</A> cause crashes? (2014 Dec 12)
Updated patch by Roland Eggner, Dec 16
Updated patch from Charles, 2016 Jul 2

Patch to open <A HREF="fold.html#folds">folds</A> for <A HREF="options.html#'incsearch'">'incsearch'</A>. (Christian Brabandt, 2015 Jan 6)

Patch for building a 32bit Vim with 64bit MingW compiler.
(Michael Soyka, 2014 Oct 15)

Patch: On <A HREF="os_win32.html#MS-Windows">MS-Windows</A> <A HREF="eval.html#shellescape()">shellescape()</A> may have to triple double <A HREF="quotes.html#quotes">quotes</A>.
(Ingo Karkat, 2015 Jan 16)

Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
Update 2016 Jun 10, # 857

Redo only remembers the last change.  Could use &quot;{count}g.&quot; to <A HREF="undo.html#redo">redo</A> an older
change.  How does the user know which change?  At least have a way to <A HREF="eval.html#list">list</A>
them: &quot;:repeats&quot;.

Patch for <A HREF="eval.html#glob()">glob()</A>, adding slash to normal files. (Ingo Karkat, 2014 Dec 22)

When entering and leaving the preview <A HREF="windows.html#window">window</A> autocommands are triggered, but
these may not work well.  Perhaps set a flag to indicate that the preview
<A HREF="windows.html#window">window</A> is involved? (John Otter, 2015 Oct 27)

Using &quot;<A HREF="repeat.html#.">.</A>&quot; to repeat an <A HREF="intro.html#Ex">Ex</A> command puts that command in <A HREF="cmdline.html#history">history</A>.  Probably
should not happen.  If the command is the result of a <A HREF="map.html#mapping">mapping</A> it's not put in
<A HREF="cmdline.html#history">history</A> either. (Jacob Niehus, 2014 Nov 2)
Patch from Jacob, Nov 2.

&quot;hi link&quot; does not respect groups with <A HREF="gui.html#GUI">GUI</A> settings only. (Mark Lodato, 2014
Jun 8)

Bug: Autocompleting &quot;:tag/pat&quot; replaces &quot;/pat&quot; with a match but does not
insert a space. (Micha Mos, 2014 Nov 7)

No error for missing endwhile. (ZyX, 2014 Mar 20)

Patch to make <A HREF="eval.html#extend()">extend()</A> fail early when <A HREF="motion.html#it">it</A> might fail at some point.
(Olaf Dabrunz, 2015 May 2)  Makes <A HREF="eval.html#extend()">extend()</A> slower, <A HREF="diff.html#do">do</A> we still want <A HREF="motion.html#it">it</A>?
Perhaps only the checks that can be done without looping over the <A HREF="eval.html#dict">dict</A> or
arguments.

Problem with transparent and matchgroup.  Issue #475

Patch to add <A HREF="editing.html#:arglocal">:arglocal</A> and :arglists. (Marcin Szamotulski, 2014 Aug 6)

Spell files use a latin single <A HREF="change.html#quote.">quote.</A> <A HREF="mbyte.html#Unicode">Unicode</A> also has another single <A HREF="change.html#quote:">quote:</A>
0x2019.  (Ron Aaron, 2014 Apr 4)
New OpenOffice <A HREF="spell.html#spell">spell</A> files support this with ICONV.  But they are not
compatible with Vim <A HREF="spell.html#spell">spell</A> files.  The old files can no longer be downloaded.

xterm should be able to pass focus changes to Vim, so that Vim can check for
<A HREF="windows.html#buffers">buffers</A> that changed.  Perhaps in misc.c, function selectwindow().
Xterm 224 supports <A HREF="motion.html#it">it</A>!
Patch to make <A HREF="autocmd.html#FocusGained">FocusGained</A> and <A HREF="autocmd.html#FocusLost">FocusLost</A> work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Update 2016 Aug 12.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.

Idea: For a <A HREF="windows.html#window">window</A> in the middle (has <A HREF="windows.html#window">window</A> above and below it), use
right-mouse-drag on the status line to move a <A HREF="windows.html#window">window</A> up/down without <A HREF="change.html#changing">changing</A>
its height?  It's like dragging the status <A HREF="motion.html#bar">bar</A> above <A HREF="motion.html#it">it</A> at the same time.

Can we make &quot;<A HREF="eval.html#:unlet">:unlet</A> $VAR&quot; use unsetenv() to delete the env var?
What for systems that don't have unsetenv()?  (Issue #1116)

Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)

This does not give an error: (Andre Sihera, 2014 Mar 21)
    vim <A HREF="starting.html#-u">-u</A> NONE 1 2 3 <A HREF="starting.html#-c">-c</A> 'bufdo if 1 &#124; echo 1'
This neither: (ZyX)
    vim <A HREF="starting.html#-u">-u</A> NONE 1 2 3 <A HREF="starting.html#-c">-c</A> 'bufdo while 1 &#124; echo 1'

<A HREF="options.html#'viewdir'">'viewdir'</A> default on <A HREF="os_win32.html#MS-Windows">MS-Windows</A> is not a good choice, it's a system directory.
Change <A HREF="options.html#'viewdir'">'viewdir'</A> to &quot;$HOME/vimfiles/view&quot; and use 'viewdiralt' to also read
from?

Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
2014 Jun 8)

Include a <A HREF="usr_05.html#plugin">plugin</A> manager with Vim? Neobundle seems to be the best currently.
Also Vundle: https://github.com/gmarik/vundle
Long message about this from ZyX, 2014 Mar 23.  And following replies.
 Also see	<A HREF="http://vim-wiki.mawercer.de/wiki/topic/vim&#37;20plugin&#37;20managment.html">http://vim-wiki.mawercer.de/wiki/topic/vim&#37;20plugin&#37;20managment.html</A>
<A HREF="autocmd.html#User">User</A> <A HREF="starting.html#view">view</A>:
 - Support multiple sources, basically any	<A HREF="http://">http://</A> URL. Or a central place that
  will work for everybody (github?  redirects from vim.org?).
  Be able to look into the files before deciding to <A HREF="usr_90.html#install">install</A>.
- Be able to try out a <A HREF="usr_05.html#plugin">plugin</A> and remove <A HREF="motion.html#it">it</A> again with (almost) no traces.
- Each <A HREF="usr_05.html#plugin">plugin</A> needs a &quot;manifest&quot; file that has the version, dependencies
  (including Vim version and features), conflicts, <A HREF="eval.html#list">list</A> of files, etc.
  Updater uses that to decide what/how to update.
  Dependencies can use a URL for specific versions, or short name for scripts
  on vim.org.
- Once a <A HREF="usr_05.html#plugin">plugin</A> is installed <A HREF="motion.html#it">it</A> remembers where <A HREF="motion.html#it">it</A> came from, updater checks
  there.  Can manually update when really needed.
- Must be possible to <A HREF="usr_90.html#install">install</A> for one user.  Also system wide?
- Can edit <A HREF="usr_05.html#plugin">plugin</A> config with Vim. Can temporarily disable a <A HREF="usr_05.html#plugin">plugin</A>.
- Run the update manually, find latest version and <A HREF="usr_90.html#install">install</A>.
- Be able to <A HREF="intro.html#download">download</A> without special tools, must work for 95&#37; of users.
Implementation:
- Avoid the <A HREF="options.html#'runtimepath'">'runtimepath'</A> getting long.  Need some other way to keep each
  <A HREF="usr_05.html#plugin">plugin</A> separate.
- When installing or updating, first figure out what needs to be done. This
  may involve recursively fetching manifest files for dependencies.  Then show
  the user what's going to change and ask for OK.
- Scripts on Vim.org must be able to consist of several files.  Is <A HREF="pi_zip.html#zip">zip</A> format
  sufficient?  Upload the manifest?  Or refer to a site that has the manifest?
- Best is to <A HREF="pi_netrw.html#fetch">fetch</A> individual files or use a Vimball. Reduces dependency on
  tools that might be missing and allows inspection of the files before
  installing.
Out of scope:
- Overview of plugins, ratings, comments, etc.  That's another world.
- Development work on plugins (although <A HREF="diff.html#diff">diff</A> with distributed version would be
  useful).

Setting the <A HREF="spell.html#spell">spell</A> file in a session only reads the local additions, not the
normal <A HREF="spell.html#spell">spell</A> file. (Enno Nagel, 2014 Mar 29)

When typing the first character of a command, e.g. &quot;<A HREF="motion.html#f">f</A>&quot;, then using a menu, the
menu item doesn't work.  Clear typeahead when using a menu?

Editing an ascii file <A HREF="motion.html#as">as</A> ucs-2 or ucs-4 causes display <A HREF="message.html#errors">errors</A>.
(ZyX, 2014 Mar 30)

&quot;<A HREF="editing.html#:Next">:Next</A> 1 some-arg&quot; does not complain about trailing argument.  Also for
various other commands.  (ZyX, 2014 Mar 30)

Patch to skip sort if no line matches the <A HREF="eval.html#expression">expression</A>.
(Christian Brabandt, 2014 Jun 25)

<A HREF="os_vms.html#VMS">VMS</A>: Select() doesn't work properly, typing ESC may hang Vim.  Use sys$qiow
instead. (Samuel Ferencik, 2013 Sep 28)

Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
Remark on the docs.  Should not be a compile time feature.  But then what?

Completion of &quot;<A HREF="editing.html#:e">:e</A>&quot; is &quot;<A HREF="undo.html#:earlier">:earlier</A>&quot;, should be &quot;<A HREF="editing.html#:edit">:edit</A>&quot;.  Complete to the matching
command instead of doing this alphabetically. (Mikel Jorgensen)

Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)

Several <A HREF="syntax.html#syntax">syntax</A> file match &quot;^\s*&quot; which may get underlined if that's in the
highlight group.  Add a &quot;\zs&quot; after <A HREF="motion.html#it">it</A>?

The <A HREF="undo.html#undo">undo</A> file name can get too long. (Issue 346)
For the path use a hash instead of dir&#37;dir&#37;dir&#37;name  hash&#37;name.

Patch to add &quot;:undorecover&quot;, get <A HREF="motion.html#as">as</A> much text out of the <A HREF="undo.html#undo">undo</A> file <A HREF="motion.html#as">as</A>
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)

Updated spec <A HREF="usr_41.html#ftplugin">ftplugin</A>. (Matěj Cepl, 2013 Oct 16)

Patch to right-align <A HREF="sign.html#signs">signs</A>. (James Kolb (email james), 2013 Sep 23)

Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)

Patch to add &quot;ntab&quot; item in <A HREF="options.html#'listchars'">'listchars'</A> to repeat first character. (Nathaniel
Braun, pragm, 2013 Oct 13)  A better solution 2014 Mar 5.

7   Windows XP: When using &quot;ClearType&quot; for text smoothing, a column of yellow
    pixels remains when typing spaces in front of a &quot;<A HREF="change.html#D">D</A>&quot; ('guifont' set to
    &quot;lucida_console:h8&quot;).
Patch by Thomas Tuegel, also for <A HREF="gui_x11.html#GTK">GTK</A>, 2013 Nov 24

<A HREF="helphelp.html#:help">:help</A> gives example for z?, but <A HREF="motion.html#it">it</A> does not work.  <A HREF="motion.html#m">m</A>? and t? <A HREF="diff.html#do">do</A> work.

Patch to add funcref to <A HREF="if_lua.html#Lua">Lua</A>.  (Luis Carvalho, 2013 Sep 4)
With tests: Sep 5.

Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)

Checking runtime scripts: Thilo Six, 2012 Jun 6.

When evaluating <A HREF="eval.html#expression">expression</A> in backticks, <A HREF="eval.html#autoload">autoload</A> doesn't work.
(Andy Wokula, 2013 Dec 14)

Using &lt;nr&gt;ifoobar&lt;esc&gt; can slow down Vim.  Patch by Christian Brabandt, 2013
Dec 13.

<A HREF="gui_x11.html#GTK">GTK</A>: problem with '<A HREF="motion.html#L">L</A>' in <A HREF="options.html#'guioptions'">'guioptions'</A> <A HREF="change.html#changing">changing</A> the <A HREF="windows.html#window">window</A> width.
(Aaron Cornelius, 2012 Feb 6)

Patch to add option that tells whether small deletes go into the numbered
<A HREF="change.html#registers">registers</A>. (Aryeh Leib Taurog, 2013 Nov 18)

Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.

The <A HREF="autocmd.html#BufUnload">BufUnload</A> event is triggered when re-using the empty buffer.
(Pokey Rule, 2013 Jul 22)
Patch by Marcin Szamotulski, 2013 Jul 22.

The <A HREF="autocmd.html#CompleteDone">CompleteDone</A> <A HREF="autocmd.html#autocommand">autocommand</A> needs some info passed to <A HREF="motion.html#it">it</A>:
- The <A HREF="motion.html#word">word</A> that was selected (empty if abandoned complete)
- Type of completion: <A HREF="tagsrch.html#tag">tag</A>, omnifunc, user func.

Patch to allow more types in <A HREF="eval.html#remote_expr()">remote_expr()</A>. (Lech Lorens, 2014 Jan 5)
Doesn't work for <A HREF="eval.html#string">string</A> in <A HREF="eval.html#list">list</A>.  Other way to pass all types of <A HREF="eval.html#variables">variables</A>
reliably?

Patch to add <A HREF="map.html#{lhs}">{lhs}</A> to <A HREF="map.html#:mapclear">:mapclear</A>: clear all maps starting with <A HREF="map.html#{lhs}">{lhs}</A>.
(Christian Brabandt, 2013 Dec 9)

Exception caused by argument of return is not caught by try/catch.
(David Barnett, 2013 Nov 19)

Patch to fix that <A HREF="options.html#'cedit'">'cedit'</A> is recognized after <A HREF="various.html#:normal">:normal</A>. (Christian Brabandt,
2013 Mar 19, later message)

Patch to <A HREF="starting.html#view">view</A> coverage of the tests. (Nazri Ramliy, 2013 Feb 15)

Patch to invert characters differently in <A HREF="gui_x11.html#GTK">GTK</A>. (Yukihiro Nakadaira, 2013 May
5)

Patch to add &quot;<A HREF="intro.html#Q">Q</A>&quot; and &quot;<A HREF="insert.html#A">A</A>&quot; responses to interactive <A HREF="change.html#:substitute">:substitute</A>. They are
carried over when using <A HREF="repeat.html#:global">:global</A>. (Christian Brabandt, 2013 Jun 19)

Bug with <A HREF="options.html#'cursorline'">'cursorline'</A> in <A HREF="diff.html#diff">diff</A> mode.  Line being scrolled into <A HREF="starting.html#view">view</A> gets
highlighted <A HREF="motion.html#as">as</A> the cursor line.  (Alessandro Ivaldi, 2013 Jun 4)

Two highlighting bugs. (ZyX, 2013 Aug 18)

Patch to support '<A HREF="undo.html#u">u</A>' in interactive substitute. (Christian Brabandt, 2012 Sep
28)  With tests: Oct 9.

Patch from Christian Brabandt to make the &quot;buffer&quot; argument for &quot;<A HREF="sign.html#:sign">:sign</A> place&quot;
optional. (2013 Jul 12)

Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)

Improve the installer for <A HREF="os_win32.html#MS-Windows">MS-Windows</A>.  There are a few alternatives:
- Add silent <A HREF="usr_90.html#install">install</A> option. (Shane Lee, #751)
- Installer from Cream (Steve Hall).
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
    https://github.com/gpwen/vim-installer-mui2
-  make <A HREF="motion.html#it">it</A> possible to <A HREF="diff.html#do">do</A> a silent <A HREF="usr_90.html#install">install</A>, see
	<A HREF="http://nsis.sourceforge.net/Docs/Chapter4.html#4.12">http://nsis.sourceforge.net/Docs/Chapter4.html#4.12</A>
    Version from Guopeng Wen does this.
- MSI installer: https://github.com/petrkle/vim-msi/
- The one on Issue 279.
Problem: they all work slightly different (e.g. don't <A HREF="usr_90.html#install">install</A> vimrun.exe).
How to test that <A HREF="motion.html#it">it</A> works well for all Vim users?

Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)

-   Add regex for <A HREF="options.html#'paragraphs'">'paragraphs'</A> and <A HREF="options.html#'sections'">'sections'</A>: 'parare' and 'sectre'.  Combine
    the two into a regex for searching. (Ned Konz)
Patch by Christian Brabandt, 2013 Apr 20, unfinished.

Bug: findfile(&quot;any&quot;, &quot;file:///tmp;&quot;) does not work.

In the <A HREF="usr_11.html#ATTENTION">ATTENTION</A> message about an existing swap file, mention the name of the
process that is running.  It might actually be some other program, e.g. after
a reboot.

patch to add &quot;combine&quot; flag to  <A HREF="syntax.html#syntax">syntax</A> commands. (so8res, 2012 Dec 6)

<A HREF="autocmd.html#Syntax">Syntax</A> update problem in one buffer opened in two <A HREF="windows.html#windows">windows</A>, bottom <A HREF="windows.html#window">window</A> is
not correctly updated. (Paul Harris, 2012 Feb 27)

Patch to add getsid(). (Tyru, 2011 Oct 2)  Do we want this?  Update Oct 4.
Or use expand('&lt;sid&gt;')?

Patch to make <A HREF="eval.html#confirm()">confirm()</A> display colors. (Christian Brabandt, 2012 Nov 9)

Patch to add <A HREF="eval.html#functions">functions</A> for <A HREF="sign.html#signs">signs</A>. (Christian Brabandt, 2013 Jan 27)

Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)

Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)

b:undo_ftplugin cannot call a <A HREF="map.html#script-local">script-local</A> function. (Boris Danilov, 2013 Jan
7)

<A HREF="os_win32.html#Win32">Win32</A>: The <A HREF="if_pyth.html#Python">Python</A> interface only works with one version of <A HREF="if_pyth.html#Python">Python</A>, selected at
compile time.  Can this be made to work with version 2.1 and 2.2 dynamically?

<A HREF="if_pyth.html#Python">Python</A>: Be able to define a <A HREF="if_pyth.html#Python">Python</A> function that can be called directly from
Vim <A HREF="usr_41.html#script">script</A>.  Requires converting the arguments and return value, like with
vim.bindeval().

Patch for :tabcloseleft, after closing a <A HREF="intro.html#tab">tab</A> go to left <A HREF="intro.html#tab">tab</A>. (William Bowers,
2012 Aug 4)

Patch to improve equivalence classes in <A HREF="pattern.html#regexp">regexp</A> patterns.
(Christian Brabandt, 2013 Jan 16, update Jan 17)

Patch to add new <A HREF="pattern.html#regexp">regexp</A> classes :ident:, :keyword:, :fname:.
(ichizok, 2016 Jan 12, #1373)

Patch with suggestions for <A HREF="starting.html#starting.txt">starting.txt</A>. (Tony Mechelynck, 2012 Oct 24)
But use <A HREF="gui_x11.html#Gnome">Gnome</A> instead of <A HREF="gui_x11.html#GTK">GTK</A>?

Should be possible to enable/disable <A HREF="pi_paren.html#matchparen">matchparen</A> per <A HREF="windows.html#window">window</A> or buffer.
Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
Szamotulski, 2012 Nov 8)

<A HREF="starting.html#Session">Session</A> file creation: <A HREF="options.html#'autochdir'">'autochdir'</A> causes trouble.  Keep <A HREF="motion.html#it">it</A> off until after
loading all files.

<A HREF="os_win32.html#MS-Windows">MS-Windows</A> resizing problems:
- Windows <A HREF="windows.html#window">window</A> on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
  20.  Uses getWindowRect() instead of GetWindowPlacement()
- <A HREF="os_win32.html#Win32">Win32</A>: When the taskbar is at the top of the screen creating the tabbar
  causes the <A HREF="windows.html#window">window</A> to move unnecessarily. (William <A HREF="motion.html#E">E</A>. Skeith III, 2012 Jan
  12) Patch: 2012 Jan 13  Needs more work (2012 Feb 2)

<A HREF="options.html#'iminsert'">'iminsert'</A> global value set when using &quot;<A HREF="options.html#:setlocal">:setlocal</A> iminsert&quot;? (Wu, 2012 Jun 23)

Patch to append <A HREF="pattern.html#regexp">regexp</A> to <A HREF="tagsrch.html#tag">tag</A> commands to make <A HREF="motion.html#it">it</A> possible to select one out
of many matches. (Cody Cutler, 2013 Mar 28)

The input map for <A HREF="motion.html#CTRL-O">CTRL-O</A> in <A HREF="gui_w32.html#mswin.vim">mswin.vim</A> causes problems after <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="motion.html#CTRL-O">CTRL-O</A>.
Suggestion for another map. (Philip Mat, 2012 Jun 18)
But use &quot;<A HREF="insert.html#gi">gi</A>&quot; instead of &quot;<A HREF="insert.html#a">a</A>&quot;.  Or use CTRL-\ <A HREF="motion.html#CTRL-O">CTRL-O</A>.

Patch to support user name completion on <A HREF="os_win32.html#MS-Windows">MS-Windows</A>. (Yasuhiro Matsumoto, 2012
Aug 16)

When there are no command line arguments &quot;<A HREF="editing.html#:next">:next</A>&quot; and &quot;<A HREF="editing.html#:argu">:argu</A>&quot; give <A HREF="editing.html#E163">E163</A>, which
is confusing.  Should say &quot;the argument <A HREF="eval.html#list">list</A> is empty&quot;.

URXVT:
- will get stuck if byte sequence does not contain the expected semicolon.
- Use urxvt mouse support also in xterm.  Explanations:
	<A HREF="http://www.midnight-commander.org/ticket/2662">http://www.midnight-commander.org/ticket/2662</A>

Patch to have the fold and sign column and at the last line of the buffer.
(Marco Hinz, 2014 Sep 25)
Alternate suggestion: let all columns continue, also the number column.

Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)
New tests Jul 13.   Update Jul 17.  Discussion Jul 18.

When running Vim in silent <A HREF="starting.html#ex">ex</A> mode, an existing swapfile causes Vim to wait
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?

Patch to <A HREF="eval.html#list">list</A> user <A HREF="digraph.html#digraphs">digraphs</A>. (Christian Brabandt, 2012 Apr 14)

Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
24)

Patch for input method status. (Hirohito Higashi, 2012 Apr 18)

Update Vim app icon (for <A HREF="gui_x11.html#Gnome">Gnome</A>). (Jakub Steiner, 2013 Dec 6)

Patch to use .png icons for the toolbar on <A HREF="os_win32.html#MS-Windows">MS-Windows</A>. (Martin Gieseking, 2013
Apr 18)

Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
And one for <A HREF="gui_x11.html#gui_x11.txt">gui_x11.txt</A>.

&quot;<A HREF="editing.html#:cd">:cd</A>&quot; doesn't work when current directory path contains &quot;**&quot;.
<A HREF="eval.html#finddir()">finddir()</A> has the same problem.  (Yukihiro Nakadaira, 2012 Jan 10)
Requires a rewrite of the file_file_in_path code.

Should use has(&quot;browsefilter&quot;) in <A HREF="usr_05.html#ftplugins">ftplugins</A>.  Requires patch 7.3.593.

Update for vim2html.pl. (Tyru, 2013 Feb 22)

Patch to sort <A HREF="eval.html#functions">functions</A> starting with '<A HREF="change.html#&lt;">&lt;</A>' after others.  Omit <A HREF="eval.html#dict">dict</A> <A HREF="eval.html#functions">functions</A>,
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)

Patch to pass <A HREF="eval.html#list">list</A> to <A HREF="eval.html#or()">or()</A>, <A HREF="eval.html#and()">and()</A> and <A HREF="eval.html#xor()">xor()</A>. (Yasuhiro Matsumoto, 2012 Feb 8)

Patch to improve &quot;<A HREF="motion.html#it">it</A>&quot; and &quot;<A HREF="motion.html#at">at</A>&quot; text object matching. (Christian Brabandt, 2011
Nov 20)

Patch to improve <A HREF="gui.html#GUI">GUI</A> find/replace <A HREF="gui_w32.html#dialog">dialog</A>. (Christian Brabandt, 2012 May 26)
Update Jun 2.

<A HREF="motion.html#`]">`]</A> moves to character after insert, instead of the last inserted character.
(Yukihiro Nakadaira, 2011 Dec 9)

Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)

<A HREF="autocmd.html#BufWinLeave">BufWinLeave</A> triggers too late when quitting last <A HREF="windows.html#window">window</A> in a <A HREF="intro.html#tab">tab</A> page. (Lech
Lorens, 2012 Feb 21)

Patch for 'transparency' option. (Sergiu Dotenco, 2011 Sep 17)
Only for <A HREF="os_win32.html#MS-Windows">MS-Windows</A>.  No documentation.  Do we want this?

Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27)

On <A HREF="os_win32.html#MS-Windows">MS-Windows</A> a temp dir with a <A HREF="change.html#&amp;">&amp;</A> init causes <A HREF="eval.html#system()">system()</A> to fail. (Ben Fritz,
2012 Jun 19)

<A HREF="options.html#'cursorline'">'cursorline'</A> is displayed too short when there are concealed characters and
<A HREF="options.html#'list'">'list'</A> is set.  (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
Christian Brabandt has another incomplete patch. (2011 Jul 13)

With concealed text mouse click doesn't put the cursor in the right position.
(Herb Sitz)  Fix by Christian Brabandt, 2011 Jun 16.  Doesn't work properly,
need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called.

<A HREF="autocmd.html#Syntax">Syntax</A> region with 'concealends' and a 'cchar' value, <A HREF="options.html#'conceallevel'">'conceallevel'</A> set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14)

The <A HREF="syntax.html#:syntax">:syntax</A> cchar value can only be a single character.  It would be useful to
support combining characters. (Charles Campbell)

<A HREF="options.html#'cursorline'">'cursorline'</A> works on a text line only.  Add 'cursorscreenline' for
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)

<A HREF="os_win32.html#Win32">Win32</A>: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
New feature, requires <A HREF="eval.html#testing">testing</A>.  Made some remarks.

<A HREF="os_win32.html#Win32">Win32</A>: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011
Sep 17)  Asked for feedback from others.

<A HREF="os_win32.html#Win32">Win32</A>: Cannot cd into a directory that starts with a space. (Andy Wokula, 2012
Jan 19)

Need to <A HREF="intro.html#escape">escape</A> <A HREF="options.html#$HOME">$HOME</A> on Windows for <A HREF="eval.html#fnameescape()">fnameescape()</A>?  (ZyX, 2011 Jul 21,
discussion 2013 Jul 4) Can't simply use a <A HREF="intro.html#backslash">backslash</A>, \$HOME has a different
meaning already.  Would be possible to use $$HOME where <A HREF="options.html#$HOME">$HOME</A> is to be used.

&quot;2&quot; in <A HREF="options.html#'formatoptions'">'formatoptions'</A> not working in comments. (Christian Corneliussen, 2011
Oct 26)

Bug in <A HREF="repeat.html#repeating">repeating</A> <A HREF="visual.html#Visual">Visual</A> &quot;<A HREF="undo.html#u">u</A>&quot;. (Lawrence Kesteloot, 2010 Dec 20)

With &quot;unamedplus&quot; in <A HREF="options.html#'clipboard'">'clipboard'</A> pasting in <A HREF="visual.html#Visual">Visual</A> mode causes error for empty
<A HREF="sponsor.html#register">register</A>. (Michael Seiwald, 2011 Jun 28)  I can't reproduce <A HREF="motion.html#it">it</A>.

Windows keys not set properly on Windows 7?  (cncyber, 2010 Aug 26)

When using a Vim server, a # in the path causes an error message.
(Jeff Lanzarotta, 2011 Feb 17)

When there is a &quot;<A HREF="change.html#&gt;">&gt;</A>&quot; in a line that &quot;<A HREF="change.html#gq">gq</A>&quot; wraps to the start of the next line,
then the following line will pick <A HREF="motion.html#it">it</A> up <A HREF="motion.html#as">as</A> a leader.  Should get the leader
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)

Using &quot;<A HREF="eval.html#:break">:break</A>&quot; or something else that stops executing commands inside a
&quot;<A HREF="eval.html#:finally">:finally</A>&quot; does not <A HREF="eval.html#rethrow">rethrow</A> a previously uncaught exception. (ZyX, 2010 Oct
15)

Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)

BT <A HREF="pattern.html#regexp">regexp</A> engine: After trying a \@&gt; match and failing, submatches are not
cleared.  See test64.

Patch to make &quot;<A HREF="spell.html#z=">z=</A>&quot; work when <A HREF="options.html#'spell'">'spell'</A> is off.  Does this have nasty side
effects?  (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
Would also need to <A HREF="diff.html#do">do</A> this for <A HREF="eval.html#spellbadword()">spellbadword()</A> and <A HREF="eval.html#spellsuggest()">spellsuggest()</A>.

On 64 bit <A HREF="os_win32.html#MS-Windows">MS-Windows</A> &quot;long&quot; is only 32 bits, but we sometimes need to store a
64 bits value.  Change all number <A HREF="options.html#options">options</A> to use nropt_T and define <A HREF="motion.html#it">it</A> to the
right type.

<A HREF="eval.html#string()">string()</A> can't parse back &quot;inf&quot; and &quot;nan&quot;.  Fix documentation or fix code?
(ZyX, 2010 Aug 23)

When doing &quot;redir =&gt; s:foo&quot; in a <A HREF="usr_41.html#script">script</A> and then &quot;redir END&quot; somewhere else
(e.g. in a function) <A HREF="motion.html#it">it</A> can't find s:foo.
When a <A HREF="usr_41.html#script">script</A> contains &quot;redir =&gt; s:foo&quot; but doesn't end redirection, a
following &quot;redir&quot; command gives an error for not being able to access s:foo.
(ZyX, 2011 Mar 27)

When <A HREF="eval.html#setqflist()">setqflist()</A> uses a filename that triggers a <A HREF="autocmd.html#BufReadCmd">BufReadCmd</A> <A HREF="autocmd.html#autocommand">autocommand</A> Vim
doesn't jump to the correct line with <A HREF="quickfix.html#:cfirst">:cfirst</A>. (ZyX,  2011 Sep 18)

Behavior of i&quot; and a&quot; text <A HREF="index.html#objects">objects</A> isn't logical. (Ben Fritz, 2013 Nov 19)

<A HREF="eval.html#maparg()">maparg()</A> does not show the &lt;script&gt; flag.  When temporarily <A HREF="change.html#changing">changing</A> a
<A HREF="map.html#mapping">mapping</A>, how to restore the <A HREF="usr_41.html#script">script</A> ID?

Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)

When setting a local option value from the global value, add a <A HREF="usr_41.html#script">script</A> ID that
indicates this, so that &quot;<A HREF="various.html#:verbose">:verbose</A> set&quot; can give a hint.  Check with <A HREF="options.html#options">options</A> in
the help file.

After patch 7.3.097 still get <A HREF="eval.html#E15">E15</A>. (Yukihiro Nakadaira, 2011 Jan 18)
Also for another example (ZyX, 2011 Jan 24)

Build problem with small features on <A HREF="os_mac.html#Mac">Mac</A> OS X <A HREF="usr_10.html#10.6">10.6</A>. (Rainer, 2011 Jan 24)

&quot;0g@$&quot; puts <A HREF="motion.html#']">']</A> on last byte of <A HREF="mbyte.html#multi-byte">multi-byte</A>. (ZyX, 2011 Jan 22)

Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)

Problem with &quot;syn sync grouphere&quot;. (Gustavo Niemeyer, 2011 Jan 27)

Loading <A HREF="eval.html#autoload">autoload</A> <A HREF="usr_41.html#script">script</A> even when usage is inside &quot;if 0&quot;. (Christian Brabandt,
2010 Dec 18)

With a filler line in <A HREF="diff.html#diff">diff</A> mode, <A HREF="motion.html#it">it</A> isn't displayed in the column with line
number, but <A HREF="motion.html#it">it</A> is in the sign column.  Doesn't look right. (ZyX 2011 Jun 5)
Patch by Christian Brabandt, 2011 Jun 5.  Introduces new problems.

Add jump() function. (Marcin Szamotulski, 2013 Aug 29)
Is this needed?  <A HREF="motion.html#CTRL-O">CTRL-O</A> and <A HREF="motion.html#CTRL-I">CTRL-I</A> <A HREF="diff.html#do">do</A> the same, just more difficult to use.

8   Add a command to jump to the next character highlighted with &quot;Error&quot;.
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.

Add event for when the text scrolls.  A bit like <A HREF="autocmd.html#CursorMoved">CursorMoved</A>.  Also a similar
one for insert mode.  Use the event in <A HREF="pi_paren.html#matchparen">matchparen</A> to update the highlight if
the match scrolls into <A HREF="starting.html#view">view</A>.

7   Use &quot;++--&quot;, &quot;+++--&quot; for different levels instead of &quot;+---&quot; &quot;+----&quot;.
Patch by Christian Brabandt, 2011 Jul 27.
Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)

9   Add &#37;F to <A HREF="options.html#'errorformat'">'errorformat'</A>: file name without spaces.  Useful on <A HREF="os_unix.html#Unix">Unix</A> to
    avoid matching something up to a time 11:22:33.
Patch by Christian Brabandt, 2011 Jul 27.

Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \&#37;{name}(re)  and \&#37;{name}g

In the <A HREF="eval.html#sandbox">sandbox</A> it's not allowed to <A HREF="diff.html#do">do</A> many things, but it's possible to change
or set <A HREF="eval.html#variables">variables</A>.  Add a way to prevent <A HREF="eval.html#variables">variables</A> from being changed in the
<A HREF="eval.html#sandbox">sandbox</A>?  E.g.: &quot;:protect g:restore_settings&quot;.

<A HREF="gui_x11.html#GTK">GTK</A>: drawing a double-width combining character over single-width characters
doesn't look right. (Dominique Pelle, 2010 Aug 8)

<A HREF="gui_x11.html#GTK">GTK</A>: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)

<A HREF="os_win32.html#Win32">Win32</A>: tear-off menu does not work when menu language is German. (Markus
Bossler, 2011 Mar 2)  Fixed by 7.3.095?

Wish for NetBeans commands:
    - make <A HREF="motion.html#it">it</A> possible to have 'defineAnnoType' also handle <A HREF="terminal.html#terminal">terminal</A> colors.

Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)

7.3.014 changed how <A HREF="intro.html#backslash">backslash</A> at end of line works, but still get a NUL when
there is one <A HREF="intro.html#backslash">backslash</A>. (Ray Frush, 2010 Nov 18)  What does the original <A HREF="starting.html#ex">ex</A>
<A HREF="diff.html#do">do</A>?

Searching mixed with <A HREF="visual.html#Visual">Visual</A> mode doesn't redraw properly. (James Vega, 2010 Nov
22)

New esperanto <A HREF="spell.html#spell">spell</A> file can't be processed. (Dominique Pelle, 2011 Jan 30)
- move compflags to separate growarray?
- instead of a <A HREF="pattern.html#regexp">regexp</A> use a hashtable.  Expand '<A HREF="pattern.html#?">?</A>', '*', '<A HREF="motion.html#+">+</A>'.  What would be
  the maximum repeat for &#42; and +?

&quot;L'Italie&quot; noted <A HREF="motion.html#as">as</A> a <A HREF="spell.html#spell">spell</A> error at start of the <A HREF="motion.html#sentence">sentence</A>. (Dominique Pelle,
2011 Feb 27)

Editing a file with a ^M with <A HREF="options.html#'ff'">'ff'</A> set to &quot;<A HREF="os_mac.html#mac">mac</A>&quot;, opening a help file, then the
^M is displayed <A HREF="motion.html#as">as</A> ^J sometimes.  Getting <A HREF="options.html#'ff'">'ff'</A> value from wrong window/buffer?

When Vim is put in the background (SIGTSTP) and then gets a SIGHUP <A HREF="motion.html#it">it</A> doesn't
exit.  It exists <A HREF="motion.html#as">as</A> soon <A HREF="motion.html#as">as</A> back in the foreground. (Stephen Liang, 2011 Jan
9)  Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.

<A HREF="motion.html#g`">g`</A> not working correctly when using <A HREF="editing.html#:edit">:edit</A>.  It works OK when editing a file on
the command line. (Ingo Karkat, 2011 Jan 25)

Since patch 7.2.46 Yankring <A HREF="usr_05.html#plugin">plugin</A> has become very slow, eventually make Vim
crash? (Raiwil, 2010 Nov 17)

Patch to add FoldedLineNr highlighting: different highlighting for the line
number of a closed fold. (eXerigumo Clanjor, 2013 Jul 15)

Regexp engine performance:
- Profiling:
	./vim <A HREF="starting.html#-u">-u</A> NONE <A HREF="starting.html#-s">-s</A> ~/vim/test/ruby.vim
	./vim <A HREF="starting.html#-u">-u</A> NONE <A HREF="starting.html#-s">-s</A> ~/vim/test/loop.vim
	./vim <A HREF="starting.html#-u">-u</A> NONE <A HREF="starting.html#-s">-s</A> ~/vim/test/alsa.vim
	./vim <A HREF="starting.html#-s">-s</A> ~/vim/test/todo.vim
	./vim <A HREF="starting.html#-s">-s</A> ~/vim/test/xml.vim
    Dominique Pelle:  xmlSyncDT is particularly slow (Jun 7)
- More test files from the src/pkg/regexp/testdata directory in the Go repo.
- Performance tests:
  - Using asciidoc <A HREF="syntax.html#syntax">syntax</A>. (Marek Schimara, 2013 Jun 6)
  - ~/vim/text/FeiqCfg.xml (file from Netjune)
  - ~/vim/text/edl.svg  (also XML)
  - glts has five tests. (May 25)
  - ~/vim/test/slowsearch
  - ~/vim/test/rgb.vim
  - search for  a.*e*exn  in the vim executable.  Go to last line to use
    <A HREF="options.html#'hlsearch'">'hlsearch'</A>.
  - Slow combination of <A HREF="fold.html#folding">folding</A> and PHP <A HREF="syntax.html#syntax">syntax</A> highlighting.  Script to
    reproduce <A HREF="motion.html#it">it</A>.  Caused by &quot;<A HREF="syntax.html#syntax">syntax</A> sync fromstart&quot; in combination with patch
    7.2.274.  (Christian Brabandt, 2010 May 27) Generally, <A HREF="fold.html#folding">folding</A> with
    <A HREF="options.html#'foldmethod'">'foldmethod'</A> set to &quot;<A HREF="syntax.html#syntax">syntax</A>&quot; is slow.  Do <A HREF="repeat.html#profiling">profiling</A> to find out why.

Problem producing <A HREF="tagsrch.html#tags">tags</A> file when hebrew.frx is present.  It has a BOM.
Results in <A HREF="helphelp.html#E670">E670</A>. (Tony Mechelynck, 2010 May 2)

<A HREF="options.html#'beval'">'beval'</A> option should be <A HREF="options.html#global-local">global-local</A>.

<A HREF="if_ruby.html#Ruby">Ruby</A>: &quot;<A HREF="if_ruby.html#:ruby">:ruby</A> print $buffer.number&quot; returns zero.

<A HREF="eval.html#setpos()">setpos()</A> does not restore cursor position after <A HREF="various.html#:normal">:normal</A>. (Tyru, 2010 Aug 11)

7   The <A HREF="options.html#'directory'">'directory'</A> option supports <A HREF="change.html#changing">changing</A> path separators to &quot;<A HREF="motion.html#&#37;">&#37;</A>&quot; to make
    file names unique, also support this for <A HREF="options.html#'backupdir'">'backupdir'</A>. (Mikolaj Machowski)
    Patch by Christian Brabandt, 2010 Oct 21.
    Is this an update:  related to: #179
    https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir
    Fixed patch 2017 Jul 1.

With &quot;tw=55 fo+=a&quot; typing space before ) doesn't work well. (Scott Mcdermott,
2010 Oct 24)

Messages in <A HREF="message.html#message.txt">message.txt</A> are highlighted <A HREF="motion.html#as">as</A> examples.

When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
Oct 22)  <A HREF="options.html#'isprint'">'isprint'</A> is set to &quot;@,161-255&quot;.

&quot;<A HREF="eval.html#:echo">:echo</A> &quot;\x85&quot; =~# '[\u0085]&#39;&#34;' returns 1 instead of 0. (ZyX, 2010 Oct 3)

<A HREF="options.html#'cindent'">'cindent'</A> not correct when <A HREF="options.html#'list'">'list'</A> is set. (Zdravi Korusef, 2010 Apr 15)

<A HREF="indent.html#C-indenting">C-indenting</A>: A matching { in a comment is ignored, but intermediate { are not
checked to be in a comment.  Implement FM_SKIPCOMM flag of findmatchlimit().
Issue 46.

<A HREF="os_mac.html#Mac">Mac</A> with <A HREF="options.html#X11">X11</A>: <A HREF="gui.html#clipboard">clipboard</A> doesn't work properly. (Raf, 2010 Aug 16)

Using CompilerSet doesn't record where an option was set from.  E.g., in the
gcc compiler <A HREF="usr_05.html#plugin">plugin</A>. (Gary Johnson, 2010 Dec 13)

&quot;<A HREF="helphelp.html#:helpgrep">:helpgrep</A>&quot; does not put the cursor in the correct column when preceded by
accented character. (Tony Mechelynck, 2010 Apr 15)

Don't call check_restricted() for <A HREF="eval.html#histadd()">histadd()</A>, <A HREF="eval.html#setbufvar()">setbufvar()</A>, <A HREF="eval.html#settabvar()">settabvar()</A>,
<A HREF="eval.html#setwinvar()">setwinvar()</A>.

Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)

When <A HREF="options.html#'lines'">'lines'</A> is 25 and <A HREF="options.html#'scrolloff'">'scrolloff'</A> is 12, &quot;<A HREF="motion.html#j">j</A>&quot; scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)

Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Requires a map mode for <A HREF="insert.html#Insert">Insert</A> mode started from blockwise <A HREF="visual.html#Visual">Visual</A> mode.

Writing nested <A HREF="eval.html#List">List</A> and Dict in <A HREF="starting.html#viminfo">viminfo</A> gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)

Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)

CreateFile and CreateFileW are used without sharing, <A HREF="eval.html#filewritable()">filewritable()</A> fails when
the file was already open (e.g. <A HREF="usr_41.html#script">script</A> is being sourced).  Add FILE_SHARE_READYXXY
FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)

Is ~/bin (literally) in $PATH supposed to work?  (Paul, 2010 March 29)
Looks like only bash can <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A>. (Yakov Lerner)

<A HREF="if_cscop.html#Cscope">Cscope</A> &quot;cs add&quot; stopped working somewhat before 7.2.438. (Gary Johnson, 2010
Jun 29)  Caused by 7.2.433?

I often see pasted text (from Firefox, to Vim in xterm) appear <A HREF="if_cscop.html#twice">twice</A>.
Also, Vim in xterm sometimes loses copy/paste ability (probably after running
an external command).

Jumplist doesn't work properly in <A HREF="insert.html#Insert">Insert</A> mode? (Jean Johner, 2010 Mar 20)

Problem with transparent cmdline.  Also: Terminal title is wrong with
non-ASCII character. (Lily White, 2010 Mar 7)

<A HREF="eval.html#iconv()">iconv()</A> doesn't fail on an illegal character, <A HREF="motion.html#as">as</A> documented. (Yongwei Wu, 2009
Nov 15, example Nov 26)  Add argument to specify whether <A HREF="eval.html#iconv()">iconv()</A> should fail
or replace with a character and continue?

Add local time at start of <A HREF="starting.html#--startuptime">--startuptime</A> output.
Requires configure check for <A HREF="eval.html#localtime()">localtime()</A>.
Use format year-month-day hr:min:sec.

Patch to add &quot;combine&quot; to <A HREF="syntax.html#:syntax">:syntax</A>, combines highlight attributes. (Nate
Soares, 2012 Dec 3)

Patch to make &quot;<A HREF="syntax.html#:hi">:hi</A> link&quot; also take arguments. (Nate Soares, 2012 Dec 4)

Shell not recognized properly if <A HREF="motion.html#it">it</A> ends in &quot;csh -f&quot;. (James Vega, 2009 Nov 3)
Find tail?  Might have a / in argument.  Find space?  Might have space in
path.

Test 51 fails when language set to German. (Marco, 2011 Jan 9)
Dominique can't reproduce <A HREF="motion.html#it">it</A>.

<A HREF="options.html#'ambiwidth'">'ambiwidth'</A> should be <A HREF="options.html#global-local">global-local</A>.

&quot;<A HREF="eval.html#:function">:function</A> f(x) keepjumps&quot; creates a function where every command is executed
like <A HREF="motion.html#it">it</A> has &quot;<A HREF="motion.html#:keepjumps">:keepjumps</A>&quot; before <A HREF="motion.html#it">it</A>.

Coverity: Check if there are new reported defects:
https://scan.coverity.com/projects/241

Patch to support <A HREF="undo.html#:undo">:undo</A> absolute jump to file save number. (Christian Brabandt,
2010 Nov 5)

Patch to use <A HREF="options.html#'foldnestmax'">'foldnestmax'</A> also for &quot;marker&quot; foldmethod. (Arnaud Lacombe, 2011
Jan 7)

Bug with <A HREF="options.html#'incsearch'">'incsearch'</A> going to wrong line. (Wolfram Kresse, 2009 Aug 17)
Only with &quot;vim <A HREF="starting.html#-u">-u</A> NONE&quot;.

Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)

With <A HREF="options.html#'wildmode'">'wildmode'</A> set to &quot;longest:full,full&quot; and pressing <A HREF="intro.html#Tab">Tab</A> once the first
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
Feb 12)

Display error when <A HREF="options.html#'tabline'">'tabline'</A> that includes a file name with double-width
characters. (2010 Aug 14, bootleq)

Problem with stop directory in <A HREF="eval.html#findfile()">findfile()</A>. (Adam Simpkins, 2009 Aug 26)

Using '<A HREF="index.html#]">]</A>' <A HREF="motion.html#as">as</A> the end of a range in a <A HREF="pattern.html#pattern">pattern</A> requires double escaping:
     /[@-\\]]  (Andy Wokula, 2011 Jun 28)

<A HREF="autocmd.html#Syntax">Syntax</A> priority problem. (Charles Campbell, 2011 Sep 15)

When completion inserts the first match, <A HREF="motion.html#it">it</A> may trigger the line to be folded.
Disable updating <A HREF="fold.html#folds">folds</A> while completion is active? (Peter Odding, 2010 Jun 9)

When a:base in <A HREF="options.html#'completefunc'">'completefunc'</A> starts with a number it's passed <A HREF="motion.html#as">as</A> a number,
not a <A HREF="eval.html#string">string</A>. (Sean Ma)  Need to add flag to call_func_retlist() to force a
<A HREF="eval.html#string">string</A> value.

For running <A HREF="starting.html#gvim">gvim</A> on a USB stick: avoid the OLE registration.  Use a command
line argument -noregister.

When using an <A HREF="eval.html#expression">expression</A> in <A HREF="options.html#'statusline'">'statusline'</A> leading white space sometimes goes
missing (but not always). (ZyX, 2010 Nov 1)

When a <A HREF="map.html#mapping">mapping</A> exists both for insert mode and lang-insert mode, the last one
doesn't work. (Tyru, 2010 May 6)  Or is this intended?

Still a problem with &quot;<A HREF="quickfix.html#:make">:make</A>&quot; in the wrong directory.  Caused by &quot;<A HREF="windows.html#:bufdo">:bufdo</A>&quot;.
(Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.
Caused by &quot;doautoall syntaxset <A HREF="autocmd.html#BufEnter">BufEnter</A> *&quot; in syntax/nosyntax.vim ?
There also is a BufLeave/BufEnter aucmd to save/restore <A HREF="starting.html#view">view</A>.
Does the patch to save/restore globaldir work?

&quot;<A HREF="windows.html#:bufdo">:bufdo</A> normal gg&quot; while <A HREF="options.html#'hidden'">'hidden'</A> is set leaves <A HREF="windows.html#buffers">buffers</A> without <A HREF="syntax.html#syntax">syntax</A>
highlighting.  Don't disable <A HREF="autocmd.html#Syntax">Syntax</A> autocommands then?  Or add a flag/modifier
to avoid <A HREF="change.html#changing">changing</A> <A HREF="options.html#'eventignore'">'eventignore'</A>?

Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
Probably needs a bit of work.

Patch to add <A HREF="farsi.html#farsi">farsi</A> handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
Added test, updates, June 23.
 Updated for 7.4:	<A HREF="http://litcave.rudi.ir/farsi_vim.diff">http://litcave.rudi.ir/farsi_vim.diff</A>
With modification for Tatweel character: https://dpaste.de/VmFw
Remark from Ameretat Reith (2014 Oct 13)

<A HREF="eval.html#List">List</A> of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
Are they all OK?  Update Jul 22.

<A HREF="os_win32.html#Win32">Win32</A>: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)

<A HREF="os_win32.html#Win32">Win32</A>: Expanding <A HREF="options.html#'path'">'path'</A> runs into a maximum size limit. (bgold12, 2009 Nov 15)

<A HREF="os_win32.html#Win32">Win32</A>: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
Sep 1)

<A HREF="os_win32.html#Win32">Win32</A>: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5)

Putting a <A HREF="visual.html#Visual">Visual</A> block while 'visualedit' is &quot;all&quot; does not leave the cursor
on the first character. (John Beckett, 2010 Aug 7)

Setting <A HREF="options.html#'tags'">'tags'</A> to &quot;tagsdir/*&quot; does not find &quot;tagsdir/tags&quot;. (Steven <A HREF="various.html#K">K</A>. Wong,
2009 Jul 18)

Patch to add &quot;focusonly&quot; to <A HREF="options.html#'scrollopt'">'scrollopt'</A>, so that scrollbind also applies in
<A HREF="windows.html#window">window</A> that doesn't have focus. (Jonathon Mah, 2009 Jan 12)
Needs more work.

Problem with &lt;script&gt; mappings (Andy Wokula, 2009 Mar 8)

When starting Vim with &quot;<A HREF="starting.html#gvim">gvim</A> <A HREF="starting.html#-f">-f</A> <A HREF="starting.html#-u">-u</A> non_existent_file <A HREF="change.html#&gt;">&gt;</A> foo.txt&quot; there are a
few <A HREF="intro.html#control">control</A> characters in the output. (Dale Wiles, 2009 May 28)

<A HREF="options.html#'cmdwinheight'">'cmdwinheight'</A> is only used in last <A HREF="windows.html#window">window</A> when <A HREF="options.html#'winheight'">'winheight'</A> is a large value.
(Tony Mechelynck, 2009 Apr 15)

Status line containing <A HREF="eval.html#winnr()">winnr()</A> isn't updated when splitting the <A HREF="windows.html#window">window</A> (Clark
<A HREF="change.html#J">J</A>.  Wang, 2009 Mar 31)

When <A HREF="starting.html#$VIMRUNTIME">$VIMRUNTIME</A> is set in <A HREF="starting.html#.vimrc">.vimrc</A>, need to <A HREF="editing.html#reload">reload</A> lang files.  Already done
for <A HREF="gui_x11.html#GTK">GTK</A>, how about others? (Ron Aaron, 2010 Apr 10)

Patch for <A HREF="gui_x11.html#GTK">GTK</A> buttons <A HREF="term.html#X1Mouse">X1Mouse</A> and <A HREF="term.html#X2Mouse">X2Mouse</A>. (Christian <A HREF="change.html#J">J</A>. Robinson, 2010 Aug 9)

<A HREF="gui_x11.html#Motif">Motif</A>: Build on Ubuntu can't enter any text in <A HREF="gui_w32.html#dialog">dialog</A> text fields.

&quot;<A HREF="tabpage.html#:tab">:tab</A> split fname&quot; doesn't set the alternate file in the original <A HREF="windows.html#window">window</A>,
because win_valid() always returns <A HREF="eval.html#FALSE">FALSE</A>.  Below win_new_tabpage() in
ex_docmd.c.

Space before comma in function definition not allowed: &quot;function x(a , b)&quot;
Give a more appropriate error message.  Add a remark to the docs.

string_convert() should be able to convert between <A HREF="mbyte.html#utf-8">utf-8</A> and utf-16le.  Used
for <A HREF="gui_x11.html#GTK">GTK</A> <A HREF="gui.html#clipboard">clipboard</A>.  Avoid requirement for iconv.

Now that colnr_T is int instead of unsigned, more type casts can be removed.

<A HREF="options.html#'delcombine'">'delcombine'</A> does not work for the command line. (Tony Mechelynck, 2009 Jul
20)

Don't load macmap.vim on <A HREF="starting.html#startup">startup</A>, turn <A HREF="motion.html#it">it</A> into a <A HREF="usr_05.html#plugin">plugin</A>. (Ron Aaron,
2009 Apr 7)  Reminder Apr 14.

Add &quot;no_hlsearch&quot; to <A HREF="eval.html#winsaveview()">winsaveview()</A>.

Cursorline highlighting combines with Search ('hlsearch') but not with
SpellBad. (Jim Karsten, 2009 Mar 18)

When <A HREF="options.html#'foldmethod'">'foldmethod'</A> is &quot;indent&quot;, adding an empty line below a fold and then
indented text, creates a new fold instead of joining <A HREF="motion.html#it">it</A> with the previous one.
(Evan Laforge, 2009 Oct 17)

Bug: When reloading a buffer changed outside of Vim, <A HREF="autocmd.html#BufRead">BufRead</A> autocommands
are applied to the wrong buffer/window. (Ben Fritz, 2009 Apr 2, May 11)
Ignore <A HREF="windows.html#window">window</A> <A HREF="options.html#options">options</A> when not in the right <A HREF="windows.html#window">window</A>?
Perhaps we need to use a hidden <A HREF="windows.html#window">window</A> for applying autocommands to a buffer
that doesn't have a <A HREF="windows.html#window">window</A>.

When using &quot;<A HREF="motion.html#ab">ab</A> foo bar&quot; and <A HREF="map.html#mapping">mapping</A> <A HREF="motion.html#&lt;Tab&gt;">&lt;Tab&gt;</A> to <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A>, pressing <A HREF="motion.html#&lt;Tab&gt;">&lt;Tab&gt;</A> after foo
doesn't trigger the abbreviation like <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> would. (Ramana Kumar, 2009 Sep 6)

<A HREF="eval.html#getbufvar()">getbufvar()</A> to get a window-local option value for a buffer that's not
displayed in a <A HREF="windows.html#window">window</A> should return the value that's stored for that buffer.

&quot;:he ctrl_u&quot; can be auto-corrected to &quot;:he ctrl-u&quot;.

There should be a way after an abbreviation has expanded to go back to what
was typed.  <A HREF="editing.html#CTRL-G">CTRL-G</A> <A HREF="motion.html#h">h</A> ?  Would also <A HREF="undo.html#undo">undo</A> last <A HREF="motion.html#word">word</A> or line break inserted
perhaps.  And <A HREF="undo.html#undo">undo</A> <A HREF="index.html#CTRL-W">CTRL-W</A>.  <A HREF="editing.html#CTRL-G">CTRL-G</A> <A HREF="motion.html#l">l</A> would <A HREF="undo.html#redo">redo</A>.

Diff mode out of sync. (Gary Johnson, 2010 Aug 4)

<A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>: last message from <A HREF="starting.html#startup">startup</A> doesn't show up when there is an echoerr
command. (Cyril Slobin, 2009 Mar 13)

<A HREF="os_win32.html#Win32">Win32</A>: completion of file name &quot;<A HREF="editing.html#:e">:e</A> c:\!test&quot; results in &quot;<A HREF="editing.html#:e">:e</A> c:\\!test&quot;, which
does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)

opening/closing <A HREF="windows.html#window">window</A> causes other <A HREF="windows.html#window">window</A> with <A HREF="options.html#'winfixheight'">'winfixheight'</A> to change
height.  Also happens when there is another <A HREF="windows.html#window">window</A> in the frame, if it's not
very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)

Directory wrong in session file, caused by &quot;<A HREF="editing.html#:lcd">:lcd</A>&quot; in <A HREF="autocmd.html#BufEnter">BufEnter</A> <A HREF="autocmd.html#autocommand">autocommand</A>.
(Felix Kater, 2009 Mar 3)

<A HREF="starting.html#Session">Session</A> file generates error upon loading, cause by --remote-silent-tab.
(7tommm (ytommm) 2010 Nov 24)

Using ~ works OK on '<A HREF="insert.html#a">a</A>' with composing char, but not on 0x0418  with composing
char 0x0301. (Tony Mechelynck, 2009 Mar 4)

Searching for composing char works, but not when inside <A HREF="motion.html#[]">[]</A>. (ZyX, Benjamin <A HREF="change.html#R">R</A>.
Haskell, 2010 Aug 24)

This does not work yet: &quot;a\(&#37;C\)&quot; (get composing characters into a submatch).

Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
<A HREF="message.html#messages">messages</A>, even though <A HREF="mbyte.html#locale">locale</A> is not supported.  But &quot;<A HREF="mlang.html#:lang">:lang</A> <A HREF="message.html#messages">messages</A>
es_ES.utf-8&quot; gives an error and doesn't switch <A HREF="message.html#messages">messages</A>. (Dominique Pelle,
2009 Jan 26)

When <A HREF="options.html#$HOME">$HOME</A> contains special characters, such <A HREF="motion.html#as">as</A> a comma, <A HREF="intro.html#escape">escape</A> them when used
in an option. (Michael Hordijk, 2009 May 5)
Turn &quot;esc&quot; argument of expand_env_esc() into <A HREF="eval.html#string">string</A> of chars to be escaped.

Should make <A HREF="options.html#'ignorecase'">'ignorecase'</A> <A HREF="options.html#global-local">global-local</A>, so that <A HREF="motion.html#it">it</A> makes sense setting <A HREF="motion.html#it">it</A> from
a <A HREF="options.html#modeline">modeline</A>.

Add <A HREF="if_cscop.html#cscope">cscope</A> target to Makefile. (Tony Mechelynck, 2009 Jun 18, replies by
Sergey Khorev)

Consider making YankRing or something else that keeps a <A HREF="eval.html#list">list</A> of yanked text
part of standard Vim.  The &quot;1 to &quot;9 <A HREF="change.html#registers">registers</A> are not sufficient.

After doing &quot;su&quot; <A HREF="options.html#$HOME">$HOME</A> can be the old user's home, thus ~root/file is not
correct.  Don't use <A HREF="motion.html#it">it</A> in the swap file.

Completion for &quot;<A HREF="windows.html#:buf">:buf</A>&quot; doesn't work properly on <A HREF="os_win32.html#Win32">Win32</A> when <A HREF="options.html#'shellslash'">'shellslash'</A> is off.
(Henrik Ohman, 2009, Jan 29)

<A HREF="eval.html#shellescape()">shellescape()</A> depends on <A HREF="options.html#'shellslash'">'shellslash'</A> for quoting.  That doesn't work when
<A HREF="options.html#'shellslash'">'shellslash'</A> is set but using cmd.exe. (Ben Fritz)
Use a different option or let <A HREF="motion.html#it">it</A> depend on whether <A HREF="options.html#'shell'">'shell'</A> looks like a
unix-like shell?

Bug: in <A HREF="intro.html#Ex">Ex</A> mode (after &quot;<A HREF="intro.html#Q">Q</A>&quot;) <A HREF="intro.html#backslash">backslash</A> before line break, when yanked into a
<A HREF="sponsor.html#register">register</A> and executed, results in <A HREF="intro.html#&lt;Nul&gt;">&lt;Nul&gt;</A>: instead of line break.
(Konrad Schwarz, 2010 Apr 16)

Have a look at patch for <A HREF="mbyte.html#utf-8">utf-8</A> line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)
 Now at:	<A HREF="http://vimgadgets.sourceforge.net/liblinebreak/">http://vimgadgets.sourceforge.net/liblinebreak/</A>

Greek sigma character should be lower cased depending on the context.  Can we
make this work?  (Dominique Pelle, 2009 Sep 24)

When <A HREF="change.html#changing">changing</A> <A HREF="options.html#'encoding'">'encoding'</A> convert all the swap file names, so that we can
still delete them.  Also convert all buffer file names?

&quot;gqip&quot; in <A HREF="insert.html#Insert">Insert</A> mode has an off-by-one error, causing <A HREF="motion.html#it">it</A> to reflow text.
(Raul Coronado, 2009 Nov 2)

Update src/testdir/main.aap.

Something wrong with session that has &quot;cd&quot; commands and &quot;badd&quot;, in such a way
that Vim doesn't find the edited file in the buffer <A HREF="eval.html#list">list</A>, causing the
<A HREF="usr_11.html#ATTENTION">ATTENTION</A> message?  (Tony Mechelynck, 2008 Dec 1)
Also: swap files are in ~/tmp/  One has relative file name &quot;.mozilla/...&quot;.

Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
Maybe call <A HREF="motion.html#it">it</A> v:motiontype.

<A HREF="os_win32.html#MS-Windows">MS-Windows</A>: editing the first, empty buffer, <A HREF="options.html#'ffs'">'ffs'</A> set to &quot;unix,dos&quot;, &quot;<A HREF="editing.html#:enew">:enew</A>&quot;
doesn't set <A HREF="options.html#'ff'">'ff'</A> to &quot;<A HREF="os_unix.html#unix">unix</A>&quot;.  (Ben Fritz, 2008 Dec 5) Reusing the old buffer
probably causes this.

<A HREF="options.html#'scrollbind'">'scrollbind'</A> is not respected when <A HREF="change.html#deleting">deleting</A> lines or <A HREF="undo.html#undo">undo</A>. (Milan Vancura,
2009 Jan 16)

Document that default font in <A HREF="gui_x11.html#Athena">Athena</A> can be set with resources:
   XtDefaultFont: &quot;9x15&quot;
   XtDefaultFontSet: &quot;9x15&quot;
(Richard Sherman, 2009 Apr 12)

Having &quot;<A HREF="autocmd.html#Syntax">Syntax</A>&quot; in <A HREF="options.html#'eventignore'">'eventignore'</A> for <A HREF="windows.html#:bufdo">:bufdo</A> may cause problems, e.g. for
&quot;<A HREF="windows.html#:bufdo">:bufdo</A> e&quot; when <A HREF="windows.html#buffers">buffers</A> are open in <A HREF="windows.html#windows">windows</A>.  ex_listdo(eap) could set the
option only for when jumping to another buffer, not when the command argument
is executed.

&quot;<A HREF="windows.html#:pedit">:pedit</A> &#37;&quot; with a <A HREF="autocmd.html#BufReadPre">BufReadPre</A> <A HREF="autocmd.html#autocommand">autocommand</A> causes the cursor to move to the
first line. (Ingo Karkat, 2008 Jul 1)  Ian Kelling is working on this.
Similar problem with &quot;<A HREF="editing.html#:e">:e</A>&quot;. (Marc Montu, 2014 Apr 22)

Wildmenu not deleted: &quot;<A HREF="starting.html#gvim">gvim</A> <A HREF="starting.html#-u">-u</A> NONE&quot;, &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'nocp'">nocp</A> wildmenu cmdheight=3
laststatus=2&quot;, <A HREF="scroll.html#CTRL-D">CTRL-D</A> <A HREF="motion.html#CTRL-H">CTRL-H</A> <A HREF="motion.html#CTRL-H">CTRL-H</A> <A HREF="motion.html#CTRL-H">CTRL-H</A>. (A.Politz, 2008 April 1)
Works OK with Vim in an xterm.

Cursor line moves in other <A HREF="windows.html#window">window</A> when using <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="change.html#J">J</A> that doesn't change
anything.  (Dasn, 2009 Apr 7)

On <A HREF="os_unix.html#Unix">Unix</A> &quot;glob('does not exist~')&quot; returns the <A HREF="eval.html#string">string</A>.  Without the &quot;<A HREF="change.html#~">~</A>&quot; <A HREF="motion.html#it">it</A>
doesn't. (John Little, 2008 Nov 9)
Shell expansion returns unexpanded <A HREF="eval.html#string">string</A>?
Don't use shell when &quot;<A HREF="change.html#~">~</A>&quot; is not at the start?

When using &quot;<A HREF="editing.html#:e">:e</A> ++enc=foo file&quot; and the file is already loaded with
<A HREF="options.html#'fileencoding'">'fileencoding'</A> set to &quot;<A HREF="motion.html#bar">bar</A>&quot;, then do_ecmd() uses that buffer, even though the
fileencoding differs.  Reload the buffer in this situation?  Need to check for
the buffer to be unmodified.
Unfinished patch by Ian Kelling, 2008 Jul 11.  Followup Jul 14, need to have
another look at <A HREF="motion.html#it">it</A>.

<A HREF="syntax.html#c.vim">c.vim</A>: XXX in a comment is colored yellow, but not when it's after &quot;#if 0&quot;.
(Ilya Dogolazky, 2009 Aug 7)

You can type &quot;<A HREF="editing.html#:w">:w</A> ++bad=x fname&quot;, but the <A HREF="editing.html#++bad">++bad</A> argument is ignored.  Give an
error message?  Or is this <A HREF="starting.html#easy">easy</A> to implement?  (Nathan Stratton Treadway, 2008
Aug 20)  This is in ucs2bytes(), search for 0xBF.  Using the <A HREF="editing.html#++bad">++bad</A> argument is
at the other match for 0xBF.

When adding &quot;-complete=file&quot; to a user command this also changes how the
argument is processed for <A HREF="map.html#&lt;f-args&gt;">&lt;f-args&gt;</A>. (Ivan Tishchenko, 2008 Aug 19)

<A HREF="os_win32.html#Win32">Win32</A>: associating a type with Vim doesn't take care of space after a
<A HREF="intro.html#backslash">backslash</A>? (Robert Vibrant, 2008 Jun 5)

When <A HREF="options.html#'rightleft'">'rightleft'</A> is set, cursorcolumn isn't highlighted after the end of a
line.  It's also wrong in <A HREF="fold.html#folds">folds</A>. (Dominique Pelle, 2010 Aug 21)

Using an insert mode <A HREF="eval.html#expression">expression</A> <A HREF="map.html#mapping">mapping</A>, cursor is not in the expected
position. (ZyX, 2010 Aug 29)

After using <A HREF="motion.html#&lt;Tab&gt;">&lt;Tab&gt;</A> for command line completion after &quot;<A HREF="tagsrch.html#:ta">:ta</A> blah&quot; and getting <A HREF="message.html#E33">E33</A>
(no <A HREF="tagsrch.html#tags">tags</A> file), further editing the command to e.g., &quot;<A HREF="eval.html#:echo">:echo</A> 'blah&#39;&#34;', the
command is not executed.  Fix by Ian Kelling?

&quot;<A HREF="helphelp.html#:help">:help</A> s/~&quot; jumps to *s/\~*, while &quot;<A HREF="helphelp.html#:help">:help</A> s/\~&quot; doesn't find anything. (Tim
Chase)  Fix by Ian Kelling, 2008 Jul 14.

When <A HREF="map.html#mapping">mapping</A> : to ; and ; to <A HREF="cmdline.html#:,">:,</A> @; doesn't work like <A HREF="repeat.html#@:">@:</A> and <A HREF="repeat.html#@:">@:</A> doesn't work
either.  Matt Wozniski:  nv_at() calls do_execreg() which uses
put_in_typebuf().  Char mapped <A HREF="if_cscop.html#twice">twice</A>?

Despite adding save_subexpr() this still doesn't work properly:
Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\&#37;5c\@&lt;=a\+\)\(.\+\)\?')
Returns ['12a4', 'aaa', '4aaa'], should be ['12a4', 'aaa', '']
Backreference not cleared when retrying after \@&lt;= fails?
(Brett Stahlman, 2008 March 8)

Problem with <A HREF="eval.html#remote_send()">remote_send()</A>. (Charles Campbell, 2008 Aug 12)

<A HREF="usr_41.html#ftplugin">ftplugin</A> for help file should set <A HREF="options.html#'isk'">'isk'</A> to help file value.

<A HREF="os_win32.html#Win32">Win32</A>: remote editing fails when the current directory name contains &quot;<A HREF="index.html#[">[</A>&quot;.
(Ivan Tishchenko, Liu Yubao)  Suggested patch by Chris Lubinski: Avoid
escaping characters where the <A HREF="intro.html#backslash">backslash</A> is not removed later.  Asked Chris for
an alternate solution, also for src/ex_getln.c.
This also fails when the file or directory name contains &quot;<A HREF="motion.html#&#37;">&#37;</A>&quot;. (Thoml, 2008
July 7)
Using <A HREF="remote.html#--remote-silent">--remote-silent</A> while the current directory has a # in the name does not
work, the # needs to be escaped. (Tramblay Bruno, 2012 Sep 15)

When using remote-silent the <A HREF="starting.html#-R">-R</A> flag is not passed on. (Axel Bender, 2012 May
31)

<A HREF="os_win32.html#Win32">Win32</A>: A <A HREF="remote.html#--remote">--remote</A> command that has a directory name starting with a ( doesn't
work, the <A HREF="intro.html#backslash">backslash</A> is removed, assuming that <A HREF="motion.html#it">it</A> escapes the (. (Valery
Kondakoff, 2009 May 13)

<A HREF="os_win32.html#Win32">Win32</A>: Using &quot;<A HREF="starting.html#gvim">gvim</A> <A HREF="remote.html#--remote-tab-silent">--remote-tab-silent</A> elŝuti.txt&quot; doesn't work, the
<A HREF="mbyte.html#multi-byte">multi-byte</A> character isn't passed and edits elsuti.txt.
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)

Problem with <A HREF="options.html#'langmap'">'langmap'</A> being used on the rhs of a <A HREF="map.html#mapping">mapping</A>. (Nikolai Weibull,
2008 May 14)
Possibly related problem: Alexey Muranov, 2015 Apr 2

Problem with <A HREF="scroll.html#CTRL-F">CTRL-F</A>. (Charles Campbell, 2008 March 21)
Only happens with &quot;<A HREF="starting.html#gvim">gvim</A> <A HREF="gui_x11.html#-geometry">-geometry</A> &quot;160x26+4+27&quot; <A HREF="starting.html#-u">-u</A> NONE <A HREF="starting.html#-U">-U</A> NONE prop.c&quot;.
<A HREF="options.html#'lines'">'lines'</A> is 54. (2008 March 27)

Problem with pointer wrapping around in getvcol(). (Wolfgang Kroworsch, 2008
Oct 19)  Check for &quot;col&quot; being &quot;MAXCOL&quot; separately?

Unexpectedly <A HREF="insert.html#inserting">inserting</A> a double <A HREF="change.html#quote.">quote.</A> (Anton Woellert, 2008 Mar 23)
Works OK when <A HREF="options.html#'cmdheight'">'cmdheight'</A> is 2.

8   Use a mechanism similar to omni completion to figure out the kind of <A HREF="intro.html#tab">tab</A>
    for <A HREF="tagsrch.html#CTRL-]">CTRL-]</A> and jump to the appropriate matching <A HREF="tagsrch.html#tag">tag</A> (if there are
    several).
    Alternative: be able to define a function that takes the <A HREF="tagsrch.html#tag">tag</A> name and uses
    <A HREF="eval.html#taglist()">taglist()</A> to find the right location.  With indication of using <A HREF="tagsrch.html#CTRL-]">CTRL-]</A> so
    that the context can be taken into account. (Robert Webb)
Patch by Christian Brabandt, 2013 May 31.

The utf class table is missing some entries:
	0x2212, minus sign 
	0x2217, <A HREF="pattern.html#star">star</A>
	0x2500, <A HREF="motion.html#bar">bar</A>
	0x26ab, circle

<A HREF="visual.html#Visual">Visual</A> line mode doesn't highlight properly when <A HREF="options.html#'showbreak'">'showbreak'</A> is used and the
line doesn't fit. (Dasn, 2008 May 1)

<A HREF="gui.html#GUI">GUI</A>: In <A HREF="intro.html#Normal">Normal</A> mode can't <A HREF="change.html#yank">yank</A> the modeless selection.  Make &quot;gy&quot; <A HREF="diff.html#do">do</A> this?
Works like <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> in Command line mode.

<A HREF="os_mac.html#Mac">Mac</A>: Move Carbon <A HREF="#todo">todo</A> items to <A HREF="os_mac.html#os_mac.txt">os_mac.txt</A>.  Note that this version is frozen,
try the Cocoa version.

<A HREF="os_mac.html#Mac">Mac</A>: After a &quot;<A HREF="windows.html#:vsplit">:vsplit</A>&quot; the left scrollbar doesn't appear until <A HREF="options.html#'columns'">'columns'</A> is
changed or the <A HREF="windows.html#window">window</A> is resized.

<A HREF="gui_x11.html#GTK">GTK</A>: when setting <A HREF="options.html#'columns'">'columns'</A> in a <A HREF="starting.html#startup">startup</A> <A HREF="usr_41.html#script">script</A> and doing &quot;<A HREF="windows.html#:vertical">:vertical</A> diffsplit&quot;
the <A HREF="windows.html#window">window</A> isn't redrawn properly, see two vertical <A HREF="help.html#bars">bars</A>.

<A HREF="os_mac.html#Mac">Mac</A>: Patch for configure: remove arch from <A HREF="if_ruby.html#ruby">ruby</A> link args. (Knezevic, 2008
Mar 5)  Alternative: Kazuki Sakamoto, Mar 7.

<A HREF="os_mac.html#Mac">Mac</A>: trouble compiling with <A HREF="gui_x11.html#Motif">Motif</A>, requires --disable-darwin. (Raf, 2008 Aug
1)  Reply by Ben Schmidt.

C't: On <A HREF="mbyte.html#utf-8">utf-8</A> system, editing file with umlaut through <A HREF="gui_x11.html#Gnome">Gnome</A> results in URL
with &#37;nn&#37;nn, which is taken <A HREF="motion.html#as">as</A> two characters instead of one.
Try to reproduce at work.

Patch for default choice in file changed <A HREF="gui_w32.html#dialog">dialog</A>. (Bjorn Winckler, 2008 Oct 19)
Is there a way to <A HREF="eval.html#list">list</A> all the files first?

When <A HREF="options.html#'smartcase'">'smartcase'</A> is set and using <A HREF="various.html#CTRL-L">CTRL-L</A> to add to the search <A HREF="pattern.html#pattern">pattern</A> <A HREF="motion.html#it">it</A> may
result in no matches.  Convert chars to lower <A HREF="change.html#case">case</A>? (Erik Wognsen, 2009 Apr
16)

Fail to edit file after failed <A HREF="sponsor.html#register">register</A> access.  Error flag remains set?
(Lech Lorens, 2010 Aug 30)

Patch for <A HREF="undo.html#redo">redo</A> <A HREF="sponsor.html#register">register</A>. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the <A HREF="sponsor.html#register">register</A> writable.

Problem with <A HREF="options.html#'ts'">'ts'</A> set to 9 and <A HREF="options.html#'showbreak'">'showbreak'</A> to &quot;&gt;&gt;&gt;&quot;. (Matthew Winn, 2007 Oct
1)

In the swapfile <A HREF="gui_w32.html#dialog">dialog</A>, add a H(elp) option that gives more info about what
each choice does.  Similar to  &quot;<A HREF="helphelp.html#:help">:help</A> swap-exists-choices&quot;

try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)

try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)

&quot;<A HREF="tabpage.html#:tab">:tab</A> help&quot; always opens a new <A HREF="intro.html#tab">tab</A>, while &quot;<A HREF="helphelp.html#:help">:help</A>&quot; re-uses an existing <A HREF="windows.html#window">window</A>.
Would be more consistent when an existing <A HREF="intro.html#tab">tab</A> is re-used. (Tony Mechelynck)

Add &quot;:nofold&quot;.  Range will apply without expanding to closed fold.

Using Aap to build Vim: add remarks about how to set personal preferences.
 Example on	<A HREF="http://www.calmar.ws/tmp/aap.html">http://www.calmar.ws/tmp/aap.html</A>

<A HREF="autocmd.html#Syntax">Syntax</A> highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)
Bug in using a transparent <A HREF="syntax.html#syntax">syntax</A> region. (Hanlen in <A HREF="intro.html#vim-dev">vim-dev</A> <A HREF="intro.html#maillist">maillist</A>, 2007
Jul 31)

C <A HREF="syntax.html#syntax">syntax</A>: <A HREF="intro.html#{}">{}</A> inside () causes following <A HREF="intro.html#{}">{}</A> to be highlighted <A HREF="motion.html#as">as</A> error.
(Michalis Giannakidis, 2006 Jun 1)

When <A HREF="options.html#'diffopt'">'diffopt'</A> has &quot;context:0&quot; a single deleted line causes two <A HREF="fold.html#folds">folds</A> to <A HREF="diff.html#merge">merge</A>
and mess up syncing. (Austin Jennings, 2008 Jan 31)

<A HREF="gui_x11.html#Gnome">Gnome</A> improvements: Edward Catmur, 2007 Jan 7
    Also use Save/Discard for other GUIs

New PHP <A HREF="syntax.html#syntax">syntax</A> file, use <A HREF="motion.html#it">it</A>? (Peter Hodge)

&quot;<A HREF="eval.html#:echoe">:echoe</A>&quot; in catch block stops processing, while this doesn't happen outside of
a catch block. (ZyX, 2011 Jun 2)

<A HREF="options.html#'foldcolumn'">'foldcolumn'</A> in <A HREF="options.html#modeline">modeline</A> applied to wrong <A HREF="windows.html#window">window</A> when using a session. (Teemu
Likonen, March 19)

Test 54 uses shell commands, that doesn't work on non-Unix systems.  Use some
other way to test buffer-local autocommands.

The documentation mentions the priority for &quot;<A HREF="pattern.html#:2match">:2match</A>&quot; and &quot;<A HREF="pattern.html#:3match">:3match</A>&quot;, but <A HREF="motion.html#it">it</A>
appears the last one wins. (John Beckett, 2008 Jul 22)  Caused by adding
<A HREF="eval.html#matchadd()">matchadd()</A>?  Suggested patch by John, 2008 Jul 24.

When <A HREF="options.html#'encoding'">'encoding'</A> is <A HREF="mbyte.html#utf-8">utf-8</A> the command line is redrawn <A HREF="motion.html#as">as</A> a whole on every
character typed. (Tyler Spivey, 2008 Sep 3)  Only redraw cmdline for
<A HREF="options.html#'arabicshape'">'arabicshape'</A> when there is a character on the command line for which
(ARABIC_CHAR(u8c)) is <A HREF="eval.html#TRUE">TRUE</A>.

Cheng Fang made javacomplete. (2007 Aug 11)
Asked about latest version: 0.77.1 is on www.vim.org.

More AmigaOS4 patches. (Peter Bengtsson, Nov 9)

<A HREF="os_amiga.html#Amiga">Amiga</A> patches with vbcc. (Adrien Destugues, 2010 Aug 30)
	<A HREF="http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff">http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff</A>

<A HREF="insert.html#Insert">Insert</A> mode completion: When editing the text and pressing <A HREF="motion.html#CTRL-N">CTRL-N</A> again goes
back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)
Suggestion by Ben Schmidt, 2008 Aug 6.

Problem with compound words?  (Bert, 2008 May 6)
No warning for when flags are defined after they are used in an affix.

Screen redrawing when continuously updating the buffer and resizing the
<A HREF="terminal.html#terminal">terminal</A>. (Yakov Lerner, 2006 Sept 7)

Add option settings to help <A HREF="usr_41.html#ftplugin">ftplugin</A>. (David Eggum, 2006 Dec 18)

Autoconf problem: when checking for iconv library we may add -L/usr/local/lib,
but when compiling further tests -liconv is added without the <A HREF="starting.html#-L">-L</A> argument,
that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)

When opening <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="windows.html#window">window</A>, disable <A HREF="spell.html#spell">spell</A> checking?

Problem with &quot;.add&quot; files when using two languages and restarting Vim. (Raul
Coronado, 2008 Oct 30)

Popup menu redraw: Instead of first redrawing the text and then drawing the
popup menu over <A HREF="motion.html#it">it</A>, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu.
This should avoid flicker.  Other solution by A.Politz, 2007 Aug 22.

When a <A HREF="sponsor.html#register">register</A> contains illegal bytes, <A HREF="editing.html#writing">writing</A> <A HREF="starting.html#viminfo">viminfo</A> in <A HREF="mbyte.html#utf-8">utf-8</A> and reading
<A HREF="motion.html#it">it</A> back doesn't result in <A HREF="mbyte.html#utf-8">utf-8</A>. (Devin Bayer)

Command line completion: Scanning for <A HREF="tagsrch.html#tags">tags</A> doesn't check for typed key now and
then?  Hangs for about 5 seconds.  Appears to be caused by finding include
files with &quot;foo/**&quot; in <A HREF="options.html#'path'">'path'</A>.  (Kalisiak, 2006 July 15)

Additional info: When using the |<A HREF="editing.html#wildcards">wildcards</A>|  globing, vim hangs
indefinitely on lots of directories. The |<A HREF="editing.html#file-searching">file-searching</A>| globing, like in
&quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'path'">path</A>=/**&quot; does not hang <A HREF="motion.html#as">as</A> often <A HREF="motion.html#as">as</A> with globing with |<A HREF="editing.html#wildcards">wildcards</A>|, like
in &quot;:1find /**/file&quot;.  This is for files that <A HREF="os_unix.html#unix">unix</A> &quot;find&quot; can find very
quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian
Kelling, 2008 July 4)

When the file name has parenthesis, e.g., &quot;foo (bar).txt&quot;, &quot;:!ls '&#37;&#39;&#34;' has the
parenthesis escaped but not the space.  That's inconsistent.  Either <A HREF="intro.html#escape">escape</A>
neither or both.  No escaping might be best, because <A HREF="motion.html#it">it</A> doesn't depend on
particularities of the shell. (Zvi Har'El, 2007 Nov 10) (Teemu Likonen, 2008
Jun 3)
However, for backwards compatibility escaping might be necessary.  Check if
the user put <A HREF="quotes.html#quotes">quotes</A> around the expanded item?

A throw in a function causes missing an endif below the call. (Spiros
Bousbouras, 2011 May 16)

Error <A HREF="print.html#E324">E324</A> can be given when a cron <A HREF="usr_41.html#script">script</A> has wiped out our temp directory.
Give a clear error message about this (and tell them not to wipe out /tmp).

Color for cUserLabel should differ from <A HREF="change.html#case">case</A> label, so that a mistake in a
switch <A HREF="eval.html#list">list</A> is noticed:
    switch (i)
    {
    <A HREF="change.html#case">case</A> 1:
    foobar:
    }

 Look at	<A HREF="http://www.gtk-server.org/">http://www.gtk-server.org/</A> . It has a Vim script implementation.

Netbeans problem.  Use &quot;nc <A HREF="starting.html#-l">-l</A> 127.0.0.1 55555&quot; for the server, then run <A HREF="starting.html#gvim">gvim</A>
with &quot;<A HREF="starting.html#gvim">gvim</A> -nb:localhost:55555:foo&quot;.  From nc <A HREF="diff.html#do">do</A>: '1:editFile!0 &quot;foo&quot;'.  Then
go to <A HREF="insert.html#Insert">Insert</A> mode and add a few lines.  Then backspacing every other time
moves the cursor instead of <A HREF="change.html#deleting">deleting</A>. (Chris Kaiser, 2007 Sep 25)

Windows installer could add a &quot;open in new <A HREF="intro.html#tab">tab</A> of existing Vim&quot; menu entry.
Gvimext: patch to add &quot;Edit with single Vim &amp;tabbed&quot; menu entry.
Just have two choices, always using one Vim and selecting between using an
argument <A HREF="eval.html#list">list</A> or opening each file in a separate <A HREF="intro.html#tab">tab</A>.
(Erik Falor, 2008 May 21, 2008 Jun 26)

Windows installer: licence text should not use indent, causes bad <A HREF="motion.html#word">word</A> wrap.
(Benjamin Fritz, 2010 Aug 16)

Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper).  Add a magic <A HREF="eval.html#string">string</A> with the version number to the
.bat file and check for <A HREF="motion.html#it">it</A> in the uninstaller.  E.g.
          # uninstall key: vim7.3*

Changes for <A HREF="os_win32.html#Win32">Win32</A> makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)

<A HREF="os_win32.html#Win32">Win32</A>: Can't complete shell command names.  Why is setting xp_context in
set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?

<A HREF="os_win32.html#Win32">Win32</A>: Patch for <A HREF="if_cscop.html#cscope">cscope</A> external command. (Mike Williams, 2007 Aug 7)

<A HREF="os_win32.html#Win32">Win32</A>: XPM support only works with path without spaces.  Patch by Mathias
Michaelis, 2006 Jun 9.  Another patch for more path names, 2006 May 31.
 New version:	<A HREF="http://members.tcnet.ch/michaelis/vim/patches.zip">http://members.tcnet.ch/michaelis/vim/patches.zip</A> also for other
patches by Mathias, see mail Feb 22)

<A HREF="os_win32.html#Win32">Win32</A>: compiling with normal features and OLE fails.  Patch by Mathias
Michaelis, 2006 Jun 4.

<A HREF="os_win32.html#Win32">Win32</A>: after &quot;<A HREF="tagsrch.html#[I">[I</A>&quot; showing matches, scroll wheel messes up screen. (Tsakiridis,
2007 Feb 18)
Patch by Alex Dobrynin, 2007 Jun 3.  Also fixes other scroll wheel problems.

<A HREF="os_win32.html#Win32">Win32</A>: using CTRL-S in <A HREF="insert.html#Insert">Insert</A> mode doesn't remove the &quot;<A HREF="motion.html#+">+</A>&quot; from the <A HREF="intro.html#tab">tab</A> pages
label.  (Tsakiridis, 2007 Feb 18)  Patch from Ian Kelling, 2008 Aug 6.

<A HREF="os_win32.html#Win32">Win32</A>: using &quot;<A HREF="starting.html#gvim">gvim</A> <A HREF="remote.html#--remote-tab-silent">--remote-tab-silent</A> fname&quot; sometimes gives an empty screen
with the more prompt.  Caused by setting the guitablabel?  (Thomas Michael
Engelke, 2007 Dec 20 - 2008 Jan 17)

<A HREF="os_win32.html#Win32">Win32</A>: patch for fullscreen mode. (Liushaolin, 2008 April 17)

<A HREF="os_win32.html#Win32">Win32</A>: When <A HREF="options.html#'shell'">'shell'</A> is bash <A HREF="eval.html#shellescape()">shellescape()</A> doesn't always <A HREF="diff.html#do">do</A> the right thing.
Depends on <A HREF="options.html#'shellslash'">'shellslash'</A>, <A HREF="options.html#'shellquote'">'shellquote'</A> and <A HREF="options.html#'shellxquote'">'shellxquote'</A>, but <A HREF="eval.html#shellescape()">shellescape()</A>
only takes <A HREF="options.html#'shellslash'">'shellslash'</A> into account.

Menu item that does &quot;xxd -r&quot; doesn't work when <A HREF="options.html#'fileencoding'">'fileencoding'</A> is utf-16.
Check for this and use iconv?  (Edward <A HREF="motion.html#L">L</A>. Fox, 2007 Sep 12)
Does the conversion in the other direction work when <A HREF="options.html#'fileencodings'">'fileencodings'</A> is set
properly?

Cursor displayed in the wrong position when using <A HREF="options.html#'numberwidth'">'numberwidth'</A>. (James Vega,
2007 Jun 21)

When $VAR contains a <A HREF="intro.html#backslash">backslash</A> expand('$VAR') removes <A HREF="motion.html#it">it</A>. (Teemu Likonen, 2008
Jun 18)

If the variable &quot;g:x#y#z&quot; exists completion after &quot;<A HREF="eval.html#:echo">:echo</A> g:x#&quot; doesn't work.

Feature request: Command to go to previous <A HREF="intro.html#tab">tab</A>, like what <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="change.html#p">p</A> does for
<A HREF="windows.html#windows">windows</A>. (Adam George)

F1 - F4 in an xterm produce a different <A HREF="intro.html#escape">escape</A> sequence when used with a
modifier key.  Need to catch three different sequences.  Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)

In debug mode, using <A HREF="undo.html#CTRL-R">CTRL-R</A> = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28)

C++ indenting wrong with &quot;<A HREF="change.html#=">=</A>&quot;. (James Kanze, 2007 Jan 26)

&quot;<A HREF="eval.html#:lockvar">:lockvar</A>&quot; should use copyID to avoid endless loop.

When using <A HREF="remote.html#--remote-silent">--remote-silent</A> and the file name matches <A HREF="options.html#'wildignore'">'wildignore'</A> get an <A HREF="editing.html#E479">E479</A>
error.  without <A HREF="remote.html#--remote-silent">--remote-silent</A> <A HREF="motion.html#it">it</A> works fine. (Ben Fritz, 2008 Jun 20)

Gvim: <A HREF="gui_w32.html#dialog">dialog</A> for closing Vim should check if Vim is busy <A HREF="editing.html#writing">writing</A> a file.  Then
use a different <A HREF="gui_w32.html#dialog">dialog</A>: &quot;busy saving, really quit? yes / no&quot;.

Check other interfaces for <A HREF="change.html#changing">changing</A> curbuf in a wrong way.  Patch like for
if_ruby.c.

&quot;<A HREF="helphelp.html#:helpgrep">:helpgrep</A>&quot; should use the directory from <A HREF="options.html#'helpfile'">'helpfile'</A>.

The need_fileinfo flag is messy.  Instead make the message right away and put
<A HREF="motion.html#it">it</A> in keep_msg?

Editing a file remotely that matches <A HREF="options.html#'wildignore'">'wildignore'</A> results in a &quot;no match&quot;
error.  Should only happen when there are <A HREF="editing.html#wildcards">wildcards</A>, not when giving the file
name literally, and esp. if there is only one name.

Test 61 fails sometimes.  This is a timing problem: &quot;sleep 2&quot; sometimes takes
longer than 2 seconds.

Using &quot;<A HREF="autocmd.html#:au">:au</A> <A HREF="autocmd.html#CursorMoved">CursorMoved</A> &#42; cmd&quot; invokes mch_FullName(), which can be slow.
Can this be avoided? (Thomas Waba, 2008 Aug 24)
Also for &quot;<A HREF="editing.html#:w">:w</A>&quot; without a file name.
The buffer has the full path in ffname, should pass this to the <A HREF="autocmd.html#autocommand">autocommand</A>.

&quot;vim -C&quot; often has <A HREF="options.html#'nocompatible'">'nocompatible'</A>, because it's set in some <A HREF="starting.html#startup">startup</A> <A HREF="usr_41.html#script">script</A>.
Set <A HREF="options.html#'compatible'">'compatible'</A> after <A HREF="starting.html#startup">startup</A> is done?  Patch by James Vega, 2008 Feb 7.

<A HREF="os_vms.html#VMS">VMS</A>: while editing a file found in complex, Vim will save file into the first
directory of the path and not to the original location of the file.
(Zoltan Arpadffy)

<A HREF="os_vms.html#VMS">VMS</A>: VFC files are in some cases truncated during reading (Zoltan Arpadffy)

<A HREF="eval.html#input()">input()</A> completion should not insert a <A HREF="intro.html#backslash">backslash</A> to <A HREF="intro.html#escape">escape</A> a space in a file
name?

<A HREF="if_ruby.html#Ruby">Ruby</A> completion is insecure.  Can this be fixed?

When <A HREF="options.html#'backupskip'">'backupskip'</A> is set from $TEMP special characters need to be escaped.
(patch by Grembowietz, 2007 Feb 26, not quite right)
Another problem is that file_pat_to_reg_pat() doesn't recognize &quot;\\&quot;, so &quot;\\(&quot; 
will be seen <A HREF="motion.html#as">as</A> a path separator plus &quot;\(&quot;.

<A HREF="starting.html#gvim">gvim</A> d:\path\path\(FILE).xml should not remove the \ before the (.
This also fails with <A HREF="remote.html#--remote">--remote</A>.

When doing &quot;<A HREF="editing.html#:quit">:quit</A>&quot; the Netbeans &quot;killed&quot; event isn't sent.  (Xavier de Gaye,
2008 Nov 10)  call netbeans_file_closed() at the end of buf_freeall(), or in
all places where buf_freeall() is called?

aucmd_prepbuf() should also use a <A HREF="windows.html#window">window</A> in another <A HREF="intro.html#tab">tab</A> page.

When unloading a buffer in a <A HREF="autocmd.html#BufHidden">BufHidden</A> <A HREF="autocmd.html#autocommand">autocommand</A> the hidden flag is reset?
(Bob Hiestand, 2008 Aug 26, Aug 27)

Substituting an area with a line break with almost the same area does change
the <A HREF="visual.html#Visual">Visual</A> area.  Can this be fixed? (James Vega, 2006 Sept 15)

<A HREF="gui.html#GUI">GUI</A>: When combining fg en bg make sure they are not equal.

Spell checking: Add a way to specify punctuation characters.  Add the
superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.

Spell checking in popup menu: If the only problem is the <A HREF="change.html#case">case</A> of the first
character, don't offer &quot;ignore&quot; and &quot;add to <A HREF="motion.html#word">word</A> list&quot;.

Use different pt_br dictionary for <A HREF="spell.html#spell">spell</A> checking. (Jackson A. Aquino, 2006
Jun 5)

Use different romanian dictionary for <A HREF="spell.html#spell">spell</A> checking. (Andrei Popescu, Nov
 2008 Use	<A HREF="http://downloads.sourceforge.net/rospell/ro_RO.3.2.zip">http://downloads.sourceforge.net/rospell/ro_RO.3.2.zip</A>
Or the hunspell-ro.3.2.tar.gz file, <A HREF="motion.html#it">it</A> also has a iso-8859-2 <A HREF="eval.html#list">list</A>.

In a C file with <A HREF="spell.html#spell">spell</A> checking, in &quot;<A HREF="motion.html#&#37;">&#37;</A> integer&quot; &quot;nteger&quot; is seen <A HREF="motion.html#as">as</A> an error,
but &quot;<A HREF="spell.html#]s">]s</A>&quot; doesn't find <A HREF="motion.html#it">it</A>.  &quot;nteger&quot; by itself is found. (Ralf Wildenhues, 2008
Jul 22)

There should be something about <A HREF="spell.html#spell">spell</A> checking in the user manual.

Spell menu: When using the Popup menu to select a replacement <A HREF="motion.html#word">word</A>,
&quot;:spellrepeat&quot; doesn't work.  SpellReplace() uses <A HREF="eval.html#setline()">setline()</A>.  Can <A HREF="motion.html#it">it</A> use &quot;<A HREF="spell.html#z=">z=</A>&quot;
somehow?  Or use a new function.

<A HREF="os_mac.html#Mac">Mac</A>: Using <A HREF="starting.html#gvim">gvim</A>: <A HREF="pi_netrw.html#netrw">netrw</A> <A HREF="windows.html#window">window</A> disappears. (Nick Lo, 2006 Jun 21)

Add an option to specify the character to use when a double-width character is
moved to the next line.  Default '<A HREF="change.html#&gt;">&gt;</A>', set to a space to blank <A HREF="motion.html#it">it</A> out.  Check
that char is single width when it's set (compare with <A HREF="options.html#'listchars'">'listchars'</A>).

The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)

When showing a <A HREF="diff.html#diff">diff</A> between a non-existent file and an existing one, with the
cursor in the empty buffer, the other buffer only shows the last line.  Change
the &quot;insert&quot; into a change from one line to many? (Yakov Lerner, 2008 May 27)

These two <A HREF="map.html#abbreviations">abbreviations</A> don't give the same result:
	let asdfasdf = &quot;xyz\&lt;Left&gt;&quot;
	cabbr XXX &lt;C-R&gt;=asdfasdf&lt;CR&gt;
	cabbr YYY xyz&lt;Left&gt;

Michael Dietrich: maximized <A HREF="starting.html#gvim">gvim</A> sometimes displays output of external command
partly. (2006 Dec 7)

In <A HREF="autocmd.html#FileChangedShell">FileChangedShell</A> command it's no longer allowed to switch to another
buffer.  But the changed buffer may differ from the current buffer, how to
<A HREF="editing.html#reload">reload</A> <A HREF="motion.html#it">it</A> then?

For Aap: include a config.arg.example file with hints how to use config.arg.

Command line completion when <A HREF="options.html#'cmdheight'">'cmdheight'</A> is maximum and <A HREF="options.html#'wildmenu'">'wildmenu'</A> is set,
only one buffer line displayed, causes display <A HREF="message.html#errors">errors</A>.

Completing with <A HREF="options.html#'wildmenu'">'wildmenu'</A> and using <A HREF="motion.html#&lt;Up&gt;">&lt;Up&gt;</A> and <A HREF="motion.html#&lt;Down&gt;">&lt;Down&gt;</A> to move through directory
tree stops unexpectedly when using &quot;<A HREF="editing.html#:cd">:cd</A> &quot; and entering a directory that
doesn't contain other directories.

Default for <A HREF="options.html#'background'">'background'</A> is wrong when using xterm with 256 colors.
Table with estimates from Matteo Cavalleri, 2014 Jan 10.

Setting <A HREF="options.html#'background'">'background'</A> resets the <A HREF="intro.html#Normal">Normal</A> background color:
   highlight <A HREF="intro.html#Normal">Normal</A> ctermbg=DarkGray
   set background=dark
This is undesired, <A HREF="options.html#'background'">'background'</A> is supposed to tell Vim what the background
color is, not reset <A HREF="motion.html#it">it</A>.

Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
  known to Vim.  88 colors instead of 16 works better.  See &quot;<A HREF="helphelp.html#:help">:help</A>
  xfree-xterm&quot;.
- Suggest including bare &quot;<A HREF="intro.html#vi">vi</A>&quot; and &quot;vim&quot; with <A HREF="options.html#X11">X11</A>, <A HREF="syntax.html#syntax">syntax</A>, etc.

Completion menu: For a wrapping line, completing a long file name, only the
start of the path is shown in the menu.  Should move the menu to the right to
show more text of the completions.  Shorten the items that don't fit in the
middle?

Accessing file#var in a function should not need the <A HREF="eval.html#g:">g:</A> prepended.

When <A HREF="starting.html#exiting">exiting</A> detects a modified buffer, instead of opening the buffer in the
current <A HREF="intro.html#tab">tab</A>, use an existing <A HREF="intro.html#tab">tab</A>, if possible.  Like finding a <A HREF="windows.html#window">window</A> where
the buffer is displayed. (Antonios Tsakiridis)

When &quot;<A HREF="quickfix.html#:cn">:cn</A>&quot; moves to an error in the same line the message isn't shortened.
Only skip shortening for &quot;<A HREF="quickfix.html#:cc">:cc</A>&quot;?


Write &quot;making vim work better&quot; for the docs (mostly pointers): *<A NAME="nice"></A><B>nice</B>*
    - sourcing $VIMRUNTIME/vimrc_example.vim
    - setting <A HREF="options.html#'mouse'">'mouse'</A> to &quot;<A HREF="insert.html#a">a</A>&quot;
    - getting colors in xterm
    - compiling Vim with <A HREF="options.html#X11">X11</A>, <A HREF="gui.html#GUI">GUI</A>, etc.

Problem with &quot;<A HREF="eval.html#:call">:call</A>&quot; and dictionary function. Hari Krishna Dara, Charles
Campbell 2006 Jul 06.

<A HREF="autocmd.html#Syntax">Syntax</A> HL error caused by &quot;containedin&quot;. (Peter Hodge, 2006 Oct 6)

A custom completion function in a &quot;<A HREF="map.html#:command">:command</A>&quot; cannot be a <A HREF="eval.html#Funcref">Funcref</A>. (Andy
Wokula, 2007 Aug 25)

Problem with using <A HREF="various.html#:redir">:redir</A> in user command completion function? (Hari Krishna
Dara, 2006 June 21)

Another resizing problem when setting <A HREF="options.html#'columns'">'columns'</A> and <A HREF="options.html#'lines'">'lines'</A> to a very large
number. (Tony Mechelynck, 2007 Feb 6)

After starting Vim, using <A HREF="motion.html#'0">'0</A> to jump somewhere in a file, &quot;<A HREF="windows.html#:sp">:sp</A>&quot; doesn't center
the cursor line.  It works OK after some other commands.

<A HREF="os_win32.html#Win32">Win32</A>: Is <A HREF="motion.html#it">it</A> possible to have both postscript and <A HREF="os_win32.html#Win32">Win32</A> <A HREF="print.html#printing">printing</A>?

Problem with <A HREF="options.html#'cdpath'">'cdpath'</A> on <A HREF="os_win32.html#MS-Windows">MS-Windows</A> when a directory is equal to <A HREF="options.html#$HOME">$HOME</A>. (2006
Jul 26, Gary Johnson)

Using <A HREF="mbyte.html#UTF-8">UTF-8</A> character with &quot;<A HREF="map.html#:command">:command</A>&quot; does not work properly. (Matt Wozniski,
2008 Sep 29)

In the Netbeans interface add a &quot;vimeval&quot; function, so that the other side can
check the result of has(&quot;patch13&quot;).

Cursor line at bottom of <A HREF="windows.html#window">window</A> instead of halfway after saving <A HREF="starting.html#view">view</A> and
restoring.  Only with <A HREF="options.html#'nowrap'">'nowrap'</A>. (Robert Webb, 2008 Aug 25)

Netrw has trouble executing autocommands only for a directory.  Add &lt;isdir&gt;
and &lt;notisdir&gt; to <A HREF="autocmd.html#autocommand">autocommand</A> patterns?  Also &lt;isfile&gt;?

Add command modifier that skips <A HREF="editing.html#wildcard">wildcard</A> expansion, so that you don't need to
put backslashes before special chars, only for white space.

<A HREF="autocmd.html#Syntax">Syntax</A> HL: open two <A HREF="windows.html#windows">windows</A> on the same C code, delete a &quot;<A HREF="motion.html#)">)</A>&quot; in one <A HREF="windows.html#window">window</A>,
resulting in highlighted &quot;<A HREF="motion.html#{">{</A>&quot; in that <A HREF="windows.html#window">window</A>, not in the other.

In <A HREF="gui_w32.html#mswin.vim">mswin.vim</A>: Instead of <A HREF="map.html#mapping">mapping</A> &lt;C-V&gt; for <A HREF="insert.html#Insert">Insert</A> mode in a complicated way,
can <A HREF="motion.html#it">it</A> be done like &quot;<A HREF="map.html#:imap">:imap</A> &lt;C-V&gt; &lt;MiddleMouse&gt;&quot; without negative side effects?

<A HREF="gui_x11.html#GTK">GTK</A>: when the <A HREF="intro.html#Tab">Tab</A> pages <A HREF="motion.html#bar">bar</A> appears or disappears while the <A HREF="windows.html#window">window</A> is
maximized the <A HREF="windows.html#window">window</A> is no longer maximized.  Patch that has some idea but
doesn't work from Geoffrey Antos, 2008 May 5.
Also: the <A HREF="windows.html#window">window</A> may no longer fit on the screen, thus the command line is not
visible.

When right after &quot;vim file&quot;, &quot;<A HREF="motion.html#M">M</A>&quot; then <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="visual.html#v">v</A> the <A HREF="windows.html#windows">windows</A> are scrolled
differently and unexpectedly.  Caused by patch 7.2.398?

The magic <A HREF="gui.html#clipboard">clipboard</A> format &quot;VimClipboard2&quot; appears in several places.  Should
be only one.

<A HREF="os_win32.html#Win32">Win32</A>, NTFS: When editing a specific infostream directly and <A HREF="options.html#'backupcopy'">'backupcopy'</A> is
&quot;auto&quot; should detect this situation and work like <A HREF="options.html#'backupcopy'">'backupcopy'</A> is &quot;yes&quot;.  File
name is something like &quot;c:\path\foo.txt:bar&quot;, includes a colon.  (Alex
Jakushev, 2008 Feb 1)

Small problem displaying <A HREF="diff.html#diff">diff</A> filler line when opening <A HREF="windows.html#windows">windows</A> with a <A HREF="usr_41.html#script">script</A>.
(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )

Is <A HREF="motion.html#it">it</A> allowed that <A HREF="options.html#'backupext'">'backupext'</A> is empty?  Problems when <A HREF="editing.html#backup">backup</A> is in same dir
<A HREF="motion.html#as">as</A> original file?  If it's OK don't compare with <A HREF="options.html#'patchmode'">'patchmode'</A>. (Thierry Closen)

Patch for supporting <A HREF="intro.html#count">count</A> before CR in <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="windows.html#window">window</A>. (AOYAMA Shotaro, 2007
Jan 1)

Patch for adding &quot;:lscscope&quot;. (Navdeep Parhar, 2007 Apr 26; update 2008 Apr
23)

&quot;<A HREF="starting.html#:mkview">:mkview</A>&quot; isn't called with the right buffer argument.  Happens when using
tabs and the <A HREF="autocmd.html#autocommand">autocommand</A> &quot;autocmd <A HREF="autocmd.html#BufWinLeave">BufWinLeave</A> &#42; mkview&quot;.  (James Vega, 2007
Jun 18)

When completing from another file that uses a different encoding completion
text has the wrong encoding.  E.g., when <A HREF="options.html#'encoding'">'encoding'</A> is <A HREF="mbyte.html#utf-8">utf-8</A> and file is
latin1.  Example from Gombault Damien, 2007 Mar 24.

<A HREF="autocmd.html#Syntax">Syntax</A> HL: When using &quot;nextgroup&quot; and the group has an empty match, there is
no search at that position for another match. (Lukas Mai, 2008 April 11)

In <A HREF="starting.html#gvim">gvim</A> the backspace key produces a backspace character, but on Linux the
VERASE key is Delete.  Set VERASE to Backspace? (patch by Stephane Chazelas,
2007 Oct 16)

<A HREF="autocmd.html#TermResponse">TermResponse</A> <A HREF="autocmd.html#autocommand">autocommand</A> isn't always triggered when using <A HREF="diff.html#vimdiff">vimdiff</A>. (Aron
Griffis, 2007 Sep 19)

Create a gvimtutor.1 file and change Makefiles to <A HREF="usr_90.html#install">install</A> <A HREF="motion.html#it">it</A>.

When <A HREF="options.html#'encoding'">'encoding'</A> is <A HREF="mbyte.html#utf-8">utf-8</A> typing text at the end of the line causes previously
typed characters to be redrawn.  Caused by patch 7.1.329. (Tyler Spivey, 2008
Sep 3, 11)

When Vim in an xterm owns the selection and the user does &quot;<A HREF="various.html#:shell">:shell</A>&quot; Vim doesn't
respond to selection requests.  Invoking XtDisownSelection() before executing
the shell doesn't help.  Would require forking and doing a message loop, like
what happens for the <A HREF="gui.html#GUI">GUI</A>.

&quot;<A HREF="quickfix.html#:vimgrep">:vimgrep</A>&quot; does not recognize a recursive symlink.  Is <A HREF="motion.html#it">it</A> possible to detect
this, at least for <A HREF="os_unix.html#Unix">Unix</A> (using device/inode)?

When switching between <A HREF="windows.html#windows">windows</A> the cursor is often put in the middle.
Remember the relative position and restore that, just like lnum and col are
restored. (Luc St-Louis)

Patch to support horizontal scroll wheel in <A HREF="gui_x11.html#GTK">GTK</A>. Untested. (Bjorn Winckler,
2010 Jun 30)

Add an option for a minimal text length before <A HREF="insert.html#inserting">inserting</A> a line break for
<A HREF="options.html#'textwidth'">'textwidth'</A>.  Avoids very short lines when a very long <A HREF="motion.html#word">word</A> follows.
(Kartik Agaram)


Better <A HREF="usr_05.html#plugin">plugin</A> support (not <A HREF="usr_05.html#plugin">plugin</A> manager, see elsewhere for that):
- Avoid use of feedkeys, add <A HREF="eval.html#eval">eval</A> <A HREF="eval.html#functions">functions</A> where needed:
  - manipulating the <A HREF="visual.html#Visual">Visual</A> selection?
- Add createmark(): add a <A HREF="motion.html#mark">mark</A> like mM, but return a unique ID.  Need some way
  to clean them up again...  Use a name + the <A HREF="usr_41.html#script">script</A> ID.
  Add createmark( , '<A HREF="change.html#c">c</A>') to track inserts/deletes before the column.
- Plugins need to make a lot of effort, lots of mappings, to know what
  happened before pressing the key that triggers a <A HREF="usr_05.html#plugin">plugin</A> action.  How about
  keeping the last N pressed keys, so that they <A HREF="diff.html#do">do</A> not need to be mapped?
- equivalent of netbeans_beval_cb().  With an <A HREF="autocmd.html#autocommand">autocommand</A>?
- Add something to enable debugging when a remote message is received.


More patches:
-   Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
    Needs a few tests.
-   Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
-   Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
    patch May 10)
-   Extra argument to <A HREF="eval.html#strtrans()">strtrans()</A> to translate special keys to their name (Eric
    Arnold, 2006 May 22)
-   'threglookexp' option: only match with first <A HREF="motion.html#word">word</A> in thesaurus file.
    (Jakson A. Aquino, 2006 Jun 14)
-   <A HREF="os_mac.html#Mac">Mac</A>: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)
-   Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)
-   ml_append_string(): efficiently append to an existing line. (Brad
    Beveridge, 2006 Aug 26)  Use in some situations, e.g., when pasting a
    character at a time?
-   recognize hex numbers better. (Mark Manning, 2006 Sep 13)
-   Add &lt;AbbrExpand&gt; key, to expand an abbreviation in a <A HREF="map.html#mapping">mapping</A>. (Kana
    Natsuno, 2008 Jul 17)
-   Add 'wspara' option, also accept blank lines like empty lines for &quot;<A HREF="motion.html#{">{</A>&quot; and
    &quot;<A HREF="motion.html#}">}</A>&quot;. (Mark Lundquist, 2008 Jul 18)
-   Patch to add <A HREF="tagsrch.html#CTRL-T">CTRL-T</A> to delete part of a path on cmdline. (Adek, 2008 Jul
    21)
-   Instead of creating a copy of the <A HREF="usr_01.html#tutor">tutor</A> in all the shell scripts, <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> in
    vimtutor.vim. (Jan Minar, 2008 Jul 20)
-   When fsync() fails there is no hint about what went wrong.  Patch by Ben
    Schmidt, 2008 Jul 22.
-   testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
    Sep 13)
-   <A HREF="insert.html#Replace">Replace</A> ccomplete.vim by cppcomplete.vim from www.vim.org?  <A HREF="usr_41.html#script">script</A> 1520 by
    Vissale Neang.  (Martin Stubenschrott) Asked Vissale to make the scripts
    more friendly for the Vim <A HREF="intro.html#distribution">distribution</A>.
    New version received 2008 Jan 6.
    No maintenance in two years...
-   Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)

Awaiting updated patches:
9   <A HREF="os_mac.html#Mac">Mac</A> <A HREF="mbyte.html#unicode">unicode</A> patch (Da Woon Jung, Eckehard Berns):
    8   Add patch from Muraoka Taro (Mar 16) to support input method on <A HREF="os_mac.html#Mac">Mac</A>?
	New patch 2004 Jun 16
    - selecting proportional font breaks display
    - <A HREF="mbyte.html#UTF-8">UTF-8</A> text causes display problems.  Font replacement causes this.
    - Command-key mappings <A HREF="diff.html#do">do</A> not work. (Alan Schmitt)
    - With <A HREF="options.html#'nopaste'">'nopaste'</A> pasting is wrong, with <A HREF="options.html#'paste'">'paste'</A> Command-V doesn't work.
      (Alan Schmitt)
    - remove <A HREF="options.html#'macatsui'">'macatsui'</A> option when this has been fixed.
    - when <A HREF="options.html#'macatsui'">'macatsui'</A> is off should we always convert to &quot;macroman&quot; and ignore
      <A HREF="options.html#'termencoding'">'termencoding'</A>?
9   HTML indenting can be slow.  Caused by using <A HREF="eval.html#searchpair()">searchpair()</A>.  Can <A HREF="eval.html#search()">search()</A>
    be used instead?  A.Politz is looking into a solution.
8   <A HREF="os_win32.html#Win32">Win32</A>: Add minidump generation. (George Reilly, 2006 Apr 24)
7   Completion of <A HREF="pi_netrw.html#network">network</A> shares, patch by Yasuhiro Matsumoto.
    Update 2004 Sep 6.
    How does this work?  Missing comments.
8   Add a few more command names to the <A HREF="gui.html#menus">menus</A>.  Patch from Jiri Brezina
    (28 feb 2002).  Will mess the translations...
7   <A HREF="usr_11.html#ATTENTION">ATTENTION</A> <A HREF="gui_w32.html#dialog">dialog</A> choices are more logical when &quot;Delete it&quot; appears
    before &quot;Quit&quot;.  Patch by Robert Webb, 2004 May 3.
-   Include flipcase patch: ~/vim/patches/wall.flipcase2 ?  Make <A HREF="motion.html#it">it</A> work
    for <A HREF="mbyte.html#multi-byte">multi-byte</A> characters.
-   <A HREF="os_win32.html#Win32">Win32</A>: add <A HREF="options.html#options">options</A> to print <A HREF="gui_w32.html#dialog">dialog</A>.  Patch from Vipin Aravind.
-   Patch to add highlighting for <A HREF="pattern.html#whitespace">whitespace</A>. (Tom Schumm, 2003 Jul 5)
    use the patch that keeps using HLF_8 if HLF_WS has not
    been given values.
    Add section in help files for these highlight groups?
8   &quot;fg&quot; and &quot;bg&quot; don't work in an xterm.  Get default colors from xterm
    with an ESC sequence.
    xterm can send colors for many things.  E.g. for the cursor:
	&lt;Esc&gt;]12;?&lt;Bel&gt;
    Can use this to get the background color and restore the colors on exit.
7   Add &quot;DefaultFG&quot; and &quot;DefaultBG&quot; for the colors of the menu. (Marcin
    Dalecki has a patch for <A HREF="gui_x11.html#Motif">Motif</A> and Carbon)
-   Add possibility to highlight specific columns (for Fortran).  Or put a
    line in between columns (e.g., for <A HREF="options.html#'textwidth'">'textwidth'</A>).
    Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20.
8   Add <A HREF="eval.html#functions">functions</A>:
    gettext()		Translate a message.  (Patch from Yasuhiro Matsumoto)
			Update 2004 Sep 10
			Another patch from Edward <A HREF="motion.html#L">L</A>. Fox (2005 Nov 24)
			Search in <A HREF="options.html#'runtimepath'">'runtimepath'</A>?
			More docs needed about how to use this.
			How to get the <A HREF="message.html#messages">messages</A> into the .po files?
    <A HREF="eval.html#confirm()">confirm()</A>		add &quot;flags&quot; argument, with '<A HREF="visual.html#v">v</A>' for vertical
			    layout and '<A HREF="change.html#c">c</A>' for console <A HREF="gui_w32.html#dialog">dialog</A>. (Haegg)
			    Flemming Madsen has a patch for the '<A HREF="change.html#c">c</A>' flag
			    (2003 May 13)
    raisewin()		raise <A HREF="starting.html#gvim">gvim</A> <A HREF="windows.html#window">window</A> (see HierAssist patch for
			    <A HREF="if_tcl.html#Tcl">Tcl</A> implementation ~/vim/HierAssist/ )
    <A HREF="eval.html#taglist()">taglist()</A>		add argument to specify maximum number of matches.
			useful for interactive things or completion.
    col('^')            column of first non-white character.
			Can use &quot;len(substitute(getline('.'), '\S.*', <A HREF="motion.html#''">''</A>, ''))
			+ 1&quot;, but that's ugly.
7   Add patch from Benoit Cerrina to integrate Vim and <A HREF="if_perl.html#Perl">Perl</A> <A HREF="eval.html#functions">functions</A>
    better.  Now also works for <A HREF="if_ruby.html#Ruby">Ruby</A> (2001 Nov 10)
-   Patch from Herculano de Lima Einloft Neto for better <A HREF="change.html#formatting">formatting</A> of the
    <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="windows.html#window">window</A> (2004 dec 2)
7   When <A HREF="options.html#'rightleft'">'rightleft'</A> is set, the search <A HREF="pattern.html#pattern">pattern</A> should be displayed right
    to left <A HREF="motion.html#as">as</A> well?  See patch of Dec 26. (Nadim Shaikli)
8   Option to lock all used memory so that <A HREF="motion.html#it">it</A> doesn't get swapped to disk
    (uncrypted).  Patch by Jason Holt, 2003 May 23.  Uses mlock.
7   Add ! <A HREF="sponsor.html#register">register</A>, for shell commands. (patch from Grenie)
8   In the <A HREF="pi_gzip.html#gzip">gzip</A> <A HREF="usr_05.html#plugin">plugin</A>, also recognize *.gz.orig, *.gz.bak, etc.  Like it's
    done for <A HREF="filetype.html#filetype">filetype</A> detection.  Patch from Walter Briscoe, 2003 Jul 1.
7   Add a &quot;-@ filelist&quot; argument: read file names from a file. (David
    Kotchan has a patch for <A HREF="motion.html#it">it</A>)
7   Add &quot;:justify&quot; command.  Patch from Vit Stradal 2002 Nov 25.
-   findmatch() should be adjusted for Lisp.  See remark at
    get_lisp_indent().  Esp. \( and \) should be skipped. (Dorai Sitaram,
    incomplete patch Mar 18)
-   For <A HREF="gui.html#GUI">GUI</A> Find/Replace <A HREF="gui_w32.html#dialog">dialog</A> support using a <A HREF="pattern.html#regexp">regexp</A>.  Patch for <A HREF="gui_x11.html#Motif">Motif</A>
    and <A HREF="gui_x11.html#GTK">GTK</A> by degreneir (nov 10 and nov 18).
-   Patch for &quot;paranoid mode&quot; by Kevin Collins, March 7.  Needs much more work.


<A HREF="intro.html#Vi">Vi</A> incompatibility:
-   Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
    Version 1.5 is in ~/src/posix/1.5. (Lynne Canal)
8   With undo/redo only marks in the changed lines should be changed.  Other
    marks should be kept.  <A HREF="intro.html#Vi">Vi</A> keeps each <A HREF="motion.html#mark">mark</A> at the same text, even when <A HREF="motion.html#it">it</A>
    is deleted or restored. (Webb)
    Also: A <A HREF="motion.html#mark">mark</A> is lost after: make change, <A HREF="undo.html#undo">undo</A>, <A HREF="undo.html#redo">redo</A> and <A HREF="undo.html#undo">undo</A>.
    Example: &quot;{d'&#39;&#34;' then &quot;<A HREF="undo.html#u">u</A>&quot; then &quot;d'&#39;&#34;': deletes an extra line, because the <A HREF="motion.html#''">''</A>
    position is one line down. (Veselinovic)
8   When stdin is not a tty, and Vim reads commands from <A HREF="motion.html#it">it</A>, an error should
    make Vim exit.
7   <A HREF="os_unix.html#Unix">Unix</A> Vim (not gvim): Typing <A HREF="pattern.html#CTRL-C">CTRL-C</A> in <A HREF="intro.html#Ex">Ex</A> mode should finish the line
    (currently you can continue typing, but it's truncated later anyway).
    Requires a way to make <A HREF="pattern.html#CTRL-C">CTRL-C</A> interrupt select() when in cooked input.
8   When loading a file in the <A HREF="starting.html#.exrc">.exrc</A>, <A HREF="intro.html#Vi">Vi</A> loads the argument anyway.  Vim skips
    loading the argument if there is a file already.  When no file argument
    given, <A HREF="intro.html#Vi">Vi</A> starts with an empty buffer, Vim keeps the loaded file. (Bearded)
6   In <A HREF="insert.html#Insert">Insert</A> mode, when using <A HREF="motion.html#&lt;BS&gt;">&lt;BS&gt;</A> or <A HREF="change.html#&lt;Del&gt;">&lt;Del&gt;</A>, don't wipe out the text, but
    only move back the cursor.	Behaves like '<A HREF="motion.html#$">$</A>' in <A HREF="options.html#'cpoptions'">'cpoptions'</A>.  Use a flag
    in <A HREF="options.html#'cpoptions'">'cpoptions'</A> to switch this on/off.
8   When editing a file which is a symbolic link, and then opening another
    symbolic link on the same file, Vim uses the name of the first one.
    Adjust the file name in the buffer to the last one used?  Use several file
    names in one buffer???
    Also: When first editing file &quot;test&quot;, which is symlink to &quot;test2&quot;, and
    then editing &quot;test2&quot;, you end up editing buffer &quot;test&quot; again.  It's not
    logical that the name that was first used sticks with the buffer.
7   The &quot;<A HREF="undo.html#:undo">:undo</A>&quot; command works differently in <A HREF="intro.html#Ex">Ex</A> mode.  Edit a file, make some
    changes, &quot;<A HREF="intro.html#Q">Q</A>&quot;, &quot;<A HREF="undo.html#undo">undo</A>&quot; and _all_ changes are undone, like the &quot;<A HREF="editing.html#:visual">:visual</A>&quot;
    command was one command.
    On the other hand, an &quot;<A HREF="undo.html#:undo">:undo</A>&quot; command in an <A HREF="intro.html#Ex">Ex</A> <A HREF="usr_41.html#script">script</A> only undoes the last
    change (e.g., use two <A HREF="insert.html#:append">:append</A> commands, then <A HREF="undo.html#:undo">:undo</A>).
7   The &quot;<A HREF="map.html#:map">:map</A>&quot; command output overwrites the command.  Perhaps <A HREF="motion.html#it">it</A> should keep
    the &quot;<A HREF="map.html#:map">:map</A>&quot; when it's used without arguments?
7   <A HREF="various.html#CTRL-L">CTRL-L</A> is not the end of a section?  It is for <A HREF="intro.html#Posix">Posix</A>!  Make <A HREF="motion.html#it">it</A> an option.
7   Implement <A HREF="options.html#'prompt'">'prompt'</A> option.	Init to off when stdin is not a tty.
7   Add a way to send an email for a crashed edit session.  Create a file when
    making changes (containing name of the swap file), delete <A HREF="motion.html#it">it</A> when <A HREF="editing.html#writing">writing</A>
    the file.  Supply a program that can check for crashed sessions (either
    all, for a system <A HREF="starting.html#startup">startup</A>, or for one user, for in a .login file).
7   <A HREF="intro.html#Vi">Vi</A> doesn't <A HREF="diff.html#do">do</A> autoindenting when input is not from a tty (in <A HREF="intro.html#Ex">Ex</A> mode).
7   &quot;z3&lt;CR&gt;&quot; should still use the whole <A HREF="windows.html#window">window</A>, but only redisplay 3 lines.
7   &quot;<A HREF="tagsrch.html#:tag">:tag</A> xx&quot; should move the cursor to the first non-blank.  Or should <A HREF="motion.html#it">it</A> go
    to the match with the <A HREF="tagsrch.html#tag">tag</A>?	Option?
7   Implement 'autoprint'/'ap' option.
7   Add flag in <A HREF="options.html#'cpoptions'">'cpoptions'</A> that makes <A HREF="motion.html#&lt;BS&gt;">&lt;BS&gt;</A> after a <A HREF="intro.html#count">count</A> work like <A HREF="change.html#&lt;Del&gt;">&lt;Del&gt;</A>
    (Sayre).
7   Add flag in <A HREF="options.html#'cpoptions'">'cpoptions'</A> that makes <A HREF="motion.html#operator">operator</A> (yank, <A HREF="change.html#filter">filter</A>) not move the
    cursor, at least when cancelled. (default <A HREF="intro.html#Vi">Vi</A> compatible).
7   This Vi-trick doesn't work: &quot;<A HREF="intro.html#Q">Q</A>&quot; to go to <A HREF="intro.html#Ex">Ex</A> mode, then &quot;g/pattern/visual&quot;.
    In <A HREF="intro.html#Vi">Vi</A> you can edit in visual mode, and when doing &quot;<A HREF="intro.html#Q">Q</A>&quot; you jump to the next
    match.  <A HREF="intro.html#Nvi">Nvi</A> can <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> too.
7   Support '\' for line continuation in <A HREF="intro.html#Ex">Ex</A> mode for these commands: (Luebking)
	g/./a\		    g/pattern1/ s/pattern2/rep1\\
	line 1\		    line 2\\
	line 2\		    line 3\\
	.		    line4/
6   &quot;<A HREF="editing.html#:e">:e</A> /tmp/$tty&quot; doesn't work.  &quot;<A HREF="editing.html#:e">:e</A> $uid&quot; does.  Is $tty not set because of
    the way the shell is started?
6   <A HREF="intro.html#Vi">Vi</A> compatibility (optional): make &quot;ia&lt;CR&gt;&lt;ESC&gt;10.&quot; <A HREF="diff.html#do">do</A> the same strange
    thing.  (only repeat insert for the first line).


<A HREF="gui_x11.html#GTK+">GTK+</A> <A HREF="gui.html#GUI">GUI</A> known bugs:
9   Crash with X command server over ssh. (Ciaran McCreesh, 2006 Feb 6)
8   <A HREF="gui_x11.html#GTK">GTK</A> 2: Combining <A HREF="mbyte.html#UTF-8">UTF-8</A> characters not displayed properly in <A HREF="gui.html#menus">menus</A> (Mikolaj
    Machowski)  They are displayed <A HREF="motion.html#as">as</A> separate characters.  Problem in
    creating a label?
8   <A HREF="gui_x11.html#GTK">GTK</A> 2: Combining <A HREF="mbyte.html#UTF-8">UTF-8</A> characters are sometimes not drawn properly.
    Depends on the font size, &quot;monospace 13&quot; has the problem.  Vim seems to <A HREF="diff.html#do">do</A>
    everything right, must be a <A HREF="gui_x11.html#GTK">GTK</A> bug.  Is there a way to work around <A HREF="motion.html#it">it</A>?
9   Can't paste a <A HREF="visual.html#Visual">Visual</A> selection from GTK-gvim to vim in xterm or <A HREF="gui_x11.html#Motif">Motif</A> <A HREF="starting.html#gvim">gvim</A>
    when <A HREF="motion.html#it">it</A> is longer than 4000 characters.  Works OK from <A HREF="starting.html#gvim">gvim</A> to <A HREF="starting.html#gvim">gvim</A> and
    vim to vim.  Pasting through xterm (using the <A HREF="intro.html#shift">shift</A> key) also works.
    It starts working after <A HREF="gui_x11.html#GTK">GTK</A> <A HREF="starting.html#gvim">gvim</A> loses the selection and gains <A HREF="motion.html#it">it</A> again.
-   Gnome2: When moving the toolbar out of the dock, so that <A HREF="motion.html#it">it</A> becomes
    floating, <A HREF="motion.html#it">it</A> can no longer be moved.  Therefore making <A HREF="motion.html#it">it</A> float has been
    blocked for now.


<A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A> known bugs:
-   <A HREF="os_win32.html#Win32">Win32</A>: tearoff menu <A HREF="windows.html#window">window</A> should have a scrollbar when it's taller than
    the screen.
8   The <A HREF="starting.html#-P">-P</A> argument doesn't work very well with many <A HREF="starting.html#MDI">MDI</A> applications.
    The last argument of CreateWindowEx() should be used, see MSDN docs.
 Tutorial:	<A HREF="http://win32assembly.online.fr/tut32.html">http://win32assembly.online.fr/tut32.html</A>
8   In eval.c, io.h is included when MSWIN32 is defined.  Shouldn't this be
    WIN32?  Or can including io.h be moved to vim.h? (Dan Sharp)
6   <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>: With &quot;<A HREF="starting.html#-u">-u</A> NONE <A HREF="starting.html#-U">-U</A> NONE&quot; and doing &quot;<A HREF="index.html#CTRL-W">CTRL-W</A> v&quot; &quot;<A HREF="index.html#CTRL-W">CTRL-W</A> o&quot;, the &quot;<A HREF="cmdline.html#:">:</A>&quot;
    of &quot;<A HREF="windows.html#:only">:only</A>&quot; is highlighted like the cursor.  (Lipelis)
8   When <A HREF="options.html#'encoding'">'encoding'</A> is &quot;<A HREF="mbyte.html#utf-8">utf-8</A>&quot;, should use <A HREF="options.html#'guifont'">'guifont'</A> for both normal and wide
    characters to make Asian languages work.  <A HREF="os_win32.html#Win32">Win32</A> fonts contain both
    type of characters.
7   When font smoothing is enabled, redrawing can become very slow.  The reason
    appears to be drawing with a transparent background.  Would <A HREF="motion.html#it">it</A> be possible
    to use an opaque background in most places?
7   The cursor color indicating <A HREF="mbyte.html#IME">IME</A> mode doesn't work properly. (Shizhu Pan,
    2004 May 9)
8   <A HREF="os_win32.html#Win32">Win32</A>: When clicking on the <A HREF="starting.html#gvim">gvim</A> title <A HREF="motion.html#bar">bar</A>, which gives <A HREF="motion.html#it">it</A> focus, produces
    a file-changed <A HREF="gui_w32.html#dialog">dialog</A>, after clicking on a button in that <A HREF="gui_w32.html#dialog">dialog</A> the <A HREF="starting.html#gvim">gvim</A>
    <A HREF="windows.html#window">window</A> follows the mouse.  The button-up event is lost.  Only with
    <A HREF="os_win32.html#MS-Windows">MS-Windows</A> 98?
    Try this: &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'sw'">sw</A> ts&quot;, get enter-prompt, then change the file in a
    console, go back to Vim and click &quot;<A HREF="editing.html#reload">reload</A>&quot; in the <A HREF="gui_w32.html#dialog">dialog</A> for the changed
    file: Window moves with the cursor!
    Put focus event in input buffer and let generic Vim code handle <A HREF="motion.html#it">it</A>?
8   <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>: With maximized <A HREF="windows.html#window">window</A>, &quot;<A HREF="options.html#:set">:set</A> go-=r&quot; doesn't use the space that
    comes available. (Poucet)  It works OK on Win 98 but doesn't work on Win
    NT 4.0.  Leaves a grey area where the scrollbar was.  &quot;<A HREF="options.html#:set">:set</A> go+=r&quot; also
    doesn't work properly.
8   When Vim is minimized and when maximizing <A HREF="motion.html#it">it</A> a file-changed <A HREF="gui_w32.html#dialog">dialog</A> pops
    up, Vim isn't maximized.  It should be done before the <A HREF="gui_w32.html#dialog">dialog</A>, so that <A HREF="motion.html#it">it</A>
    appears in the right position. (Webb)
9   When selecting at the <A HREF="message.html#more-prompt">more-prompt</A> or <A HREF="message.html#hit-enter-prompt">hit-enter-prompt</A>, the right mouse
    button doesn't give popup menu.
    At the <A HREF="message.html#hit-enter">hit-enter</A> prompt <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> doesn't work to copy the modeless
    selection.
    On the command line, don't get a popup menu for the right mouse button.
    Let the middle button paste selected text (not the <A HREF="gui.html#clipboard">clipboard</A> but the
    non-Visual selection)?  Otherwise <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> has to be used to copy the text.
8   When <A HREF="options.html#'grepprg'">'grepprg'</A> doesn't execute, the error only flashes by, the
    user can hardly see what is wrong. (Moore)
    Could use vimrun with an &quot;-nowait&quot; argument to only wait when an error
    occurs, but &quot;command.com&quot; doesn't return an error code.
8   When the <A HREF="options.html#'shell'">'shell'</A> cannot be executed, should give an appropriate error msg.
    Esp. for a <A HREF="change.html#filter">filter</A> command, currently <A HREF="motion.html#it">it</A> only complains the file could not
    be read.
7   Add an option to add one pixel column to the character width?  Lucida
    Console <A HREF="syntax.html#italic">italic</A> is wider than the normal font (&quot;d&quot; overlaps with next char).
    Opposite of <A HREF="options.html#'linespace'">'linespace'</A>: 'columnspace'.
7   At the <A HREF="message.html#hit-enter">hit-enter</A> prompt <A HREF="scroll.html#scrolling">scrolling</A> now no longer works.  Need to use the
    keyboard to get around this.  Pretend <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A> was hit when the user tries to
    scroll?
7   Scrollbar width doesn't change when selecting other <A HREF="windows.html#windows">windows</A> appearance.
    Also background color of Toolbar and rectangle below vert. scrollbar.
6   Drawing text transparently doesn't seem to work (when drawing part cursor).
8   CTRL key doesn't always work in combination with ALT key.  It does work
    for function keys, not for alphabetic characters.  Perhaps this is because
    CTRL-ALT is used by Windows <A HREF="motion.html#as">as</A> AltGr?
8   CTRL-- doesn't work for AZERTY, because it's CTRL-[ for QWERTY.  How <A HREF="diff.html#do">do</A> we
    know which keyboard is being used?
7   When <A HREF="scroll.html#scrolling">scrolling</A>, and a background color is dithered, the dither <A HREF="pattern.html#pattern">pattern</A>
    doesn't always join correctly between the scrolled area and the new drawn
    area (Koloseike).
8   When gui_init_font() is called with &quot;*&quot;, p_guifont is freed while <A HREF="motion.html#it">it</A> might
    still be used somewhere.  This is too tricky, <A HREF="diff.html#do">do</A> the font selection first,
    then set the new font by name (requires putting all logfont parameters in
    the font name).


<A HREF="gui_x11.html#Athena">Athena</A> and <A HREF="gui_x11.html#Motif">Motif</A>:
6   New <A HREF="gui_x11.html#Motif">Motif</A> toolbar button from Marcin Dalecki:
    - When the mouse pointer is over an Agide button the red becomes black.
      Something with the way colors are specified in the .xpm file.
    - The pixmap is two pixels smaller than <A HREF="motion.html#it">it</A> should be.  The gap is filled
      with grey instead of the current toolbar background color.
9   Can configure be changed to disable <A HREF="netbeans.html#netbeans">netbeans</A> if the Xpm library is
    required and it's missing?
8   When using the resource &quot;Vim*borderwidth 2&quot; the widgets are positioned
    wrong.
9   <A HREF="mbyte.html#XIM">XIM</A> is disabled by default for SGI/IRIX.  Fix <A HREF="mbyte.html#XIM">XIM</A> so that <A HREF="options.html#'imdisable'">'imdisable'</A> can
    be off by default.
9   <A HREF="mbyte.html#XIM">XIM</A> doesn't work properly for Athena/Motif. (Yasuhiro Matsumoto)  For now,
    keep <A HREF="mbyte.html#XIM">XIM</A> active at all times when the input method has the preediting
    flag.
8   <A HREF="options.html#X11">X11</A>: A menu that contains an umlaut is truncated at that character.
    Happens when the <A HREF="mbyte.html#locale">locale</A> is &quot;<A HREF="change.html#C">C</A>&quot;, which uses ASCII instead of IS0-8859-1.
    Is there a way to use latin1 by default?  Gnome_init() seems to <A HREF="diff.html#do">do</A> this.
8   Perhaps use fontsets for everything?
6   When starting in English and switching the language to <A HREF="mbyte.html#Japanese">Japanese</A>, setting
    the <A HREF="mbyte.html#locale">locale</A> with &quot;<A HREF="mlang.html#:lang">:lang</A>&quot;, <A HREF="options.html#'guifontset'">'guifontset'</A> and &quot;hi menu font=&quot;, <A HREF="change.html#deleting">deleting</A> all
    <A HREF="gui.html#menus">menus</A> and setting them again, the <A HREF="gui.html#menus">menus</A> don't use the new font.  Most of
    the tooltips work though...
7   <A HREF="gui_x11.html#Motif">Motif</A>: when using a file selection <A HREF="gui_w32.html#dialog">dialog</A>, the specified file name is not
    always used (when specifying a <A HREF="change.html#filter">filter</A> or another directory).
8   When <A HREF="options.html#'encoding'">'encoding'</A> is different from the current <A HREF="mbyte.html#locale">locale</A> (e.g., <A HREF="mbyte.html#utf-8">utf-8</A>) the
    menu strings don't work.  Requires conversion from <A HREF="options.html#'encoding'">'encoding'</A> to the
    current <A HREF="mbyte.html#locale">locale</A>.  Workaround: set <A HREF="options.html#'langmenu'">'langmenu'</A>.


<A HREF="gui_x11.html#Athena">Athena</A> <A HREF="gui.html#GUI">GUI</A>:
9   The first event for any button in the menu or toolbar appears to get lost.
    The second click on a menu does work.
9   When dragging the scrollbar thumb very fast, focus is only obtained in
    the scrollbar itself.  And the thumb is no longer updated when moving
    through files.
7   The file selector is not resizable.  With a big font <A HREF="motion.html#it">it</A> is difficult to
    read long file names. (Schroeder)
4   Re-write the widget attachments and code so that we will not have to go
    through and calculate the absolute position of every widget every time the
    <A HREF="windows.html#window">window</A> is refreshed/changes size.  This will help the &quot;flashing-widgets&quot;
    problem during a refresh.
5   When starting <A HREF="starting.html#gvim">gvim</A> with all the default colors and then typing
    &quot;<A HREF="syntax.html#:hi">:hi</A> Menu guibg=cyan&quot;, the <A HREF="gui.html#menus">menus</A> change color but the background of the
    pullright pixmap doesn't change colors.
    If you type &quot;<A HREF="syntax.html#:hi">:hi</A> Menu guibg=cyan font=anyfont&quot;, then the pixmap changes
    colors <A HREF="motion.html#as">as</A> <A HREF="motion.html#it">it</A> should.
    Allocating a new pixmap and setting the resource doesn't change the
    pullright pixmap's colors.  Why?  Possible <A HREF="gui_x11.html#Athena">Athena</A> bug?


<A HREF="gui_x11.html#Motif">Motif</A> <A HREF="gui.html#GUI">GUI</A>:
-   gui_mch_browsedir() is missing, <A HREF="eval.html#browsedir()">browsedir()</A> doesn't work nicely.
7   Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
    David Harrison says it's OK (it exists in <A HREF="gui_x11.html#Motif">Motif</A> 1.2).
8   Lesstif: When <A HREF="change.html#deleting">deleting</A> a menu that's torn off, the torn off menu becomes
    very small instead of disappearing.  When closing <A HREF="motion.html#it">it</A>, Vim crashes.
    (Phillipps)


<A HREF="gui.html#GUI">GUI</A>:
9   On Solaris, creating the popup menu causes the right mouse button no
    longer to work for extending the selection. (Halevy)
9   When running an external program, <A HREF="motion.html#it">it</A> can't always be killed with <A HREF="pattern.html#CTRL-C">CTRL-C</A>.
    e.g., on Solaris 5.5, when using &quot;<A HREF="various.html#K">K</A>&quot; (Keech).  Other <A HREF="options.html#'guipty'">'guipty'</A> problems on
    Solaris 2.6. (Marley)
9   On Solaris: Using a &quot;<A HREF="gui_x11.html#-geometry">-geometry</A>&quot; argument, bigger than the <A HREF="windows.html#window">window</A> where Vim
    is started from, causes empty lines below the cmdline. (raf)
8   <A HREF="options.html#X11">X11</A> <A HREF="gui.html#GUI">GUI</A>: When menu is disabled by excluding '<A HREF="motion.html#m">m</A>' from <A HREF="options.html#'guioptions'">'guioptions'</A>, ALT key
    should not be used to trigger a menu (like the <A HREF="os_win32.html#Win32">Win32</A> version).
8   When setting <A HREF="options.html#'langmenu'">'langmenu'</A>, <A HREF="motion.html#it">it</A> should be effective immediately.  Store both
    the English and the translated text in the menu structure.  Re-generate
    the translation when <A HREF="options.html#'langmenu'">'langmenu'</A> has changed.
8   Basic flaw in the <A HREF="gui.html#GUI">GUI</A> code: NextScreen is updated before calling
    gui_write(), but the <A HREF="gui.html#GUI">GUI</A> code relies on NextScreen to represent the state
    of where <A HREF="motion.html#it">it</A> is processing the output.
    Need better separation of Vim core and <A HREF="gui.html#GUI">GUI</A> code.
8   When <A HREF="mbyte.html#fontset">fontset</A> support is enabled, setting <A HREF="options.html#'guifont'">'guifont'</A> to a single font
    doesn't work.
8   Menu priority for sub-menus for: <A HREF="os_amiga.html#Amiga">Amiga</A>.
8   When translating <A HREF="gui.html#menus">menus</A> ignore the part after the <A HREF="intro.html#Tab">Tab</A>, the shortcut.  So
    that the same menu item with a different shortcut (e.g., for the <A HREF="os_mac.html#Mac">Mac</A>) are
    still translated.
8   Add menu separators for <A HREF="os_amiga.html#Amiga">Amiga</A>.
8   Add way to specify the file <A HREF="change.html#filter">filter</A> for the browse <A HREF="gui_w32.html#dialog">dialog</A>.  At least for
    <A HREF="eval.html#browse()">browse()</A>.
8   Add <A HREF="gui_w32.html#dialog">dialog</A> for search/replace to other GUIs?  Tk has something for this,
    use that code?  Or use console <A HREF="gui_w32.html#dialog">dialog</A>.
8   When selecting a font with the font <A HREF="gui_w32.html#dialog">dialog</A> and the font is invalid, the
    error message disappears too quick.
7   More features in the find/replace <A HREF="gui_w32.html#dialog">dialog</A>:
    - <A HREF="pattern.html#regexp">regexp</A> on/off
    - search in selection/buffer/all buffers/directory
       when all buffers/directory is used:
	- <A HREF="change.html#filter">filter</A> for file name
       when directory is used:
	- subdirectory on/off
	- top directory browser
8   gui_check_colors() is not called at the right moment.  Do <A HREF="motion.html#it">it</A> much later,
    to avoid problems.
8   gui_update_cursor() is called for a cursor shape change, even when there
    are mappings to be processed.  Only <A HREF="diff.html#do">do</A> something when going to wait for
    input.  Or maybe every 100 ms?
8   <A HREF="options.html#X11">X11</A>: When the <A HREF="windows.html#window">window</A> size is reduced to fit on screen, there are blank
    lines below the text and bottom scrollbar.  &quot;<A HREF="starting.html#gvim">gvim</A> <A HREF="gui_x11.html#-geometry">-geometry</A> 80x78+0+0&quot;.
    When the &quot;+0+0&quot; is omitted <A HREF="motion.html#it">it</A> works.
8   When starting an external command, and <A HREF="options.html#'guipty'">'guipty'</A> set, BS and DEL are mixed
    up.  Set erase character somehow?
8   A dead circumflex followed by a space should give the '<A HREF="motion.html#^">^</A>' character
    (Rommel).  Look how xterm does this.
    Also: Bednar has some code for dead key handling.
    Also: Nedit 5.0.2 with USE_XMIM does <A HREF="motion.html#it">it</A> right. (Gaya)
8   The compose key doesn't work properly (Cepas).  Both for <A HREF="os_win32.html#Win32">Win32</A> and <A HREF="options.html#X11">X11</A>.
7   The cursor in an inactive <A HREF="windows.html#window">window</A> should be hollow.  Currently it's not
    visible.
7   <A HREF="gui.html#GUI">GUI</A> on Solaris 2.5.1, using /usr/dt/..: When <A HREF="starting.html#gvim">gvim</A> starts, cursor is
    hollow, after <A HREF="windows.html#window">window</A> lowered/raised it's OK. (Godfrey)
7   When starting <A HREF="gui.html#GUI">GUI</A> with &quot;<A HREF="gui_x11.html#:gui">:gui</A>&quot;, and <A HREF="windows.html#window">window</A> is made smaller because <A HREF="motion.html#it">it</A>
    doesn't fit on the screen, there is an extra redraw.
8   When setting font with <A HREF="gui_x11.html#.Xdefaults">.Xdefaults</A>, there is an extra empty line at the
    bottom, which disappears when using &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'guifont'">guifont</A>=&lt;Tab&gt;&quot;. (Chadzelek)
8   When font shape changes, but not the size, doing &quot;<A HREF="options.html#:set">:set</A> font=&quot; does not
    redraw the screen with the new font.  Also for <A HREF="os_win32.html#Win32">Win32</A>.
    When the size changes, on Solaris 2.5 there isn't a redraw for the
    remaining part of the <A HREF="windows.html#window">window</A> (Phillipps).
-   Flashes really badly in certain cases when running remotely from a Sun.
4   Re-write the code so that the highlighting isn't changed multiple times
    when doing a &quot;<A HREF="syntax.html#:hi">:hi</A> clear&quot;.  The color changes happen three or more times
    currently.  This is very obvious on a 66Mhz 486.


<A HREF="os_win32.html#Win32">Win32</A> console:
8   Should $USERPROFILE be preferred above $HOMEDRIVE/$HOMEPATH?  No, but it's
    a good fallback, thus use:
	    <A HREF="options.html#$HOME">$HOME</A>
	    $HOMEDRIVE$HOMEPATH
	    SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_APPDATA, FALSE);
	    $USERPROFILE
	    SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_COMMON_APPDATA, FALSE);
	    $ALLUSERSPROFILE
	    $SYSTEMDRIVE\
	    C:\
8   <A HREF="os_win32.html#Win32">Win32</A> console: &lt;M-Up&gt; and &lt;M-Down&gt; don't work. (Geddes)  We don't have
    special keys for these.  Should use modifier + key.
8   <A HREF="os_win32.html#Win32">Win32</A> console: caps-lock makes non-alpha keys work like with <A HREF="intro.html#shift">shift</A>.
    Should work like in the <A HREF="gui.html#GUI">GUI</A> version.
8   Environment <A HREF="eval.html#variables">variables</A> in <A HREF="os_dos.html#DOS">DOS</A> are not <A HREF="change.html#case">case</A> sensitive.  Make a define for
    STRCMP_ENV(), and use <A HREF="motion.html#it">it</A> when comparing environment var names.
8   Setting <A HREF="options.html#'shellslash'">'shellslash'</A> has no immediate effect.  Change all file names when
    <A HREF="motion.html#it">it</A> is set/reset?  Or only use <A HREF="motion.html#it">it</A> when actually executing a shell command?
8   When editing a file on a Samba server, <A HREF="change.html#case">case</A> might matter.  &quot;<A HREF="editing.html#:e">:e</A> file&quot;
    followed by &quot;<A HREF="editing.html#:e">:e</A> FILE&quot; will edit &quot;file&quot; again, even though &quot;FILE&quot; might be
    another one.  Set last used name in buflist_new()?  Fix do_ecmd(), etc.
 8 When a buffer is editing a file like &quot;ftp://mach/file&quot;, which is not going
    to be used like a normal file name, don't change the slashes to
    backslashes. (Ronald Hoellwarth)


<A HREF="os_win32.html#Win32">Win32</A> console:
9   When editing a file by its short file name, <A HREF="motion.html#it">it</A> should be expanded into its
    long file name, to avoid problems like these: (Mccollister)
     1) Create a file called &quot;.bashrc&quot; using some other editor.
     2) Drag that file onto a shortcut or the actual executable.
     3) Note that the file name is something like BASHRC~1
     4) Go to File-&gt;Save As menu item and type &quot;.bashrc&quot; <A HREF="motion.html#as">as</A> the file name.
     5) Press &quot;Yes&quot; to indicate that I want to overwrite the file.
     6) Note that the message &quot;File exists (add ! to override)&quot; is displayed
	and the file is not saved.
    Use FindFirstFile() to expand a file name and directory in the path to its
    long name.
8   Also implement <A HREF="options.html#'conskey'">'conskey'</A> option for the <A HREF="os_win32.html#Win32">Win32</A> console version?  Look at
    how Xvi does console I/O under Windows NT.
7   Re-install the use of $TERM and support the use of different terminals,
    besides the console.
8   Use of &lt;altgr&gt; modifier doesn't work?  5.3 was OK. (Garcia-Suarez/Guckes)
9   Mapping &lt;C-S-Tab&gt; doesn't work correctly.  How to see the difference with
    &lt;C-S-i&gt;?
9   tmpnam() uses file in root of file system: &quot;\asdf&quot;.  That doesn't work on
    a Netware <A HREF="pi_netrw.html#network">network</A> drive.  Use same function <A HREF="motion.html#as">as</A> for <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>?
8   In os_win32.h, HAVE_STRICMP and HAVE_STRNICMP are defined only if __GNUC__
    is not defined.  Shouldn't that be the other way around?


<A HREF="os_amiga.html#Amiga">Amiga</A>:
8   In mch_inchar() should use convert_input_safe() to handle incomplete byte
    sequences.
9   In mch_expandpath() a &quot;*&quot; is to be expanded, but &quot;\*&quot; isn't.  Remove
    backslashes in result.
8   Executing a shell, only one option for <A HREF="options.html#'shell'">'shell'</A> is separated.  Should <A HREF="diff.html#do">do</A>
    all <A HREF="options.html#options">options</A>, using white space separation.


<A HREF="os_mac.html#Macintosh">Macintosh</A>:
-   <A HREF="gui.html#GUI">GUI</A>: gui_mch_browsedir() is missing.
7   Loading the <A HREF="if_perl.html#Perl">Perl</A> library only works on OS/X <A HREF="usr_10.html#10.2">10.2</A> or <A HREF="usr_10.html#10.3">10.3</A>, never on both.
    Load the <A HREF="if_perl.html#Perl">Perl</A> library dynamically see <A HREF="if_pyth.html#Python">Python</A> sources file dynload_mac
    (Jack)
 dynamic linking:	<A HREF="http://developer.apple.com/technotes/tn2002/tn2064.html">http://developer.apple.com/technotes/tn2002/tn2064.html</A>
8   <A HREF="eval.html#inputdialog()">inputdialog()</A> doesn't resize when giving more text lines. (David Fishburn,
    2006 Sept 28)
8   Define vim_mkdir() for <A HREF="os_mac.html#Macintosh">Macintosh</A>.
8   Define mch_writable() for <A HREF="os_mac.html#Macintosh">Macintosh</A>.
9   When DiskLock is running, using a swap file causes a crash.  Appears to be
    a problem with <A HREF="editing.html#writing">writing</A> a file that starts with a dot. (Giacalone)
9   In mac_expandpath() check that handling of backslashes is done properly.


&quot;Small&quot; problems:
-   Can't disable <A HREF="terminal.html#terminal">terminal</A> flow <A HREF="intro.html#control">control</A>, to enable the use of CTRL-S and
    <A HREF="gui_w32.html#CTRL-Q">CTRL-Q</A>.  Add an option for <A HREF="motion.html#it">it</A>?
-   When using e_secure in do_one_cmd() mention the command being executed,
    otherwise it's not clear where <A HREF="motion.html#it">it</A> comes from.
-   When the <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="windows.html#window">window</A> is open and executing &quot;<A HREF="eval.html#:echo">:echo</A> 'hello&#39;&#34;' using the
    <A HREF="cmdline.html#Command-line">Command-line</A> <A HREF="windows.html#window">window</A>, the text is immediately removed by the redrawing.
    (Michael Henry, 2008 Nov 1)
    Generic solution: When redrawing while there is a message on the
    cmdline, don't erase the display but draw over the existing text.
    Other solution, redraw after closing the cmdline <A HREF="windows.html#window">window</A>, before executing
    the command.
9   For Turkish vim_tolower() and vim_toupper() also need to use utf_
    <A HREF="eval.html#functions">functions</A> for characters below 0x80. (Sertacyildiz)
9   When the last edited file is a help file, using <A HREF="motion.html#'0">'0</A> in a new Vim doesn't
    edit the file <A HREF="motion.html#as">as</A> a help file.  <A HREF="options.html#'filetype'">'filetype'</A> is OK, but <A HREF="options.html#'iskeyword'">'iskeyword'</A> isn't,
    file isn't readonly, etc.
8   When an &quot;<A HREF="editing.html#:edit">:edit</A>&quot; is inside a try command and the <A HREF="usr_11.html#ATTENTION">ATTENTION</A> prompt is used,
    the <A HREF="eval.html#:catch">:catch</A> commands are always executed, also when the file is edited
    normally.  Should reset did_emsg and <A HREF="undo.html#undo">undo</A> side effects.  Also make sure
    the <A HREF="usr_11.html#ATTENTION">ATTENTION</A> message shows up.  Servatius Brandt works on this.
7   Vimtutor leaves <A HREF="intro.html#escape">escape</A> sequence in <A HREF="terminal.html#terminal">terminal</A>. This is the xterm response to
    requesting the version number.  (Yasuhiro Matsumoto)
8   When redirecting and using &quot;<A HREF="various.html#:silent">:silent</A>&quot; the current column for displaying and
    redirection can be different.  Use a separate variable to hold the column
    for redirection.
7   The <A HREF="message.html#messages">messages</A> for &quot;vim --help&quot; and &quot;vim --version&quot; don't use
    <A HREF="options.html#'termencoding'">'termencoding'</A>.
-   Could the <A HREF="message.html#hit-enter">hit-enter</A> prompt be avoided when a message only overlaps the
    <A HREF="options.html#'showcmd'">'showcmd'</A> area?  Clear that area when the next cmd is typed.
8   When <A HREF="options.html#'scrollbind'">'scrollbind'</A> is set, a <A HREF="windows.html#window">window</A> won't scroll horizontally if the cursor
    line is too short.  Add a <A HREF="motion.html#word">word</A> in <A HREF="options.html#'scrollopt'">'scrollopt'</A> to allow moving the cursor
    to longer line that is visible.  A similar thing is done for the <A HREF="gui.html#GUI">GUI</A> when
    using the horizontal scrollbar.
7   <A HREF="if_ole.html#VisVim">VisVim</A> can only open one file.  Hard to solve: each opened file is passed
    with a separate invocation, would need to use <A HREF="editing.html#timestamps">timestamps</A> to know the
    invocations belong together.
8   When giving a &quot;<A HREF="windows.html#:bwipeout">:bwipeout</A>&quot; command a file-changed <A HREF="gui_w32.html#dialog">dialog</A> may popup for this
    buffer, which is pointless.  (Mike Williams)
8   On <A HREF="os_win32.html#MS-Windows">MS-Windows</A> &quot;<A HREF="quickfix.html#:make">:make</A>&quot; doesn't show output while <A HREF="motion.html#it">it</A> is working.  Use the
 tee.exe from	<A HREF="http://unxutils.sourceforge.net/">http://unxutils.sourceforge.net/</A> ? About 16 Kbyte in the
    UnxUtils.zip archive.
    Is <A HREF="motion.html#it">it</A> better than what we have in src/tee?
8   When doing <A HREF="insert.html#Insert">Insert</A> mode completion a <A HREF="map.html#mapping">mapping</A> cannot recursively call
    edit(), because the completion information is global.  Put everything in
    an allocated structure?
8   Command line completion: <A HREF="windows.html#buffers">buffers</A> &quot;foo.txt&quot; and &quot;../b/foo.txt&quot;, completing
    &quot;<A HREF="windows.html#:buf">:buf</A> foo&lt;Tab&gt;&quot; doesn't find the second one. (George <A HREF="visual.html#V">V</A>. Reilly)
7   mb_off2cells() doesn't work correctly on the tail byte of a double-byte
    character. (Yasuhiro Matsumoto)  It should return 1 when used on a tail
    byte, like for <A HREF="mbyte.html#utf-8">utf-8</A>.  Store second byte of double-byte in ScreenLines2[]
    (like for DBCS_JPNU) and put a zero in the second byte (like for <A HREF="mbyte.html#UTF-8">UTF-8</A>).
7   Inside a function with &quot;<A HREF="if_perl.html#perl">perl</A> &lt;&lt;EOF&quot; a line with &quot;$i++&quot; is recognized <A HREF="motion.html#as">as</A> an
    &quot;<A HREF="insert.html#:insert">:insert</A>&quot; command, causing the following &quot;endfunction&quot; not to be found.
    Add skipping this <A HREF="if_perl.html#perl">perl</A> construction inside function <A HREF="intro.html#definitions">definitions</A>.
7   When <A HREF="options.html#'ttimeoutlen'">'ttimeoutlen'</A> is 10 and <A HREF="options.html#'timeoutlen'">'timeoutlen'</A> is 1000, there is a keycode
    &quot;&lt;Esc&gt;a&quot; and a <A HREF="map.html#mapping">mapping</A> &lt;Esc&gt;x&quot;, when typing &quot;&lt;Esc&gt;a&quot; with half a second
    delay should not be interpreted <A HREF="motion.html#as">as</A> a keycode. (Hans Ginzel)
7   &quot;<A HREF="windows.html#:botright">:botright</A> 1 new&quot; <A HREF="if_cscop.html#twice">twice</A> causes all <A HREF="windows.html#window">window</A> heights to be changed.  Make the
    bottom <A HREF="windows.html#window">window</A> only bigger <A HREF="motion.html#as">as</A> much <A HREF="motion.html#as">as</A> needed.
7   The Cygwin and MingW makefiles define &quot;PC&quot;, but it's not used anywhere.
    Remove? (Dan Sharp)
9   <A HREF="autocmd.html#User">User</A> commands use the context of the <A HREF="usr_41.html#script">script</A> they were defined in.  This
    causes a &quot;<A HREF="eval.html#s:var">s:var</A>&quot; argument to unexpectedly use a variable in the defining
    <A HREF="usr_41.html#script">script</A>, not the calling <A HREF="usr_41.html#script">script</A>.  Add an argument to &quot;<A HREF="map.html#:command">:command</A>&quot;:
    &quot;-keepcontext&quot;.  Do replace <A HREF="map.html#&lt;SID&gt;">&lt;SID&gt;</A>, so that a function in the defining
    <A HREF="usr_41.html#script">script</A> can be called.
8   The <A HREF="mbyte.html#Japanese">Japanese</A> message translations for <A HREF="os_win32.html#MS-Windows">MS-Windows</A> are called ja.sjis.po,
    but they use encoding cp932.  Rename the file and check that <A HREF="motion.html#it">it</A> still
    works.
8   A very long message in <A HREF="eval.html#confirm()">confirm()</A> can't be quit.  Make this possible with
    <A HREF="pattern.html#CTRL-C">CTRL-C</A>.
8   &quot;<A HREF="editing.html#gf">gf</A>&quot; always excludes trailing punctuation characters.  file_name_in_line()
    is currently fixed to use &quot;.,:;!&quot;.  Add an option to make this
    configurable?
8   <A HREF="options.html#'hkmap'">'hkmap'</A> should probably be <A HREF="options.html#global-local">global-local</A>.
8   Using &quot;<A HREF="change.html#:s">:s</A>&quot; in a function changes the previous replacement <A HREF="eval.html#string">string</A>.  Save
    &quot;old_sub&quot; in save_search_patterns()?
8   Should allow <A HREF="mbyte.html#multi-byte">multi-byte</A> characters for the delimiter: &quot;:s+a+b+&quot; where &quot;<A HREF="motion.html#+">+</A>&quot;
    is a <A HREF="mbyte.html#multi-byte">multi-byte</A> character.
8   When appending to a file and <A HREF="options.html#'patchmode'">'patchmode'</A> isn't empty, a <A HREF="editing.html#backup">backup</A> file is
    always written, even when the original file already exists.
9   When getting focus while <A HREF="editing.html#writing">writing</A> a large file, could warn for this file
    being changed outside of Vim.  Avoid checking this while the file is being
    written.
7   The message in bt_dontwrite_msg() could be clearer.
8   The <A HREF="usr_41.html#script">script</A> ID that is stored with an option and displayed with &quot;<A HREF="various.html#:verbose">:verbose</A>
    set&quot; isn't reset when the option is set internally.  For example when
    <A HREF="options.html#'foldlevel'">'foldlevel'</A> is set from <A HREF="options.html#'foldlevelstart'">'foldlevelstart'</A>.
8   Also store the line number with the <A HREF="usr_41.html#script">script</A> ID and use <A HREF="motion.html#it">it</A> for &quot;<A HREF="various.html#:verbose">:verbose</A>&quot;,
    so that &quot;set nocompatible&quot; is found when <A HREF="motion.html#it">it</A> changes other option values.
    When an option is set indirectly mention the command?  E.g. when
    &quot;<A HREF="diff.html#:diffsplit">:diffsplit</A>&quot; sets <A HREF="options.html#'foldmethod'">'foldmethod'</A>.
8   In the fileformat <A HREF="gui_w32.html#dialog">dialog</A>, &quot;Cancel&quot; isn't translated.  Add a global
    variable for this. (Eduardo Fernandez)
9   When editing a file with <A HREF="options.html#'readonly'">'readonly'</A> set, there is no check for an existing
    swap file.  Then using &quot;<A HREF="editing.html#:write">:write</A>&quot; (without making any changes) doesn't give
    a warning either.  Should check for an existing swap file without creating
    one. Unfinished patch by Ian Kelling, 2008 July 14.
7   When <A HREF="options.html#'showbreak'">'showbreak'</A> is set, the amount of space a <A HREF="intro.html#Tab">Tab</A> occupies changes.
    Should work like <A HREF="options.html#'showbreak'">'showbreak'</A> is inserted without <A HREF="change.html#changing">changing</A> the Tabs.
7   When <A HREF="options.html#'mousefocus'">'mousefocus'</A> is set and switching to another <A HREF="windows.html#window">window</A> with a typed
    command, the mouse pointer may be moved to a part of the <A HREF="windows.html#window">window</A> that's
    covered by another <A HREF="windows.html#window">window</A> and we lose focus.  Only move in the <A HREF="change.html#y">y</A>
    direction, not horizontally?
8   &quot;<A HREF="print.html#:hardcopy">:hardcopy</A>&quot;:
    - Using the cterm_color[] table is wrong when t_colors is <A HREF="change.html#&gt;">&gt;</A> 16.
    - Need to handle unprintable characters.
    - <A HREF="os_win32.html#Win32">Win32</A>: On a B&amp;W printer <A HREF="syntax.html#syntax">syntax</A> highlighting isn't visible.  Perform
      dithering to make grey text?
    - Add a flag in <A HREF="options.html#'printoptions'">'printoptions'</A> to add an empty page to make the total
      number even.  &quot;addempty&quot;? (Mike Williams)
    - Respect <A HREF="options.html#'linebreak'">'linebreak'</A>.  Perhaps also <A HREF="options.html#'showbreak'">'showbreak'</A>?
    - Should interpret <A HREF="various.html#CTRL-L">CTRL-L</A> <A HREF="motion.html#as">as</A> a page break.
    - Grey line numbers are not always readable.  Add field in <A HREF="options.html#'printoptions'">'printoptions'</A>.
      Default to black when no <A HREF="syntax.html#syntax">syntax</A> highlighting.
    - Be able to print a <A HREF="windows.html#window">window</A> in <A HREF="diff.html#diff">diff</A> mode.
    - Be able to specify a colorscheme to use for <A HREF="print.html#printing">printing</A>.  And a separate
      one for B&amp;W <A HREF="print.html#printing">printing</A> (if that can be detected).
8   When <A HREF="options.html#'virtualedit'">'virtualedit'</A> is &quot;block,insert&quot; and encoding is &quot;<A HREF="mbyte.html#utf-8">utf-8</A>&quot;, selecting a
    block of one double-wide character, then &quot;<A HREF="change.html#d">d</A>&quot; deletes only half of <A HREF="motion.html#it">it</A>.
8   When <A HREF="options.html#'virtualedit'">'virtualedit'</A> is set, should &quot;<A HREF="insert.html#I">I</A>&quot; in blockwise visual mode also insert
    in lines that don't extend into the block?
8   With <A HREF="options.html#'virtualedit'">'virtualedit'</A> set, in <A HREF="insert.html#Insert">Insert</A> mode just after the end of line, <A HREF="motion.html#CTRL-O">CTRL-O</A>
    yh does not <A HREF="change.html#yank">yank</A> the last character of the line. (Pavel Papushev)
    Doing &quot;hl&quot; first appears to make <A HREF="motion.html#it">it</A> work.
8   With <A HREF="options.html#'virtualedit'">'virtualedit'</A> set it's possible to move into the blank area from
    <A HREF="options.html#'linebreak'">'linebreak'</A>.
8   With <A HREF="options.html#'virtualedit'">'virtualedit'</A> set and <A HREF="options.html#'selection'">'selection'</A> &quot;<A HREF="motion.html#exclusive">exclusive</A>&quot;, a <A HREF="visual.html#Visual">Visual</A> selection
    that ends in or after a <A HREF="intro.html#tab">tab</A>, &quot;<A HREF="change.html#d">d</A>&quot; doesn't delete (part of) the <A HREF="intro.html#tab">tab</A>.
    (Helmut Stiegler)
9   When jumping to a <A HREF="tagsrch.html#tag">tag</A>, the search <A HREF="pattern.html#pattern">pattern</A> is put in the <A HREF="cmdline.html#history">history</A>.  When
    <A HREF="options.html#'magic'">'magic'</A> is on, the <A HREF="pattern.html#pattern">pattern</A> may not work.  Translate the <A HREF="pattern.html#pattern">pattern</A> depending
    on p_magic when putting <A HREF="motion.html#it">it</A> in the <A HREF="cmdline.html#history">history</A>?  Alternative: Store value of
    <A HREF="options.html#'magic'">'magic'</A> in <A HREF="cmdline.html#history">history</A>.  (Margo)
9   optwin.vim: Restoring a <A HREF="map.html#mapping">mapping</A> for <A HREF="motion.html#&lt;Space&gt;">&lt;Space&gt;</A> or <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A> is not correct for
    &quot;<A HREF="map.html#:noremap">:noremap</A>&quot;.  Add &quot;mapcmd({string}, {mode})?  Use code from &quot;<A HREF="starting.html#:mkexrc">:mkexrc</A>&quot;.
9   incsearch is incorrect for &quot;/that/&lt;Return&gt;/this/;//&quot; (last search <A HREF="pattern.html#pattern">pattern</A>
    isn't updated).
9   term_console is used before <A HREF="motion.html#it">it</A> is set (msdos, <A HREF="os_amiga.html#Amiga">Amiga</A>).
9   Get out-of-memory for &quot;:g/^/,$s//@/&quot; on 1000 lines, this is not handled
    correctly.  Get many error <A HREF="message.html#messages">messages</A> while redrawing the screen, which
    cause another redraw, etc.
8   [&lt;C-I&gt; doesn't work when '*' is in <A HREF="options.html#'iskeyword'">'iskeyword'</A>.  find_pattern_in_path()
    must <A HREF="intro.html#escape">escape</A> special characters in the <A HREF="pattern.html#pattern">pattern</A>.
8   Vim can overwrite a read-only file with &quot;<A HREF="editing.html#:w!">:w!</A>&quot;.  &quot;<A HREF="editing.html#:w">:w</A>&quot; can't overwrite an
    existing file, &quot;w!&quot; can, but perhaps not a read-only file?  Then use
    &quot;:w!!&quot; for that.
    Or ask for permission to overwrite <A HREF="motion.html#it">it</A> (if file can be made writable) and
    restore file to readonly afterwards.
    Overwriting a file for which a swap file exists is similar issue.
7   When compiled with &quot;xterm_clipboard&quot;, <A HREF="starting.html#startup">startup</A> can be slower and might get
    error message for invalid $DISPLAY.  Try connecting to the X server in the
    background (forked), so that Vim starts up quicker?  Connect <A HREF="motion.html#as">as</A> soon <A HREF="motion.html#as">as</A>
    the <A HREF="gui.html#clipboard">clipboard</A> is to be used (Visual select mode starts, paste from
    <A HREF="gui.html#clipboard">clipboard</A>)
7   <A HREF="options.html#X11">X11</A>: Some people prefer to use CLIPBOARD instead of PRIMARY for the normal
    selection.  Add an &quot;xclipboard&quot; argument to the <A HREF="options.html#'clipboard'">'clipboard'</A> option? (Mark
    Waggoner)
8   For xterm need to open a connection to the X server to get the <A HREF="windows.html#window">window</A>
    title, which can be slow.  Can also get the title with &quot;&lt;Esc&gt;[21t&quot;, no
    need to use <A HREF="options.html#X11">X11</A> calls.  This returns &quot;&lt;Esc&gt;]l{title}&lt;Esc&gt;\&quot;.
6   When the xterm reports the number of colors, a redraw occurs.  This is
    annoying on a slow connection.  Wait for the xterm to report the number of
    colors before drawing the screen.  With a timeout.
8   When the builtin xterm <A HREF="term.html#termcap">termcap</A> contains codes that are not wanted, need a
    way to avoid using the builtin <A HREF="term.html#termcap">termcap</A>.
8   Xterm sends ^[[H for <A HREF="motion.html#&lt;Home&gt;">&lt;Home&gt;</A> and ^[[F for <A HREF="motion.html#&lt;End&gt;">&lt;End&gt;</A> in some mode.  Also
    recognize these keys?  Mostly useful for xterm simulators, like gnometerm.
 See	<A HREF="http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style">http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style</A>.
8   For xterm also recognize keypad up/down/left/right and insert.
8   <A HREF="motion.html#'[">'[</A> and <A HREF="motion.html#']">']</A> should be set to start/end of line when using a <A HREF="motion.html#linewise">linewise</A> <A HREF="motion.html#operator">operator</A>
    (e.g., &quot;:w&quot;).
8   <A HREF="change.html#CTRL-A">CTRL-A</A> can't handle big &quot;long&quot; numbers, they become negative.  Check for
    &quot;<A HREF="motion.html#-">-</A>&quot; character, if not present, use unsigned long.
8   Add suspending with <A HREF="starting.html#CTRL-Z">CTRL-Z</A> at the &quot;more&quot; prompt, and when executing a long
    <A HREF="usr_41.html#script">script</A> in do_cmdline().
8   When using <A HREF="options.html#'hidden'">'hidden'</A>, many swap files will be open.  When Vim runs into the
    maximum number of open files, error <A HREF="message.html#messages">messages</A> will appear.  Detect that
    this problem is present, and close any hidden files that don't have
    changes.
8   With <A HREF="options.html#'viminfo'">'viminfo'</A> set such that the &quot;.viminfo&quot; file is written on a FAT
    filesystem, an illegal file name may be created: &quot;.vim&quot;.
8   For each buffer that is opened, the <A HREF="starting.html#viminfo">viminfo</A> file is opened and read to
    check for file marks.  This can be slow.
7   In xterm, recognize both vt100 and vt220 cursor keys.  Change
    add_termcode() to not remove an existing entry for a name, when it's
    needed.
    Need a generic solution to recognize different codes for the same key.
8   Core dump within signal function: <A HREF="debug.html#gdb">gdb</A> doesn't show stack backtrace!  Option
    to skip catch_signals()?
9   Repeating a &quot;<A HREF="change.html#cw">cw</A>&quot; with &quot;<A HREF="repeat.html#.">.</A>&quot; doesn't work if the text was pasted from the
    <A HREF="gui.html#clipboard">clipboard</A>. (Thomas Jones)  It's because the menu/toolbar item exits <A HREF="insert.html#Insert">Insert</A>
    mode and uses &quot;<A HREF="change.html#gP">gP</A>&quot;.  How to fix this without breaking <A HREF="insert.html#inserting">inserting</A> a block of
    text?
8   In <A HREF="insert.html#Replace">Replace</A> mode pasting from the <A HREF="gui.html#clipboard">clipboard</A> (using menu or toolbar) inserts
    all the text.  Add &quot;:rmenu&quot;?
8   Pasting with the mouse in <A HREF="insert.html#Replace">Replace</A> mode inserts the text, instead of
    overwriting, when <A HREF="motion.html#it">it</A> is more than one line.  Same for using &lt;C-R&gt;.
9   <A HREF="scroll.html#CTRL-E">CTRL-E</A> and <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> don't work in small <A HREF="windows.html#window">window</A> when <A HREF="options.html#'so'">'so'</A> is 4 and lines are
    wrapping (Acevedo/in.226).  E.g., when using <A HREF="scroll.html#CTRL-E">CTRL-E</A>, <A HREF="windows.html#window">window</A> height 7,
    <A HREF="windows.html#window">window</A> might actually scroll down when last line of buffer is displayed.
    --&gt; Remember if the previous command was &quot;cursor follows screen&quot; or
    &quot;screen follow cursor&quot; and use this in cursupdate().
7   tilde_replace() can only handle &quot;~/&quot;, should also <A HREF="diff.html#do">do</A> &quot;~user/&quot;.
    Get the <A HREF="eval.html#list">list</A> of home directories (from /etc/passwd?  Use getpwent()) and
    use some clever algorithm to match a path with that.  Find common strings
    in the <A HREF="eval.html#list">list</A>?
8   When dragging status line with mouse, sometimes a jump when first clicking
    on the status line (caused by <A HREF="options.html#'winheight'">'winheight'</A>).  <A HREF="visual.html#Select">Select</A> <A HREF="windows.html#window">window</A> on button up,
    instead of on button down.
8   Dragging the status line doesn't scroll but redraw.
9   Evaluating <A HREF="options.html#'statusline'">'statusline'</A> in build_stl_str_hl() does not properly check for
    reaching the end of the available buffer.
    Patch to dynamically allocate the buffer for <A HREF="motion.html#&#37;">&#37;</A> items. (Eric Arnold, 2006
    May 14)
8   When performing incremental search, should abort searching <A HREF="motion.html#as">as</A> soon <A HREF="motion.html#as">as</A> a
    character is typed.
8   When the value of $MAKE contains a path, configure can't handle this.
    It's an autoconf bug.  Remove the path from $MAKE to work around <A HREF="motion.html#it">it</A>.
8   How to set VIMRC_FILE to \&quot;something\&quot; for configure?  Why does this not
    work: CFLAGS='-DVIMRC_FILE=\&quot;/mydir/myfile\&quot;' ./configure
8   The temporary file is sometimes not writable.  Check for this, and use an
    alternate name when <A HREF="motion.html#it">it</A> isn't.  Or add the 'temptemplate' option: <A HREF="autocmd.html#template">template</A>
    for the temp file name &quot;<A HREF="options.html#:set">:set</A> temptemplate=/usr/tmp/?????.tmp&quot;.
    Also: <A HREF="os_win32.html#Win32">Win32</A> version uses Windows temp directory, which might not work for
    cygwin bash.
7   Get error &quot;*, \+ or \( operand could be empty&quot; for <A HREF="pattern.html#pattern">pattern</A> &quot;\(.\)\1\{3}&quot;.
    Remember flags for backreferences.
7   When switching to Daylight Saving Time, Vim complains that a file has been
    changed since last read.  Can we use a function that uses GMT?
7   When completing an environment variable after a '<A HREF="motion.html#$">$</A>', check for file names
    that contain a '<A HREF="motion.html#$">$</A>' after all have been found.
8   When &quot;cm&quot; <A HREF="term.html#termcap">termcap</A> entry is missing, starting <A HREF="starting.html#gvim">gvim</A> shouldn't complain about
    <A HREF="motion.html#it">it</A>. (Lohner)  Try out with &quot;vt100&quot; entry, cm replaced with cX.
7   When an include file starts with &quot;../&quot;, the check for already visiting
    this file doesn't work.  Need to simplify the file name.
7   The names and comments for the arguments of do_browse() are confusing.
    &quot;dflt&quot; isn't the default file name when &quot;initdir&quot; is not NULL and
    &quot;initdir&quot; is the default path to be used.
7   When <A HREF="options.html#'scrolloff'">'scrolloff'</A> is exactly half the <A HREF="windows.html#window">window</A> height, &quot;<A HREF="motion.html#j">j</A>&quot; causes a scroll of
    two lines at a time.  &quot;<A HREF="motion.html#k">k</A>&quot; doesn't <A HREF="diff.html#do">do</A> this. (Cory <A HREF="motion.html#T">T</A>. Echols)
8   When write_viminfo() is used while there are many orphaned <A HREF="starting.html#viminfo">viminfo</A>
    tempfiles <A HREF="editing.html#writing">writing</A> the <A HREF="starting.html#viminfo">viminfo</A> file fails.  Give a clear error message so
    that the user knows he has to delete the files.
7   It's possible to redefine a <A HREF="map.html#script-local">script-local</A> function with &quot;:func
    &lt;SNR&gt;123_Test()&quot;. (Krishna)  Disallow this.


I can't reproduce these (if you can, let me know how!):
9   NT 4.0 on NTFS file system: Editing &quot;.bashrc&quot; (drag and drop), file
    disappears.  Editing &quot;.xyz&quot; is OK.  Also, drag&amp;drop only works for three
    files. (McCollister)


Problems that will (probably) not be solved:
-   <A HREF="gui_x11.html#GTK">GTK</A>: when using the popup menu with spelling suggestions and releasing the
    right mouse button before the menu appears selecting an item with the
    right mouse button has no effect.  <A HREF="gui_x11.html#GTK">GTK</A> does not produce an event for this.
-   <A HREF="gui_x11.html#GTK">GTK</A> 2: Cannot use the file selector.  When using <A HREF="motion.html#it">it</A> many things become
    slow.  This is caused by some code in <A HREF="gui_x11.html#GTK">GTK</A> that writes
    ~/.recently-used.xbel every time an event is handled.  It assumes the main
    loop is never quit, which is a wrong assumption.  Also, <A HREF="motion.html#it">it</A> overwrites the
    file with different file permissions, which is a privacy issue.  This
    needs to be fixed in <A HREF="gui_x11.html#GTK">GTK</A>.  A solution in Vim would be really complicated.
    (2008 Jul 31)  This appears to be fixed in Vim 7.3.
-   xterm title: The following scenario may occur (esp. when running the Vim
    test script): Vim 1 sets the title to &quot;file1&quot;, then restores the title to
    &quot;xterm&quot; with an ESC sequence when <A HREF="starting.html#exiting">exiting</A>.  Vim 2 obtains the old title
    with an X library call, this may result in &quot;file1&quot;, because the <A HREF="windows.html#window">window</A>
    manager hasn't processed the &quot;xterm&quot; title yet.  Can apparently only be
    worked around with a delay.
-   In a <A HREF="terminal.html#terminal">terminal</A> with <A HREF="options.html#'mouse'">'mouse'</A> set such that the mouse is active when entering
    a command line, after executing a shell command that scrolls up the
    display and then pressing &quot;<A HREF="cmdline.html#:">:</A>&quot;: Selecting text with the mouse works like
    the display wasn't scrolled.  Vim doesn't know how much the external
    command scrolled up the display.  Use Shift to select text.
-   X <A HREF="windows.html#windows">windows</A>: When $DISPLAY points to a X server where there is no access
    permission, trying to connect to the X server causes an error message.
    XtOpenDisplay() prints this directly, there is no way to avoid <A HREF="motion.html#it">it</A>.
-   X <A HREF="windows.html#windows">windows</A>: Setting <A HREF="options.html#'guifontset'">'guifontset'</A> to an illegal value sometimes crashes Vim.
    This is caused by a fault in a X library function, can't be solved in Vim.
-   <A HREF="os_win32.html#Win32">Win32</A> <A HREF="if_tcl.html#tcl">tcl</A>: has(&quot;tcl&quot;) hangs when the tcl84.dll is from cygwin.
-   <A HREF="gui_x11.html#Motif">Motif</A>: When adding a menu item &quot;Find this &amp;Symbol&quot;, the &quot;<A HREF="change.html#s">s</A>&quot; in &quot;this&quot; will
    be underlined, instead of in &quot;Symbol&quot;.  <A HREF="gui_x11.html#Motif">Motif</A> doesn't let us specify which
    character gets the highlighting.
-   Moving the cursor removes color in <A HREF="syntax.html#color-xterm">color-xterm</A>.  This is a <A HREF="syntax.html#color-xterm">color-xterm</A>
    problem!  <A HREF="syntax.html#color-xterm">color-xterm</A> ver. 6.1 beta 3 and later work properly.
-   In zsh, &quot;gvim&amp;&quot; changes the <A HREF="terminal.html#terminal">terminal</A> settings.  This is a zsh problem.
    (Jennings)
-   Problem with HPterm under X: old contents of <A HREF="windows.html#window">window</A> is lost (Cosentino).
-   <A HREF="os_amiga.html#Amiga">Amiga</A>: When using <A HREF="quickfix.html#quickfix">quickfix</A> with the Manx compiler we only get the first 25
    <A HREF="message.html#errors">errors</A>.  How <A HREF="diff.html#do">do</A> we get the rest?
-   <A HREF="os_amiga.html#Amiga">Amiga</A>: The &quot;<A HREF="quickfix.html#:cq">:cq</A>&quot; command does not always abort the Manx compiler.  Why?
-   Linux: A file with protection r--rw-rw- is seen readonly for others.  The
    access() function in GNU libc is probably wrong.
-   When doing a <A HREF="starting.html#CTRL-Z">CTRL-Z</A> and typing a command for the shell, while Vim is busy
    (e.g. <A HREF="editing.html#writing">writing</A> a file), the command for the shell is sometimes eaten by Vim,
    because the <A HREF="terminal.html#terminal">terminal</A> mode is changed from RAW to CBREAK.
-   An old version of GNU tgoto can't handle the <A HREF="term.html#terminfo">terminfo</A> code for &quot;AF&quot;.  The
    &quot;&#37;p1&quot; is interpreted <A HREF="motion.html#as">as</A> &quot;&#37;p&quot; and &quot;1&quot;, causing color not to be working.
    Fix: Change the &quot;&#37;p1&quot; in the &quot;AF&quot; and &quot;AB&quot; <A HREF="term.html#terminfo">terminfo</A> entries to &quot;&#37;p&quot;.
    (Benzinger).
-   When running an external command from the <A HREF="gui.html#GUI">GUI</A>, typeahead is going to that
    program, not to Vim.  It looks like the shell eats the characters, Vim
    can't get back what the external command didn't use.
-   <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>: Error code from external command not returned in shell_error.
    It appears that cmd.exe and command.com don't return an error code.
-   <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>: The Toolbar is a bit too high when the flat style is being
    used.  We don't have <A HREF="intro.html#control">control</A> over the height of the Toolbar.
-   <A HREF="os_win32.html#Win32">Win32</A>: All files created on the day of switching from winter to summer
    time cause &quot;changed since editing started&quot; <A HREF="message.html#messages">messages</A>.  It goes away when
    the file is written again the next day, or the timezone is adjusted.
    DJGPP version is OK. (Zaimi)  Looks like a problem with the <A HREF="os_win32.html#Win32">Win32</A> library.
    Rebooting doesn't help.  Time stamps look OK in directory. (Penn)
    Is this on FAT (stores wall clock time) or NTFS (stores UTS)?
-   <A HREF="os_win32.html#Win32">Win32</A>, <A HREF="os_win32.html#MS-Windows">MS-Windows</A> XP: <A HREF="options.html#$HOME">$HOME</A> uses the wrong drive when the user profiles
    are not on the boot disk.  This is caused by a wrong value of $HOMEDRIVE.
    This is a bug in XP, see MSKB article 818134.
-   <A HREF="os_win32.html#Win32">Win32</A>, <A HREF="os_win32.html#MS-Windows">MS-Windows</A>: expanding plugin/**/*.vim also picks up
    dir/ctags.vim,v.  This is because the short file name is something like
    &quot;ctags~1.vim&quot; and that matches the <A HREF="pattern.html#pattern">pattern</A>.
-   SunOS 5.5.1 with <A HREF="gui_x11.html#Motif">Motif</A>: The file open <A HREF="gui_w32.html#dialog">dialog</A> does not have a horizontal
    scroll <A HREF="motion.html#bar">bar</A> for the &quot;files&quot; selection.  This is a problem in the <A HREF="gui_x11.html#Motif">Motif</A>
    libraries, get a patch from Sun.
-   Solaris 2.6 with <A HREF="gui_x11.html#GTK">GTK</A> and <A HREF="if_perl.html#Perl">Perl</A>: <A HREF="starting.html#gvim">gvim</A> crashes when started.  Problem with X
    input method called from GDK code.  Without <A HREF="if_perl.html#Perl">Perl</A> <A HREF="motion.html#it">it</A> doesn't crash.
-   <A HREF="os_vms.html#VMS">VMS</A>: Vimdiff doesn't work with the <A HREF="os_vms.html#VMS">VMS</A> <A HREF="diff.html#diff">diff</A>, because the output looks
    different.  This makes test 47 fail.  Install a Unix-compatible <A HREF="diff.html#diff">diff</A>.
-   <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>: mouse wheel always scrolls rightmost <A HREF="windows.html#window">window</A>.  The events arrive
    in Vim <A HREF="motion.html#as">as</A> if the rightmost scrollbar was used.
-   <A HREF="gui_x11.html#GTK">GTK</A> with <A HREF="gui_x11.html#Gnome">Gnome</A>: Produces an error message when starting up:
	Gdk-WARNING **: <A HREF="mbyte.html#locale">locale</A> not supported by C library
    This is caused by the gnome library gnome_init() setting $LC_CTYPE to
    &quot;en_US&quot;.  Not all systems support this <A HREF="mbyte.html#locale">locale</A> name, thus causing the
    error.  Hopefully a newer version of GTK/Gnome fixes this problem.
-   <A HREF="gui_x11.html#GTK">GTK</A> 2: With this <A HREF="map.html#mapping">mapping</A> the <A HREF="message.html#hit-enter">hit-enter</A> prompt is _sometimes_ below the
    screen, at other times there is a grey area below the command line:
	<A HREF="map.html#:nmap">:nmap</A> <A HREF="term.html#&lt;F11&gt;">&lt;F11&gt;</A> <A HREF="eval.html#:if">:if</A> &amp;guioptions=~'m' \| set guioptions-=m \| else \| set guioptions+=m \| endif&lt;cr&gt;
-   <A HREF="gui_x11.html#GTK">GTK</A>: When pasting a selection from Vim to xclipboard <A HREF="starting.html#gvim">gvim</A> crashes with a
    ABRT signal.  Probably an error in the file gdkselection.c, the assert
    always fails when XmbTextListToTextProperty() fails. (Tom Allard)
-   <A HREF="gui_x11.html#GTK">GTK</A> 2: gives an assertion error for every non-builtin icon in the toolbar.
    This is a <A HREF="gui_x11.html#GTK">GTK</A> 2.4.x bug, fixed in <A HREF="gui_x11.html#GTK">GTK</A> 2.4.2. (Thomas de Grenier de Latour)
-   When using an xterm that supports the termresponse feature, and the <A HREF="term.html#'t_Co'">'t_Co'</A>
    <A HREF="term.html#termcap">termcap</A> option was wrong when Vim started, <A HREF="motion.html#it">it</A> will be corrected when the
    termresponse is received.  Since the number of colors changes, the
    highlighting needs to be initialized again.  This may cause colors defined
    in the <A HREF="starting.html#vimrc">vimrc</A> file to be lost.
-   On Windows NT 4.0 the number of files passed to Vim with drag&amp;drop and
    &quot;Edit with Vim&quot; is limited.  The maximum command line length is 255 chars.


						    *<A NAME="extensions-improvements"></A><B>extensions-improvements</B>*

Most interesting new features to be added when all bugs have been fixed:
-   Using &quot;<A HREF="eval.html#:exe">:exe</A> edit fname&quot; has escaping problems.  Use &quot;<A HREF="editing.html#:edit">:edit</A> ++(fname)&quot;.
    Thus use &quot;++=&quot; to give arguments <A HREF="motion.html#as">as</A> expressions, comma separated <A HREF="motion.html#as">as</A> if
    calling a function.
    With <A HREF="options.html#options">options</A>: &quot;<A HREF="editing.html#:edit">:edit</A> ++(['!', '++enc=abc'], ['+/pat'], fname)&quot;.
    Alternative: Make a function for <A HREF="intro.html#Ex">Ex</A> commands: cmd_edit().
-   Add COLUMN NUMBERS to &quot;<A HREF="cmdline.html#:">:</A>&quot; commands &quot;:line1,line2[col1,col2]cmd&quot;.  Block
    can be selected with <A HREF="visual.html#CTRL-V">CTRL-V</A>.  Allow '<A HREF="motion.html#$">$</A>' (end of line) for col2.
-   ECLIPSE <A HREF="usr_05.html#plugin">plugin</A>.  Problem is: the interface is very complicated.  Need to
    implement part in Java and then connect to Vim.  Some hints from Alexandru
    Roman, 2004 Dec 15.  Should then also work with Oracle Jdeveloper, see JSR
 198 standard	<A HREF="http://www.jcp.org/en/jsr/detail?id=198">http://www.jcp.org/en/jsr/detail?id=198</A>.
 Eclim does it:	<A HREF="http://eclim.sourceforge.net/">http://eclim.sourceforge.net/</A> Eric Van Dewoestine
 Plugin that uses a terminal emulator:	<A HREF="http://vimplugin.sf.net">http://vimplugin.sf.net</A>
 And another one:	<A HREF="http://www.satokar.com/viplugin/index.php">http://www.satokar.com/viplugin/index.php</A>
-   STICKY CURSOR: Add a way of <A HREF="scroll.html#scrolling">scrolling</A> that leaves the cursor where <A HREF="motion.html#it">it</A> is.
    Especially when using the scrollbar.  Typing a cursor-movement command
    scrolls back to where the cursor is.
-   Scroll commands by screen line. <A HREF="index.html#g">g</A> <A HREF="scroll.html#CTRL-E">CTRL-E</A> and <A HREF="index.html#g">g</A> <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> ?  Requires the
    first line to be able to start halfway.
8   Add a command to jump to a certain kind of <A HREF="tagsrch.html#tag">tag</A>.  Allow the user to specify
    values for the optional fields.  E.g., &quot;<A HREF="tagsrch.html#:tag">:tag</A> size type=m&quot;.
    Also allow specifying the file and command, so that the result of
    <A HREF="eval.html#taglist()">taglist()</A> can be used.
-   <A HREF="options.html#X11">X11</A>: Make <A HREF="motion.html#it">it</A> possible to run Vim inside a <A HREF="windows.html#window">window</A> of another program.
    This can be done with XReparentWindow().  But how exactly?


Documentation:
8   <A HREF="eval.html#List">List</A> of Vim runtime directories.  dotvim.txt from Charles Campbell, 2007
    Feb 20.
8   The <A HREF="gui.html#GUI">GUI</A> help should explain the Find and Find/Replace dialogs.  Add a link
    to <A HREF="motion.html#it">it</A> from &quot;<A HREF="change.html#:promptrepl">:promptrepl</A>&quot; and &quot;<A HREF="change.html#:promptfind">:promptfind</A>&quot;.
8   <A HREF="eval.html#List">List</A> of <A HREF="options.html#options">options</A> should mention whether environment <A HREF="eval.html#variables">variables</A> are expanded
    or not.
8   Extend <A HREF="usr_27.html#usr_27.txt">usr_27.txt</A> a bit. (Adam Seyfarth)
9   Make the Reference Manual more precise.  For each command mention:
    - change to cursor position and curswant
    - if <A HREF="motion.html#it">it</A> can be undone (u/CTRL-R) and redone (.)
    - how <A HREF="motion.html#it">it</A> works for folded lines
    - how <A HREF="motion.html#it">it</A> works with <A HREF="mbyte.html#multi-byte">multi-byte</A> characters
9   In <A HREF="change.html#change.txt">change.txt</A>, remark about Javadoc isn't right.  Right alignment would
    work too.
8   Spread the <A HREF="windows.html#windows">windows</A> commands over the other files.  For example, &quot;<A HREF="windows.html#:stag">:stag</A>&quot;
    should be with &quot;<A HREF="tagsrch.html#:tag">:tag</A>&quot;.  Cross-link with <A HREF="tagsrch.html#tags">tags</A> to avoid too much double
    text.
8   Add <A HREF="tagsrch.html#tags">tags</A> for all features, e.g. &quot;gui_running&quot;.
7   <A HREF="os_win32.html#MS-Windows">MS-Windows</A>: When a wrong command is typed with an ALT key, give a hint to
    look at the help for <A HREF="options.html#'winaltkeys'">'winaltkeys'</A>.
7   Add a help.vim <A HREF="usr_05.html#plugin">plugin</A> that maps <A HREF="motion.html#&lt;Tab&gt;">&lt;Tab&gt;</A> to jump to the next <A HREF="tagsrch.html#tag">tag</A> in &#124;&#124; and
    &lt;C-Tab&gt; (and <A HREF="term.html#&lt;S-Tab&gt;">&lt;S-Tab&gt;</A>) to the previous <A HREF="tagsrch.html#tag">tag</A>.
    Patch by Balazs Kezes, 2007 Dec 30.  Remark from A. Politz.
-   Check text editor compendium for <A HREF="intro.html#vi">vi</A> and Vim remarks.


Help:
-   First try using the &quot;<A HREF="helphelp.html#:help">:help</A>&quot; argument literally, before using <A HREF="motion.html#it">it</A> <A HREF="motion.html#as">as</A> a
    <A HREF="pattern.html#pattern">pattern</A>.  And then match <A HREF="motion.html#it">it</A> <A HREF="motion.html#as">as</A> part of a <A HREF="tagsrch.html#tag">tag</A>.
-   When a help item has multiple matches make <A HREF="motion.html#it">it</A> possible to use &quot;<A HREF="tagsrch.html#:tn">:tn</A>&quot; to go
    to the other matches.
-   Support a way to <A HREF="starting.html#view">view</A> (and edit) .info files.
-   Implement a &quot;sticky&quot; help <A HREF="windows.html#window">window</A>, some help text lines that are always
    displayed in a <A HREF="windows.html#window">window</A> with fixed height. (Guckes)  Use &quot;~/.vimhelp&quot; file,
    user can edit <A HREF="motion.html#it">it</A> to insert his favorite commands, new account can contain a
    default contents.
-   Make <A HREF="options.html#'winminheight'">'winminheight'</A> a local option, so that the user can set a minimal
    height for the help <A HREF="windows.html#window">window</A> (and other <A HREF="windows.html#windows">windows</A>).
-   &quot;<A HREF="helphelp.html#:help">:help</A> :s^I&quot; should expand to &quot;<A HREF="helphelp.html#:help">:help</A> :substitute&quot;.
-   Make the help key (&lt;F1&gt;) context sensitive?
-   Learn mode: show short help while typing commands.


<A HREF="autocmd.html#User">User</A> Friendlier:
8   Windows <A HREF="usr_90.html#install">install</A> with install.exe: Use .exe instead of .bat files for
    links, so that command line arguments are passed on unmodified? (Walter
    Briscoe)
8   Windows <A HREF="usr_90.html#install">install</A>: Be able to associate Vim with a selection of file types?
8   Windows uninstall: Have uninstal.c delete the <A HREF="options.html#vimfiles">vimfiles</A> directories that
    dosinst.c creates.  <A HREF="eval.html#List">List</A> the contents of the directory (recursively) if
    the user asks for <A HREF="motion.html#it">it</A>.  Requires an implementation of &quot;rm -rf&quot;.
8   Remember the name of the <A HREF="starting.html#vimrc">vimrc</A> file that was used (~/.vimrc, $VIM/_vimrc,
    $HOME/_vimrc, etc.) and add &quot;edit vimrc&quot; to the File menu.
-   Add a way to save local settings and mappings into a new <A HREF="usr_05.html#plugin">plugin</A> file.
    &quot;:mkplugin &lt;file&gt;&quot;?
-   Add mappings local to a <A HREF="windows.html#window">window</A>: &quot;<A HREF="map.html#:map">:map</A> &lt;window&gt; ...&quot;?
9   Add buffer-local menu.  Should offer a choice between removing the menu or
    disabling <A HREF="motion.html#it">it</A>.  Be careful that tear-offs don't disappear (keep one empty
    item?).
    Alternative: use <A HREF="autocmd.html#BufEnter">BufEnter</A> and <A HREF="autocmd.html#BufLeave">BufLeave</A> autocommands.
8   make a <A HREF="usr_01.html#vimtutor">vimtutor</A> <A HREF="usr_41.html#script">script</A> for <A HREF="os_amiga.html#Amiga">Amiga</A> and other systems.
7   When Vim detects a file is being edited elsewhere and it's a <A HREF="starting.html#gvim">gvim</A> session
    of the same user <A HREF="motion.html#it">it</A> should offer a &quot;Raise&quot; button, so that the other <A HREF="starting.html#gvim">gvim</A>
    <A HREF="windows.html#window">window</A> can be displayed. (Eduard)
8   Support saving and restoring session for X <A HREF="windows.html#windows">windows</A>?  It should work to <A HREF="diff.html#do">do</A>
    &quot;<A HREF="starting.html#:mksession">:mksession</A>&quot; and use &quot;<A HREF="starting.html#-S">-S</A> fname&quot; for the restart command.  The
    gui_x11_wm_protocol_handler() already takes care of the rest.
    global_event_filter() for <A HREF="gui_x11.html#GTK">GTK</A>.


<A HREF="intro.html#Tab">Tab</A> pages:
9   <A HREF="gui.html#GUI">GUI</A> implementation for the <A HREF="intro.html#tab">tab</A> pages line for other systems.
7   <A HREF="gui.html#GUI">GUI</A>: Control over the appearance of the text in the labels (bold, color,
    font, etc.)
8   Make <A HREF="gui.html#GUI">GUI</A> menu in <A HREF="intro.html#tab">tab</A> pages line configurable.  Like the popup menu.
8   balloons for the <A HREF="intro.html#tab">tab</A> page labels that are shortened to show the full path.
7   :tabdup	 duplicate the <A HREF="intro.html#tab">tab</A> with all its <A HREF="windows.html#windows">windows</A>.
7   Option to put <A HREF="intro.html#tab">tab</A> line at the left or right?  Need an option to specify
    its width.  It's like a separate <A HREF="windows.html#window">window</A> with &quot;<A HREF="tabpage.html#:tabs">:tabs</A>&quot; output.
8   Add local <A HREF="options.html#options">options</A> for each <A HREF="intro.html#tab">tab</A> page?  E.g., <A HREF="options.html#'diffopt'">'diffopt'</A> could differ between
    <A HREF="intro.html#tab">tab</A> pages.
7   Add local highlighting for each <A HREF="intro.html#tab">tab</A> page?
7   Add local directory for <A HREF="intro.html#tab">tab</A> pages?  How would this interfere with
    window-local directories?


Spell checking:
-   Support more regions? Caolan McNamara argues it's needed for es_XX.
    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777    
-   <A HREF="mbyte.html#Unicode">Unicode</A> defines another <A HREF="change.html#quote">quote</A> character: 0x2019.  Use <A HREF="motion.html#it">it</A> <A HREF="motion.html#as">as</A> an equivalent
    of a single <A HREF="change.html#quote">quote</A>, thus use <A HREF="motion.html#it">it</A> <A HREF="motion.html#as">as</A> a <A HREF="motion.html#word">word</A> character like a <A HREF="change.html#quote">quote</A> and match
    with words, <A HREF="change.html#replacing">replacing</A> the curly <A HREF="change.html#quote">quote</A> with a single <A HREF="change.html#quote.">quote.</A>
-   Could <A HREF="change.html#filter">filter</A> &amp;eacute; things for HTML before doing <A HREF="spell.html#spell">spell</A> checking.
    Similarly for TeX.
-   The Hungarian <A HREF="spell.html#spell">spell</A> file uses four extra characters in the FOL/UPP/LOW
    items than other <A HREF="spell.html#spell">spell</A> files with the ISO-8859-2 encoding, that causes
    problem when <A HREF="change.html#changing">changing</A> <A HREF="options.html#'spelllang'">'spelllang'</A>.  There is no obvious way to fix this.
-   Considering Hunspell 1.1.4:
    What does MAXNGRAMSUGS <A HREF="diff.html#do">do</A>?
    Is COMPLEXPREFIXES necessary when we have flags for affixes?
-   Support spelling words in CamelCase <A HREF="motion.html#as">as</A> if they were two separate words.
    Requires some option to enable <A HREF="motion.html#it">it</A>. (Timothy Knox)
-   There is no Finnish <A HREF="spell.html#spell">spell</A> checking file.  For openoffice Voikko is now
 used, which is based on Malaga:	<A HREF="http://home.arcor.de/bjoern-beutel/malaga/">http://home.arcor.de/bjoern-beutel/malaga/</A>
    (Teemu Likonen)
8   &quot;<A HREF="spell.html#:mkspell">:mkspell</A>&quot; still takes much too long in Hungarian dictionary from
    hunspell.  Only solution appears to be to postpone secondary <A HREF="cmdline.html#suffixes">suffixes</A>.
8   Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.
    WFP_COMPPERMIT and WFP_COMPFORBID
8   implement use of &lt;compoptions&gt; in .spl file:
    implement CHECKCOMPOUNDREP: when a compound <A HREF="motion.html#word">word</A> seems to be OK apply REP
    items and check if the result is a valid <A HREF="motion.html#word">word</A>.
    implement CHECKCOMPOUNDDUP
    implement CHECKCOMPOUNDTRIPLE
    Add CHECKCOMPOUNDCASE: when compounding make leading capital lower <A HREF="change.html#case">case</A>.
    How is <A HREF="motion.html#it">it</A> supposed to work?
-   Add a command the repeats <A HREF="spell.html#]s">]s</A> and <A HREF="spell.html#z=">z=</A>, showing the misspelled <A HREF="motion.html#word">word</A> in its
    context.  Thus to spell-check a whole file.
-   suggestion for &quot;KG&quot; to &quot;kg&quot; when it's keepcase.
-   For flags on affixes: Use a &quot;AFFCOMPSET&quot; flag; means the compound flags of
    the <A HREF="motion.html#word">word</A> are not used.
-   Support breakpoint character ? 0xb7 and ignore <A HREF="motion.html#it">it</A>?  Makes <A HREF="motion.html#it">it</A> possible to
    use same wordlist for hyphenation.
-   Compound <A HREF="motion.html#word">word</A> is accepted if nr of words is &lt;= COMPOUNDWORDMAX OR nr of
    syllables &lt;= COMPOUNDSYLMAX.  Specify using AND in the affix file?
-   NEEDCOMPOUND also used for affix?  Or is this called ONLYINCOMPOUND now?
    Or is ONLYINCOMPOUND only for inside a compound, not at start or end?
-   Do we need a flag for the rule that when compounding is done the following
    <A HREF="motion.html#word">word</A> doesn't have a capital after a <A HREF="motion.html#word">word</A> character, even for Onecap words?
 - New hunspell home page:	<A HREF="http://hunspell.sourceforge.net/">http://hunspell.sourceforge.net/</A>
    - Version 1.1.0 is out now, look into that.
    - Lots of code depends on LANG, that isn't right.  Enable each mechanism
      in the affix file separately.
    - Example with compounding dash is bad, gets in the way of setting
      COMPOUNDMIN and COMPOUNDWORDMAX to a reasonable value.
    - PSEUDOROOT <A HREF="change.html#==">==</A> NEEDAFFIX
    - COMPOUNDROOT -&gt; COMPOUNDED?  For a <A HREF="motion.html#word">word</A> that already is a compound <A HREF="motion.html#word">word</A>
	    Or use COMPOUNDED2, COMPOUNDED3, etc.
-   CIRCUMFIX: when a <A HREF="motion.html#word">word</A> uses a prefix marked with the CIRCUMFIX flag, then
    the <A HREF="motion.html#word">word</A> must also have a suffix marked with the CIRCUMFIX flag.  It's a
    bit primitive, since only one flag is used, which doesn't allow matching
    specific prefixes with <A HREF="cmdline.html#suffixes">suffixes</A>.
    Alternative:
	PSFX {flag} {pchop} {padd} {pcond} {schop} {sadd}[/flags] {scond}
    We might not need this at all, you can use the NEEDAFFIX flag and the
    affix which is required.
-   When a suffix has more than one syllable, <A HREF="motion.html#it">it</A> may <A HREF="intro.html#count">count</A> <A HREF="motion.html#as">as</A> a <A HREF="motion.html#word">word</A> for
    COMPOUNDWORDMAX.
-   Add flags to <A HREF="intro.html#count">count</A> extra syllables in a <A HREF="motion.html#word">word</A>.  SYLLABLEADD1 SYLLABLEADD2,
    etc.?  Or make <A HREF="motion.html#it">it</A> possible to specify the syllable <A HREF="intro.html#count">count</A> of a <A HREF="motion.html#word">word</A>
    directly, e.g., after another slash: /abc/3
-   MORPHO item in affix file: ignore TAB and morphological field after
    word/flags and affix.
-   Implement multiple flags for compound words and CMP item?
    Await comments from other <A HREF="spell.html#spell">spell</A> checking authors.
 - Also see tklspell:	<A HREF="http://tkltrans.sourceforge.net/">http://tkltrans.sourceforge.net/</A>
8   Charles Campbell asks for method to add &quot;contained&quot; groups to existing
    <A HREF="syntax.html#syntax">syntax</A> items (to add @Spell).
    Add &quot;<A HREF="syntax.html#:syntax">:syntax</A> contains {pattern} add=@Spell&quot; command?  A bit like &quot;<A HREF="syntax.html#:syn">:syn</A>
    cluster&quot; but change the contains <A HREF="eval.html#list">list</A> directly for matching <A HREF="syntax.html#syntax">syntax</A> items.
-   References: MySpell library (in OpenOffice.org).
	<A HREF="http://spellchecker.mozdev.org/source.html">http://spellchecker.mozdev.org/source.html</A>
	<A HREF="http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/">http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/</A>
author: Kevin Hendricks <A HREF="mailto:kevin.hendricks@sympatico.ca">&lt;kevin.hendricks@sympatico.ca&gt;</A> 
8   It is currently not possible to <A HREF="motion.html#mark">mark</A> &quot;can not&quot; <A HREF="motion.html#as">as</A> rare, because &quot;can&quot; and
    &quot;not&quot; are good words.  Find a way to let &quot;rare&quot; overrule &quot;good&quot;?
8   Make &quot;en-rare&quot; <A HREF="spell.html#spell">spell</A> file?  Ask Charles Campbell.
8   The English dictionaries for different regions are not consistent in their
    use of words with a dash.
7   <A HREF="insert.html#Insert">Insert</A> mode completion mechanism that uses the <A HREF="spell.html#spell">spell</A> <A HREF="motion.html#word">word</A> lists.
8   Add hl groups to <A HREF="options.html#'spelllang'">'spelllang'</A>?
	<A HREF="options.html#:set">:set</A> <A HREF="options.html#'spelllang'">spelllang</A>=en_us,en-rare/SpellRare,en-math/SpellMath
    More complicated: Regions with different languages?  E.g., comments
    in English, strings in German (po file).


Diff mode:
9   When making small changes, e.g. <A HREF="change.html#deleting">deleting</A> a character, update the <A HREF="diff.html#diff">diff</A>.
    Possibly without running <A HREF="diff.html#diff">diff</A>.
8   Also show difference with the file when editing started?  Should show what
    can be undone. (Tom Popovich)

<A HREF="fold.html#Folding">Folding</A>:
    (commands still available: zI zJ zK zp zP zq zQ zV zy zY;
    secondary: zB zS zT zZ, <A HREF="spell.html#z=">z=</A>)
8   Vertical <A HREF="fold.html#folds">folds</A>: looks like vertically split <A HREF="windows.html#windows">windows</A>, but the cursor moves
    through the vertical separator, separator moves when <A HREF="scroll.html#scrolling">scrolling</A>.
8   Add &quot;z/&quot; and &quot;z?&quot; for searching in not folded text only.
8   When a closed fold is displayed open because of <A HREF="options.html#'foldminlines'">'foldminlines'</A>, the
    behavior of commands is still like the fold is closed.  How to make the
    user aware of this?
8   Add an option 'foldskip' with values like <A HREF="options.html#'foldopen'">'foldopen'</A> that specifies which
    commands skip over a closed fold.
8   &quot;<A HREF="motion.html#H">H</A>&quot; and &quot;<A HREF="motion.html#L">L</A>&quot; <A HREF="intro.html#count">count</A> buffer lines instead of <A HREF="windows.html#window">window</A> lines. (Servatius Brandt)
8   Add a way to add fold-plugins.  Johannes Zellner has one for VB.
7   When using manual <A HREF="fold.html#folding">folding</A>, the <A HREF="undo.html#undo">undo</A> command should also restore <A HREF="fold.html#folds">folds</A>.
-   Allow completely hiding a closed fold.  E.g., by setting <A HREF="options.html#'foldtext'">'foldtext'</A> to an
    empty <A HREF="eval.html#string">string</A>.  Require showing a character in <A HREF="options.html#'foldcolumn'">'foldcolumn'</A> to avoid the
    missing line goes unnoticed.
    How to implement this?
-   When pressing the down arrow of a scrollbar, a closed fold doesn't scroll
    until after a long time.  How to make <A HREF="scroll.html#scrolling">scrolling</A> with closed <A HREF="fold.html#folds">folds</A>
    smoother?
-   When creating a session, also store <A HREF="fold.html#folds">folds</A> for <A HREF="windows.html#buffers">buffers</A> in the buffer <A HREF="eval.html#list">list</A>,
    using the wininfo in wi_folds.
-   When currently editing the first file in the argument <A HREF="eval.html#list">list</A> the session
    file can contain:
	args version.c main.c
	edit version.c
    Can editing version.c <A HREF="if_cscop.html#twice">twice</A> be avoided?
-   <A HREF="options.html#'foldmethod'">'foldmethod'</A> &quot;textobject&quot;: fold on sections and <A HREF="motion.html#paragraph">paragraph</A> text <A HREF="index.html#objects">objects</A>.
-   &quot;zuf&quot;: <A HREF="undo.html#undo">undo</A> change in manual fold. &quot;zUf&quot; <A HREF="undo.html#redo">redo</A> change in manual fold.  How
    to implement this?
-   &quot;zJ&quot; command: add the line or fold below the fold in the fold under the
    cursor.
-   <A HREF="options.html#'foldmethod'">'foldmethod'</A> &quot;<A HREF="syntax.html#syntax">syntax</A>&quot;: &quot;fold=3&quot; argument: set fold level for a region or
    match.
-   Apply a new foldlevel to a range of lines. (Steve Litt)

Multi-byte characters:
-   When editing a file with both <A HREF="mbyte.html#utf-8">utf-8</A> and latin1 text Vim always falls back
    to latin1.  Add a command to convert the latin1 characters to <A HREF="mbyte.html#utf-8">utf-8</A>?
	:unmix utf-8,latin1 filename
    Would only work when <A HREF="options.html#'encoding'">'encoding'</A> is <A HREF="mbyte.html#utf-8">utf-8</A>.
9   When the tail byte of a double-byte character is illegal (e.g., a CR), the
    display is messed up (Yasuhiro Matsumoto).  Should check for illegal
    double-byte characters and display them differently (display each single
    byte).
9   <A HREF="options.html#'fenc'">'fenc'</A> in <A HREF="options.html#modeline">modeline</A> problem: add option to <A HREF="editing.html#reload">reload</A> the file when <A HREF="options.html#'fenc'">'fenc'</A> is
    set to a different value in a <A HREF="options.html#modeline">modeline</A>?  Option can be default on.  Could
    <A HREF="motion.html#it">it</A> be done with an <A HREF="autocmd.html#autocommand">autocommand</A>?
8   Add an item in <A HREF="options.html#'fileencodings'">'fileencodings'</A> to check the first lines of a file for
 the encoding. See Python PEP:	<A HREF="http://www.python.org/peps/pep-0263.html">http://www.python.org/peps/pep-0263.html</A>.
    To avoid getting a wrong encoding only accept something Emacs-like:
    &quot;-*- coding: enc-na_me.foo -*-&quot; and &quot;-*- coding= enc-na_me.foo -*-&quot;
    Match with &quot;-\*-\s*coding[:=]\s*\([::word::-_.]\+\)\s*-\*-&quot; and use first
    item.
8   Add an item in <A HREF="options.html#'fileencodings'">'fileencodings'</A> to check the first line of an XML file for
    the encoding.  &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;  Or &quot;charset=UTF-8&quot;?
    For HTML look for &quot;charset=utf-8&quot;.
8   The <A HREF="quickfix.html#quickfix">quickfix</A> file is read without conversion, thus in <A HREF="options.html#'encoding'">'encoding'</A>.  Add an
    option to specify the encoding of the errorfile and convert <A HREF="motion.html#it">it</A>.  Also for
    &quot;<A HREF="quickfix.html#:grep">:grep</A>&quot; and &quot;<A HREF="helphelp.html#:helpgrep">:helpgrep</A>&quot;.
    More generic solution: support a <A HREF="change.html#filter">filter</A> (e.g., by calling a function).
8   When a file was converted from <A HREF="options.html#'fileencoding'">'fileencoding'</A> to <A HREF="options.html#'encoding'">'encoding'</A>, a <A HREF="tagsrch.html#tag">tag</A> search
    should also <A HREF="diff.html#do">do</A> this on the search <A HREF="pattern.html#pattern">pattern</A>. (Andrzej <A HREF="motion.html#M">M</A>. Ostruszka)
8   When filtering changes the encoding <A HREF="options.html#'fileencoding'">'fileencoding'</A> may not work.  E.g.,
    when using xxd and <A HREF="options.html#'fileencoding'">'fileencoding'</A> is &quot;utf-16&quot;.  Add an option to set a
    different fileencoding for <A HREF="change.html#filter">filter</A> output?
7   When converting a file fails, mention which byte could not be converted,
    so that the user can fix the problem.
8   Add configure option to be able to disable using the iconv library. (Udo
    Schweigert)
9   <A HREF="options.html#'aleph'">'aleph'</A> should be set to 1488 for <A HREF="mbyte.html#Unicode">Unicode</A>. (Zvi Har'El)
8   Should add test for using various commands with <A HREF="mbyte.html#multi-byte">multi-byte</A> characters.
8   <A HREF="options.html#'infercase'">'infercase'</A> doesn't work with <A HREF="mbyte.html#multi-byte">multi-byte</A> characters.
8   <A HREF="eval.html#toupper()">toupper()</A> function doesn't handle byte <A HREF="intro.html#count">count</A> changes.
7   Searching and composing characters:
    When searching, should order of composing characters be ignored?
    Add a special item to match with a composing character, so that composing
    characters can be manipulated.
8   Should implement <A HREF="options.html#'delcombine'">'delcombine'</A> for command line editing.
8   Detect overlong <A HREF="mbyte.html#UTF-8">UTF-8</A> sequences and handle them like illegal bytes.
8   &quot;:s/x/\u\1/&quot; doesn't work, making <A HREF="change.html#uppercase">uppercase</A> isn't done for <A HREF="mbyte.html#multi-byte">multi-byte</A>
    characters.
8   <A HREF="mbyte.html#UTF-8">UTF-8</A>: &quot;<A HREF="change.html#r">r</A>&quot; in <A HREF="visual.html#Visual">Visual</A> mode doesn't take composing characters.
8   <A HREF="mbyte.html#UTF-8">UTF-8</A>: When there is a precomposed character in the font, use <A HREF="motion.html#it">it</A> instead
    of a character and a composing character.  See xterm for an example.
7   When a character can't be displayed, display its <A HREF="digraph.html#digraph">digraph</A> instead.
    <A HREF="options.html#'display'">'display'</A> option to specify this.
7   Use ideas for nl_langinfo() from Markus Kuhn in enc_default():
    (www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c)
-   <A HREF="gui_x11.html#GTK">GTK</A> and <A HREF="os_win32.html#Win32">Win32</A>: Allow selecting fonts for <A HREF="options.html#'guifontset'">'guifontset'</A> with the
    fontselector somehow.
-   <A HREF="gui_x11.html#GTK">GTK</A> and <A HREF="os_win32.html#Win32">Win32</A>: make <A HREF="motion.html#it">it</A> possible to set the font for the menu to make <A HREF="motion.html#it">it</A>
    possible to have <A HREF="options.html#'encoding'">'encoding'</A> different from the current <A HREF="mbyte.html#locale">locale</A>.
-   dbcs_class() only works for <A HREF="mbyte.html#Japanese">Japanese</A> and <A HREF="mbyte.html#Korean">Korean</A>.  Implement this for
    other encodings.  The &quot;euc-jp&quot; and &quot;euc-kr&quot; choices might be wrong.
-   Find some way to automatically select the right <A HREF="gui.html#GUI">GUI</A> font or <A HREF="mbyte.html#fontset">fontset</A>,
    depending on the default value of <A HREF="options.html#'encoding'">'encoding'</A>.
    Irrelevant in the <A HREF="gui_x11.html#GTK+">GTK+</A> 2 <A HREF="gui.html#GUI">GUI</A> so long <A HREF="motion.html#as">as</A> <A HREF="mbyte.html#UTF-8">UTF-8</A> is used.
    For Windows, the charset_pairs[] table could be used.  But how <A HREF="diff.html#do">do</A> we know
    if a font exists?
-   Do keyboard conversion from <A HREF="options.html#'termencoding'">'termencoding'</A> to <A HREF="options.html#'encoding'">'encoding'</A> with
    convert_input() for <A HREF="os_mac.html#Mac">Mac</A> <A HREF="gui.html#GUI">GUI</A>.
-   Add mnemonics from RFC1345 longer than two characters.
    Support CTRL-K _{mnemonic}_
-   Make <A HREF="options.html#'breakat'">'breakat'</A> accept <A HREF="mbyte.html#multi-byte">multi-byte</A> characters.  Problem: can't use a lookup
    table anymore (breakat_flags[]).
    Simplistic solution: when <A HREF="options.html#'formatoptions'">'formatoptions'</A> contains &quot;<A HREF="motion.html#m">m</A>&quot; also break a line
    at a <A HREF="mbyte.html#multi-byte">multi-byte</A> character &gt;= 0x100.
-   Add the possibility to enter mappings which are used whenever normal text
    could be entered.  E.g., for &quot;<A HREF="motion.html#f">f</A>&quot; command.  But not in <A HREF="intro.html#Normal">Normal</A> mode.  Sort
    of opposite of <A HREF="options.html#'langmap'">'langmap'</A>.  Use &quot;:amap&quot; command?
-   When breaking a line, take properties of <A HREF="mbyte.html#multi-byte">multi-byte</A> characters into
    account.  The &quot;linebreak&quot; program from Bruno Haible can <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A>:
	<A HREF="ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz">ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz</A>
    But it's very complicated...


Printing:
7   Implement &quot;<A HREF="syntax.html#undercurl">undercurl</A>&quot; for <A HREF="print.html#printing">printing</A>.
-   Add &quot;page width&quot; to wrap long lines.
-   <A HREF="os_win32.html#Win32">Win32</A>: use a font <A HREF="gui_w32.html#dialog">dialog</A> for setting <A HREF="options.html#'printfont'">'printfont'</A>.  Can reuse the code for
    the <A HREF="options.html#'guifont'">'guifont'</A> <A HREF="gui_w32.html#dialog">dialog</A>, put the common code in a separate function.
-   Add the file <A HREF="editing.html#timestamp">timestamp</A> to the page header (with an option). (George
    Reilly)
-   <A HREF="os_win32.html#Win32">Win32</A>: when <A HREF="options.html#'printfont'">'printfont'</A> is empty use <A HREF="options.html#'guifont'">'guifont'</A>.
-   <A HREF="os_unix.html#Unix">Unix</A>: Use some <A HREF="gui_w32.html#dialog">dialog</A> box to <A HREF="diff.html#do">do</A> the obvious settings (paper size, printer
    name, portrait/landscape, etc).
-   PostScript: Only works for text that can be converted to an 8-bit
    character set.  How to support <A HREF="mbyte.html#Unicode">Unicode</A> fully?
-   Allow specifying the paper size, instead of using a standard size.  Same
    units <A HREF="motion.html#as">as</A> for the margins.
-   Support right-to-left text?
8   Make the foreground color darkening function preserve the hue of the
    color.


<A HREF="autocmd.html#Syntax">Syntax</A> highlighting:
8   Make &quot;<A HREF="syntax.html#:syn">:syn</A> off&quot; use <A HREF="options.html#'runtimepath'">'runtimepath'</A> instead of <A HREF="starting.html#$VIMRUNTIME">$VIMRUNTIME</A>. (Gary Johnson)
    Should <A HREF="diff.html#do">do</A> the same for &quot;<A HREF="syntax.html#:syn">:syn</A> on&quot; and &quot;<A HREF="syntax.html#:syn">:syn</A> manual&quot;.
8   Support &quot;containedin&quot; argument for &quot;<A HREF="syntax.html#:syn">:syn</A> include&quot;, so that the defined
    cluster can be added to existing <A HREF="syntax.html#syntax">syntax</A> items.
8   C <A HREF="syntax.html#syntax">syntax</A>: Don't highlight <A HREF="intro.html#{}">{}</A> <A HREF="motion.html#as">as</A> <A HREF="message.html#errors">errors</A> inside () when used like this:
    &quot;({ something })&quot;, often used in GCC code.
7   Add a &quot;startgroup&quot; to a region.  Used like &quot;nextgroup&quot; inside the region,
    preferred item at the start of the region. (Charles Campbell)
8   When editing a new file without a name and giving <A HREF="motion.html#it">it</A> a name (by <A HREF="editing.html#writing">writing</A>
    <A HREF="motion.html#it">it</A>) and <A HREF="options.html#'filetype'">'filetype'</A> is not set, detect the <A HREF="filetype.html#filetype">filetype</A>.  Avoid doing <A HREF="motion.html#it">it</A> for
    &quot;<A HREF="editing.html#:wq">:wq</A> file&quot;.
7   For &quot;nextgroup&quot; we have skipwhite, skipnl and skipempty.  It would be
    really <A HREF="#nice">nice</A> to be able to skip with a <A HREF="pattern.html#pattern">pattern</A>.  Or skip with a <A HREF="syntax.html#syntax">syntax</A>
    group. (Nikolai Weibull, 2007 Feb 27)
8   Make conversion to HTML faster (Write <A HREF="motion.html#it">it</A> in C or pre-compile the <A HREF="usr_41.html#script">script</A>).
9   There is still a redraw bug somewhere.  Probably because a cached state is
    used in a wrong way.  I can't reproduce it...
7   Be able to change only the background highlighting.  Useful for Diff* and
    Search highlighting.
7   When <A HREF="options.html#'number'">'number'</A> is set highlight the number of the current line.
    Must be enabled with an option, because <A HREF="motion.html#it">it</A> slows down display updating.
8   Allow the user to add items to the <A HREF="autocmd.html#Syntax">Syntax</A> menu sorted, without having to
    change this for each release.
8   Add a &quot;matchcontains&quot; for regions: items contained in the start or end
    <A HREF="pattern.html#pattern">pattern</A>, but not in the body.
8   Add a &quot;keepend-contained&quot; argument: Don't change the end of an item this
    one is contained in.  Like &quot;keepend&quot; but specified on the contained item,
    instead of the containing item.
8   <A HREF="syntax.html#cpp.vim">cpp.vim</A>: In C++ it's allowed to use <A HREF="intro.html#{}">{}</A> inside ().
8   Some <A HREF="syntax.html#syntax">syntax</A> files set <A HREF="options.html#'iskeyword'">'iskeyword'</A>, they should use &quot;syn iskeyword&quot;.
    Also need a separate <A HREF="options.html#'iskeyword'">'iskeyword'</A> for the command line, e.g., in a help
    <A HREF="windows.html#window">window</A> &quot;<A HREF="editing.html#:e">:e</A> /asdf/asdf/&quot; <A HREF="index.html#CTRL-W">CTRL-W</A> works different.
8   Add specific <A HREF="syntax.html#syntax">syntax</A> item to match with parens/braces that don't have a
    &quot;<A HREF="motion.html#&#37;">&#37;</A>&quot; match.  <A HREF="syntax.html#:syntax">:syntax</A> nomatch cMatchError (,{,[,),},] [contained]
8   Highlight the text between two matching parens (e.g., with a grey
    background) when on one of the parens or in between them.
    Option for the <A HREF="pi_paren.html#matchparen">matchparen</A> <A HREF="usr_05.html#plugin">plugin</A>?
8   When using a cterm, and no ctermfg or ctermbg are defined, use start/stop
    sequences.	Add remark in docs that <A HREF="eval.html#:if">:if</A> <A HREF="options.html#'term'">'term'</A> <A HREF="change.html#==">==</A> &quot;term-name&quot; should be
    used.
8   Add @spell cluster to <A HREF="eval.html#String">String</A> and Comment groups for many languages.  Will
    allow <A HREF="spell.html#spell">spell</A> checking. (Fleiner)
8   When listing <A HREF="syntax.html#syntax">syntax</A> items, try to sort the keywords alphabetically.  And
    re-insert the <A HREF="motion.html#[]">[]</A> if possible.
8   Make <A HREF="motion.html#it">it</A> possible to use color of text for <A HREF="visual.html#Visual">Visual</A> highlight group (like for
    the Cursor).
8   It would be useful to make the highlight group name an <A HREF="eval.html#expression">expression</A>.  Then
    when there is a match, the <A HREF="eval.html#expression">expression</A> would be evaluated to find out what
    highlight group to use.  Could be used to check if the shell used in a
    password file appears in /etc/shells. (Nikolai Weibull)
	syn match =s:checkShell(v:match) contained '<A HREF="pattern.html#pattern">pattern</A>'
8   Make <A HREF="motion.html#it">it</A> possible to only highlight a sub-expression of a match.  Like
    using &quot;\1&quot; in a &quot;<A HREF="change.html#:s">:s</A>&quot; command.
8   Support for <A HREF="change.html#deleting">deleting</A> <A HREF="syntax.html#syntax">syntax</A> items:
    <A HREF="syntax.html#:syn">:syn</A> keyword cTodo remove this
    <A HREF="syntax.html#:syn">:syn</A> match cTodo remove &quot;<A HREF="pattern.html#pattern">pattern</A>&quot;
    <A HREF="syntax.html#:syn">:syn</A> region cString remove start=&quot;this&quot; end=&quot;that&quot;
8   Add possibility to sync on something else, when the syncing in one way
    doesn't find match.  For HTML: When no {script} is found, try looking for
    a '<A HREF="change.html#&lt;">&lt;</A>'.  (Fleiner)
7   <A HREF="insert.html#Replace">Replace</A> the synchronizing method with a state machine specification?
    Should be able to start at any line in the file, search forwards or
    backwards, and use the result of matching a <A HREF="pattern.html#pattern">pattern</A>.
7   Use parsing like awk, so that e.g., a ( without a matching ) can be
    detected.
8   Make <A HREF="motion.html#it">it</A> possible to use &quot;inverted&quot; highlighting, invert the original
    character.  For <A HREF="visual.html#Visual">Visual</A> mode.  (xterm-selection already does this).
8   Highlight non-printable characters with &quot;SpecialChar&quot;, linked to
    &quot;<A HREF="eval.html#Special">Special</A>&quot;.  Display them with the <A HREF="digraph.html#digraph">digraph</A> characters, if possible.
8   Highlight the clipboard-selection with a highlight group.
8   Be able to reset highlighting to its original (default) values.
7   Be able to write current highlighting to a file <A HREF="motion.html#as">as</A> commands, similar to
    &quot;<A HREF="starting.html#:mkvimrc">:mkvimrc</A>&quot;.
8   Improve <A HREF="syntax.html#c.vim">c.vim</A>:
    - Add check for unterminated strings, with a variable to switch <A HREF="motion.html#it">it</A> on:
      &quot;c_strict_ansi&quot;.
    - Detect unbalanced &quot;#endif&quot;.  Requires looking back a long way...
8   Add an option to restrict the updating of <A HREF="syntax.html#syntax">syntax</A> highlighting to the
    current line while in <A HREF="insert.html#Insert">Insert</A> mode.
8   When guessing value of <A HREF="options.html#'background'">'background'</A>, the <A HREF="syntax.html#syntax">syntax</A> file has already been
    loaded (from the <A HREF="gui.html#.gvimrc">.gvimrc</A>).	After <A HREF="change.html#changing">changing</A> <A HREF="options.html#'background'">'background'</A>, load <A HREF="motion.html#it">it</A> again?
8   Add &quot;<A HREF="syntax.html#:syn">:syn</A> resync&quot; command, to re-parse the whole file until the current
    display position.
8   Should support &quot;me&quot; offset for a region start <A HREF="pattern.html#pattern">pattern</A>.  To be used to
    allow searching for the end <A HREF="pattern.html#pattern">pattern</A> inside the match of the end <A HREF="pattern.html#pattern">pattern</A>.
    Example: syn region pikeXX start=&quot;([^{]&quot; end=&quot;)&quot; should work on &quot;()&quot;.
8   When using a <A HREF="pattern.html#regexp">regexp</A> for &quot;contains=&quot;, should delay matching with <A HREF="motion.html#it">it</A> until
    redrawing happens.  Set a flag when a group is added, check this flag when
    highlighting starts.
7   It's possible for an item to be transparent, so that the colors of an item
    lower on the stack is used.  Also <A HREF="diff.html#do">do</A> this with highlighting, so that the
    user can set transparent highlighting?  E.g. a number in a C comment would
    get the color of a comment, a number in an assignment <A HREF="intro.html#Normal">Normal</A>. (Nikolai
    Weibull)
7   Add &quot;semitrans&quot;: Add highlighting.  E.g., make the text <A HREF="syntax.html#bold">bold</A>, but keep the
    colors.  And add colors, so that Green+Red becomes Yellow.
    E.g. for this html:
	&lt;B&gt; <A HREF="syntax.html#bold">bold</A> text &lt;I&gt; italic+bold text &lt;/B&gt; <A HREF="syntax.html#italic">italic</A> text &lt;/I&gt;
7   <A HREF="tagsrch.html#CTRL-]">CTRL-]</A> checks the highlight group for finding out what the <A HREF="tagsrch.html#tag">tag</A> is.
7   Add an explanation how a <A HREF="eval.html#list">list</A> of words can be used to highlight misspelled
    words.
8   Add more command line completion for <A HREF="syntax.html#:syntax">:syntax</A>.
8   Add more command line completion for <A HREF="syntax.html#:highlight">:highlight</A>.
7   Should find a better way to parse the <A HREF="syntax.html#:syntax">:syntax</A> and <A HREF="syntax.html#:highlight">:highlight</A> commands.
    Use tables or lists that can be shared by parsing for execution and
    completion?
8   Add ColorSchemePost <A HREF="autocmd.html#autocommand">autocommand</A> event, so that scripts can set up their
    highlighting. (Salman Halim)
7   Add a few sets of colors (e.g. Borland Turbo C one).  With a menu to
    select one of the sets.
8   Add offsets to sub-matches: &quot;\(a*\) *&quot;he=e1-1
    '<A HREF="motion.html#e">e</A>' is end of match 'e1' is end of sub-match 1, 's2' is start of submatch
    2, etc.
8   In <A HREF="insert.html#Insert">Insert</A> mode, when there are typeahead characters, postpone the
    highlighting (for &quot;<A HREF="repeat.html#.">.</A>&quot; command).
8   Syncing on comments isn't 100&#37; correct when / / lines mix with / &#42; and &#42; <A HREF="pattern.html#/.">/.</A>
    For example: What about a line that starts with / / and contains &#42; /?
8   Ignore / &#42; and  &#42; / inside strings, when syncing.
7   Build a few more <A HREF="syntax.html#syntax">syntax</A> files from the file &quot;/usr/share/misc/vgrindefs&quot;:
    ISP, LDL, Icon, ratfor.  And check &quot;nedit/source/highlight.c&quot;.
6   Add possibility to have background color continue until the right edge of
    the <A HREF="windows.html#window">window</A>.  Useful for comment blocks and function headings. (Rogall)
-   Make <A HREF="motion.html#it">it</A> possible to add &quot;contains&quot; items for all items in a group.	Useful
    when extending an already existing <A HREF="syntax.html#syntax">syntax</A> file.
-   Add <A HREF="repeat.html#line-continuation">line-continuation</A> <A HREF="pattern.html#pattern">pattern</A> for non-syncing items too?
-   Add possibility to highlight the whole line, including the right margin
    (for comment blocks).
-   Add 'hlmatch' option: <A HREF="eval.html#List">List</A> of flags:
    '<A HREF="change.html#c">c</A>': highlight match for character under the cursor.
    '<A HREF="motion.html#b">b</A>': highlight the previous (, and its match.
    '<A HREF="insert.html#a">a</A>': highlight all text from the previous ( until its match.
	 Also for <A HREF="intro.html#{}">{}</A>, <A HREF="intro.html#&lt;&gt;">&lt;&gt;</A>, etc.?
    '<A HREF="motion.html#e">e</A>': highlight all braces without a match (slow?)
    OR: add an argument &quot;cursor&quot; to the <A HREF="syntax.html#syntax">syntax</A> command, which means that the
    region/match/keyword is only highlighted when the cursor is on <A HREF="motion.html#it">it</A>.
    (Campbell)
    Or <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> like <A HREF="intro.html#Elvis">Elvis</A>: define text <A HREF="index.html#objects">objects</A> and how to highlight them around
    the cursor. (Iain Truskett)
7   Make <A HREF="motion.html#it">it</A> possible to use all words in the <A HREF="tagsrch.html#tags">tags</A> files <A HREF="motion.html#as">as</A> Keyword.
    Can also be done with a <A HREF="usr_41.html#script">script</A> (but it's slow).
7   Make <A HREF="motion.html#it">it</A> possible to call a &quot;<A HREF="cmdline.html#:">:</A>&quot; command when a match is found.  Should
    allow for adding keywords from the text (e.g. <A HREF="eval.html#variables">variables</A> that are set).
    And allows for sections with different highlighting.
7   Add highlight group for commandline: &quot;Commandline&quot;.  Make sure <A HREF="motion.html#it">it</A>
    highlights the command line while typing a command, and any output from
    <A HREF="message.html#messages">messages</A>.  And external commands?
8   Make a version that works like <A HREF="various.html#less">less</A>, but with highlighting: read stdin for
    text, exit at end of file, don't allow editing, etc.  moreim?  lessim?
7   SpecialKey highlighting overrules <A HREF="syntax.html#syntax">syntax</A> highlighting.  Can't give an
    unprintable char another color.  Would be useful for ^M at end of line.


Vim <A HREF="usr_41.html#script">script</A> language:
8   Make the filename and line number available to <A HREF="usr_41.html#script">script</A> <A HREF="eval.html#functions">functions</A>, so that
    they can give useful debugging info.  The whole call stack would be ideal.
    At least use this for error <A HREF="message.html#messages">messages</A>.
7   Execute a function with standard option values.  No need to save and
    restore option values.  Especially useful for new <A HREF="options.html#options">options</A>.  Problem: how
    to avoid a performance penalty (esp. for <A HREF="eval.html#string">string</A> options)?
8   Add referring to key <A HREF="options.html#options">options</A> with &quot;&amp;t_xx&quot;.  Both for &quot;echo &amp;t_xx&quot; and
    &quot;<A HREF="eval.html#:let">:let</A> &amp;t_xx =&quot;.  Useful for making portable mappings.
-   Add &quot;<A HREF="eval.html#:let">:let</A> var ?= value&quot;, conditional assignment.  Patch by Dave Eggum,
    2006 Dec 11.
-   range for &quot;:exec&quot;, pass <A HREF="motion.html#it">it</A> on to the executed command.  (Webb)
8   &quot;:{range}source&quot;: source the lines from the current file.
	You can already <A HREF="change.html#yank">yank</A> lines and use :@&quot; to execute them.
	Most of do_source() would not be used, need a new function.
	It's <A HREF="starting.html#easy">easy</A> when not doing breakpoints or <A HREF="repeat.html#profiling">profiling</A>.
    Requires <A HREF="uganda.html#copying">copying</A> the lines into a <A HREF="eval.html#list">list</A> and then creating a function to
    execute lines from the <A HREF="eval.html#list">list</A>.  Similar to getnextac().
7   &quot;:include&quot; command: just like &quot;<A HREF="repeat.html#:source">:source</A>&quot; but doesn't start a new scriptID?
    Will be tricky for the <A HREF="eval.html#list">list</A> of <A HREF="usr_41.html#script">script</A> names.
8   Have a look at VSEL.  Would <A HREF="motion.html#it">it</A> be useful to include? (Bigham)
8   Have a prefix for a function to make <A HREF="motion.html#it">it</A> unique.  When using <A HREF="repeat.html#packages">packages</A> <A HREF="motion.html#it">it</A>
    can be the <A HREF="usr_05.html#plugin">plugin</A> name.
    Perhaps also have a way to remove everything that the package added?
    including autocommands.
7   Pre-parse or compile Vim scripts into a bytecode.
    1. Put the bytecode with the original <A HREF="usr_41.html#script">script</A>, with an &quot;<A HREF="eval.html#:if">:if</A>
       has('bytecode')&quot; around <A HREF="motion.html#it">it</A>, so that it's only used with a Vim that
       supports <A HREF="motion.html#it">it</A>.  Update the code with a command, can be used in an
       <A HREF="autocmd.html#autocommand">autocommand</A>.
    2. Use a &quot;.vic&quot; file (like <A HREF="if_pyth.html#Python">Python</A> use .pyc).  Create <A HREF="motion.html#it">it</A> when <A HREF="editing.html#writing">writing</A> a
       .vim file.  Problem: <A HREF="intro.html#distribution">distribution</A>.
    3. Use a cache directory for each user.  How to recognize which cached
       file belongs to a sourced <A HREF="usr_41.html#script">script</A>?
7   Add argument to <A HREF="eval.html#winwidth()">winwidth()</A> to subtract the space taken by <A HREF="options.html#'foldcolumn'">'foldcolumn'</A>,
    <A HREF="sign.html#signs">signs</A> and/or <A HREF="options.html#'number'">'number'</A>.
6   Add ++ and <A HREF="starting.html#--">--</A> operators?  They only work on <A HREF="eval.html#variables">variables</A> (lvals), how to
    implement this?
8   Add <A HREF="eval.html#functions">functions</A>:
	has(&quot;:command&quot;)		Check if &quot;<A HREF="map.html#:command">:command</A>&quot; works.  compare function
				with &quot;ex_ni&quot;.  E.g. for &quot;<A HREF="gui_w32.html#:simalt">:simalt</A>&quot;.
	<A HREF="eval.html#escape()">escape()</A>		Add argument to specify what to <A HREF="intro.html#escape">escape</A> with.
	modestack()		Instead of just the current mode return the
				stack of <A HREF="insert.html#Insert">Insert</A> / <A HREF="motion.html#CTRL-O">CTRL-O</A> / <A HREF="various.html#:normal">:normal</A> things.
	realname()		Get user name (first, last, full)
				user_fullname() patch by Nikolai Weibull, Nov
				3 2002
				Only add this when also implemented for
				non-Unix systems, otherwise a shell cmd could
				be used.
				get_user_name() gets login name.
	menuprop({name}, {idx}, {what})
				Get menu property of menu {name} item {idx}.
				menuprop(&quot;&quot;, 1, &quot;name&quot;) returns &quot;File&quot;.
				menuprop(&quot;File&quot;, 1, &quot;<A HREF="pattern.html#n">n</A>&quot;) returns &quot;nmenu
				File.Open...&quot; argument.
				Patch by Ilya Sher, 2004 Apr 22
				Return a <A HREF="eval.html#list">list</A> of <A HREF="gui.html#menus">menus</A> and/or a dictionary
				with properties instead.
	mapname({idx}, mode)	return the name of the idx'th <A HREF="map.html#mapping">mapping</A>.
				Patch by Ilya Sher, 2004 Mar 4.
				Return a <A HREF="eval.html#list">list</A> instead.
	char2hex()		convert char <A HREF="eval.html#string">string</A> to hex <A HREF="eval.html#string">string</A>.
	crypt()			encrypt <A HREF="eval.html#string">string</A>
	decrypt()		decrypt <A HREF="eval.html#string">string</A>
	base64enc()		base 64 encoding
	base64dec()		base 64 decoding
	attributes()		return file protection flags &quot;drwxrwxrwx&quot;
	filecopy(from, to)	Copy a file
	shorten(fname)		shorten a file name, like home_replace()
	perl(cmd)		call <A HREF="if_perl.html#Perl">Perl</A> and return <A HREF="eval.html#string">string</A>
	inputrl()		like <A HREF="eval.html#input()">input()</A> but right-to-left
	typed()			return the characters typed and consumed (to
				find out what happened)
	virtualmode()		add argument to obtain whether &quot;<A HREF="motion.html#$">$</A>&quot; was used in
				<A HREF="visual.html#Visual">Visual</A> block mode.
	getacp()		<A HREF="os_win32.html#Win32">Win32</A>: get codepage (Glenn Maynard)
	deletebufline()		delete line in any buffer
	appendbufline()		append line in any buffer
	<A HREF="eval.html#libcall()">libcall()</A>		Allow more than one argument.
	libcallext()		Like <A HREF="eval.html#libcall()">libcall()</A>, but using a callback function
				to allow the library to execute a command or
				evaluate an <A HREF="eval.html#expression">expression</A>.
7   Make bufname(&quot;'0&quot;) return the buffer name from <A HREF="motion.html#mark">mark</A> <A HREF="motion.html#'0">'0</A>.  How to get the
    column and line number?  col(&quot;'0&quot;) currently returns zero.
8   <A HREF="eval.html#argc()">argc()</A> returns 0 when using &quot;vim <A HREF="starting.html#-t">-t</A> tag&quot;.  How to detect that no file was
    specified in any way?  To be able to jump to the last edited file.
8   Pass the command line arguments to Vim scripts in some way.  As v:args
    <A HREF="eval.html#List">List</A>?  Or extra parameter to <A HREF="eval.html#argv()">argv()</A>?
8   Add command arguments with three dashes, passed on to Vim scripts.
9   Add optional arguments to user <A HREF="eval.html#functions">functions</A>:
	:func myFunc(arg1, arg2, arg3 = &quot;blah&quot;, arg4 = 17)
6   <A HREF="autocmd.html#User">User</A> <A HREF="eval.html#functions">functions</A>: Functions local to buffer &quot;b:func()&quot;?
8   For Strings add &quot;<A HREF="eval.html#:let">:let</A> var[{expr}] = {expr}&quot;.  When past the end of &quot;var&quot;
    just ignore.
8   The &quot;<A HREF="change.html#=">=</A> <A HREF="sponsor.html#register">register</A> should be writable, if followed by the name of a variable,
    option or environment variable.
8   &quot;<A HREF="eval.html#:let">:let</A> &amp;option&quot; should <A HREF="eval.html#list">list</A> the value of the option.
8   &quot;<A HREF="eval.html#:let">:let</A> Func().foo = value&quot; should work, also when &quot;foo&quot; doesn't exist.
    Also: &quot;<A HREF="eval.html#:let">:let</A> Func()[foo] = value&quot; should work.  Same for a <A HREF="eval.html#List">List</A>.
7   Add synIDlist(), making the whole <A HREF="eval.html#list">list</A> of <A HREF="syntax.html#syntax">syntax</A> items on the <A HREF="syntax.html#syntax">syntax</A> stack
    available <A HREF="motion.html#as">as</A> a <A HREF="eval.html#List">List</A>.
8   Add autocommand-event for when a variable is changed:
	<A HREF="autocmd.html#:au">:au</A> VarChanged {varname} {commands}
8   Add &quot;has(&quot;gui_capable&quot;)&quot;, to check if the <A HREF="gui.html#GUI">GUI</A> can be started.
8   Add possibility to use <A HREF="eval.html#variables">variables</A> like <A HREF="change.html#registers">registers</A>: <A HREF="motion.html#characterwise">characterwise</A> (default),
    <A HREF="motion.html#linewise">linewise</A> (when ending in '\n'), blockwise (when ending in '\001').	reg0,
    rega, reg&#37;, etc.  Add <A HREF="eval.html#functions">functions</A> linewise({expr}), blockwise({expr}) and
    charwise({expr}).
7   Make <A HREF="motion.html#it">it</A> possible to <A HREF="diff.html#do">do</A> any command on a <A HREF="eval.html#string">string</A> variable (make a buffer
    with one line, containing the <A HREF="eval.html#string">string</A>).  Maybe add an (invisible) scratch
    buffer for this?
	result = scratch(string, command)
	result = apply(string, command)
	result = execute(string, command)
    &quot;command&quot; would use <A HREF="intro.html#&lt;&gt;">&lt;&gt;</A> <A HREF="intro.html#notation">notation</A>.
    Does scratch buffer have a number?  Or re-use same number?
7   Add function to generate unique number (date in milliseconds).


Robustness:
6   Add file locking.  Lock a file when starting to edit <A HREF="motion.html#it">it</A> with flock() or
    fcntl().  This patch has advisory file locking while reading/writing
    the file for Vim 5.4: ~/vim/patches/kahn_file_locking .
    The patch is incomplete (needs support for more systems, autoconf).
    Andy doesn't have time to work on <A HREF="motion.html#it">it</A>.
    Disadvantage: Need to find ways to gracefully handle failure to obtain a
    lock.  When to release a lock: When buffer is unloaded?


Performance:
7   For <A HREF="eval.html#string">string</A> <A HREF="eval.html#variables">variables</A> up to 3 bytes don't allocate memory, use v_list
    itself <A HREF="motion.html#as">as</A> a character array.  Use VAR_SSTRING (short <A HREF="eval.html#string">string</A>).
7   Add 'lazysize' option: Above this size Vim doesn't load everything before
    starting to edit a file.  Things like <A HREF="options.html#'fileencodings'">'fileencodings'</A> only work up to this
    size, modelines only work at the top.  Useful for large log files where
    you only want to look at the first few pages.  Use zero to disable <A HREF="motion.html#it">it</A>.
8   move_lines() copies every line into allocated memory, making reloading a
    buffer a lot slower than re-editing the file.  Can the memline be locked
    so that we don't need to make a copy?  Or avoid invoking ml_updatechunk(),
    that is taking a lot of time.  (Ralf Wildenhues, 2008 Jul 7)
    With a patch, but does <A HREF="motion.html#it">it</A> work?
8   Turn b_syn_ic and b_syn_containedin into b_syn_flags.
9   Loading <A HREF="gui.html#menu.vim">menu.vim</A> still takes quite a bit of time.  How to make <A HREF="motion.html#it">it</A> faster?
8   in_id_list() takes much time for <A HREF="syntax.html#syntax">syntax</A> highlighting.  Cache the result?
7   setpcmark() shifts the <A HREF="motion.html#jumplist">jumplist</A>, this takes quite a bit of time when
    jumping around.  Instead use an index for the start?
8   When displaying a space with only foreground highlighting, it's the same
    <A HREF="motion.html#as">as</A> a space without attributes.  Avoid displaying spaces for the &quot;<A HREF="change.html#~">~</A>&quot; lines
    when starting up in a color <A HREF="terminal.html#terminal">terminal</A>.
8   Avoid alloc() for scratch buffer use, esp. in syntax.c.  It's very slow on
    Win16.
8   Profiling shows that in_id_list() is used very often for C code.  Can this
    function be improved?
8   For an existing file, the page size of the swap file is always the
    default, instead of using the block size of the device, because the swap
    file is created only after setting the block size in mf_open().  How can
    this be improved?
8   Set default for <A HREF="options.html#'ttyscroll'">'ttyscroll'</A> to half a screen height?  Should speed up
    <A HREF="os_msdos.html#MS-DOS">MS-DOS</A> version. (Negri)
7   C <A HREF="syntax.html#syntax">syntax</A> highlighting gets a lot slower after &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'foldmethod'">foldmethod</A>=syntax&quot;.
    (Charles Campbell)  Inserting a &quot;<A HREF="motion.html#{">{</A>&quot; is very slow. (dman)
7   HTML <A HREF="syntax.html#syntax">syntax</A> highlighting is slow for long lines.  Try displaying
	<A HREF="http://www.theregister.co.uk/content/4/22908.html">http://www.theregister.co.uk/content/4/22908.html</A>. Andre Pang
7   Check how performance of loading the wordlist can be improved (adding a
    lot of <A HREF="map.html#abbreviations">abbreviations</A>).
7   Compile <A HREF="intro.html#Ex">Ex</A> commands to byte codes.  Store byte codes in a vim <A HREF="usr_41.html#script">script</A> file
    at the end, after &quot;compiled:.  Make <A HREF="motion.html#it">it</A> look like a single comment line
    for old Vim versions.  <A HREF="insert.html#Insert">Insert</A> first line &quot;Vim <A HREF="usr_41.html#script">script</A> compiled &lt;timestamp&gt;.
    Only used compiled code when <A HREF="editing.html#timestamp">timestamp</A> matches the file stat.
    Add command to compile a vim <A HREF="usr_41.html#script">script</A> and add <A HREF="motion.html#it">it</A> to the file in-place.
    Split <A HREF="intro.html#Ex">Ex</A> command executing into a parsing and executing phase.
    Use compiled code for <A HREF="eval.html#functions">functions</A>, while loops, etc.
8   When defining autocommands (e.g., from $VIMRUNTIME/filetype.vim), need to
    compare each <A HREF="pattern.html#pattern">pattern</A> with all existing patterns.  Use a hash code to avoid
    using strcmp() too often?
7   Include turbo_loader patches, speeding up reading a file?
    Speed up reading a file by reading <A HREF="motion.html#it">it</A> into a fixed-size buffer, creating
    the <A HREF="eval.html#list">list</A> of indexes in another buffer, and then <A HREF="uganda.html#copying">copying</A> the result into a
    memfile block with two copies.  Then read the next block into another
    fixed-size buffer, create the second <A HREF="eval.html#list">list</A> of indexes and copy text from
    the two blocks to the memfile block.
7   do_cmdline(): Avoid that the command line is copied to allocated memory
    and freed again later all the time.  For while loops, and for when called
    with an argument that can be messed with.
    Generic solution: Make a struct that contains a pointer and a flag that
    indicates if the pointer should be freed when replaced.
7   Check that the file size is not more than &quot;sizeof(long)&quot;.
-   Further improve finding mappings in maphash[] in vgetorpeek()
8   <A HREF="autocmd.html#Syntax">Syntax</A> highlighting is slow when <A HREF="change.html#deleting">deleting</A> lines.  Try in
    $VIMRUNTIME/filetype.vim.
-   &quot;out of memory&quot; after <A HREF="change.html#deleting">deleting</A> (1,$d) and <A HREF="change.html#changing">changing</A> (:&#37;s/^/&gt; /) a lot of
    lines (27000) a few times.  Memory fragmentation?
-   Have a look at how pdksh does memory allocation (alloc.c). (Dalecki)
-   Do <A HREF="repeat.html#profiling">profiling</A> on:
    - :g/pat/normal cmd
    - 1000ii&lt;Esc&gt;
    - <A HREF="change.html#deleting">deleting</A> 10Mbyte worth of lines (netscape binary)
    - &quot;<A HREF="tagsrch.html#[i">[i</A>&quot; and &quot;<A HREF="tagsrch.html#[d">[d</A>&quot; (Yegappan Lakshmanan)
    - &quot;:g/^/m0&quot; on a 450Kbyte file.  And the &quot;<A HREF="undo.html#u">u</A>&quot;.
    - highlighting &quot;~/vim/test/longline.tex&quot;, &quot;~/vim/test/scwoop.tcl&quot; and
      &quot;~/vim/test/lockup.pl&quot;.
    - loading a <A HREF="syntax.html#syntax">syntax</A> file to highlight all words not from a dictionary.
    - editing a Vim <A HREF="usr_41.html#script">script</A> with <A HREF="syntax.html#syntax">syntax</A> highlighting on (loading <A HREF="syntax.html#vim.vim">vim.vim</A>).
7   Screen updating can be further improved by only redrawing lines that were
    changed (and lines after them, when <A HREF="syntax.html#syntax">syntax</A> highlighting was used, and <A HREF="motion.html#it">it</A>
    changed).
    - On each change, remember start and end of the change.
    - When inserting/deleting lines, remember begin, end, and line <A HREF="intro.html#count">count</A>.
-   Use macros/duarte/capicua for <A HREF="repeat.html#profiling">profiling</A>.  <A HREF="intro.html#Nvi">Nvi</A> 1.71 is the fastest!
-   When using a file with one long line (1Mbyte), then <A HREF="diff.html#do">do</A> &quot;$hhhh&quot;, is still
    very slow.  Avoid calling getvcol() for each &quot;<A HREF="motion.html#h">h</A>&quot;?
-   Executing a <A HREF="sponsor.html#register">register</A>, e.g. &quot;10000@@&quot; is slow, because ins_typebuf has to
    move the previous commands forward each time.  Pass <A HREF="intro.html#count">count</A> from
    normal_cmd() down to do_execreg().
-   Repeating insert &quot;1000i-&lt;Esc&gt;&quot; displays --INSERT-- all the time, because of
    the <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> at the end.  Make this work faster (disable redrawing).
-   Avoid calls to plines() for cursor line, use w_cline_height.
-   After &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'nowrap'">nowrap</A>&quot; remove superfluous redraw with wrong hor. offset if
    cursor is right of the screen.
8   Make <A HREF="pattern.html#CTRL-C">CTRL-C</A> on <A HREF="os_unix.html#Unix">Unix</A> generate a signal, avoid using select() to check for a
    <A HREF="pattern.html#CTRL-C">CTRL-C</A> (it's slow).


Code size:
8   <A HREF="gui.html#GUI">GUI</A>: When NO_CONSOLE is defined, more code can be excluded.
-   Put <A HREF="eval.html#getline()">getline()</A> and cookie in a struct, so only one argument has to be
    passed to do_cmdline() and other <A HREF="eval.html#functions">functions</A>.
8   Make a GUI-only version for <A HREF="os_unix.html#Unix">Unix</A>?
8   In buf_write _() isn't needed when setting errmsg, <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> once when using
    <A HREF="motion.html#it">it</A>.
7   When compiling with a GUI-only version, the code for cterm colors can be
    left out.
8   When compiled with a GUI-only version, the <A HREF="term.html#termcap">termcap</A> entries for terminals
    can be removed.
8   Can the check for libelf in configure.ac be removed?


Messages:
8   When using &quot;<A HREF="editing.html#:q">:q</A>&quot; in a changed file, the error says to &quot;add !&quot;.  Add the
    command so that beginners understand <A HREF="motion.html#it">it</A>: &quot;use :q!&quot;.
8   For <A HREF="options.html#'verbose'">'verbose'</A> level 12 prints commands from source'ed files.  How to skip
    lines that aren't executed?  Perhaps move the echoing to do_cmdline()?
8   Use <A HREF="options.html#'report'">'report'</A> for &quot;<A HREF="windows.html#:bdel">:bdel</A>&quot;?  (Krishna)  To avoid these <A HREF="message.html#messages">messages</A> when using a
    <A HREF="usr_41.html#script">script</A>.
-   Delete message after new command has been entered and have waited for key.
    Perhaps after ten seconds?
-   Make message <A HREF="cmdline.html#history">history</A> available in &quot;msg&quot; <A HREF="eval.html#variables">variables</A>: msg1, msg2, .. msg9.
8   When reading from stdin allow suppressing the &quot;reading from stdin&quot;
    message.
9   Check handling of overwriting of <A HREF="message.html#messages">messages</A> and delays:
    Very wrong: <A HREF="message.html#errors">errors</A> while redrawing cause endless loop.
    When switching to another file and screen scrolls because of the long
    message and return must be typed, don't scroll the screen back before
    redrawing.
8   When address range is wrong you only get &quot;Invalid range&quot;.  Be a bit more
    specific: Negative, beyond last line, reverse range?  Include the text.
8   Make <A HREF="motion.html#it">it</A> possible to ignore <A HREF="message.html#errors">errors</A> for a moment ('errorignore'?).  Another
    option to switch off giving error <A HREF="message.html#messages">messages</A> ('errorquiet'?).  Also an option
    not to give any <A HREF="message.html#messages">messages</A> ('quiet')?  Or &quot;:quiet on&quot;, &quot;:quiet off&quot;.
    Careful: For a severe error (out of memory), and when the user starts
    typing, error <A HREF="message.html#messages">messages</A> must be switched back on.
    Also a flag to ignore error <A HREF="message.html#messages">messages</A> for shell commands (for mappings).
-   Option to set time for emsg() sleep.  Interrupt sleep when key is typed?
    Sleep before second message?
8   In <A HREF="intro.html#Ex">Ex</A> silent mode or when reading commands from a file, what exactly is
    not printed and what is?  Check &quot;<A HREF="various.html#:print">:print</A>&quot;, &quot;<A HREF="options.html#:set">:set</A> all&quot;, &quot;<A HREF="editing.html#:args">:args</A>&quot;, &quot;:vers&quot;,
    etc.  At least there should be no prompt. (Smulders)  And don't clear the
    screen when reading commands from stdin. (Kendall)
    --&gt; Make a difference between informative <A HREF="message.html#messages">messages</A>, prompts, etc. and
	error <A HREF="message.html#messages">messages</A>, <A HREF="print.html#printing">printing</A> text, etc.
8   Window should be redrawn when resizing at the <A HREF="message.html#hit-enter">hit-enter</A> prompt.
    Also at the &quot;<A HREF="tagsrch.html#:tselect">:tselect</A>&quot; prompt.  Find a generic solution for redrawing when
    a prompt is present (with a callback function?).


Screen updating:
7   Add a <A HREF="eval.html#string">string</A> to the <A HREF="options.html#'display'">'display'</A> option to make <A HREF="scroll.html#CTRL-E">CTRL-E</A> and <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> scroll one
    screen line, also if this means the first line doesn't start with the
    first character (like what happens with a single line that doesn't fit).
-   screen_line():
    - insert/delete character stuff.
    - improve delete rest of line (spaces at end of line).
-   When moving or resizing <A HREF="windows.html#window">window</A>, try to avoid a complete redraw (esp. when
    dragging the status line with the mouse).
-   When <A HREF="options.html#'lazyredraw'">'lazyredraw'</A> set, don't echo <A HREF="editing.html#:ex">:ex</A> commands?  Need a flag to redraw when
    waiting for a character.
8   Add a &quot;:refresh [winnr]&quot; command, to force updating a <A HREF="windows.html#window">window</A>.  Useful from
    an event handler where &quot;<A HREF="various.html#:normal">:normal</A>&quot; can't be used.  Also useful when
    <A HREF="options.html#'lazyredraw'">'lazyredraw'</A> is set in a <A HREF="map.html#mapping">mapping</A>.

Scrolling:
8   Add &quot;zy&quot; command: scroll horizontally to put the cursor in the middle.
6   Add option to set the overlap for <A HREF="scroll.html#CTRL-F">CTRL-F</A> and <A HREF="scroll.html#CTRL-B">CTRL-B</A>. (Garhi)
-   extend <A HREF="options.html#'scrollbind'">'scrollbind'</A> option: <A HREF="options.html#'scrollopt'">'scrollopt'</A> words &quot;search&quot;, &quot;relative&quot;, etc..
    Also 'e'xecute some commands (search, vertical movements) in all bound
    <A HREF="windows.html#windows">windows</A>.
7   Add <A HREF="options.html#'scrollbind'">'scrollbind'</A> feature to make the offset of one <A HREF="windows.html#window">window</A> with the next
    one equal to the <A HREF="windows.html#window">window</A> height.  When editing one file in both <A HREF="windows.html#windows">windows</A> <A HREF="motion.html#it">it</A>
    looks like each <A HREF="windows.html#window">window</A> displays a page of the buffer.
-   Allow <A HREF="scroll.html#scrolling">scrolling</A> by dragging with the mouse (grab a character and move <A HREF="motion.html#it">it</A>
    up/down).  Like the &quot;hand&quot; in Acrobat reader.  Use Alt-LeftMouse for this?
    (Goldfarb)
-   Add command to execute some commands (search, vertical movements) in all
    bound <A HREF="windows.html#windows">windows</A>.
-   Add 'search' option to <A HREF="options.html#'scrollopt'">'scrollopt'</A> to allow <A HREF="options.html#'scrollbind'">'scrollbind'</A> <A HREF="windows.html#windows">windows</A> to
    be bound by <A HREF="pattern.html#regexp">regexp</A> searches
-   Add &quot;z&gt;&quot; and &quot;z&lt;&quot;: scroll sideways one screenful. (Campbell)
-   Add option to set the number of lines when not to scroll, instead of the
    fixed number used now (for terminals that scroll slow with a large number
    of lines but not with a single line).


Autoconf:
8   Should use acconfig.h to define prototypes that are used by autoheader.
8   Some compilers don't give an error for &quot;-OPT:Olimit&quot; but a warning. (Webb)
    Add a check for the warning, so that &quot;Olimit&quot; can be added automatically?
-   Autoconf: Use @datadir@ for the system independent files.  Make sure the
    system dependent and system independent files are separated. (Leitner).
-   Add autoconf check for waitpid()/wait4().
-   Remove fcntl() from autoconf, all systems have <A HREF="motion.html#it">it</A>?
-   Set default for <A HREF="options.html#'dictionary'">'dictionary'</A>, add search for dictionary to autoconf.


<A HREF="if_perl.html#Perl">Perl</A> interface:
8   Rename typemap file to something else?
7   Make <A HREF="windows.html#buffers">buffers</A> accessed <A HREF="motion.html#as">as</A> <A HREF="if_perl.html#Perl">Perl</A> arrays. (Clark)
7   Make <A HREF="motion.html#it">it</A> possible to compile with non-ANSI C?
6   Tcl/Tk has the &quot;load&quot; command: load a shared library (.so or .dll).


Shared libraries:
6   Add support for loading shared libraries, and calling <A HREF="eval.html#functions">functions</A> in <A HREF="motion.html#it">it</A>.
	:libload internal-name libname
	:libunload internal-name
	:liblist
	:libcall internal-name function(arg1, arg2, <A HREF="eval.html#...">...</A>)
	:libcall function(arg1, arg2, <A HREF="eval.html#...">...</A>)
    <A HREF="eval.html#libcall()">libcall()</A> can have only one integer or <A HREF="eval.html#String">String</A> argument at the moment.
6   Have a look on how <A HREF="if_perl.html#Perl">Perl</A> handles loading dynamic libraries.


Tags:
9   With &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'tags'">tags</A>=./tags,../tags&quot; and a <A HREF="tagsrch.html#tag">tag</A> appears in both <A HREF="tagsrch.html#tags">tags</A> files <A HREF="motion.html#it">it</A> is
    added <A HREF="if_cscop.html#twice">twice</A>.  Requires figuring out the actual file name for each found
    match.  Remove tag_fname from the match and combine <A HREF="motion.html#it">it</A> with the fname in
    the match (without expanding or other things that take time).  When
    <A HREF="options.html#'tagrelative'">'tagrelative'</A> is off tag_fname isn't needed at all.
8   For <A HREF="options.html#'tags'">'tags'</A> <A HREF="editing.html#wildcard">wildcard</A> in the file name is not supported, only in the path.
    This is due to <A HREF="motion.html#it">it</A> using |<A HREF="editing.html#file-searching">file-searching</A>|. Suboptimal solution would be to
    make the filename or the whole option use |<A HREF="editing.html#wildcards">wildcards</A>| globing, better
    would be to <A HREF="diff.html#merge">merge</A> the 2 kinds of globing. originally (Erik Falor, 2008
    April 18), updated (Ian Kelling, 2008 July 4)
7   Can <A HREF="tagsrch.html#CTRL-]">CTRL-]</A> (jump to <A HREF="tagsrch.html#tag">tag</A>) include a following &quot;<A HREF="repeat.html#.">.</A>&quot; and &quot;-&gt;&quot; to restrict the
    number of possible matches? Check <A HREF="tagsrch.html#tags">tags</A> file for an item that has members.
    (Flemming Madsen)
8   Scope arguments for &quot;<A HREF="tagsrch.html#:tag">:tag</A>&quot;, e.g.: &quot;<A HREF="tagsrch.html#:tag">:tag</A> class:cPage open&quot;, like <A HREF="intro.html#Elvis">Elvis</A>.
8   When output of &quot;<A HREF="tagsrch.html#:tselect">:tselect</A>&quot; is long, getting the <A HREF="message.html#more-prompt">more-prompt</A>, should be able
    to type the <A HREF="tagsrch.html#tag">tag</A> number directly.
7   Add the possibility to use the &quot;<A HREF="starting.html#-t">-t</A> {tag}&quot; argument multiple times.  Open a
    <A HREF="windows.html#window">window</A> for each <A HREF="tagsrch.html#tag">tag</A>.
7   Make output of &quot;<A HREF="tagsrch.html#:tselect">:tselect</A>&quot; a bit nicer.  Use highlighting?
7   Highlight the &quot;<A HREF="tagsrch.html#tag">tag</A> 1 of &gt;2&quot; message.  New highlight group, or same <A HREF="motion.html#as">as</A> &quot;hit
    bottom&quot; search message.
7   When using &quot;<A HREF="tagsrch.html#:tag">:tag</A>&quot; at the top of the <A HREF="tagsrch.html#tag">tag</A> stack, should add another entry,
    so <A HREF="tagsrch.html#CTRL-T">CTRL-T</A> can bring you back to where you are now AND to where you were
    before the previous &quot;<A HREF="tagsrch.html#:tag">:tag</A>&quot; command. (Webb)
-   When doing &quot;[^I&quot; or &quot;[^D&quot; add position to <A HREF="tagsrch.html#tag">tag</A> stack.
-   Add command to put current position to <A HREF="tagsrch.html#tag">tag</A> stack: &quot;:tpush&quot;.
-   Add <A HREF="eval.html#functions">functions</A> to save and restore the <A HREF="tagsrch.html#tag">tag</A> stack?  Or a command to switch
    to another <A HREF="tagsrch.html#tag">tag</A> stack?  So that you can <A HREF="diff.html#do">do</A> something else and come back to
    what you were working on.
7   When using <A HREF="tagsrch.html#CTRL-]">CTRL-]</A> on someClass::someMethod, separate class from method and
    use &quot;<A HREF="tagsrch.html#:ta">:ta</A> class:someClass someMethod&quot;.
    Include C++ <A HREF="tagsrch.html#tags">tags</A> changes (Bertin).	Change &quot;class::func&quot; <A HREF="tagsrch.html#tag">tag</A> into &quot;func&quot;
    with &quot;class=class&quot;?  Docs in oldmail/bertin/in.xxx.
7   Add &quot;:tagargs&quot;, to set values for fields:
	:tagargs class:someclass file:version.c
	:tagargs clear
    These are then the default values (changes the order of priority in <A HREF="tagsrch.html#tag">tag</A>
    matching).
7   Support for &quot;gtags&quot; and &quot;global&quot;?  With &quot;:rtag&quot; command?
    There is an example for how to <A HREF="diff.html#do">do</A> this in <A HREF="intro.html#Nvi">Nvi</A>.
    Or <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> like <A HREF="intro.html#Elvis">Elvis</A>: 'tagprg' and 'tagprgonce' <A HREF="options.html#options">options</A>. (Yamaguchi)
    The <A HREF="intro.html#Elvis">Elvis</A> method is far more flexible, <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> that way.
7   Support &quot;col:99&quot; extra field, to position the cursor in that column.  With
    a flag in <A HREF="options.html#'cpoptions'">'cpoptions'</A> to switch <A HREF="motion.html#it">it</A> off again.
7   Better support for jumping to where a function or variable is used.  Use
    the id-utils, with a connection to &quot;gid&quot; (Emacs can <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> too).  Add
    &quot;:idselect&quot;, which uses an &quot;ID&quot; database (made by &quot;mkid&quot;) like &quot;tselect&quot;.


<A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>:
8   Make debug mode work while starting up (vim <A HREF="starting.html#-D">-D</A>).  Open console <A HREF="windows.html#window">window</A> for
    the message and input?
7   GvimExt: when there are several existing Vims, move the <A HREF="eval.html#list">list</A> to a submenu.
    (Mike McCollister)
8   When using &quot;Edit with Vim&quot; for one file <A HREF="motion.html#it">it</A> changes directory, when several
    files are selected and using &quot;Edit with single Vim&quot; the directory isn't
    changed.  At least change directory when the path is the same for all
    files.  Perhaps just use the path of the first file or use the longest
    common part of the path.
8   Add font argument to set the lfCharSet. (Bobcik)
8   Somehow automatically detect the system language and set $LANG, so that
    gettext and <A HREF="gui.html#menus">menus</A> work.
8   Could keep console open to run multiple commands, to avoid the need to hit
    return in every console.
    Also: Look at how Emacs does run external commands:
	<A HREF="http://www.cs.washington.edu/homes/voelker/ntemacs.html">http://www.cs.washington.edu/homes/voelker/ntemacs.html</A>.
8   Need a separate PopUp menu for modeless selection.  Need two new commands:
    Copy selection to <A HREF="gui.html#clipboard">clipboard</A>, Paste selection (as typed text).
8   Support copy/paste for other file formats.  At least HTML, perhaps RTF.
    Add &quot;copy special&quot; and &quot;paste special&quot; commands?
7   Use different default colors, to match the current Windows color scheme.
    Sys_WindowText, Sys_Window, etc. (Lionel Schaffhauser)
7   Use &lt;C-Tab&gt; to cycle through open <A HREF="windows.html#windows">windows</A> (e.g., the find <A HREF="gui_w32.html#dialog">dialog</A>).
7   <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> should close a <A HREF="gui_w32.html#dialog">dialog</A>.
7   Keep the console for external commands open.  Don't wait for a key to be
    hit.  Re-open <A HREF="motion.html#it">it</A> when the user has closed <A HREF="motion.html#it">it</A> anyway.  Or use a prepended
    command: &quot;:nowait {cmd}&quot;, or &quot;:quiet&quot;, which executes {cmd} without any
    prompts.
7   Should be able to set an option so that when you double click a file that
    is associated with Vim, you can either get a new instance of Vim, or have
    the file added into an already running Vim.
7   The &quot;<A HREF="starting.html#-P">-P</A>&quot; argument only works for the current codepage.  Use wide
    <A HREF="eval.html#functions">functions</A> to find the <A HREF="windows.html#window">window</A> title.


<A HREF="gui.html#GUI">GUI</A>:
8   Make <A HREF="eval.html#inputdialog()">inputdialog()</A> work for Photon, <A HREF="os_amiga.html#Amiga">Amiga</A>.
-   &lt;C--&gt; cannot be mapped.  Should be possible to recognize this <A HREF="motion.html#as">as</A> a
    normal &quot;<A HREF="motion.html#-">-</A>&quot; with the Ctrl modifier.
7   Implement &quot;<A HREF="gui.html#:popup">:popup</A>&quot; for other systems than Windows.
8   Implement &quot;<A HREF="gui_w32.html#:tearoff">:tearoff</A>&quot; for other systems than <A HREF="os_win32.html#Win32">Win32</A> <A HREF="gui.html#GUI">GUI</A>.
6   Implement &quot;:untearoff&quot;: hide a torn-off menu.
8   When using the scrollbar to scroll, don't move the cursor position.  When
    moving the cursor: scroll to the cursor position.
9   Make <A HREF="os_dos.html#&lt;S-Insert&gt;">&lt;S-Insert&gt;</A> paste from the <A HREF="gui.html#clipboard">clipboard</A> by default. (Kunze)
7   Menu local to a buffer, like mappings.  Or local to a <A HREF="filetype.html#filetype">filetype</A>?
8   In Buffers menu, add a choice whether selecting a buffer opens <A HREF="motion.html#it">it</A> in the
    current <A HREF="windows.html#window">window</A>, splits the <A HREF="windows.html#window">window</A> or uses &quot;<A HREF="windows.html#:hide">:hide</A>&quot;.
8   Dragging the mouse pointer outside of a Vim Window should make the text
    scroll.  Return a value from gui_send_mouse_event() to the machine
    specific code to indicate the time in which the event should be repeated.
8   Make <A HREF="motion.html#it">it</A> possible to ignore a mouse click when it's used to give Vim (gvim)
    <A HREF="windows.html#window">window</A> focus.  Also when a mouse click is used to bring a <A HREF="windows.html#window">window</A> to front.
8   Make the split into system independent code and system specific code more
    explicit.  There are too many #ifdefs in gui.c.
    If possible, separate the Vim code completely from the <A HREF="gui.html#GUI">GUI</A> code, to allow
    running them in separate processes.
7   <A HREF="options.html#X11">X11</A>: Support cursorColor resource and &quot;-cr&quot; argument.
8   <A HREF="options.html#X11">X11</A> (and others): CTRL-; is not different from '<A HREF="motion.html#;">;</A>'.  Set the modifier mask
    to include CTRL for keys where CTRL produces the same ASCII code.
7   Add some code to handle proportional fonts on more systems?  Need to draw
    each character separately (like xterm).  Also for when a double-width font
    is not exactly double-width. (Maeda)
8   Should take font from xterm where <A HREF="starting.html#gvim">gvim</A> was started (if no other default).
8   Selecting font names in <A HREF="options.html#X11">X11</A> is difficult, make a <A HREF="usr_41.html#script">script</A> or something to
    select one.
8   <A HREF="visual.html#Visual">Visual</A> highlighting should keep the same font (bold, <A HREF="syntax.html#italic">italic</A>, etc.).
8   Add flag to <A HREF="options.html#'guioptions'">'guioptions'</A> to not put anything in the <A HREF="gui.html#clipboard">clipboard</A> at all?
8   Should support a way to use keys that we don't recognize yet.  Add a
    command that adds entries to special_keys somehow.	How <A HREF="diff.html#do">do</A> we make this
    portable (X11, <A HREF="os_win32.html#Win32">Win32</A>, ..)?
7   Add a flag to <A HREF="options.html#'guioptions'">'guioptions'</A> that tells not to remove inactive menu items.
    For systems where greying-out or removing menu items is very slow.  The
    menu items would remain visibly normally, but not <A HREF="diff.html#do">do</A> anything.
7   Add &quot;:minimize&quot; and &quot;:maximize&quot;, which <A HREF="starting.html#iconize">iconize</A> the <A HREF="windows.html#window">window</A> and back.
    Useful when using <A HREF="starting.html#gvim">gvim</A> to run a <A HREF="usr_41.html#script">script</A> (e.g. <A HREF="syntax.html#2html.vim">2html.vim</A>).
7   <A HREF="options.html#X11">X11</A>: Is <A HREF="motion.html#it">it</A> possible to free allocated colors, so that other programs can
    use them again?  Otherwise, allow disabling allocating the default colors.
    Or allocate an own colormap (check UAE).  With an option to use <A HREF="motion.html#it">it</A>.  For
    the commandline, &quot;-install&quot; is mostly used for <A HREF="options.html#X11">X11</A> programs.
7   Should support multi-column <A HREF="gui.html#menus">menus</A>.
-   Should add option for where to put the &quot;Help&quot; menu: like <A HREF="gui_x11.html#Motif">Motif</A> at the far
    right, or with the other <A HREF="gui.html#menus">menus</A> (but still at the right).
-   Add menu item to &quot;Keep <A HREF="insert.html#Insert">Insert</A> mode&quot;.
8   &quot;:mkgvimrc&quot; command, that includes <A HREF="gui.html#menus">menus</A>.
6   Big change: Move <A HREF="gui.html#GUI">GUI</A> to separate program &quot;vimgui&quot;, to make <A HREF="starting.html#startup">startup</A> of vim a
    lot faster, but still be able to <A HREF="diff.html#do">do</A> &quot;vim -g&quot; or &quot;<A HREF="gui_x11.html#:gui">:gui</A>&quot;.
7   More explicit mouse button binding instead of <A HREF="options.html#'mousemodel'">'mousemodel'</A>?
7   Add option to set the position of the <A HREF="windows.html#window">window</A> on the screen.  'windowpos',
    which has a value of &quot;123,456&quot;: &lt;x&gt;,&lt;y&gt;.
    Or add a command, like &quot;<A HREF="gui.html#:winsize">:winsize</A>&quot;?
7   Add toolbar for more GUIs.
8   Make <A HREF="motion.html#it">it</A> possible to use &quot;amenu icon=BuiltIn##&quot;, so that the toolbar item
    name can be chosen free.
7   Make <A HREF="motion.html#it">it</A> possible to put the toolbar on top, left, right and/or bottom of
    the <A HREF="windows.html#window">window</A>?  Allows for softkey-like use.
6   Separate the part of Vim that does the editing from the part that runs the
    <A HREF="gui.html#GUI">GUI</A>.  Communicate through a pseudo-tty.  Vim starts up, creates a
    pty that is connected to the <A HREF="terminal.html#terminal">terminal</A>.  When the <A HREF="gui.html#GUI">GUI</A> starts, the pty is
    reconnected to the <A HREF="gui.html#GUI">GUI</A> process.  When the <A HREF="gui.html#GUI">GUI</A> stops, <A HREF="motion.html#it">it</A> is connected to
    the <A HREF="terminal.html#terminal">terminal</A> again.  Also use the pty for external processes, <A HREF="motion.html#it">it</A> looks
    like a vt100 <A HREF="terminal.html#terminal">terminal</A> to them.  Vim uses extra commands to communicate <A HREF="gui.html#GUI">GUI</A>
    things.
7   <A HREF="gui_x11.html#Motif">Motif</A>: For a <A HREF="eval.html#confirm()">confirm()</A> <A HREF="gui_w32.html#dialog">dialog</A> <A HREF="intro.html#&lt;Enter&gt;">&lt;Enter&gt;</A> should be ignored when no default
    button selected, <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> should close the <A HREF="gui_w32.html#dialog">dialog</A>.
7   When using a pseudo-tty Vim should behave like some <A HREF="terminal.html#terminal">terminal</A> (vt52 looks
    simple enough).  Terminal codes to/from shell should be translated.
-   Would <A HREF="motion.html#it">it</A> be useful to be able to quit the <A HREF="gui.html#GUI">GUI</A> and go back to the <A HREF="terminal.html#terminal">terminal</A>
    where <A HREF="motion.html#it">it</A> was started from?
7   Support &quot;-visual &lt;type&gt;&quot; command line argument.


Autocommands:
9   Rework the code from FEAT_OSFILETYPE for <A HREF="filetype.html#autocmd-osfiletypes">autocmd-osfiletypes</A> to use
    <A HREF="options.html#'filetype'">'filetype'</A>.  Only for when the current buffer is known.
-   Put <A HREF="autocmd.html#autocommand">autocommand</A> event names in a hashtable for faster lookup?
8   When the <A HREF="autocmd.html#SwapExists">SwapExists</A> event is triggered, provide information about the
    swap file, e.g., whether the process is running, file was modified, etc.
    Must be possible to check the situation that it's probably OK to delete
    the swap file. (Marc Merlin)
8   When all the patterns for an event are &quot;*&quot; there is no need to expand
    buffer names to a full path.  This can be slow for NFS.
7   For <A HREF="autocmd.html#autocommand">autocommand</A> events that trigger multiple times per buffer (e.g.,
    CursorHold), go through the <A HREF="eval.html#list">list</A> once and cache the result for a specific
    buffer.  Invalidate the cache when adding/deleting autocommands or
    <A HREF="change.html#changing">changing</A> the buffer name.
7   Add TagJump event: <A HREF="diff.html#do">do</A> something after jumping to a <A HREF="tagsrch.html#tag">tag</A>.
8   Add &quot;TagJumpFile&quot; <A HREF="autocmd.html#autocommand">autocommand</A>: When jumping to another file for a <A HREF="tagsrch.html#tag">tag</A>.
    Can be used to open &quot;main.c.gz&quot; when &quot;main.c&quot; isn't found.
8   Use another option than <A HREF="options.html#'updatetime'">'updatetime'</A> for the <A HREF="autocmd.html#CursorHold">CursorHold</A> event.  The two
    things are unrelated for the user (but the implementation is more
    difficult).
7   Add <A HREF="autocmd.html#autocommand">autocommand</A> event for when a buffer cannot be abandoned.  So that the
    user can define the action taking (autowrite, <A HREF="gui_w32.html#dialog">dialog</A>, fail) based on the
    kind of file. (Yakov Lerner)  Or is <A HREF="autocmd.html#BufLeave">BufLeave</A> sufficient?
8   Autocommand for when modified files have been found, when getting input
    focus again (e.g., FileChangedFocus).
    Check when: getting focus, jumping to another buffer, <A HREF="eval.html#...">...</A>
8   Autocommands should not change <A HREF="change.html#registers">registers</A>.  And marks?  And the <A HREF="motion.html#jumplist">jumplist</A>?
    And anything else?  Add a command to save and restore these things.
8   Add autocommands, user <A HREF="eval.html#functions">functions</A> and user commands to &quot;<A HREF="starting.html#:mkvimrc">:mkvimrc</A>&quot;.
6   Add KeymapChanged event, so that the effects of a different keymap can be
    handled (e.g., other font) (Ron Aaron)
7   When trying to open a directory, trigger an OpenDirectory event.
7   Add file type in front of file <A HREF="pattern.html#pattern">pattern</A>: &lt;d&gt; for directory, &lt;l&gt; for link,
    &lt;x&gt; for executable, etc.  With commas to separate alternatives.  The
    <A HREF="autocmd.html#autocommand">autocommand</A> is only executed when both the file type AND the file <A HREF="pattern.html#pattern">pattern</A>
    match. (Leonard)
5   Add option that specifies extensions which are to be discarded from the
    file name.  E.g. 'ausuffix', with &quot;.gz,.orig&quot;.  Such that file.c.gz will
    trigger the &quot;*.c&quot; autocommands.  (Belabas)
7   Add something to break the autocommands for the current event, and for
    what follows.  Useful for a &quot;<A HREF="autocmd.html#BufWritePre">BufWritePre</A>&quot; that wants to avoid <A HREF="editing.html#writing">writing</A> the
    file.
8   When editing &quot;tt.gz&quot;, which is in <A HREF="os_dos.html#DOS">DOS</A> format, <A HREF="options.html#'fileformat'">'fileformat'</A> stays at
    &quot;<A HREF="os_unix.html#unix">unix</A>&quot;, thus <A HREF="editing.html#writing">writing</A> the file changes <A HREF="motion.html#it">it</A>.  Somehow detect that the read
    command used <A HREF="os_dos.html#dos">dos</A> fileformat.  Same for <A HREF="options.html#'fileencoding'">'fileencoding'</A>.
-   Add events to autocommands:
    Error	    - When an error happens
    NormalEnter	    - Entering <A HREF="intro.html#Normal">Normal</A> mode
    ReplaceEnter    - Entering <A HREF="insert.html#Replace">Replace</A> mode
    CmdEnter	    - Entering <A HREF="cmdline.html#Cmdline">Cmdline</A> mode (with type of cmdline to allow
			different <A HREF="map.html#mapping">mapping</A>)
    VisualEnter	    - Entering <A HREF="visual.html#Visual">Visual</A> mode
    *Leave	    - Leaving a mode (in pair with the above *Enter)
    VimLeaveCheck    - Before Vim decides to exit, so that <A HREF="motion.html#it">it</A> can be cancelled
		      when <A HREF="starting.html#exiting">exiting</A> isn't a good idea.
    CursorHoldC     - <A HREF="autocmd.html#CursorHold">CursorHold</A> while command-line editing
    WinMoved	    - when <A HREF="windows.html#windows">windows</A> have been moved around, e.g, &quot;<A HREF="windows.html#:wincmd">:wincmd</A> J&quot;
    SearchPost	    - After doing a search command (e.g. to <A HREF="diff.html#do">do</A> &quot;<A HREF="motion.html#M">M</A>&quot;)
    PreDirChanged/PostDirChanged
		    - Before/after &quot;<A HREF="editing.html#:cd">:cd</A>&quot; has been used (for <A HREF="change.html#changing">changing</A> the
		      <A HREF="windows.html#window">window</A> title)
    ShutDown	    - when the system is about to shut down
    InsertCharPost  - user typed a character in <A HREF="insert.html#Insert">Insert</A> mode, after <A HREF="insert.html#inserting">inserting</A>
		      the char.
    BufModified	    - When a buffer becomes modified, or unmodified (for
		      putting a [+] in the <A HREF="windows.html#window">window</A> title or checking out the
		      file from CVS).
    BufFirstChange  - When making a change, when <A HREF="options.html#'modified'">'modified'</A> is set.  Can be
		      used to <A HREF="diff.html#do">do</A> a <A HREF="recover.html#:preserve">:preserve</A> for remote files.
    BufChange	    - after a change was made.  Set some <A HREF="eval.html#variables">variables</A> to indicate
		      the position and number of inserted/deleted lines, so
		      that marks can be updated.  HierAssist has patch to add
		      BufChangePre, BufChangePost and RevertBuf. (Shah)
    ViewChanged	    - triggered when the text scrolls and when the <A HREF="windows.html#window">window</A> size
		      changes.
    WinResized	    - After a <A HREF="windows.html#window">window</A> has been resized
    WinClose	    - Just before closing a <A HREF="windows.html#window">window</A>
-   Write the file now and then ('autosave'):

				  *<A NAME="'autosave'"></A><B>'autosave'</B>* *<A NAME="'as'"></A><B>'as'</B>* *<A NAME="'noautosave'"></A><B>'noautosave'</B>* *<A NAME="'noas'"></A><B>'noas'</B>*
    <A HREF="#'autosave'">'autosave'</A> <A HREF="#'as'">'as'</A> number  (default 0)
	    Automatically write the current buffer to file N seconds after the
	    last change has been made and when |<A HREF="options.html#'modified'">'modified'</A>| is still set.
	    Default: 0 = <A HREF="diff.html#do">do</A> not autosave the buffer.
    Alternative: have <A HREF="#'autosave'">'autosave'</A> use <A HREF="options.html#'updatetime'">'updatetime'</A> and <A HREF="options.html#'updatecount'">'updatecount'</A> but make
    them save the file itself besides the swapfile.


Omni completion:
-   Add a flag to <A HREF="options.html#'complete'">'complete'</A> to be able to <A HREF="diff.html#do">do</A> omni completion with <A HREF="motion.html#CTRL-N">CTRL-N</A> (and
    mix <A HREF="motion.html#it">it</A> with other kinds of completion).
-   Ideas from the Vim 7 BOF at SANE:
	- For interpreted languages, use the interpreter to obtain information.
	  Should work for Java (Eclipse does this), <A HREF="if_pyth.html#Python">Python</A>, <A HREF="if_tcl.html#Tcl">Tcl</A>, etc.
	  Richard Emberson mentioned working on an interface to Java.
	- Check Readline for its completion interface.
-   Ideas from others:
	<A HREF="http://www.wholetomato.com/">http://www.wholetomato.com/</A>
	<A HREF="http://www.vim.org/scripts/script.php?script_id=747">http://www.vim.org/scripts/script.php?script_id=747</A>
	<A HREF="http://sourceforge.net/projects/insenvim">http://sourceforge.net/projects/insenvim</A>
 or	<A HREF="http://insenvim.sourceforge.net">http://insenvim.sourceforge.net</A>
	    Java, XML, HTML, C++, JSP, SQL, C#
	    <A HREF="os_win32.html#MS-Windows">MS-Windows</A> only, lots of dependencies (e.g. <A HREF="if_perl.html#Perl">Perl</A>, Internet
		explorer), uses .dll shared libraries.
	    For C++ uses $INCLUDE environment var.
	    Uses <A HREF="if_perl.html#Perl">Perl</A> for C++.
	    Uses <A HREF="tagsrch.html#ctags">ctags</A> to find the info:
		<A HREF="tagsrch.html#ctags">ctags</A> <A HREF="starting.html#-f">-f</A> $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux <A HREF="starting.html#-u">-u</A> $files
	www.vim.org <A HREF="usr_41.html#script">script</A> 1213 (Java Development Environment) (Fuchuan Wang)
 IComplete:	<A HREF="http://www.vim.org/scripts/script.php?script_id=1265">http://www.vim.org/scripts/script.php?script_id=1265</A>
 and	<A HREF="http://stud4.tuwien.ac.at/~e0125672/icomplete/">http://stud4.tuwien.ac.at/~e0125672/icomplete/</A>
	<A HREF="http://cedet.sourceforge.net/intellisense.shtml">http://cedet.sourceforge.net/intellisense.shtml</A> for Emacs
	Ivan Villanueva has something for Java.
 Emacs:	<A HREF="http://www.xref-tech.com/xrefactory/more_c_completion.html">http://www.xref-tech.com/xrefactory/more_c_completion.html</A>
 Completion in .NET framework SharpDevelop:	<A HREF="http://www.icsharpcode.net">http://www.icsharpcode.net</A>
-   Pre-expand <A HREF="map.html#abbreviations">abbreviations</A>, show which abbrevs would match?


<A HREF="insert.html#Insert">Insert</A> mode completion/expansion:
-   <A HREF="gui.html#GUI">GUI</A> implementation of the popup menu.
7   When searching in other files the name flash by, too fast to read.  Only
    display a name every second or so, like with &quot;<A HREF="quickfix.html#:vimgrep">:vimgrep</A>&quot;.
7   When expanding file names with an environment variable, add the match with
    the unexpanded var.  So $HOME/tm expands to &quot;/home/guy/tmp&quot; and
    &quot;$HOME/tmp&quot;
8   When there is no <A HREF="motion.html#word">word</A> before the cursor but something like &quot;sys.&quot; complete
    with &quot;sys.&quot;.  Works well for C and similar languages.
9   ^X^L completion doesn't repeat correctly.  It uses the first match with
    the last added line, instead of continuing where the last match ended.
    (Webb)
8   Add option to set different behavior for <A HREF="insert.html#Insert">Insert</A> mode completion:
    - ignore/match <A HREF="change.html#case">case</A>
    - different characters than <A HREF="options.html#'iskeyword'">'iskeyword'</A>
8   Add option 'isexpand', containing characters when doing expansion (so that
    &quot;<A HREF="repeat.html#.">.</A>&quot; and &quot;\&quot; can be included, without <A HREF="change.html#changing">changing</A> <A HREF="options.html#'iskeyword'">'iskeyword'</A>). (Goldfarb)
    Also: 'istagword': characters used for <A HREF="tagsrch.html#CTRL-]">CTRL-]</A>.
    When 'isexpand' or 'istagword' are empty, use <A HREF="options.html#'iskeyword'">'iskeyword'</A>.
    Alternative: Use a <A HREF="pattern.html#pattern">pattern</A> so that start and end of a keyword can be
    defined, only allow dash in the middle, etc.
8   Add a command to <A HREF="undo.html#undo">undo</A> the completion, go back to the original text.
7   Completion of an abbreviation: Can leave letters out, like what Instant
    text does: www.textware.com
8   Use the class information in the <A HREF="tagsrch.html#tags">tags</A> file to <A HREF="diff.html#do">do</A> context-sensitive
    completion.  After &quot;foo.&quot; complete all member functions/variables of
    &quot;foo&quot;.  Need to search backwards for the class definition of foo.
    Should work for C++ and Java.
    Even more context would be <A HREF="#nice">nice</A>: &quot;import java.^N&quot; -&gt; &quot;io&quot;, &quot;lang&quot;, etc.
7   When expanding $HOME/dir with ^X^F keep the <A HREF="options.html#$HOME">$HOME</A> (with an option?).
7   Add <A HREF="change.html#CTRL-X">CTRL-X</A> command in <A HREF="insert.html#Insert">Insert</A> mode like <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="motion.html#CTRL-N">CTRL-N</A>, that completes WORDS
    instead of words.
8   Add <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="undo.html#CTRL-R">CTRL-R</A>: complete words from <A HREF="sponsor.html#register">register</A> contents.
8   Add completion of previously inserted texts (like what <A HREF="change.html#CTRL-A">CTRL-A</A> does).
    Requires remembering a number of insertions.
8   Add '<A HREF="motion.html#f">f</A>' flag to <A HREF="options.html#'complete'">'complete'</A>: Expand file names.
    Also apply <A HREF="options.html#'complete'">'complete'</A> to whole line completion.
-   Add a flag to <A HREF="options.html#'complete'">'complete'</A> to only scan local header files, not system
    header files. (Andri Moell)
-   Make <A HREF="motion.html#it">it</A> possible to search include files in several places.  Use the
    <A HREF="options.html#'path'">'path'</A> option?  Can this be done with the dictionary completion (use
    <A HREF="editing.html#wildcards">wildcards</A> in the file name)?
-   Make <A HREF="change.html#CTRL-X">CTRL-X</A> CTRL-K <A HREF="diff.html#do">do</A> a binary search in the dictionary (if it's sorted).
-   Speed up <A HREF="change.html#CTRL-X">CTRL-X</A> CTRL-K dictionary searching (don't use a regexp?).
-   Set a <A HREF="motion.html#mark">mark</A> at the position where the match was found (file <A HREF="motion.html#mark">mark</A>, could
    be in another file).
-   Add <A HREF="change.html#CTRL-A">CTRL-A</A> command in <A HREF="change.html#CTRL-X">CTRL-X</A> mode: show all matches.
-   Make <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="various.html#CTRL-L">CTRL-L</A> use the <A HREF="options.html#'complete'">'complete'</A> option?
-   Add command in <A HREF="change.html#CTRL-X">CTRL-X</A> mode to add following words to the completed <A HREF="eval.html#string">string</A>
    (e.g. to complete &quot;Pointer-&gt;element&quot; with <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="motion.html#CTRL-P">CTRL-P</A> <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="index.html#CTRL-W">CTRL-W</A>)
-   <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="scroll.html#CTRL-F">CTRL-F</A>: Use <A HREF="options.html#'path'">'path'</A> to find completions.
-   <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="scroll.html#CTRL-F">CTRL-F</A>: Option to use forward slashes on <A HREF="os_win32.html#MS-Windows">MS-Windows</A>?
-   <A HREF="change.html#CTRL-X">CTRL-X</A> <A HREF="scroll.html#CTRL-F">CTRL-F</A>: Don't replace &quot;<A HREF="starting.html#$VIM">$VIM</A>&quot; with the actual value. (Kelly)
-   Allow listing all matches in some way (and picking one from the <A HREF="eval.html#list">list</A>).


Command line editing:
7   Add commands (keys) to delete from the cursor to the end of the command
    line.
8   Custom completion of user commands can't use the standard completion
    <A HREF="eval.html#functions">functions</A>.  Add a hook to invoke a user function that returns the type of
    completion to be done: &quot;file&quot;, &quot;<A HREF="tagsrch.html#tag">tag</A>&quot;, &quot;custom&quot;, etc.
-   Add flags to <A HREF="options.html#'whichwrap'">'whichwrap'</A> for command line editing (cursor right at end of
    lines wraps to start of line).
-   Make editing the command line work like <A HREF="insert.html#Insert">Insert</A> mode in a single-line <A HREF="starting.html#view">view</A>
    on a buffer that contains the command line <A HREF="cmdline.html#history">history</A>.  But this has many
    disadvantages, only implement <A HREF="motion.html#it">it</A> when these can be solved.  <A HREF="intro.html#Elvis">Elvis</A> has run
    into these, see remarks from Steve (~/Mail/oldmail/kirkendall/in.00012).
    - Going back in <A HREF="cmdline.html#history">history</A> and editing a line there would change the <A HREF="cmdline.html#history">history</A>.
      Would still need to keep a copy of the <A HREF="cmdline.html#history">history</A> elsewhere.  Like the
      <A HREF="cmdline.html#cmdwin">cmdwin</A> does now already.
    - Use <A HREF="motion.html#CTRL-O">CTRL-O</A> to execute one <A HREF="intro.html#Normal">Normal</A> mode command.  How to switch to normal
      mode for more commands?  <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> should cancel the command line.  <A HREF="tagsrch.html#CTRL-T">CTRL-T</A>?
    - To allow &quot;<A HREF="pattern.html#/">/</A>&quot; and &quot;<A HREF="change.html#=">=</A> need to recursively call <A HREF="eval.html#getcmdline()">getcmdline()</A>, overwrite the
      cmdline.  But then we are editing a command-line again.  How to avoid
      that the user gets confused by the stack of command lines?
    - Use edit() for normal cmdline editing?  Would have to integrate
      <A HREF="eval.html#getcmdline()">getcmdline()</A> into edit().  Need to solve conflicts between <A HREF="insert.html#Insert">Insert</A> mode
      and <A HREF="cmdline.html#Command-line">Command-line</A> mode commands.  Make <A HREF="motion.html#it">it</A> work like Korn shell and tcsh.
      Problems:
	- <A HREF="insert.html#Insert">Insert</A>: completion with <A HREF="options.html#'wildchar'">'wildchar'</A>
	- <A HREF="insert.html#Insert">Insert</A>: use cmdline <A HREF="map.html#abbreviations">abbreviations</A>
	- <A HREF="insert.html#Insert">Insert</A>: <A HREF="scroll.html#CTRL-D">CTRL-D</A> deletes indent instead of listing matches
	- <A HREF="intro.html#Normal">Normal</A>: no <A HREF="index.html#CTRL-W">CTRL-W</A> commands
	- <A HREF="intro.html#Normal">Normal</A>: no &quot;<A HREF="cmdline.html#:">:</A>&quot; commands?
	- <A HREF="intro.html#Normal">Normal</A>: allow <A HREF="visual.html#Visual">Visual</A> mode only within one line.
    - where to show insert/normal mode message?  Change highlighting of
      character in first column?
    - Implementation ideas:
      - Set &quot;curwin&quot; and &quot;curbuf&quot; to the command line <A HREF="windows.html#window">window</A> and buffer.
      - curwin-&gt;w_topline is always equal to curwin-&gt;w_cursor.lnum.
      - never set <A HREF="options.html#'number'">'number'</A>, no <A HREF="fold.html#folding">folding</A>, etc.  No status line.
      - sync <A HREF="undo.html#undo">undo</A> after entering a command line?
      - use NV_NOCL flag for commands that are not allowed in <A HREF="cmdline.html#Command-line">Command-line</A>
	Mode.


Command line completion:
8   Change expand_interactively into a flag that is passed <A HREF="motion.html#as">as</A> an argument.
8   With command line completion after '<A HREF="motion.html#&#37;">&#37;</A>' and '<A HREF="pattern.html##">#</A>', expand current/alternate
    file name, so <A HREF="motion.html#it">it</A> can be edited.  Also with modifiers, such <A HREF="motion.html#as">as</A> &quot;<A HREF="cmdline.html#&#37;:h">&#37;:h</A>&quot;.
8   When completing command names, either sort them on the long name, or <A HREF="eval.html#list">list</A>
    them with the optional part inside <A HREF="motion.html#[]">[]</A>.
8   Add an option to ignore <A HREF="change.html#case">case</A> when doing interactive completion.  So that
    &quot;<A HREF="editing.html#:e">:e</A> file&lt;Tab&gt;&quot; also lists &quot;Filelist&quot; (sorted after matching <A HREF="change.html#case">case</A> matches).
7   Completion of &quot;<A HREF="map.html#:map">:map</A> <A HREF="change.html#x">x</A> &quot;: fill in the current <A HREF="map.html#mapping">mapping</A>, so that <A HREF="motion.html#it">it</A> can be
    edited. (Sven Guckes)
-   For <A HREF="options.html#'wildmenu'">'wildmenu'</A>: Simplify &quot;../bar&quot; when possible.
-   When using <A HREF="motion.html#&lt;Up&gt;">&lt;Up&gt;</A> in wildmenu mode for a submenu, should go back to the
    current menu, not the first one.  E.g., &quot;<A HREF="gui.html#:emenu">:emenu</A> File.Save&lt;Up&gt;&quot;.
8   When using backtick expansion, the external command may write a greeting
    message.  Add an option or commands to remove lines that match a <A HREF="pattern.html#regexp">regexp</A>?
7   When listing matches of files, display the common path separately from the
    file names, if this makes the listing shorter. (Webb)
-   Add command line completion for &quot;<A HREF="tagsrch.html#:ilist">:ilist</A>&quot; and friends, show matching
    identifiers (Webb).
8   Add command line completion for &quot;old value&quot; of a command.  &quot;<A HREF="editing.html#:args">:args</A> &lt;key&gt;&quot;
    would result in the current <A HREF="eval.html#list">list</A> of arguments, which you can then edit.
7   Add command line completion with <A HREF="change.html#CTRL-X">CTRL-X</A>, just like <A HREF="insert.html#Insert">Insert</A> mode completion.
    Useful for &quot;:s/word/xx/&quot;.
-   Add command to go back to the text <A HREF="motion.html#as">as</A> <A HREF="motion.html#it">it</A> was before completion started.
    Also to be used for <A HREF="motion.html#&lt;Up&gt;">&lt;Up&gt;</A> in the command line.
-   Add 'wildlongest' option: Key to use to find longest common match for
    command line completion (default CTRL-L), like <A HREF="options.html#'wildchar'">'wildchar'</A>. (Cregut)
    Also: when there are several matches, show them line a <A HREF="scroll.html#CTRL-D">CTRL-D</A>.


Command line <A HREF="cmdline.html#history">history</A>:
-   Add &quot;KeyWasTyped&quot; flag: It's reset before each command and set when a
    character from the keyboard is consumed. Value is used to decide to put a
    command line in <A HREF="cmdline.html#history">history</A> or not. Put line in <A HREF="cmdline.html#history">history</A> if <A HREF="motion.html#it">it</A> didn't
    completely result from one <A HREF="map.html#mapping">mapping</A>.
-   When using &quot;<A HREF="editing.html#:browse">:browse</A>&quot;, also put the resulting edit command in the <A HREF="cmdline.html#history">history</A>,
    so that <A HREF="motion.html#it">it</A> can be repeated. (Demirel)


<A HREF="insert.html#Insert">Insert</A> mode:
9   When <A HREF="options.html#'autoindent'">'autoindent'</A> is set, hitting <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A> <A HREF="if_cscop.html#twice">twice</A>, while there is text after
    the cursor, doesn't delete the autoindent in the resulting blank line.
    (Rich Wales) This is <A HREF="intro.html#Vi">Vi</A> compatible, but <A HREF="motion.html#it">it</A> looks like a bug.
8   When using <A HREF="motion.html#CTRL-O">CTRL-O</A> in <A HREF="insert.html#Insert">Insert</A> mode, then executing an insert command
    &quot;<A HREF="insert.html#a">a</A>&quot; or &quot;<A HREF="insert.html#i">i</A>&quot;, should we return to <A HREF="insert.html#Insert">Insert</A> mode after <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A>? (Eggink)
    Perhaps <A HREF="motion.html#it">it</A> can be allowed a single time, to be able to <A HREF="diff.html#do">do</A>
    &quot;&lt;C-O&gt;10axyz&lt;Esc&gt;&quot;.  Nesting this further is confusing.
    &quot;<A HREF="map.html#:map">:map</A> <A HREF="term.html#&lt;F2&gt;">&lt;F2&gt;</A> 5aabc&lt;Esc&gt;&quot; works only once from <A HREF="insert.html#Insert">Insert</A> mode.
8   When using <A HREF="editing.html#CTRL-G">CTRL-G</A> <A HREF="motion.html#CTRL-O">CTRL-O</A> <A HREF="diff.html#do">do</A> like CTRL-\ <A HREF="motion.html#CTRL-O">CTRL-O</A>, but when returning with
    the cursor in the same position and the text didn't change continue the
    same change, so that &quot;<A HREF="repeat.html#.">.</A>&quot; repeats the whole insert.
7   Use <A HREF="editing.html#CTRL-G">CTRL-G</A> <A HREF="map.html#&lt;count&gt;">&lt;count&gt;</A> to repeat what follows.  Useful for <A HREF="insert.html#inserting">inserting</A> a
    character multiple times or <A HREF="repeat.html#repeating">repeating</A> <A HREF="scroll.html#CTRL-Y">CTRL-Y</A>.
-   Make <A HREF="options.html#'revins'">'revins'</A> work in <A HREF="insert.html#Replace">Replace</A> mode.
7   Use <A HREF="options.html#'matchpairs'">'matchpairs'</A> for <A HREF="options.html#'showmatch'">'showmatch'</A>: When <A HREF="insert.html#inserting">inserting</A> a character check if <A HREF="motion.html#it">it</A>
    appears in the rhs of <A HREF="options.html#'matchpairs'">'matchpairs'</A>.
-   In <A HREF="insert.html#Insert">Insert</A> mode (and command line editing?): Allow <A HREF="undo.html#undo">undo</A> of the last typed
    character.	This is useful for <A HREF="scroll.html#CTRL-U">CTRL-U</A>, <A HREF="index.html#CTRL-W">CTRL-W</A>, delete and backspace, and
    also for characters that wrap to the next line.
    Also: be able to <A HREF="undo.html#undo">undo</A> <A HREF="undo.html#CTRL-R">CTRL-R</A> (insert <A HREF="sponsor.html#register">register</A>).
    Possibly use 'backspace'=&quot;whole&quot; for a mode where at least a <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A> that
    inserts autoindent is undone by a single <A HREF="motion.html#&lt;BS&gt;">&lt;BS&gt;</A>.
-   Use <A HREF="editing.html#CTRL-G">CTRL-G</A> in <A HREF="insert.html#Insert">Insert</A> mode for an extra range of commands, like &quot;<A HREF="index.html#g">g</A>&quot; in
    <A HREF="intro.html#Normal">Normal</A> mode.
-   Make <A HREF="options.html#'paste'">'paste'</A> work without resetting other <A HREF="options.html#options">options</A>, but override their
    value.  Avoids problems when <A HREF="change.html#changing">changing</A> files and modelines or autocommands
    are used.
-   When typing <A HREF="visual.html#CTRL-V">CTRL-V</A> and a digit higher than 2, only expect two digits.
-   <A HREF="insert.html#Insert">Insert</A> binary numbers with <A HREF="visual.html#CTRL-V">CTRL-V</A> <A HREF="motion.html#b">b</A>.
-   Make <A HREF="motion.html#it">it</A> possible to <A HREF="undo.html#undo">undo</A> <A HREF="motion.html#&lt;BS&gt;">&lt;BS&gt;</A>, &lt;C-W&gt; and &lt;C-U&gt;.  Bash uses <A HREF="scroll.html#CTRL-Y">CTRL-Y</A>.


<A HREF="options.html#'cindent'">'cindent'</A>, <A HREF="options.html#'smartindent'">'smartindent'</A>:
9   Wrapping a variable <A HREF="starting.html#initialization">initialization</A> should have extra indent:
	char &#42; veryLongName =
		&quot;very long string&quot;
    Also check if &quot;cino=+10&quot; is used correctly.
8   Lisp indenting: &quot;\\&quot; confuses the indenter. (Dorai Sitaram, 2006 May 17)
8   Why are continuation lines outside of a <A HREF="intro.html#{}">{}</A> block not indented?  E.g.:
	long_type foo =
	value;
8   Java: Inside an anonymous class, after an &quot;else&quot; or &quot;try&quot; the indent is
    too small. (Vincent Bergbauer)
    Problem of using <A HREF="intro.html#{}">{}</A> inside (), <A HREF="options.html#'cindent'">'cindent'</A> doesn't work then.
8   In C++ it's possible to have <A HREF="intro.html#{}">{}</A> inside (): (Kirshna)
		func(
			new String[] {
			    &quot;asdf&quot;,
			    &quot;asdf&quot;
			}
		    );
8   In C++ a function isn't recognized inside a namespace:
    (Chow Loong Jin)
	namespace {
	    int
		 func(int arg) {
		 }
	}
6   Add <A HREF="options.html#'cino'">'cino'</A> flag for this function argument layout: (Spencer Collyer)
	    func( arg1
	        , arg2
		, arg3
		);
7   Add separate &quot;(0&quot; option into inside/outside a function (Zellner):
	func(
	   int <A HREF="change.html#x">x</A>)	<A HREF="version7.html#//">//</A> indent like &quot;(4&quot;
	{
	   if (a
	       &amp;&amp; <A HREF="motion.html#b">b</A>)	<A HREF="version7.html#//">//</A> indent like &quot;(0&quot;
9   Using &quot;<A HREF="motion.html#{">{</A>&quot; in a comment: (Helmut Stiegler)
    if (a)
    {
	    if (b)
	    {
		    <A HREF="version7.html#//">//</A> {
	    }
	    } &lt;-- this is indented incorrect
    Problem is that find_start_brace() checks for the matching brace to be in
    a comment, but not braces in between.  Requires adding a comment check to
    findmatchlimit().
-   Make smartindenting configurable.  Add 'sioptions', e.g. '<A HREF="pattern.html##">#</A>' setting the
    indent to 0 should be switched on/off.
7   Support ANSI style function header, with each argument on its own line.
-   &quot;<A HREF="change.html#[p">[p</A>&quot; and &quot;<A HREF="change.html#]p">]p</A>&quot; should use <A HREF="options.html#'cindent'">'cindent'</A> code if it's on (only for the first
    line).
-   Add option to <A HREF="options.html#'cindent'">'cindent'</A> to set indent for comments outside of <A HREF="intro.html#{}">{}</A>?
-   Make a command to line up a comment after a code line with a previous
    comment after a code line.	Can <A HREF="options.html#'cindent'">'cindent'</A> <A HREF="diff.html#do">do</A> this automatically?
-   When 'cindent'ing a '<A HREF="motion.html#}">}</A>', showmatch is done before fixing the indent.  It
    looks better when the indent is fixed before the showmatch. (Webb)
-   Add option to make indenting work in comments too (for commented-out
    code), unless the line starts with &quot;*&quot;.
-   Don't use <A HREF="options.html#'cindent'">'cindent'</A> when doing <A HREF="change.html#formatting">formatting</A> with &quot;<A HREF="change.html#gq">gq</A>&quot;?
-   When <A HREF="change.html#formatting">formatting</A> a comment after some text, insert the '*' for the new line
    (indent is correct if <A HREF="options.html#'cindent'">'cindent'</A> is set, but '*' doesn't get inserted).
8   When <A HREF="options.html#'comments'">'comments'</A> has both &quot;s1:/*,mb:*,ex:*/&quot; and &quot;s1:(*,mb:*,ex:*)&quot;, the
    '<A HREF="change.html#x">x</A>' flag always uses the first match.  Need to continue looking for more
    matches of &quot;*&quot; and remember all characters that could end the comment.
-   For smartindent: When typing 'else' line <A HREF="motion.html#it">it</A> up with matching 'if'.
-   <A HREF="options.html#'smartindent'">'smartindent'</A>: allow patterns in <A HREF="options.html#'cinwords'">'cinwords'</A>, for e.g. TeX files, where
    lines start with &quot;\item&quot;.
-   Support this style of comments (with an option): (Brown)
	/* here is a comment that
	is just autoindented, and
	nothing else */
-   Add words to <A HREF="options.html#'cinwords'">'cinwords'</A> to reduce the indent, e.g., &quot;end&quot; or &quot;fi&quot;.
7   Use Tabs for the indent of starting lines, pad with spaces for
    continuation lines.  Allows <A HREF="change.html#changing">changing</A> <A HREF="options.html#'tabstop'">'tabstop'</A> without messing up the
    indents.
    Patch by Lech Lorens, 2010 Mar.  Update by James McCoy, 2014 Mar 15.


Java:
8   Can have <A HREF="intro.html#{}">{}</A> constructs inside parens.  Include changes from Steve
    Odendahl?
8   Recognize &quot;import java.util.Vector&quot; and use $CLASSPATH to find files for
    &quot;<A HREF="tagsrch.html#[i">[i</A>&quot; commands and friends.
-   For files found with <A HREF="options.html#'include'">'include'</A>: handle &quot;*&quot; in included name, for Java.
    (Jason)
-   How to make a &quot;package java.util&quot; cause all classes in the package to be
    searched?  Also for &quot;import java.util.*&quot;. (Mark Brophy)


<A HREF="options.html#'comments'">'comments'</A>:
8   When <A HREF="change.html#formatting">formatting</A> C comments that are after code, the &quot;*&quot; isn't repeated
    like it's done when there is no code.  And there is no automatic wrapping.
    Recognize comments that come after code.  Should insert the comment leader
    when it's &quot;<A HREF="pattern.html##">#</A>&quot; or &quot;<A HREF="version7.html#//">//</A>&quot;.
    Other way around: when a C command starts with &quot;* 4&quot; the &quot;*&quot; is repeated
    while <A HREF="motion.html#it">it</A> should not.  Use <A HREF="syntax.html#syntax">syntax</A> HL comment recognition?
7   When using &quot;comments=fg:--&quot;, Vim inserts three spaces for a new line.
    When hitting a TAB, these spaces could be removed.
7   The 'n'esting flag doesn't <A HREF="diff.html#do">do</A> the indenting of the last (rightmost) item.
6   Make strings in <A HREF="options.html#'comments'">'comments'</A> option a RE, to be able to match more
    complicated things. (Phillipps)  Use a special flag to indicate that a
    <A HREF="pattern.html#regexp">regexp</A> is used.
8   Make the <A HREF="options.html#'comments'">'comments'</A> option with &quot;/* &#42; */&quot; lines only repeat the &quot;*&quot; line
    when there is a &quot;/*&quot; before <A HREF="motion.html#it">it</A>?  Or include this in <A HREF="options.html#'cindent'">'cindent'</A>?


Virtual edit:
8   Make the horizontal scrollbar work to move the text further left.
7   Allow specifying <A HREF="motion.html#it">it</A> separately for Tabs and beyond end-of-line?


Text <A HREF="index.html#objects">objects</A>:
8   Add text object for fold, so that <A HREF="motion.html#it">it</A> can be yanked when it's open.
8   Add test <A HREF="usr_41.html#script">script</A> for text object commands &quot;<A HREF="motion.html#aw">aw</A>&quot;, &quot;<A HREF="motion.html#iW">iW</A>&quot;, etc.
8   Add text object for part of a CamelHumpedWord and under_scored_word.
    (Scott Graham)  &quot;ac&quot; and &quot;au&quot;?
8   Add a text object for any kind of quoting, also with <A HREF="mbyte.html#multi-byte">multi-byte</A>
    characters.  Option to specify what <A HREF="quotes.html#quotes">quotes</A> are recognized (default: all)
    use &quot;aq&quot; and &quot;iq&quot;.  Use 'quotepairs' to define pairs of <A HREF="quotes.html#quotes">quotes</A>, like
    <A HREF="options.html#'matchpairs'">'matchpairs'</A>?
8   Add text object for any kind of parens, also <A HREF="mbyte.html#multi-byte">multi-byte</A> ones.
8   Add a way to make an &quot;<A HREF="map.html#:omap">:omap</A>&quot; for a user-defined text object.  Requires
    <A HREF="change.html#changing">changing</A> the starting position in oap-&gt;start.
8   Add &quot;<A HREF="change.html#gp">gp</A>&quot; and &quot;<A HREF="change.html#gP">gP</A>&quot; commands: insert text and make sure there is a single
    space before <A HREF="motion.html#it">it</A>, unless at the start of the line, and after <A HREF="motion.html#it">it</A>, unless at
    the end of the line or before a &quot;<A HREF="repeat.html#.">.</A>&quot;.
7   Add <A HREF="index.html#objects">objects</A> with backwards extension?  Use &quot;<A HREF="insert.html#I">I</A>&quot; and &quot;<A HREF="insert.html#A">A</A>&quot;.  Thus &quot;2dAs&quot;
    deletes the current and previous <A HREF="motion.html#sentence">sentence</A>. (Jens Paulus)
7   Add &quot;g{&quot; and &quot;g}&quot; to move to the first/last character of a <A HREF="motion.html#paragraph">paragraph</A>
    (instead of the line just before/after a <A HREF="motion.html#paragraph">paragraph</A> <A HREF="motion.html#as">as</A> with &quot;<A HREF="motion.html#{">{</A>&quot; and &quot;}&quot;).
6   Ignore comment leaders for <A HREF="index.html#objects">objects</A>.  Make &quot;<A HREF="motion.html#das">das</A>&quot; work in reply-email.
5   Make <A HREF="motion.html#it">it</A> possible to use <A HREF="syntax.html#syntax">syntax</A> group matches <A HREF="motion.html#as">as</A> a text object.  For
    example, define a &quot;ccItem&quot; group, then <A HREF="diff.html#do">do</A> &quot;da&lt;ccItem&gt;&quot; to delete one.
    Or, maybe just define &quot;dai&quot;, delete-an-item, to delete the <A HREF="syntax.html#syntax">syntax</A> item the
    cursor is on.


<A HREF="visual.html#Select">Select</A> mode:
8   In blockwise mode, typed characters are inserted in front of the block,
    backspace deletes a column before the block. (Steve Hall)
7   Alt-leftmouse starts block mode selection in MS Word.
 See	<A HREF="http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise">http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise</A>.
7   Add Cmdline-select mode.  Like <A HREF="visual.html#Select">Select</A> mode, but used on the command line.
    - Change gui_send_mouse_event() to pass on mouse events when <A HREF="options.html#'mouse'">'mouse'</A>
      contains '<A HREF="change.html#C">C</A>' or '<A HREF="insert.html#A">A</A>'.
    - Catch mouse events in ex_getln.c.  Also shift-cursor, etc., like in
      normal_cmd().
    - remember start and end of selection in cmdline_info.
    - Typing text replaces the selection.


<A HREF="visual.html#Visual">Visual</A> mode:
8   Support using &quot;<A HREF="repeat.html#.">.</A>&quot; in <A HREF="visual.html#Visual">Visual</A> mode. Use the <A HREF="motion.html#operator">operator</A> applied to the <A HREF="visual.html#Visual">Visual</A>
    selection, if possible.
-   When dragging the <A HREF="visual.html#Visual">Visual</A> selection with the mouse and <A HREF="options.html#'scrolloff'">'scrolloff'</A> is zero,
    behave like <A HREF="options.html#'scrolloff'">'scrolloff'</A> is one, so that the text scrolls when the pointer
    is in the top line.
-   Displaying size of <A HREF="visual.html#Visual">Visual</A> area: use 24-33 column display.
    When selecting multiple lines, up to about a screenful, also <A HREF="intro.html#count">count</A> the
    characters.
8   When using &quot;<A HREF="insert.html#I">I</A>&quot; or &quot;<A HREF="insert.html#A">A</A>&quot; in <A HREF="visual.html#Visual">Visual</A> block mode, short lines <A HREF="diff.html#do">do</A> not get the new
    text.  Make <A HREF="motion.html#it">it</A> possible to add the text to short lines too, with padding
    where needed.
7   With a <A HREF="visual.html#Visual">Visual</A> block selected, &quot;2x&quot; deletes a block of double the width,
    &quot;3y&quot; yanks a block of triple width, etc.
7   When selecting <A HREF="motion.html#linewise">linewise</A>, using &quot;itext&quot; should insert &quot;text&quot; at the start
    of each selected line.
8   What is &quot;<A HREF="change.html#R">R</A>&quot; supposed to <A HREF="diff.html#do">do</A> in <A HREF="visual.html#Visual">Visual</A> mode?
8   Make <A HREF="visual.html#Visual">Visual</A> mode local to the buffer.  Allow <A HREF="change.html#changing">changing</A> to another buffer.
    When starting a new <A HREF="visual.html#Visual">Visual</A> selection, remove the <A HREF="visual.html#Visual">Visual</A> selection in any
    other buffer. (Ron Aaron)
8   Support dragging the <A HREF="visual.html#Visual">Visual</A> area to drop <A HREF="motion.html#it">it</A> somewhere else. (Ron Aaron,
    Ben Godfrey)
7   Support dragging the <A HREF="visual.html#Visual">Visual</A> area to drop <A HREF="motion.html#it">it</A> in another program, and
    receive dropped text from another program. (Ben Godfrey)
7   With blockwise <A HREF="visual.html#Visual">Visual</A> mode and &quot;<A HREF="change.html#c">c</A>&quot;, &quot;<A HREF="change.html#C">C</A>&quot;, &quot;<A HREF="insert.html#I">I</A>&quot;, &quot;<A HREF="insert.html#A">A</A>&quot;, etc., allow the use of
    a <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A>.  The entered lines are repeated over the <A HREF="visual.html#Visual">Visual</A> area.
7   Filtering a block should only apply to the block, not to the whole lines.
    When the number of lines is increased, add lines. When decreased, pad with
    spaces or delete? Use &quot;:`&lt;,`&gt;&quot; on the command line.
8   After filtering the <A HREF="visual.html#Visual">Visual</A> area, make &quot;<A HREF="visual.html#gv">gv</A>&quot; select the filtered text?
    Currently &quot;<A HREF="visual.html#gv">gv</A>&quot; only selects a single line, not useful.
7   Don't move the cursor when <A HREF="scroll.html#scrolling">scrolling</A>?  Needed when the selection should
    stay the same.  Scroll to the cursor at any <A HREF="intro.html#movement">movement</A> command.  With an
    option!
7   In <A HREF="visual.html#Visual">Visual</A> block mode, need to be able to define a corner on a position
    that doesn't have text?  Also: when using the mouse, be able to select
    part of a TAB.  Even more: Add a mode where the cursor can be on a screen
    position where there is no text.  When typing, add spaces to fill the gap.
    Other solution: Always use curswant, so that you can move the cursor to
    the right column, and then use up/down movements to select the line,
    without <A HREF="change.html#changing">changing</A> the column.
6   &quot;<A HREF="change.html#:left">:left</A>&quot; and &quot;<A HREF="change.html#:right">:right</A>&quot; should work in <A HREF="visual.html#Visual">Visual</A> block mode.
7   <A HREF="motion.html#CTRL-I">CTRL-I</A> and <A HREF="motion.html#CTRL-O">CTRL-O</A> should work in <A HREF="visual.html#Visual">Visual</A> mode, but only jump to marks in the
    current buffer.
6   In non-Block mode, &quot;<A HREF="insert.html#I">I</A>&quot; should insert the same text in front of each line,
    before the first non-blank, &quot;<A HREF="insert.html#gI">gI</A>&quot; in column 1.
6   In non-Block mode, &quot;<A HREF="insert.html#A">A</A>&quot; should append the same text after each line.
6   When in blockwise visual selection (CTRL-V), allow cursor to be placed
    right of the line.  Could also allow cursor to be placed anywhere on a TAB
    or other special character.
6   Add commands to move selected text, without deselecting.


More advanced <A HREF="repeat.html#repeating">repeating</A> commands:
-   Add &quot;<A HREF="repeat.html#.">.</A>&quot; command for visual mode: <A HREF="undo.html#redo">redo</A> last visual command (e.g. &quot;:fmt&quot;).
-   Add command to repeat last <A HREF="intro.html#movement">movement</A>.  Including <A HREF="intro.html#count">count</A>.
-   Add &quot;<A HREF="repeat.html#.">.</A>&quot; command after <A HREF="motion.html#operator">operator</A>: repeat last command of same <A HREF="motion.html#operator">operator</A>.  E.g.
    &quot;c.&quot; will repeat last change, also when &quot;<A HREF="change.html#x">x</A>&quot; used since then (Webb).
    &quot;y.&quot; will repeat last <A HREF="change.html#yank">yank</A>.
    &quot;c2.&quot; will repeat the last but one change?
    Also: keep <A HREF="cmdline.html#history">history</A> of <A HREF="intro.html#Normal">Normal</A> mode commands, add command to <A HREF="eval.html#list">list</A> the <A HREF="cmdline.html#history">history</A>
    and/or pick an older command.
-   History stack for . command?  Use &quot;g.&quot; command.


Mappings and <A HREF="map.html#Abbreviations">Abbreviations</A>:
8   When &quot;<A HREF="motion.html#0">0</A>&quot; is mapped (it is a <A HREF="intro.html#movement">movement</A> command) this <A HREF="map.html#mapping">mapping</A> should not be
    used after typing another number, e.g. &quot;20l&quot;. (Charles Campbell)
    Is this possible without disabling the <A HREF="map.html#mapping">mapping</A> of the following command?
8   Should <A HREF="map.html#mapping">mapping</A> &lt;C-A&gt; and &lt;C-S-A&gt; both work?
7   &quot;:abbr <A HREF="motion.html#b">b</A> byte&quot;, append &quot;<A HREF="motion.html#b">b</A> &quot; to an existing <A HREF="motion.html#word">word</A> still expands to &quot;byte&quot;.
    This is <A HREF="intro.html#Vi">Vi</A> compatible, but can we avoid <A HREF="motion.html#it">it</A> anyway?
8   To make a <A HREF="map.html#mapping">mapping</A> work with a prepended &quot;<A HREF="change.html#x">x</A> to select a <A HREF="sponsor.html#register">register</A>, store the
    last _typed_ <A HREF="sponsor.html#register">register</A> name and access <A HREF="motion.html#it">it</A> with &quot;&amp;.
8   Add &quot;:amap&quot;, like &quot;<A HREF="gui.html#:amenu">:amenu</A>&quot;.
7   Add a <A HREF="map.html#mapping">mapping</A> that works always, for remapping the keyboard.
8   Add &quot;:cab!&quot;, <A HREF="map.html#abbreviations">abbreviations</A> that only apply to <A HREF="cmdline.html#Command-line">Command-line</A> mode and not to
    entering search strings.
8   Add a flag to &quot;:abbrev&quot; to eat the character that triggers the
    abbreviation.  Thus &quot;abb <A HREF="motion.html#ab">ab</A> xxx&quot; and typing &quot;ab&lt;Space&gt;&quot; inserts &quot;xxx&quot; and
    not the <A HREF="motion.html#&lt;Space&gt;">&lt;Space&gt;</A>.
8   Give a warning when using <A HREF="pattern.html#CTRL-C">CTRL-C</A> in the lhs of a <A HREF="map.html#mapping">mapping</A>.  It will never
    (?) work.
7   Add &lt;0x8f&gt; (hex), &lt;033&gt; (octal) and &lt;123&gt; (decimal) to <A HREF="intro.html#&lt;&gt;">&lt;&gt;</A> <A HREF="intro.html#notation">notation</A>?
7   When someone tries to unmap with a trailing space, and <A HREF="motion.html#it">it</A> fails, try
    unmapping without the trailing space.  Helps for &quot;<A HREF="map.html#:unmap">:unmap</A> xx &#124; unmap yy&quot;.
6   Context-sensitive <A HREF="map.html#abbreviations">abbreviations</A>: Specify <A HREF="syntax.html#syntax">syntax</A> group(s) in which the
    <A HREF="map.html#abbreviations">abbreviations</A> are to be used.
-   Add mappings that take arguments.  Could work like the &quot;<A HREF="change.html#:s">:s</A>&quot; command.  For
    example, for a mouse <A HREF="intro.html#escape">escape</A> sequence:
	:mapexp  &lt;Esc&gt;{\([0-9]*\),\([0-9]*\);	H\1j\2l
-   Add optional &lt;Number&gt; argument for mappings:
    <A HREF="map.html#:map">:map</A> &lt;Number&gt;q	     ^W^W&lt;Number&gt;G
    <A HREF="map.html#:map">:map</A> &lt;Number&gt;q&lt;Number&gt;t  ^W^W&lt;Number1-1&gt;G&lt;Number2&gt;l
    <A HREF="map.html#:map">:map</A> q&lt;Char&gt;	    :s/&lt;Char&gt;/\u\0/g
    Or implicit:
    <A HREF="map.html#:map">:map</A> <A HREF="repeat.html#q">q</A>			&lt;Register&gt;d&lt;Number&gt;$
-   Add command to repeat a whole <A HREF="map.html#mapping">mapping</A> (&quot;.&quot; only repeats the last change in
    a <A HREF="map.html#mapping">mapping</A>).  Also: Repeat a whole insert command, including any mappings
    that <A HREF="motion.html#it">it</A> included.  Sort-of automatic <A HREF="repeat.html#recording">recording</A>?
-   Include an option (or flag to <A HREF="options.html#'cpoptions'">'cpoptions'</A>) that makes <A HREF="message.html#errors">errors</A> in mappings
    not flush the rest of the <A HREF="map.html#mapping">mapping</A> (like nvi does).
-   Use context sensitiveness of completion to switch <A HREF="map.html#abbreviations">abbreviations</A> and
    mappings off for :unab and <A HREF="map.html#:unmap">:unmap</A>.
6   When using mappings in <A HREF="insert.html#Insert">Insert</A> mode, insert characters for incomplete
    mappings first, then remove them again when a <A HREF="map.html#mapping">mapping</A> matches.  Avoids
    that characters that are the start of some <A HREF="map.html#mapping">mapping</A> are not shown until you
    hit another character.
-   Add mappings for replace mode: &quot;:rmap&quot;.  How <A HREF="diff.html#do">do</A> we then enter mappings for
    non-replace <A HREF="insert.html#Insert">Insert</A> mode?
-   Add separate mappings for Visual-character/block/line mode?
-   Add 'mapstop' command, to stop recursive mappings.
-   <A HREF="eval.html#List">List</A> mappings that have a raw <A HREF="intro.html#escape">escape</A> sequence both with the name of the key
    for that <A HREF="intro.html#escape">escape</A> sequence (if there is one) and the sequence itself.
-   <A HREF="eval.html#List">List</A> mappings: Once with special keys listed <A HREF="motion.html#as">as</A> <A HREF="intro.html#&lt;&gt;">&lt;&gt;</A>, once with <A HREF="intro.html#meta">meta</A> chars <A HREF="motion.html#as">as</A>
    &lt;M-a&gt;, once with the byte values (octal?).  Sort of &quot;<A HREF="spell.html#spell">spell</A> mapping&quot; command?
-   When entering mappings: Add the possibility to enter <A HREF="intro.html#meta">meta</A> keys like they
    are displayed, within <A HREF="intro.html#&lt;&gt;">&lt;&gt;</A>: &lt;M-a&gt;, &lt;~@&gt; or &lt;|a&gt;.
-   Allow multiple arguments to <A HREF="map.html#:unmap">:unmap</A>.
-   Command to show keys that are not used and available for <A HREF="map.html#mapping">mapping</A>
    &quot;:freekeys&quot;.
-   Allow any character except white space in <A HREF="map.html#abbreviations">abbreviations</A> lhs (Riehm).


Incsearch:
-   Add a limit to the number of lines that are searched for <A HREF="options.html#'incsearch'">'incsearch'</A>?
-   When no match is found and the user types more, the screen is redrawn
    anyway.  Could skip that.  Esp. if the line wraps and the text is scrolled
    up every time.
-   Temporarily open <A HREF="fold.html#folds">folds</A> to show where the search ends up.  Restore the
    <A HREF="fold.html#folds">folds</A> when going to another line.
-   When incsearch used and hitting return, no need to search again in many
    cases, saves a lot of time in big files. (Slootman wants to work on this?)
    When not using special characters, can continue search from the last match
    (or not at all, when there was no match).  See oldmail/webb/in.872.


Searching:
9   Should have an option for <A HREF="quickfix.html#:vimgrep">:vimgrep</A> to find lines without a match.
8   Add &quot;g/&quot; and &quot;gb&quot; to search for a <A HREF="pattern.html#pattern">pattern</A> in the Visually selected text?
    &quot;<A HREF="change.html#g?">g?</A>&quot; is already used for <A HREF="change.html#rot13">rot13</A>.
    The vis.vim <A HREF="usr_41.html#script">script</A> has a &quot;:S&quot; command that does something like this.
    Can use &quot;g/&quot; in <A HREF="intro.html#Normal">Normal</A> mode, uses the <A HREF="motion.html#'&lt;">'&lt;</A> to <A HREF="motion.html#'&gt;">'&gt;</A> area.
    Use &quot;&amp;/&quot; for searching the text in the <A HREF="visual.html#Visual">Visual</A> area?
9   Add &quot;<A HREF="visual.html#v">v</A>&quot; offset: &quot;/pat/v&quot;: search for <A HREF="pattern.html#pattern">pattern</A> and start <A HREF="visual.html#Visual">Visual</A> mode on the
    matching text.
8   Add a modifier to interpret a space like &quot;\_s\+&quot; to make <A HREF="motion.html#it">it</A> much easier to
    search for a phrase.
8   Add a mechanism for recursiveness: &quot;\@(([^()]*\@g[^()]*)\)&quot;.  \@g stands
    for &quot;go recursive here&quot; and \@( \) marks the recursive part.
    <A HREF="if_perl.html#Perl">Perl</A> does <A HREF="motion.html#it">it</A> this way:
	    $paren = qr/ \(( [^()] &#124; (??{ $paren }) )* \) /x;
    Here $paren is evaluated when it's encountered.  This is like a <A HREF="pattern.html#regexp">regexp</A>
    inside a <A HREF="pattern.html#regexp">regexp</A>.  In the above terms <A HREF="motion.html#it">it</A> would be:
	    \@((\([^()]\|\@g\)*)\)
8   Show the progress every second.  Could use the code that checks for <A HREF="pattern.html#CTRL-C">CTRL-C</A>
    to find out how much time has passed.  Or use SIGALRM.  Where to show the
    number?
7   Support for approximate-regexps to find similar words (agrep
	<A HREF="http://www.tgries.de/agrep/">http://www.tgries.de/agrep/</A> tre:	<A HREF="http://laurikari.net/tre/index.html">http://laurikari.net/tre/index.html</A>.
8   Add an item for a big character range, so that one can search for a
    chinese character: \z[234-1234]  or \z[XX-YY] or \z[0x23-0x234].
7   Add an item stack to allow matching ().  One side is &quot;push X on
    the stack if previous atom matched&quot;.  Other side is &quot;match with top of
    stack, pop <A HREF="motion.html#it">it</A> when <A HREF="motion.html#it">it</A> matches&quot;.  Use &quot;\@pX&quot; and &quot;\@m&quot;?
	Example: \((\@p).\{-}\@m\)*
7   Add a flag to &quot;/pat/&quot; to <A HREF="editing.html#discard">discard</A> an error.  Useful to continue a <A HREF="map.html#mapping">mapping</A>
    when a search fails.  Could be &quot;/pat/E&quot; (e is already used for end offset).
7   Add <A HREF="pattern.html#pattern">pattern</A> item to use properties of <A HREF="mbyte.html#Unicode">Unicode</A> characters.  In <A HREF="if_perl.html#Perl">Perl</A> it's
    &quot;\p{L}&quot; for a <A HREF="print.html#letter">letter</A>.  See Regular Expression Pocket Reference.
8   Would <A HREF="motion.html#it">it</A> be possible to allow &quot;:23,45/pat/flags&quot; to search for &quot;pat&quot; in
    lines 23 to 45?  Or does this conflict with <A HREF="intro.html#Ex">Ex</A> range <A HREF="syntax.html#syntax">syntax</A>?
8   Allow identical pairs in <A HREF="options.html#'matchpairs'">'matchpairs'</A>.  Restrict the search to the current
    line.
7   Allow longer pairs in <A HREF="options.html#'matchpairs'">'matchpairs'</A>.  Use matchit.vim <A HREF="motion.html#as">as</A> an
    example.
8   Make <A HREF="motion.html#it">it</A> possible to define the character that &quot;<A HREF="motion.html#&#37;">&#37;</A>&quot; checks for in
    #if/#endif.  For nmake it's !if/!endif.
-   For &quot;<A HREF="motion.html#&#37;">&#37;</A>&quot; command: set hierarchy for which things include other things that
    should be ignored (like &quot;*/&quot; or &quot;#endif&quot; inside /* */).
    Also: use &quot;<A HREF="motion.html#&#37;">&#37;</A>&quot; to jump from start to end of <A HREF="syntax.html#syntax">syntax</A> region and back.
    Alternative: use matchit.vim
8   A <A HREF="pattern.html#pattern">pattern</A> like &quot;\([^a]\+\)\+&quot; takes an awful long time.  Recognize that
    the recursive &quot;\+&quot; is meaningless and optimize for <A HREF="motion.html#it">it</A>.
    This one is also very slow on &quot;/* some comment */&quot;: &quot;^\/\*\(.*[^/]\)*$&quot;.
7   Recognize &quot;[a-z]&quot;, &quot;[0-9]&quot;, etc. and replace them with the faster &quot;\l&quot; and
    &quot;\d&quot;.
7   Add a way to specify characters in &lt;C-M&gt; or &lt;Key&gt; form.  Could be
    \&#37;&lt;C-M&gt;.
8   Add an argument after &quot;:s/pat/str/&quot; for a range of matches.  For example,
    &quot;:s/pat/str/#3-4&quot; to replace only the third and fourth &quot;pat&quot; in a line.
8   When <A HREF="options.html#'iskeyword'">'iskeyword'</A> is changed the matches from <A HREF="options.html#'hlsearch'">'hlsearch'</A> may change. (Benji
    Fisher)  redraw if some <A HREF="options.html#options">options</A> are set while <A HREF="options.html#'hlsearch'">'hlsearch'</A> is set?
8   Add an option not to use <A HREF="options.html#'hlsearch'">'hlsearch'</A> highlighting for &quot;<A HREF="change.html#:s">:s</A>&quot; and &quot;<A HREF="repeat.html#:g">:g</A>&quot;
    commands. (Kahn)  It would work like &quot;<A HREF="pattern.html#:noh">:noh</A>&quot; is used after that command.
    Also: An extra flag to <A HREF="diff.html#do">do</A> this once, and a flag to keep the existing
    search <A HREF="pattern.html#pattern">pattern</A>.
-   Make <A HREF="options.html#'hlsearch'">'hlsearch'</A> a local/global option, so that <A HREF="motion.html#it">it</A> can be disabled in some
    of the <A HREF="windows.html#windows">windows</A>.
-   Add \&#37;h{group-name}; to search for a specific highlight group.
    Add \&#37;s{syntax-group}; to search for a specific <A HREF="syntax.html#syntax">syntax</A> group.
-   Support <A HREF="if_perl.html#Perl">Perl</A> <A HREF="pattern.html#regexp">regexp</A>.  Use PCRE (Perl Compatible RE) package. (Shade)
    Or translate the <A HREF="pattern.html#pattern">pattern</A> to a Vim one.
    Don't switch on with an option for typed commands/mappings/functions, it's
    too confusing.  Use &quot;\@@&quot; in the <A HREF="pattern.html#pattern">pattern</A>, to avoid incompatibilities.
8   Add a way to access the last substitute text, what is used for &quot;:s//~/&quot;.
    Can't use the ~ <A HREF="sponsor.html#register">register</A>, it's already used for drag <A HREF="change.html#&amp;">&amp;</A> drop.
-   Remember flags for backreferenced items, so that &quot;*&quot; can be used after <A HREF="motion.html#it">it</A>.
    Check with &quot;\(\S\)\1\{3}&quot;. (Hemmerling)
8   Flags that apply to the whole <A HREF="pattern.html#pattern">pattern</A>.
    This works for all places where a <A HREF="pattern.html#regexp">regexp</A> is used.
    Add &quot;\q&quot; to not store this <A HREF="pattern.html#pattern">pattern</A> <A HREF="motion.html#as">as</A> the last search <A HREF="pattern.html#pattern">pattern</A>?
-   Add flags to search command (also for &quot;:s&quot;?):
    <A HREF="insert.html#i">i</A>	ignore <A HREF="change.html#case">case</A>
    I	use <A HREF="change.html#case">case</A>
    <A HREF="change.html#p">p</A>	use <A HREF="if_perl.html#Perl">Perl</A> <A HREF="pattern.html#regexp">regexp</A> <A HREF="syntax.html#syntax">syntax</A> (or POSIX?)
    <A HREF="visual.html#v">v</A>	use <A HREF="intro.html#Vi">Vi</A> <A HREF="pattern.html#regexp">regexp</A> <A HREF="syntax.html#syntax">syntax</A>
    <A HREF="motion.html#f">f</A>	forget <A HREF="pattern.html#pattern">pattern</A>, don't keep <A HREF="motion.html#it">it</A> for &quot;<A HREF="pattern.html#n">n</A>&quot; command
    <A HREF="motion.html#F">F</A>   remember <A HREF="pattern.html#pattern">pattern</A>, keep <A HREF="motion.html#it">it</A> for &quot;<A HREF="pattern.html#n">n</A>&quot; command
    <A HREF="if_perl.html#Perl">Perl</A> uses these too:
    <A HREF="motion.html#e">e</A>	evaluate the right side <A HREF="motion.html#as">as</A> an <A HREF="eval.html#expression">expression</A> (Perl only)
    <A HREF="motion.html#m">m</A>	multiple line <A HREF="eval.html#expression">expression</A> (we don't need <A HREF="motion.html#it">it</A>)
    <A HREF="insert.html#o">o</A>	compile only once (Perl only)
    <A HREF="change.html#s">s</A>	single line <A HREF="eval.html#expression">expression</A> (we don't need <A HREF="motion.html#it">it</A>)
    <A HREF="change.html#x">x</A>	extended <A HREF="pattern.html#regexp">regexp</A> (we don't need <A HREF="motion.html#it">it</A>)
    When used after &quot;<A HREF="repeat.html#:g">:g</A>&quot; command, <A HREF="intro.html#backslash">backslash</A> needed to avoid confusion with the
    following command.
    Add 'searchflags' for default flags (replaces <A HREF="options.html#'gdefault'">'gdefault'</A>).
-   Add command to display the last used substitute <A HREF="pattern.html#pattern">pattern</A> and last used
    <A HREF="pattern.html#pattern">pattern</A>. (Margo)  Maybe make <A HREF="motion.html#it">it</A> accessible through a <A HREF="sponsor.html#register">register</A> (like &quot;<A HREF="pattern.html#/">/</A>
    for search string)?
7   Use T-search algorithm, to speed up searching for strings without special
    characters.  See C't article, August 1997.
-   Add 'fuzzycase' option, so that <A HREF="change.html#case">case</A> doesn't matter, and '<A HREF="motion.html#-">-</A>' and '<A HREF="motion.html#_">_</A>' are
    equivalent (for <A HREF="os_unix.html#Unix">Unix</A> filenames).
-   Add '<A HREF="visual.html#v">v</A>' flag to search command: enter <A HREF="visual.html#Visual">Visual</A> mode, with the matching text
    <A HREF="motion.html#as">as</A> <A HREF="visual.html#Visual">Visual</A> area. (variation on idea from Bertin)
-   Searching: &quot;/this//that/&quot; should find &quot;that&quot; after &quot;this&quot;.
-   Add global search commands: Instead of wrapping at the end of the buffer,
    they continue in another buffer.  Use flag after search <A HREF="pattern.html#pattern">pattern</A>:
    a	for the next file in the argument <A HREF="eval.html#list">list</A>
    <A HREF="motion.html#f">f</A>	for file in the buffer <A HREF="eval.html#list">list</A>
    <A HREF="motion.html#w">w</A>	for file edited in a <A HREF="windows.html#window">window</A>.
    e.g. &quot;/pat/f&quot;.  Then &quot;<A HREF="pattern.html#n">n</A>&quot; and &quot;<A HREF="pattern.html#N">N</A>&quot; work through files too.  &quot;<A HREF="motion.html#f">f</A>&quot; flag also for
    &quot;:s/pat/foo/f&quot;???  Then when <A HREF="options.html#'autowrite'">'autowrite'</A> and <A HREF="options.html#'hidden'">'hidden'</A> are both not set, ask
    before saving files: &quot;Save modified buffer &quot;/path/file&quot;? (Yes/Hide/No
    Save-all/hide-All/Quit) &quot;.
-   &quot;:s/pat/foo/3&quot;: find 3rd match of &quot;pat&quot;, like sed. (Thomas Koehler)
7   When searching with '<A HREF="pattern.html#n">n</A>' give message when getting back where the search
    first started.  Remember start of search in '/ <A HREF="motion.html#mark">mark</A>.
7   Add option that scrolls screen to put cursor in middle of screen after
    search always/when off-screen/never.  And after a &quot;<A HREF="tagsrch.html#:tag">:tag</A>&quot; command.  Maybe
    specify how many lines below the screen causes a redraw with the cursor in
    the middle (default would be half a screen, zero means always).
6   Support multiple search <A HREF="windows.html#buffers">buffers</A>, so macros can be made without side
    effects.
7   From xvim: Allow a newline in search patterns (also for <A HREF="change.html#:s">:s</A>, can delete
    newline).  Add BOW, EOW, NEWL, NLORANY, NLBUTANY, magic '<A HREF="pattern.html#n">n</A>' and '<A HREF="change.html#r">r</A>', etc.
    [not in xvim:] Add option to switch on matches crossing ONE line boundary.
7   Add &quot;:iselect&quot;, a combination of &quot;<A HREF="tagsrch.html#:ilist">:ilist</A>&quot; and &quot;<A HREF="tagsrch.html#:tselect">:tselect</A>&quot;. (Aaron) (Zellner)
    Also &quot;:dselect&quot;.


Undo:
9   &quot;:gundo&quot; command: global <A HREF="undo.html#undo">undo</A>.  Undoes changes spread over multiple files
    in the order they were made.  Also &quot;:gredo&quot;.  Both with a <A HREF="intro.html#count">count</A>.  Useful
    when tests fail after making changes and you forgot in which files.
9   After undo/redo, in the message show whether the buffer is modified or
    not.
8   Search for <A HREF="pattern.html#pattern">pattern</A> in <A HREF="undo.html#undo">undo</A> tree, showing when <A HREF="motion.html#it">it</A> happened and the text
    state, so that you can jump to <A HREF="motion.html#it">it</A>.
8   Undo tree: visually show the tree somehow (Damian Conway)
    Show only the leaves, indicating how many changed from the branch and the
    <A HREF="editing.html#timestamp">timestamp</A>?
    Put branch with most recent change on the left, older changes get more
    indent?
-   Make <A HREF="motion.html#it">it</A> possible to <A HREF="undo.html#undo">undo</A> all the commands from a <A HREF="map.html#mapping">mapping</A>, including a
    trailing unfinished command, e.g. for &quot;<A HREF="map.html#:map">:map</A> <A HREF="various.html#K">K</A> iX^[r&quot;.
-   When accidentally hitting &quot;<A HREF="change.html#R">R</A>&quot; instead of Ctrl-R, further Ctrl-R is not
    possible, even when typing <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> immediately. (Grahn)  Also for &quot;<A HREF="insert.html#i">i</A>&quot;, &quot;<A HREF="insert.html#a">a</A>&quot;,
    etc.  Postpone saving for <A HREF="undo.html#undo">undo</A> until something is really inserted?
8   When Inserting a lot of text, <A HREF="motion.html#it">it</A> can only be undone <A HREF="motion.html#as">as</A> a whole.  Make <A HREF="undo.html#undo">undo</A>
    sync points at every line or <A HREF="motion.html#word">word</A>.  Could recognize the start of a new
    <A HREF="motion.html#word">word</A> (white space and then non-white space) and backspacing.
    Can already use <A HREF="editing.html#CTRL-G">CTRL-G</A> <A HREF="undo.html#u">u</A>, but that requires remapping a lot of things.
8   Make <A HREF="undo.html#undo">undo</A> more memory-efficient: Compare text before and after change,
    only remember the lines that really changed.
7   Add <A HREF="undo.html#undo">undo</A> for a range of lines.  Can change these back to a previous
    version without <A HREF="change.html#changing">changing</A> the rest of the file.  Stop doing this when a
    change includes only some of these lines and changes the line <A HREF="intro.html#count">count</A>.  Need
    to store these <A HREF="undo.html#undo">undo</A> actions <A HREF="motion.html#as">as</A> a separate change that can be undone.
-   For u_save() include the column number. This can be used to set <A HREF="motion.html#'[">'[</A> and <A HREF="motion.html#']">']</A>.
    And in the future the <A HREF="undo.html#undo">undo</A> can be made more efficient (Webb).
-   In out-of-memory situations: Free allocated space in <A HREF="undo.html#undo">undo</A>, and reduce the
    number of <A HREF="undo.html#undo">undo</A> levels (with confirmation).
-   Instead of [+], give the number of changes since the last write: [+123].
    When undoing to before the last write, change this to a negative number:
    [-99].
-   With <A HREF="undo.html#undo">undo</A> with simple line delete/insert: optimize screen updating.
-   When executing macro's: Save each line for <A HREF="undo.html#undo">undo</A> only once.
-   When doing a global substitute, causing almost all lines to be changed,
    <A HREF="undo.html#undo">undo</A> info becomes very big.  Put <A HREF="undo.html#undo">undo</A> info in swap file??


Buffer <A HREF="eval.html#list">list</A>:
7   Command to execute a command in another buffer: &quot;:inbuf {bufname} {cmd}&quot;.
    Also for other <A HREF="windows.html#windows">windows</A>: &quot;:inwin {winnr} {cmd}&quot;.  How to make sure that
    this works properly for all commands, and still be able to return to the
    current buffer/window?  E.g.: &quot;:inbuf xxx only&quot;.
8   Add File.{recent_files} menu entries: Recently edited files.
    Ron Aaron has a <A HREF="usr_05.html#plugin">plugin</A> for this: mru.vim.
8   <A HREF="os_unix.html#Unix">Unix</A>: Check all uses of fnamecmp() and fnamencmp() if they should check
    inode too.
7   Add another number for a buffer, which is visible for the user.  When
    creating a new buffer, use the lowest number not in use (or the highest
    number in use plus one?).
7   Offer some buffer selection from the command line?  Like using &quot;<A HREF="windows.html#:ls">:ls</A>&quot; and
    asking for a buffer number. (Zachmann)
-   When starting to edit a file that is already in the buffer <A HREF="eval.html#list">list</A>, use the
    file name argument for the new short file name. (Webb)
-   Add an option to make &quot;<A HREF="windows.html#:bnext">:bnext</A>&quot; and &quot;:bprev&quot; wrap around the end of the
    buffer <A HREF="eval.html#list">list</A>.  Also for &quot;<A HREF="editing.html#:next">:next</A>&quot; and &quot;<A HREF="editing.html#:prev">:prev</A>&quot;?
7   Add argument to &quot;<A HREF="windows.html#:ls">:ls</A>&quot; which is a <A HREF="pattern.html#pattern">pattern</A> for <A HREF="windows.html#buffers">buffers</A> to <A HREF="eval.html#list">list</A>.
    E.g. &quot;<A HREF="windows.html#:ls">:ls</A> *.c&quot;. (Thompson)
7   Add expansion of buffer names, so that &quot;*.c&quot; is expanded to all buffer
    names.  Needed for &quot;<A HREF="windows.html#:bdel">:bdel</A> *.c&quot;, &quot;<A HREF="windows.html#:bunload">:bunload</A> *.c&quot;, etc.
8   Support for <A HREF="cmdline.html#&lt;afile&gt;">&lt;afile&gt;</A> where a buffer name is expected.
7   Add an option to mostly use slashes in file names.  Separately for
    internal use and for when executing an external program?
8   Some file systems are case-sensitive, some are not.  Besides
    <A HREF="options.html#'wildignorecase'">'wildignorecase'</A> there might be more parts inside
    CASE_INSENSITIVE_FILENAME that are useful on <A HREF="os_unix.html#Unix">Unix</A>.


Swap (.swp) files:
8   If <A HREF="editing.html#writing">writing</A> to the swap file fails, should try to open one in another
    directory from <A HREF="options.html#'dir'">'dir'</A>.  Useful in <A HREF="change.html#case">case</A> the file system is full and when
    there are short file name problems.
8   Also use the code to try using a short file name for the <A HREF="editing.html#backup">backup</A> and swap
    file for the <A HREF="os_win32.html#Win32">Win32</A> and Dos 32 bit versions.
8   When a file is edited by root, add $LOGNAME to know who did su.
8   When the edited file is a symlink, try to put the swap file in the same
    dir <A HREF="motion.html#as">as</A> the actual file.  Adjust FullName().  Avoids editing the same file
    <A HREF="if_cscop.html#twice">twice</A> (e.g. when using <A HREF="quickfix.html#quickfix">quickfix</A>).  Also try to make the name of the <A HREF="editing.html#backup">backup</A>
    file the same <A HREF="motion.html#as">as</A> the actual file?
    Use the code for <A HREF="eval.html#resolve()">resolve()</A>?
7   When using 64 bit inode numbers, also store the top 32 bits.  Add another
    field for this, using part of bo_fname[], to keep <A HREF="motion.html#it">it</A> compatible.
7   When editing a file on removable media, should put swap file somewhere
    else.  Use something like '<A HREF="change.html#r">r</A>' flag in <A HREF="options.html#'viminfo'">'viminfo'</A>.  'diravoid'?
    Also: Be able to specify minimum disk space, skip directory when not
    enough room.
7   Add a configure check for which directory should be used: /tmp, /var/tmp
    or /var/preserve.
-   Add an option to create a swap file only when making the first change to
    the buffer.  (Liang)  Or only when the buffer is not read-only.
-   Add option to set &quot;umask&quot; for <A HREF="editing.html#backup">backup</A> files and swap files (Antwerpen).
    'backupumask' and 'swapumask'?  Or 'umaskbackup' and 'umaskswap'?
-   When editing a readonly file, don't use a swap file but read parts from the
    original file.  Also <A HREF="diff.html#do">do</A> this when the file is huge (&gt;'maxmem').  We <A HREF="diff.html#do">do</A>
    need to load the file once to <A HREF="intro.html#count">count</A> the number of lines?  Perhaps keep a
    cached <A HREF="eval.html#list">list</A> of which line is where.


Viminfo:
7   Can probably remove the code that checks for a writable <A HREF="starting.html#viminfo">viminfo</A> file,
    because we now <A HREF="diff.html#do">do</A> the chown() for root, and others can't overwrite someone
    else's <A HREF="starting.html#viminfo">viminfo</A> file.
8   When there is no .viminfo file and someone does &quot;su&quot;, runs Vim, a
    root-owned .viminfo file is created.  Is there a good way to avoid this?
    Perhaps check the owner of the directory.  Only when root?
8   Add argument to keep the <A HREF="eval.html#list">list</A> of <A HREF="windows.html#buffers">buffers</A> when Vim is started with a file
    name. (Schild)
8   Keep the last used directory of the file browser (File/Open menu).
8   Remember the last used <A HREF="sponsor.html#register">register</A> for &quot;<A HREF="repeat.html#@@">@@</A>&quot;.
8   Remember the <A HREF="undo.html#redo">redo</A> buffer, so that &quot;<A HREF="repeat.html#.">.</A>&quot; works after restarting.
8   Remember a <A HREF="eval.html#list">list</A> of last accessed files.  To be used in the
    &quot;File.Open Recent&quot; menu.  Default is to remember 10 files or so.
    Also remember which files have been read and written.  How to display
    this?
7   Also store the &quot;. <A HREF="sponsor.html#register">register</A> (last inserted text).
7   Make <A HREF="motion.html#it">it</A> possible to store buffer names in <A HREF="starting.html#viminfo">viminfo</A> file relative to some
    directory, to make them portable over a <A HREF="pi_netrw.html#network">network</A>. (Aaron)
6   Store a snapshot of the currently opened <A HREF="windows.html#windows">windows</A>.  So that when quitting
    Vim, and then starting again (without a file name argument), you see the
    same files in the <A HREF="windows.html#windows">windows</A>.  Use &quot;<A HREF="starting.html#:mksession">:mksession</A>&quot; code?
-   Make marks present in .viminfo usable <A HREF="motion.html#as">as</A> file marks: Display a <A HREF="eval.html#list">list</A> of
    &quot;last visited files&quot; and select one to jump to.


Modelines:
8   Before trying to execute a <A HREF="options.html#modeline">modeline</A>, check that <A HREF="motion.html#it">it</A> looks like one (valid
    option names).  If it's very wrong, silently ignore <A HREF="motion.html#it">it</A>.
    Ignore a line that starts with &quot;Subject: &quot;.
-   Add an option to whitelist <A HREF="options.html#options">options</A> that are allowed in a <A HREF="options.html#modeline">modeline</A>.  This
    would allow careful users to use modelines, e.g., only allowing
    <A HREF="options.html#'shiftwidth'">'shiftwidth'</A>.
-   Add an option to let modelines only set local <A HREF="options.html#options">options</A>, not global ones
    such <A HREF="motion.html#as">as</A> <A HREF="options.html#'encoding'">'encoding'</A>.
-   When an option value is coming from a <A HREF="options.html#modeline">modeline</A>, <A HREF="diff.html#do">do</A> not carry <A HREF="motion.html#it">it</A> over to
    another edited file?  Would need to remember the value from before the
    <A HREF="options.html#modeline">modeline</A> setting.
-   Allow setting a variable from a <A HREF="options.html#modeline">modeline</A>?  Only allow using fixed strings,
    no function calls, to avoid a security problem.
-   Allow &quot;:doauto <A HREF="autocmd.html#BufRead">BufRead</A> x.cpp&quot; in modelines, to execute autocommands for
    .cpp files.
-   Support the &quot;abbreviate&quot; command in modelines (Kearns).  Careful for
    characters after <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A>, that is a security leak.
-   Add option setting to ask user if he wants to have the modelines executed
    or not.  Same for <A HREF="starting.html#.exrc">.exrc</A> in local dir.


Sessions:
8   DOS/Windows: &quot;<A HREF="starting.html#:mksession">:mksession</A>&quot; generates a &quot;cd&quot; command where &quot;aa\#bb&quot; means
    directory &quot;#bb&quot; in &quot;aa&quot;, but it's used <A HREF="motion.html#as">as</A> &quot;aa#bb&quot;. (Ronald Hoellwarth)
7   When there is a &quot;<A HREF="help.html#help.txt">help.txt</A>&quot; <A HREF="windows.html#window">window</A> in a session file, restoring that
    session will not get the &quot;LOCAL ADDITIONS&quot; back.
8   With &quot;<A HREF="starting.html#:mksession">:mksession</A>&quot; always store the <A HREF="options.html#'sessionoptions'">'sessionoptions'</A> option, even when
    &quot;<A HREF="options.html#options">options</A>&quot; isn't in <A HREF="motion.html#it">it</A>. (St-Amant)
8   When using &quot;<A HREF="starting.html#:mksession">:mksession</A>&quot;, also store a command to reset all <A HREF="options.html#options">options</A> to
    their default value, before setting the <A HREF="options.html#options">options</A> that are not at their
    default value.
7   With &quot;<A HREF="starting.html#:mksession">:mksession</A>&quot; also store the <A HREF="tagsrch.html#tag">tag</A> stack and jump <A HREF="cmdline.html#history">history</A>. (Michal
    Malecki)
7   Persistent <A HREF="eval.html#variables">variables</A>: &quot;p:var&quot;; stored in <A HREF="starting.html#viminfo">viminfo</A> file and sessions files.


Options:
7   &quot;:with option=value &#124; command&quot;: temporarily set an option value and
    restore <A HREF="motion.html#it">it</A> after the command has executed.
8   Make &quot;old&quot; number <A HREF="options.html#options">options</A> that really give a number of effects into <A HREF="eval.html#string">string</A>
    <A HREF="options.html#options">options</A> that are a comma separated <A HREF="eval.html#list">list</A>.  The old number values should
    also be supported.
8   Add commands to save and restore an option, which also preserves the flag
    that marks if the option was set.  Useful to keep the effect of setting
    <A HREF="options.html#'compatible'">'compatible'</A> after &quot;<A HREF="syntax.html#:syntax">:syntax</A> on&quot; has been used.
7   There is <A HREF="options.html#'titleold'">'titleold'</A>, why is there no 'iconold'? (Chazelas)
7   Make <A HREF="options.html#'scrolloff'">'scrolloff'</A> a <A HREF="options.html#global-local">global-local</A> option, so that <A HREF="motion.html#it">it</A> can be different in the
    <A HREF="quickfix.html#quickfix">quickfix</A> <A HREF="windows.html#window">window</A>, for example. (Gary Holloway)
    Also <A HREF="diff.html#do">do</A> <A HREF="options.html#'sidescrolloff'">'sidescrolloff'</A>.


External commands:
8   When filtering text, redirect stderr so that <A HREF="motion.html#it">it</A> can't mess up the screen
    and Vim doesn't need to redraw <A HREF="motion.html#it">it</A>.  Also for &quot;<A HREF="insert.html#:r">:r</A> !cmd&quot;.
4   Set separate shell for &quot;<A HREF="various.html#:sh">:sh</A>&quot;, piping &quot;range!filter&quot;, reading text &quot;<A HREF="change.html#r">r</A> !ls&quot;
    and <A HREF="editing.html#writing">writing</A> text &quot;<A HREF="motion.html#w">w</A> !wc&quot;. (Deutsche)  Allow arguments for fast start (e.g.
    <A HREF="starting.html#-f">-f</A>).
4   Allow direct execution, without using a shell.
4   Run an external command in the background.  But how about I/O in the <A HREF="gui.html#GUI">GUI</A>?
    Careful: don't turn Vim into a shell!
4   Add feature to disable using a shell or external commands.


Multiple Windows:
7   &quot;vim -oO file ...&quot; use both horizontal and vertical splits.
8   Add <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="motion.html#T">T</A>: go to the top <A HREF="windows.html#window">window</A> in the column of the current <A HREF="windows.html#window">window</A>.
    And <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="motion.html#B">B</A>: go to bottom <A HREF="windows.html#window">window</A>.
7   Use <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="motion.html#&lt;Tab&gt;">&lt;Tab&gt;</A>, like alt-tab, to switch between <A HREF="windows.html#buffers">buffers</A>.  Repeat <A HREF="motion.html#&lt;Tab&gt;">&lt;Tab&gt;</A>
    to select another buffer (only loaded ones?), <A HREF="motion.html#&lt;BS&gt;">&lt;BS&gt;</A> to go back, <A HREF="intro.html#&lt;Enter&gt;">&lt;Enter&gt;</A> to
    select buffer, <A HREF="intro.html#&lt;Esc&gt;">&lt;Esc&gt;</A> to go back to original buffer.
7   Make <A HREF="motion.html#it">it</A> possible to edit a new buffer in the preview <A HREF="windows.html#window">window</A>.  A <A HREF="usr_41.html#script">script</A> can
    then fill <A HREF="motion.html#it">it</A> with something.  &quot;:popen&quot;?
7   Add a 'tool' <A HREF="windows.html#window">window</A>: behaves like a preview <A HREF="windows.html#window">window</A> but there can be
    several.  Don't <A HREF="intro.html#count">count</A> <A HREF="motion.html#it">it</A> in only_one_window(). (Alexei Alexandrov)
6   Add an option to resize the shell when splitting and/or closing a <A HREF="windows.html#window">window</A>.
    &quot;:vsp&quot; would make the shell wider by <A HREF="motion.html#as">as</A> many columns <A HREF="motion.html#as">as</A> needed for the new
    <A HREF="windows.html#window">window</A>.  Specify a maximum size (or use the screen size).  &quot;<A HREF="windows.html#:close">:close</A>&quot; would
    shrink the shell by <A HREF="motion.html#as">as</A> many columns <A HREF="motion.html#as">as</A> come available. (Demirel)
7   When starting Vim several times, instantiate a Vim server, that allows
    communication between the different Vims.  Feels like one Vim running with
    multiple top-level <A HREF="windows.html#windows">windows</A>.  Esp. useful when Vim is started from an IDE
    too.  Requires some form of inter process communication.
-   Support a connection to an external viewer.  Could call the viewer
    automatically after some seconds of non-activity, or with a command.
    Allow some way of reporting <A HREF="scroll.html#scrolling">scrolling</A> and cursor positioning in the viewer
    to Vim, so that the link between the viewed and edited text can be made.


Marks:
8   Add ten marks for last changed files: ':0, ':1, etc.  One <A HREF="motion.html#mark">mark</A> per file.
8   When cursor is first moved because of <A HREF="scroll.html#scrolling">scrolling</A>, set a <A HREF="motion.html#mark">mark</A> at this
    position.  (Rimon Barr)  Use '-.
8   Add a command to jump to a <A HREF="motion.html#mark">mark</A> and make the motion <A HREF="motion.html#inclusive">inclusive</A>.  g'm and g`m?
8   The &#39;&#34;' <A HREF="motion.html#mark">mark</A> is set to the first line, even when doing &quot;<A HREF="editing.html#:next">:next</A>&quot; a few times.
    Only set the &#39;&#34;' <A HREF="motion.html#mark">mark</A> when the cursor was really moved in a file.
8   Make <A HREF="motion.html#``">``</A> and <A HREF="motion.html#''">''</A>, which would position the new cursor position in the middle
    of the <A HREF="windows.html#window">window</A>, restore the old topline (or relative position) from when
    the <A HREF="motion.html#mark">mark</A> was set.
7   Make a <A HREF="eval.html#list">list</A> of file marks in a separate <A HREF="windows.html#window">window</A>.  For listing all <A HREF="windows.html#buffers">buffers</A>,
    matching <A HREF="tagsrch.html#tags">tags</A>, <A HREF="message.html#errors">errors</A>, etc.  <A HREF="intro.html#Normal">Normal</A> commands to move around.  Add commands
    to jump to the <A HREF="motion.html#mark">mark</A> (in current <A HREF="windows.html#window">window</A> or new <A HREF="windows.html#window">window</A>).  Start <A HREF="motion.html#it">it</A> with
    &quot;<A HREF="editing.html#:browse">:browse</A> marks&quot;?
6   Add a menu that lists the Marks like &quot;<A HREF="motion.html#:marks">:marks</A>&quot;. (Amerige)
7   For &quot;<A HREF="motion.html#:jumps">:jumps</A>&quot;, &quot;<A HREF="tagsrch.html#:tags">:tags</A>&quot; and &quot;<A HREF="motion.html#:marks">:marks</A>&quot;, for not loaded <A HREF="windows.html#buffers">buffers</A>, remember the
    text at the <A HREF="motion.html#mark">mark</A>.  Highlight the column with the <A HREF="motion.html#mark">mark</A>.
7   Highlight each <A HREF="motion.html#mark">mark</A> in some way (With &quot;<A HREF="motion.html#Mark">Mark</A>&quot; highlight group).
    Or display marks in a separate column, like <A HREF="options.html#'number'">'number'</A> does.
7   Use d&quot;m to delete rectangular area from cursor to <A HREF="motion.html#mark">mark</A> <A HREF="motion.html#m">m</A> (like Vile's \m
    command).
7   Try to keep marks in the same position when:
    - <A HREF="change.html#replacing">replacing</A> with a line break, like in &quot;:s/pat/^M/&quot;, move marks after the
      line break column to the next line. (Acevedo)
    - inserting/deleting characters in a line.
5   Include marks for start/end of the current <A HREF="motion.html#word">word</A> and section.  Useful in
    mappings.
6   Add &quot;unnamed mark&quot; feature: Like marks for the &quot;<A HREF="repeat.html#:g">:g</A>&quot; command, but place and
    unplace them with commands before doing something with the lines.
    Highlight the marked lines somehow.


<A HREF="digraph.html#Digraphs">Digraphs</A>:
7   Make &quot;<A HREF="various.html#ga">ga</A>&quot; show the keymap for a character, if <A HREF="motion.html#it">it</A> exists.
    Also show the code of the character after conversion to <A HREF="options.html#'fileencoding'">'fileencoding'</A>.
-   Use <A HREF="digraph.html#digraph">digraph</A> table to tell Vim about the collating sequence of special
    characters?
8   Add command to remove one or more (all) <A HREF="digraph.html#digraphs">digraphs</A>. (Brown)
7   Support different sets of <A HREF="digraph.html#digraphs">digraphs</A> (depending on the character set?).  At
    least Latin1/Unicode, Latin-2, <A HREF="os_msdos.html#MS-DOS">MS-DOS</A> (esp. for <A HREF="os_win32.html#Win32">Win32</A>).


Writing files:
-   In vim_rename(), should lock &quot;from&quot; file when <A HREF="change.html#deleting">deleting</A> &quot;to&quot; file for
    systems other than <A HREF="os_amiga.html#Amiga">Amiga</A>.  Avoids problems with unexpected longname to
    shortname conversion.
8   write mch_isdevice() for <A HREF="os_amiga.html#Amiga">Amiga</A>, <A HREF="os_mac.html#Mac">Mac</A>, <A HREF="os_vms.html#VMS">VMS</A>, etc.
8   When appending to a file, Vim should also make a <A HREF="editing.html#backup">backup</A> and a <A HREF="options.html#'patchmode'">'patchmode'</A>
    file.
8   <A HREF="options.html#'backupskip'">'backupskip'</A> doesn't write a <A HREF="editing.html#backup">backup</A> file at all, a bit dangerous for some
    applications.  Add 'backupelsewhere' to write a <A HREF="editing.html#backup">backup</A> file in another
    directory?  Or add a flag to <A HREF="options.html#'backupdir'">'backupdir'</A>?
6   Add an option to write a new, numbered, <A HREF="editing.html#backup">backup</A> file each time.  Like
    <A HREF="options.html#'patchmode'">'patchmode'</A>, e.g., 'backupmode'.
6   Make <A HREF="motion.html#it">it</A> possible to write <A HREF="options.html#'patchmode'">'patchmode'</A> files to a different directory.
    E.g., &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'patchmode'">patchmode</A>=~/backups/*.orig&quot;. (Thomas)
6   Add an option to prepend something to the <A HREF="editing.html#backup">backup</A> file name.  E.g., &quot;<A HREF="pattern.html##">#</A>&quot;.
    Or maybe allow a function to modify the <A HREF="editing.html#backup">backup</A> file name?
8   Only make a <A HREF="editing.html#backup">backup</A> when overwriting a file for the first time.  Avoids
    losing the original when <A HREF="editing.html#writing">writing</A> <A HREF="if_cscop.html#twice">twice</A>. (Slootman)
7   On non-Unix machines, also overwrite the original file in some situations
    (file system full, it's a link on an NFS partition).
7   When editing a file, check that <A HREF="motion.html#it">it</A> has been change outside of Vim more
    often, not only when <A HREF="editing.html#writing">writing</A> over <A HREF="motion.html#it">it</A>.  E.g., at the time the swap file is
    flushed.  Or every ten seconds or so (use the time of day, check <A HREF="motion.html#it">it</A> before
    waiting for a character to be typed).
8   When a file was changed since editing started, show this in the status
    line of the <A HREF="windows.html#window">window</A>, like &quot;[time]&quot;.
    Make <A HREF="motion.html#it">it</A> easier to <A HREF="editing.html#reload">reload</A> all outdated files that don't have changes.
    Automatic and/or with a command.


Substitute:
8   Substitute with hex/unicode number &quot;\&#37;xff&quot; and &quot;\&#37;uabcd&quot;.  Just like
    &quot;\&#37;uabcd&quot; in search <A HREF="pattern.html#pattern">pattern</A>.
8   Make <A HREF="motion.html#it">it</A> easier to replace in all files in the argument <A HREF="eval.html#list">list</A>.  E.g.:
    &quot;:argsub/oldword/newword/&quot;.  Works like &quot;<A HREF="editing.html#:argdo">:argdo</A> &#37;s/oldword/newword/g|w&quot;.
-   :s///p prints the line after a substitution.
-   With :s///c replace \&amp;, ~, etc. when showing the replacement <A HREF="pattern.html#pattern">pattern</A>.
8   With :s///c allow <A HREF="scroll.html#scrolling">scrolling</A> horizontally when <A HREF="options.html#'nowrap'">'nowrap'</A> is effective.
    Also allow a <A HREF="intro.html#count">count</A> before the <A HREF="scroll.html#scrolling">scrolling</A> keys.
-   Add number option to &quot;:s//2&quot;: replace second occurrence of <A HREF="eval.html#string">string</A>?  Or:
    :s///N substitutes N times.
-   Add answers to &quot;<A HREF="change.html#:substitute">:substitute</A>&quot; with '<A HREF="change.html#c">c</A>' flag, used in a &quot;<A HREF="repeat.html#:global">:global</A>&quot;, e.g.:
    &quot;:g/pat1/s/pat2/pat3/cg&quot;: '<A HREF="insert.html#A">A</A>' <A HREF="diff.html#do">do</A> all remaining replacements, '<A HREF="intro.html#Q">Q</A>' don't <A HREF="diff.html#do">do</A>
    any replacements, '<A HREF="undo.html#u">u</A>' <A HREF="undo.html#undo">undo</A> last substitution.
7   Substitute in a block of text.  Use {line}.{column} <A HREF="intro.html#notation">notation</A> in an <A HREF="intro.html#Ex">Ex</A>
    range, e.g.: &quot;:1.3,$.5s&quot; means to substitute from line 1 column 3 to the
    last line column 5.
5   Add commands to <A HREF="usr_03.html#bookmark">bookmark</A> lines, display bookmarks, remove bookmarks,
    operate on lines with bookmarks, etc.  Like &quot;<A HREF="repeat.html#:global">:global</A>&quot; but with the
    possibility to keep the bookmarks and use them with several commands.
    (Stanislav Sitar)


Mouse support:
8   Add '<A HREF="insert.html#o">o</A>' flag to <A HREF="options.html#'mouse'">'mouse'</A>?
7   Be able to set a <A HREF="options.html#'mouseshape'">'mouseshape'</A> for the popup menu.
8   Add <A HREF="options.html#'mouse'">'mouse'</A> flag, which sets a behavior like <A HREF="visual.html#Visual">Visual</A> mode, but automatic
    yanking at the button-up event.  Or like <A HREF="visual.html#Select">Select</A> mode, but typing gets you
    out of <A HREF="visual.html#Select">Select</A> mode, instead of <A HREF="change.html#replacing">replacing</A> the text. (Bhaskar)
-   Implement mouse support for the <A HREF="os_amiga.html#Amiga">Amiga</A> console.
-   Using right mouse button to extend a blockwise selection should attach to
    the nearest corner of the rectangle (four possible corners).
-   Precede mouse click by a number to simulate double clicks?!?
-   When mouse click after '<A HREF="change.html#r">r</A>' command, get character that was pointed to.


Argument <A HREF="eval.html#list">list</A>:
6   Add command to put all filenames from the <A HREF="tagsrch.html#tag">tag</A> files in the argument <A HREF="eval.html#list">list</A>.
    When given an argument, only use the files where that argument matches
    (like `grep <A HREF="starting.html#-l">-l</A> ident`) and jump to the first match.
6   Add command to form an args <A HREF="eval.html#list">list</A> from all the <A HREF="windows.html#buffers">buffers</A>?


Registers:
8   Don't display empty <A HREF="change.html#registers">registers</A> with &quot;<A HREF="change.html#:display">:display</A>&quot;. (Etienne)
8   Add put command that overwrites existing text.  Should also work for
    blocks.  Useful to move text around in a table.  Works like using &quot;<A HREF="change.html#R">R</A> ^R r&quot;
    for every line.
6   When yanking into the unnamed <A HREF="change.html#registers">registers</A> several times, somehow make the
    previous contents also available (like it's done for <A HREF="change.html#deleting">deleting</A>).  What
    <A HREF="sponsor.html#register">register</A> names to use?  g&quot;1, g&quot;2, etc.?
-   When appending to a <A HREF="sponsor.html#register">register</A>, also report the total resulting number of
    lines.  Or just say &quot;99 more lines yanked&quot;, add the &quot;more&quot;.
-   When <A HREF="insert.html#inserting">inserting</A> a <A HREF="sponsor.html#register">register</A> in <A HREF="insert.html#Insert">Insert</A> mode with <A HREF="undo.html#CTRL-R">CTRL-R</A>, don't insert comment
    leader when line wraps?
-   The &quot;:@r&quot; commands should take a range and execute the <A HREF="sponsor.html#register">register</A> for each
    line in the range.
-   Add &quot;<A HREF="change.html#P">P</A>&quot; command to insert contents of unnamed <A HREF="sponsor.html#register">register</A>, move selected text
	to position of previous deleted (to swap foo and <A HREF="motion.html#bar">bar</A> in &quot; + foo&quot;)
8   Should be able to <A HREF="change.html#yank">yank</A> and delete into the &quot;<A HREF="pattern.html#/">/</A> <A HREF="sponsor.html#register">register</A>.
    How to take care of the flags (offset, magic)?


Debug mode:
8   Add breakpoints for setting an option
8   Add breakpoints for assigning to a variable.
7   Store the <A HREF="cmdline.html#history">history</A> from debug mode in <A HREF="starting.html#viminfo">viminfo</A>.
7   Make the debug mode <A HREF="cmdline.html#history">history</A> available with <A HREF="eval.html#histget()">histget()</A> et al.


Various improvements:
7   Add plugins for <A HREF="change.html#formatting">formatting</A>?  Should be able to make a choice depending on
    the language of a file (English/Korean/Japanese/etc.).
    Setting the 'langformat' option to &quot;chinese&quot; would load the
    &quot;format/chinese.vim&quot; <A HREF="usr_05.html#plugin">plugin</A>.
    The <A HREF="usr_05.html#plugin">plugin</A> would set <A HREF="options.html#'formatexpr'">'formatexpr'</A> and define the function being called.
    Edward <A HREF="motion.html#L">L</A>. Fox explains how <A HREF="motion.html#it">it</A> should be done for most Asian languages.
    (2005 Nov 24)
    Alternative: patch for <A HREF="mbyte.html#utf-8">utf-8</A> line breaking. (Yongwei Wu, 2008 Feb 23)
7   [t to move to previous xml/html <A HREF="tagsrch.html#tag">tag</A> (like &quot;vatov&quot;), ]t to move to next
    (&quot;vatv&quot;).
7   [&lt; to move to previous xml/html <A HREF="tagsrch.html#tag">tag</A>, e.g., previous &lt;li&gt;. ]&lt; to move to
    next &lt;li&gt;, ]&lt; to next &lt;/li&gt;, [&lt; to previous &lt;/li&gt;.
8   Add &quot;:rename&quot; command: rename the file of the current buffer and rename
    the buffer.  Buffer may be modified.
7   Instead of filtering <A HREF="message.html#errors">errors</A> with a shell <A HREF="usr_41.html#script">script</A> <A HREF="motion.html#it">it</A> should be possible to
    <A HREF="diff.html#do">do</A> this with Vim <A HREF="usr_41.html#script">script</A>.  A function that filters the raw text that comes
    from the <A HREF="options.html#'makeprg'">'makeprg'</A>?
-   Add &#37;b to <A HREF="options.html#'errorformat'">'errorformat'</A>: buffer number. (Yegappan Lakshmanan / Suresh
    Govindachar)
7   Add a command that goes back to the position from before jumping to the
    first <A HREF="quickfix.html#quickfix">quickfix</A> location.  &quot;:cbefore&quot;?
7   Allow a <A HREF="windows.html#window">window</A> not to have a statusline.  Makes <A HREF="motion.html#it">it</A> possible to use a
    <A HREF="windows.html#window">window</A> <A HREF="motion.html#as">as</A> a buffer-tab selection.
8   Allow non-active <A HREF="windows.html#windows">windows</A> to have a different statusline. (Yakov Lerner)
7   Add an invisible buffer which can be edited.  For use in scripts that want
    to manipulate text without <A HREF="change.html#changing">changing</A> the <A HREF="windows.html#window">window</A> layout.
8   Add a command to revert to the saved version of file; <A HREF="undo.html#undo">undo</A> or <A HREF="undo.html#redo">redo</A> until
    all changes are gone.
6   &quot;vim <A HREF="starting.html#-q">-q</A> -&quot; should read the <A HREF="eval.html#list">list</A> of <A HREF="message.html#errors">errors</A> from stdin. (Gautam Mudunuri)
8   Add &quot;--remote-fail&quot;: When contacting the server fails, exit Vim.
    Add &quot;--remote-self&quot;: When contacting the server fails, <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A> in this Vim.
    Overrules the default of &quot;<A HREF="remote.html#--remote-send">--remote-send</A>&quot; to fail and &quot;<A HREF="remote.html#--remote">--remote</A>&quot; to <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A>
    in this Vim.
8   When Vim was started without a server, make <A HREF="motion.html#it">it</A> possible to start one, <A HREF="motion.html#as">as</A>
    if the &quot;<A HREF="remote.html#--servername">--servername</A>&quot; argument was given.  &quot;:startserver &lt;name&gt;&quot;?
8   No address range can be used before the command modifiers.  This makes
    them difficult to use in a menu for <A HREF="visual.html#Visual">Visual</A> mode.  Accept the range and
    have <A HREF="motion.html#it">it</A> apply to the following command.
8   Add the possibility to set <A HREF="options.html#'fileformats'">'fileformats'</A> to force a format and strip other
    CR characters.  For example, for &quot;<A HREF="os_dos.html#dos">dos</A>&quot; files remove CR characters at the
    end of the line, so that a file with mixed line endings is cleaned up.
    To just not display the CR characters: Add a flag to <A HREF="options.html#'display'">'display'</A>?
7   Some compilers give error <A HREF="message.html#messages">messages</A> in which the file name does not have a
    path.  Be able to specify that <A HREF="options.html#'path'">'path'</A> is used for these files.
7   Xterm sends &lt;Esc&gt;O3F for &lt;M-End&gt;.  Similarly for other &lt;M-Home&gt;, &lt;M-Left&gt;,
    etc.  Combinations of Alt, Ctrl and Shift are also possible.  Recognize
    these to avoid <A HREF="insert.html#inserting">inserting</A> the raw byte sequence, handle like the key
    without modifier (unless mapped).
6   Add &quot;gG&quot;: like what &quot;<A HREF="motion.html#gj">gj</A>&quot; is to &quot;<A HREF="motion.html#j">j</A>&quot;: go to the N'th <A HREF="windows.html#window">window</A> line.
8   Add command like &quot;<A HREF="various.html#:normal">:normal</A>&quot; that accepts &lt;Key&gt; <A HREF="intro.html#notation">notation</A> like &quot;<A HREF="map.html#:map">:map</A>&quot;.
9   Support ACLs on more systems.
7   Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be
    highlighted differently.
7   Add a message area for the user.  Set some option to reserve space (above
    the command line?).  Use an &quot;:echouser&quot; command to display the message
    (truncated to fit in the space).
7   Add &#37;s to <A HREF="options.html#'keywordprg'">'keywordprg'</A>: replace with <A HREF="motion.html#word">word</A> under the cursor. (Zellner)
8   Support <A HREF="print.html#printing">printing</A> on <A HREF="os_unix.html#Unix">Unix</A>.  Can use &quot;lpansi.c&quot; <A HREF="motion.html#as">as</A> an example. (Bookout)
8   Add put command that replaces the text under <A HREF="motion.html#it">it</A>.  Esp. for blockwise
    <A HREF="visual.html#Visual">Visual</A> mode.
7   Enhance termresponse stuff: Add t_CV(?): <A HREF="pattern.html#pattern">pattern</A> of term response, use
    <A HREF="pattern.html#regexp">regexp</A>: &quot;\e\[[&gt;?][0-9;]*c&quot;, but only check just after sending <A HREF="term.html#t_RV">t_RV</A>.
7   Add &quot;g|&quot; command: move to N'th column from the left margin (after wrapping
    and applying 'leftcol').  Works <A HREF="motion.html#as">as</A> &quot;|&quot; like what &quot;<A HREF="motion.html#g0">g0</A>&quot; is to &quot;<A HREF="motion.html#0">0</A>&quot;.
7   Support setting <A HREF="options.html#'equalprg'">'equalprg'</A> to a user function name.
7   Highlight the characters after the end-of-line differently.
7   When <A HREF="options.html#'whichwrap'">'whichwrap'</A> contains &quot;<A HREF="motion.html#l">l</A>&quot;, &quot;$dl&quot; should join lines?
8   Add an argument to configure to use $CFLAGS and not modify <A HREF="motion.html#it">it</A>? (Mooney)
8   Enabling features is a mix of configure arguments and defines in
    feature.h.  How to make this consistent?  Feature.h is required for
    non-unix systems.  Perhaps let configure define CONF_XXX, and use #ifdef
    CONF_XXX in feature.h?  Then what should min-features and max-features <A HREF="diff.html#do">do</A>?
8   Add &quot;g^E&quot; and &quot;g^Y&quot;, to scroll a screen-full line up and down.
8   Add &quot;<A HREF="editing.html#:confirm">:confirm</A>&quot; handling in open_exfile(), for when file already exists.
8   When quitting with changed files, make the <A HREF="gui_w32.html#dialog">dialog</A> <A HREF="eval.html#list">list</A> the changed file
    and allow &quot;write all&quot;, &quot;<A HREF="editing.html#discard">discard</A> all&quot;, &quot;write some&quot;.  The last one would
    then ask &quot;write&quot; or &quot;<A HREF="editing.html#discard">discard</A>&quot; for each changed file.  Patch in HierAssist
    does something like this. (Shah)
7   Use growarray for replace stack.
7   Have a look at viH (Hellenic or Greek version of Vim).  But a solution
    outside of Vim might be satisfactory (Haritsis).
3   Make &quot;2d&#37;&quot; work like &quot;d&#37;d&#37;&quot; instead of &quot;d2&#37;&quot;?
7   &quot;g CTRL-O&quot; jumps back to last used buffer.	Skip <A HREF="motion.html#CTRL-O">CTRL-O</A> jumps in the same
    buffer.  Make <A HREF="motion.html#jumplist">jumplist</A> remember the last ten accessed <A HREF="windows.html#buffers">buffers</A>?
7   Make <A HREF="motion.html#it">it</A> possible to set the size of the <A HREF="motion.html#jumplist">jumplist</A> (also to a smaller number
    than the default). (Nikolai Weibull)
-   Add code to disable the CAPS key when going from <A HREF="insert.html#Insert">Insert</A> to <A HREF="intro.html#Normal">Normal</A> mode.
-   Set date/protection/etc. of the patchfile the same <A HREF="motion.html#as">as</A> the original file.
-   Use growarray for termcodes[] in term.c
-   Add &lt;window-99&gt;, like &lt;cword&gt; but use filename of 99'th <A HREF="windows.html#window">window</A>.
7   Add a way to change an <A HREF="motion.html#operator">operator</A> to always work characterwise-inclusive
    (like &quot;<A HREF="visual.html#v">v</A>&quot; makes the <A HREF="motion.html#operator">operator</A> characterwise-exclusive).  &quot;<A HREF="change.html#x">x</A>&quot; could be used.
-   Make a set of operations on <A HREF="eval.html#list">list</A> of names: expand <A HREF="editing.html#wildcards">wildcards</A>, replace home
    dir, append a <A HREF="eval.html#string">string</A>, delete a <A HREF="eval.html#string">string</A>, etc.
-   Remove using mktemp() and use tmpname() only?  Ctags does this.
-   When <A HREF="change.html#replacing">replacing</A> environment <A HREF="eval.html#variables">variables</A>, and there is one that is not set,
    turn <A HREF="motion.html#it">it</A> into an empty <A HREF="eval.html#string">string</A>?  Only when expanding <A HREF="options.html#options">options</A>? (Hiebert)
-   Option to set command to be executed instead of producing a beep (e.g. to
    call &quot;play newbeep.au&quot;).
-   Add option to show the current function name in the status line.  More or
    <A HREF="various.html#less">less</A> what you find with &quot;[[k&quot;, like how <A HREF="options.html#'cindent'">'cindent'</A> recognizes a function.
    (Bhatt).
-   &quot;[r&quot; and &quot;]r&quot;: like &quot;<A HREF="change.html#p">p</A>&quot; and &quot;<A HREF="change.html#P">P</A>&quot;, but replace instead of insert (esp. for
    blockwise <A HREF="change.html#registers">registers</A>).
-   Add 'timecheck' option, on by default.  Makes <A HREF="motion.html#it">it</A> possible to switch off the
    <A HREF="editing.html#timestamp">timestamp</A> warning and question. (Dodt).
-   Add an option to set the time after which Vim should check the <A HREF="editing.html#timestamps">timestamps</A>
    of the files.  Only check when an event occurs (e.g., character typed,
    mouse moved).  Useful for non-GUI versions where keyboard focus isn't
    noticeable.
-   Make <A HREF="options.html#'smartcase'">'smartcase'</A> work even though <A HREF="options.html#'ic'">'ic'</A> isn't set (Webb).
7   When <A HREF="change.html#formatting">formatting</A> text, allow to break the line at a number of characters.
    Use an option for this: 'breakchars'?  Useful for <A HREF="change.html#formatting">formatting</A> Fortran code.
-   Add flag to <A HREF="options.html#'formatoptions'">'formatoptions'</A> to be able to format book-style paragraphs
    (first line of <A HREF="motion.html#paragraph">paragraph</A> has larger indent, no empty lines between
    paragraphs).  Complements the '2' flag.  Use '<A HREF="change.html#&gt;">&gt;</A>' flag when larger indent
    starts a new <A HREF="motion.html#paragraph">paragraph</A>, use '<A HREF="change.html#&lt;">&lt;</A>' flag when smaller indent starts a new
    <A HREF="motion.html#paragraph">paragraph</A>.	Both start a new <A HREF="motion.html#paragraph">paragraph</A> on any indent change.
8   The '<A HREF="insert.html#a">a</A>' flag in <A HREF="options.html#'formatoptions'">'formatoptions'</A> is too dangerous.  In some way only <A HREF="diff.html#do">do</A>
    auto-formatting in specific regions, e.g. defined by <A HREF="syntax.html#syntax">syntax</A> highlighting.
8   Allow using a trailing space to signal a <A HREF="motion.html#paragraph">paragraph</A> that continues on the
    next line (MIME text/plain; format=flowed, RFC 2646).  Can be used for
    continuous <A HREF="change.html#formatting">formatting</A>.  Could use '<A HREF="change.html#autoformat">autoformat</A>' option, which specifies a
    <A HREF="pattern.html#regexp">regexp</A> which triggers auto-formatting (for one line).
    &quot;<A HREF="options.html#:set">:set</A> <A HREF="change.html#autoformat">autoformat</A>=\\s$&quot;.
-   Be able to redefine where a <A HREF="motion.html#sentence">sentence</A> stops.  Use a <A HREF="pattern.html#regexp">regexp</A> <A HREF="pattern.html#pattern">pattern</A>?
-   Support <A HREF="mbyte.html#multi-byte">multi-byte</A> characters for sentences.  Example from Ben Peterson.
7   Add command &quot;g)&quot; to go to the end of a <A HREF="motion.html#sentence">sentence</A>, &quot;g(&quot; to go back to the
    end of a <A HREF="motion.html#sentence">sentence</A>. (Servatius Brandt)
-   Be able to redefine where a <A HREF="motion.html#paragraph">paragraph</A> starts.  For &quot;<A HREF="motion.html#[[">[[</A>&quot; where the '<A HREF="motion.html#{">{</A>' is
    not in column 1.
6   Add &quot;:cdprev&quot;: go back to the previous directory.  Need to remember a
    stack of previous directories.  We also need &quot;:cdnext&quot;.
7   Should &quot;<A HREF="editing.html#:cd">:cd</A>&quot; for <A HREF="os_msdos.html#MS-DOS">MS-DOS</A> go to <A HREF="options.html#$HOME">$HOME</A>, when it's defined?
-   Make &quot;gq&lt;CR&gt;&quot; work on the last line in the file.  Maybe for every <A HREF="motion.html#operator">operator</A>?
-   Add more redirecting of <A HREF="intro.html#Ex">Ex</A> commands:
	<A HREF="various.html#:redir">:redir</A> #&gt;  bufname
	<A HREF="various.html#:redir">:redir</A> #&gt;&gt; bufname   (append)
-   Give error message when starting <A HREF="various.html#:redir">:redir</A>: <A HREF="if_cscop.html#twice">twice</A> or using END when no
    redirection was active.
-   Setting of <A HREF="options.html#options">options</A>, specifically for a buffer or <A HREF="windows.html#window">window</A>, with
    &quot;<A HREF="options.html#:set">:set</A> window.option&quot; or &quot;<A HREF="options.html#:set">:set</A> buffer.option=val&quot;.  Or use &quot;:buffer.set&quot;.
    Also: &quot;buffer.map <A HREF="helphelp.html#&lt;F1&gt;">&lt;F1&gt;</A> quit&quot;.
6   Would <A HREF="motion.html#it">it</A> be possible to change the color of the cursor in the <A HREF="os_win32.html#Win32">Win32</A>
    console?  (Klaus Hast)
-   Add <A HREF="#:delcr">:delcr</A> command:

			    *<A NAME=":delcr"></A><B>:delcr</B>*
     :[range]delcr[!]	Check <A HREF="cmdline.html#[range]">[range]</A> lines (default: whole buffer) for lines
			ending in <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A>.  If all lines end in <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A>, or [!] is
			used, remove the <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A> at the end of lines in <A HREF="cmdline.html#[range]">[range]</A>.
			A <A HREF="starting.html#CTRL-Z">CTRL-Z</A> at the end of the file is removed.  If
			<A HREF="cmdline.html#[range]">[range]</A> is omitted, or <A HREF="motion.html#it">it</A> is the whole file, and all
			lines end in <A HREF="motion.html#&lt;CR&gt;">&lt;CR&gt;</A> <A HREF="options.html#'textmode'">'textmode'</A> is set.  {not in Vi}
-   Should integrate addstar() and file_pat_to_reg_pat().
-   When working over a serial line with 7 bit characters, remove <A HREF="intro.html#meta">meta</A>
    characters from <A HREF="options.html#'isprint'">'isprint'</A>.
-   Use fchdir() in init_homedir(), like in FullName().
-   In win_update(), when the <A HREF="gui.html#GUI">GUI</A> is active, always use the <A HREF="scroll.html#scrolling">scrolling</A> area.
    Avoid that the last status line is deleted and needs to be redrawn.
-   That &quot;cTx&quot; fails when the cursor is just after '<A HREF="change.html#x">x</A>' is <A HREF="intro.html#Vi">Vi</A> compatible, but
    may not be what you expect.  Add a flag in <A HREF="options.html#'cpoptions'">'cpoptions'</A> for this?  More
    general: Add an option to allow &quot;<A HREF="change.html#c">c</A>&quot; to work with a null motion.
-   Give better error <A HREF="message.html#messages">messages</A> by using errno (strerror()).
-   Give &quot;Usage:&quot; error message when command used with wrong arguments (like
    <A HREF="intro.html#Nvi">Nvi</A>).
-   Make <A HREF="options.html#'restorescreen'">'restorescreen'</A> option also work for xterm (and others), replaces the
    SAVE_XTERM_SCREEN define.
7   Support for &quot;<A HREF="gui.html#:winpos">:winpos</A>&quot; In xterm: report the current <A HREF="windows.html#window">window</A> position.
-   Give warning message when using &quot;<A HREF="options.html#:set">:set</A> t_xx=asdf&quot; for a <A HREF="term.html#termcap">termcap</A> code that
    Vim doesn't know about.  Add flag in <A HREF="options.html#'shortmess'">'shortmess'</A>?
6   Add &quot;<A HREF="tagsrch.html#:che">:che</A> &lt;file&gt;&quot;, <A HREF="eval.html#list">list</A> all the include paths which lead to this file.
-   For a commandline that has several commands (:s, <A HREF="change.html#:d">:d</A>, etc.) summarize the
    changes all together instead of for each command (e.g. for the <A HREF="change.html#rot13">rot13</A>
    <A HREF="map.html#macro">macro</A>).
-   Add command like &quot;<A HREF="tagsrch.html#[I">[I</A>&quot; that also shows the tree of included files.
-   &quot;<A HREF="options.html#:set">:set</A> sm^L&quot; results in &quot;<A HREF="options.html#:set">:set</A> <A HREF="change.html#s">s</A>&quot; because short names of <A HREF="options.html#options">options</A> are also
    expanded.  Is there a better way to <A HREF="diff.html#do">do</A> this?
-   Add &quot;:@!&quot; command, to &quot;<A HREF="repeat.html#:@">:@</A>&quot; like what &quot;:source!&quot; is to &quot;<A HREF="repeat.html#:source">:source</A>&quot;.
8   Add &quot;:@:!&quot;: repeat last command with forceit set.
-   Add 't_normal': Used whenever <A HREF="term.html#t_me">t_me</A>, <A HREF="term.html#t_se">t_se</A>, <A HREF="term.html#t_ue">t_ue</A> or t_Zr is empty.
-   &quot;:cab map test ^V&#124; je&quot;, &quot;:cunab map&quot; doesn't work.	This is <A HREF="intro.html#vi">vi</A> compatible!
-   <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="scroll.html#CTRL-E">CTRL-E</A> and <A HREF="index.html#CTRL-W">CTRL-W</A> <A HREF="scroll.html#CTRL-Y">CTRL-Y</A> should move the current <A HREF="windows.html#window">window</A> up or down
    if <A HREF="motion.html#it">it</A> is not the first or last <A HREF="windows.html#window">window</A>.
-   Include-file-search commands should look in the loaded buffer of a file (if
    there is one) instead of the file itself.
7   Change <A HREF="options.html#'nrformats'">'nrformats'</A> to include the leader for each format.  Example:
	nrformats=hex:$,binary:b,octal:0
    Add setting of <A HREF="options.html#'nrformats'">'nrformats'</A> to <A HREF="syntax.html#syntax">syntax</A> files.
-   <A HREF="options.html#'path'">'path'</A> can become very long, don't use NameBuff for expansion.
-   When unhiding a hidden buffer, put the same line at top of the <A HREF="windows.html#window">window</A> <A HREF="motion.html#as">as</A>
    the one before hiding <A HREF="motion.html#it">it</A>.  Or: keep the same relative cursor position (so
    many percent down the <A HREF="windows.html#windows">windows</A>).
-   Make <A HREF="motion.html#it">it</A> possible for the <A HREF="options.html#'showbreak'">'showbreak'</A> to be displayed at the end of the
    line.  Use a comma to separate the part at the end and the start of the
    line?  Highlight the linebreak characters, add flag in <A HREF="options.html#'highlight'">'highlight'</A>.
    Make <A HREF="options.html#'showbreak'">'showbreak'</A> local to a <A HREF="windows.html#window">window</A>.
-   Some <A HREF="eval.html#string">string</A> <A HREF="options.html#options">options</A> should be expanded if they have <A HREF="editing.html#wildcards">wildcards</A>, e.g.
    <A HREF="options.html#'dictionary'">'dictionary'</A> when <A HREF="motion.html#it">it</A> is &quot;*.h&quot;.
-   Use a specific type for number and <A HREF="options.html#boolean">boolean</A> <A HREF="options.html#options">options</A>, making <A HREF="motion.html#it">it</A> possible to
    change <A HREF="motion.html#it">it</A> for specific machines (e.g. when a long is 64 bit).
-   Add option for <A HREF="insert.html#&lt;Insert&gt;">&lt;Insert&gt;</A> in replace mode going to normal mode. (Nugent)
-   Add a next/previous possibility to &quot;[^I&quot; and friends.
-   Add possibility to change the HOME directory.  Use the directory from the
    passwd file? (Antwerpen)
8   Add commands to push and pop all or individual <A HREF="options.html#options">options</A>. &quot;:setpush tw&quot;,
    &quot;:setpop tw&quot;, &quot;:setpush all&quot;.  Maybe pushing/popping all <A HREF="options.html#options">options</A> is
    sufficient.  &quot;:setflush&quot; resets the option stack?
    How to handle an aborted <A HREF="map.html#mapping">mapping</A>?  Remember position in <A HREF="tagsrch.html#tag">tag</A> stack when
    <A HREF="map.html#mapping">mapping</A> starts, restore <A HREF="motion.html#it">it</A> when an error aborts the <A HREF="map.html#mapping">mapping</A>?
-   Change &quot;<A HREF="options.html#:fixdel">:fixdel</A>&quot; into option 'fixdel', t_del will be adjusted each time
    t_bs is set? (Webb)
-   &quot;gc&quot;: goto character, move absolute character positions forward, also
    counting newlines.  &quot;gC&quot; goes backwards (Weigert).
-   When doing <A HREF="editing.html#CTRL-^">CTRL-^</A>, redraw buffer with the same topline. (Demirel)  Store
    cursor row and <A HREF="windows.html#window">window</A> height to redraw cursor at same percentage of <A HREF="windows.html#window">window</A>
    (Webb).
-   Besides remembering the last used line number of a file, also remember the
    column.  Use <A HREF="motion.html#it">it</A> with <A HREF="editing.html#CTRL-^">CTRL-^</A> et. al.
-   Check for non-digits when setting a number option (careful when entering
    hex codes like 0xff).
-   Add option to make &quot;<A HREF="repeat.html#.">.</A>&quot; <A HREF="undo.html#redo">redo</A> the &quot;<A HREF="eval.html#@r">@r</A>&quot; command, instead of the last command
    executed by <A HREF="motion.html#it">it</A>.  Also to make &quot;<A HREF="repeat.html#.">.</A>&quot; <A HREF="undo.html#redo">redo</A> the whole <A HREF="map.html#mapping">mapping</A>.  Basically: <A HREF="undo.html#redo">redo</A>
    the last TYPED command.
-   Support URL links for ^X^F in <A HREF="insert.html#Insert">Insert</A> mode, like for &quot;<A HREF="editing.html#gf">gf</A>&quot;.
-   Support &#37;name&#37; expansion for &quot;<A HREF="editing.html#gf">gf</A>&quot; on Windows.
-   Make &quot;<A HREF="editing.html#gf">gf</A>&quot; work on &quot;file://c:/path/name&quot;.  &quot;file:/c:/&quot; and &quot;file:///c:/&quot;
    should also work?
-   Add 'urlpath', used like <A HREF="options.html#'path'">'path'</A> for when &quot;<A HREF="editing.html#gf">gf</A>&quot; used on a URL?
8   When using &quot;<A HREF="editing.html#gf">gf</A>&quot; on an absolute file name, while editing a remote file
 starts with scp:// or	<A HREF="http://">http://</A> should prepend the method and machine
    name.
-   When finding a URL or file name, and <A HREF="motion.html#it">it</A> doesn't exist, try removing a
    trailing '<A HREF="repeat.html#.">.</A>'.
-   Add &quot;:path&quot; command modifier.  Should work for every command that takes a
    file name argument, to search for the file name in <A HREF="options.html#'path'">'path'</A>.	Use
    find_file_in_path().
-   Highlight <A HREF="intro.html#control">control</A> characters on the screen: Shows the difference between
    <A HREF="change.html#CTRL-X">CTRL-X</A> and &quot;<A HREF="motion.html#^">^</A>&quot; followed by &quot;<A HREF="change.html#X">X</A>&quot; (Colon).
-   Integrate parsing of cmdline command and parsing for expansion.
-   Create a program that can translate a .swp file from any machine into a
    form usable by Vim on the current machine.
-   Add &quot;:noro&quot; command: Reset <A HREF="options.html#'ro'">'ro'</A> flag for all <A HREF="windows.html#buffers">buffers</A>, except ones that have
    a readonly file.  &quot;:noro!&quot; will reset all <A HREF="options.html#'ro'">'ro'</A> flags.
-   Add a variant of <A HREF="visual.html#CTRL-V">CTRL-V</A> that stops interpretation of more than one
    character.	For entering mappings on the command line where a key contains
    several special characters, e.g. a trailing newline.
-   Make '2' option in <A HREF="options.html#'formatoptions'">'formatoptions'</A> also work inside comments.
-   Add '<A HREF="change.html#s">s</A>' flag to <A HREF="options.html#'formatoptions'">'formatoptions'</A>: Do not break when inside a <A HREF="eval.html#string">string</A>. (Dodt)
-   When <A HREF="windows.html#window">window</A> size changed (with the mouse) and made too small, set <A HREF="motion.html#it">it</A> back
    to the minimal size.
-   Add &quot;]&gt;&quot; and &quot;[&lt;&quot;, <A HREF="intro.html#shift">shift</A> comment at end of line (command;  /* comment */).
-   Should not call cursorcmd() for each vgetc() in <A HREF="eval.html#getcmdline()">getcmdline()</A>.
-   &quot;<A HREF="windows.html#:split">:split</A> file1 file2&quot; adds two more <A HREF="windows.html#windows">windows</A> (Webb).
-   Don't give message &quot;Incomplete last line&quot; when editing binary file.
-   Add &quot;<A HREF="insert.html#:a">:a</A>&quot;, &quot;<A HREF="insert.html#:i">:i</A>&quot; for preloading of named <A HREF="windows.html#buffers">buffers</A>.
-   When entering text, keep other <A HREF="windows.html#windows">windows</A> on same buffer updated (when a line
    entered)?
-   Check out how screen does output optimizing.  Apparently this is possible
    <A HREF="motion.html#as">as</A> an output <A HREF="change.html#filter">filter</A>.
-   In dosub() regexec is called <A HREF="if_cscop.html#twice">twice</A> for the same line.  Try to avoid this.
-   Window updating from memline.c: insert/delete/replace line.
-   Optimize ml_append() for speed, esp. for reading a file.
-   V..c should keep indent when <A HREF="options.html#'ai'">'ai'</A> is set, just like [count]cc.
-   Updatescript() can be done faster with a <A HREF="eval.html#string">string</A> instead of a char.
-   Screen updating is inefficient with <A HREF="scroll.html#CTRL-F">CTRL-F</A> and <A HREF="scroll.html#CTRL-B">CTRL-B</A> when there are long
    lines.
-   Uppercase characters in <A HREF="intro.html#Ex">Ex</A> commands can be made <A HREF="change.html#lowercase">lowercase</A>?
8   Add option to show characters in text not <A HREF="motion.html#as">as</A> &quot;|A&quot; but <A HREF="motion.html#as">as</A> decimal (&quot;^129&quot;),
    hex (&quot;\x81&quot;) or <A HREF="eval.html#octal">octal</A> (&quot;\201&quot;) or <A HREF="intro.html#meta">meta</A> (M-x).  <A HREF="intro.html#Nvi">Nvi</A> has the '<A HREF="eval.html#octal">octal</A>' option
    to switch from hex to <A HREF="eval.html#octal">octal</A>.  Vile can show unprintable characters in hex
    or in <A HREF="eval.html#octal">octal</A>.
7   Tighter integration with xxd to edit binary files.  Make <A HREF="motion.html#it">it</A> more
    easy/obvious to use.  Command line argument?
-   How does <A HREF="intro.html#vi">vi</A> detect whether a <A HREF="change.html#filter">filter</A> has messed up the screen?  Check source.
    After &quot;<A HREF="editing.html#:w">:w</A> !command&quot; a wait_return?
-   Improve screen updating code for doput() (use s_ins()).
-   With '<A HREF="change.html#p">p</A>' command on last line: scroll screen up (also for terminals without
    insert line command).
-   Use insert/delete char when <A HREF="terminal.html#terminal">terminal</A> supports <A HREF="motion.html#it">it</A>.
-   Optimize screen redraw for slow terminals.
-   Optimize &quot;dw&quot; for long row of spaces (say, 30000).
-   Add &quot;<A HREF="starting.html#-d">-d</A> null&quot; for editing from a <A HREF="usr_41.html#script">script</A> file without displaying.
-   In <A HREF="insert.html#Insert">Insert</A> mode: Remember the characters that were removed with backspace
    and re-insert them one at a time with &lt;key1&gt;, all together with &lt;key2&gt;.
-   <A HREF="os_amiga.html#Amiga">Amiga</A>: Add possibility to set a keymap.  The code in amiga.c does not work
    yet.
-   Implement <A HREF="vi_diff.html#'redraw'">'redraw'</A> option.
-   Add special code to <A HREF="options.html#'sections'">'sections'</A> option to define something else but '<A HREF="motion.html#{">{</A>' or
    '<A HREF="motion.html#}">}</A>' <A HREF="motion.html#as">as</A> the start of a section (e.g. one shiftwidth to the right).
7   Allow using Vim in a pipe: &quot;ls &#124; vim <A HREF="starting.html#-u">-u</A> xxx.vim - &#124; yyy&quot;.  Only needs
    implementing &quot;<A HREF="editing.html#:w">:w</A>&quot; to stdout in the buffer that was read from stdin.
    Perhaps <A HREF="editing.html#writing">writing</A> to stdout will work, since stderr is used for the <A HREF="terminal.html#terminal">terminal</A>
    I/O.
8   Allow opening an unnamed buffer with &quot;<A HREF="editing.html#:e">:e</A> !cmd&quot; and &quot;<A HREF="windows.html#:sp">:sp</A> !cmd&quot;.  Vile can
    <A HREF="diff.html#do">do</A> <A HREF="motion.html#it">it</A>.
-   Add commands like <A HREF="motion.html#]]">]]</A> and <A HREF="motion.html#[[">[[</A> that <A HREF="diff.html#do">do</A> not include the line jumped to.
-   When :unab without matching &quot;from&quot; part and several matching &quot;to&quot; parts,
    delete the entry that was used last, instead of the first in the <A HREF="eval.html#list">list</A>.
-   Add text justification option.
-   Set <A HREF="options.html#boolean">boolean</A> <A HREF="options.html#options">options</A> on/off with &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'paste'">paste</A>=off&quot;, &quot;<A HREF="options.html#:set">:set</A> <A HREF="options.html#'paste'">paste</A>=on&quot;.
-   After &quot;inv&quot;ing an option show the value: &quot;<A HREF="options.html#:set">:set</A> invpaste&quot; gives &quot;paste is
    off&quot;.
-   Check handling of <A HREF="visual.html#CTRL-V">CTRL-V</A> and '\' for &quot;<A HREF="cmdline.html#:">:</A>&quot; commands that <A HREF="diff.html#do">do</A> not have TRLBAR.
-   When a file cannot be opened but does exist, give error message.
-   <A HREF="os_amiga.html#Amiga">Amiga</A>: When '<A HREF="change.html#r">r</A>' protection bit is not set, file can still be opened but
    gives read <A HREF="message.html#errors">errors</A>.  Check protection before opening.
-   When <A HREF="editing.html#writing">writing</A> check for file exists but no permission, &quot;Permission denied&quot;.
-   If file does not exist, check if directory exists.
-   Settings edit mode: make file with &quot;<A HREF="options.html#:set">:set</A> opt=xx&quot;, edit <A HREF="motion.html#it">it</A>, parse <A HREF="motion.html#it">it</A> <A HREF="motion.html#as">as</A> <A HREF="starting.html#ex">ex</A>
    commands.
-   &quot;<A HREF="options.html#:set">:set</A> <A HREF="starting.html#-w">-w</A> all&quot;: <A HREF="eval.html#list">list</A> one option per line.
-   <A HREF="os_amiga.html#Amiga">Amiga</A>: test for '<A HREF="motion.html#w">w</A>' flag when reading a file.
-   :table command (Webb)
-   Add new <A HREF="motion.html#operator">operator</A>: clear, make area white (replace with spaces): &quot;g &quot;.
-   Add command to &quot;<A HREF="insert.html#:read">:read</A>&quot; a file at a certain column (blockwise read?).
-   Add sort of replace mode where <A HREF="change.html#case">case</A> is taken from the old text (Goldfarb).
-   Allow multiple arguments for &quot;<A HREF="insert.html#:read">:read</A>&quot;, read all the files.
-   Support for tabs in specific columns: &quot;<A HREF="options.html#:set">:set</A> tabcol=8,20,34,56&quot; (Demirel).
-   Add 'searchdir' option: Directories to search for file name being edited
    (Demirel).
-   Modifier for the put command: Change to <A HREF="motion.html#linewise">linewise</A>, charwise, blockwise, etc.
-   Add commands for saving and restoring <A HREF="options.html#options">options</A> &quot;<A HREF="options.html#:set">:set</A> save&quot; &quot;set restore&quot;,
    for use in macro's and the like.
-   Keep output from listings in a <A HREF="windows.html#window">window</A>, so you can have a look at <A HREF="motion.html#it">it</A> while
    working in another <A HREF="windows.html#window">window</A>.  Put cmdline in a separate <A HREF="windows.html#window">window</A>?
-   Add possibility to put output of <A HREF="intro.html#Ex">Ex</A> commands in a buffer or file, e.g. for
    &quot;<A HREF="options.html#:set">:set</A> all&quot;.  &quot;<A HREF="insert.html#:r">:r</A> <A HREF="options.html#:set">:set</A> all&quot;?
-   When the <A HREF="options.html#'equalalways'">'equalalways'</A> option is set, creating a new <A HREF="windows.html#window">window</A> should not
    result in <A HREF="windows.html#windows">windows</A> to become bigger.  Deleting a <A HREF="windows.html#window">window</A> should not result in
    a <A HREF="windows.html#window">window</A> to become smaller (Webb).
-   When resizing the whole Vim <A HREF="windows.html#window">window</A>, the <A HREF="windows.html#windows">windows</A> inside should be resized
    proportionally (Webb).
-   Include <A HREF="options.html#options">options</A> directly in option table, no indirect pointers.  Use
    mkopttab to make option table?
-   When doing &quot;<A HREF="editing.html#:w">:w</A> dir&quot;, where &quot;dir&quot; is a directory name, write the current
    file into that directory, with the current file name (without the path)?
-   Support for 'dictionary's that are sorted, makes access a lot faster
    (Haritsis).
-   Add &quot;^Vrx&quot; on the command line, replace with contents of <A HREF="sponsor.html#register">register</A> <A HREF="change.html#x">x</A>.  Used
    instead of <A HREF="undo.html#CTRL-R">CTRL-R</A> to make <A HREF="repeat.html#repeating">repeating</A> possible. (Marinichev)
-   Add &quot;^Vb&quot; on the command line, replace with <A HREF="motion.html#word">word</A> before or under the
    cursor?
-   Support <A HREF="map.html#mapping">mapping</A> for replace mode and &quot;<A HREF="change.html#r">r</A>&quot; command (Vi doesn't <A HREF="diff.html#do">do</A> this)?
8   Sorting of filenames for completion is wrong on systems that ignore
    <A HREF="change.html#case">case</A> of filenames.  Add 'ignorefncase' option.  When set, <A HREF="change.html#case">case</A> in
    filenames is ignored for <A HREF="change.html#sorting">sorting</A> them. Patch by Mike Williams:
    ~/vim/patches/ignorefncase.  Also change what matches?  Or use another
    option name.
8   Should be able to compile Vim in another directory, with $(srcdir) set to
    where the sources are. Add $(srcdir) in the Makefile in a lot of places.
    (Netherton)
6   Make <A HREF="motion.html#it">it</A> configurable when &quot;<A HREF="change.html#J">J</A>&quot; inserts a space or not.  Should not add a
    space after &quot;<A HREF="motion.html#(">(</A>&quot;, for example.
5   When <A HREF="insert.html#inserting">inserting</A> spaces after the end-of-line for <A HREF="options.html#'virtualedit'">'virtualedit'</A>, use tabs
    when the user wants this (e.g., add a &quot;<A HREF="intro.html#tab">tab</A>&quot; field to <A HREF="options.html#'virtualedit'">'virtualedit'</A>).
    (Servatius Brandt)


From <A HREF="intro.html#Elvis">Elvis</A>:
-   Use &quot;instman.sh&quot; to <A HREF="usr_90.html#install">install</A> manpages?
-   Add &quot;:alias&quot; command.
-   Search patterns:
      \@	match <A HREF="motion.html#word">word</A> under cursor.
    but <A HREF="diff.html#do">do</A>:
      \@w	match the <A HREF="motion.html#word">word</A> under the cursor?
      \@W	match the <A HREF="motion.html#WORD">WORD</A> under the cursor?
8   &quot;:window&quot; command:
    <A HREF="gui.html#:win">:win</A> +	next <A HREF="windows.html#window">window</A> (up)
    <A HREF="gui.html#:win">:win</A> ++	idem, wrapping
    <A HREF="gui.html#:win">:win</A> -	previous <A HREF="windows.html#window">window</A> (down)
    <A HREF="gui.html#:win">:win</A> <A HREF="starting.html#--">--</A>	idem, wrapping
    <A HREF="gui.html#:win">:win</A> nr	to <A HREF="windows.html#window">window</A> number &quot;nr&quot;
    <A HREF="gui.html#:win">:win</A> name	to <A HREF="windows.html#window">window</A> editing buffer &quot;name&quot;
7   &quot;<A HREF="quickfix.html#:cc">:cc</A>&quot; compiles a single file (default: current one).  'ccprg'   option is
    program to use with &quot;<A HREF="quickfix.html#:cc">:cc</A>&quot;.  Use &quot;:compile&quot; instead of &quot;<A HREF="quickfix.html#:cc">:cc</A>&quot;?


From xvi:
-   CTRL-_ : swap 8th bit of character.
-   Add egrep-like regex type, like xvi (Ned Konz) or <A HREF="if_perl.html#Perl">Perl</A> (Emmanuel Mogenet)


From vile:
-   When horizontal <A HREF="scroll.html#scrolling">scrolling</A>, use '<A HREF="change.html#&gt;">&gt;</A>' for lines continuing right of a <A HREF="windows.html#window">window</A>.
-   Support putting .swp files in /tmp: Command in rc.local to move .swp files
    from /tmp to some directory before <A HREF="change.html#deleting">deleting</A> files.


Far future and &quot;big&quot; extensions:
-   Instead of using a Makefile and autoconf, use a simple shell <A HREF="usr_41.html#script">script</A> to
    find the C compiler and <A HREF="diff.html#do">do</A> everything with C code.  Translate something
    like an Aap recipe and configure.ac to C.  Avoids depending on <A HREF="if_pyth.html#Python">Python</A>,
    thus will work everywhere.  With batch file to find the C compiler <A HREF="motion.html#it">it</A>
    would also work on <A HREF="os_win32.html#MS-Windows">MS-Windows</A>.
-   Make <A HREF="motion.html#it">it</A> <A HREF="starting.html#easy">easy</A> to setup Vim for groups of users: novice <A HREF="intro.html#vi">vi</A> users, novice
    Vim users, C programmers, xterm users, <A HREF="gui.html#GUI">GUI</A> users,...
-   Change layout of blocks in swap file: Text at the start, with '\n' in
    between lines (just load the file without changes, except for <A HREF="os_mac.html#Mac">Mac</A>).
    Indexes for lines are from the end of the block backwards.  It's the
    current layout mirrored.
-   Make <A HREF="motion.html#it">it</A> possible to edit a <A HREF="sponsor.html#register">register</A>, in a <A HREF="windows.html#window">window</A>, like a buffer.
-   Add stuff to <A HREF="syntax.html#syntax">syntax</A> highlighting to change the text (upper-case keywords,
    set indent, define other highlighting, etc.).
-   Mode to keep C-code formatted all the time (sort of on-line indent).
-   Several top-level <A HREF="windows.html#windows">windows</A> in one Vim session.  Be able to use a different
    font in each top-level <A HREF="windows.html#window">window</A>.
-   Allow editing above start and below end of buffer (flag in <A HREF="options.html#'virtualedit'">'virtualedit'</A>).
-   Smart cut/paste: recognize words and adjust spaces before/after them.
-   Add open mode, use <A HREF="motion.html#it">it</A> when <A HREF="terminal.html#terminal">terminal</A> has no cursor positioning.
-   <A HREF="eval.html#Special">Special</A> &quot;drawing mode&quot;: a line is drawn where the cursor is moved to.
    Backspace deletes along the line (from jvim).
-   Support for underlining (underscore-BS-char), <A HREF="syntax.html#bold">bold</A> (char-BS-char) and other
    <A HREF="syntax.html#standout">standout</A> modes switched on/off with , 'overstrike' option (Reiter).
-   Add vertical mode (Paul Jury, Demirel): &quot;5vdw&quot; deletes a <A HREF="motion.html#word">word</A> in five
    lines, &quot;3vitextESC&quot; will insert &quot;text&quot; in three lines, etc..
4   Recognize <A HREF="motion.html#l">l</A>, #, <A HREF="change.html#p">p</A> <A HREF="motion.html#as">as</A> 'flags' to <A HREF="intro.html#EX">EX</A> commands:
    :g/RE/#l shall print lines with line numbers and in <A HREF="eval.html#list">list</A> format.
    :g/RE/dp shall print lines that are deleted.
    POSIX: Commands where flags shall apply to all lines written: <A HREF="eval.html#list">list</A>,
    number, open, print, substitute, visual, <A HREF="change.html#&amp;">&amp;</A>, <A HREF="scroll.html#z.">z.</A>  For other commands, flags
    shall apply to the current line after the command completes.  Examples:
    :7,10j #l Join the lines 7-10 and print the result in <A HREF="eval.html#list">list</A>
-   Allow two or more users to edit the same file at the same time.  Changes
    are reflected in each Vim immediately.  Could work with local files but
 also over the internet. See	<A HREF="http://www.codingmonkeys.de/subethaedit/">http://www.codingmonkeys.de/subethaedit/</A>.

<A HREF="#top">top</A> - <A HREF="index.html">main help file</A>
</PRE>
</BODY>


</HTML>