2006-07-20  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* NEWS: Release notes for the 2.0.2 release.

	* src/typer.cpp: Fix bug with aromatic typer claiming errors on
	blank lines. 

	* src/data.cpp: Fix bug with reading data files from versioned
	directories. 

	* data/phmodel.txt, data/phmodel.h: Fix bug with seed charge on
	hydroxamic acid reported by Noel.

	* src/formats/gaussformat.cpp (ReadMolecule): Make sure to set the
	total energy read in for the molecule.

	* test/smartsresults.txt: Update after recent bugfix. (Now uses
	actual 2.0.2 data files!)

	* windows/: Update version numbers for 2.0.2 release.

	* Makefile.am, Makefile.in: Make sure to strip out .svn
	directories before a release. 

2006-06-30  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/chains.cpp: In TracePeptideChain and TraceNucleicChain, test
        for atom visit before recursing. Otherwise, leads to an infinite
        loop and crash. Fixes PR#1515198, reported by Noel.

        * src/obutil.cpp (InternalToCartesian): Check index requests to
	avoid requesting past the vector end.

2006-06-28  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* doc/api-style.css: Updated for doxygen 1.4.7.

	* src/kekulize.cpp: Fix PR#1504089 by adding a special case to
	prevent double bonds between aromatic S-S systems, which is
	unneeded to show aromaticity.

	* src/parsmart.cpp: Fix PR#1503849 for invalid SMARTS ring
	closures -- check both beginning and end bond specifications for
	the closure. Uses new function EquivalentBondExpr to test if
	two bond specifications are equivalent.
	Fix part of PR#1506408 for SMARTS matching @ and @@ atom
	specifications.

	* src/formats/smilesformat.cpp: Fix cis/trans problem with
	PR#1506408 -- IsUp/IsDown parsing support in SMILES was
	inconsistent with mol.h and parsmart.cpp. "/" is Up "\" is Down.

	* test/files/smartsresults.txt: Regenerate using above changes.

	* src/chains.cpp: Updated call to fprintf(... stderr) to use
	modern OBMessageHandler.

	* src/obconversion.h: Eliminate unused parameter warnings from
	GCC, contributed by Carsten Niehaus.

	* src/obiter.cpp: Documentation updates from Chris Morley,
	backported from the 2.1 trunk.

	* src/formats/mdlformat.cpp: Make default molecular dimension to
	be 2D, but check for 3D coordinates too. Many non-standard files
	out there with no real dimension line (e.g. PR#1409133).
	
2006-06-14  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/parsmart.cpp: Completely reject dot-disconnected SMARTS
        e.g. "C.C" which currently are unimplemented and can cause
        crashes, e.g. PR#1505711.
	
2006-06-12  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.cpp (BatchFileName): Make sure to properly
	strip off ".gz" extension if zlib compression is enabled. Fixes
	PR#1503596.

	* src/parsmart.cpp: Support for [D], [v], [X] patterns
	(i.e. default values of 1), fixing part of PR#1474716. Support for
	[as] as an aromatic As atom, per SMILES aromaticity for arsenic.
	Support for [se] for aromatic Se atom, per SMILES aromaticity --
	fixes PR#1503851.

	* test/files/smartstest.txt: Add tests for [D], [v], [X], [c],
	[p], [as], [s], and [se] SMARTS patterns as above.

	* test/files/smartsresults.txt: Regenerate after above fixes.

	* src/formats/mdlformat.cpp: Make default molecular dimension to
	be 2D, but check for 3D coordinates too. Many non-standard files
	out there with no real dimension line (e.g. PR#1409133).

	* src/formats/xyzformat.cpp: Smarter handling of
	"energy" tag in title -- if present, remove it from title. If
	mol.GetEnergy() is near zero, don't print it.

2006-06-08  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/data.cpp: (Init): Fix problem with parsing data --
        introduced with changes on 05-24. Add null to right char* buffer.

2006-06-06  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/formats/hinformat.cpp (WriteMolecule): Make sure to escape
        molecule titles in double quotes. Fixes PR#1501694.

        * test/roundtrip.cpp: Add check for failed OBConversion::Read()
        calls suggested by Chris.

2006-06-05  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/formats/mdlformat.cpp(ReadMolecule): Added Trim to new code
	to read multiline properties, because was sometimes confused by
	trailing CRs in Windows.

        * src/formats/*format.cpp (more files): Remove calls to sprintf,
        sscanf, strcpy.

	* configure, configure.in, README, src/Makefile.am, */Makefile.in,
	Doxyfile: Bump version to 2.0.2.

        * test/roundtrip.cpp: Fix faulty error problems with
        multi-molecule CML files. Before trying a read at the end
        of the file, make sure to clear molecular information.

	* test/cmltest/test.sh: Skip test if cml cannot be loaded.

	* test/smartsresults.txt: Update for recent fixes in aromaticity.

	* test/ringtest.sh, test/smartstest.sh: Make sure to unset
	environmental variables to ensure we only test out version.
	
2006-06-04  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * configure.in, configure, src/config.h.in: Update to include
        snprintf prototype in all files -- increased use with changing
        sprintf calls to snprintf to minimize buffer overflows.

        * src/formats/*format.cpp (more files): Remove calls to sprintf,
        sscanf, strcpy.

2006-06-02  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/data.cpp (OBElementTable::ParseLine): Change sscanf call to
        use fixed length (256 chars) for name string, rather than
        preprocessor #define BUFF_SIZE.

	* tools/*.cpp, test/*.cpp: Ensure DLL loading is handled correctly
	in binary tools on Cygwin.

2006-05-30  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/formats/pdbformat.cpp: Run PerceiveBondOrders regardless of
	size (most PDB multiple-bonds should be picked up by residue
	information). Fixes PR#1493626.

	* src/formats/xml/xml.cpp (ReadXML): Fix PR#1486678 for
	multi-molecule files. The libxml2 library is very unhappy reading
	a file past EOF, so make sure to check the state of the istream
	before reading.

2006-05-26  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/formats/smilesformat.cpp (ParseSimple): Change behavior when
        encountering a bond between two potential radical or aromatic
        atoms. Previously marked bond as double, now mark as 5 -
        potentially aromatic bond. Appears to fix PR#1493148.

        * src/kekulize.cpp (NewPerceiveKekuleBonds): Make sure that
        bestorden is reset when traversing cycle. Previous code would only
        check one atom for adding extra electrons. Appears to fix
        part of PR#1445453.

        * src/typer.cpp: (AssignAromaticFlags): Added a cleanup step --
        any ring bond connecting two aromatic atoms is marked as
        aromatic. (Fixes problems with fused rings like azulene and
        fluoranthene).

	* src/obconversion.cpp (AddChemObject): Output a warning when a
	format is WRITEONEONLY and more molecules are coming. Fixes
	PR#1473192.

	* src/formats/mdlformat.cpp (ReadMolecule): Make sure to grab all
	lines of potentially multi-line properties. Fixes PR#1489209.

2006-05-24  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/dlhandler_unix.cpp (findFiles): Fix PR#1493706 problem with
	misplaced NULL terminator.

	* src/patty.cpp, src/typer.cpp, src/rotor.cpp, src/chains.cpp,
	src/parsmart.cpp, src/data.cpp, src/atom.cpp: Updates to fix calls
	to strcpy, replacing some static char* with std::string.

2006-05-23  Craig James <cjames@emolecules.com>

	* src/formats/smilesformat.cpp: Fixed a potential buffer overflow
	when parsing SMILES.

2006-05-18  Geoffrey Hutchison  <babel@geoffhutchison.net>

        * src/formats/inchi/ : Update with InChI 1.01 pre-release.

        * src/formats/inchi_api.h: Ditto.

2006-05-06  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/mol.cpp (GetMolWt): Make sure to include implicit hydrogens
	when calculating molecular weight and exact mass.

	* src/formats/smilesformat.cpp (SmiToMol): Since SMILES sets
	formal charges, turn off automatic updates.

        * src/chains.h, src/chains.cpp: Initial work on documenting,
        indentation, and general cleanup of chains.cpp.
        (ConstrainBackbone): Check for valence of backbone atoms 
        should actually be for HvyValence() since all hydrogens are ignored.
        Fixes PR#1442779.

2006-04-21  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.cpp: Fix broken gzip-decoding of input
	(PR#1473243) introduced by 2006-04-11 change. Fix bug when writing
	multi-molecule files using WriteFile() (PR#1474265).

2006-04-16  Chris Morley <ob@gaseq.co.uk>

	* INSTALL.Windows, windows: Updated Windows build files for Visual
	C++ VC6 and VC8 for 2.0.1 release.

	* Makefile.am, Makefile.in: Remove windows-vc2005 from list for
	distribution.

2006-04-15  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* test/Makefile.am, test/Makefile.in: Only run CML tests if XML
	formats were compiled. (i.e., if libxml not available, can't test
	CML)
	
	* test/ringtest.sh, test/smartstest.sh, test/cmltest/test.sh:
	Minor shell script portability fixes.

2006-04-13  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* scripts/perl/META.yml, scripts/python/setup.py: Packaging
	changes for the scripting wrappers.
	
	* src/formats/mdlformat.cpp: Remove inadvertent debug statement
	left from yesterday.

2006-04-12  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/mdlformat.cpp (ReadMolecule): Add support for atom
	stereo in v2000 format and OBChiralData. Partly addresses
	PR#1463796.

	* src/formats/smilesformat.cpp (GetChiralStereo): If we have a 2D
	molecule and stereochemistry is unspecified, don't assume we have
	a particular stereochemistry. Partly address PR#1463796.
	Also fix a problem with writing chiral "H" designations with explicit
	hydrogens, introduced with yesterday's fix to
	OBAtom::ImplicitHydrogenCount.

2006-04-11  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.h, src/obconversion.cpp: Added a test to be
	sure that we do not check gzip encoding multiple times (much less
	try to gzip repeatedly). Fix PR#1465586 where ReadString() or
	ReadFile() followed by Read() will fail because input streams are
	closed prematurely.

	* src/atom.cpp (ImplicitHydrogenCount): Fix a bug where formulas
	were calculated incorrectly -- explicit hydrogens should count
	against an implicit hydrogen count too. Fixes part of PR#1463787.
	(i.e., SMARTS 'h' token was matching total number of hydrogens)

	* src/mol.cpp (AddBond): Fix a bug exposed by PDB parsing, where
	code attempts to add a bond from one atom to itself.

	* src/formats/mol2format.cpp: Fix residue parsing to remove
	calls to create a residue when in fact, the molecule has no residues.

	* src/formats/pdbformat.cpp: Fix CONECT record parsing to read
	malformed records (e.g., created by very old Open Babel versions)
	via splitting by spaces. Fixes PR#1468802.

	* src/parsmart.cpp: Reformat indentation for clearer code
	reading. Fix bug with syntax of 'H' token -- should refer to the
	*total* number of hydrogens. PR#1463787.

	* test/smartsresults.txt: Regenerate after above bug-fixes.

	* src/formats/crkformat.cpp (ReadCRK): Change to correctly read
	multi-molecule files, where the </Structure2D> tag would appear,
	but parsing would continue, uncovered using roundtrip testing.

2006-04-08  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* scripts/openbabel.i, scripts/*: Update to add Cygwin DLL headers.

	* THANKS: Update with contributors to 2.0.1 release.

2006-04-06  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/dlhandler_unix.cpp: Upgrade to use the opendir/readdir
	replacement for the non-portable scandir contributed by Mikael
	Johansson.

	* src/formats/Makefile.am, src/formats/Makefile.in: Fix error in
	logic with building inchi, introduced yesterday. D'oh!

	* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in:
	Add --no-undefined flag to produce proper compilation on Windows
	(i.e., Cygwin).

2006-04-05  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* NEWS: Update for 2.0.1 release notes.

	* configure, configure.in, acinclude.m4: Add new configure options
	for silent libtool use & compiler flags.

	* scripts/Makefile.am, scripts/Makefile.in: Provide better
	"distclean" target to remove python build targets and backup
	files.

	* src/mol.h: Update IsRotor() and NumRotors() documentation to
	explain the current minimal definition of a rotatable
	bond. Addresses PR#1463505.

	* src/oberror.cpp: By default, retain a maximum of the 100 most
	recent entries in the error log in memory. All errors will be
	filtered and sent to output, but only retain some (not all). Fixes
	PR#1439893.

	* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in:
	Only install the inchi_api.h header.

	* src/formats/xml/Makefile.am, src/formats/xml/Makefile.in: Turn
	off optimization -- appears to fix crashes on FC4 and FC5,
	PR#1447233.

	* src/formats/xml/xml.h: Add std:: namespace declarations, solving
	compilation problems on some GCC compiler versions.

	* src/formats/Makefile.am, */Makefile.in: Changes to only build
	libinchi when the library is not available on the system. Fixes
	PR#146451.

2006-03-27 Geoffrey Hutchison <babel@geoffhutchison.net>

	* data/atomtyp.txt: IMPVAL for halogen ions.

	* src/formats/smilesformat.cpp: Changes ported from Chris Morley's
	development version. Reject strings with invalid ring bonds.

	* scripts/: Rebuild with SWIG 1.3.29, including several bug fixes
	and faster performance.

	* configure.in, configure: Set version number to 2.0.1.

2006-03-27  Michael Banck  <mbanck@gmx.net>

        * src/fingerprint.h: Fix compilation error with gcc-4.1.
          Patch by <vlaaad@users.sourceforge.net> (PR#1458311).
        * src/formats/copyformat.cpp: Likewise.
        * src/formats/crkformat.cpp: Likewise.
        * src/formats/xml/cmlreactlformat.cpp: Likewise.
        * src/formats/xml/xml.h: Likewise.
        * src/formats/xml/xmlformat.cpp: Likewise.

2006-03-26  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/Makefile.am, src/Makefile.in : Add @LIBDL@ as
	suggested by Michael Shigorin (PR#1458706). Make sure
	babelconfig.h isn't included in dist tarball, as suggested by
	Michael Banck.

	* scripts/python/setup.py: Fix extension name and remove reference
	to pyopenbabel (used in 2.1) to properly build python extension.

2006-03-13  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure, src/Makefile.am, src/config.h.in: Add
	initial support for DLL builds on Cygwin. Seems to compile a
	libopenbabel.dll, but still linking problems for babel.exe.

	* */Makefile.in: Regenerated using automake.

	* src/main.cpp: Declare USING_OBDLL for Cygwin DLL usage.

	* scripts/*: Build updates for Perl and Python wrappers.

	* src/fingerprint.h, src/formats/xml/xml.h: Change static
	declarations to avoid spurious memory leak warnings with valgrind.

2006-03-06  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure, configure.in: Change --disable-dynamic-modules to
	also default when static builds are used.

	* data/resdata.txt: Correct typo -- now used in data.cpp, not pdb.cpp.

	* src/formats/Makefile.*: Make sure libinchi is linked in when
	compiling without dynamic modules (i.e., !BUILD_SHARED).

	* scripts/*: Update using SWIG-1.3.29, adding in support for
	OBGeneric data.
	
	* test/roundtrip.cpp: Change reading loop to correctly evaluate
	EOF for files. Eliminates spurious errors with XML files.

	* test/Makefile.am, test/Makefile.in, test/smartstest.sh,
	test/ringtest.sh: New "wrapper" scripts to set BABEL_LIBDIR before
	running tests.

2006-03-02 Craig James <cjames@emolecules.com>

	* src/dlhandler_unix.cpp (findFiles): Fixed a memory leak.  The
	code to free the memory was there but had been commented out.

	* src/mol.cpp (GetFormula): Molecular Formula
	was counting only explicit hydrogens, e.g. might report C20H2.
	Changed to report the total (implicit plus explicit) hydrogen
	count so the formula is correct.

	* src/obconversion.cpp (OptionParamArray): Fixed memory leaks.

	* src/formats/mdlformat.cpp (ReadMolecule): Fixed reference to
	uninitialized memory that caused random behavior.  Reformatted
	file to correct indenting problems.

	* src/math/vector3.cpp (Comments only): Added comments to
	CalcTorsionAngle() explaining how it works.
	
2006-03-01  Geoffrey Hutchison  <ghutchis@Alumina.local>

	* src/formats/mdlformat.cpp: Remove final " 0" for REGNO from
	v3000 COUNTS line. Fixes PR#1439475, as susggested by Ernst-Georg.

2006-02-24  Geoffrey Hutchison  <ghutchis@Alumina.local>

	* scripts/Makefile.*: Build with SWIG 1.3.29 and later using
	-naturalvar feature, which provides smoother access to class data.

	* scripts/openbabel.i: Add access to parsmart.h, obutil.h,
	math/vector3.h, ring.h, and vectors of int, double, vector3,
	OBMol, OBBond, OBResidue, and OBRing for eventual 1.1 wrapper
	release.

	* scripts/perl/* scripts/python/*: As above.

	* src/obconversion.cpp (ReadFile): Fix bug PR#1435777 for crash
	when calling when only the input format was set -- code mistakenly
	referenced pOutFormat.

	* src/obutil.h: Add #ifndef SWIG to prevent wrapping of
	rotate_coords method.

	* src/parsmart.h: Add #ifndef SWIG to prevent wrapping internal
	struct's used to form the Pattern type.

	* src/math/vector3.h: Add #ifndef SWIG to prevent wrapping
	center_coords().

	* test/smartsresults.txt: Update to match recent phosphorus typing
	rules.

	* test/cmltest/test.sh: Make sure to set BABEL_LIBDIR and prevent
	"make check" errors.

2006-02-22 Chris Morley <ob@gaseq.co.uk>

        * src/formats/mdlformat.cpp: Mod to read files with no M END.
        Bug found by Hassan Mamdani.

2006-02-22  Geoffrey Hutchison  <ghutchis@Alumina.local>

	* src/data.cpp (AssignBonds): Make sure that OBResidueData calls
	Init() before starting and some minor cleanups to atom type
	assignment, exposed by comparing PDB->Mol2 files from Babel and
	Sybyl. Thanks to Kevin Parkes for the example file.

	* src/formats/mol2format.cpp (WriteMolecule): Add back atom names
	from residues, add a residue number to each residue name (e.g.,
	THR1 vs. THR). Should better match mol2 files from Sybyl.

	* data/atomtyp.txt; Add an implicit valence rule for phosphates to
	fix PR#1403974.

2006-02-19  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/pdbformat.cpp: Fix PR#1368851 for PDB export with
	large coordinates. Optionally shifts coordinates if needed.

	* src/mol.h: Fix PR#1373650 -- return NULL if no coordinate array
	is available. Prevents segfault.

	* src/atom.cpp (GetResidue): Make sure to return NULL if chains
	perception fails.

	* src/chains.cpp: If only one residue is found, and it's UNK, it's
	probably not a residue, so nuke it. 

	* src/formats/mol2format.cpp: Combined with two above fixes,
	ensure atom labels are printed correctly for mol2 files. All three
	fix PR#1371789.

	* src/obconversion.cpp: Update documentation to point out
	workaround for PR#1368969 with static members of OBConversion --
	declare dummy variable to make sure LoadFormatFiles() has been called.

2006-02-18  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* scripts/perl/OpenBabel.pm: Add dynaloader flags to ensure format
	modules are loaded properly on Linux.

	* src/mol.h, src/obiter.cpp, src/math/vector3.cpp,
	src/math/matrix3x3.cpp: Fix documentation errors.

	* src/formats/mdlformat.cpp: Fix possible memory leak with comment
	data and ensure comment is stored properly.

2006-02-08  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* tools/obdoc.cpp: Update to prepare wiki-fied documentation for
	the new format database/wiki on openbabel.sourceforge.net/wiki/

	* configure.in, configure, */Makefile.in: Update version number to
	2.0.1b1.

2006-01-07  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/main.cpp (main): Fix segfault bug reported by Mikael Johansson.

	* src/formats/turbomoleformat.cpp: Updated with bugfixes by Mikael.
	
	* src/formats/inchi/IChICan2.c: Fix AIX compilation with 'hz'
	variable contributed by Mikael.

	* src/zipstreamimpl.h: Fix compilation bug reported by Rathann
	Mierzejewski.
	
2005-11-26  Geoffrey Hutchison  <babel@geoffhutchison.net>
	
	* NEWS: Updated for 2.0.0 release final.

	* data/Makefile.am: Updated to reflect renamed SMARTS_InteLigand.txt.

	* *Makefile.in: Updated with automake.

2005-11-25  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/mdlformat.cpp, rxnformat.cpp: Yesterdays change
	broke rxnformat. Add option to supress $$$$.
	
	* windows/obabel/OBabel.dsp: This config sees fingerprints ok.
	
	* windows/OBRunTime.dsw: rename to OpenBabel.dsw
	
2005-11-24  Chris Morley  <c.morley@gaseq.co.uk>

	* windows-vc2005: update files but struggling with wrong tags
	on some files. Renamed as OpenBabel.sln
	
	* src/INSTALL.WINDOWS: removed. (First draft 2004 by PMR)
	
	* src/README: removed. (about 2003 oblib)

2005-11-23  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/fingerprint.h, fingerprint.cpp: rearrange so that FptIndex
	has member functions.
	 
	* src/formats/fastsearchformat.cpp: Add -xu option to update
	index.

	* src/parsmart.cpp(SMARTSError): Error messages were being
	writen by fprintf(stderr... and stdout. This made no difference
	on console output but was not being picked up by the Windows GUI.
	Changed to obErrorLog style.
	
	* src/chains.cpp(GenerateByteCodes): Changed error messages to
	obErrorLog style.
	
	* zipstreamimpl.h(flush):Added test for NULL ostream, which had
	been causing crashes (in Windows).
	
	* kekulize.cpp: L152 bestorden was not being initialized (my new
	debugger tells me) and the code was testing it. Moved the line 
	bestorden=99 to before the while loop. Not extensively tested but
	seems to give the same as before for a few molecules. 
	
	* src/obconversion.cpp(Write): Added conditional compilation to
	remove zipstream call in Windows. Started crashing with 
	---errorlevel. A kludge until we sort out	the Windows compression
	problems. Two other similar calls in obconversion are still there...
	
	* src/obconversion.cpp(FullConvert): Added SetInStream and changed
	the names of pInStream and pOutStream which were stupidly
	given names which are also member variables! It's a bit late to
	be altering core code like this but splitting, aggregation,
	batch and normal all seem ok on Windows.
	
	* src/finger3.cpp: Change name of FP3 file.
	
	* data/SMARTS_InteLigand_051110.txt: replaced by 
	SMARTS_InteLigand.txt
	
	*src/formats/mdlformat.cpp: Writes $$$$ for every molecule to
	resolve bug #1362781
		 
	* INSTALL.windows: rewritten

	windows-vc2005: Add DLL projects and update.
	
2005-11-18  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/mdlformat.cpp: Correctly handle unspecified chiral
	centers (CFG=3), fixes PR#1324929.

2005-11-15  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Makefile.am, Makefile.in: Make sure INSTALL.Windows is included
	in dist.

	* doc/babel.1: Update with recent format additions.

	* src/formats/amberformat.cpp, src/formats/balstformat.cpp,
	src/formats/smilesformat.cpp, src/formats/turbomoleformat.cpp:
	Update specification URLs.

2005-11-16  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/obconversion.cpp(Convert): m_IsLast set more definitely
	as part of solution to bug #1357957.
	(FullConvert) Extra gzip code to solve bug #1357705.
	[Windows builds are now reading gzip ok but not always writing it
	properly.]

	src/formats/fastsearchformat.cpp: Extra lines withconditional
	SetMoreFilesToCome to solve bug #1357957. [There may possibly be
	a gzip incompatibility here as well].
	
	* src/fingerprint.h, src/fingerprint.cpp, 
	src/fingerprints/finger2.cpp, src/fingerprints/finger3.cpp:
	Make bitsperint a private variable and provide a Get(). Not
	worth doing - the bug was a missing USING_DYNAMIC_LIBS in 
	the settings for OBExtraFormats project.
	
	Windows build files.  

2005-11-15  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/obconversion.cpp: remove #include <dflcn.h>

	* windows/OBGUIDlg.cpp (OnInitDialog): add dummy OBConversion
	object to load format files.

2005-11-15  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Makefile.am, Makefile.in: Remove non-functional b32.mak file
	from distribution.

	* NEWS, THANKS: Further updates for 2.0 release.

	* data/types.h, data/types.txt: Added PCM atom types.

	* doc/Makefile.am, doc/Makefile.in: Removed defunct Migration.html
	(from OELib).

	* doc/FAQ.html, doc/OBTwoMigration.html, scripts/python/Examples.html:
	Updated documentation (from the new website).

	* src/formats/pcmodelformat.cpp: Initial support for PCModel
	files. Possibly does not include all atom types, but does read all
	the initial files I threw at it.

	* src/formats/Makefile.am, src/formats/Makefile.in: Compile it.

	* src/formats/freefracformat.cpp: Add support for reading files
	with atomic symbol in 4th column, rather than first (i.e.,
	PCModel-style "free form fractional").

2005-11-14  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/atomtyp.h: Updated with Chris's recent changes.

	* data/Makefile.am, data/Makefile.in: Add Christian's data file.

	* scripts/perl/Makefile.PL, scripts/python/setup.py: Bump version
	number for 1.0 release.

	* src/obconversion.cpp: Patch from Jean Brefort to ensure dynamic
	loading of modules occurs correctly on UNIX.

	* src/fingerprints/finger3.cpp: Update to also check versioned
	directories. Fixes bug reported by Chris Swain.

	* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in:
	Fix capitalization errors pointed out by Jean Brefort.

	* src/formats/xyzformat.cpp, src/formats/freefractformat.cpp: Add
	specification URLs to point to Open Babel website. New format
	database will give information on what OB reads/writes.

	* src/formats/gaussformat.cpp: Fix error uncovered in roundtrip
	test with graphite & 2D translation vectors. TV are reported as
	atomic number -2.

	* test/Makefile.am, test/Makefile.in: Clean-up of Makefile.am.

	* tools/obdoc.cpp: Fix HTML -- there was a trailing </h2> tag.

2005-11-12  Chris Morley  <c.morley@gaseq.co.uk>

	* src/finger3.cpp: reads two formats of patterns file. Added FP4
	with patterns in...

	* data/SMARTS_InteLigand_051110.txt: from Christian Laggner with
	extra LGPL line.

	* data/patterns.txt: Added extra firstline to identify format.

	* data/atomtyp.txt: Added additional IMPVAL lines for
	atoms of F Cl Br I P S to allow implicit hydrogens(e.g.in SMILES)
	and improve the reversibility of add/remove hydrogens. Needs to be
	put into equiv .h file.
	 
	* src/formats/xml/xcmlformat.cpp: Now writes correct namespace uri
	for CML1. Test for no bonds (for outputting a formula instead)
	now made before removing hydrogens.

	* src/formats/xml/xcmlformat.cpp, xml.h: Mods to allow nested
	molecules.

	* src/formats/xml/xml.cpp: XML programming notes added.

	* src/formats/xml/xmlformat.cpp, xml.cpp, xml.h: files can now
	contain objects of different types, e.g. molecules in cml and pubchem
	
	* test-set/others/: added some cml files    

	* src/obconversion.cpp: minor changes to comments
	
	Update Windows build files

2005-11-10  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/bgfformat.cpp (ReadMolecule): Fix problem with atom
	type translation uncovered during roundtrip testing -- atom type
	was "cleaned" before assignment.

	* src/formats/Makefile.am, src/formats/Makefile.in: Make sure
	libinchi is correctly linked to inchiformat module.

	* src/formats/PQSformat.cpp, src/formats/fastsearchformat.cpp,
	src/formats/fingerprintformat.cpp, src/formats/inchiformat.cpp,
	src/formats/rxnformat.cpp: Found a few remaining calls to
	cerr. Updated to use OBMessageHandler framework, fixing PR#1281758.

2005-11-09  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Doxyfile: Update version number for 2.0 release.

	* NEWS, THANKS: Updates for 2.0 release.
	
	* data/patterns.txt: Updated with new version from Chris Morley
	with corrected SMARTS patterns.

	* doc/Makefile.am: Remove man.1 pages from target list for now -- new
	versions are much better than doxygen generated versions.

	* doc/api-header.html, doc/api-footer.html: Updated for new
	website template.

	* doc/*.1: Updated man pages by hand.

	* configure, configure.in, src/config.h.in, */Makefile.in: Updated
	to always build InChI now that the IUPAC code is distributed under
	the GNU LGPL.

	* src/formats/Makefile.am, src/formats/Makefile.in,
	src/formats/inchi/*: Ditto.

	* scripts/perl/Makefile.PL: Make sure to include libz in
	compilation.

	* src/bitvec.cpp, src/bondtyper.cpp, src/chains.cpp,
	src/chiral.cpp, src/fingerprint.cpp, src/generic.cpp,
	src/obconversion.cpp, src/patty.cpp, src/resdiue.cpp,
	src/rotor.cpp: src/formats/mdlformat.cpp,
	src/formats/mol2format.cpp, src/formats/smilesformat.cpp:
	Updated to use OBMessageHandler framework for errors rather than
	old ThrowError or cerr directly. Solves PR#1281758.

	* src/parsmart.cpp: Actually implement up & down bond
	primitives. Solves PR#1219329.

	* src/formats/PQSformat.cpp: Remove calls to exit() which should
	never be used in production code.

	* src/formats/balstformat.cpp: Add specification URL.

	* tools/Makefile.am, tools/obdoc.cpp: Add hint for "obdoc" tool
	which creates the file format documentation.

	* tools/obchiral.cpp, tools/obprop.cpp: Add Doxygen man page.

2005-11-01  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/hinformat.cpp: Make sure to mark all aromatic bonds
	as "a" in output. Fixes bug reported by Rajarshi Guha.

2005-10-21  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/atomtyp.txt, data/atomtyp.h, data/types.txt, data/types.h:
	Updated Dreiding atom types, contributed by Menno Deij.

2005-10-20  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Makefile.am, Makefile.in: Make sure both windows and
	windows-vc2005 directories are included.

	* src/data.cpp (OBTypeTableTranslate): Fix possible crashes when
	translating atom types and one or both columns are out of range.

	* src/freefractformat.cpp: Add TrimErrors routine to trim trailing
	standard error notations in numbers. Now properly reads 1.234(56)
	as input.

	* test/ringresults.txt, test/smartsresults.txt: Updated to reflect
	atom typing changes.

2005-10-19  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/xcmlformat.cpp: Added reading and writing
	of <crystal> xFract etc.

	* src/formats/freefracformat.cpp: added kludge for
	getline() in Windows(binary mode) possibly returning 0x0d 
	from a blank line.
	Removed two unreferenced variables

	* doc/OBTwoMigration.html: Replace example of Reaction SMILES
	(sadly not yet done) by CMLReact. Couple of typos.

2005-10-18  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Doxyfile: Updated for new doxygen release (1.4.5).

	* NEWS: Updated with initial release notes for 2.0.

	* configure, configure.in: Fix problems with libz detection.

	* doc/OBTwoMigration.html: Add a draft migration guide, touching
	on four key code updates.

	* doc/*.1: Updated manpages.

	* scripts/*: New versions (1.0.0b5) using SWIG 1.3.27.

	* src/atom.cpp, src/mol.cpp, src/molchrg.cpp: Documentation
	updates (switching to new iterators).

	* src/chains.h, src/chains.cpp: Updates from last OELib GPL
	version, which were not previously incorporated.

2005-10-17  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* COPYING: Updated FSF address.

	* src/formats/Makefile.*: Add new copyformat code.

	* src/atom.cpp, src/base.cpp, src/ring.cpp, src/patty.cpp,
	src/mol.h, src/molchrg.cpp, src/oberror.h, src/oberror.cpp,
	src/obiter.cpp: Documentation updates.

	* src/obconversion.h, src/obmolecformat.h : Revert change of
	std::type_info -- GCC requires the namespace declaration.

2005-10-17  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/formats/xml/xcmlformat.cpp: Added CML1 writing.
	Corrected bug in writing "x","y" instead of "x2","y3" etc.
	Corrected bug in x and z 3D coords in array mode.  

2005-10-17  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.h:Replaced std::type_info by type_info
	in preparation for mods to ensure STL/VC6 compatibility.
	I hope it will still compile in unix.

	* src/obconversion.cpp,obconversion.h: Added GetInLen(), wInlen,
	rInlen to provide the length of the object being written.
	This simple operation is irritatingly complex because of object
	queue.

	* src/copyformat.cpp: simple new format which allows chemical
	filtering from a multi-object file with no possibility of losing
	content by OB's conversion, e.g. sdf or xml files.

	* src/formats/exampleformat.cpp: Now a heavily commented
	format template. Maybe should be put in another folder.

	* src/formats/inchiformt.cpp(WriteMolecule): correct bug sometimes
	causing crash when no 0Dstereo info.

	* windows-vc2005: Added project files for Visual C++ 2005

2005-10-14  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Source-code documentation updates. Ensure all classes and struct
	definitions have at least a brief description.

2005-10-14  Chris Morley  <c.morley@gaseq.co.uk>
	
	Update Windows build files and documentation. Remove unused files.

2005-10-13  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* acinclude.m4: Fix bug in CHECK_ZLIB macro to correctly disable
	zlib support if --without-zlib option is selected.

	* src/data.h, src/typer.h, src/bondtyper.h, src/phmodel.h,
	src/rotor.h: Add a GetSize() method to all OBGlobalDatabase
	classes. Ensures a data table is not empty after calling Init().
	
	* configure.in, configure, src/config.h.in: Update for a 2005-10-15
	snapshot. Require libxml2 >= 2.6.0 (which adds the xmlwriter API).

	* doc/api-header.html, doc/api-style.css: Update with new Doxygen
	version (which adds "tabs" to organize sections).

	* src/Makefile.am, src/Makefile.in: Update to zipstreamimpl.h
	instead of zipstream.cpp.

	* src/zipstream.h: Switch basic_zip_ostream and
	basic_unzip_istream to using public base classes, which works
	around a bug in some versions of GCC.

	* src/formats/xml/Makefile.am, src/formats/xml/Makefile.in: Switch
	from defining LDFLAGS to correct AM_LDFLAGS (which allows the user
	to customize LDFLAGS as desired).

2005-10-11  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.cpp(FormatFromExt): correct mistake 
	in last mod.
	src/obconversion.h Add explicit copy constructor for 
	OBConversion (just so	pAuxConv is set to NULL).

	* src/generic.cpp, src/chiral.cpp: added return statements 
	etc to avoid compiler warnings.

	* src/data.h: Added OBAPI to class OBResidueData (for DLL builds)

	* src/mol.h, src/formats/pdbformat.h, src/data.cpp: Moved 
	global variable	OBResidueData resdat to data.cpp and
	treat it like other global variables. (This makes DLL builds
	easier.) If its use is specific	to pdb format, perhaps it
	should be a a static variable in PDBFormat?
	
	* windows/babelconfig.h: removed HAVE_LIBZ because in DLL
	builds unzipping code was preventing input of any file. OK
	in OBGUIs where is now defined in Settings.
	
	Updated Windows build files. 

2005-10-09  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/obconversion.cpp(FormatFromExt): test failure of 
	string::find,	etc by return of string::npos

	* src/obconversion.cpp(SetStartAndEnd):
	If EndNumber < StartNumber output only one object 
	
	* src/mdlformat.cpp(SkipObjects): inverted test for "$$$"
	which was causing -f and -l errors reported by Chris Swain.
	
	* src/formats/inchiformat.cpp: Added 'test' format for
	doing round trip, testing before and after with InChI
	
	* src/zipstreamimpl.h: Name changed from zipstream.cpp 
	
	* src/zipsteam.h: consequent name change of #include
	
2005-10-07  Chris Morley  <c.morley@gaseq.co.uk>

	Update Windows build files.

	* src/chiral.cpp(CalcSignedVolume): change name of second
	loop variable from i to j (VC6 deficiency)

	* src/data.cpp(OBElementTable::ParseLine); make symbol[5]
	[3] wasn't enough. (Better debugger!)

	* src/fingerprint.cpp: remove #if HAVE_CONFIG
		
2005-10-05  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/zipstream.cpp(add_footer): changed 2nd var n to m to
	accomodate VC6 compiler. (But still not writing properly in VC6)

	* src/obconversion.cpp: moved compression code from Convert()
	to Convert((std::istream* is, std::ostream* os) and restored
	pOutStream after conversion. Also in write();

	*  src/obconversion.cpp (FullConvert): moved call to 
	OneObjectOnly() inside loop in splitting section to cure bug
	#1313201.
	
	* src/formats/fastsearchformat.cpp: Changed Convert() to
	Convert(NULL,NULL) (two places) so that compression code will
	be called.	 

	* src/formats/smilesformat.cpp (SmiToMol): removed call to 
	AddHydrogens().


2005-10-04  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* tools/obgrep.cpp: Fix PR#1286797. Count of matching molecules
	was stored as a char??. Corrected code to store as unsigned int
	and output correctly. Thanks to Chris Swain for the bug report.

	* src/zipstream.h, src/zipstream.cpp: Update to (hopefully) fix
	syntax problems with VC++ experienced by Chris Morley.

	* src/atom.cpp (GetType): Make sure to save and restore
	OBTypeTable patterns -- otherwise higher-level code will see
	unexpected type translations.

	* src/data.h src/data.cpp (OBTypeTable): Set const on parameters
	where needed, add error checking for GetToType and GetFromType()
	methods.

	* src/formats/*.cpp: Add code to move to ifs.eof() after reading
	to ensure the multiple-molecule parsing doesn't attempt to add an
	invalid empty molecule.

	* src/formats/smilesformat.cpp: Add defensive code around chiral
	search code -- ensure all pointers are valid before dereferencing.

	* test/roundtrip.cpp: Ensure the filestream is not at EOF before
	attempting to read another molecule (and complain that a format
	has translated an incorrect number of molecules).

	* tools/README: Remove comments about deprecated obtanimoto program.

2005-10-03  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure, configure.in: Fix BUILD_SHARED condition to only
	build dynamic file format modules when shared libraries are also
	enabled.

	* scripts/*: Update SWIG modules using SWIG 1.3.26rc1.

	* src/formats/smilesformat.cpp: By default, add implicit hydrogens
	when reading SMILES files.

	* tools/obprop.cpp: No need to add hydrogens to SMILES files, as
	above.

	* src/formats/carformat.cpp: Modifications to better handle
	multiple-molecule CAR files, as suggested by Jean Dessolin.

	* test/roundtrip.cpp: Refined error messages to report molecule
	number and file number (1 vs. 2).

2005-09-29  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/types.h: Updated (as below).

	* src/zipstream.h, src/zipstream.cpp: Updated with cleaned-up
	versions from OpenSG project. Added method to add gzip header
	after creating stream.

	* src/obconversion.cpp: Clean up WriteString() and WriteFile()
	methods to use Write() -- eliminates duplicated code. (Maybe
	Convert should use Read() and Write() similarly.) Now works
	correctly with gzip output.

	* src/dlhandler_unix.cpp: Update to fix crashing bugs with global
	loading of OBConversion::LoadFormatFiles().

	* configure, configure.in, */Makefile.am, */Makefile.in: Update
	for new snapshot, minor fixes for distribution.

	* Doxyfile, src/base.cpp: Update for eventual 2.0.0 release.

2005-09-17  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats.mpdformat.cpp: Nick England's format for printing
	atom types added  (Slightly modifed option handling.)

	* data/types.txt: Extended. types.h not yet updated.

2005-09-14  Chris Morley  <c.morley@gaseq.co.uk>

	* src/main.cpp(main): line 322 Mods to place * correctly 
	when file name has *.gz

	* src/obconversion.cpp, obconversion.h: Removed dummy
	instance which was causing trouble and called LoadFileFormats()
	from the initialisation of a static variable. Removed call to
	LoadFileFormats in constructor.

	* src/obconversion.cpp: Added -z option and code for zipstream
	output in Convert() and Write(). But ozipstream seems not to be
	working properly at present. 
	Messed around with ReadString()	and ReadFile(). 

2005-09-14  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.cpp: Only use dummy instance on WIN32 or when
	not using dynamic modules (e.g., CygWin).

	* src/zipstream.cpp, src/zipstream.h: Changes to compile on
	GCC. (Hopefully it will *still* compile on VC6.)

2005-09-14  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.h, obconversion.cpp(Read): Make non-templated
	and move to .cpp; Add zipstream code to Read and Convert,
	
	* src/OBConversion.cpp: Add global dummy instance, so that format 
	files are loaded. (A better way to do this needs to be found.)
	
	* src/zipstream h, zipstream.cpp: changed to compile on VC6! 

2005-09-12  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/zipstream.h, src/zipstream.cpp: Modified classes (updated to
	compile in GCC) to support gzip/zlib compression streams.

	* configure.in, configure, src/Makefile.am, */Makefile.in: Add
	support for conditional compilation of code depending on zlib. (i.e.,
	zipstream.cpp).

	* src/obconversion.cpp (FormatFromExt): Change to detect .gz
	extension and look for previous extension.

2005-09-11  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure, src/config.h.in, Makefile.in,
	*/Makefile.in: Update to detect libxml2 headers and libraries
	using AM_PATH_XML2 and compile src/formats/xml directory.

	* src/formats/Makefile.am: Remove cml.cpp and cmlformat.cpp old
	code.

	* data/bondtyp.txt, data/bondtyp.h: Updated porphyrin /
	phthaloc. patterns with hand-written SMARTS and bond
	orders. Ensures correct bond order assignment.

	* src/data.h, src/data.cpp: Move OBResidueData from pdbformat.cpp,
	so that other code can use residue data.

	* src/generic.h: Move OBSerialNums from pdbformat.cpp.

	* src/formats/pdbformat.cpp: Remove OBResidueData and OBSerialNums
	as above.

	* src/formats/smilesformat.cpp (OBSmilesParser): Make sure _mapcd
	is cleared before reading a molecule -- would crash when
	reading/writing multiple SMILES files.

	* src/formats/yasaraformat.cpp: New format, contributed by Elmar.

	* src/formats/xml/pubchem.cpp, src/formats/xml/xcmlformat.cpp:
	Change OBMol::SetTitle() calls to be ISO C++ compilant.

	* src/dlhandler_unix.cpp: Add support for multiple search paths
	for shared format modules. Uses environmental variable
	BABEL_LIBDIR which can be a colon separated list of paths
	(e.g. /usr/lib/openbabel:/usr/local/lib/openbabel ...)

	* test/ringresults.txt, test/smartsresults.txt: Regenerate after
	recent SMARTS and atom typing changes.

2005-09-10  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/libxml: Added libxml2 header files. I have
	used a Windows DLL for libxml2 and haven't used the 
	source files,	but I guess they should be added.
	
	* src/formats/xml: Added classes for CML, CMLReact,
	PubChem and a general XMLFormat which chooses based on
	xmlnamespace. 
	xml.cpp	amd xml.h contain an extended OBConversion 
	with libxml2xmlreader and xmlwriter, XMLBaseFormat and 
	XMLMoleculeFormat	abstract classes. 
	This subfolder may not be the best place for
	the format cpp files but are here for the moment because of
	possible conflict with the existing cml.cpp and cmlformat.cpp
	which they are intended to replace when their bugs have been
	reduced.  

2005-09-09  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/chiral.h, src/chiral.cpp: Updates from Nick England to
	compute chiral volume and track the atoms used.

	* tools/obchiral.cpp: New tool from Nick England to print
	chirality information on molecules.

	* src/formats/mdlformat.cpp, src/formats/smilesformat.cpp: Fixes
	from Nick to properly interconvert MDL and SMILES chirality
	flags. Solves PR#1257494.
	
	* src/generic.h, src/generic.cpp: New class OBChiralData
	contributed by Nick for above.
	Removed obDataType enum, replacing with namespace
	OBGenericDataType. Allows significantly larger range of "slots"
	with room for future expansion without breaking
	backwards-compatibility.

	* src/atom.cpp, src/bond.cpp, src/mol.cpp, src/mol.h,
	src/residue.cpp, src/ring.cpp, src/rotamer.h,
	src/formats/cacaoformat.cpp, src/formats/cml.cpp,
	src/formats/cssrformat.cpp, src/formats/dmolformat.cpp,
	src/formats/freefracformat.cpp, src/format/mdlformat.cpp,
	src/format/mol2format.cpp, src/formats/pdbformat.cpp,
	src/formats/reportformat.cpp, src/formats/smilesformat.cpp:
	Update to use new OBGenericDataType:: declarations.

	* src/formats/Makefile.am, src/formats/Makefile.in: Remove
	mm3format bits. Not correctly implemented.

2005-09-09  Chris Morley  <c.morley@gaseq.co.uk>

	* atom.cpp (operator=): _spinmultiplicity now copied

	* obconversion.cpp (SetOneObjectOnly): Set _IsLast

	* obmolecformat.h: Small comment change

2005-09-07  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Makefile.am: Add dist-hook to remove CVS directories from
	included windows/ subdir.

	* configure.in: Add test for libinchi -- compile InChI format if
	libinchi is already available. (Acceptable under both GPL and
	InChI terms.)

	* src/formats/Makefile.am: Compile InChI format *ONLY* if libinchi
	is available already.

	* doc/Makefile.am: Build man pages for all obtools, only if
	--enable-maintainer-mode was passed to configure.

	* scripts/Makefile.am: Build SWIG wrappers only if
	--enable-maintainer-mode was passed to configure.

	* src/Makefile.am: Ensure headers are installed into
	openbabel-2.0/openbabel directory and #include decl are re-written
	on install.

	* src/math/Makefile.am: Ditto.

	* aclocal.m4, configure, config.guess, install-sh, ltmain.sh,
	missing, mkinstalldirs, config.sub, */Makefile.in,
	src/config.h.in: Updated with libtool-1.5.20 and automake-1.9.6
	after above updates.

	* openbabel-2.0.pc.in: Update to reflect new include path.

	* scripts/openbabel.i: Wrap classes in data.h (OBElementTable,
	etc.) too.

	* scripts/*: Ditto. Renumber versions from 1.0 to separate from OB
	release version numbers. (Scripting wrappers will likely change
	more quickly.)

	* src/data.h, src/main.cpp, tools/obgrep.cpp, tools/obrotate.cpp,
	tools/obfit.cpp, tools/obprop.cpp: Documentation updates.

	* src/rand.cpp (OBRandom::TimeSeed): If sranddev() is available
	(i.e., BSD and Macintosh), use it -- higher quality results.

2005-09-05  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/data.cpp: Update documentation, perform more error checking
	for ParseLine() methods -- report to obErrorLog if needed. Fixes
	PR#1252607.

	* src/phmodel.cpp, src/typer.cpp (ParseLine): Ditto.

	* src/generic.h: Added additional types to enum obDataType, plus
	documentation.

	* src/bond.cpp: Switch IsDoubleBondGeometry to OBBond method.

	* src/mol.cpp, src/mol.h: Update OBMol documentation for OBConversion
	class. Add new PerceiveBondOrders() check for
	IsDoubleBondGeometry, using patch PR#1275166, contributed by Elmar.

	* src/residue.cpp: Update documentation on property namespaces.

	* src/parsmart.cpp: Fix matching explicit hydrogen count 'H'
	PR#1275176, contributed by Elmar.

2005-09-02  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/cacaoformat.cpp (SetHilderbrandt): Mark a todo to
	ensure this method is completely bulletproof -- still appears to
	dereference atoms without checking for NULLs.

	* src/fingerprint.h, src/fingerprint.cpp (SetBit): Change to take an
	unsigned int to prevent crash caused by "negative" parameter.

	* src/fingerprints/finger2.cpp (CalcHash): Ditto.
	
2005-09-01  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure: Bump version to 2.0b4-20050901 for
	snapshot. Add support for conditional compilation of source based
	on libxml2.

	* */Makefile.in: Ditto.

	* Doxyfile: Bump version to 2.0b4-20050901.

	* src/base.cpp: Remove reference to fixed version number in
	documentation.

	* src/obconversion.h: Remove extraneous OBConversion:: on
	OptionParamArray() decl, which confused doxygen.

	* src/formats/CSRformat.cpp: Attempt to fix crash encountered
	during roundtrip testing from writing audit message.

	* src/formats/cacaoformat.cpp (SetHilderbrandt): Prevent crashes
	caused by attempting to derference NULL pointers (i.e., small
	molecules without a full z-matrix).
	
	* src/formats/mmodformat.cpp: Test to be sure # atoms > 0. Fixes
	crash encountered with roundtrip testing on binary data.

	* src/formats/mdlformat.cpp: Test to be sure bond record refers to
	existing atoms (i.e., 0 < start <= NumAtoms()). Prevents crash
	encountered with intentionally invalid MDL files.

	* src/formats/zindoformat.cpp: Remove debugging string for
	non-standard elements.

	* src/chains.cpp (MatchConstraint): Ensure OBAtom parameters are
	non-NULL before proceeding. Fixes a bug encountered when
	roundtripping H2O.

	* src/generic.cpp, src/obutil.cpp, src/ring.cpp src/mol.cpp: Add
	identifiers for Blue Obelisk algorithm dictionary.

2005-08-31  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/element.txt, data/element.h: Updated with new data from the
	Blue Obelisk shared repository. Should be more consistent with
	other values (particularly covalent radii).

	* src/data.h, src/data.cpp (OBElement, OBElementTable): Add
	support for new data, including ionization potential, electron
	affinity, name, and visualization colors.

	* data/bondtyp.txt, data/bondtyp.txt: Changes contributed by Elmar
	for PR#1275146.

	* src/mol.h, src/mol.cpp: Add new method IsDoubleBondGeometry to
	assist with bond order assignment (PR#1275170). Fix bugs in
	PerceiveBondOrders with conjugated single/double bonds and biotin
	PR#1275151, PR#1275160.

	* scripts/*: Updated with current API changes. Added more
	examples, particularly for Python.

	* Doxyfile: Bump for 2.0b4 snapshot.

2005-08-18  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/bondtyp.txt, data/bondtyp.h: Add initial porphyrin / heme
	patterns. Probably still a bit buggy. Addresses PR#1259757.

	* src/bond.cpp (SetBO): Add calls to SetKSingle(), SetKDouble(),
	and SetKTriple() as appropriate. This mirrors expected behavior,
	IMHO.

	* src/bondtyper.cpp: Remove calls to SetKSingle() etc. since these
	are now covered above. All SetBO() calls are handled
	correctly. Thanks to Elmar Krieger for noticing this.

	* src/formats/freefracformat.cpp: New format for free-form
	fractional input (title, unit cell parameters, coordinates).

	* src/formats/Makefile.am, src/formats/Makefile.in: Compile it.

	* src/formats/xyzformat.cpp: Fix bug with setting title line.

2005-08-17  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/parsmart.cpp: Fix AL_CONST case (currently in non-compiled
	code) as suggested by Elmar Krieger. Fixes PR#1261285.

	* src/obutil.cpp (InternalToCartesian): Add a check to make sure
	pointers are valid before dereferencing. Fixes crash caused by
	Amber PREP reading random binary data in a roundtrip test.

	* src/formats/amberformat.cpp (ReadMolecule): Add a check to only
	call InternalToCartesian when some coordinates have been read,
	as above.

	* src/formats/viewmolformat.cpp: Prevent an infinite loop when
	reading random binary data. Even if no correct records are read,
	continue to read a new line to look for a new record.
	
	* src/formats/Makefile.am, src/formats/Makefile.in: For now,
	disable compilation of mm3format.cpp since it is incomplete and
	incorrect. Related to PR#125604, 1252510.

	* src/math/matrix3x3.h, src/math/matrix3x3.cpp: 
	Add some basic error checking to methods marked TODO.
	(FillOrth) Change to matrix specified in PDB documentation:
	http://www.rcsb.org/pdb/docs/format/pdbguide2.2/part_75.html
	
	* src/generic.cpp, src/generic.h (OBUnitCell): Simplify code and
	re-use matrix3x3::FillOrth() rather than duplicate code.
	(OBUnitCell::GetFractionalMatrix): New method to convert from
	Cartesian to fractional coordinates.

2005-08-17  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/obconversion.h, obconversion.cpp, main.cpp: Added code
	to register how many parameters an option takes(currently 0 or 1).
	Gives extra	flexibility to command line options, like position
	independence, parameter can start immediately or after a space.
	Cures bug	#1260540 see bug report.

	* src/formats/fingerprintformat.cpp, fastsearchformats.cpp,
	APIInterface.cpp, smilesformat.cpp, mdlformat.cpp:
	Option parameter registrations consequent on above.

	* src/obmolecformat.h: Added GetType() (returns typeid for OBMol).
	Option parameter registrations for -b -s input options and
	for API general options which relate to OBMol.

	* src/obconversion.h, obconversion.cpp: Added hook to extend
	OBConversion (initially for an XML reader). AuxConv is a pointer
	to an object derived from	OBConversion which is deleted in 
	the destructor.
	   
2005-08-16  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/mol.h: Add obiter.h to standard included headers to allow
	STL-compatible iterators.

	* data/torlib.txt, data/torlib.h: Add nitro rotation pattern
	contributed via JOELib2.

	* data/phmodel.txt: Update comment on imidazole charge, transform
	patterns.

	* data/aromatic.txt, data/aromatic.h: Add "default" aromatic rules
	for carbon and nitrogen with a range of possible electrons
	(depending on specific bonds, formal charges, etc.) Solves
	PR#1257827.

	* test/smartsresults.txt: Regenerate after recent typing changes.

2005-08-15  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/bondtyp.txt, data/bondtyp.h: Add fix for carbonic acid bond
	typing bug (a.k.a. "multimatch") and carbon dioxide, both
	contributed by Elmar Krieger. Fixes PR#1253307 and #1257588.

	* src/parsmart.cpp (EvalAtomExpr): Add fixes for PR#1253301,
	contributed by Elmar Krieger. Solves problems with phosphates and
	phosphorous acid.

	* src/typer.cpp (CheckAromaticity): Add fix for multi-ring
	compounds like heme / porphyrins, where not all rings are properly
	typed as aromatic, contributed by Elmar. Fixes PR#1259786.

	* src/formats/mol2format.cpp: Updated Tripos Mol2 format
	specfication URL, as contributed by Nick England (PR#1257712).

	* src/formats/mdlformat.cpp: Ensure no "4" aromatic bond orders
	are used when writing MDL files. If a bond is detected to have
	BO == 5, re-run Kekulize() on the molecule. Fixes problems
	mentioned in e-mail discussions initiated by Rich Apodaca.

2005-08-12  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/mdlformat.cpp: Following Nick England's discussion,
	reversed clockwise/anticlockwise in V300 read. 
	Re-added IsUp() IsDown() in V3000 write. These were removed for some 
	reason on 31stJan 2005, but are needed for double bond isomers.

2005-08-11  Chris Morley  <c.morley@gaseq.co.uk>

	* src/molecformat.h: Move test for NULL pmol.

	* src/format/smilesformat.cpp: Molecules with zero atoms now accepted.

2005-08-01  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* doc/Makefile.am, doc/Makefile.in: Fix bug with rename of
	Doxyfile to Doxyfile-man. Handle man page updates.

	* doc/babel.1: Updated man page with doxygen (still needs many
	updates).

	* src/base.cpp: Documentation update.

	* src/kekulize.cpp: Fix compilation error under GCC caused by
	Chris' previous change.

	* src/mol.cpp: Remove cerr calls.

	* src/obconversion.cpp (OBconversion::Description): Remove space
	at end to properly balance spacing in main.cpp.

	* src/formats/*.cpp: Add audit entries for formats not derived
	from OBMoleculeFormat.

	* src/formats/Makefile.am, src/formats/Makefile.in: Add
	cmlppformat.cpp as an example.

2005-07-29  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/obmolecformat.h: Changed to allowed molecules with
	 zero atoms to be written, since they can have meaning CML. 
	 Replaced with a obInfo message.	I hope this
	doesn't cause problems with other formats. 

	* src/formats/cmlppformat.cpp: cmlpp version of cmlformat
	For general interest only.

	* src/util.cpp, kekulize.cpp: Make some loop variables VC6 compatible.
	Maybe it is the only compiler in the universe which uses the old
	scope rules for loop variables,	but it would be better if they
	were done like:
	unsigned i;
	for(i=0;....{}
	for(i=0;... {} another loop
	to avoid "re-initialisation" errors in VC6.

2005-07-28  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure, */Makefile.in: Add
	--disable-dynamic-modules configure option for building static
	file formats library. Should solve temporary Cygwin build problems
	-- not sure why/how formats aren't installed properly.
	Partially fixes PR#1246761.

	* src/config.h.in, src/dlhandler_unix.cpp:
	Properly handle environments where .so isn't the extension
	for modules.

	* src/formats/mol2format.cpp: Fix typo PR#1246836.

2005-07-27  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/fingerprints/*: New directory for finger2.cpp and
	finger3.cpp. Place new fingerprint formats here.

	* src/Makefile.am, src/Makefile.in: Ditto.
	
	* Doxyfile, doc/Doxyfile-man: Updated for new snapshot.

	* configure.in, configure, Makefile.am, Makefile.in: Generate the
	scripts interfaces automatically if SWIG is installed.

	* scripts/Makefile.am, scripts/Makefile.in: Ditto.

	* src/config.h.in: Add check for libxml2.

	* scripts/perl/*: More documentation.

	* data/Makefile.am, data/Makefile.in: Add patterns.txt fingerprint
	data to ensure it's installed properly.

	* data/atomtyp.txt, data/atomtyp.h: Add + formal charges on carbon
	to IMPVAL rules, matching Chris's change below.

	* data/patterns.txt: Add descriptive header, explaining format and
	purpose of this file.

	* src/fingerprint.cpp, src/fingerprint.h, src/kekulize.cpp,
	src/obutil.cpp, src/patty.cpp, src/formats/fastsearchformat.cpp:
	Fix signed/unsigned integer warnings.

	* src/generic.cpp: Fix copy ctor compiler warnings (call base
	class ctor).

	* src/oberror.h, src/oberror.cpp: Move "level" into OBError class
	out of OBMessageHandler. Allows OBError to format the message
	output based on the type of message.

	* src/formats/Makefile.am, src/formats/Makefile.in: Add
	APIInterface to build list. Fixes problems passing flags via
	command-line.

	* src/formats/bgfformat.cpp: Fix bug discovered during
	roundtripping -- need to move istream to the end of the file, not
	the END record.

	* src/formats/cml.cpp: Temporarily demote CML errors to info
	messages -- currently too verbose.

	* test/unitcell.cpp: Fix compilation warning with vector3
	assignment.

	* test/roundtrip.cpp: Remove debug message left inadvertantly.

	* test/smartsresults.txt: Regenerate after atom typing changes.

2005-07-27  Chris Morley  <c.morley@gaseq.co.uk>
	
	* data/atomtyp.txt: Add line for C in isocyanide to correct 
	bug 1226846

	* src/atom.cpp (ImplicitHydrogenCount): undo the last correction
	which was making other case go wrong.

	* src/main.cpp: renamed the variable which has the result of
	OBConversion::FindFormat("obapi") because an existing variable was 
	being used.

2005-07-26  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/atom.cpp (ImplicitHydrogenCount): Add a fix for PR#1226846
	-- in methyl isocyanide, the carbanion is marked as an implicit
	valence of 1, but a multiplicity of 0. Now handles this case correctly.

	* src/obconversion.h, src/obconversion.cpp: Switch ReadString and
	ReadFile to non-template OBBase* arguments to facilitate scripting
	access. (Handling C++ templates in SWIG is touchy.)

	* scripts/* Updates to add OBConversion framework to scripting
	interfaces. Includes new perl tests.

	* src/formats/smilesformat.cpp: Add a tab delimiter between SMILES
	string and title rather than a space as suggested in
	PR#1241609. Seem to work OK on Daylight's DEPICT online form with
	tabs or spaces.

	* src/mol.h: Up BUFF_SIZE to 32768 from 1024 to handle larger line
	lengths in input.

	* src/data.cpp: Remove duplicate BUFF_SIZE declaration.

	* src/kekulize.cpp: Migrate to use OBMessageHandler error
	reporting.

	* src/fingerprint.h: Rewrite "<nCandidates>" bit, which was
	assumed to be an HTML tag by doxygen.

2005-07-25  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* test/roundtrip.cpp: Migrate OBMol::Clear() statements to more
	logical place -- right before a read.

	* src/formats/turbomoleformat.cpp, src/formats/hinformat.cpp,
	src/formats/dmolformat.cpp: Fix bugs found during roundtripping --
	ReadMolecule() would go into an infinite loop looking for the
	"next" molecule in a single-molecule file.

	* src/formats/cml.cpp: Migrate to OBMessageHandler framework and
	make sure to clear the molPtr when a <molecule> beginning record
	is encountered.

	* src/obmolecformat.h (ReadChemObject): Before attempting to read
	from the istream, check to see the status -- are we at the end of
	the stream?

	* src/obconversion.h src/obconversion.cpp: New methods ReadString,
	ReadFile, WriteString, and WriteFile for convenience access
	through scripting languages which do not have "stream" support.

2005-07-22  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* openbabel-2.0.pc.in: Rename pkg-config data to prevent conflicts
	with 1.x releases.

	* configure.in, configure, */Makefile.in: Ditto.

	* data/torlib.txt: Update documentation on torsion rules using
	SMARTS patterns.

	* src/Makefile.am, src/Makefile.in: Add finger3.cpp to compilation
	list, remove fastsearch.cpp.

	* src/dlhandler.h, src/fingerprint.h: Add OB_ prefix to
	#define/ifdef guards.

	* src/oberror.h, src/oberror.cpp: Add methods to turn off error
	logging and limit the size of the message queue.

	* src/fingerprint.cpp: Add temporary string to eliminate
	compilation errors with GCC.

	* src/formats/chem3dformat.cpp, src/formats/ghemicalformat.cpp,
	src/formats/viewmolformat.cpp: Fix translation errors -- formats
	are supposed to be subclasses of OBMoleculeFormat.

	* tools/Makefile.am, tools/Makefile.in: Temporarily disable
	compilation of obtanimoto -- fingerprint API has changed and this
	is not updated yet.

2005-07-19  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/main.cpp src/formats/APIInterface.cpp: API options are now
	like ---errorlevel (this was -w) and the name now appears
	only in APIInterface.cpp. Added a description and called it in
	help().
	
	* src/obmolecformat.h: Changed auditMsg in WriteChemObject to
	"...Write...);

	* src/fingerprint.h, fingerprint.cpp: Changed parameters of 
	FastSearchIndexer ctor. Replaced #include "config.h" by
	#include "babelconfig.h"
	This may solve David Hoekman's compilation difficulties.

	* src/transform.cpp: Made type conversion more explicit in 
	addtotitle handler. ditto

	* src.finger3.cpp: looks for data file first in env var and 
	BABEL_DATADIR 

2005-07-13  Chris Morley  <c.morley@gaseq.co.uk>

	* src/fingerprint.cpp, /srcfingerprint.h, src/finger2.cpp: 
	modified so that fingerprints are dynamic.
	Incorporated fastsearch into fingerprint.h and .cpp.
	
	* src/finger3.cpp: Added a SMARTS pattern matching fingerprint.
	Also an incomplete src/patterns.txt. Should probably be moved to
	data folder although code to allow this not yet included.

	* src/fastsearch.cpp, src/fastsearch.h: Deleted

	* src/main.cpp: changed -w handling to pseudo-format, obapi,
	to avoid having to #include oberror.h.
	Added two lines to exclude its display in format lists.
	Added -F option to display available fingerprints.

	* src/obconversion.h: small changes in documentation.

	* src/transform.cpp; added empty test for options and addtotitle
	option (mainly for use in fastsearch)
	
	* src/formats/APIInterface.cpp: Added pseudo format to transfer
	data from user interface to API.
	
	* src/formats/fingerprintformat.cpp, src/formats/fastsearchformat.cpp
	Modified to make fingerprints dynamic.

	* src/formats/mdlformat.cpp, src/formats/smilesformat.cpp Added
	extra lines in Description to improve GUI display.

2005-07-11  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/atom.cpp, src/bond.cpp, src/chiral.cpp, src,molchrg.cpp,
	src/obmolecformat.h, src/patty.cpp, src/phmodel.cpp, src/ring.cpp,
	src/rotor.cpp: Add obAuditMsg "audit log" messages for perception
	and "assignment" methods, including methods with "chemical
	intelligence" (e.g., OBAtom::HtoMethyl or OBAtom::SetHybAndGeom).

	* src/formats/pdbformat.cpp: Transition CONECT warnings to
	obErrorLog::ThrowError calls.

	* src/oberror.cpp: Turn off default "error wrapping" of cerr to
	OBError messages.

2005-07-07  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/atomtyp.txt, data/atomtyp.h: Change implicit valence rules
	to fix PR#1226444. N=C(N)C is properly interpreted.

	* tools/obprop.cpp: Add hydrogens for SMILES input (checked by
	.smi extension). Fixes PR#1222443.

	* test/roundtrip.cpp: Fix checks for BOX and SMILES extensions.

2005-07-06  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/data.h (OBElement): Reorder initialization to remove
	compiler warning. Documentation updates.

	* src/data.cpp (OBElementTable::ParseLine): Format declarations
	should be ignored for red, blue, green columns in sscanf call.

	* src/main.cpp: Add error log filtering back -- not handled in
	OBConversion.
	
	* src/chains.cpp, src/mol.cpp, src/obutil.cpp, src/ring.cpp,
	src/typer.cpp:
	Add obAuditMsg messages for methods substantially altering an OBMol.

	* src/matrix.cpp (convert_matrix_f): Partly unroll loop to
	increase performance. 

	* src/rotor.h, src/rotamer.cpp, src/obconversion.h: Documentation
	updates.

	* test/roundtrip.cpp: Loop over all molecules in files, checking
	to see if one file has more molecules than another.

	* src/formats/Makefile.am, src/formats/Makefile.in:
	Rename grosmos96format to gromos (correct name of program).

	* src/formats/*format.cpp: Add BeginModify() / EndModify() calls
	as appropriate (i.e. before and after major changes to OBMol,
	including ConnectTheDots or PerceiveBondOrders). 

2005-07-04  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.h: Move include "babelconfig.h" to the top of
	all #includes to ensure proper conditional compilation. Suggested
	by Jean Brefort.

	* src/mol.h: Ensure std:: is used on Trim() declaration.

	* src/generic.h: Call Trim() for OBCommentData().

	* src/formats/Makefile.in, src/formats/Makefile.am: Merge cml.cpp
	and cmlformat.cpp into a combined library for proper loading -- as
	reported by Jean.

2005-07-04  Chris Morley  <c.morley@gaseq.co.uk>

	Some of Jean Brefort's suggested patches.

	*src/obconversion.h, src/obconversion.cpp: 
	The base class OBFormat needs a virtual destructor,but then
	derived format classes don't need their own; the compiler 
	will generate one if needed.

	I've realized that OBConversion does not need an explicit 
	copy constructor and have removed it.

	*src/formats/bgfformat.cpp, cacaoformat.cpp, ccformat.cpp.
	chem3dformat.cpp, ckrformat.cpp, featformat.cpp, shelxformat.cpp:
	assigned the filename to OBMol title when reading.

	*src/formats/mdlformat.cpp, src/formats/rxnformat.cpp,
	src/formats/smilesformat.cpp: 

2005-07-02  Chris Morley  <c.morley@gaseq.co.uk>

	*src/tokenst.cpp: Added Trim(), decl in mol.h

	*src/mol.h, src/mol.cpp (OBMol::SetTitle): Moved definitions
	to mol.cpp and added trim(). Tidier, but also overcomes
	Windows(VC++6) problem with CR left at end after getline on
	stream in binary mode, which is need for unix file compatibilty.
	For consistency should also be done for OBCommentData::SetData()
	Would this be safe?
	 
	*src/dat.h, src/data.cpp (OBElementTable::GetNumberOfElements):
	Added initialization and moved definition to to cpp file.
	MOL2Format was getting uninitialized data. Lazy loading was
	too lazy.

2005-07-01  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/chemdrawformat.cpp, src/formats/crkformat.cpp,
	src/formats/fastsearchformat.cpp, src/formats/mdlformat.cpp,
	src/bondtyper.cpp, src/oberror.cpp:
	Fix comparisons between signed and unsigned int.

	* src/base.h (OBBase): Update DoTransformations for new format.
	(OBGraphBase): Call base class from copy ctor.

	* Doxyfile, doc/api-footer.html, doc/api-header.html: Update for
	generating website SHTML documentation. Still looks good as a
	local copy.

	* src/Makefile.am, src/Makefile.in, src/formats/Makefile.am,
	src/formats/Makefile.in: Update to fix errors from "make dist" for
	snapshot.

	* scripts/perl/openbabel_perl.cpp,
	scripts/python/openbabel_python.cpp: Updated for 2005-07-01 snapshot.

2005-06-30  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/formats/smilesformat.cpp(OBSmilesParser::ParseComplex():
	Change size of symbol[] in  to 7.	Was failing on iodine 
	isotope [123I]. Another deficiency found by David Hoekman.

2005-06-30  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure: Add a check for swig to allow scripting
	language wrappers to be rebuilt.

	* Makefile.am: Make sure scripts directory will be added to dist.
	
	* src/Makefile.am: Add back matrix.cpp, which was inadvertantly
	removed.

	* src/matrix.h: Remove unnecessary forward declaration of class Vector.

	* */Makefile.in: Rebuilt.

2005-06-30  Chris Morley  <c.morley@gaseq.co.uk>

	Major change to how options handled. Many files in
	/src, /src/formats, /windows altered. (Sorry I don't have a
	tool to list them all.)
	The options now stored internally in three std::maps for
	input, output and general options. These are set on the 
	command line like -a? -x? and -? respectively.  
	
	b and s formats recently added to many formats are now input
	options.
	Derived most remaining formats from OBMoleculeFormat.

2005-06-28  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* scripts/ New directory for perl and python scripting wrappers
	(and associated setup.py and Makefile.PL build scripts).

	* src/openbabel.i, src/openbabel_python.cpp,
	src/openbabel_perl.cpp, src/openbabel.py src/openbabel.pm: 
	Moved, as above.

	* src/main.cpp: Add -w# flag for filtering different error/warning
	levels with OBMessageHandler.

2005-06-27  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/torlib.txt, src/torlib.h: New files to implement torsional
	rules from rotor.cpp::OBRotorRules. Does not (yet) describe all
	features in OBRotorRules::ParseLine() code.

	* src/rotor.cpp: Use it (rather than declaring the data here).

	* data/Makefile.am, data/Makefile.in: Add rules for torlib.

	* src/phmodel.cpp, src/mol.h, src/oberror.h, src/bondtyper.cpp:
	Add documentation for global variables.

	* src/oberror.h, src/oberror.cpp: Add new class obLogBuf, a
	streambuf class to filter output going to cerr. Add new methods
	OBMessageHandler::StartErrorWrap and ::StopErrorWrap to turn on
	(default) and off wrapping of cerr.

2005-06-25  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/amberformat.cpp, src/formats/cacaoformat.cpp,
	src/formats/carformat.cpp, src/formats/cmlformat.cpp,
	src/formats/dmolformat.cpp, src/formats/gamessformat.cpp,
	src/formats/gaussformat.cpp, src/formats/grosmos96format.cpp,
	src/formats/jaguarformat.cpp, src/formats/mopacformat.cpp,
	src/formats/mpqcformat.cpp, src/formats/nwchemformat.cpp,
	src/formats/pdbformat.cpp, src/formats/qchemformat.cpp,
	src/formats/shelxformat.cpp, src/formats/turbomoleformat.cpp, 
	src/formats/unichemformat.cpp, src/formats/viewmolformat.cpp,
	src/formats/xyzformat.cpp:
	Add command-line options -xs to prevent PerceiveBondOrders from
	running (i.e., single bonds only) and -xb to prevent bonding via
	ConnectTheDots entirely.

	* src/formats/PQSformat.cpp, src/formats/alchemyformat.cpp,
	src/formats/balstformat.cpp, src/formats/bgfformat.cpp,
	src/formats/boxformat.cpp, src/formats/chem3dformat.cpp,
	src/formats/chemdrawformat.cpp, src/formats/crkformat.cpp,
	src/formats/featformat.cpp, src/formats/ghemicalformat.cpp,
	src/formats/hinformat.cpp, src/formats/mmodformat.cpp: 
	Update to use OBMoleculeFormat, eliminate redundant code.
	
2005-06-25  Chris Morley  <c.morley@gaseq.co.uk>

	* src/mol.cpp, src/mol.h, src/transform.cpp: Added
	OBMol::ConvertDativeBonds() (e.g. [N+]([O-])=O to N(=O)=O )
	and -b option to invoke it.

	* src/formats/fastsearchformat.cpp, 
	src/formats/fingerprintformat.cpp:
	Used ConvertDativeBonds and -b option so that searches are 
	the same with and with dative bond form	in data or target.

	* src/finger2.cpp (getFragments): Removed code which only
	partially does the above.

2005-06-24  Chris Morley  <c.morley@gaseq.co.uk>

	* src/finger2.cpp (DoRings) Add the non-ring form of all ring
	rotations to remedy some of faults found by David Hoekman.

2005-06-24  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* Doxyfile, doc/api-header.html, doc/api-footer.html,
	doc/api-style.css: Add custom documentation header, footer, and
	stylesheet.

	* src/generic.h, src/generic.cpp (OBConformerData): Initial
	framework for custom per-conformer data. Still need to add access
	to individual conformer "frames" and code to add/delete frames
	when adding new conformers to an OBMol.

2005-06-23  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/configure.in, src/configure: Generate babelconfig.h from
	config.h using AC_CONFIG_COMMANDS as recommended by Jean Brefort.

	* src/*.h src/*.cpp, src/openbabel.i: Convert back from config.h
	(which still conflicts with other packages on UNIX-ish systems) to
	babelconfig.h, as above.
	
	* src/formats/viewmolformat.cpp: Switch to OBMoleculeFormat.
	(Testing the difference in compiled code size. Not much.)

	* src/formats/smilesformat.cpp: Remove asserts. (Asserts should
	not be included in "production" code, IMHO.)

	* Doxyfile, */*.h */*.cpp: Documentation updates.

2005-06-23  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/math/vector3.h, src/math/vector3.cpp: Moved the initiallization
	of global variables VZero etc from vector3.h to vector3.cpp.
	This is recorded for 2005-04-15 but I must have forgotten to 
	commit it. Added OBAPIs for DLL build compatibility.
	
	* src/math/matrix3x3.h: Added OBAPIs.    

2005-06-22  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/kekulize.cpp: Update with Fabien's latest version, fixing
	PR#1214545 and adding doxygen documentation.

	* src/bondtyper.cpp (AssignFunctionalGroupBonds): Mark assigned
	bonds with KSingle, KDouble, KTriple for OBMol::Kekulize()
	routine. Fixes PR#1219611.

	* src/obmolecformat.h, src/Makefile.am, src/Makefile.in,
	src/formats/Makefile.am, src/formats/Makefile.in: Move
	obmolecformat.h to src/ from src/formats.

	* src/obifstream.h: Removed. Completely unused.

	* src/rotamer.h: Remove Read/WriteBinary declarations and
	OBBinaryDBase -- unused. We cannot ensure compatibility with
	OEBinary (which is now a proprietary format).

2005-06-20  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/mol2format.cpp (ReadMolecule, WriteMolecule):
	Contributions from Zhiguo Liu, notably to clean up bonding table,
	and to mark O.co2 bonds as "aromatic."

	* src/mol.h, src/atom.cpp: Add new methods IsHbondDonor(),
	IsHbondAcceptor(), IsHbondDonorH(), contributed by Zhiguo Liu.

	* src/vector3.h, src/vector3.cpp: Add new method Point2Plane() for
	calculating the distance between a point (vector3) and a point
	defined by three points (vector3), contributed by Zhiguo Liu.

2005-06-17  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/data.h, src/data.cpp (OBTypeTable): New methods GetToType
	and GetFromType -- primarily for debugging purposes.

	* src/formats/mol2format.cpp (WriteMolecule): Make sure
	OBTypeTable is always set to translate to SYB format -- would
	sometimes be reset to other formats. Fixes PR#1221324.

2005-06-16  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/generic.h, src/generic.cpp (OBSymmetryData): New class for
	storing point group and space group symmetry information.
	(OBUnitCell): Add support for storing translation vectors for
	cleaner roundtrip support from v1,v2,v3 ->a,b,c...->v1,v2,v3 and
	for origin offsets.

	* src/Makefile.am, src/Makefile.in: Add hints for perl module
	compilation.

	* src/openbabel.pm, src/openbabel_perl.cpp: Change Perl wrapper
	namespace to Chemistry::OpenBabel on advice of other perl users.

2005-06-14  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/mol.h: Remove (temporarily) un-implemented BeginConformer,
	NextConformer, and AssignResidueBonds methods. These block use of
	the SWIG python wrappers.

	* src/openbabel.py, src/openbabel_python.cpp: Regenerate. SWIG
	wrapper will now compile and import cleanly into Python.

	* src/bondtyper.cpp (AssignFunctionalGroupBonds): Make sure
	OBBondTyper data is initialized -- and ensure loop termination is
	handled correctly. Resolves part of PR#1219611.

	* src/openbabel.pm, src/openbabel_perl.cpp: New files from SWIG --
	wrappers for Perl.

2005-06-13  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure: Update scandir test with fix from Jean
	Brefort.

	* Makefile.am, Makefile.in: Make sure windows/ directory is
	included in distribution.

	* src/Makefile.am, src/Makefile.in: Include hints for SWIG wrapper
	generation. Make sure openbabel.i is included in dist.

	* src/mol.h, src/atom.cpp, src/data.cpp, src/main.cpp,
	src/obconversion.cpp, src/formats/alchemyformat.cpp,
	src/formats/balstformat.cpp, src/formats/pdbformat.cpp,
	test/roundtrip.cpp: Move declarations of rint, snprintf,
	strncasecmp (for platforms that require replacement functions) out
	of mol.h header and into source files that particularly use these
	functions. (Pointed out by Jean Brefort.)

	* src/openbabel.i, src/openbabel.py, src/openbabel_python.cpp:
	Updated SWIG development wrappers.

	* src/kekulize.cpp: Update with Fabien's latest version, should
	fix recent bug reports (no assigned PR for these). Bug fixed
	when huckel rule not satisfied + path search.

2005-06-07  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* tools/obgrep.cpp: Fixed mistake(?) in #elif define to compile
	cleanly on GCC.

2005-06-04  Chris Morley  <c.morley@gaseq.co.uk>

	* tools/obgrep.cpp: Correct bug 1213806 and modify to allow 
	Windows build

	* windows/: Add obgrep/ build files and XGetOpt.cpp and XGetOpt.h
	for Windows getopt port.

2005-06-03  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure, src/config.h.in: Define SCANDIR_CONST
	for the matchFiles scandir() filter function. Should solve problem
	between BSD (which doesn't need const) and Linux (which does).

	* src/dlhandler_unix.cpp: Use it.

2005-06-02  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/dlhandler_unix.cpp: Fix cast bug reported and fixed by Jean
	Brefort.

	* configure.in, configure, src/Makefile.am, tools/Makefile.am,
	test/Makefile.am, src/config.h.in, Makefile.in, src/Makefile.in,
	data/Makefile.in, doc/Makefile.in, src/Makefile.in,
	src/formats/Makefile.in, src/math/Makefile.in, test/Makefile.in,
	test/cmltest/Makefile.in, tools/Makefile.in:
	Add test for scandir cast above. Add test for dlopen in libdl and
	add it to LDFLAGS if needed. Should fix bug reported by Jean
	Brefort.

2005-06-01  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* configure.in, configure, src/config.h.in: Bump version for
	2005-06-01 snapshot.

	* test/attype.00.smi: Add label for last test molecule.

	* test/smartsresults.txt: Regenerate using current atom type
	patterns.

	* test/smartstest.cpp: Make sure to set input and output formats
	-- otherwise dynamic loading does not find SMILES importer on UNIX.

	* test/unitcell.txt: Switch to ZnO unit cell for new unit cell
	tests.

	* test/unitcell.cpp: Added some debugging statements to test unit
	cell translation vectors. (Currently do not seem to "roundtrip"
	properly.)
	
	* tools/obgrep.cpp: Allow input from STDIN to address feature
	request PR# 1116202.

2005-05-27  Fabien Fontaine <fabfont@users.sourceforge.net>

	* src/kekulize.cpp: Fix bugs reported by Chris Morley and David
	Hoekman.

2005-05-26  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* acinclude.m4: Add CHECK_ZLIB macro for detection of zlib
	compression library.

	* configure.in, configure, src/config.h.in: Use it.
	
	* aclocal.m4, config.guess, config.sub, ltmain.sh: Update for libtool
	1.5.18.

	* src/Makefile.am, src/Makefile.in: Ignore kekulize.cpp and
	libinchi. Mark library as 1:0:0 version so that libopenbabel from
	1.100.x series can coexist.

	* src/formats/Makefile.am, src/formats/Makefile.in: Ignore InChI
	code until license issues can be resolved. Do not compile
	inchiformat.cpp.

	* src/bond.cpp: Use PerceiveKekuleBonds() instead of
	NewPerceiveKekuleBonds().

	* src/bondtyper.cpp, src/fastsearch.cpp, src/finger2.cpp,
	src/fingerprint.cpp, src/kekulize.cpp, src/obconversion.cpp,
	src/transform.cpp, tools/obfit.cpp, tools/obrotate.cpp:
	Standardize top comments.

	* src/openbabel.i: Initial SWIG file for scripting language
	wrappers. Modules currently build, but experiencing linking
	problems on Mac OS X.

	* src/mol.h: Declare replacement C library functions rint(),
	snprintf(), and strncasecmp() as namespace std:: to fix compile
	problems with SWIG.

2005-05-22  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.h, src/obconversion.cpp: Added IsFirstInput().

	* src/formats/obmolecformat.h: Implemented -j format to aggregate
	into a single output molecule.

	* src/transform.cpp (OBMol::ClassDescription): added -j option 
	
	* src/formats/mdlformat.cpp (ReadMolecule): Added offset 
	reading in a mdl sdf/mol file to a OBMol object which already has 
	atoms will now add a disconnected fragment.

2005-05-18  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* data/Makefile.am data/Makefile.in: Make sure that data files are
	included in a "make dist".

	* src/Makefile.am, src/Makefile.in: Build dlhandler_unix.cpp. Use
	dynamic OBFormat loading.

	* src/dlhandler_unix.cpp: Add initial support for dynamic loading
	file format modules using $(libdir)/openbabel/*.so
	paths. Currently this can cause problems when building/debugging
	before installation. I have a symlink from
	/usr/local/lib/openbabel -> $(top_builddir)/src/formats/.libs as a
	workaround.

	* src/formats/Makefile.am, src/formats/Makefile.in: Build each
	format as an independent shared-module.

	* src/*.h: Minor updates. Make sure to only #include config.h once
	per header. Add standard top comments (with description of each
	file and Open Babel URL, etc.) to all headers.

	* src/dlhandler_win32.cpp: Add file description to top comments.

2005-05-14  Chris Morley  <c.morley@gaseq.co.uk>

	* src/fingerprint.h, src/finger2.cpp: Yet more bug fixes following 
	comments by David Hoekman.

	* fingerprintformat.cpp: Added IsPossibleSubstructure() and the
	display of its result.

2005-05-13  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/base.cpp, src/base.h, src/bitvec.h, src/data.cpp,
	src/data.h, src/dlhandler.h, src/fastsearch.cpp, src/grid.h,
	src/kekulize.cpp, src/main.cpp, src/matrix.h, src/mol.h,
	src/obconversion.h, src/oberror.cpp, src/obifstream.h,
	src/obutil.cpp, src/obutil.h, src/patty.cpp, src/phmodel.cpp,
	src/residue.cpp, src/rotor.cpp, src/tokenst.cpp, src/typer.cpp,
	src/formats/PQSformat.cpp, src/formats/pdbformat.cpp,
	src/formats/povrayformat.cpp, test/matrixtest.cpp,
	test/ringtest.cpp, test/roundtrip.cpp, test/smartstest.cpp:
	Rename babelconfig.h to config.h and conditionally #include it
	based on the HAVE_CONFIG_H define (which on UNIX is passed by the
	Makefile). This solves PR#885828 in terms on installation and
	including the build-dependent babelconfig/config headers.

	* configure.in, configure, Makefile.in, doc/Makefile.in,
	src/Makefile.am, src/Makefile.in, src/math/Makefile.in,
	test/Makefile.in, test/cmltest/Makefile.in, tools/Makefile.in: Ditto.

	* data/Makefile.am, data/Makefile.in: Update for version-dependent
	data installation (e.g. /usr/local/share/openbabel/2.0.0/*).

	* src/formats/Makefile.am, src/formats/Makefile.in: Don't directly
	include libinchi (which is now installed separately). Set for
	installation of libobformats, which should be dynamically linked
	with libopenbabel.

	* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in:
	Fix problems with case-sensitive filenames. (i.e., filenames
	changed case in InChI 1.0 release, but were already in CVS tree
	with lowercase.) Set for shared-library installation of libinchi.
	
2005-05-08  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats.inchiformat.cpp: remove incomplete code for reading
	InChi. Add URL. Post libinchi.lb abd libinchi.dll. More options have
	been documented, but are not yet implemented in OB.
	
	*src/base.h, src/base.cpp: The latest MS compiler is more picky, and
	(correctly) objects to an iterator being returned as NULL in
	OBGraphBase::BgnMatch() and EndMatch(). To work round this the whole
	of the code  for "substructure search functions" has been commented 
	out. These are virtual placeholder functions anyway and are not used
	internally in the real substructure routines. In the unlikely event 
	of them being found to be used in an external program we'll have to 
	find another fix. 

	* Removed OBConversion::GetDimension(),SetDimension(),SetTitle(),
	Redefined SetTitle() to return InFileName as a c_str.
	Made return type of strrchr() const char* (picky compiler). 
	
	* src/formats/CSRformat.cpp,PQSformat.cpp,alchemyformat.cpp,balstformat.cpp,
	bgfformat.cpp,boxformat.cpp,acaoformat.cpp,acheformat.cpp,
	chem3dformat.cpp,chemdrawformat.cpp,chemtoolformat.cpp,
	crkformat.cpp,cssrformat.cpp,dmolformat.cpp,featformat.cpp,
	fhformat.cpp,amessformat.cpp,gaussformat.cpp,ghemicalformat.cpp,
	grosmos96format.cpp,hinformat.cpp,jaguarformat.cpp,mm3format.cpp,
	mmodformat.cpp,mol2format.cpp,mopacformat.cpp,mpqcformat.cpp,
	nwchemformat.cpp,pdbformat.cpp,povrayformat.cpp,qchemformat.cpp,
	smilesformat.cpp,tinkerformat.cpp,unichemformat.cpp,viewmolformat.cpp,
	xedformat.cpp,xyzformat.cpp,zindoformat.cpp:
	Removed
	    const char *dimension = pConv->GetDimension();
	
	* src/formats/cmlformat.cpp, mdlformat.cpp, pqsformat.cpp: 
	changes to dimension handling (now an int not a string).
	
	* src/bitvec.h: replace EXTERN by OBAPI extern and tidied.
	
	* src/obiter.h: added several OBAPI.
	 
	* src/dlhandler.h, dlhandler_win32.h; Sleep() added.

	* src/main.cpp: Space after -i and -o now allowed (but not yet
	other options with text). I'm told it is more unix.
	Made return type of strchr() const char* (picky compiler).
	Commented out debug code to pause at end (better compiler).
	
	Some other files tidied - removal of unused variables.
	Somewhere else(?) changed a new loop variable name from i to j
	(rubbish old compiler). 

2005-05-06  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/formats/inchi: Updated with InChI v1.0 release code.

	* src/formats/inchiformat.cpp, src/formats/inchi_api.h: Ditto.
	
	* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in,
	src/formats/Makefile.am, configure.in, configure:
	Update Makefiles for InChI code.

	* src/fingerprint.cpp, src/kekulize.cpp, src/obutil.cpp,
	src/patty.cpp, src/rotor.cpp: Change error reports 
	to go to cerr instead of cout. OBMessageHandler will soon grab
	cerr, but shouldn't block cout (since it's used for output through
	pipes).

	* src/main.cpp: Send conversion message to clog instead of cerr,
	avoiding problems with OBMessageHandler rerouting cerr.

	* src/mol.h, src/mol.cpp: New methods GetFormula() and
	SetFormula() to handle stoichiometric formulas.

	* src/formats/reportformat.cpp: Use it.

	* src/data.h: New method GetNumberOfElements() to return the
	number of elements in an OBElementTable.

	* src/generic.h: Change SetAttribute to take "const" string
	arguments. Ditto for SetData for OBCommentData and SetValue for
	OBPairData.
	
2005-04-24  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/obconversion.cpp, src/obconversion.h: 
	Change implementation of inputfile seek position, to prevent
	it being affected by newlines at the end of the file.
	Changed option to ignore errors to -e from -c which was already
	used for centre coordinates. Removed -z option.
	Remove some obsolete commented out code. 

	* src/main.cpp: Removed -z option for using previously stored 
	options. This was conflicting with use with Apache, and was 
	never of enormous benefit anyway.
	
	* src/finger2.cpp, src/fingerprint.h: fingerprint2 revised
	to properly use canonical hash values. Molecules were being missed.
	 
	* src/formats/fastsearchformat.cpp: Ensure datafile file 
	properly read when it is the specified input file.

	* windows/*.*: Updated Windows build files
	

2005-04-19  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* NEWS: Add notes for formats that were changed/deleted.
	
	* configure.in, configure, src/babelconfig.h.in: Update to #define
	OBAPI.

	* test/matrixtest.cpp: Include babelconfig.h.

	* src/bitvec.h: Make sure to define EXTERN if not otherwise
	defined.

	* src/obiter.cpp, src/obiter.h: STL-style iterators (and #define'd
	shorthand) for OBAtom, OBMol, OBBond and OBResidue.
	
	* src/Makefile.am, src/Makefile.in: Add fastsearch.cpp,
	finger2.cpp, obiter.cpp, fastsearch.h, obiter.h.

	* src/formats/Makefile.am, src/formats/Makefile.in: Add
	fastsearchformat.cpp.

	* src/finger2.cpp (RemoveDuplicates): Enforce "const"
	declaration.

	* src/fingerprint.h (fingerprint2): Enforce std:: namespace.
	
	* src/formats/smilesformat.cpp (SpecificationURL): Add pointer to
	Daylight webpage.
	
	* src/formats/mpqcformat.cpp: Add MPQC input format.
	
	* src/formats/qchemformat.cpp, src/formats/povrayformat.cpp,
	src/formats/nwchemformat.cpp, src/formats/CSRformat.cpp,
	src/formats/bgfformat.cpp, src/formats/cacaoformat.cpp,
	src/formats/cacheformat.cpp, src/formats/chemtoolformat.cpp,
	src/formats/hinformat.cpp: Minor fixes to descriptions.

2005-04-17  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/fastsearch.h, src/fastsearch.cpp,
	src//formats/fastsearchformat.cpp:
	Mod to keep fastsearch index in memory after it has 
	been loaded, to shorten subsequent queries.

2005-04-15  Chris Morley  <c.morley@gaseq.co.uk>
	
	* src/*.h, src/vector3.cpp, windows/OBDLL/OBDLL.dsp
	windows/OBDLL/OBDLL.mak :
	To assist DLL builds, added OBAPI macro to class declarations, 
	global functions and variables in API files. OBAPI needs to
	be set to nothing in babelconfig.h for non-DLL builds. 
	Had to moved the initiallization global variables VZero etc 
	from vector3.h to vector3.cpp, where it should have been anyway.
	OBDLL can now be built in a conventional way. The whole API 
	should be exported but I may have missed some items.

2005-04-13	Chris Morley  <c.morley@gaseq.co.uk>

	*src/fastsearch.cpp, src/formats/fastsearchformat.cpp:
	Separated format from API code.
	Default fingerprint length is now 32 words.
	 
2005-04-12  Chris Morley  <c.morley@gaseq.co.uk>

	* src/finger2.cpp src/fastsearch.h src/fastsearch.cpp:
	Added. (Fastsearch format really needs to be separated and put
	into src/formats.)

	* src/formats/fingerprintformat.cpp: Extensive revision to
	allow choice of fingerprint type and Tanimoto calculation.

	* src/obconversion.h, src/obconversion.cpp (Convert): 
	Changed implementation of OneObjectOnly
	Added capability for the write format to retrieve the seek position
	of the object in the input file: wInpos, GetInPos().
	Added READBINARY and WRITEBINARY options in format flags
	which are implemented when files are opened. Applicable for 
	binary formats (which there are currently none?) in non-unix systems.
	(FullConvert), (OpenAndSetFormat)For VC++6 in Windows, 
	opening all files in binary mode seems to	allow	unix text files 
	to be read. But in case this messes	up Macs or other Windows 
	implementations it is dependent on a macro ALL_READS_BINARY 
	being set in babelconfig.h.

	* src/fingerprint.h, src/fingerprint.cpp (HashFragments):
	Changed h and mod from long int to unsigned int to avoid
	memory corruption with molecules with heavy atoms. Added
	the declarations for fingerprint2 class and global
	GetFingerprint().  

	* src/bitvec.h: Comments to highlight resizing behaviour. 

	* src/format/smilesformat.cpp (OBSmilesParser::ParseSmiles):
	Mod to prevent unpaired ) causing program to hang.

	* windows: Updated build files

2005-04-06  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/inchi: added InChI 1.0 files from NIST.

2005-04-01  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.cpp: Change "Readonly" and "Writeonly" to
	"Read-only" and "Write-only" to match more typical computer
	documentation (e.g., Windows, UNIX and Mac generally use hyphens.)
	
	* src/formats/viewmolformat.cpp (ReadMolecule): Fix
	multiple-molecule support. Read loop would never hit an $end
	record and break, thus reading all molecules in a multi-molecule
	file as one.

	* src/formats/PQSformat.cpp (ReadMolecule): Replace rindex ->
	strrchr for ISO C/C++ compliance. (Fixes problems with compiling
	on MinGW/gcc.)

	* src/formats/inchiformat.cpp: Change for loop to while loop to
	fix compile problems with gcc (and make slightly more readable
	IMHO), change comment to remove "??/" interpreted as a Unicode
	trigraph by gcc, and fix mol.SetTitle() call to fix compilation
	problems with gcc/g++.

	* src/formats/gamessformat.cpp, src/formats/gaussformat.cpp,
	src/formats/nwchemformat.cpp, src/formats/qchemformat.cpp: Break
	read and write support into separate formats since output formats
	are read-only and input formats are write-only.
	
2005-04-01  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/inchiformat.cpp, src/formats.inchi_api.h,
	windows/InChI_DLL.dll and windows/InChI_DLL.lib
	my build of version 1.0RC from NIST : writes InChI; format
	is writeonly because reading code, although included is
	incomplete. I haven't put the source code for the DLL up,
	although it is cross-platform, because I want to check with
	NIST first. 
	 
	* src/data.cpp, src/data.h: OBElementTable::GetAtomicNum 
	Changed unsigned short int& to int&. More consistent with other 
	ints since have to use the exact int type when calling. 
	Now used in mdlformat.cpp.

	* src/formats/mdlformat.cpp: V2000 writes and reads isotope info
	(M ISO line),	V2000 V3000 reads D and T. Changes in V2000 
	writing M RAD	and header. Is #include <iomanip> a problem? 

2005-03-25  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.cpp, src/main.cpp, src/obconversion.h:
	Multiple input files can now be different formats
	
	* src/onconversion.h: Added virtual function 
	OBFormat::MakeNewInstance to meet possible future need for
	formats with member functions. (InChIFormat will.)

	* src/formats/smilesformat.cpp: Can now output isotope info and 
	input and output H and H2. Pharma might be able to do without 
	these but Combustion can't.
	
	* windows/OBGUI/ Several files: Mods to ease use with multiple 
	input files, but interface could still do with some work. 
	
2005-03-23  Geoffrey Hutchison  <babel@geoffhutchison.net>

	* AUTHORS, NEWS, README: Begin updating for a 2.0 release.

	* data/extable.txt: Mark as deprecated. (Should this be deleted?)

	* src/*.h, src/*.cpp, src/math/*.cpp, src/math/*.h,
	src/formats/*.cpp, tools/*.cpp, test/*.cpp: Update copyright
	statements to include 2005 and standardize text.

	* data/Makefile.am: Make sure to include *.h files in a distribution.

	* src/Makefile.am: Make sure to include dlhandler.h,
	obconversion.h, and reaction.h in a distribution.

	* src/formats/Makefile.am: Make sure to install obmolecformat.h
	and include in distribution.

	* data/Makefile.in, src/Makefile.in, src/formats/Makefile.in:
	Regenerated.
	
	* src/generic.h: Expand obDataType to include more typical
	chemical data and offer 16 custom data slots obData0 through
	obData15. In particular, adds obConformerData and obSymmetryData
	for future enhancements.

	* src/obutil.cpp, src/tokenst.cpp, src/typer.h: Added more doxygen
	documentation.

	* tools/obfit.cpp: Further improvements from Konrad -- now loops
	through multiple matches to fit the match with the smallest RMSD.

2005-03-07  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/formats/cml.cpp (endMolecule): Only call InternalToCartesian
	if required (i.e., only internal coords available, all cartesian
	coords are zero) and only call bonding methods (ConnectTheDots and
	PerceiveBondOrders) if needed. Provides a huge performance
	increase on most files.

	* tools/obfit.cpp: Modified to output an RMSD of the fit as
	contributed by Konrad Koehler. Addresses PR#1157440.

2005-03-02  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/parsmart.cpp (OBSSMatch::Match): Added check to prevent
	accessing atoms that do not exist -- appears in PR#1119970.

2005-03-02  Chris Morley  <c.morley@gaseq.co.uk>

	* src/mol.h, babelconfig.h Move some DLL-related #defines
	to babelconfig.h

	* src/oberror.h Declare global obErrorLog here to aid DLL builds.

	Update Windows build files

2005-02-27  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/atom.cpp (GetType): Call global OBTypeTable ttab rather than
	declaring a local version.

	* src/mol.cpp (RenumberAtoms): Add documentation and return
	without action if supplied vector is the wrong size.

2005-02-27  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.cpp: Removed ThrowError and #include mol.h
	Added -c option for continuing with next molecule after an error
	
2005-02-17  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/formats/ghemicalformat.cpp (ReadMolecule): Add some initial
	support for ghemical 1.5x files. Reported by Avell Diroll.

	* src/formats/mdlformat.cpp (ReadMolecule): Improve flexibility in
	handling non-standard SDFiles. Now handles "VAMP" output, thanks
	to an example file from Dr. James Smith, Erlangen.

	* src/data.h, src/data.cpp (OBElementTable::GetAtomicNum): Fix bug
	with isotope support as pointed out by Chris Morley -- need to
	pass a reference back to the isotope value. Added a
	backwards-compatible one-argument function which throws away the
	isotope value.

	* src/obconversion.cpp (Convert): Throw a debugging error if the
	ReadChemObject method returns false.

	* aclocal.m4, config.guess, config.sub, install-sh, ltmain.sh,
	missing, mkinstalldirs: Update with latest GNU versions from
	Automake 1.9.5 and libtool 1.5.14.

	* configure, */Makefile.in: Updated automatically from above.

2005-02-15  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/formats/mdlformat.cpp (ReadMolecule): Fix bug where long
	property lines would set ifs.fail() and consequently file appeared
	to be at EOF. Since property lines can be >1024 bytes, read
	using std::getline(ifs,string). Fixes PR#1120738, thanks to
	Dr. Christian Laggner for the bug report.

	* doc/Makefile.am: Fix bug in doxygen rule.

	* configure, configure.in, */Makefile.in: Regnerated.
	
	* src/data.cpp, src/data.h (CorrectedBondRad): Change to use
	covalent radii -- this is used internally in many places and
	cannot easily be removed. Add more doxygen documentation.

2005-02-10  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/mol.cpp (operator+): Fix PR#119352 to copy bond flag
	information when adding bonds. Thanks to Daen de Leon for the bug
	report and fix.

2005-02-09  Geoff Hutchison  <babel@geoffhutchison.net>

	* data/atomtyp.txt: Change implicit valence rules for acidic
	oxygens -- ensure default AddHydrogen() response is to add acidic
	protons, but correctForPH will not. Fixes PR # 1106706.

	* data/atomtyp.h: Update using bin2hex.pl.
	
	* doc/babel.1: Update for new options.

	* src/mol.h: Add oberror.h and update documentation and
	indentation. Add OB_POS_CHIRAL_ATOM and OB_NEG_CHIRAL_ATOM flags for
	marking + and - chiral volume and accessor methods.
	
	* src/chiral.cpp(GetChirality): Set + and - chiral volume for
	atoms using these methods.

	* src/main.cpp: Update to handle -imime and -omime flags to set
	format by supplied MIME type.

	* src/obconversion.cpp, src/obconversion.h: Update to handle MIME
	types with an additional format map with RegisterFormat(), rather
	than "polluting" the extension map.

	* src/formats/alchemyformat.cpp, src/formats/cmlformat.cpp,
	src/formats/crkformat.cpp, src/formats/mdlformat.cpp,
	src/formats/mmodformat.cpp, src/formats/mol2format.cpp,
	src/formats/mopacformat.cpp, src/pdbformat.cpp,
	src/smilesformat.cpp: Register MIME types with the new MIME map as
	above.

	* src/oberror.cpp: Add a global OBMessageHandler obErrorLog.

	* src/obutil.cpp (ThrowError): Update to use obErrorLog -- to
	migrate code to the new error logging OBMessageHandler class.
	
	* src/bitvec.cpp, src/mol.cpp, src/phmodel.cpp, src/rotor.cpp,
	src/formats/chem3dformat.cpp, src/xyzformat.cpp: Update
	ThrowError() calls to use obErrorLog as above.

	* configure.in: Add support to conditionally build documentation
	if doxygen is availale. Not currently used.

	* */Makefile.in: Update using automake for above.
	
2005-02-09  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.h, src/obconversion.h.cpp: Added
	OBFormat::SkipObjects and its use in Convert and SetStartAndEnd 
	
	* src/formats/mdlformat.cpp: Changed wording in option
	description. "Default" means something in Windows GUI!
	Added SkipObjects()
	Added output of wedge and hash in V2000 as suggested previously
	in a discuusion(?). But stereochemistry needs revisiting!   
	
	* src/formats/smilesformat.cpp: ReadMolecule erroneously always
	returned true, now corrected. Removed SMIFormat::SmiToMol()
	Added SkipObjects()
	Added support for input of radicals like[O.]  	

2005-01-31  Chris Morley  <c.morley@gaseq.co.uk>

	* src/obconversion.h, src/obconversion.h.cpp: rationalized
	SetInFormat, etc; Added GetInFile; corrected bug in IsOption  

	* src/main.cpp: added -? option as synonym of -H 
	Check for empty FileList;  
	In Windows moved saved options file from current folder to TEMP

2005-01-30  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/bondtyper.cpp (ParseLine): Make sure loop variable "i" is
	initialized, pointed out by Chris Morley.

	* data/element.txt: Add note about deprecated "bond order" radii.

	* src/base.h: Remove \defgroup documentation bits.

	* src/data.h (OBElementTable): Mark bond order radii methods as
	deprecated.

	* src/chiral.cpp: Add std:: namespace to match headers for
	documentation. Convert comments to doxygen docs.

	* src/data.cpp (OBGlobalDataBase): When searching for data files,
	check the environment variable directories, then the compiled-in
	directory path -- starting with a subdirectory for BABEL_VERSION,
	followed by the parent directory. Allows for versioning the data
	files.

	* src/main.cpp: Output "molecules converted" to cerr and use
	"molecule" converted if only one molecule was found.

	* src/mol.h: Add documentation about "up" and "down" bond flags
	vs. wedge and hash types.

	* src/obconversion.h, src/obconversion.cpp: Allow MIME types to be
	registered to match particular extensions/IDs.

	* src/oberror.h, src/oberror.cpp: New class OBMessageHandler to
	organize errors/messages and allow errors to go to cerr or another
	output stream. Allows filtering of error levels.

	* src/formats/carformat.cpp: Correct a variety of problems with
	reading multiple molecules in a CAR file and read in 3D unit cell
	information if supplied. Bugs reported by Jean Dessolin. Fixes PR#
	1060110.

	* src/smilesformat.cpp: Set OBMol dimension to 0.

	* src/mdlformat.cpp: Output v3000 files for >999 atoms or >999
	bonds, as suggested by MDL standard specification. Set OBMol
	dimension as needed.

	* src/crkformat.cpp (CRK2DFormat::ReadCRK): Fix bugs with
	wedge/hash and up/down bonds. Assign OBMol dimension to 2.

	* src/cml.cpp: Ditto.

	* src/chemdrawformat.cpp (ReadMolecule): Set OBMol dimension to 2.
	
	* src/formats/*.cpp: Ensure consistency of format description
	naming, particularly to match Open Babel 1.100.x and Babel 1.6.
	
2005-01-20  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/main.cpp: For non-Win32 platforms, use $HOME/.openbabel to
	store recent options -- keeping with standard UNIX practices.

	* src/rotamer.cpp, src/rotamer.h: Move OBRotamerList from
	now-defunct binary.* files to specific rotamer files -- binary
	format is now obsolete.

	* src/Makefile.am: Remove binary.* and rename to rotamer.*.

	* tools/obrotate.cpp: Rename binary.h to rotamer.h
	
	* src/data.cpp, src/data.h: Excise io_type and OBExtensionTable.

	* data/extable.h, data/extable.txt: Ditto.

	* data/Makefile.am: Ditto.

	* tools/*.cpp: Ditto.

	* src/formats/cml.cpp: Remove reference to GetInputType and
	GetOutputType.

	* src/mol.h, src/mol.cpp: Add OBMol:_dimension, along with
	accessor methods GetDimension() and SetDimension() for specifying
	the dimension of the OBMol coordinates. Default is 3 for now --
	conversion or user code must specify this! Among other PRs, fixed
	PR# 110671.

2005-01-19  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/bondtyper.h src/bondtyper.cpp: New method
	AssignFunctionalGroupBonds() to replace code in
	mol.cpp::PerceiveBondOrders() -- assigns generic SMARTS patterns
	and then angle/distance constrained SMARTS patterns (like
	carbonyl).

	* src/mol.cpp: Use the new OBBondTyper method above.

	* configure, aclocal.m4, config.guess, config.sub, ltmain.sh,
	 */Makefile.in: Update with latest automake/libtool/autoconf
	versions (automake-1.9.4, libtool-1.5.10 autoconf 2.59).

2005-01-13  Chris Morley  <c.morley@gaseq.co.uk>

	* src/formats/obmoleculeformat.h: Added. Class to reduce code duplication.  
	* src/formats/mdlformat.cpp: added V3000 support   
	* src/formats/smilesformat.cpp: added option for radical output as lc  
	* src/formats/fingerprintformat.cpp Added. 

2005-01-13  Chris Morley  <c.morley@gaseq.co.uk>

	Correct number of implicit hydrogens in radicals
	Previously used decremented implicit valency which sometimes was reset;
	now correct with _spinmultiplicity. 
	* src/atom.cpp (ImplicitHydrogenCount): add code   
	* src/mol.cpp (AddHydrogens): (2 routines) add code
	* src/mol.cpp (AssignSpinMultiplicity): remove code

2005-01-12  Chris Morley  <c.morley@gaseq.co.uk>

	* src/dlhandler.h: Add findFiles decl needed for Windows builds  

2005-01-09  Chris Morley  <c.morley@gaseq.co.uk>

	* windows/*.dsp, *.mak: Synchronize Windows build files to handle 
	changed file locations and extra source files
	* windows/OBDLL/map2def2.exe added  
	* windows/babelconfig.h updated  

2005-01-07  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/obconversion.h (GetMIMEType): New method for chemical MIME
	support.

	* src/formats/*.cpp: Update file extensions for formats for
	lower-case and previous Babel standards. Added MIME types where
	appropriate.

2005-01-06  Geoff Hutchison  <babel@geoffhutchison.net>

	* src/main.cpp, src/obconversion.cpp, src/obconversion.h: Updated
	files from Chris Morley.

2005-01-01  Geoff Hutchison  <babel@geoffhutchison.net>

	* tools/obfit.cpp, tools/obgrep.cpp, tools/obprop.cpp,
	tools/obrotate.cpp, tools/obtanimoto.cpp: Update to use the
	OBConversion framework.

	* src/formats/*.cpp: Clean out formats which don't currently have
	format specification URLs.

2004-12-23  Geoff Hutchison  <babel@geoffhutchison.net>

	* *.cpp, *.h: Reformat using astyle --style=ansi.

	* src/mol.cpp(PerceiveBondOrders): Fix thinko with abs() calls.

	* src/formats/Makefile.am: Fix typos preventing all format files
	from being compiled.

	* src/formats/cml.cpp: Pull iterator variables out of for()
	declarations to fix compilation problems.

	* src/formats/turbomoleformat.cpp: Remove call to strlwr() which
	is a non-ANSI (non-ISO) function call.

	* test/ringtest.cpp, test/smartstest.cpp, test/rountrip.cpp:
	Convert to using OBConversion from OBFileFormat.

2004-10-19  Geoff Hutchison  <babel@geoffhutchison.net>

	* Initial merging of Chris Morley's new file translation framework.
	Compiles and runs through "babel -H".

	* data/* : Move data files and headers to this directory to
	segregate from source code.

	* configure.in, Makefile.am, */Makefile.am: Build updates.

	* src/: Removed all file translation files. (Now in formats directory.)
	
	* src/formats/*: New files.

	* src/windows/*: Removed.
	
	* windows/*: New files.

2004-10-04  Michael Banck  <mbanck@gmx.net>

	* src/crk.cpp: Use sstream if present and strstream if not.
	
2004-28-30  Fabien Fontaine  <ffontaine@imim.es>

	* tools/obtanimoto.cpp : new tool
	* tools/README:      update
	* tools/makefile.am  update

2004-27-30  Fabien Fontaine  <ffontaine@imim.es>

	* src/fingerprint.cpp: New output format
	* src/fingerprint.h
	* src/Makefile.am (libopenbabel_la_SOURCES): Added fingerprint.cpp.
	* src/data.cpp (TextToType): Added FINGERPRINT typestring.
	* src/data.h (io_type): Added FINGERPRINT.
	* src/extable.txt: Added fingerprint entry for writing.
	* src/extable.h: Regenerated.
	* src/fileformat.cpp (ReadMolecule): Added fingerprint handler.
	(WriteMolecule): Likewise.
	* src/fileformat.h (WriteFingerprint): Declare it.
	
2004-09-10  Michael Banck  <mbanck@gmx.net>

	* src/turbomole.cpp: New file.
	* src/Makefile.am (libopenbabel_la_SOURCES): Added turbomole.cpp.
	* src/data.cpp (TextToType): Added TURBOMOLE typestring.
	* src/data.h (io_type): Added TURBOMOLE.
	* src/extable.txt: Added turbomole entry for reading and writing.
	* src/extable.h: Regenerated.
	* src/fileformat.cpp (ReadMolecule): Added Turbomole handler.
	(WriteMolecule): Likewise.
	* src/fileformat.h (ReadTurbomole): Declare it.
	(WriteTurbomole): Likewise.

2004-08-30  Fabien Fontaine  <ffontaine@imim.es>

	* src/mol.cpp bond.cpp kekulize.cpp: Kekulize function changed to
	what it was before. PerceiveBondOrders replaced by 
	NewPerceiveBondOrders. SetK* functions added to NewPerceiveBondOrders
	
2004-08-27  Michael Banck  <mbanck@gmx.net>

	* mol.h (tokenize): Initialize *delimstr to " \t\n" for the
	version of the function using strings as well.

2004-08-25  Fabien Fontaine  <ffontaine@imim.es>

	* src/mol.cpp: Kekulize is replaced by a new kekulize function
	situated in kekulize.cpp

	* src/mol.cpp (PerceiveBondOrders): New SMART pattern added
	some decision are taken according to the geometry of the bonds

2004-08-24  Fabien Fontaine  <ffontaine@imim.es>

	* src/mol.cpp (PerceiveBondOrders): Bug in calculation of 
	average torsion angles of cycles fixed.

	* src/atom.cpp: function AverageBondAngle added.
	
2004-08-19  Michael Banck  <mbanck@gmx.net>

	* src/data.cpp: Include mol.h.
	(tokenize): Removed declaration, already declared in mol.h.

	* src/mol.h [OBDLL_EXPORTS, USING_OBDLL]: redefine extern as
	'__declspec(dllexport) extern'. Update global definitions
	accordingly.
	
2004-08-17  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* configure.in: Make the check for doxygen to be a typical
	AC_PATH_PROG -- it's not a critical dependency.
	
	* configure, aclocal.m4, config.guess, config.sub, ltmain.sh,
	 */Makefile.in: Update with latest automake/libtool/autoconf
	versions (automake-1.9.1, libtool-1.5.8 autoconf 2.59).

	* src/isotope-small.txt, src/isotope.txt: Update with latest data
	from 2003 canonical data. 

2004-07-20  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* src/ghemical.cpp: Ignore multiple coordinate sets -- only read
	the first one currently, but don't bail if more than one exists.

	* src/cssr.cpp: Update with unit cell information and fixing bugs
	reported by Mathias Weigt when dealing with SOMFA package.

2004-07-02  Michael Banck  <mbanck@gmx.net>

	* src/obutil.cpp (InternalToCartesian): avec, bvec, cvec, dst, ang,
	tor: New short circuit variables. Start index at zero again. Fix
	torsion angle of the fourth atom. Thanks to Gerd Menche.

2004-03-13  Michael Banck  <mbanck@gmx.net>

	* test/unitcell.cpp (TestUnitCell): Use %lf instead of %f to read
	in the values from unitcell.txt.

2004-03-07  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* src/chdrw.cpp (ReadChemDraw): Add support for reading ChemDraw
	CT files.

	* src/data.h, src/data.cpp: Change GAUSSIANZMAT to GAUSSIANOUT to
	allow support for reading G98 and G03 output.

	* src/extable.txt: Add ChemDraw reading and Gaussian 98/03 output
	to list.

	* src/fileformat.h, src/fileformat.cpp: Ditto.

	* src/extable.h: Regenerate.

	* src/gaussian.cpp: Add support for reading G98/G03 output and
	writing isotopes where applicable.

	* src/hin.cpp: Fix bug with more recent HIN formats with basis set
	information.

	* configure, Makefile.in, */Makefile.in: Update with latest
	autotools.

	* src/mol.cpp, src/mol.h: Backpedal slightly with Fabien's
	2003-12-17 changes. Use OB_TSPIN_MOL as used by 1.100.2 and
	revised AssignSpinMultiplicty to assign OBMol::_tspin.

2004-03-03  Michael Banck  <mbanck@gmx.net>

	Fixes to make InternalToCartesian() and ReadQChem() consistent
	with CartesianToInternal(), so that round-tripping between
	InternalToCartesian() and CartesianToInternal() is
	possible. Thanks to Gerd Menche for the fix.

	* src/obutil.cpp (InternalToCartesian): Initialize index as
	atom->GetIdx() rather than atom->GetIdx() - 1. Subsequently,
	increase the index checks for the first three atoms by one.
	Convert angles to radians before computing cartesian
	coordinates.

	* src/qchem.cpp (ReadQChem): Uncommented the z-matrix reading
	code. Generate one empty internal coordinate in advance.
	Replaced loop until end of block in input file with a for loop
	over the existing atoms. Do not generate new atoms in the loop,
	as they are already present. Do not convert angles to radians
	any more, this is now done in InternalToCartesian().

2004-02-29  Michael Banck  <mbanck@gmx.net>

	Merged changes from openbabel-1-100-x branch back into HEAD.

	* src/pqs.cpp: New file.
	* NEWS: Updated from 1.100.2 release.
	* ChangeLog: Fixed some tabs.

2004-02-10  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* configure, configure.in: Update with notes on versioning for
	shared library support.

	* src/Makefile.ac, src/Makefile.in: Apply specific 0:0:0 current
	version for shared libopenbabel -- change this as appropriate for
	new versions. See libtool manual for more information on what
	versions are needed for revisions, backwards incompatibility, etc.
	
2004-02-18  Michael Banck  <mbanck@gmx.net>

	* src/pqs.cpp: Include <strings.h>, if available.

2004-02-17  Michael Banck  <mbanck@gmx.net>

	* configure.in (AC_INIT): Changed PACKAGE_NAME to 'OpenBabel'.
	Additionally specifiy PACKAGE_TARNAME as 'openbabel'.
	(AM_INIT_AUTOMAKE): Removed deprecated arguments PACKAGE and
	VERSION.
	(AC_DEFINE_DIR): Use AC_PACKAGE_TARNAME instead of
	AC_PACKAGE_NAME.
	* configure: Regenerated.

2004-02-10  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* src/mol.cpp: Documentation updates.

	* NEWS, THANKS: Updates for 1.100.2 release.

	* aromatic.txt, aromatic.txt: Minor updates for aromaticity of
	various heteroatoms.

	* element.txt: * Minor documentation update.

2004-02-14  Michael Banck  <mbanck@gmx.net>

	* src/base.cpp [HAVE_CONFIG_H]: Removed the conditional around
	#include babelconfig.h (reverted patch).
	* src/bgf.cpp, src/data.cpp, src/gromos96.cpp, src/main.cpp,
	src/newmain.cpp, src/oberror.cpp, src/obutil.cpp, src/patty.cpp,
	src/pdb.cpp, src/phmodel.cpp, src/povray.cpp, src/residue.cpp,
	src/rotor.cpp, src/typer.cpp, src/base.h, src/bitvec.h, src/crk.h,
	src/data.h, src/fileformat.h, src/grid.h, src/mol.h,
	src/obifstream.h, src/obutil.h: Likewise.
	
2004-02-13  Michael Banck  <mbanck@gmx.net>

	* configure.in (AM_INIT_AUTOMAKE): Added 'no-define', to prevent
	defines for PACKAGE and VERSION in src/babelconfig.h.in, which
	would confuse other projects.
	* configure: Regenerated.
	* src/babelconfig.h.in: Regenerated.

2004-02-12 Fabien Fontaine <ffontaine@imim.es>

	* tools/obgrep.cpp: -t NUM option added to control 
	the number of match in each molecule
	*tools/obprop.cpp: new tools added to compute and print 
	simple molecular properties for non C++ programmers
	
2004-02-10  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* configure, configure.in: Change --enable-shared to the
	default. Build shared libraries except where specified by the
	user.
	
2004-02-10  Michael Banck  <mbanck@gmx.net>

	* test/cmltest/Makefile.am (EXTRA_DIST): Removed auto-generated 
	.cml files.
	* test/cmltest/Makefile: Regenerated.

2004-02-09  Michael Banck  <mbanck@gmx.net>

	* src/base.cpp [HAVE_CONFIG_H]: New conditional, wrap babelconfig.h
	#include into it.
	* src/bgf.cpp, src/data.cpp, src/gromos96.cpp, src/main.cpp,
	src/newmain.cpp, src/oberror.cpp, src/obutil.cpp, src/patty.cpp,
	src/pdb.cpp, src/phmodel.cpp, src/povray.cpp, src/residue.cpp,
	src/rotor.cpp, src/typer.cpp, src/base.h, src/bitvec.h, src/crk.h,
	src/data.h, src/fileformat.h, src/grid.h, src/mol.h,
	src/obifstream.h, src/obutil.h: Likewise.

2004-02-09  Michael Banck  <mbanck@gmx.net>

	* src/base.cpp: Include babelconfig.h.
	* src/base.h: Likewise.
	* src/crk.h: Likewise.
	* src/data.h: Likewise.
	* src/fileformat.h: Likewise.
	* src/main.cpp: Likewise.
	* src/oberror.cpp: Likewise.
	* src/residue.cpp: Likewise.

2004-02-08  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* src/mol.cpp, src/qchem.cpp, src/gaussian.cpp, src/report.cpp:
	Improved support for spin multiplicity and total charge --
	calculate from atomic formal charges and spin multiplicities where
	not specified.

	* Doxyfile, src/base.cpp, src/base.h, src/binary.cpp,
	src/binary.h, src/chains.cpp, src/chains.h, src/data.h,
	src/generic.cpp, src/generic.h, src/grid.h, src/mol.h,
	src/oberror.h, src/obifstream.h, src/obutil.h, src/parsmart.h,
	src/parsmi.cpp, src/pdb.cpp, src/phmodel.cpp, src/phmodel.h,
	src/residue.cpp, src/rotor.cpp, src/typer.cpp, src/typer.h:
	Updated documentation for generation by doxygen.

2004-02-07  Michael Banck  <mbanck@gmx.net>

	* src/math/matrix3x3.h [ __sgi]: Removed and...
	[HAVE_IOSTRAM], [HAVE_FSTREAM]: Replaced with this.
	* src/math/vector3.h: Likewise.
	* src/base.cpp [#include <iostream>]: Removed and...
	[HAVE_IOSTREAM, HAVE_IOSTREAM_H]: Replaced with this.
	* src/base.h: Likewise.
	* src/crk.h: Likewise.
	* src/data.h: Likewise.
	* src/fileformat.h: Likewise.
	* src/main.cpp: Likewise.
	* src/mol.h: Likewise.
	* src/oberror.cpp: Likewise.
	* src/oberror.h: Likewise.
	* src/obutil.h: Likewise.
	* src/residue.cpp: Likewise.
	* src/base.cpp [#include <fstream>]: Removed and...
	[HAVE_FSTREAM, HAVE_FSTREAM_H]: Replaced with this.
	* src/binary.h: Likewise.
	* src/crk.h: Likewise.
	* src/data.h: Likewise.
	* src/fileformat.h: Likewise.
	* src/main.cpp: Likewise.
	* src/mol.h: Likewise.
	* src/residue.cpp: Likewise.

2004-02-06  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* Doxyfile, doc/Doxyfile-man: Updated for 1.100.2 release and for
	newer doxygen versions.

	* src/base.cpp: Doxygen doc updates. Should produce links to key
	classes in intro page.

	* src/base.h, src/generic.cpp, src/mol.cpp, src/mol.h,
	src/math/matrix3x3.cpp, src/math/vector3.cpp: Documentation updates.
	
	* src/data.cpp, src/data.h, src/extable.txt, src/extable.h,
	src/fileformat.cpp, src/fileformat.h: Updates for PQS format,
	contributed by Pawel Wolinski <pwolinsk@uark.edu>.

	* src/pqs.cpp: New code, as above.

	* src/typer.h: Turn on root-atom detection via SelectRootAtoms.
	
	* test/smartstest.txt, test/attype.00.smi: Add new tests for ring
	and SMARTS testing.

	* test/ringresults.txt, test/smartsresults.txt: Regenerated.

2004-02-06  Michael Banck  <mbanck@gmx.net>

	* src/cml.cpp (debug): Fix loop control variable j.
	Contributed by Francesco Bresciani <fbresciani@users.sourceforge.net>.

2004-02-04 Fabien Fontaine <ffontaine@imim.es>

	* tools/obgrep.cpp: -n option added to print 
	the name of the matched molecules only

2004-02-02  Geoff Hutchison  <ghutchis@wso.williams.edu>

	* src/mdl.cpp (WriteSDFile): Add support for wedge/hatch, as
	contributed by Eugen Leitl. 

	* src/typer.cpp: Remove debugging information used for
	SelectRootAtoms development. (oops!)

	* configure, aclocal.m4, */Makefile.am, */Makefile.in: Regenerated
	using autoconf 2.59, automake 1.8.2, libtool 1.5.2 to prevent recent
	problems linking on Mac OS X.

2004-01-31  Michael Banck  <mbanck@gmx.net>

	* src/crk.cpp (WriteCRK): Rename loop variable from n to m.
	Contributed by Chris Morley <c.morley@gaseq.co.uk>.

2004-01-27  Michael Banck  <mbanck@gmx.net>

	* configure.in: Rename defined directory DATADIR to BABEL_DATADIR,
	to avoid problems with other programs. Closes: #885828.
	* configure: Regenerated.
	* src/babelconfig.h.in: Regenerated.
	* src/bondtyper.cpp: Rename _dir from DATADIR to BABEL_DATADIR.
	* src/data.cpp: Likwise.
	* src/pdb.cpp: Likewise.
	* src/phmodel.cpp: Likewise.
	* src/rotor.cpp: Likewise.
	* src/typer.cpp: Likewise.

2004-01-16  Michael Banck  <mbanck@gmx.net>

	* test/Makefile.am (TESTS): Run test-scripts with absolute path
	$(top_srcdir)/test/, as they are not present in the current
	directory when building in a builddir.
	(SUBDIRS): New directive, including cmltest.
	* test/Makefile.in: Regenerated.
	* test/cmltest/Makefile.am: New file.
	* test/cmltest/Makefile.in: New file, autogenerated.
	* configure.in (AC_OUTPUT): Added test/cmltest/Makefile.
	* configure: Regenerated.

2004-01-16  Michael Banck  <mbanck@gmx.net>

	Second and last pass of test-suite-in-builddir handling, fixing
	the shell scripts.

	* test/cml.sh: Export $srcdir and $builddir for use in the called
	scripts. Prepend $cmltestdir to avoid absolute pathnames.
	* test/cmltest/test.sh: Define $builddir and specify path to the
	babel executable from there. Replace every absolute pathname
	with relative ones.
	* test/roundtrip.sh: Likewise.

2004-01-13  Michael Banck  <mbanck@gmx.net>

	First shot at making a test-suite run from a build-directory
	possible.

	* test/Makefile.am (AM_CPPFLAGS): Added -DTESTDATADIR, pointing
	to $(srcdir)/test, where the test-suite data files are located.
	* test/Makefile.in: Regenerated.
	* test/ringtest.cpp: Use strings to handle the filenames. If
	TESTDATADIR is defined, prepend it to the filename. Transform
	the string to a char* when calling SafeOpen().
	* test/smartstest.cpp: Likewise.
	* test/unitcell.cpp: Likewise.

2003-12-17  Fabien Fontaine <ffontaine@imim.es>
	* src/typer.cpp (AssignImplicitValence)
	Fix protonation of amines bug due to spin multiplicity assignment 
	move spin multiplicity lines of CM to OBMol::AssignSpinMultiplicity();
	Add spin multiplicity flag  and related functions in mol.h
	
2003-12-08  Fabien Fontaine <ffontaine@imim.es>
	* src/mol.cpp (DeleteNonPolarHydrogens): uncomment "IncrementMod();"
	to avoid _c initialization when Deleting atoms
	
2003-12-01  Michael Banck  <mbanck@gmx.net>

	* src/data.cpp (GetExtension): Make sure that the returned long
	description stays defined by copying it into a static string.
	Contributed by David Mathog <mathog@mendel.bio.caltech.edu>.
	* (GetDescription): Likewise.

2003-12-01  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/pdb.cpp, src/mol2.cpp, src/gromos96.cpp:
	Residue perception via OBChainsParser turned on, contributed by
	Malcolm Gillies.

	* src/atom.cpp(GetResidue): Call SetChainsPerceived--ensures that
	chain perception code will not be called repeatedly on failure,
	contributed by Malcolm Gillies.

	* src/crk.h, src/crk.cpp: New files for Chemical Resource Kit
	support, contriubted by Alex Clark <a.clark@bendcable.com>. 

	* src/Makefile.am, src/Makefile.in: As above.

	* src/data.cpp, src/data.h, src/extable.txt, src/fileformat.cpp,
	src/fileformat.h: Changes to support read/write CRK files.

	* src/mol.h: Fix mistake in HasAromaticBond() -- aromatic bonds
	are "5", not "4"!

	* src/bond.cpp(IsTriple): New method for triple bonds.
	
	* src/typer.h: Add new SelectRootAtoms method (defaults to off)
	contributed from JOELib.

	* src/typer.cpp(SelectRootAtoms): Implement it, as ported from
	Joerg Wegner's JOELib Java code.
	(AssignAromaticFlag): Use SelectRootAtoms -- if
	avoidInnerRingAtoms is set to false, same as previous code.
	
	* test/attype.00.smi: Add new test patterns from JOELib tests.

	* test/smartstest.txt: Add new pattern from JOELib tests.

	* test/ringresults.txt, test/smartsresults.txt: Regenerate using
	current code (i.e. do not use SelectRootAtoms code yet).

2003-11-22  Michael Banck  <mbanck@gmx.net>

	* src/povray.cpp (CalcBoundingBox): Decouple declaration of 
	`unsigned int i' from the for-loop. Contributed by Chris 
	Morley.
	
	* src/Makefile.am (libopenbabelinclude_HEADERS): Added 
	babelconfig.h

	* src/Makefile.am (EXTRA_DIST): Removed newmain.cpp, bondtyper.cpp
	and bondtyper.h for now.

	* configure.in (AC_CHECK_HEADERS): Added iostream and fstream. 
	They seem to be not always present on Irix.
	(AC_HEADER_TIME): New macro.
	(AC_CHECK_TYPES): New macro, checking for clock_t.
	(AC_CHECK_FUNCS): New macro, checking for rint.
	* configure: Regenerated.
	* src/babelconfig.h.in: Regenerated.
	* src/bitvec.h, src/grid.h, src/obifstream.h: Include 
	babelconfig.h.
	[__sgi]: Removed, and ...
	[HAVE_IOSTREAM]: Replaced with this.
	* src/main.cpp [__BORLANDC__]: Removed strncasecmp function.
	* src/mol.h [WIN32]: Removed, and ...
	[!HAVE_RINT]: Replaced with this.
	* src/obutil.h: Include babelconfig.h.
	[WIN32] (include time.h): Removed, and ...
	[TIME_WITH_SYS_TIME, HAVE_SYS_TIME_H]: Replaced with this.
	[WIN32] (clock_t): Removed, and ...
	[HAVE_CLOCK_T]: Replaced with this.
	* src/obutil.cpp: Include babelconfig.h.
	[WIN32]: Removed, and ...
	[HAVE_CONIO_H]: Replaced with this.
	
	* src/mol.h: Move #include for babelconfig.h to the top.

2003-11-21  Fabien Fontaine  <ffontaine@imim.es>

	* src/typer.cpp (AssignImplicitValence): SetAromaticPerceived flag on 
	to ensure that the aromatic typer is not called when assigning 
	implicit valence, and check if implicit valence has already been 
	assigned
	*src/mol.h SetFlags function added

2003-11-17  Michael Banck  <mbanck@gmx.net>

	* src/chemtool.cpp (WriteGX): Replaced round(x) with 
	floor(x + 0.5) as round() does not seem to be available on all
	systems.

2003-11-13  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* test/attype.00.smi, test/smartstest.txt: Updated with tests from
	SMARTS bug reports PR#776094 and 796649. (Not problems in the
	current CVS code, but added as new test cases anyway.)

	* test/ringtest.cpp, test/smartstest.cpp: Allow generation of the
	results files.

	* test/ringresults.txt, test/smartsresults.txt: Generated from
	above. (Current implementation validates previous results as well
	as new patterns above.)

	* src/atomtyp.txt: Add Sybyl typing for phenol oxygens and ester
	sp3 oxygens.

	* src/aromatic.txt: Remove phosphole from aromatic patterns, add
	selenophene. (Phosphole is a classic non-aromatic system due to
	the non-planar P atom.)

	* src/aromatic.h, src/atomtyp.h, src/extable.h: Autogenerated.

2003-11-12  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* configure, */Makefile.in: Regenerated using automake-1.7.8,
	autoconf-2.58, libtool-1.5. (Should solve problems with CVS
	versions needing to call autoconf/automake due to timestamps.)
	Added AM_MAINTAINER_MODE.

	* aclocal.m4: Put this back in CVS so aclocal isn't needed to
	generate from CVS.

	* src/Makefile.am: Add back targets for generating binary .h files
	from the appropriate .txt data files.
	
	* src/parsmi.cpp: Back out Chris Morley's SMILES extensions for
	radicial centers--current causes many SMILES/SMARTS errors.

	* test/main.cpp, test/roundtrip.cpp: Add comments on additional
	tests needed soon. (These are all in the project tracker for
	Release-2.0 roadmap too.)

	* test/smartstest.cpp: Improve debugging information on
	errors--give the first atom matching if we have a match, even if
	it's not the number of matches expected by the results.

	* test/test-set.sh: Only mention running the test if the test
	directory is there.

2003-11-11  Michael Banck  <mbanck@gmx.net>

	* configure.in (AC_CHECK_HEADERS): Removed checks for some C++ 
	Standard Library headers (algorithm vector map list iostream
	fstream deque). They are essential for openbabel and we don't
	even exit if ./configure does not find them, let alone work
	around them missing. So in effect, the checks were just wasting
	CPU cycles until now. stream and strstream are still checked.
	* configure: Regenerated.
	* src/babelconfig.h.in: Regenerated.

2003-11-11  Michael Banck  <mbanck@gmx.net>

	* configure.in (AC_REPLACE_FUNCS): New directive, including
	snprintf and strncasecmp for now.
	* configure: Regenerated.
	* src/babelconfig.h.in: Regenerated.
	* src/Makefile.am (libopenbabel_la_LIBADD): Added @LTLIBOBJS@.
	(babel_LDADD): Added @LIBOBJS@.
	* src/Makefile.in: Regenerated.
	* src/mol.h [!HAVE_SNPRINTF] (snprintf): New declaration.
	[!HAVE_STRNCASECMP] (strncasecmp): Likewise.
	* src/snprintf.c: New file, taken from Mark Martinec.
	* src/snprintf.h: New file, taken from Mark Martinec.
	* src/strncasecmp.c: New file, taken from gnulib.

2003-11-10  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/main.cpp: Silently ignore cases with 0 atoms in a
	molecule. This is frequently due to trailing empty lines in a file.

	* test/Makefile.am: Separate the tests in obtest into distinct
	programs and tests for a more accurate "make check" result.

	* test/main.cpp, test/matrixtest.cpp, test/ringtest.cpp,
	test/smartstest.cpp: Ditto.

	* test/cml.sh: Skip the test in "make check" if the directory
	doesn't exist.

	* test/test-set.sh: If the test-set directory exists, then run it,
	otherwise skip the test.

2003-11-10  Michael Banck  <mbanck@gmx.net>

	* src/math/Makefile.am (AM_CPPFLAGS): New directive, adding
	$(top_srcdir)/src to includes to make building in a seperate
	build-directory possible.
	* test/Makefile.am (AM_CPPFLAGS): Likewise.
	* tools/Makefile.am (AM_CPPFLAGS): Likewise.
	
2003-11-08  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* configure, */Makefile.in: Updated with current autoconf, automake.

	* src/cml.cpp: Add OB_VERSION const to use BABEL_VERSION
	definition (automagically updated from babelconfig.h).

	* src/extable.txt: Add .ins ShelX extension.

	* test/cml.sh, test/cmltest/roundtrip.sh, test/cmltest/test.sh:
	Shell scripts to run the CML test suite.
	
	* test/smartstest.cpp: Add more debugging information if SMARTS
	tests fail.

	* src/shelx.cpp: Changes suggested by Louis Ricard
	<louis.ricard@polytechnique.fr> to fix several ShelX bugs.
	
	* src/atom.cpp, src/mdl.cpp, src/mol.h, src/parsmi.cpp, src/smi.cpp,
	src/typer.cpp: Support for radical centers, contributed by Chris
	Morley <c.morley@gaseq.co.uk>.

	Changes contributed by Malcolm Gillies <malcolm.b.gillies@anu.edu.au>

	* src/pdb.cpp: (ReadPDB) BUG: OBMol::ConnectTheDots() fails inside a
	OBMol::BeginModify()/OBMol::EndModify() pair, as OBMol::Has3D() will
	always return false. Rearrange to avoid this.
	Use ATOM/HETATM record element name information in columns
	76-77 to determine element type when possible and necessary.
	(WritePDB) BUG: writing of ATOM records could fail due to use of
	strncpy to copy atom and residue names (i.e. lack of null termination)
	Write HETATM records instead of ATOM records if
	res->IsHetAtom(atom)==true

2003-10-22  Fabien Fontaine <ffontaine@imim.es>

	Added tools directory: contains utilities using libopenbabel

	* tools/obgrep.cpp: SMART molecule grep
	* tools/obfit.cpp: align molecules on SMART substructures
	* tools/obrotate.cpp: rotate a tortional bond matching a SMART

	* src/mol2.cpp (ReadMol2): Continue reading untill EOF or next
	MOLECULE record to avoid 'error: has zero atoms!' message

2003-10-20  Fabien Fontaine <ffontaine@imim.es>

	* src/patty.h Istype function added  
	* src/patty.cpp (read_rules) (assign_rules) : memory 
	allocation changed
	
2003-10-03  Michael Banck  <mbanck@gmx.net>

	* src/atom.cpp (GetDistance): New method.
	* (GetAngle): Likewise.
	* src/mol.h: Declare them.

2003-09-25  Michael Banck  <mbanck@gmx.net>
	
	* src/mol.h (_internals): New protected class attribute.
	(GetInternalCoord): New declaration.
	(SetInternalCoord): New method.
	(BeginInternalCoord): New method for iterating over _internals.
	(NextInternalCoord): Likewise.

	* src/mol.cpp (GetInternalCoord): New method.

2003-09-21  Peter Murray-Rust <pm286@cam.ac.uk>

	* src/cml.cpp: removed inconsistences between atomRef, atomRef1,
	atomRef2, and atomRefs2 attributes.
	* test/cmltest/cs2a.cml: changed atomRefs1 and atomRefs2 attributes 
	to atomRef
	* test/cmltest/test.bat: minor edits to allow echo
	
2003-09-14  Michael Banck <mbanck@gmx.net>

	* src/povray.cpp: Removed getlogin() declaration.
	(OutputHeader): Removed log_name, don't output login name in
	Povray header.

2003-09-13  Michael Banck <mbanck@gmx.net>

	* src/chemtool.cpp: New file.
	* src/Makefile.am (libopenbabel_la_SOURCES): Added chemtool.cpp.
	* src/Makefile.in: Regenerated.
	* src/data.cpp (TextToType): Added CHEMTOOL typestring.
	* src/data.h (io_type): Added CHEMTOOL.
	* src/extable.txt: Added Chemtool writing support.
	* src/fileformat.cpp (OBFileFormat::WriteMolecule): Added
	WriteCHT function call for CHEMTOOL io_type.
	* src/fileformat.h (OBFileFormat): Added WriteCHT() method.

2003-07-02  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/data.cpp (GetAtomicNum): Fix mistake in calls to strcasecmp,
	as pointed out by Chris Morley.

	* src/math/Makefile.am: Make sure math/matrix3x3.h and
	math/vector3.h are installed with a "make install" as reported by
	Jean. Fixes PR#761644.

	* Makefile.in, src/math/Makefile.in: Regenerate using automake.

2003-06-26  Michael Banck <mbanck@gmx.net>

	* NEWS: New file.

2003-06-23  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/main.cpp: Move man documentation to end of file (right
	after usage() code) for better "readability". Also make sure that
	we quit attempting to read molecules from a file when we find no
	atoms. Fixes some problems seen when roundtripping.
	
2003-06-23  Vincent Favre-Nicolin  <vincefn@users.sourceforge.net>

	* doc/Doxyfile-man, src/main.cpp, Doxyfile: Added the man page in
	doxygen format in main.cpp, for automatic generation of the man
	page from the source code, using 'Doxygen Doxyfile-man' in the
	doc/ directory. Normal Doxygen run now skips src/main.cpp

2003-06-23  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* doc/babel.1: Update with current command-line options and file
	formats.

	* doc/FAQ.html, doc/Migration.html: Use HTML versions from the
	website rather than text versions.

	* doc/Makefile.in, doc/Makefile.am: Update accordingly.

	* src/cml.cpp(CleanUp): New method to clean up global vector
	variables after ReadCML() and WriteCML() in attempt to fix
	PR#736001. Does not change normal command-line path, but should
	fix library useage when multiple files may be loaded.
	
2003-06-22  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/main.cpp: Updated to use OBMolVector for importing multiple
	molecules in a file. Emulates behavior of babel, but improvements
	are needed. (e.g. some formats like separators if it's a
	multi-molecule file.) Also added -f (first) and -l (last)
	flags to pick particular molecules. Fixes feature request
	PR#575243.

	* src/molvector.h, src/molvector.cpp: Add new PushMol method for
	adding new molecules to the end of the vector. Improve Write
	support and clean up overloaded methods--instead use default
	values.

	* src/*.txt: Updated copyright information.
	* src/*.cpp, src/*.h: Ditto. (As needed)

2003-06-15  Michael Banck  <mbanck@gmx.net>

	* src/pdb.cpp (WritePDB): Cast atom->GetValence() to int to avoid
	signed/unsigned comparison.
	* src/ring.cpp (OBRingSearch::RemoveRedundant): Remove register
	attribute for i and j to suppress a warning.
	(OBRingSearch::AddRingFromClosure): Remove unused parameter 
	`int level'.
	* src/ring.h (AddRingFromClosure): Remove unused parameter `int'.  
	* src/povray.cpp (OutputMoleculeBonds): Remove unused parameter
	`OpenBabel::OBMol mol'.

2003-06-15  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	Updated to latest autoconf, libtool, automake versions to fix a
	few minor bugs and add libtool-1.5 Mac OS X support.

	* depcomp, ltmain.sh, missing, config.guess, config.sub: Update
	with latest GNU versions.
	
	* src/Makefile.am: Remove main.cpp from targets for library and
	make sure only one set of headers exists.

	* configure: Regenerated with autoreconf.
	* */Makefile.in: Regenerated with autoreconf.
	
	* openbabel.pc.in: Fix minor typo.

	* *.cvsignore: Add new libtool-generated files.

2003-06-15  Michael Banck  <mbanck@gmx.net>

	Added pkg-config support, thanks to Jean Brfort.

	* openbabel.pc.in: New file.
	* configure.in: Add openbabel.pc to AC_OUTPUT.
	* configure: Regenerated.

	* Makefile.am: Install openbabel.pc in $(libdir)/pkgconfig.
	* Makefile.in, doc/Makefile.in, src/Makefile.in, src/math/Makefile.in,
	src/windows/Makefile.in, test/Makefile.in: Regenerated.

	* ChangeLog: Fixed a wrong filename in the last entry, minor
	corrections.

2003-06-15  Michael Banck  <mbanck@gmx.net>

	Switch to automake.
	
	* configure.in: Add automake macros, remove some obsolete legacy 
	stuff (AC_PATH_PROG(AR), $top_builddir, AC_PROG_RANLIB), enable
	libtool.
	* configure: Regenerated.

	* Makefile.am, test/Makefile.am, doc/Makefile.am, 
	src/Makefile.am, src/windows/Makefile.am, src/math/Makefile.am:
	New files.
	* doc/Makefile.in, src/windows/Makefile.in: New files, 
	autogenerated.
	* Makefile.in, test/Makefile.in, src/Makefile.in, 
	src/math/Makefile.in: Regenerated.

	* src/babelconfig.h.in: Regenerated.

2003-06-10  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/Makefile.in: Remove cwrap.h and cwrap.o as these have been
	removed.

	* src/mol.cpp (ConnectTheDots, PerceiveBondOrders): Make sure
	these don't try to run on 2D structures, fixing bug reported by Jean.

	Remove a variety of compilation warnings.
	
	* src/cacao.cpp, src/data.cpp, src/mpqc.cpp, src/povray.cpp:
	Remove unused variables.

	* src/mopac.cpp: Switch to unsigned int to remove comparison warning.

	* src/obutil.h, src/obutil.cpp: New IsNear and IsNearZero
	functions to compare floating-point numbers instead of unreliable
	== operator. Ensures numbers are closer than a user-specified epsilon.
	
	* src/mol.cpp, src/mol2.cpp, src/molchrg.cpp,
	src/math/vector3.cpp: Improve reliability of floating point
	comparisons. Replace == operator compares with new IsNear and
	IsNearZero functions.
	(vector3.cpp probably should replace == operators as well.)

2003-06-09  Michael Banck  <mbanck@gmx.net>

	* src/main.cpp: 
	- Renamed usage() to help() and added a new method
	  usage() with a terse usage output and a pointer to help().
	- Added -H switch for help().
	- Reformatted usage() and help() output a bit.
	- Print out an 'unrecognized option' error message when 
	  option parsing fails, in addition to usage().
	
2003-06-09  Michael Banck  <mbanck@gmx.net>

	* src/main.cpp: Added a pointer to the Mailing-List for sending
	bug-reports to the end of usage().

2003-06-03  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/mol.h: Add OBBond::UnsetKekule for PerceiveBondOrders support.

	* src/mol.cpp (PerceiveBondOrders): Add aromatization pass to
	complete the implementation of Roger Sayle's algorithm. This
	implementation is rather naive--it types rings, then passes back
	to Kekulize. Still works pretty well.

2003-06-02  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	Lots of minor bugfixes from the past few weeks.
	
	* src/element.txt, src/element.h: Update phosphorus covalent
	radius as suggested by Jean Brefort (PR# 743730).

	* configure.in: Set "bug report" e-mail address, remove custom
	openbabel_version variable and change AC_CHECK_HEADER calls to
	AC_CHECK_HEADERS to gracefully fail and set appropriate HAVE_
	macros in babelconfig.h.

	* configure, src/babelconfig.h.in: Updated using autoreconf.

	* src/data.cpp, src/povray.cpp: Update to use sstream if present
	and strstream if not.

	* src/main.cpp: Add support for centering coordinates as well as
	checking for 2D vs. 3D coordinates when calling WriteMolecule.

	* src/mol.cpp (Kekulize): Remove 255 atom limit discovered by
	Frank Schmitt. (Some limit is reasonable, but SMARTS matching
	should be better about matching non-Kekulize'd structures.)
	
	* Makefile.in: Use standard PACKAGE_VERSION instead of
	openbabel_version.

	* src/Makefile.in: Get rid of bitgrid.[cpp,h] and version.h.

	* src/base.cpp: Minor documentation updates.
	
	* src/extable.txt, src/extable.h, src/fileformat.cpp,
	src/fileformat.h: Add in preliminary hooks for ShelX support.

	* src/shelx.cpp, src/bondtyper.h, src/bondtyper.cpp: New files.

	* test/unitcell.cpp: Make sure to initialize variables.

	* test/roundtrip.cpp: Use babelconfig.h instead of version.h.
	
2003-04-22  Michael Banck  <mbanck@gmx.net>

	Switch to autoheader.

	* configure.in: 
	- Added AC_CONFIG_HEADER(src/babelconfig.h), along with
		  two cosmetic changes.
	- Define BABEL_VERSION and DATADIR directly. DATADIR is
	  $datadir/openbabel (i.e. $pkgdatadir in automake) as before,
	  $datadir can be specified normally as option to ./configure.
	* configure: Regenerated

	* acinclude.m4: New file for local m4-files, it currently has
	  AC_DEFINE_DIR (used in order to define DATADIR) as content.

	* src/Makefile.in: Removed DEFS=-DDATADIR.
	* src/math/Makefile.in: Likewise.

	* src/babelconfig.h.in: Initial autogenerated version

	* src/bgf.cpp, src/gromos96.cpp, src/newmain.cpp, src/patty.cpp,
	  src/pdb.cpp, src/phmodel.cpp, src/rotor.cpp, src/typer.cpp: 
	  Added #include "babelconfig.h", removed #include "version.h" where
	  applicable

2003-04-13  Michael Banck  <mbanck@gmx.net>

	* config.guess, config.sub, ltmain.sh: Updated to current FSF
	versions

2003-03-26  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/bondtyp.txt, src/bondtyp.h: Files for the PerceiveBondOrder
	functional group typing.

	* Src/Makefile.in: Add rules for generating bondtyp.h from the
	text file.
	
2003-03-18  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/configure.in, src/configure: Update with "1.100.1" version
	number for now.

	* test/roundtrip.cpp (main): Improve usability by making BOX and
	SMI file types special cases. (Hard to compare atoms and coords
	for them.)

	* src/pdb.cpp (WritePDB): Make sure two-character elements end up
	in the correct columns even with residue information.
	(ReadPDB): Refer to the original text (with spaces) before
	deciding if an atom type is a two-character element or a one-char
	element.

	* src/*.h, *.cpp: Switch from float to double throughout. Improves
	accuracy significantly in coordinate transformations.

	* src/binary.cpp (PackCoordinate, UnpackCoordinate): Make sure to
	cast to float before packing for compatibility with file format.

2003-03-17  Geoff Hutchison  <hutchisn@chem.northwestern.edu>
	
	* src/cml.cpp: Fix unused declarations that cause problems with
	the xlC compiler reported by Markku Laukkanen.

	* src/pdb.cpp (WritePDB): Make sure strings are null-terminated
	and convert element name to upper-case for the column 77-78 entry.

2003-03-15  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/cacao.cpp (SetHilderbrandt): Fix one coredump found on
	roundtrip testing and add notes on what needs to be fixed for an
	iron-clad version of this.

	* src/hin.cpp (ReadHIN): Fix bugs uncovered in latest roundtrip
	testing. Some lines are exactly 11 tokens long and this should not
	stop the parsing.

	* src/viewmol.cpp (ReadViewMol): Remove loop attempting to find
	the first part of the file -- causes problems since two lines
	instead of one are read off the top.

2003-03-14  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* test/roundtrip.cpp: Detect cases where files have no atoms.

	* test/Makefile.in: Add targets to create roundtrip program.

	* src/cacao.cpp (ReadCaccrt): Add an obUnitCell object to the
	molecule for keeping track of unit cell data. Call
	ConnectTheDots() and PerceiveBondOrders().
	(WriteCaccrt): If obUnitCell data exists, output unit cell data.

	* src/dmol.cpp (ReadDMol): Read $cell vector section if it exists.
	(WriteDMol): Write unit cell data if it exists.

	* src/parsmi.cpp (ParseComplex): Add isotope information where
	available.
	(ParseSmiles): Fix segfault in test file caused
	by white-space character ending SMILES string. Ignore them and
	continue.
	
	* src/generic.cpp (OBUnitCell::ctor): Make sure to set the generic
	data type and string.

	* src/generic.h (OBUnitCell): Add space group storage as a string.

	* src/mopac.cpp (ReadMOPAC): Remove debugging output left
	inadvertantly.

2003-03-13  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/generic.cpp, src/generic.h: Add support for retrieving
	OBUnitCell data by a matrix3x3 and add a new method
	GetOrthoMatrix() for translating from fractional coordinates.

	* src/pdb.cpp (WritePDB): Make sure that residue and atom names
	are only a maximum length to format columns correctly. Add element
	symbol to columns 77 and 78 to better support the current standard.

	* src/math/matrix3x3.h, src/math/matrix3x3.cpp (SetRow): New
	method to set a row from a vector3.

	* src/mpqc.cpp (ReadMPQC): Fix bugs in MPQC output reading,
	uncovered by new roundtrip testing.

	* src/cacao.cpp (WriteCaccrt): Make sure the buffer is actually
	written to the file. Previous output passed roundtrip testing (no
	coredumps) but nothing was actually written to the file!

	* test/roundtrip.cpp: New file to compare two molecules after
	roundtripping. (Perhaps it should be called molcmp?)

2003-03-12  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/pdb.cpp (WritePDB): Make sure that atom type definitions are
	written correctly as per the PDB standard. Fixes PR#701620, as
	suggested by Christian Hofbauer.

	* src/report.cpp: Add support for listing torsion angles. Angle
	and torsion data is not the same as in Babel 1.6, but is
	coherent. Fixes feature request PR#568088.

2003-03-11  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/generic.h, src/generic.cpp: Add new OBUnitCell generic data
	type for storing and converting unit cell parameters.

	* test/Makefile.in, test/main.cpp, test/unitcell.cpp,
	test/unitcell.txt: New test to confirm that unit cell conversions
	occur accurately.

	* src/atom.cpp (GetAtomicMass): If an isotope has been set, use
	that as the atomic mass. Otherwise stick to the normal average
	mass.

	* src/isotope-small.txt, src/Makefile.in, src/isotope.h: Smaller
	set of isotopes for generating default data to minimize growth in
	executable size.

2003-03-10  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/generic.h: Add new data type "slots" to obDataType enum.

	* src/pdb.cc (class OBSerialNums): Use new obSerialNums enum,
	rather than overriding user-defined obData# slots. These should
	only be used by user-level code, not by Open Babel internal code.

2003-03-10  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/atom.cpp (GetType): Fix compilation error when copying in
	"D" atom type for a deuterium atom.

	* src/mol2.cpp (ReadMol2): Read residue information if available,
	along with atom IDs and residue number. Should address feature
	request PR#697614 submitted by Claudio Cavasotto.

	* src/mol.h, src/mol.cpp: Add API support for a molecular total
	charge.
	
2003-03-06  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/Makefile.in: Add support for the isotopes.txt -> .h
	conversion.

	* src/mol.h: Add support for storing atomic isotopes and
	"exact mass" methods.

	* src/mol.cpp (GetExactMass): New method, using isotope table.
	
	* src/atom.cpp: Add support for atomic isotopes, including
	modifications to SetType methods to ensure deuterium isotopes
	translate into the correct type.

	* src/data.h, src/data.cpp: Add new OBIsotopeTable for obtaining
	exact masses of given element/isotope combinations.
	(OBElementTable::GetAtomicNum): Expand to return isotope for the
	case where a "D" or "T" symbol is passed to the table.

	* src/isotope.txt, src/isotope.h: Update to include atomic numbers
	at the beginning of each line so ParseLine() knows "where it is."

	* src/report.cpp: Add output of molecular weight and exact mass.
	
2003-03-02  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/mopac.cpp (ReadMOPAC): Fix problems with MOPAC partial
	charges not translating to other formats. (PR#660364)

2003-02-28  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/mol.h: Add new method OBAtom::SamllestBondAngle().

	* src/atom.cpp: Implement it.

	* src/mol.cpp (ConnectTheDots): Improve bonding by checking for
	small bond angles while removing long bonds.

	* src/pdb.cpp: Do not attempt to add alpha-peptide
	bonds. ConnectTheDots is much better at this and doesn't attempt
	to add strange very long-range bonds.

2003-01-17  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/base.cpp: Add introduction to documentation.

	* src/mol.cpp: Don't attempt to use Kekulize or Begin/EndModify to
	detect aromaticity.

	* src/phmodel.txt, src/phmodeldata.h: Add histidine transformation
	and unused tryptophan transformation to help with problems
	observed by Richard Gillian (PR#575964).

	* src/resdata.txt src/resdata.h: Fix incorrect bond orders for ARG
	residue. (PR#575964).

	* test/matrixtest.cpp: Make matrix test a bit more verbose to make
	debugging problems on non-Intel platforms easier. (Relates to
	PR#647417). Problem derives from numerical accuracy, but loosening
	tolerance to 2e-6 solves the problem.
	
2003-01-15/16  Peter Murray-Rust <pm286@cam.ac.uk>
	       Vincent Favre-Nicolin <vincefn@users.sourceforge.net>
	
	* Changes to compile using the free Borland C++ compiler 5.5.1:
	a few fixes ISO C++ fixes, some #if's and added makefiles (bc32.mak)

2003-01-06  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	Lots of changes from the last few weeks.

	* Doxyfile: Bump to 1.100.1. Make sure to check .cpp files for
	docs too.

	* Makefile.in (disclean): Remove doc/API for distclean target.

	* src/bin2hex.pl: Add comments to headers about contents
	(i.e. what the headers do, why they're not supposed to be installed).

	* src/chains.cpp: Fix mistake in Pyroglutamate comment from OE->OB
	find/replace.
	
	* src/aromatic.txt, src/atomtype.txt, src/element.txt,
	src/extable.txt, src/phmodel.txt, src/resdata.txt, src/types.txt:
	Updated comments at top of file to give more documentation and
	point to appropriate source files.
	
	* src/atom.cpp, src/base.h, src/bitvec.cpp, src/bitvec.h,
	src/bond.cpp, src/data.cpp, src/data.h, src/fileformat.h,
	src/generic.h, src/grid.h, src/mol.cpp, src/mol.cpp,
	src/molchrg.cpp, src/molchrg.h src/obutil.cpp, src/obutil.h,
	src/parsmart.cpp, src/parsmart.h, src/patty.cpp, src/patty.h,
	src/residue.cpp, src/ring.cpp, src/ring.h, src/rotor.h,
	src/typer.cpp, src/typer.h, src/math/matrix3x3.cpp,
	src/math/matrix3x3.h, src/math/vector3.cpp, src/math/vector3.h: 
	Updated Doxygen docs (brief comments in headers mostly, more
	detailed documentation if available in source files.)

	* src/mol.h, src/atom.cpp, src/bond.cpp, src/residue.cpp: Added
	support for OBGenericData stored in an OBAtom, OBBond or
	OBResidue.

	* src/isotope.txt, src/bond.txt: New data files, currently unused.

	* src/Makefile.in: Add new zindo target.

	* src/zindo.cpp: New ZINDO input support.

	* src/fileformat.cpp: Call WriteZindo for ZINDO file format.

2002-12-19  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/tinker.cpp: Add comment that we're using MM2 parameters.

	* src/mol.cpp (PerceiveBondOrders): Fix ugly bug causing crashes
	with -NO2 groups, reported by Richard Muller.

2002-12-6  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* Doxyfile, README, configure.in, configure: Rename version to
	1.100.

	* doc/FAQ: Update with a few minor corrections -- synched with
	website.

	* THANKS: A few omissions -- synched with website.

	* src/mdl.cpp, src/smi.cpp: Throw errors if the molecules are too
	large, rather than segfault. In MDL, this seems to be a problem
	inherent in the file format. For SMI, this seems to be a recursion
	problem.

	* src/mol.cpp: Take out the "quick-and-dirty" aromatic pass, it's
	too rough to be useful. I need to figure out how to pass off the
	rough structure to the Kekulize routines.

	* src/types.txt, src/types.h: Make sure there's a default type for
	an "N" atom, caught by roundtrip testing from PDB files. Fix typo
	for O.co2 v. Oco2 external type. Also add XYZ forms for all atoms.

2002-12-5  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* Doxyfile: Update for 1.99.1 release.

	* Makefile.in (dist): Make sure to remove autom4te.cache, etc.

	* THANKS: Plenty of contributors to this next release!

	* configure.in: When searching for the "ar" program, remember that
	Solaris has it in /usr/ccs/bin, so we should check there and fall
	back to the user's $PATH if it's not found.

	* configure: Regeneratre using autoconf-2.56.

	* src/mol.h: Add OBAtom::GetAtomicMass(), which will eventually
	allow for isotope-labeled atoms.

	* src/atom.cpp: Implement it.

	* src/mol.cpp (GetMolWt): Write using above.

	* src/cml.cpp: For the moment, turn off debugging output. (This
	should really go through a filter to allow users to see it if
	needed.)

	* src/data.cpp (GetAtomicNum): Have D and T atoms return for
	hydrogen. Eventually needs to support isotopes!

	* src/element.txt, src/element.h: Update with current IUPAC
	masses.

	* src/extable.txt, src/extable.h: Make sure all extensions are
	lowercased--since all comparisons are done this way. Fixes bug
	with GROMOS96 translation.

	* src/fileformat.h, src/fileformat.cpp (ReadMolecule): Fix thinko
	with BGF format--call the proper procedue.
	(WriteMolecule): Write Box format with a default size. (!!)

	* src/bgf (ReadBGF): Cleanups found from roundtrip testing. Make
	sure bond records are parsed correctly and run atom types through
	the element table rather than the type table.
	(WriteBGF): Change remark to "Open Babel" rather than "Babel" so
	people know who created the bugs. ;-)

	* src/gromos96.cpp: Use "Open Babel" as above.

	* src/pdb.cpp (WriteDelphiPDB, WritePDB): Make sure we have a
	proper line length. Bug discovered via roundtrip testing (and our
	complaints about short CONECT lines).

	* src/povray.cpp: Don't attempt to get a hostname--this introduces
	all sorts of portability problems. Also use the atomic symbol
	rather than the atom type. Less flexible, but POV-Ray doesn't like
	some symbols in atom types (e.g. period in O.co2).

	* src/report.cpp: Add report on chiral atoms. (Probably needs some
	improvement still.)

	* src/types.h, src/types.txt: Add missing types, notably for Ar
	and B2, uncovered via roundtrip testing to the c3d file formats.

	* src/xed.cpp: Fix segfault caused by improper iteration over
	bonds. Uncovered via roundtrip testing.

2002-12-3  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/data.cpp (ParseLine): Fix bug that ignored the first
	non-comment line.

2002-12-2  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* Makefile.in, src/Makefile.in, src/math/Makefile.in,
	test/Makefile.in: Makefile changes to ensure the src/math
	directory is called for all targets (including "clean") and
	testing data files are only copied when needed for $(builddir) !=
	$(srcdir).

	* src/mol.h: Fix typo in OBMol documentation.

	* src/mol.cpp: Add quick-and-dirty aromatic marking.

2002-12-1  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/bond.txt: Data file for functional group recognition in bond
	order typing (currently unused).

	* src/*.txt: Update with headers, including copyright notice.

	* src/data.cpp: Ignore comment characters (including copyright
	notice).

	* src/pdb.cpp: Fix bug with reading in residue data--the source
	file is called resdata.txt, not residue.txt.

2002-11-28  Vincent Favre-Nicolin <vincefn@users.sf.net>

	* src/obutil.cpp(CartesianToInternal): Fix the conversion
	from cartesian to Internal coordinates. The previous code
	prevented atom 3 to be bonded with atom 1, and any
	atom with idx>3 to be bonded with atom 1 or 2, which does
	happen sometimes...

2002-11-27  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/atom.cpp(MemberOfRingSize): New method -- if atom is in a
	ring, return size. (Need to fix to designate *which* ring if in
	multiple.)
	(SetHybAndGeom): Fix to use scaled bondlengths for aromatic,
	double and triple bonds and adjust expected bond angles if in a
	ring.

	* src/mol.cpp: Add << and >> convenience functions based on
	OBFileFormat objects.

	* src/ghemical.cpp: Fix header line for new "gpr" extension.

	* src/povray.cpp: New file, contributed by Steffen Reith to output
	POV-Ray scene files.
	
	* src/data.cpp, src/data.h: Add POV file type.

	* src/extable.txt, src/extable.h: Likewise.

	* src/fileformat.cpp, src/fileformat.h: Likewise:

	* src/Makefile.in: Add povray.cpp.

	* doc/README.dioxin.pov, doc/README.povray, doc/babel31.inc,
	doc/dioxin.mol2, doc/dioxin.pov: New files.

2002-11-25  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/mol.cpp, src/mol.h: Add back << and >> convenience functions
	derived from OBFileFormat methods.
	(PerceiveBondOrders): Fix bug introduced with previous change--do
	not add multiple bonds to an atom already with them. (Causes a
	problem with allene, but this is a rarer situation than the
	reverse.)

	* src/pdb.cpp (WritePDB, WriteDelphiPDB): Fix ATOM records with
	correct specification. Should fix problems with 5-digit atom
	numbers, PR#633719, reported by Kristian Rother.
	
2002-11-20  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* configure: Update with new autoconf-2.56

	* src/Makefile.in, src/math/Makefile.in, test/Makefile.in: Remove
	redundant '/' in path for $(builddir) variable.

	* src/data.cpp: Remove references to depreciated strstream.h
	header.

	* src/data.h: Likewise.

	* src/mol.cpp: Add "flat ring" pass for 5-member and 6-member
	rings. Ensures that these are all marked as potential sp2
	hybrids. Also prevent adding 4 bonds to nitrogen, for now.

	* src/extable.txt, src/extable.h: Update with new Ghemical
	extension .gpr (same format though).

2002-10-11  Michael Banck <mbanck@gmx.net>

	* src/math/Makefile.in: New file.

	* configure.in, src/Makefile.in: Adjust accordingly.

2002-09-19  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/aromatic.h, src/aromatic.txt: Remove selenium aromatic
	pattern for now. Fixes test/smartstest error on
	LABOTEST_LT-2_FE_546.

	* src/c3d.cpp, src/chains.cpp, src/cml.cpp, src/data.cpp,
	src/jaguar.cpp, src/main.cpp, src/mol.cpp, src/oberror.h,
	src/pdb.cpp, src/phmodel.cpp, src/ring.cpp, src/smi.cpp,
	src/xyz.cpp, src/math/matrix3x3.cpp, test/matrixtest.cpp,
	test/ringtest.cpp, test/smartstest.cpp: Warning fixes contributed
	by Erik Kruus.

2002-09-16  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/report.cpp: Fix bug noted by Markku Laukkanen, where the min
	variable would roll past the maximum number of atoms in a
	molecule.

	* src/cml.cpp (debugMolecule): Add default dimension. Contributed
	by Francesco Bresciani.

	* src/obutil.cpp (InternalToCartesian): If vector input is empty,
	quit early. Contributed by Francesco Bresciani.

	* src/oberror.h, src/oberror.cpp: Namespace fixes to handle
	problems on gcc-3.1 as reported by Austin Acton and Andrea Tasso.

2002-09-07  Michael Banck <mbanck@gmx.net>

	* Replaced $DEST with $DESTDIR and $bindir

2002-08-30  Stefan Kebekus <kebekus@users.sourceforge.net>

	* src/math/matrix3x3.cpp, src/math/matrix3x3.h added methods, in
	particular for eigenvector calculations. Modified the API slightly. 
	* src/mol.cpp, src/obutil.cpp removed a couple of undocumented
	mathematical methods that were never used. Make mol use the 
	eigenvector functions from the matrix class now.	
	* test/matrixtest.cpp test suite for matrix algebra and eigenvector 
	calculations
	* src/oberror.cpp, src/oberror.h introduced a generic error class

2002-08-27  Stefan Kebekus <kebekus@users.sourceforge.net>

	* test/main.cpp, test/ringtest.cpp, test/smartstest.cpp resolved
	namespace problems for the tests. The test compile now, but show
	errors.

2002-08-25  Michael Banck <mbanck@gmx.net>

	* Changed charge to int (gaussian.cpp) and divisor/exponent to 
	double (c3d.cpp) in order to compile on g++-3.2

2002-08-19  Stefan Kebekus <kebekus@users.sourceforge.net>

	* src/xyz.cpp more bugfixing. The translator behaves now smarter
	when interpreting the title and the atom types.

2002-08-16  Stefan Kebekus <kebekus@users.sourceforge.net>

	* src/pdb.cpp re-wrote routine to read CONECT records. That
	(hopefully) fixes a number of bugs in the earlier version
	(inability to read 5-digit serial numbers, accidently reading salt
	bridges as connects, etc.)

2002-08-15  Geoff Hutchison <hutchisn@chem.northwestern.edu>

	* src/pdb.cc: Fix ParseConectRecord to make sure we don't read
	beyond the vs.size().


2002-08-14  Stefan Kebekus <kebekus@users.sourceforge.net>

	* src/xyz.cpp Set molecule title to the string that is read from
	the second line of the file. Set atom type strings to strings read
	from the file. The reading method now prints +extensive+ and
	+detailed+ warnings to cerr if is xyz file is bad.

2002-07-26  Stefan Kebekus <kebekus@users.sourceforge.net>

	* src/math/matrix3x3.cpp added a few method useful in symmetry
	detection

2002-07-30  Michael Banck <mbanck@gmx.net>

	* src/gaussian.cpp: Last atom was written twice

2002-07-26  Stefan Kebekus <kebekus@users.sourceforge.net>

	* added documentation

2002-07-24  Michael Banck <mbanck@gmx.net>

	* src/gaussian.cpp: Added some comments/warnings; changed multiplicity
	calculation to use abs(charge) instead of charge
	* src/Makefile.in: splitted CXXFLAGS into CXXFLAGS, DEFS and INCS

2002-07-22  Michael Banck <mbanck@gmx.net>

	* src/gaussian.cpp: Fixed WriteGaussianCart() hopefully:
	- calculate charge and mulitiplicty (the latter being quite shakey
	  ATM)
	- do away with the zero after the atom type
	- don't reference coordinates, write them straight after the atom type
	- add a blank line at the end
	* configure.in: Added --enable-doxygen configure option. If enabled,
	search for doxygen and print an URL if not found
	* configure: Updated for new configure.in

2002-07-18  Stefan Kebekus <kebekus@users.sourceforge.net>

	* isolated the 3-dimensional vector and matrix classes, gave them
	less ambigous names, and put them into a directory "math". Added
	an access function to the vector class.

2002-07-12  Stefan Kebekus <kebekus@users.sourceforge.net>
	
	* added documentation to the Vector class, made some functions
	inline, and commented out some methods of the vector class
	whose names I found misleading, and which were never used anyway.

	* src/Vector.cpp, src/Vector.h: added documentation to the Vector
	class, made some functions inline, and commented out some methods
	of the vector class whose names I found misleading, and which were
	never used anyway.
	
	* configure.in: configure now warns if doxygen is not present

	* configure: Updated with autoconf 2.52d.

2002-07-09  Geoff Hutchison <hutchisn@chem.northwestern.edu>

	* src/fileformat.h, src/mol.h, src/binary.h: Fix missing std:: in
	headers, which causes problems with namespace-compliant
	compilers. Should fix PR #578522.

	* src/residue.cpp: Add missing "using namespace std," which also
	caused problems with namespace-compliant compilers.

	* src/pdb.cpp: For now, disable bond order perception--prevents
	problems with PDB residues observed by Richard Gillian.

2002-07-01  Richard Gillian <reg8@users.sourceforge.net>

	* src/main.cpp: Add -hpH to use the "adjust pH" setting for adding
	hydrogens.

	* src/mol.cpp: When adding hydrogens, if the parent atom is part
	of a residue, copy this information to the new atoms.

	* src/mol2.cpp: Write residue types and original atom names for
	the atoms if they exist.

2002-07-01  Stefan Kebekus <kebekus@users.sourceforge.net>

	* Doxyfile: New file, configuration for Doxygen API documentation.

	* configure: Updated with autoconf 2.52d.

	* Makefile.in: Added automatic API documentation generation. Use
	"make apidoc".

2002-06-29  Vincent Favre-Nicolin <vincefn@users.sourceforge.net>

	* src/mol.h: Give sample documentation from the primer for
	OBResidue, OBAtom and OBMol.

	* src/ring.h: As above for the OBRing class.

2002-06-28  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* configure.in, configure, src/Makefile.in: Adjust for various
	removed (unused) files.

	* src/fileformat.cpp, src/fileformat.h: Use a const char * title
	and declare ReadMolecule and WriteMolecule methods static to allow
	calling w/o needing to instantiate a specific OBFileFormat object.
	
	* src/*.cpp: Adjust all ReadFile methods to use const char* title,
	as above.

	* src/atom.cpp, src/binary.cpp, src/binary.h: Fixes imported from
	OELib.

	* src/generic.cpp, src/generic.h: Add support for torsion and
	angle data and associated handlers for OBGenericData.

	* src/main.cpp: Remove obsolete headers.

	* src/mol.cpp, src/mol.h: Add OBMol::FindTorsions method to fill
	the OBTorsionData in a molecule. Remove the confusing OBPose
	class. (Conformers are conformers and not managed by a separate
	class.) Remove residue code, which has migrated to residue.cpp.

	* src/obutil.cpp: Remove unused code.

	* src/pdb.cpp: Add OBSerialNums, imported from OELib.

2002-06-11  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/Makefile.in: Add proper commandline for new bin2hex for
	PhModelData. Remove smarts.* from file lists.

	* src/Vector.cpp: Import changes contributed by Open
	Eye--improvements in random vector and matrix methods.

	* src/*.h: Improve top comment to refer to Open Babel and update
	copyright dates. Add uniform #ifdef symbols to prevent clashing
	with external header files.

	* src/alchemy.cpp, src/atom.cpp, src/balst.cpp, src/chains.cpp:
	Updates to cut down on buffer overflows, to begin addressing
	PR#565413.

	* src/data.cpp: Make OBExtensionTable types uniform. Make sure
	\0 is inserted in the proper place in the buffer when reading from
	the dataptr in OBGlobalDataBase::Init(). Fixes PR#567420.

	* src/fileformat.cpp: Use updated io_type declarations.

	* src/types.txt: Reformat to remove trailing whitespace and make
	spacing uniform. (Attempt to minimize problems with reading using
	OBTypeTable.)

	* src/obutil.[h,cpp]: Remove SmartsLexReplace, which is now
	migrated to parsmart.[h,cpp].

	* src/parsmart.[h,cpp]: Updated version from code contributed by
	Open Eye. Includes caching and RestrictedMatch method and seems to
	solve memory leak problems in older version. Solves PR#536943 and
	#564096. Includes code from smarts.* files.
	
	* src/phmodel.cpp: Update to work with new SMARTS parser.

2002-06-07  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* Makefile.in: Make sure directories are properly created on "make
	install" which fixes PR#565412.

	* src/Makefile.in: Add support for rebuilding the binary data
	headers when needed. Also generates library first, then just links
	this into main.o for the program. Also as above.

	* src/bin2hex.pl: Import a revised version contributed by Open
	Eye.

	* src/atomtyp.txt, src/extable.txt, src/types.txt: Ditto.

	* src/aromatic.h, src/atomtyp.h, src/element.h, src/extable.h,
	src/phmodel.h, src/resdata.h, src/types.h: Generate using new
	bin2hex.pl.

2002-06-06  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/main.cpp: Add support for -iMIME or -oMIME <mime_type>
	input. This should facilitate use for web applications (e.g. as a
	pass-through filter to other programs).

	* src/data.h, src/data.cpp: Add methods
	IsReadable/IsWritable(io_type).

2002-05-30  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/mol.h, src/atom.cpp (HasNonSingleBond): Add new method to
	simplify and optimize bond typing code.

	* src/mol.cpp (PerceiveBondOrders): Use it.

	* src/cml.cpp: Fix problems with arrays of OBAtom* since these
	cause casting problems in ISO C++. Still has a number of "missing
	return" warnings, though these shouldn't cause problems.

2002-04-23  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/hin.cpp (ReadHIN): Fix bugs in reading HyperChem files as
	contributed by Tommi Hassinen.

2002-04-16  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/qchem.cpp: Fix conversion from internal coordinates at the
	end of a geometry optimization (silly thinko, forgot to convert
	from deg. to rad. for angles).

2002-04-12  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/bin2hex.pl: Set output header files to be "static const
	char" instead of plain char. Should prevent some clobbering,
	e.g. PR #543314.

	* src/aromatic.h, src/atomtyp.h, src/element.h, src/extable.h,
	src/phmodeldata.h, src/resdata.h, src/types.h: Generate as above.

	* src/aromatic.txt, src/atomtyp.txt, src/phmodel.txt: Change
	"OELib" in headers to "Open Babel."

	* src/data.h: Make all _dataptr members "const char" and set
	ParseLine() methods to operate on const char*.

	* src/data.cpp, src/pdb.cpp, src/phmodel.cpp, src/rotor.cpp,
	src/typer.cpp: As above.

	* src/mol.h: Set tokenize() declarations to operate on const
	char*.

	* src/tokenst.cpp: As above.

2002-04-05  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/parsmart.cpp: Added some defensive programming when calling
	delete, also set the pointer to NULL.

	* src/parsmart.h: Add constructor and destructor to
	OBSmartsParser.

	* src/smarts.h: Add full destructors for OBEdge, OBNode.

	* src/smarts.cpp: As above. Should solve memory leaks, PR #508056.
	
2002-03-30  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/*.h: Update headers to use std:: namespace to refer to
	vectors, strings, pairs, streams, etc.

	* src/*.cpp: As a first stage in full namespace support, add a
	full "using namespace std;" (to be followed eventually with only
	importing the necessary namespace portions.
	
2002-03-27  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/cml.cpp: Fix use of strcmp() in code in favor of strncmp()
	to prevent buffer overflow. Fixes problems with 2D/3D export.
	
2002-03-26  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/cml.cpp: New CML support, including built-in XML parser,
	contributed by Peter Murray-Rust.

	* src/Makefile.in: Add cml.cpp to list to support CML compilation.

	* src/data.h, src/data.cpp: Add CML file type.

	* src/extable.txt, src/extable.h: Update to add in .cml files.

	* src.fileformat.cpp, src/fileformat.h: Add in support for CML
	read/write as well as passing options to WriteMolecule methods.

	* src/main.cpp: Add support for passing output options (currently
	only XML/CML) to export methods.
	
	* src/aromatic.txt: Enable support for recognizing Se in aromatic
	rings. (Uncommon, but I've been doing work with selenophene
	recently.)

	* src/pdb.cpp (ParseConectRecord): Fix bugs in CONECT records with
	PDB files. Would only read first 4 columns and wouldn't handle
	multiple bonds. Fixes PR #529744. Use PerceiveBondOrders() when
	using ConnectTheDots() for missing bonds.
	
	* src/ghemical.cpp: Add error checking for reading bonds. Don't
	assume the # of bonds given in the header is correct.

	* src/mol.cpp: Check to see if a bond exists before adding
	it. (Prevents a bond addition (a,b) followed by (b,a).)

2002-02-22  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/Makefile.in: Add viewmol.o.

	* src/viewmol.cpp: New code to read/write ViewMol files as ported
	from the GPL'ed patch sent by J?rg-R?diger Hill.

	* src/data.h, src/data.cpp, src/extable.txt, src/extable.h: Add
	ViewMol format and enable Chem3D and derived formats.

	* src/c3d.cpp: Clean up Read methods to match normal declarations.

	* src/fileformat.h, src/fileformat.cpp: Enable Read/Write for
	Chem3d1, Chem3d2, Mmads and ViewMol formats.

	* src/main.cpp: Add support for using '--' to read from STDIN and
	output to STDOUT. Tackles request #519085.
	
2002-02-17  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* README, configure.in, configure: Update for next snapshot of
	1.99.1.

	* src/Makefile.in: Add -I(builddir) to ensure that
	configure-generated version.h is included.

	* src/alchemy.cpp, src/amber.cpp, src/balst.cpp, src/box.cpp,
	src/cacao.cpp, src/car.cpp, src/ccc.cpp, src/dmol.cpp,
	src/feat.cpp, src/gamess.cpp, src/gaussian.cpp, src/hin.cpp,
	src/jaguar.cpp, src/mopac.cpp, src/mpqc.cpp, src/nwchem.cpp,
	src/qchem.cpp, src/report.cpp, src/unichem.cpp, src/xyz.cpp:
	Make sure that SetTitle() is called with the default title if the
	format doesn't have a title, do not set atom types unless the
	format supports them (the internal atom typer is better), and for
	formats without bond information, call the new
	mol.PerceiveBondOrders() method.

	* src/mol.h, src/mol.cpp: Rename PerceiveBonds in favor of
	more accurate PerceiveBondOrders(). Make sure that
	auto-hybridization is turned off while bond orders are being
	perceived and then let it run afterwards.
	
2002-02-16  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/mol.cpp (PerceiveBonds): Improve accuracy by picking the
	closer atom (shorter bond) when there are two atoms with equal
	electronegativities.

	* src/main.cpp: Add -v flag to give version information but not
	the whole usage report.
	
	* src/base.h, src/binary_io.h, src/bitvec.h, src/commandline.h,
	src/ctransform.h, src/data.h, src/fileformat.h, src/grid.h,
	src/matrix.h, src/mol.h, src/obutil.h, src/smarts.h: Remove
	"using" statements from header files which pollute namespace of
	user code. Fixes PR#493388.

2002-02-14  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/data.h, src/data.cpp: Add MIME support to
	OBExtensionTable. Progress towards feature request #511533.

	* src/extable.txt, src/extable.h: As above (using as much from the
	current Chemical MIME page as possible).

	* src/mol.h, src/mol.cpp (PerceiveBonds): Add preliminary support
	for assigning bond orders based on Roger Sayle's "Cruft to
	Content" algorithm. Still needs functional group and aromatic ring
	recognition passes. Progress towards feature request #514589.
	<http://www.daylight.com/meetings/mug01/Sayle/m4xbondage.html>

	* src/mopac.cc: Fix bugs in read/write methods as pointed out by
	Radek Liboska. Should solve PR #515884.

	* src/atom.cpp (GetType): Fix bug with atom typing by assigning
	the ATN type of an atom if the atom typer didn't pick one before.

	* src/gamess.cpp, src/xyz.cpp, src/unichem.cpp, src/ghemical.cpp:
	Don't try to translate atom types as this causes problems. (Works
	cleanly now that the GetType() bug is fixed.)
	
2002-02-13  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/data.cpp, src/data.h, src/element.txt: Added support for
	electronegativity of elements. (Needed for assigning bond types,
	among other things.)

	* src/element.h: Regenerate using bin2hex.pl.

	* src/ghemical.cpp: Don't try to type atoms, it only causes
	problems with the internal atom typing.

2002-02-07  Geoff Hutchison  <hutchisn@chem.northwestern.edu>
	
	* src/Makefile.in: Add c3d.cpp to the compilation list.

	* src/obutil.cpp: Migrate quat.c code here temporarily.
	
	* src/mol.cpp, src/mol.h: Resolve problems with declarations of
	old quat.c code since they now fall under OpenBabel namespace.

2002-02-01  Michael Banck  <mbanck@gmx.net>

	* test/Makefile.in, src/Makefile.in: Delete Makefile when calling
	distclean target.

	* Makefile.in: Fix install target to create the $(mandir) directory.

2002-02-01  Michael Banck  <mbanck@gmx.net>

	* Makefile.in: Added manpage to install target.

	* configure, configure.in, Makefile.in, src/Makefile.in,
	src/version.h.in: Put version information in configure.in and made
	generated tarballs contain it.
	
2002-01-24  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* doc/FAQ, doc/babel.1: Minor documentation fixes.
	
2002-01-21  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* Makefile.in: Fix problems with the dist target.

	* configure, configure.in: Add 'top_builddir' macro to know where
	objdir is in the case that we're not building in the source
	directory.

	* src/Makefile.in: Run the library through 'ranlib', which fixes
	problems on Mac OS X. Fix problems running 'install' when not
	building in the source directory.

	* src/unichem.cpp: Fix bug in reading files.

	* src/version.h: Set version to 1.99.
	
	* test/Makefile.in: Fix problems with the check target: tests need
	to be copied to the build dir if we're not in the source directory.
	
2002-01-21  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* doc/*: Move documentation to subdirectory--since there will
	eventually be more than these few morsels.

	* doc/Migration: Add a Migration guide for OELib -> Open Babel changes.

2002-01-20  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* FAQ, README: Added FAQ.

2002-01-20  Michael Banck  <mbanck@gmx.net>	

	* babel.1: Initial import of man page, this is only a rough
	draft. Should become babel.1.in perhaps, with the available file
	types determined during the build.

2002-01-18  Michael Banck  <mbanck@gmx.net>	

	* Makefile.in, src/Makefile.in: Fixed install target. Removed
	Primer.html, bin2hex.pl and GNULICENSE from datafiles. Added
	datafiles to install: target.

	* Makefile.in, src/data.cpp, src/Makefile.in, src/patty.cpp,
	src/pdb.cpp, src/phmodel.cpp, src/rotor.cpp, src/typer.cpp:
	Openbabel now first checks for $BABEL_DATADIR, then looks in
	${pkgdatadir} and finally uses the compiled-in values to get the
	relevant data.
	
2002-01-16  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* src/main.cpp: Use the filename as the default filename when
	reading molecules.

	* src/qchem.cpp: Disable reading final z-matrix--currently
	produces very bizzare results for some files.

	* test/Makefile.in: Make sure the main program is compiled too.

	* test/main.cpp, test/ringtest.cpp, test/smartstest.cpp: Update to
	new OpenBabel API. (Took about a minute to change OE->OB and
	change to iterate over OBNodeBase and OBEdgeBase.)

	* test/smartstest.txt: Get rid of DOS line endings--lines are not
	properly read.

2002-01-11  Michael Banck  <mbanck@gmx.net>

	* src/Makefile.in, test/Makefile.in, Makefile.in: Added
	distclean-targets to src and test's Makefiles and removed stamp.h
	again (D'OH).

	* Makefile.in: Added 'stamp.h' to distclean:-target and renamed
	DISTDIR from *openbabel to *openbabel-dist.  ('make dist' fried my
	CVS-repository because it was named 'openbabel') dist:-target
	still does not work properly.
	Removed "\" at the end of first line of distclean:-target

2002-01-09  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* */*: Updated build environment with src/ directory and autoconf
	configure script. Builds cleanly--haven't tried using the "install
	target" The test/ subdir needs fixing to remove OELib references.

2001-12-14  Michael Banck  <mbanck@gmx.net>

	* Makefile.in: Changed oeutil.* to the new name obutil.*.

2001-12-14  Geoff Hutchison  <hutchisn@chem.northwestern.edu>

	* */*: Changed OE prefix to OB -- think I got all the cases, but
	some may crop up.

	Thanks to Michael Banck:
	-Added some GNUish files like AUTHORS, etc.
	-Added configure.in -- will shortly replace configure script with
	an autoconf one. 
	-Need to decide how to work ChangeLog--should it go before
	OELib->OpenBabel change?

	* */*: Many changes to namespace and cleanup of API to work with
	gcc v. 3. Still need to do big OE prefix cleanup.

2001-11-28  ghutchis  <ghutchis@hydra.chem.northwestern.edu>

	* configure, data.cpp, dmol.cpp, main.cpp, mol.cpp, Primer.html,
	Makefile.in: Fixes from Ghemical and a first start at the "Open
	Babel" nomenclature.

2001-11-27  ghutchis  <ghutchis@hydra.chem.northwestern.edu>

	* Import from OE current CVS. (Last GPL'ed version.)

