* 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
* 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
(resp. frame-width as width) . (Klaus)
* Fixed a bug in the downloading feature of ECB. (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.
* Enhanced the "downloading new packages" feature of ECB: 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
* 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 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 reclick 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 <email@example.com>! (Klaus).
* 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).
* 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 comand
* 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
* 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).
* 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
* 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
* 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 (resp. 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
* 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
The cache of a directory is refreshed and actualized with a POWER-click onto
the related directory in the directories-buffer (s.b.) (Klaus)
* 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).
* Added new command 'ecb-toggle-compile-window': Toggle the visibility of the
compile-window of ECB (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).
* 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)
* 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
* Added online documentation for the eshell integration. See section
"Tips and tricks". (Klaus)
* ECB now has a list of valid compilation buffers within the ECB menu. (Kevin)
* Modified syntax-table for all tree-buffers with all paren, braces and
brackets handled as whitespace so for example no paren-matching takes place
* 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)
* 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 buildin 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')
- ecb-show-layout-help: Displays the docstring of a layout which at least
for buildin 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.
* 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)
* 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' resp. the macro 'ecb-layout-define'. (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' (resp. using the Makefile or
make.bat) please send this to our mailing list. (Klaus)
* 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)
* 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
* Now ECB can be "autoloaded", i.e.
+ ecb-byte-compile and
are autoload-able via '(autoload ...)' (Klaus)
* Now ECB offers a command `ecb-create-new-layout' for interactively creating
new layouts "by example". Read the online-help. (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.
* 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)
* Added 5 new hooks for the ECB tree-buffers:
These hooks are called directly after tree-buffer creation so they can be
used for example to add personal local keybindings either to all
tree-buffers (ecb-common-tree-buffer-after-create-hook) or just to a certain
tree-buffer. Please read the documentation. (Klaus)
* Added two general hooks:
+ ecb-before-activate-hook: Activate ECB only if all added hooks return not
+ ecb-before-deactivate-hook: Deactivate ECB only if all added hooks return
* 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)
* Byte compiling ECB either interactive with `ecb-byte-compile' or with the
supplied Makefile now checks also the versions of semantic and eieio.
* 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 synchronisation 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
* 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 usefull for upgrading to the latest
* 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).
* Some default keybindings 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).
* Fixed: Now no empty tooltips are displayed if mouse moves over nodes in the
tree-buffers of ECB which can be displayed completely in the tree-window.
* Two new hooks: ecb-hide-ecb-windows-hook and ecb-show-ecb-windows-hook. Read
the documentation. (Klaus)
Suggested by Daniel Hegyi <firstname.lastname@example.org>
* 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.
* 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 <email@example.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 <firstname.lastname@example.org>
* Much better and more powerful auto. upgrading-mechanism of incompatible or
renamed ECB-options to latest ECB-version. See the option
* Fixed formatting of "Parent" nodes in token buffer. (Jesper)
* 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)
* 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)
* 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 ceated which can be accessed via `tree-buffer-set-data-store' and
`tree-buffer-get-data-store'. See the docstring of `tree-buffer-create'.
* New option ecb-bucket-token-display. See doc-string for details. (Klaus)
* Reorganisation 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, inkl. 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
* 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
* 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)
* 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
+ ecb-cycle-switch-to-compilation-buffer - switch to available compilation
+ ecb-cycle-through-compilation-buffers - cycle through all compilation
* Much better performance of the directory and file-browser in ECB, especially
for directories with a lot of entries (means ~ >1000, dependend 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.
+ 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
* 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 postprocessing of
the semantic tokenlist for certain major-modes. This is usefull 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 openend,
then the auto. window synch (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-synch works always
correct. ECB asks the user if the new path should saved also for future
* Added ecb-redraw-layout-hooks so that code can be executed after we redraw the
* 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-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.
* 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'
* 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 differnt pathes; see also 'ecb-show-node-info-in-minibuffer'
* 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).
* Added EIEIO requirement to ECB.
* 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
* Complete new customization of the ECB-keybindings. The option
`ecb-prefix-key' has been removed. There is one new option `ecb-key-map'
where you can customize all keysettings of ECB (including a common
* 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
* Added an option to narrow the buffer to the token that is jumped to. See
* Fixed a small bug that placed the window start at the beginning of the token
instead of the beginning of the token line. (Jesper)
* 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
<email@example.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 behaviour 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).
* Fixed bug when clicking on token in the methods buffer in XEmacs.
* Tree-incremental-search in the ecb-windows now ignores all non interesting
+ any leading spaces
+ expand/collapse-buttons: [+] resp. [-]
+ protection-signs (+, -, #) in the method-window if uml-notation is used
+ variables types or returntypes in front of variable- or method-names.
+ const specifier for variables
This makes incremental-searching in a tree-buffer much faster and easier.
* 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
* 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')
* ECB is now a global minor mode with it�s own menu "ECB" and it�s own keymap
with prefix "C-c .". New function to (de)activate/toggle ECB with
* 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)
* 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).
* 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).
* 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)
* 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
squarecentimeters 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
* 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.
* Popup menus now work in XEmacs. (Jesper)
* You can now specify paths with env-vars like $HOME in the option
* 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,
* ECB now optionally create its own frame when activated. See the new option
* 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.
* ecb-redraw-layout now restores both edit window buffers and the edit window
* Spelling corrections. Thanks to Colin Marquardt
<firstname.lastname@example.org> 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
Version 1.20 (2001-04-28):
* 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 visisble as much as possible of
the subnodes of a node if a node is expanded (e.g. by clicking onto it�s
+ 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
* The methods buffer now show fields of EIEIO classes. Only works with
semantic 1.4. Thanks to Eric M. Ludlam <email@example.com> for
* 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
* 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 adviceable
functions are completely independent from each other (Klaus)!
* Mon Apr 2 21:20:34 2001 (firstname.lastname@example.org): merge my modeline
additions... this removes the redundant modeline info and shows important
* 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.
Version 1.10 (2001-03-25):
* 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 <email@example.com> for this
* Fixed some issues with XEmacs. Thanks to Colin Marquardt
<firstname.lastname@example.org> 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
Version 1.0 (2001-03-17):
* 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 <email@example.com>:
* 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
* 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.
Version 0.04 (2000-11-07):
* 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 <firstname.lastname@example.org>
for this improvement.
Version 0.03 (2000-07-28):
* Fixed naming of variables.
* Fixed license and copyright comments.
* Fixed class file regular expression bug.
Thanks to Jim Loverde <email@example.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.
Version 0.02 (2000-07-15):
* 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 <firstname.lastname@example.org> for
helping out with this.
* Packages matching a regular expression can be excluded from the packages
buffer. Thanks to Mark Gibson <email@example.com> for this feature.
Version 0.01 (2000-07-08):
* Initial version.