ECB 2.22 is released!



What's new in the new release:
------------------------------

* Changes for ECB version 2.22

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

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

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

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

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

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

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

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

** Compatibility enhancements

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

** Fixed Bugs

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

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

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

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

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

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


How to get it:
--------------

Sorry, it's too big to post the sources here...

If you are using ECB >= 1.80 then you can just call "M-x ecb-download-ecb" if
you are online. ECB will then download autom. latest and newest ECB and
install it for you.

Or go to the homepage at http://ecb.sourceforge.net and download it from
there.



General description of ECB:
---------------------------

ECB stands for "Emacs Code Browser".  While Emacs already has good
*editing* support for many modes, its *browsing* support is somewhat
lacking. That's where ECB comes in: it displays a number of informational
windows that allow for easy source code navigation and overview.

The informational windows can contain:

  - A directory tree,
  - a list of source files in the current directory,
  - a list of functions/classes/methods/... in the current file, (ECB uses the
    Semantic Bovinator, or Imenu, or etags, for getting this list so all
    languages supported by any of these tools are automatically supported by
    ECB too)
  - a history of recently visited files, 
  - the Speedbar and
  - output from compilation (the "*compilation*" window) and other modes like
    help, grep etc. or whatever a user defines to be displayed in this window.

As an added bonus, ECB makes sure to keep these informational windows visible,
even when you use C-x 1 and similar commands.

It goes without saying that you can configure the layout, ie which
informational windows should be displayed where. ECB comes with a number of
ready-made window layouts to choose from.

Here is an ascii-screenshot of what ECB offers you:

------------------------------------------------------------------
|              |                                                 |
| Directories  |                                                 |
|              |                                                 |
|--------------|                                                 |
|              |                                                 |
| Sources      |                                                 |
|              |                                                 |
|--------------|                   Edit-area                     |
|              |    (can be splitted in several edit-windows)    |
| Methods/Vars |                                                 |
|              |                                                 |
|--------------|                                                 |
|              |                                                 |
| History      |                                                 |
|              |                                                 |
------------------------------------------------------------------
|                                                                |
|                 Compilation-window (optional)                  |
|                                                                |
------------------------------------------------------------------

For more details go to http://ecb.sourceforge.net/


Enjoy,
Klaus


Klaus Berndl                     mailto: [EMAIL PROTECTED]
sd&m AG                         http://www.sdm.de
software design & management
Carl-Wery-Str. 42, 81739 Muenchen, Germany
Tel +49 89 63812-392, Fax -220

Reply via email to