Source

ecb / NEWS

Full commit
   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
* Changes for ECB version 2.24

** Enhancements for the Methods-buffer
   
*** Enhancements to the icon-display in the Methods-buffer

**** New icon-images for enumerations and abstract/virtual tags (interfaces are
     currently displayed with the icon for abstract classes - at least til
     someone provides special icons ;-)

**** Some slightly fixes in the other icons - e.g. a better display with a
     not-white background

**** Static and abstract tags are no longer underlined rsp. italic when icons are
     displayed because this is somehow "tautological" when a special static
     rsp. abstract icon is already displayed.

*** New option for switching on/off distinction of function-prototypes from the
    real function-definitions: `ecb-methods-separate-prototypes'. This is
    useful for C++ and C because these languages distinct between a
    method-prototype (rsp. function-prototype for C) and the method (rsp.
    function for C) itself. If this option is not nil (default) then ECB
    separates the prototypes from the real function/methods in the
    Methods-buffer.

*** New "current-type"-filter for the Methods-buffer
    In languages which have types (like Java or C++) this filter displays only
    the current type and all its members \(e.g. attributes and methods). The
    current-type is either the type of the current tag in the source-buffer or
    the type of the current node in the methods-buffer. If ECB can not
    identify the current type in the source-buffer or in the methods-window
    then nothing will be done.
    
** Now directories are prescanned for emptyness so they are displayed as empty
   in the directories-buffer even without user-interaction (i.e. in previous
   ECB-versions the emptyness of a directory has been first checked when the
   user has clicked onto a directory). ECB optimizes this check as best as
   possible but if a directory contains a lot of subdirectories which contain
   in turn a lot of entries, then expanding such a directory or selecting it
   takes of course more time as without this check - at least at the first
   time (all following selects of a directory uses the cached information if
   its subdirectories are empty or not). Therefore this feature can be
   switched of via the new option `ecb-prescan-directories-for-emptyness'.

** Fixed Bugs

*** Fixed some newly introduced bugs which made ECB 2.23 incompatible with
    semantic 1.4.

*** Fixed a bug which changed the highlighted directory even after just expanding
    or collapsing other directories.

*** Fixed two small bugs which have influenced `ecb-create-new-layout'

    

* Changes for ECB version 2.23

** New cedet1.0beta2 is supported.

** Enhancements for the Methods-buffer

*** The look&feel of the Methods-buffer is now much nicer because it has been
    polished with a lot of new icons. ECB contains now a lot of new icons for
    displaying the Method-buffer as pretty and professional as possible. The
    new default-value of the option `ecb-tree-image-icons-directories' points
    autom. to the new icon-images. Thanks a lot to Markus Gritsch
    <gritsch@iue.tuwien.ac.at> for providing these new icons.

    To use this you should reset the option `ecb-tree-image-icons-directories'
    to the new default-value if you have customized this option!

    You can disable this icon-display via the new option
    `ecb-display-image-icons-for-semantic-tags' if you do not like the new
    icons. 

*** New feature for applying default tag-filters for certain files.
    The new option `ecb-default-tag-filter' allow to define default
    tag-filters for certain files which are applied automatically after
    loading such a file into a buffer. The possible filters are the same as
    offered by the command `ecb-methods-filter' and they are applied in the
    same manner - the only difference is they are applied automatically. The
    files can be specified on a combined major-mode- and
    filename-regexp-basis.

    Usage-example: This can be used to display for outline-mode files (e.g.
    NEWS) in the Methods-buffer only the level-1-headings by defining a
    regexp-filter "^\* .*" (see the default-value of this new option).

*** New keybindings and commands for faster applying certain tag-filters.
    Here are the new bindings:
    [C-c . fr] --> `ecb-methods-filter-regexp'
    [C-c . ft] --> `ecb-methods-filter-tagclass'
    [C-c . fp] --> `ecb-methods-filter-protection'
    [C-c . fn] --> `ecb-methods-filter-nofilter'
    [C-c . fl] --> `ecb-methods-filter-delete-last'
    [C-c . ff] --> `ecb-methods-filter-function'

*** The popup-menu contains now mode-dependend tag-filter entries.
    This means for sources not supported by semantic no protection- or
    tag-class filters will be offered. And for semantic-supported sources
    exactly these tag-classes are offered the semantic-parser for the current
    major-mode offers. Same for the command `ecb-methods-filter'. For example
    texi-sources can only be filtered by the tag-classes "Definitions" and
    "Sections" and java-sources can be filtered by "Methods", "Variables",
    "Classes" etc. In general the semantic-variable
    `semantic-symbol->name-assoc-list' is used to get the right tag-classes.

*** The option `ecb-show-tags' is now defined on a major-mode-basis.
    This means you can have different settings for each major-mode. ECB autom.
    upgrades your old setting to the new option-type.

*** Distinction between functions and function-prototypes in the Methods-buffer
    This is for example useful for C++ and C because these languages distinct
    between a method-prototype (rsp. function-prototype for C) and the method
    (rsp. function for C) itself. The new default value of `ecb-show-tags'
    displayes per default the methods as flattened and the method-prototype as
    collapsed when opening a C- or C++-buffer. ECB autom. updates your old
    setting of this option to the new default value.

** The command `ecb-toggle-layout' now has a prefix-argument:
   If this optional argument is not nil (e.g. if called with a prefix-arg)
   then always the last selected layout was choosen regardless of the setting
   in `ecb-toggle-layout-sequence'. The last selected layout is always that
   layout which was current direct before the most recent layout-switch. So
   now a user can switch to another layout via `ecb-change-layout' [C-c . l c]
   and always come back to his previous layout via [C-u C-c . l t].

** Better internal self-monitoring of ECB
   ECB now monitors itself when Emacs is idle, ie. it monitors if all
   necessary ecb-functions are still member of the hooks `post-command-hook'
   and `pre-command-hook'. This is because Emacs resets these hooks to nil if
   any of the contained hook-functions fails with an error-signal. The
   ECB-hook-functions are error-save but if any of the "other" hook-functions
   of these hooks fail then the ECB-hooks would also have been removed from
   these hooks. The new monitoring-mechanism checks this periodically and
   re-adds the ECB-hooks if necessary.

** New option group for the integrated speedbar and one new option:
   The new hook `ecb-speedbar-before-activate-hook' runs directly before ECB
   activates the integrated speedbar. For example this hook can be used to
   change the expansion-mode of the integrated speedbar via
   `speedbar-change-initial-expansion-list'. Example:
   (speedbar-change-initial-expansion-list "buffers").

** Added a new section in the info-manual which describes how desktop.el can be
   used best in combination with ECB. This has been done because some
   conflicts have been reported. See the "Conflicts"-Chapter in the
   info-manual.
      
** Fixed bugs

*** Double-clicking the mouse-1-button now works with integrated speedbar.

*** Fixed two small bugs in the advice of `display-buffer':
    One bug occured when called for one of the special ECB-buffers. The other
    bug has not preserved the current-buffer when called for a buffer in the
    sense of `ecb-compilation-buffer-p' and a hidden compile-window is
    shown by display-buffer to display this buffer. The latter one for example
    has prevented the ant-server of JDEE from working properly.

*** Fixed a bug so now always the correct directory in the directories-buffer
    is higlighted.

    

* Changes for ECB version 2.22

** New nifty feature for filtering the tags displayed in the Methods-buffer
   You can filter by regexp, protection, tag-class etc. See the new command
   `ecb-methods-filter' (bound to [C-c . f m] and the new option
   `ecb-methods-filter-replace-existing' for getting all details.

   Filters can be layered filters, i.e. you can apply filters on top of
   already applied filters: An example of 3 combined filters would be: Display
   only all public methods having the string "test" in its name. The modeline
   of the Methods-buffer always displays the topmost filter. But you can see
   all currently applied filters by moving the mouse over this section of the
   modeline: The filters will be displayed as help-echo.

   The new functionality is also completely available via the popup-menu of
   the Methods-buffer.

   Currently tags of class 'type can not be filtered out, because especially
   in OO-languages like Java or C++ this makes only less sense because if the
   class is filtered out then no filter can be applied to its members like
   methods or attributes.

   These tag-filters can also applied to sources which are not supported by
   the semantic-parser but "only" by imenu or etags. But because for these
   sources not all information are avaiable the protection- and tag-class
   filter can not used with such "non-semantic"-sources.

** All tree-buffer filters are now guarded against filtering out all tags.
   Each filter which a user can apply to the sources-, methods- or
   history-buffer is now guarded against filtering out all nodes by accident,
   ie. if a filter would empty the whole tree-buffer then this filter will be
   autom. unwinded.
   
** Much smarter mechanism to highlight the current tag in the methods-buffer.
   Previous versions of ECB have always fully expanded the whole tree in the
   Methods-buffer if the current tag in the source-buffer was not visible in
   the current tree - e.g. because the variables-bucket was collapsed or the
   containing type of a tag (e.g. the class of a method) was collapsed. So in
   most cases much more was expanded as needed to make the current tag
   visible.

   The mechanism of ECB 2.22 only expands the needed parts of the tree-buffer
   to make the related node visible: First we try to highlight the current tag
   with current expansion-state of the Methods-buffer. If the node is not
   visible so the tag can not be highlighted then we go upstairs the ladder of
   type-tags the current tag belongs to (e.g. we expand successive the nodes
   of the whole class-hierachy of the current method-tag until the related
   node becomes visible). If there is no containing type for the current tag
   then the node of the tag is probably contained in a toplevel-bucket which
   is currently collapsed; in this case we expand only this bucket-node and
   try highlighting again. Only if this has still no success then we expand
   the full tree-buffer and try to highlight the current tag.

   There is also a new option `ecb-auto-expand-tag-tree-collapse-other': If
   this option is set then auto. expanding the tag-tree collapses all not
   related nodes. This means that all nodes which have no relevance for the
   currently highlighted node will be collapsed, because they are not
   necessary to make the highlighted node visible. This feature is switched
   off by default because if always collapses the complete Methods-tree before
   the the following highlighting of the node for the current tag expands the
   needed parts of the tree-buffer.
   
** The popup-menus can now be nested into 4 levels of submenus. In general there
   could be an infinite depth of nesting but it makes no sense - if possible
   at all - to define infinite nested defcustom-types. So there is a limit of
   4 levels until a user asks for more - then this wish can be satisfied
   during 1 minute: Just increase the value of the `ecb-max-submenu-depth'
   before loading ECB. This enhancement affects the four options with name
   `ecb-*-menu-user-extension'.
   
** The indication for ECB in the minor-mode is now hidden when the ECB-windows
   are visible because in this case the activity of ECB is quite obvious. When
   the ECB-windows are hidden the the value of `ecb-minor-mode-text' is
   displayed in the modeline.

** Compatibility enhancements

*** Cause of the fixed bugs the compatibility for `bs-show' has increased when
    the buffer-selection should be displayed in the permanent compile-window.

** Fixed Bugs

*** Fixed a bug preventing the native Windows-port of XEmacs from working.

*** Makes the behavior of adviced `display-buffer' fully compatible to the
    original version for all buffers which are neither ecb-tree-buffer nor
    compilation-buffers in the sense of `ecb-compilation-buffer-p'. These
    "source-buffers" are now also handled correctly in all situations.

