Welcome!
========

	This directory contains EDB, the Emacs Database.
	EDB was written by Michael Ernst <mernst@theory.lcs.mit.edu>,
	and is being maintained by Thien-Thi Nguyen <ttn@gnuvola.org>.

	EDB homepage: <http://www.gnuvola.org/software/edb/>


Dependencies
============

	GNU make that supports VPATH	-- build/install
	GNU Emacs 22.x or later		-- build/install/run


Installation
============

	To install EDB, unpack the tarball, change into the resulting
	directory (usually named edb-${VERSION}), and issue the three
	commands:

		./configure
		make
		make check	# optional but recommended
		make install

	This byte-compiles the .el files, and copies .el and .elc files
	to ${sitelisp}/edb, and edb.info to ${infodir}, creating those
	directories first if necessary.  Normally, these variables have
	the values:

		${prefix}	/usr/local
		${datadir}	${prefix}/share
		${sitelisp}	${datadir}/emacs/site-lisp
		${infodir}	${prefix}/info

	To use DIR instead of "/usr/local" for ${prefix} include the
	option `--prefix DIR' to the configure script.  To choose an
	alternate ${sitelisp}, use the option `--with-sitelisp=DIR'.
	You can use the `--help' option to see full details.

	For backward-compatibility the normal installation includes some
	function aliases that can be considered "namespace-polluting".
	To arrange to not install these, you can use the configure option
	`--disable-badnames'.  With this option, the files db-nosetf.el
	and db-oldnames.el are not installed, and neither are the aliases:
		maprecords
		define-displaytype-from-displayspec
		define-recordfieldtype-from-recordfieldspec
		define-enum-type
	See the manual for new names to use, instead.

	By default, the configure script looks for and uses the first
	"emacs" executable found in a directory named in the PATH env
	var.  To use another Emacs, you can either change PATH, or you
	can specify the env var EMACS to name the new executable.  The
	latter approach overrides the PATH search.  For example:

		EMACS=$HOME/emacs-22/src/emacs
		export EMACS
		./configure ...

	The specified (or found) Emacs is set in the various makefiles.
	You can furthermore (at runtime) select another Emacs to use by
	specifying the `EMACS' variable in the command-line for make.
	For example:

		make check EMACS=$HOME/picky-emacs/src/emacs

	After installation, the unpacked directory can be deleted.

	Note that installation does not place files directly in the
	${sitelisp} directory, but rather a subdirectory named "edb".
	It is assumed there exists the file ${sitelisp}/subdirs.el
	that is responsible for adding ${sitelisp}/edb to the Emacs
	`load-path'.  If this is not the case, you can create one to do
	the job, with contents:

	(if (fboundp 'normal-top-level-add-subdirs-to-load-path)
	    (normal-top-level-add-subdirs-to-load-path))

	This has been verified to work with GNU Emacs 21.3.


Usage
=====

	To experiment, evaluate in this directory:

	(add-to-list 'load-path default-directory)
	(require 'database)

	Then you can do Dired in subdirs `examples' and `skram', move
	point to various data and .edb files, and use the command:

	(defun my-dired-edb-interact ()
	  (interactive)
	  (let ((filename (dired-get-filename)))
	    (if (string-match "[.]edb$" filename)
	        (edb-interact filename nil)
	      (db-find-file filename))))

	Full details are in the documentation, highly recommended
	for both end users and programmers.


Reporting Bugs
==============

	If you find a problem with EDB that is not explained in the
	documentation, please send a bug report to <ttn@gnuvola.org>.
	Include EDB version and as concise a test case as possible
	(that reproduces the problem).
