2009-11-10  Jeff Johnston  <jjohnstn@redhat.com>

	Refactor to org.eclipse.linuxtools.cdt.libhover.texinfoparsers.

2008-10-28  Jeff Johnston  <jjohnstn@redhat.com>

	* src/com/redhat/eclipse/cdt/autotools/tools/ParseNewlibTexinfo.java (DeftypefunPattern3): New
	pattern for matching va_arg functions. 
	(RtnTypeVar): Ditto.
	(HandleFunctionDefs): Fix so multi-line prototypes are read until the line doesn't
	end with comma.  Also add function pointer and va_arg function type support. 
	* src/com/redhat/eclipse/cdt/autotools/tools/TexinfoUtils.java (transformTags):  Fix
	table handling so like tables can be nested inside each other and/or can have @itemize
	constructs between tables. 

2008-10-24  Jeff Johnston  <jjohnstn@redhat.com>

	* src/com/redhat/eclipse/cdt/autotools/tools/ParseNewlibTexinfo.java: New file.
	* src/com/redhat/eclipse/cdt/autotools/tools/TexinfoUtils.java (transformTags): 
	Handle @strong{x}.

2007-11-28  Jeff Johnston  <jjohnstn@redhat.com>

	* src/com/redhat/eclipse/cdt/autotools/tools/ParseGlibcTexinfo.java: Fix
	include regexp to handle the case where a choice of headers are specified
	with a blank between them.  Take the last header in the list in this case.
	Also clear the global IncludeList whenever an @end deftypefn is seen.

2007-11-26  Jeff Johnston  <jjohnstn@redhat.com>

	* src/com/redhat/eclipse/cdt/autotools/tools/ParseTexinfo.java: Renamed...
	* src/com/redhat/eclipse/cdt/autotools/tools/ParseGlibcTexinfo.java: ...to this.
	Code has been modified to use new TexinfoUtils class for tag stripping.  All
	lines in synopsis are marked with <eol> at end to allow proper processing.
	Fixed comment stripping and added @include support for bringing in sample files
	from examples directory.
	* src/com/redhat/eclipse/cdt/autotools/tools/TexinfoUtils.java: New file to
	support proper transformation of texinfo tags into xml format that can be used
	by a C Help processor.  Code was based on old killTags method, but rewritten to
	handle many more types of scenarios found in glibc docs.
	* src/com/redhat/eclipse/cdt/autotools/tools/ParseAutoconfHTML.java: Add
	copyright statement.
	* src/com/redhat/eclipse/cdt/autotools/tools/ParseAutoconfTexinfo.java: Ditto.
	* src/com/redhat/eclipse/cdt/autotools/tools/ParseAutomakeTexinfo.java: Ditto.
	* src/com/redhat/eclipse/cdt/autotools/tools/ParseAutoconfHTML.java: Removed.

2007-11-21  Jeff Johnston  <jjohnstn@redhat.com>

	* src/com/redhat/eclipse/cdt/autotools/tools/ParseAutomakeTexinfo.java: New file to
	parse Automake documentation and create xml files to use with Autotools plugin.

2007-06-18  Jeff Johnston  <jjohnstn@redhat.com>

	* src/com/redhat/eclipse/cdt/autotools/tools/ParseAutoconfTexinfo.java: New file to
	parse Autoconf documentation and create xml files to use with Autotools plugin.