*** Fixed a small bug in `ecb-toggle-compile-window-height'. This bug has
    influenced the behavior of `display-buffer' when called from programs for
    "compilation-buffers".

*** Fixed a bug related to the speedbar-integration.
    This bug complained "Can not switch buffer in dedicated window" when the
    intergrated speedbar-buffer was selected and the user tries to open a file
    or to jump to a tag.

*** Fixed a bug for the special ECB-modeline-menu for the XEmacs-modelines.
    Now only in the special ECB-tree-buffer a special ECB-modeline-menu is
    bound to mouse-3, all other buffers display the standard modeline-menu of
    XEmacs.

*** Fixed a bug which occurs with XEmacs in combination with func-menu.
    But there are still some incompatibilities between ECB and func-menu. So
    the recommendation is to disable func-menu-support when using ECB.
    Normally using func-menu makes no sense in combination with ECB because
    ECB provides the same and even more informations as func-menu - so
    func-menu is redundant ;-)
    


* Changes for ECB version 2.21

** Advice for `balance-windows' so only the edit-windows are balanced.
   Thanks to David Ishee <782zp6a02@sneakemail.com> for suggestion.

** New option `ecb-ignore-display-buffer-function'
   Per default the adviced version of `display-buffer' ignores the value of
   `display-buffer-function' when called for the ECB-frame. If this variable
   should not be ignored then the function of `display-buffer-function' is
   completely responsible which window is used for the buffer to display - no
   smart ECB-logic will help to deal best with the ECB-window-layout! You can
   define if and when `display-buffer-function' should be ignored: Always
   (default), when a compile-window is used or never.

** Compatibility enhancements
   In general the current layout-engine of ECB is so flexible that there
   should be no - or at least very few - conflicts between ECB and any other
   elisp-library - even when another lib is running during the ECB-windows are
   visible.

