##=============================================================================
## 
## This file is part of BibTool.
## It is distributed under the GNU General Public License.
## See the file COPYING for details.
## 
## (c) 1996 Gerd Neugebauer
## 
## Net: gerd@informatik.uni-koblenz.de
## 
##*****************************************************************************


This file contains ideas for improvements.

Most of the items are mere key words and may not be meaningful for
others.  I try to keep the items in a order form highest to lowest
priority.  However, I change the order from time to time and hopefully
items will disappear at some time.

    *   Add inheritance to get_entry. This means that following crossref
	has to be implemented. Thus the complete database is needed
	(partially exists). IMPORTANT.

    *   Sorting of used macros.

    *	Normalization for names.
	It exists but has to be integrated into BibTool.

    *	Add a SQL like extraction language (partially exists).
	Maybe this is the time to completely redesign the resource
	language.

    *	Integrate field rewriting into the key generation algorithm.
	Allow arbitrary fields to be constructed like keys.
	Maybe this is a step towards a general manupulation language.
	I should keep this in mind for major revision 3.

    *	General formatting language (Maybe a replacement for BibTeX)
	Other applications: extract all keys, prettyprint entries in
	pure ASCII (HTML), etc.
	The main problem is to make a decision for the scripting language.
	I think I should use something existing and not roll a new one.

    *   Use the kpathsea library to find files.

    *   Selection of items according to regexp match on fields.
	This has to be generalized to allow full power of a 
	first order language.

    *   Make a C library consisting of all manipulation routines for BibTeX
	files. BibTool would just consist of the main program. Thus it would
	be easy to write other applications working on BibTeX files.

    *   Make the program 16-bit clean.

    *   Eliminate compiled in defaults completely.
	Use a library directory to load initializations.

    *	Integrate add/delete.field into the rewriting mechanism.

    *	Automatic string detection.
	The reverse of string expansion. Replace common values by new strings.
	This can partially be done with field rewriting!

    *	Respect crossref at selection

    *	Support \cite in fields.

    *	Documentation: improve tutorial part.

    *	Documentation in texinfo format?

    *	Documentation in HTML format?

    *	UN*X man pages?


   *** Write a graphical front end for BibTool


   ***	Write a replacement for BibTeX :-)
	Maybe I will wait until BibTeX 1.0 is out.

    -	Better styles
	in a readable programming language.
    -	Object oriented approach.
	e.g. for proceedings containing articles.
	@proceeding{abc,
		editor = "...",
		booktitle = "...",
		title = "...",
	    @inprocedings{1,
		author = "...",
		title = "..."
	    }
	}

    -	Drop limitations
	e.g. size of a field.
