README for the Emacs Code Browser (ECB) version 2.31


About
-----

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


Requirements
------------

ECB requires the following packages:

- Semantic, author version 1.4 or higher
  (http://cedet.sourceforge.net/semantic.shtml)
  
- Eieio, author version 0.17 or higher
  (http://cedet.sourceforge.net/eieio.shtml).
  
- speedbar, author version 0.14beta1 or higher
  (http://cedet.sourceforge.net/speedbar.shtml)
  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
ECB-maintainers!


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!


Installation
------------

*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'.

   So for example the needed entry for your .emacs-file could be:

      (add-to-list 'load-path
                   "/path/to/your/ecb/installation/directory")

   *ATTENTION*: ECB is NOT properly installed if it's directory is not added
   to `load-path' and for example just loaded by

      (load-file "/path/to/ecb/ecb.el")

   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
   loadtime):

      (require 'ecb)

   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):

      (require 'ecb-autoloads)

   This loads all available autoloads (e.g. `ecb-activate', `ecb-minor-mode',
   `ecb-show-help' or `ecb-byte-compile') of current ECB.

   Regardless which method you prefer: In both cases the used statement must
   be placed *after* the statement of step 3!

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
   choose.)

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'.

   
Usage
-----

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!


Contacts
--------

Send comments, bug reports and improvement suggestions to:

ecb-list@lists.sourceforge.net

*IMPORTANT*: Cause of extra appearance of SPAM in the mailing-lists,
SourceForge has changed its policy: Now it is only possible to post to the
mailing-list for users who have subscribed this mailing-list.

So please be aware you will not be able to send comments, bug reports and
improvement suggestions before you have subscribed the ECB-mailing-list. See
the section "Mailing-list" at the ECB-website at http://ecb.sourceforge.net
how to do this.