*** Commands like `bs-show' of the library bs.el now work correctly with ECB

*** Xrefactory works even when all ECB-windows are visible (see Fixed Bugs).

*** Applications like Gnus or BBDB run withing the ECB-frame without conflicts -
    even when the ECB-windows are visible.

*** Commands using `Electric-pop-up-window' now work correctly with ECB.
    This ensures that the electric-* commands (e.g. `electric-buffer-list' or
    `electric-command-history') work well with ECB. If the related
    "display-buffer" of such an electric command is a "compilation-buffer" in
    the sense of `ecb-compilation-buffer-p' then this buffer will be displayed
    in the compile-window of ECB - if there is any shown.

** For XEmacs the package fsf-compat is no longer required by ECB.
   But it is still necessary to check if fsf-compat is required by the
   packages semantic, eieio and speedbar which in turn are required by ECB.

** Fixed Bugs

*** Fixed a fatal bug which prevents `other-window' from working with
    arguments < 0. This bug has also prevented Xrefactory from working correct
    when ECB is active - see compatibility enhancements above.

*** If point stays in the current source-buffer on a function argument then still
    ECB highlights the function in the Methods-buffer.

*** ECB now uses `compilation-window-height' correctly when set buffer-local
    as possible with latest CVS-version of GNU Emacs 21.

*** Fixed a bug in `ecb-sources-filter' and `ecb-history-filter'.
    


* Changes for ECB version 2.20

** New customization group "ecb-most-important"
   This group centralizes the most important options of ECB in one group which
   is also offered by the "Preferences" submenu ob the ECB-menu. These are
   options you should at least know that they exist.

** The keybinding for the online-help has changed from [C-c . o] to [C-c . h]
   This has been done because the key [C-c . o] is needed for the new command
   `ecb-toggle-scroll-other-window-scrolls-compile'.

** The options `ecb-major-modes-activate' and `ecb-majors-mode-deactivate' have
   been replaced by one new option `ecb-major-modes-show-or-hide'. The purpose
   of the old option is now quite out-of-date because:
   - ECB supports window-managers like winring.el or escreen.el very well,
   - as of version 2.20 ECB has no restrictions about the number of
     edit-windows and
   - the new option simplifies things a lot.
      
** The restriction of only two edit-windows has been gone!

*** Beginning with this version 2.20 there are no restrictions about the
    window-layout in the edit-area of ECB. This means you can split the
    edit-area of ECB in as many windows as you like. The split-state of the
    edit-area will be preserved when toggling the visibility of the
    ECB-windows and even between activation and deactivation of ECB. Deleting
    of certain edit-windows will never destroy the special ECB-windows or the
    compile-window. Just work with the edit-area of ECB as if it would be an
    extra frame!

*** Option `ecb-split-edit-window' has been renamed in
    `ecb-split-edit-window-after-start' because this new name reflects much
    better the purpose of this option. In addition there is offered a new
    value 'before-deactivation which is also the new default value. This new
    value preserves the full state between activations of ECB, i.e. the
    visibility of the ECB-windows, the visibility of a compile-window and also
    the full split-state of the edit-area. ECB auto. upgrades your setting!

*** Compile-window can now be displayed even when the ECB-windows are hidden.
    So now you can have the same compile-window functionality when the
    ECB-window are hidden as when the ECB-windows are visible. The state of
    the compile-window will be preserved when toggling the ecb-windows or when
    maximizing one ecb-windows! So you have the advantage of one special
    window for all help-, grep or compile-output also when the ecb-windows are
    hidden - a window which will not be deleted if you call
    `delete-other-windows' (bound to [C-x 1]) for one of the edit-windows.
    
*** The option `ecb-primary-mouse-jump-destination' has been renamed to
    `ecb-mouse-click-destination' and has also changed its default value to
    'last-point. ECB autom. upgrades the old settings.

*** New keybinding [C-c . g l] for selecting the last selected edit-window.
    Also available via the ECB-menu. The command is
    `ecb-goto-window-edit-last'.

*** Option `ecb-other-window-jump-behavior' has been renamed to
    `ecb-other-window-behavior' and has also two new allowed values: 'smart
    (the new default) and an arbitrary function-symbol. With the latter one
    the user can define his own other-window-behavior and the former one
    chooses in a smart and intuitive way the "other window" for going to it
    via `other-window' or for scrolling it via one of the "scroll another
    window"-functions (e.g. `scroll-other-window'). Thanks to John S. Yates,
    Jr. <john@yates-sheets.org> for suggesting the new smart behavior. ECB
    autom. upgrades the old value of `ecb-other-window-jump-behavior' to the
    new option-name.
    
*** New option `ecb-scroll-other-window-scrolls-compile-window' and new
    command `ecb-toggle-scroll-other-window-scrolls-compile' (bound to [C-c .
    o]). If this new option is nil then ECB chooses very smart and intuitive
    the window which will be scrolled by commands like `scroll-other-window'
    (see documentation of the the option `ecb-other-window-behavior'). But
    sometimes the user wants to scroll the compile-window from another window.
    With this new command the user can fest and easy toggle the behavior ECB
    chooses another window for scrolling.

*** Higher compatibility of ECB with other packages
    Without the 2-edit-window-restriction ECB is now more compatible with
    other packages. For example the package calculator.el can now also being
    used without setting `calculator-electric-mode' to not nil - regardless in
    how many edit-windows the edit-area of ECB is splitted. Also the package
    bs.el (command `bs-show') benefits from the new layout-flexibility. As of
    ECB-version 2.20 there should be no conflicts between this package and
    ECB.

** Enhancements to the tree-buffers of ECB
    
*** Enhancements to the popup-menus of the tree-buffers

**** All popup-menus of the tree-buffers can be used with the tmm-library
     The already existing command `tree-buffer-show-menu-keyboard' (bound to
     [M-m] in every tree-buffer of ECB) accepts now a prefix argument. If called
     with a prefix-argument (hit [C-u M-m]) then the popup-menu is displayed
     with the tmm-mechanismus (like the Emacs-[menu-bar] is displayed when
     `tmm-menubar' is called). Thanks for suggestion to Yvonne Thomson
     <yvonne@thewatch.net>.

**** Select an edit-window via popup where a source should be opened or a token
     should be displayed.
    
**** The popup-menus can be dynamically extended.
     See the new options `ecb-directories-menu-user-extension-function',
     `ecb-sources-menu-user-extension-function',
     `ecb-methods-menu-user-extension-function' and
     `ecb-history-menu-user-extension-function'.

**** All popup-menu-commands respect the setting of the option
     `ecb-mouse-click-destination' (formerly known as
     `ecb-primary-mouse-jump-destination' - see above).

*** ECB supports the default modeline-mechanisms for deleting other windows.
    GNU Emacs binds [mouse-2] in its modeline to `delete-other-window'. ECB
    now supports this mechanism by binding a toggle-command to [mouse-2] in
    the modeline of each tree-buffer: If all ECB-windows are visible then this
    command maximizes the current tree-window and if current tree-window is
    maximized all ECB-windows are displayed again. XEmacs binds a popup-menu
    with some window commands to [button-3] in its modeline. ECB supports this
    mechanism by replacing this menu by a menu which offers exactly 2
    commands: Maximizing current tree-window and displaying all ECB-windows.

*** Now all commands for selecting a tree-buffer work even when this buffer is
    not visible because another tree-buffer is maximized. If the tree-buffer
    is contained in the layout then the layout is redrawn with all its
    tree-buffers visible so that tree-buffer can be selected. Same for
    maximizing. An example for such a command is `ecb-goto-window-methods'.

*** New option `ecb-maximize-ecb-window-after-selection'.
    Automatic maximizing of a tree-window after selecting it. Thanks for
    suggestion to John S. Yates, Jr. <john@yates-sheets.org>.
       
*** Changes to the image-icons of the tree-buffers

**** Alle image-files have been renamed from <IMAGENAME>.xpm to
     ecb-<IMAGENAME>.xpm. This was necessary because the icons for "open" and
     "close" in Emacs toolbar got superseeded by ECB's icons for "open" and
     "close". The problem was, that ECB was using the same names for the icon
     files "open.xpm" and "close.xpm" as emacs toolbar does. This problem
     occurs if the image-directory of ECB is contained in the `load-path' which
     is when ECB is installed in the site-lisp directory of Emacs with the
     default subdirs.el of Emacs which adds automatically all subdirectories to
     the load-path (and therefore also subdirectories which does not contain
     elisp-files but only images - btw: not really smart;-). Thanks for
     pointing out that to Roland Schaeuble <roland.schaeuble@siemens.com>.

**** Added all image-icons in a 10-point height.
     Thanks to Nick Cross <nick@goots.org> for sizing down the images.

** New default-value for `ecb-post-process-semantic-taglist'.
   Now for buffers with major-mode `c-mode' all function-prototypes are
   filtered out. For example this is useful for editing C files which have the
   function prototypes defined at the top of the file and the implementations
   at the bottom. This means that everything appears twice in the methods
   buffer, but probably nobody wants to jump to the prototypes, they are
   only wasting space in the methods buffer. Of course in C-header-files
   function-prototypes will be displayed!

   Thanks for suggestion and a first implementation to Rob Walker
   <rob.lists@tenfoot.org.uk>.

** Changes for the compile-window
   
*** The command `ecb-toggle-compile-window' now displays a compile-window even if
    the option `ecb-compile-window-height' is nil. This is a shortcut for
    customizing this option via the customize-feature if you just want
    displaying a compile-window for the current Emacs-session. In this
    situation ECB asks for the height of the compile-window, sets this height
    as new value of `ecb-compile-window-height' and displays the
    compile-window.

*** New option `ecb-change-layout-preserves-compwin-state'.
    Changing the layout preserves now the state of the compile-window if this
    option is not nil. This is for example useful if the user toggles between
    several layouts and wants to preserve the hidden-state of the
    compile-window. Thanks to John S. Yates, Jr. <john@yates-sheets.org> for
    suggestion.

*** Adviced `delete-window' and `delete-other-windows' handle compile-window.
    The former one hides the compile-window if called in or for that window
    whereas the latter one hides the compile-window if called in or for an
    unsplitted edit-window. Thanks to John S. Yates, Jr.
    <john@yates-sheets.org> for the suggestion.

** New option `ecb-activation-selects-ecb-frame-if-already-active'.
   See the docstring for more details. Thanks for suggestion to Jeff Jensen
   <jeffjensen@nospam.visi.com>

** The command `ecb-redraw-layout' can be called with prefix-argument(s).
   Called with ONE prefix-argument the command behaves as with ECB-versions <
   2.20, i.e. redrawing the full layout regardless of the current
   visibility-state of the ecb-windows or the compile-window. Called without a
   prefix-arg this command now preserves the state of the ecb-windows as well
   as the state of the compile-window. Called with TWO prefix-args means an
   emergence-redraw (see documentation of `ecb-redraw-layout').

** New command `ecb-display-news-for-upgrade'.
   ECB autom. displays after an upgrade a short summary of the most important
   NEWS. With the new command you can do this also on demand.
      
** Fixed Bugs

*** Adviced `display-buffer' handles `same-window-buffer-names' and
    `same-window-regexps' correctly.

*** Fixed a bug preventing tree-buffers with expand-symbol "before" to work

*** Fixed a bug in the adviced version of `other-window'.
    Now it works correctly also when a durable compile-window is set but
    currently hidden.

*** Fixed a bug when scrolling a window from within the minibuffer.
    For example this bug has prevented scrolling the *Completion* buffer from
    within the minibuffer. Now `minibuffer-scroll-window' is set correctly.

*** Toggling the compile-window has not worked when `ecb-compile-window-height'
    has not been saved for future sessions. This is fixed now.

*** `ecb-cycle-through-compilation-buffers' works with hidden compile-window.

*** Fixed a bug when an ECB-window was maximized and the user has stored sizes
    for this layout.

*** Fixed a bug in `ecb-major-modes-activate' and `ecb-major-modes-deactivate'

*** Fixed a bug in the handling of the option `ecb-kill-buffer-clears-history'

*** Fixed a bug which prevents some older version of XEmacs 21.4 working well.
    For XEmacs 21.4.6 a bug was reported which causes this XEmacs-version to
    fail when `compile' or `grep' is called. The reason for this was that
    these old versions of XEmacs 21.4 contain versions of `display-buffer'
    and/or `get-frame-for-buffer' which do not have the fourth argument
    SHRINK-TO-FIT. Now ECB has fixed this and handles correctly the option
    `temp-buffer-shrink-to-fit' and all shades of displaying and compiling
    buffers even for these versions of XEmacs.

    

* Changes for ECB version 2.11

** Using semanticdb to jump to type-tags defined in other files.
   In OO-languages like CLOS, eieio and C++ there can be type-tags in the
   method-buffer which are somehow virtual because there is no definition in
   the current source-file. But such a virtual type collects all its outside
   defined members like methods in C++ which are defined in the *.cc file
   whereas the class-definition is defined in the associated header-file.
   ECB uses semanticb to open the definition-file of such a tag and to jump to
   the definition of this tag. Same for parent-tags in the methods-buffer.
   This feature can only work correctly if semanticdb is well configured!

** New option `ecb-ignore-special-display'
   The options `special-display-buffer-names', `special-display-regexps' and
   `special-display-function' work as expected. Per default this in only true,
   when no durable compile-window is used (see option
   `ecb-compile-window-height'), i.e. with a durable compile window the
   special-display-options are ignored per default. But this behavior can be
   changed with the new option `ecb-ignore-special-display'.

   Thanks to Rob Walker <rob.lists@tenfoot.org.uk> for a first suggestion.

** Better reporting if there are errors during ECB-startup

** Fixed bugs

*** Clicking onto nodes with positionless semantic-tags as data doesn't fail

*** Non-semantic sources (e.g. Perl, TeX) work when cedet 1.0 is loaded

*** Fixed the versioning of ECB so the autom. upgrade works



* Changes for ECB version 2.01

** Prepared for the new semantic 2.0 beta (contained in the cedet 1 beta)

*** New naming convention

    Forthcoming semantic 2.0 (part of the new cedet-library) introduces a new
    naming convention. Here is the relevant part of the semantic 2.0
    NEWS-file:
    
    token     - Refers to a lexical analyzer production.
    stream    - A list of tokens
    tag       - Refers to a datastructure created by a grammar to represent
                something in a language file
    table     - A hierarchical list of tags.
    tag-class - A tag may represent a function, data type, or variable.
    parse     - Run a source file through a parser.
    
    Normally there is no need for ECB users to bother with all details of
    semantic naming conventions but for the sake of consisteny between
    semantic and ECB the ECB-package has renamed all its variables and
    functions from "token" to "tag". Therefore also all options which contain
    "token" in their name have been renamed by replacing "token" with "tag".
    See RELEASE_NOTES for a list of this options.
 
    ECB autom. upgrades all old-values of these options to the new options!
    There is nothing to do for you.

*** ECB works with new semantic 2.0 which is shipped within cedet 1.0

** Overhaul of the display-layer and -handling of the tree-buffers

*** Now there are 3 different styles available
    * Image: Looks very nice and modern - just give it a try or see the
      screenshots-section at http://ecb.sourceforge.net
    * Ascii with guide-lines: Drawing the trees with ascii-symbols
    * Ascii without guide-lines: This is the style of ECB <= 1.96

    For details and a visualization of these different styles see the new
    option `ecb-tree-buffer-style' (replaces the old option
    `ecb-tree-use-image-icons').

    Especially the new image-style was inspired by the library tree-widget.el
    written by David Ponce <david@dponce.com>. Also some images shipped with
    ECB are "stolen" from this library.

*** No-leaf-tree-nodes with currently no subnodes are displayed with [x]
    An example are directories in the Directories tree-buffer which have
    currently no subdirectories. Leafs like source-files or methods are of
    course handled as leafs and not as currently empty nodes.

*** Fixed some inconsistencies in expanding, collapsing and selecting nodes

*** Moving all options related to the tree-buffer-style or -handling to the new
    customize-group "ecb-tree-buffer".

** Completely rewritten popup-menu mechanism.

*** Now sub-menus are allowed for all popups
    To give a better lucidity of the popup-menus of the tree-buffers these
    menus can now being arranged in sub-menus. The default values now already
    use sub-menus. So if you have added menu-entries to one of the options
    `ecb-directories-menu-user-extension', `ecb-sources-menu-user-extension',
    `ecb-methods-menu-user-extension' or `ecb-history-menu-user-extension' ECB
    resets these options to the new defaults of ECB and adds at the top your
    "old" personal entries. This comes because the type of these options has
    changed. Thanks for general suggestion to Ole Arndt <ole@sugarshark.com>.

*** Added new defaults to `ecb-directories-menu-user-extension'
    Three new entries "CVS status", "CVS examine" and "CVS update" in a new
    sub-menu "Version control" for running CVS-commands against the directory.
    These menu-entries are added as new default values to
    `ecb-directories-menu-user-extension' so a user can delete or change them
    if he does not use CVS but another revision-tool (e.g. Clearcase). Thanks
    for suggestion and first implementation to Ole Arndt <ole@sugarshark.com>.

*** Added new defaults to `ecb-sources-menu-user-extension'
    One new sub-menu "Version control" with some senseful commands. See also
    new default for the option `ecb-directories-menu-user-extension'. Same is
    added to the `ecb-history-menu-user-extension'. Thanks for suggestion and
    first implementation to Ole Arndt <ole@sugarshark.com>.

** Possibility to define which types should be expanded at file-open-time
   Semantic groups types into different type-specifiers. Current available
   type-specifiers are for example "class", "interface", "struct", "typedef",
   "union" and "enum". With the new option `ecb-type-tag-expansion' you can
   specify on a major-mode-basis which type-specifiers should be expanded at
   file-open-time and which not. So for example in C++ it could be senseful
   not to expand the types with a type-specifiers "typedef", "struct" or
   "enum" (see the default-value of this option).
    
** Adding a filter-feature to the Sources- and the History-buffer
   Now a filter can be applied to the Sources- and/or History-buffer which
   desides which entries are displayed in these buffers. See the new commands
   `ecb-sources-filter' (bound to [C-c . fs]) and `ecb-history-filter' (bound
   to [C-c . fh]) and the new entries for the popup-menus for these buffers.
   In the sources-buffer each directory has its own filter. The currently
   applied filter is displayed in the modeline of that tree-buffer with the
   new face `ecb-mode-line-prefix-face' (s.b.)

** Changes related to the modelines of the tree-buffers
   
*** Added faces to the mode-lines of the ECB-tree-buffers.
    See the three new options `ecb-mode-line-win-nr-face',
    `ecb-mode-line-prefix-face' and `ecb-mode-line-data-face' and also they
    related (and equally named) new faces.

*** Moved all options related to the modelines in the new customize-group
    "ecb-mode-line".
       
** No window-restrictions if the ECB-windows are hidden
   If the special ECB-windows are hidden (e.g. by `ecb-toggle-ecb-windows')
   then there are no restrictions about the window-layout of the ecb-frame:
   The frame can be splitted in any arbitrary windows. All adviced functions
   behave as their originals. So the frame can be used as if ECB would not be
   active but ECB IS still active in the "background" and all ECB-commands and
   all ECB-keybindings can be used. Of course some of them doesn't make much
   sense but nevertheless they can be called.

   Therefore it should be enough to hide the ECB-windows to run other
   Emacs-applications which have their own window-layout-managing. There
   should be no conflicts. But nevertheless the most recommended method for
   running ECB and other applications (e.g. xrefactory, Gnus etc.) in the same
   frame is to use a window-manager like winring.el or escreen.el!

** Ediff runs per default in the ECB-frame.
   Now ediff can run per default in the ECB-frame because ECB ensures that all
   special ECB-windows are hidden before ediff sets up its own window-layout.
   ECB also restores exactly the "before-ediff" window-layout of the ecb-frame
   See new option `ecb-run-ediff-in-ecb-frame'.

** More flexible directory-caching with new `ecb-cache-directory-contents-not'
      
** New option `ecb-advice-window-functions-signal-error'
   Now the adviced window functions of `ecb-advice-window-functions' do not
   signal per default an error if called in situations which are not allowed -
   they simple do nothing. An example is calling `delete-window' in a special
   ecb-window or in the compile-window; if this new option is nil then nothing
   is done otherwise an error is signaled. If you want the old behavior of
   signaling an error just set this new option to not nil.

** Fixed Bugs

*** When the special ECB-windows were hidden and a durable compile-window was set
    then ECB shows the special ECB-windows when a temp-buffer (e.g.
    *Help*-buffers) has been displayed. This annoying behavior is fixed.

*** XEmacs has not added the ECB-menu to the menubar of that buffers which are
    already alive while activating ECB. On the other side XEmacs has not
    removed the ECB-menu from the menubar for all living buffers after
    deactivating ECB. Both of these two bugs are fixed now.

*** JDEE-dialogs now work correctly.
    JDEE offers sometimes "dialogs" where the user can choose among several
    options. These "dialogs" now work correctly regardless if a durable
    compile-window is used or not.

*** A bug in displaying the tree-buffers in a different font or font-height



* Changes for ECB version 1.96

** ECB can work together with the window-managers escreen and winring
   This allows to run applications like Gnus, VM or BBDB in the same frame as
   ECB! See the new lib ecb-winman-support.el and read the section
   "Window-managers and ECB" in the chapter "Tips and tricks" in the
   info-manual of ECB.
   
   Thanks to Johann "Myrkraverk" Oskarsson <myrkraverk@users.sourceforge.net>
   who has reported some bugs related to escreen and has therefore motivated a
   lot to add support for the well known window-managers escreen and winring.

** ECB can display the window-number in the modeline of the special windows.
   The left-top-most window in a frame has the window-number 0 and all other
   windows are numbered with increasing numbers in the sequence, functions
   like `other-window' or `next-window' would walk through the frame. This
   allows to jump to windows by name as described at the Emacs-Wiki
   http://www.emacswiki.org/cgi-bin/wiki.pl?SwitchingWindows.

   See the new option `ecb-mode-line-display-window-number'. Currently this
   feature is only available for GNU Emacs 21.X, because neither GNU Emacs <
   21 nor XEmacs can dynamically evaluate forms in the mode-line.

   Thanks to Johann "Myrkraverk" Oskarsson <myrkraverk@users.sourceforge.net>
   for suggesting this.

   In addition the already existing options `ecb-mode-line-data' and
   `ecb-mode-line-prefixes' are now more flexible and are now able to define
   special modelines not only for the 4 builtin ECB-tree-buffers but for every
   special ECB-buffer. ECB will autom. upgrade the old values of these options
   as best as possible to their new types!
               
** Much better support of the ECB-compile-window

*** General overhaul for displaying buffers in the ECB-compile-window.
    The whole mechanism has been rewritten so now using a durable
    compile-window is much safer and works as well as without one. Now all
    buffers displayed with `display-buffer' are checked if they are
    "compilation-buffers" in the sense of the function
    `ecb-compilation-buffer-p' and then displayed in the compile-window of
    ECB. Especially temp-buffers displayed with `with-output-to-temp-buffer'
    (e.g. *Help*-buffers) are now much better supported.

    Simply said: All buffers for which `ecb-compilation-buffer-p' says t are
    now *always* displayed in the compile-window (if there is any) with
    complete consideration of Emacs-options like `compilation-window-height',
    `temp-buffer-max-height', `temp-buffer-resize-mode' (GNU Emacs),
    `temp-buffer-shrink-to-fit' (XEmacs) etc. All other buffer not.

*** New layout-option `ecb-compile-window-width'.
    Thanks for suggestion to John S. Yates, Jr. <jyates@netezza.com>

*** New layout-option `ecb-compile-window-prevent-shrink-below-height'

*** Better and more reliable eshell-integration. Now the compile-window fits
    always autom. to the output of the last eshell-command.

*** All options related to the ECB-compile-window have been moved to the new
    customization-group "ecb-compilation" which is a subgroup of "ecb-layout".
    
** Safer handling of all adviced functions of ECB
   All ECB-advices are now active if and only if ECB is running. Just loading
   the ECB-library doesn't activate any ECB-advice! Also if there is an error
   during the activation-process of ECB then all advices are always disabled
   automatically.

** ECB can visit tokens in a smarter way

*** Narrowing via popup-menu of the Methods-buffer includes now the documentation
    of the token if located outside of the token (e.g. Javadoc for Java).

*** More flexible definition what to do after visiting a token via the
    Methods-buffer. See the new option `ecb-token-visit-post-actions' which now
    replaces the options ecb-highlight-token-header-after-jump',
    `ecb-scroll-window-after-jump' and `ecb-token-jump-narrow'.

** ECB selects autom. the current default-directory after activation even if
   no file-buffer is displayed in the edit-window. This is useful if ECB is
   autom. activated after startup of Emacs and Emacs is started without a
   file-argument. So the directory from which the startup has performed is
   auto. selected in the ECB-directories buffer and the ECB-sources buffer
   displays the contents of this directory. See new option
   `ecb-display-default-dir-after-start'. 

** ECB preserves the split-state of the frame after activation rsp. deactivation
   This is done if the already existing option `ecb-split-edit-window' has the
   new value t.
      
** New command `ecb-toggle-window-sync' for fast toggling between autom.
   synchronization of the ECB-buffers is switched on and off.

** The popup-menu of the Directories-buffer allows opening a dir with Dired.
   The Sources-Buffer offers the same for the current selected directory. In
   the History-buffer the directory of the selected file-buffer can be
   "dired".

** Now manually resizing of the ECB-windows is possible even if
   `ecb-fix-window-size' is not nil for current layout. Thanks for suggestion
   Massimiliano Mirra <mmirra@libero.it>. Only relevant for GNU Emacs 21.X.

** ECB does not call any functions of the cl-library at runtime.

** Fixed Bugs

*** Fixed all the file- and directory-commands in the popup-menus.
    Now the Directories- and Sources-buffers are autom. updated after creating
    rsp. deleting source-files or directories.

*** Jumping to some tokens for Perl sources failed. This is fixed now.

*** Now the buffer-names displayed in the History-window are always uptodate,
    even if file-buffers are killed/opened during hidden ECB-windows.

*** Fixed a conflict between ECB and `tmm-menubar' (tmm.el)
    
*** Fixed a lot of misspellings in the ECB-online-help and also in all comments
    and strings of the sources.

*** Fixed a bug in `ecb-toggle-enlarged-compilation-window'.
    This function has been also renamed to `ecb-toggle-compile-window-height'.

*** Fixed a bug in the layout-engine related to dedicated windows.
    Thanks to Johann "Myrkraverk" Oskarsson <myrkraverk@users.sourceforge.net>
    who helped to find this bug.

*** Fixed some references in the info-manual of ECB.



* Changes for ECB version 1.95.1

** Now the ecb-windows can be "maximized", means all other ecb-windows are
   deleted so only the edit-window(s), and this maximized ecb-window are
   visible (and maybe a compile-window if active). This can be done either via
   the popup-menus of the ecb-windows or via calling `delete-other-windows'
   (bound to [C-x 1]) in one of the ecb-windows or via the new commands
   `ecb-maximize-window-*' where * stands for {directories, sources, methods,
   history, speedbar}. There is also a command
   `ecb-cycle-maximized-ecb-buffers'.

   *Note*: If there are byte-compiled(!) user-defined layouts - either created
   interactively by `ecb-create-new-layout' or programmed with the macro
   `ecb-layout-define' - then the file where these user-defined layouts are
   saved (see option `ecb-create-layout-file') must be re-byte-compiled with
   latest ECB version >= 1.95.1! If the user-defined layouts are not
   byte-compiled then there is nothing to do.

** Some default key-bindings have changed; see RELEASE_NOTES for details.

** All popup-menus of the ECB-tree-buffers can be opened via [Meta-m]

** Fixed bugs

*** Clicking onto the image-icons of an integrated speedbar has failed for
    XEmacs. This comes from a bug in speedbar which is now fixed locally in
    ECB by advicing `dframe-mouse-set-point' if speedbar is integrated in the
    ECB-frame.



* Changes for ECB version 1.95

** ECB now displays the expand- and collapse symbols in the tree-buffers with
   image-icons - the same icons as speedbar uses. See the new option
   `ecb-tree-use-image-icons'.

** Adding hideshow to the popup-menu of the Methods-buffer.
   This popup-menu now offers two entries for hiding rsp. showing the block
   of that token in the Methods-buffer for which the popup-menu was opened.
   This is done with the hideshow.el library.
   Thanks to Christoff Pale <christoff_pale@yahoo.com> for suggestion.

** Horizontal scrolling of the tree-buffers by clicking the edges of the
   modeline with mouse-1 or mouse-2. I.e. if you click with mouse-1 onto the
   left (rsp right) edge of the modeline you will scroll left (rsp. right)
   with the scroll-step defined in `ecb-tree-easy-hor-scroll'. This is only
   for GNU Emacs because XEmacs has hor. scrollbars.
   
** Changed default key-bindings:
   - C-c . r:  `ecb-rebuild-methods-buffer'
   - C-c . lc: `ecb-change-layout'
   - C-c . lr: `ecb-redraw-layout'
   - C-c . lt: `ecb-toggle-layout'
   - C-c . lw: `ecb-toggle-ecb-windows'

** Starting ECB is now possible via the "Tools"-menu

** ECB now requires speedbar version 0.14beta1 or higher. An automatic
   requirements-check is done by ECB. This is because now ECB has three
   dependencies to speedbar-code: Integrating whole speedbar in the ECB-frame,
   using speedbar-logic to parse files with imenu or etags and using the icons
   of speedbar for the ECB-tree-buffers.

** Fixed bugs

*** Now the "goto-window-..." menu-entries in the "ECB"-menu are working correct
    if a speedbar is integrated into the layout.

*** Preventing etags-supported sources from being parsed (and saved) too often.



* Changes for ECB version 1.94

** Supporting of non-semantic-sources.

*** Native parsing and displaying source-contents of imenu supported files

*** Native parsing and displaying source-contents of etags supported files

*** There are some new options like `ecb-process-non-semantic-files',
    `ecb-non-semantic-parsing-function' and `ecb-method-non-semantic-face' and
    one new face `ecb-method-non-semantic-face'. See new customize group
    "ecb-non-semantic"!
    
** Better speedbar integration into the ECB-frame

*** Now speedbar can be used not only as replacement for the
    ECB-directory-browser in the directory-window but also instead of the
    sources- or the methods-buffer/window. See new option
    `ecb-use-speedbar-instead-native-tree-buffer' which replaces the old
    option `ecb-use-speedbar-for-directories'.

*** Now speedbar can be integrated into an arbitrary layout in the same way as
    the other four special buffers (directories, sources, methods and
    history). See new example layout with name "left-dir-plus-speedbar".

*** New option `ecb-directories-update-speedbar' which helps you
    to update a speedbar-window to the current selected directory of the
    ECB-directories-window.

** New option `ecb-compilation-predicates' for better specifying which buffers
   should be treated as compilation-buffers and therefore be displayed in the
   compile-window of ECB - if there is any.
   
** Better customizing of the mode-line of an ECB-tree-buffer.
   See the new option `ecb-mode-line-data'.

** Fixed bugs:

*** Using "Add source path" from the popup-menu now doesn't open the Windows
    file-dialog-box onto Windows-systems because this would prevent this
    command from working.

*** Smart arrowkey-navigation in the tree-buffers is now even smarter.
    Thanks to John Russel <jorussel@cisco.com> for suggestion.

*** If ECB was activated with a layout which does not contain a
    directory-buffer then you got always an empty directory-buffer even after
    switching to a layout with a directory-buffer. This is fixed now.

    

* Changes for ECB version 1.93

** Fixed bugs:

*** The adviced version of `other-window' now works correct too if a
    minibuffer-window is active.

*** The commands of `winner-mode' are now only forbidden in the ECB-frame
    but work in any other frame.

*** `scroll-all-mode' now works correct in other frames than the ECB-frame.

*** Removed the annoying message "Partial reparsing..."

** Enhancements to the layout:

*** Slightly better redrawing current layout especially if the layout contains
    a compile-window.

*** ECB autom. displays hidden compile-window before starting a compilation.
    This is done if `ecb-compile-window-height' is not nil but the
    compile-window is currently hidden by `ecb-toggle-compile-window'. Of
    course this works also for grep and other compile-modes. Same for
    `switch-to-buffer' and `switch-to-buffer-other-window' if called for a
    compilation-buffer in the sense of `ecb-compilation-buffer-p'.

*** `switch-to-buffer-other-window' now works more naturally within the
    ECB-frame, especially if a compile-window is used.

*** `ecb-toggle-compile-window' now has a default key-binding: [C-c . \]

*** Now also layouts with user-defined special ecb-windows can be created
    interactively. See the online-manual for further details.

** Enhancements to the tree-buffers:
   
*** Now user-extensions can be added to the popup-menus of the tree-buffers.
    See new options `ecb-directories-menu-user-extension',
    `ecb-sources-menu-user-extension', `ecb-methods-menu-user-extension',
    `ecb-history-menu-user-extension'.

*** The methods-buffer now has a popup-menu with senseful actions
    
** New option `ecb-sources-exclude-cvsignore' which allows to exclude files from
   being displayed in the sources-buffer if they are contained in a .cvsignore
   file.

** ECB now also works with buffers "online" extracted from archives.
   Buffers extracted from an archive in `tar-mode' or `archive-mode' are now
   correct handled as if they were normal file-buffers. This feature doesn't
   work with XEmacs cause of its tar-mode and arc-mode implementation which
   does not handle extracted files as normal files.

** ECB now checks at load-time if the required packages semantic and eieio are
   at least available - regardless of the needed version. If at least one of
   these packages is missing then ECB offers to download and install it. More
   details are available in the installation instructions.



* Changes for ECB version 1.92.1

** Fixed bugs:

*** Fixing eating up a lot of CPU-power just for updating the menu-
    entries of current compilation-buffers in the ECB-menu. Now the mechanism
    is based on a idle-timer and a cache.
    Fixed with great testing-help by Dan Debertin <airboss@nodewarrior.org>

*** Fixed a bug which always truncates lines in the ECB-windows regardless
    of the value of `ecb-truncate-lines'

*** The upgrade library of ECB now explicitly requires and loads the
    library executable.el because Emacs 20.X does not autoload the
    function `executable-find'.

*** `ecb-toggle-compile-window' now works also correct if called with
    a prefix arg.



* Changes for ECB version 1.92

** Fixed bugs:

*** Fixed small bugs in the popup-menu of the history-buffer.

*** Fixed some not working links in the FAQ.

** ECB now includes a file "ecb-autoloads.el" which contains all available
   autoloads of ECB. Therefore loading this file is enough.

** Enhancements to the layout

*** The sizes of the ecb-windows can be fixed even during frame-resizing
    This new feature is only available with GNU Emacs 21.X. See new option
    `ecb-fix-window-size'.
    Suggested by Gunther Ohrner <G.Ohrner@post.rwth-aachen.de>
     
*** The command `ecb-store-window-sizes' can now also store fixed sizes.
    If called with a prefix arg then fixed sizes are stored instead of
    fractions of frame-width rsp. -height.

*** The command `split-window' is now also adviced to work properly.

** Enhancements for the tree-buffers

*** "Create Source" in the popup-menus now work also for non-java-files.

*** ecb-truncate-lines can now be set different for each ECB-tree-buffer.

*** Easy horizontal mouse-scrolling of the ECB tree-buffers. See new option
    `ecb-tree-easy-hor-scroll'.

** Added a command `ecb-jde-display-class-at-point' which displays the contents
   of the java-class under point in the methods-buffer of ECB.

** Renamed previous HISTORY file to NEWS and reformated it for outline-mode.



* Changes for ECB version 1.91.1

** Fixed bugs:

*** Fixes a bug in the speedbar integration which prevented clicking onto a
    directory in the speedbar: Always after clicking onto a directory speedbar
    has re-synced itself to the directory of the current source-buffer in the
    edit-window. This bug is fixed, now directory navigation in the speedbar
    works. (Klaus)

*** Fixes a bug in upgrading stored window-sizes from ECB 1.80 to ECB >= 1.90.
    Fixes also two bugs in `ecb-store-window-sizes' if default-values are used in
    `ecb-layout-window-sizes' or if ecb-windows have frame-height as height
    (rsp. frame-width as width) . (Klaus)

*** Fixed a bug in the navigation-history of ECB which sometimes has prevented
    that a user can open files from the sources/history buffer or clicking onto
    tokens in the method-buffer. Now the back-forward-navigation works stable.
    (Klaus)
    
** Enhanced the downloading feature of ECB

*** Fixed a bug in the downloading feature of ECB. (Klaus)

*** Now ECB autom. checks at the download sites which versions are available.
    With the new option `ecb-download-package-version-type' you can define
    which types of version you allow to download (only stable, stable and betas
    or stable, betas and alphas); see related section in the online-manual!
    (Klaus)

*** New command `ecb-download-semantic' for easy getting latest semantic
    versions. (Klaus)



* Changes for ECB version 1.90

** The website of ECB has moved from http://home.swipnet.se/mayhem/ecb.html to
   http://ecb.sourceforge.net. Maintainance has switched from Jesper Nordenberg
   to Klaus Berndl.

** Fixed bugs:
   
*** Fixed an annoying bug which results in an error "Wrong type argument:
    integer-or-marker-p nil)" after a full buffer reparse. ECB 1.80 has repaired
    its internal state but nevertheless the user had to re-click on the same
    token after this error to really jump to a token. With ECB 1.90 this bug has
    been gone (Klaus).

*** Fixed a small bug in `ecb-add-all-buffers-to-history': If
    `ecb-sort-history-items' is nil then now the most recently used buffers are
    added to the top of the history, the seldom used buffers at the bottom.
    Thanks to Stefan Reich��r <xsteve@riic.at>! (Klaus).

*** Fixed some bugs concerning the eshell-integration (Klaus):

**** Synchronizing does not set the mark anymore

**** No longer synchronizing after every command if current source resides in
     the HOME directory.

**** Redrawing the layout preserves the eshell-buffer in the compile-window.

**** Standard emacs-hooks are not clobbered with ecb-eshell-functions if ECB is
     not active.

** General enhancements:
     
*** Now ECB displays at every start a "Tip of the day" in a dialog-box. This can
    be switched off with option `ecb-tip-of-the-day'. There is also a new
    command `ecb-show-tip-of-the-day' (Klaus).

*** Advicing `scroll-all-mode' so it works correct with ECB, means
    `scroll-all-mode' scrolls only the windows of the edit-area, i.e. max. the
    two edit-windows (Klaus).

*** Autom. preventing `winner-mode' from being activated as long as ECB is
    running (Klaus).

*** Now autom. (de)activating ECB via the options ecb-major-modes-activate and
    ecb-major-modes-deactivate also works when opening files via dired (Klaus).

*** Now ECB can be "autoloaded", i.e.
    + ecb-activate,
    + ecb-minor-mode,
    + ecb-byte-compile and
    + ecb-show-help
    are autoload-able via '(autoload ...)' (Klaus)

*** Silencing the byte-compiler, i.e. byte-compilation of ECB should now be
    warning free. If byte-compilation still throws warnings during
    byte-compilation with 'ecb-byte-compile' (rsp. using the Makefile or
    make.bat) please send this to our mailing list. (Klaus)

** Enhancements to the methods/variable/token tree-buffer:
   
*** New feature: Now the methods buffer is auto. expanded if the node related to
    the current token in the edit-window is not visible (probably because its
    parent is collapsed). See new options `ecb-auto-expand-token-tree' and
    `ecb-expand-methods-switch-off-auto-expand' and the new command
    `ecb-toggle-auto-expand-token-tree' (Klaus).
  
*** New command `ecb-expand-methods-nodes' which allows precisely expanding
    tokens with a certain indentation-level. There are also two new related
    options `ecb-methods-nodes-expand-spec' and
    `ecb-methods-nodes-collapse-spec' (Klaus).

** Enhancements to the directories tree-buffer:
    
*** New command `ecb-expand-directory-nodes' which does the same for the
    directories tree-buffer as the new command `ecb-expand-methods-nodes' for
    the methods tree-buffer (Klaus).

*** Rewritten cache-mechanism for directories and sources:
    Depending on the value of the option ecb-cache-directory-contents the
    following is cached for a directory:
    - The disk-contents of the directory means subdirs and files
    - If ecb-show-sources-in-directories-buffer is nil (i.e. sources are
      displayed in the extra ECB-sources-window) then also the complete
      sources-buffer is cached. This results in a speed-boost for big-size
      directories.
    The cache of a directory is refreshed and actualized with a POWER-click onto
    the related directory in the directories-buffer (s.b.) (Klaus)

** Enhancements to the sources tree-buffer:
   
*** The option ecb-source-file-regexps now works on a directory-base, which means
    for each directory-regexp the files to display can be specified. Default is
    an all-matching directory-regexp. Old saved values are autom. upgraded
    (Klaus).

** Enhancements to the layout-customization:

*** Naming and managing of layouts has been changed! Now a layout is not longer
    identified by an integer but by an arbitrary string! Example: The layout
    with index 0 in ECB <= 1.80 is now named "left1" in ECB 1.90.

**** Therefore the name of the option 'ecb-layout-nr' has changed to
     'ecb-layout-name'! See the docstring of 'ecb-layout-name' for the names
     of all built-in layouts.

**** In this context also the type of ecb-show-sources-in-directories-buffer has
     changed so it is now a list of layout-names where the sources should be
     displayed in the directories window (or 'always/'never). Now every change of
     the layout also checks the value of ecb-show-sources-in-directories-buffer.
  
**** This change also introduces three new commands:
     - ecb-change-layout: Change layouts by selecting a name
     - ecb-delete-new-layout: Delete an user-created (by 'ecb-create-new-layout')
       layout.
     - ecb-show-layout-help: Displays the docstring of a layout which at least
       for built-in layouts contains a picture of the outline of this layout.
     All three commands offer TAB-completion for easy selecting a layout name.

**** ECB autom. upgrades the following options to theirs new names/types:
     - ecb-layout-nr: The stored value is transformed to the new name of the
       related layout and stored in 'ecb-layout-name'
     - ecb-toggle-layout-sequence: The stored value is transformed to the new
       type with layout-names instead of layout-numbers.
     - ecb-major-modes-activate: The stored value is transformed to the new type
       with layout-names instead of layout-numbers.
     - ecb-layout-window-sizes: The stored value is transformed to the new type
       with layout-names instead of layout-numbers.
     - ecb-show-sources-in-directories-buffer: Reset to the new default value.
     (Klaus)

*** Adding a new layout type "left-right" which allows the ECB-tree-windows to
    be located at the left and the right side of the ECB-frame. See the new
    layouts "leftright1", "leftright2" and "leftright3" for examples. Other
    layouts of this type can be created or programmed very easy with
    'ecb-create-newlayout' rsp. the macro 'ecb-layout-define'. (Klaus)

*** Now ECB offers a command `ecb-create-new-layout' for interactively creating
    new layouts "by example". Read the online-help. (Klaus)

*** Rewritten the mechanism for storing customized window-sizes. See option
    ecb-layout-window-sizes and the command ecb-store-window-sizes and
    ecb-restore-window-sizes. Now the sizes are always saved as fractions of
    the width (rsp. height) of the ECB-frame, so the stored sizes are always
    correct regardless of the current frame-size (Klaus). Suggested and first
    implementation by Geert Ribbers [geert.ribbers@realworld.nl]

** General Enhancements of the tree-windows:

*** Introduced a POWER-click (was SHIFT-click before) in the ECB-tree-windows -
    see documentation of ecb-primary-secondary-mouse-buttons and see also the
    online-help section "Usage of ECB --> Using the mouse" (Klaus).

*** Now the ECB-tree-buffers offer in their popup-menus a "Grep" and a "Grep
    recursive" (= grep-find) command where you can perform an easy grep in every
    directory without buffer-switching before. See also the new options
    `ecb-grep-function' and `ecb-grep-find-function'. (Klaus)

*** Modified syntax-table for all tree-buffers with all paren, braces and
    brackets handled as whitespace so for example no paren-matching takes place
    (Klaus).
    
** Enhancements to the layout-engine of ECB:
   
*** Added a complete new section "The layout-engine of ECB" to the online-help
    which describes in detail how to program new layouts and new special
    windows. This is for foreign packages which want to display own informations
    in own special windows and synchronizing these windows with the edit-window
    of ECB (a graphical debugger could be an example). Also a full working
    example is added in the new file ecb-examples.el. (Klaus)

*** Completely rewritten how to program new layouts. Now there is a new macro
    `ecb-layout-define' which offers very easy programming of new layouts.
    (Klaus).

** Enhancements to the compile-window

*** ECB now has a list of valid compilation buffers within the ECB menu. (Kevin)

*** ECB now supports `ecb-enlarged-compilation-window-max-height' which can be
    used for defining the max. height of the ecb-compile-window if enlarged by
    `ecb-toggle-enlarged-compilation-window'. (burton)

*** Added new command 'ecb-toggle-compile-window': Toggle the visibility of the
    compile-window of ECB (Klaus).

** Speedbar is now integrated in ECB and can be used instead of the standard
   ECB-directories buffer (or instead of all tree-buffers if you like :-). Most
   of the important basic work has been done by Kevin A. Burton.
    
*** See new option 'ecb-use-speedbar-for-directories' and the node "Integrating
    speedbar" in the online-help. (Klaus)

*** Version-checking for correct speedbar version (>= 0.14beta1). For lower
    versions ecb-use-speedbar-for-directories has no effect. (Klaus)

*** ecb-speedbar and speedbar first loaded direct before drawing the layout
    with integrated speedbar. (Klaus)

*** The speedbar-commands speedbar, speedbar-get-focus are adviced during
    running speedbar within ECB, so they behave in a senseful way. (Klaus)

** Enhancements to the ehell-support of ECB:
   
*** ecb-eshell now recenters after command execution. (burton)

*** ecb-eshell now recenters if there are any window resizes.  This is done so
    that the prompt is always at the bottom of the window. (burton)

*** ecb-eshell integration now protects against buffer-list modifications during
    transparent eshell updates in the compile window.  In the past, if the eshell
    was running, and you want from buffer "foo", to "bar", and then tries to go
    back to "foo" the next entry in your buffer list is "*eshell*" so this would
    break a lot of completion tools like 'switch-to-buffer.  (burton)

*** Added online documentation for the eshell integration. See section
    "Tips and tricks". (Klaus)

** New hooks:
  
*** New or renamed hooks:
    - ecb-redraw-layout-after-hook (new)
    - ecb-redraw-layout-before-hook (new)
    - ecb-hide-ecb-windows-after-hook (new)
    - ecb-hide-ecb-windows-before-hook (was ecb-hide-ecb-windows-hook)
    - ecb-show-ecb-windows-after-hook (new)
    - ecb-show-ecb-windows-before-hook (was ecb-show-ecb-windows-hook)
    Read the documentation! (Klaus)

*** Added two general hooks:
    + ecb-before-activate-hook: Activate ECB only if all added hooks return not
      nil
    + ecb-before-deactivate-hook: Deactivate ECB only if all added hooks return
      not nil
    (Klaus)

*** Added 5 new hooks for the ECB tree-buffers:
    + ecb-common-tree-buffer-after-create-hook
    + ecb-directories-buffer-after-create-hook
    + ecb-sources-buffer-after-create-hook
    + ecb-methods-buffer-after-create-hook
    + ecb-history-buffer-after-create-hook
    These hooks are called directly after tree-buffer creation so they can be
    used for example to add personal local key-bindings either to all
    tree-buffers (ecb-common-tree-buffer-after-create-hook) or just to a certain
    tree-buffer. Please read the documentation. (Klaus)



* Changes for ECB version 1.80

** ECB now requires:
   + Latest stable release of semantic: Version 1.4
   + Latest stable release of eieio: Version 0.17
   ECB checks at start-time if the correct versions are available and if not
   ECB offers you to download and install them from within Emacs. After this
   you have only to restart Emacs and you are fine. (Klaus)

** Fixed bugs:
   
*** Fixed: Now no empty tool-tips are displayed if mouse moves over nodes in the
    tree-buffers of ECB which can be displayed completely in the tree-window.
    (Klaus)

*** Fixed a bug in ecb-eshell.  If we are running with current buffer sync, and
    there is garbage on the current line, when we change buffers this garbage will
    be executed which could result in a 'command not found' or even worse, a
    damaging command executed.  We now cleanse the command line prior to directory
    changed. (Kevin A. Burton) 

*** Fixed a bug in ecb-speedbar.  The speedbar was doing its own updating outside
    of the ECB.  This means that if you were to change buffers in a frame outside
    of the ECB frame, the ECB's Speedbar would be updated to reflect a buffer not
    within the ECB.  We now disable Speedbar's automatic update and have ECB
    handle this.  (Kevin A. Burton) 

*** Fixed a bug: Sometimes there occurs a a "wrong-type-argument"-error (or
    "destroyed extent"-error with XEmacs) under some circumstances. Now ECB
    auto-reparses the buffer and after that ECB is in correct state again.
    (Klaus)

*** Fixed formatting of "Parent" nodes in token buffer. (Jesper)

** Byte compiling ECB either interactive with `ecb-byte-compile' or with the
   supplied Makefile now checks also the versions of semantic and eieio.
   (Klaus)

** ECB now displays the section "First steps" of the online-manual after
   activating first time. (Klaus)

** Now the adviced versions of `delete-window' and `delete-other-windows' can
   also handle the optional WINDOW argument of the original versions correctly
   so the adviced versions now also work correct if called from program (Klaus).

** New adviced window command: `delete-windows-on' now works correct with ECB.
   See `ecb-advice-window-functions'. (Klaus)

** In the ECB-directories buffer now F4 adds a new source-path instead of F1.
   That is because F1 is such an important key in many OS and tools (e.g. opens
   help in all windows-programs), so ECB should not hardly "rebind" it. (Klaus)

** Enhancing the option 'ecb-window-sync': Now the synchronization can take
   place for all buffers which have a relation to files AND directories, i.e.
   now also for dired-buffers. But per default this is switched off, see the
   doc-string. (Klaus)

** Now the ECB online help is available in the standard Info-format and also in
   HTML-format. With the new option 'ecb-show-help-format' you can choose which
   format is used by the function 'ecb-show-help'. (Klaus)

** New feature and command: ecb-download-ecb. With this function you can
   download and install any arbitrary ECB-version from the ECB-website from
   within Emacs. This is especially useful for upgrading to the latest
   version. (Klaus)

** New debug mode for ECB which prints some debug informations in the message
   buffer for certain critical operations with semantic-overlays/extends.
   New option 'ecb-debug-mode' (also available in the Help-menu of ECB).
   (Klaus)

** Some default key-bindings have changed; see `ecb-key-map'. (Klaus)

** New feature: Possibility to define a sequence of layouts with new option
   `ecb-toggle-layout-sequence' and toggle very fast between them via
   `ecb-toggle-layout'. Read the online-help section "Simulation a speedbar
   without an extra frame"! (Klaus).

** Two new hooks: ecb-hide-ecb-windows-hook and ecb-show-ecb-windows-hook. Read
   the documentation. (Klaus)
   Suggested by Daniel Hegyi <daniel_hegyi@hotmail.com>

** Two new options: ecb-major-modes-activate and ecb-major-modes-deactivate.
   Allow (de)activation of ECB on major-mode base. Instead of deactivation also
   just hiding the ECB-windows is possible. Read the docstrings. (Klaus)
   Suggested by Daniel Hegyi <daniel_hegyi@hotmail.com>

** Redefining of the option 'ecb-compile-window-temporally-enlarge': Now you
   can specify that the compile-window is auto. enlarged after selecting it and
   auto. shrinked after leaving it. Read the docstring! (Klaus)
   Suggested by Daniel Hegyi <daniel_hegyi@hotmail.com>

** Much better and more powerful auto. upgrading-mechanism of incompatible or
   renamed ECB-options to latest ECB-version. See the option
   ecb-auto-compatibility-check! (Klaus)

** New option ecb-tree-RET-selects-edit-window: Possibility not to select the
   edit-window of hitting RET in a tree-buffer; see the doc-string. There is
   also a new function ecb-toggle-RET-selects-edit-window which is bound to
   [C-t] in each tree-buffer. (Kevin A. Burton,  Klaus)

** Better grouping of external methods, i.e. methods which are implemented
   outside the class-definition, like in C++, CLOS and EIEIO. Now this is done
   completely by semantic. (Klaus)

** For application programmers using the tree-buffer library:
   + The function tree-buffer-create has a new argument NODE-DATA-EQUAL-FN. See
     the doc-string for a description (Klaus).
   + For each tree-buffer a special user-data-storage (for any arbitrary data)
     is created which can be accessed via `tree-buffer-set-data-store' and
     `tree-buffer-get-data-store'. See the docstring of `tree-buffer-create'.
     (Klaus)

    

* Changes for ECB version 1.70

** New option ecb-bucket-token-display. See doc-string for details. (Klaus)

** Reorganization of the faces used by ECB. The group 'ecb-face-options'
   contains now all options which type is 'face (i.e. the defcustom's) and the
   group 'ecb-faces' contains all face-definition (the defface's). In addition
   it is now possible to change easily and fast the general face for ALL
   ECB-tree-buffers (same for the highlighting face). See the docstring of the
   new faces 'ecb-default-general-face' and 'ecb-default-highlight-face' for
   further details. (Klaus).

** Smarter incr. search in a tree-buffer with the [end]-key: If there are at
   least two nodes with the same greatest common-prefix than every hit of
   [end] jumps to the next node with this common prefix. (Klaus)

** New feature ecb-auto-compatibility-check: ECB checks on startup if the
   current value of an ECB-option OPT is not compatible with the type of OPT in
   current ECB-release. This is done during activation. If there are
   incompatible options ECB resets them to the default value of current ECB
   release and displays after activation in a temporary window which options
   have been reset, incl. their old-value (before the reset) and new-value
   (after the reset). (Klaus)

** New feature ecb-tree-navigation-by-arrow: Smarter navigation in the
   tree-windows with left- and right-arrow key (Klaus).
   Thanks for the suggestion and a first implementation to Geert Ribbers
   <geert.ribbers@realworld.nl>!

** New feature 'ecb-type-token-display'. See the doc-string of this new option
   for a description. (Klaus)

** Now the option 'ecb-post-process-semantic-tokenlist' has per default an
   entry for emacs-lisp-mode, so for eieio-code the methods (defmethod) of a
   class are grouped with respect to the class they belong. The new default
   value of this option does this for c++- and eieio-code. (Klaus)

** Now in the ECB-tree-buffers RETURN works like the primary button (already in
   previous versions) and C-RETURN works like the secondary button (new in
   version 1.70). For an explanation of primary and secondary see the option
   ecb-primary-secondary-mouse-buttons. (Klaus)

** New feature: Now the token-display function can be defined separated for
   each major-mode. Furthermore the token-display for C++ has enhanced,
   especially for template-classes (but template displaying is first available
   with semantic > version 14beta13!).
   For this the option ecb-token-display-function has been completely rewritten
   and is now incompatible with the old values before ECB 1.61. (Klaus)

** Fixed a bug with mouse-avoidance-mode (only relevant for GNU Emacs 20.X)
   Klaus. 

** New feature, ecb-select-edit-window-on-redraw.  Mostly used if you are running
   with ecb-redraw-layout-quickly and want to make sure you are always in the
   edit window. (Kevin)

** New feature, ecb-auto-activate.  If non-nil we can start the ECB after Emacs
   is started.  See `ecb-auto-activate' for more information.  (Kevin)

** New package, ecb-cycle.el.  Supports cycling through all known compilation
   buffers. (Kevin)
     + ecb-cycle-switch-to-compilation-buffer - switch to available compilation
       buffers.
     + ecb-cycle-through-compilation-buffers - cycle through all compilation
       buffers.
  
** Much better performance of the directory and file-browser in ECB, especially
   for directories with a lot of entries (means ~ >1000, dependent on your
   machine and the net-connection in case of network-drives). See also the new
   feature: ecb-cache-directory-contents. (Klaus)

** ecb-eshell now supports customization.  (Kevin)

** New feature: ecb-layout-always-operate-in-edit-window. Look at the
   documentation. (Kevin & Klaus)

** Fixed a bug in `ecb-toggle-ecb-windows'.  For starters we weren't setting
   `ecb-window-hidden' when we redraw the layout.  This means that the ecb
   windows could be hidden but never shown.
   Other things:
   + ecb-windows-hidden now has documentation
   + we display status messages when we hide windows. (Kevin)

** Fixed bug in `ecb-redraw-layout-quickly'.  If for come reason any of the ECB
   windows are not alive, we do not return with a hard error.  Instead, we use
   the scratch buffer.  (Kevin)

** New function ecb-toggle-enlarged-compilation-window allows users to expand and
   then contract the compilation window with a new key binding C-c . / (Kevin)

** new option ecb-add-path-for-not-matching-files. Look at the documentation
   (Klaus).


   
* Changes for ECB version 1.60

** ecb-highlight-token-header-after-jump is now a boolean; which face is used
   for highlighting is defined in ecb-token-header-face. (Klaus)

** New option 'ecb-post-process-semantic-tokenlist': Special post-processing of
   the semantic tokenlist for certain major-modes. This is useful for
   c++-mode. Now with the default value of this option all methods in a
   c++-implementation-file (no class/method-declaration but only method
   implementations) are grouped with respect to the class they belong. (Klaus)

** Now also with C++ Sources the method- and variable-protection is displayed
   correct in the ECB-method buffer (Klaus).

** Fixed a bug which prevented ECB using the root path "/" on Unix-like systems
   as a source-path. (Klaus)

** If a file via the standard-mechanisms of Emacs (e.g. find-file) is opened,
   then the auto. window sync (see `ecb-window-sync') has worked only correct
   if the new file is located in any of the paths in `ecb-source-path'. Now ECB
   adds the path of the new file at least temporally via `ecb-add-source-path'
   to the list of paths in `ecb-source-path', so the window-sync works always
   correct. ECB asks the user if the new path should saved also for future
   sessions. (Klaus)

** Added ecb-redraw-layout-hooks so that code can be executed after we redraw the
   ecb layout.

** New hook ecb-current-buffer-sync-hook allows developers to add code to be
   evaluated after the ECB is synchronized with the current buffer.

** Now all faces used by ECB for highlighting and displaying it��s own stuff are
   customizable. See new group 'ecb-faces' (Klaus).

** ECB is now fully prepared for Emacs 21. The new feature
   `ecb-show-node-info-in-minibuffer' is implemented with the new 'help-echo
   property of Emacs 21, therefore the ugly `track-mouse' mechanism is not
   needed anymore with Emacs 21. (Klaus).

** The options `ecb-show-node-name-in-minibuffer',
   `ecb-show-complete-file-name-in-minibuffer' and
   `ecb-show-file-info-in-minibuffer' are gone and have been replaced by one
   single new option `ecb-show-node-info-in-minibuffer' where you can define
   separately for every tree-buffer when and which node info should be
   displayed in the minibuffer (Klaus).

** ecb-auto-expand-directory-tree now offers two options:
   - best: Expand always the best matching source-path for a file
   - first: Expand always the first matching source-path for a file (Klaus)

** Fixed a bug in auto. expanding directories if a source-path has an alias.
   (Klaus)

** If mouse is moved over an alias in the directories buffer then the real path
   is shown in the echo-area; see also 'ecb-show-node-info-in-minibuffer'
   (Klaus).

** If mouse is moved over an history-entry then the full path is shown in the
   echo-area so you can distinct better between two entries with the same name
   but with different paths; see also 'ecb-show-node-info-in-minibuffer'
   (Klaus).

** New option for the history: ecb-kill-buffer-clears-history defines if
   `kill-buffer' should also remove the corresponding history entry. There are
   several options (Klaus).


   
* Changes for ECB version 1.52

** Added EIEIO requirement to ECB.



* Changes for ECB version 1.51

** Now the names of all ECB buffers begin with a SPC per default. (Klaus)

** ECB now can handle not only full but also partial buffer reparsing if done
   by semantic and other tools (e.g. JDE >= 2.2.9). The method buffer will
   always be uptodate if for a major-mode auto. reparsing after buffer changes
   is enabled (the auto. buffer reparsing itself is not an ECB feature but must
   be supplied by the major-mode, e.g. JDE). (Klaus)

** Incremental node-search in the ECB-buffers now uses the value of
   `case-fold-search'. (Klaus)

** Complete new customization of the ECB-key-bindings. The option
   `ecb-prefix-key' has been removed. There is one new option `ecb-key-map'
   where you can customize all key-settings of ECB (including a common
   prefixkey). (Klaus)

** ecb-add-source-path and ecb-delete-source-path now ask if saving should be
   done for future sessions (Klaus).

** Added new navigator functionality. Makes it easy to go to the back and forward
   in navigated tokens and buffers. See ecb-nav-goto-next and 
   ecb-nav-goto-previous. (Jesper)

** Added an option to narrow the buffer to the token that is jumped to. See
   ecb-token-jump-narrow. (Jesper)

** Fixed a small bug that placed the window start at the beginning of the token
   instead of the beginning of the token line. (Jesper)


      
* Changes for ECB version 1.50

** Fixed a minor bug that occured when de-activating ECB under XEmacs. (Jesper)

** ecb-layout-window-sizes variable is now an association list, which makes it
   easier to add and remove layouts. (Jesper)

** Added a new layout (nr. 12). Thanks to Nick Cross
   <nick.cross@prismtechnologies.com> for this layout.

** Each source path can now have an alias that is displayed instead of the path
   name in the directories buffer. (Jesper)

** The history items can now use the buffer name instead of the file
   name. Customizable with ecb-history-item-name. (Jesper)

** When jumping to a token the window can be scrolled so that the token starts 
   at the top or center of the window. This behavior is customizable with
   the variable ecb-scroll-window-after-jump. (Jesper)

** Fixed a bug when retrieving parent names for a token. (Jesper)

** Now the option 'ecb-prefix-key' is customizable so you can define another
   prefix if there are conflicts with other minor-modes or packages (Klaus).


   
* Changes for ECB version 1.41

** Fixed bug when clicking on token in the methods buffer in XEmacs.



* Changes for ECB version 1.40

** Tree-incremental-search in the ecb-windows now ignores all non interesting
   stuff:
   + any leading spaces
   + expand/collapse-buttons: [+] rsp. [-]
   + protection-signs (+, -, #) in the method-window if uml-notation is used
   + variables types or return-types in front of variable- or method-names.
   + const specifier for variables
   This makes incremental-searching in a tree-buffer much faster and easier.
   (Klaus)

** ECB now uses Semantic DB to find parents of types. (Jesper)

** Long source paths in the directories buffer are now truncated at the
   beginning. Customizable with variable ecb-truncate-long-names. (Jesper)

** Tokens can now be sorted by access. (Jesper)

** Added a function to semantic-clean-token-hooks that just updates the token
   changed instead of re-building the entire token tree. (Jesper)

** Implemented a token tree cache that stores recently opened buffers' token
   trees. This makes the buffer switching much faster and also saves expanded
   nodes and window positions. The cache is unlimited at the moment. (Jesper)

** Added a speedbar-like layout nr. 11. This is very useful (like also layout
   nr. 10) either for users with small screens or users which normally do not
   need/want the ECB-windows but sometimes browsing/selecting
   methods/variables. (Klaus)

** Better extraction of tokens from current buffer. ECB now displays any token
   type in any order. (Jesper)

** ECB now uses Semantic to display tokens in the methods buffer. (Jesper)

** Much saver ecb-redraw-layout: Now the layout can be restored ALWAYS
   regardless what messy thing has been done before. (Klaus)

** New advice for 'other-window-for-scrolling', so all scroll-functions for the
   "other" window can also scroll the first edit-window if point stays in the
   second one. (Klaus)

** ecb-toggle-ecb-windows now preserves the split, the split-amount, the buffer
   contents, the window starts and current point. (Klaus)

** Some important changes in the ECB-layout concerning displaying compilation-
   and temp-buffers. (Klaus):

*** 'ecb-select-compile-window' has been gone.
  
*** 'ecb-use-dedicated-windows' is not longer a user-customizable option but
    it is always set to t, because this is essential for correct working of
    the ecb-layout engine!

*** 'ecb-compile-window-temporally-enlarge' is now a boolean option.  

*** Now ECB does all necessary that your edit-window of ECB seems to be a
    normal Emacs frame, especially concerning displaying temp-buffers (like
    help- and completion-buffers) and compilation-buffers.
    
*** The variables 'compilation-window-height' and 'temp-buffer-shrink-to-fit'
    (XEmacs) and 'temp-buffer-resize-mode' (GNU Emacs) are now fully supported
    by ECB if no durable compilation-window is shown.

** New function to toggle visibility of the ECB windows. Now it��s possible to
   hide all ECB windows without deactivating ECB (see 'ecb-toggle-ecb-windows')
   (Klaus).

** ECB is now a global minor mode with it��s own menu "ECB" and it��s own key-map
   with prefix "C-c .". New function to (de)activate/toggle ECB with
   'ecb-minor-mode'. (Klaus)

** Fixed a bug in highlighting current token in the method-buffer when
   font-lock-mode is nil for the source-buffer. (Klaus)

** New option for highlighting the method-header in the edit-window after
   clicking onto the method in the method-window (like Speedbar does). (Klaus)

** Function for automatically submitting a problem report to the ECB mailing
   list: ecb-submit-problem-report. (Klaus)

** Now not only for method-highlighting an idle delay can be set but also for
   synchronizing the ECB windows with current edit window (see option
   ecb-window-sync and ecb-window-sync-delay; default is 0.25 sec delay)
   (Klaus).

** Smarter highlighting of current method (Klaus).

** All tree-buffers now have as default-directory the current selected
   directory in the directory buffer. So you can also open files with find-file
   etc. from within the tree-buffers. (Klaus).


   
* Changes for ECB version 1.32

** Nil parent bug fixed. (Jesper)

** New advices for find-file and switch-to-buffer (Klaus).

** Now possible to set an idle delay before the current method is highlighted;
   useful for slow machines but prevents also "jumping backward/forward" during
   scrolling within java-classes if point goes out of method-definition into
   class-definition. Default is an idle time of 0.25 seconds. (Klaus).


   
* Changes for ECB version 1.31

** Parents (extends and implements) of the classes in the current buffer is now
   shown in the methods buffer. (Jesper). Possibility to define a regexp which
   parents should not be shown. (Klaus).

** Now displaying the complete node name in minibuffer with the track-mouse
   mechanism works also with mouse-avoidance-mode on; the mouse-avoidance will
   be deactivated as long ECB is activated and the node-name display-mechanism
   is on. This refers only to GNU Emacs! (Klaus)

** Fixed a bug in 'ecb-current-buffer-sync' and 'ecb-redraw-layout' (Klaus)

** Fixed a bug in loading semantic 1.3.3 or semantic 1.4 (Klaus)



* Changes for ECB version 1.30

** If not all ECB-tree-windows of current layout are visible at redraw-time
   ('ecb-redraw-layout') then the redraw synchronizes the contents of the
   tree-windows with the source displayed in current edit-window (Klaus).

** Added a section "Tips and Tricks" to the ECB online-help. (Klaus)

** Added a new layout Nr. 10 for very small screen resolutions where all
   square-centimeters are needed for the editing itself. This layout only
   displays a method-window and a edit-window. (Klaus).

** The messages displayed after moving the mouse over a node in a tree-buffer
   do not longer wasting the log, means they will not be logged (Klaus).

** ECB now also works with semantic >= 1.4 (Klaus).

** Now the ecb-compile-window-height is also preserved after displaying
   temp-buffers (e.g. help-buffers after C-h f) - if you want this. See the
   documentation of the option 'ecb-compile-window-temporally-enlarge'. (Klaus)

** Added menu items for modification of the source paths in the directories
   buffer. (Jesper)

** Added buttons to directories buffer. (Jesper)

** Mouse over files, methods etc. now work even if follow-mouse isn't
   activated (Jesper). ECB adds a more intelligent mouse tracking mechanism, so
   not only the mouse-over-node stuff of ECB works now very well and savely but
   also follow-mouse itself works better and saver as without activated ECB.
   (Klaus)

** Popup menus now work in XEmacs. (Jesper)

** You can now specify paths with env-vars like $HOME in the option
   `ecb-source-path'. (Klaus)

** The user must now confirm if he tries to delete the ECB frame. If he wants
   to proceed then ECB will be first deactivated before deleting the frame.
   This works for all ways to delete a frame (shortcut, window-manager-button,
   ...). (Klaus)

** ECB now optionally create its own frame when activated. See the new option
   'ecb-new-ecb-frame'. (Klaus)

** Intelligent recentering of tree-buffers now completely implemented without
   the function 'recenter'. This means no flickering and flashing the whole
   frame anymore after each 'recenter'. Now the ECB display is stable like a
   rock :-) (Klaus)

** Mouse over directories now shows directory path. (Jesper)

** Methods and variables with point are now highlighted. (Jesper)

** ECB windows are now updated when saving new files and deleting files. (Jesper)

** incremental-search in every tree-buffer for easier and faster selecting
   nodes with the keyboard (see new option `ecb-tree-incremental-search' and
   new function 'tree-buffer-incremental-node-search') for more details.
   (Klaus)

** ecb-redraw-layout now restores both edit window buffers and the edit window
   start. (Jesper)

** Spelling corrections. Thanks to Colin Marquardt
   <colin.marquardt@usa.alcatel.com> for spotting them.

** Mode line prefixes can now be set individually for each ECB-buffer. There is
   a default-prefix for each buffer but the user can also define a custom
   prefix or no prefix at all. (Jesper/Klaus)

** Fixed small bug in directory tree that caused directories to be sorted by
   extension. (Jesper)


   
* Changes for ECB version 1.20

** Now the ECB-buffers are intelligent in displaying nodes (Klaus):
   + Expandable nodes: (e.g. a directory with it��s subdirectories). An
     ECB-tree-window now tries always to make visible as much as possible of
     the sub-nodes of a node if a node is expanded (e.g. by clicking onto it��s
     expand-symbol).
   + Other nodes: A ECB-tree-window is always best filled, means no empty lines
     if there are enough lines to fill the whole window.

** The source file is only parsed if the ECB methods window is visible
   (Jesper).

** The methods buffer now show fields of EIEIO classes. Only works with
   semantic 1.4. Thanks to Eric M. Ludlam <eric@siege-engine.com> for
   this patch.

** Now all adviced functions behave only special in the ECB-frame. In each other
   frame they behave exactly like the not adviced functions. (Klaus)

** Fix "invalid method-buffer"-bug (Klaus, with a lot of help by Eric Ludlam
   and David Ponce).

** Source files can now be sorted by name, extension or not sorted at all
   (Jesper).

** Now you can precisely define by an exclude and include regexp which files
   should be displayed by ECB. (Jesper).

** Jumping to a method/variable from the ECB-method buffer now sets the mark so
   the user can easily jump back (see `ecb-method-jump-sets-mark'). (Klaus)

** Now you can define a primary and a secondary mouse-button for ECB. See the
   new variable `ecb-primary-secondary-mouse-buttons'.
   Note: The name of the option 'ecb-left-mouse-jump-destination' has been
   changed to `ecb-primary-mouse-jump-destination'!

** Now ECB is really ediff-friendly: During ediff is active the advices of ECB
   are temporally deactivated! (Klaus)

** Now all tree-buffers (ECB-buffers) are read-only (Klaus)!

** Better implementation of advising the functions. Now all advice-able
   functions are completely independent from each other (Klaus)!

** Removes the redundant modeline info and shows important
   information.

** Added new option `ecb-advice-window-functions'. Enabling the intelligent
   window functions via customize. No hook hacking necessary anymore!
   Now the intelligent window functions are implemented by advicing (Klaus).

** Better online help display (Klaus).

** Added new option 'ecb-primary-mouse-jump-destination' (thanks to David Hay
   for suggestion <David.Hay@requisite.com>.

** Adviced 'other-window' acts now exactly like the original but always related
   to 'ecb-other-window-jump-behavior' (Klaus)!

** Fixed bug with 'ecb-compile-window-height'. Now ECB has always the correct
   compile-window height after compilation-output (compile, grep etc.)

** New option 'ecb-compile-window-temporally-enlarge'. Allowing
   Emacs-compilation to enlarge the ECB-compile-window temporally.


   
* Changes for ECB version 1.10

** Automatic expansion of the directory tree.

** Method parsing is now recursive, so that for example inner classes
   in Java are shown in the methods buffer.

** Variables are now shown in the methods buffer.

** Selected files and directories now use the secondary-selection
   face. Thanks to Kevin A. Burton <burton@relativity.yi.org> for this
   patch.

** Fixed some issues with XEmacs. Thanks to Colin Marquardt
   <colin.marquardt@usa.alcatel.com> for this.

** Fixed bug with truncating lines in tree-buffer.el.

** The methods buffer can now be automatically updated when the source
   file is saved.

** Help text is available with "ecb-show-help".

** Moving the mouse over a node shows the name in the
   mini-buffer. Currently this only works when follow-mouse is
   activated.


   
* Changes for ECB version 1.0

** Changed name from JCB to ECB and prefix from "jde-jcb-" to "ecb-".

** Works with semantic 1.3.1 and higher.

** Fixed a couple of bugs when creating and deleting files.

** Grouped customization variables.

** Contributed by Klaus Berndl <klaus.berndl@sdm.de>:

*** A lot of intelligent ECB window-functions (e.g. ecb-delete-window) which
    gives you the feeling as if the edit-window is the only window of the ECB
    frame.

*** New layout functionality.

*** The history buffer can optionally be sorted and also cleared.

*** The package expanded symbol can optionally be placed before the package name.

*** Syntax highlighting of the methods buffer.

*** Show argument names and return type in the methods buffer.

*** History clear function: ecb-clear-history.

*** Added pop-up menu to the history buffer.

*** Fixed edit buffer sync bug.



* Changes for ECB version 0.04

** Keyboard navigation in JCB buffers. Use Return to select and Tab to expand.

** Tree view of packages.

** Class files can be viewed in the packages buffer.

** Better handling of mouse events.

** Automatic update of the packages buffer.

** Added pop-up menus to the packages and classes buffers. They are activated 
   with mouse button 3 (right button).

** Added method sorting. Thanks to Brian Anderson <brian.anderson@luna.com> 
   for this improvement.


   
* Changes for ECB version 0.03

** Fixed naming of variables.

** Fixed license and copyright comments.

** Fixed class file regular expression bug. 
   Thanks to Jim Loverde <loverde@str.com> for finding it.

** Added three new layouts.

** The JCB buffers can now be (almost) synchronized with the edit window.

** When clicking on a class or method using mouse button 2, it will be loaded
   into another window. A new customization variable was added for this.

** Minor changes. Thanks to Jim for his suggestions.

** Removed the "jde-jcb-window-skips-from-methods-buffer" and 
   "jde-jcb-window-skips-from-history-buffer" customization variables.

   
   
* Changes for ECB version 0.02

** Changed prefix from "jcb-" to "jde-jcb-". This will cause JCB customization 
   variables to be saved in JDE project files.

** Lists and parses non-Java file types. Currently the C and Lisp parsers from 
   semantic-ex.el are used.

** History buffer implemented.

** Layout function implement. Thanks to Jim Loverde <loverde@str.com> for 
   helping out with this.

** Packages matching a regular expression can be excluded from the packages 
   buffer. Thanks to Mark Gibson <mark@markg.co.uk> for this feature.


   
* Changes for ECB version 0.01

** Initial version.



Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end: