-
Notifications
You must be signed in to change notification settings - Fork 10
Home
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 (with full support and display of the VC-state)
- A list of functions/classes/methods/etc. in the current file. (ECB uses CEDET-semantic, Imenu or tags for getting this list so all languages supported by any of these tools is automatically supported by ECB too)
- A history of recently visited files (group able by several criteria)
- A direct and auto-updated eco-window for semantic-analyzer for context analysis of source code
- Speedbar support for conveniently navigating or operating on another frame
- A compilation window used for compilation and the use of other command-line utilities such as help, grep, etc.
As an added bonus, ECB makes sure to keep these informational windows visible, even when you use C-x 1 and similar commands.
While ECB comes with a number of ready-made window layouts to choose from, the window layout is configurable to your desires.
This release includes various fixes and updates including:
- By default now uses integrated CEDET in Emacs
- Better compatibility with Emacs 24.4
- Includes new Makefile layout thanks to Alex Ott
- Includes a number of bug fixes thanks to Alex Ott
-
Better compatibility with forthcoming Gnu Emacs 23.2
-
Works out of the box with the Emacs-integrated CEDET-suite
If Emacs >= 23.2 is used then CEDET is already integrated into Emacs and ECB can be used out of the box without further requirements.
PLEASE NOTE: If ECB detects an author version of CEDET (as available at `http://cedet.sourceforge.net') then ECB will ALWAYS try to use that one even if you use Emacs >= 23.2! This is for users who want to use latest Emacs >= 23.2 but still prefer using the latest author version of CEDET instead of the Emacs-integrated one.
So if you want to use the Emacs-integrated CEDET-suite you have to ensure that no author-version of CEDET is in the `load-path'! This means that the library cedet.el of the author-version MUST NOT be loaded into Emacs (as described in the file INSTALL of CEDET)! This is a valid check: (locate-library "semantic-ctxt") must return nil!
Details about the Requirements of ECB are available in the README.
-
The special symboldef ECB-window is now stable and ready for usage
-
TODO description what is new
-
ECB now uses the partial reparse feature of semantic
The main effect a user will notice is that edit actions which trigger just a partial reparse will just update the related node in the methods-window and not the whole methods-window. One of the main advantages is that this preserves the expand/collapse state of the methods-window.
Editing examples which trigger only a partial reparse:
- editing a function- or methodbody
- changing the name of a variable or function/method
- modifying the return-type of a function/method
- and some other...
In these cases only the related node in the methods-window will change nothing else, ie. the expand/collapse-states of all other nodes in the methods-window will not be changed.
-
ECB eliminates duplicates in the directories-buffer
There can be duplicates either .... TODO description
-
New default-value for `ecb-auto-update-methods-after-save': nil
Switching off this by default makes sense because now ECB uses the idle-scheduler of semantic (if it is switched on but this is at least very recommended) and therefore the methods-buffer will be up-to-date most of the time. Therefore updating it after saving makes not much sense. In addition this auto update is always a full-fetch for the tags which does not preserve the expand/collapse-state of the methods-window whereas a partial reparse does (s.a.).
-
The contents of the methods-window are updated even if currently hidden
If at least the current ecb-window-layout contains a methods-window then the contents will be autom-updated even if the methods-window is currently invisible (e.g. because the ecb-windows are all hidden or another ecb-window is currently maximized. But the updates takes only place if the semantic idle scheduler is active (see instructions in the manuals of ECB and/or cedet).
The advantage of this new behavior is that now editing changes done with invisible methods-window will be reflected immediately after showing the methods-window (e.g. by unhiding the ecb-windows via the command `ecb-toggle-ecb-windows' - bound to [C-c . l w]).
-
New support for Bazaar as version-control system If Bazaar is supported by VC (means vc-bzr.el is distributed with Emacs) then ECB supports it out of the box.
-
New default value of the option `ecb-history-make-buckets'
This option offers now an additional choice 'directory-with-source-path: This substituts the best (= deepest) matching source-path of the directory-window in the directory-bucket with the alias of this matching source-path (if an alias is set in the option
ecb-source-path'). A new face is used for this:
ecb-history-bucket-node-dir-soure-path-face'. -
defecb-window-dedicator-to-ecb-buffer' replaces
defecb-window-dedicator'This is only relevant for people who program own special ecb-windows.
-
Fixed Bugs
-
Command `delete-windows-on' has only deleted one window Now this command works also with ECB as expected.
-
Fixed a bug which prevents the ecb-windows from being vertically resizeable This bug occured only when using Gnu Emacs.
-
Fixed a bug concerning horizontal mouse-scrolling of ecb-windows via modeline-click when the ecb-window was not the selected window. This bug occured only when using Gnu Emacs.
-
Fixed a bug which prevented `ecb-type-tag-display' from taking effect.
-
Killing a buffer failed when history-window is not visible Killing a buffer failed in case the history buffer is not visible (e.g. when currently a layout without a history buffer is used or when another buffer is maximized and the history buffer thus hidden). This is fixed now.
-
All compile-modes (e.g. compile, grep etc.) failed in XEmacs This came from a bug introduced in 2.40 but it is fixed now.
ECB now requires full CEDET being installed (at least 1.0pre6). ECB has now more user-responsible buffer-parsing based on the idle-mechanism of semantic. In addition it fully supports current semantic-analyzer for intellisense and type-finding. ECB is more stable and now fully compatible with Emacs 22 and 23 and also mostly with XEmacs. ECB is able to work with indirect buffers if the base-buffer is filebased. It has a complete reworked history-buffer which can be bucketized and shows dead- and indirect-buffers in different faces. It has new support for Git and Monotone as version-control systems. In addition a lot of bugs are fixed.
ECB offers now two new interactors (special ecb-windows): One for the semantic-analyser (of cedet) and one for displaying the definition of current symbol at point. In addition the up- and down-arrow-keys are also smart in the tree-buffers. Much better maximizing and minimizing of the ecb-windows. Support for (X)Emacs < 21 has been officialy removed. Full documentation of the library tree-buffer.el. Some important bug-fixes.
This is mostly a bug-fix-release for native Windows-XEmacs. In addition beta-code for Clearcase-support has been added. It's strongly recommended to install this release when using native Window-Emacs!