README for the Emacs Code Browser (ECB) version 2.20
This package contains a code browser for several programming-languages for
(X)Emacs. For instructions on how to use the browser read the online-help
either with the shipped info-manual (see "Usage" below) or direct from the
ECB-Homepage at http://ecb.sourceforge.net.
The latest version can be found at: http://ecb.sourceforge.net
ECB requires the following packages:
- Semantic, author version between 1.4 and 1.4.9
- Eieio, author version between 0.17 and 0.17.9
- speedbar, author version 0.14beta1 or higher
IMPORTANT: The speedbar-version shipped with GNU Emacs <= 21.3 does not
satisfy the requirements - download and install a newer one!
- Optional: If Java code is edited the ECB works best when the JDEE package
(http://sunsite.auc.dk/jde) is installed.
If you use XEmacs you must have installed the package c-support (contains
hideshow.el). If you want to read the online-help of ECB in HTML-format you
must have the library browse-url (part of the mail-lib XEmacs package)
installed; this package is also needed for submitting problem-reports to the
Using the beta of cedet 1.0 (contains semantic 2.0)
From beginning with version 2.01 ECB supports the next generation of the
cedet-tools. But before the cedet 1.0 suite becomes stable this means that ECB
runs correctly with loaded cedet 1.0 but the ECB-upgrading festure does not
support autom. upgrading to latest available cedet versions. This will be
first available after first stable release of the new cedet-library 1.0.
So, if the cedet 1.0 suite is loaded then the min- and max-version of
semantic, eieio and speedbar (mentioned in the Requirements-section above)
have no relevance!
*IMPORTANT*: The following steps 1. to 8. describe installation tasks if you
got the archive in the format available at the ECB website. If you use XEmacs
and got ECB as regular XEmacs-package (e.g. downloaded and installed by the
package-manager of XEmacs) then there is nothing to do for you, just start ECB
with `ecb-activate' or read the online-help with `ecb-show-help'.
1. Unpack the ECB archive (probably you have already done this :-)
2. Install the required semantic-, eieio- and speedbar-version.
*Note 1*: If the new cedet 1.0 suite should be used then just install and
load cedet 1.0 like described in the cedet-installation-instructions and go
one with step 3.
*Note 2*: ECB maybe requires a newer version of these libraries than shipped
with (X)Emacs. You have to install exactly a version ECB requires and also
to make sure that the correct version is loaded into (X)Emacs!
But ECB performs two automatic checks:
- At load-time: It checks if the packages semantic, eieio and speedbar are
at least installed so ECB can be loaded. If not it offers to download
and install them.
- At start-time: It checks if the correct versions of semantic, eieio and
speedbar are installed and gives you proper feedback.
So if you are not sure if you have installed the required packages at all
or if you have installed the correct versions of these packages then do
not worry about this, just go on with the following installation steps: If
ECB is missing something it will give you proper feedback and support not
later than at load-time or start-time!
3. Add the new ECB-directory to your `load-path' variable.
You *MUST* add the ECB-install-directory to the `load-path' either by
changing the `load-path' variable directly in your `.emacs' or
`site-lisp/site-start.el' or by working with a file `subdirs.el'.
*ATTENTION*: ECB is NOT properly installed if it's directory is not added
to `load-path' and for example just loaded by
Do not do this!
4. Load ECB by adding code to your `.emacs':
If you want to load the complete ECB at (X)Emacs-loadtime (Advantage: All
ECB-options available after loading ECB). Disadvantage: Increasing
If you want to load the ECB first after starting it by `ecb-activate'
(Advantage: Fast loading. Disadvantage: ECB- and semantic-options first
available after starting ECB):
This loads all available autoloads (e.g. `ecb-activate', `ecb-minor-mode',
`ecb-show-help' or `ecb-byte-compile') of current ECB.
5. Restart (X)Emacs.
ECB is now ready for use and can be activated by calling `M-x ecb-activate' or
`ecb-minor-mode'. Now you can either starting using ECB or you can do these
optional installation steps:
6. Reading the online help with `ecb-show-help'
Maybe you are interested to read the online-help of ECB before first start.
7. Calling `ecb-byte-compile'
This byte compiles ECB. You can safely ignore all messages. (You can also
byte-compile ECB from the command-line either by using the `Makefile' or by
using the batch-file `make.bat'. Just read the comments in that file you
8. Installing the supplied `ecb.info'
The ECB distribution contains a subdirectory "info-help" which contains the
online-help of ECB in Info-format. You can install this online help so it's
available in the Top-directory of Info. There are two ways to do this:
- Use "install-info" (recommended):
1. Copy the the files of the subdirectory "info-help" into the
info-directory of Emacs
2. Install the file "info-help/ecb.info" with the command "install-info"
(if available on your system) in the `dir'-file.
The supplied `Makefile' offers a target `install-help' which does both of
these steps. You have just to call `make install-help' with the correct
EMACSINFOPATH set (see the comment in `Makefile'). Here is an example:
make EMACSINFOPATH=/path/to/emacs/info install-help
- Manual Installation:
Copy the files of the subdirectory "info-help" into the info-directory of
Emacs and modify the file `dir' manually.
But it doesn't matter if you do not execute this step (8.) because the
online help of ECB is always available though, see `ecb-show-help'.
Call "M-x ecb-activate" to activated ECB.
Call "M-x ecb-customize-most-important" to get a list of the most important
options of ECB. These are options you should at least know that they exist.
Call "M-x ecb-show-help" to get a detailed online-help for ECB. If you are
using ECB the first time you should read the online help accurately!
Send comments, bug reports and improvement suggestions to: