* 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 keybindings have changed; see RELEASE_NOTES for details.

** All popup-menus of the ECB-tree-buffers can be openend 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 resp. showing the block
   of that token in the Methods-buffer for which the popup-menu was openend.
   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 (resp right) egde of the modeline you will scroll left (resp. 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 keybindings:
   - 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-menues 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 resp. -height.

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

** Enhancements for the tree-buffers

*** "Create Source" in the popup-menues 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 reformate 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
    (resp. 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 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 <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' (resp. 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 comand
    `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 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')
       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.
     (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)

*** 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 (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 [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 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)



* 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 tooltips 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 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
   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 usefull 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 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).

** 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 ceated 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)

** 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
   <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, 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.
   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 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
   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 differnt pathes; 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-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
   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 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).


   
* 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: [+] 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.
   (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 keymap
   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
   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
   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 visisble as much as possible of
     the subnodes 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 adviceable
   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:
