ECB 2.01 is released!
What's new in the new release:
* Changes for ECB version 2.01
** 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 (e.g.
* 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
Especially the new image-style was inspired by the library tree-widget.el
written by David Ponce <david@...>. 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
** 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
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
** 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-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@...>.
*** 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@...>.
*** 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@...>.
** 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
** 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
How to get it:
Sorry, it's too big to post the sources here...
If you are using ECB >= 1.80 then you can just call "M-x ecb-download-ecb" if
you are online. ECB will then download autom. latest and newest ECB and
install it for you.
Or go to the homepage at http://ecb.sourceforge.net and download it from
General description of ECB:
ECB stands for "Emacs Code Browser" and is a source code browser for (X)Emacs.
It is a global minor-mode which displays a couple of windows that can be used
to browse directories, files and file-contents like methods and variables. It
supports source-code parsing for semantic-supported languages like Java, C,
C++, Elisp and Scheme as well as for source-types supported "only" by imenu or
etags (e.g. perl, TeX, LaTeX etc.).
Here is an ascii-screenshot of what ECB offers you:
| | |
| Directories | |
| | |
| | |
| Sources | |
| | |
|--------------| Edit-window(s) |
| | (can be splitted in two windows) |
| Methods/Vars | |
| | |
| | |
| History | |
| | |
| Compilation-window (optional) |
This is only one example-layout - ECB offers a lot of different layouts.
For more details go to http://ecb.sourceforge.net/
Klaus Berndl mailto: klaus.berndl@...
sd&m AG http://www.sdm.de
software design & management
Carl-Wery-Str. 42, 81739 Muenchen, Germany
Tel +49 89 63812-392, Fax -220