2000-07-14  Michael Meeks  <michael@helixcode.com>

	* parser.y (positive_int_const): incr. ref count.

1999-10-17  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.8.

1999-06-09  Andrew T. Veliath  <andrewtv@usa.net>

	* lexer.l:
	* util.[ch]: Integrate Macintosh port changes from Netscape.

	* IDL.h.new.in, parser.y, util.c: Deprecate noscript support.

	* lexer.l (tokreturn): Remove deprecated ``noscript'' keyword.

1999-05-30  Andrew T. Veliath  <andrewtv@usa.net>

	* lexer.l: Use wildcard start condition extension, since we
	require flex.

1999-05-05  Andrew T. Veliath  <andrewtv@usa.net>

	* lexer.l: Strip /* */ comments as well, to make life easier for
	alternative input methods.

1999-04-24  Andrew T. Veliath  <andrewtv@usa.net>

	* util.c (IDL_parse_filename):
	(IDL_parse_filename_with_input): Call __IDL_parser_reset after
	parse.

	* configure.in: Print a warning if flex isn't installed (one can
	still compile the source distributed flex scanner, however).

	* lexer.l (__IDL_lex_cleanup): Call YY_NEW_FILE.  Because of this
	we now require flex, this is not in standard lex.

	* parser.y (__IDL_parser_reset): New function; call yyclearin.

1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>

	* IDL.h.new.in (IDLF_INHIBIT_INCLUDES): New parse flag;
	automatically inhibits included files.

	* util.h (IDLFP_IN_INCLUDES): Internal flag checked when we are
	inside an include file.

	* parser.y (assign_declspec): Wrap assignment, and if we are
	inside an include file check the inhibit include flag.
	(IDL_file_set): Add detection of include files here.

1999-04-01  Andrew T. Veliath  <andrewtv@usa.net>

	* IDL.h.new.in (IDL_tree_remove_inhibits): Move prototype here
	from util.h.

	* util.c (IDL_tree_optimize): Skip inhibit removal if
	the IDLF_INHIBIT_TAG_ONLY parse flag is specified.

1999-03-29  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.6.

	* util.c (load_inhibits): Don't recurse inhibited nodes.

1999-03-23  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.4.

	* lexer.l: Allow more whitespace in __declspec, and generate error
	if we see a code fragment and the syntax isn't enabled.

	* parser.y: Much improved error messages about illegal types in
	attributes, operations and parameters.  Also, explicit errors
	added for struct, union and enum definitions with missing
	identifiers.

	* (IDLF_PROPERTIES): New syntax flag; properties can be used
	independently of XPIDL.

	* IDL.h.new.in, util.h: Use G_GNUC_PRINTF on warning and error
	functions.

	* util.c: Rework IDL_tree_to_IDL logic a bit to accept more node
	types, even literals.

	* IDL.h.new.in: Add a step variable to IDL_tree_func_data.  This
	is 0 in the first call, and increments for every call thereafter
	(currently only from 0 to 1).

1999-03-22  Andrew T. Veliath  <andrewtv@usa.net>

	* util.c (IDL_tree_error): 
	(IDL_tree_warning): If node is NULL, omit file and line number
	information gracefully.

	* parser.y: Error out with better message if one tries to use a
	void type in an attribute or parameter.

	* util.c (IDL_tree_to_IDL*): If IDL_ns is NULL, output flag
	IDLF_OUTPUT_NO_QUALIFY_IDENTS is enabled automatically.

	* IDL.h.new.in: Added a flags and data field to the end of the
	IDL_tree node type, for application use. The application can
	assume these will be initialized to zero. Should be backward
	compatible with apps that don't touch it.

	* util.c (IDL_emit_IDL_type_pre): For sequences output proper
	typespec.

	* IDL.h.new.in, util.c (IDL_tree_to_IDL_string): New function;
	just like IDL_tree_to_IDL but returns a GString instead of writing
	to a file.  Useful for IDL_tree_{error,warning}.

	* IDL.h.new.in: Change functions that return glib heap strings to
	return gchar instead of char.

	* Makefile.am: Add stamp-parser to EXTRA_DIST so one isn't forced
	to regenerate parser files. Tweak stamp rule to handle a time
	change.

	* lexer.l: Strip more whitespace from cpp status. Rework start
	conditions to be compatible with standard lex (messier but
	functionally equivalent). A flex generated scanner is the
	preferred method, however.

1999-03-12  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* Makefile.am: Make parser files generation work when using
	AM_MAKEFLAGS=-j4.

1999-03-19  Raja R Harinath  <harinath@cs.umn.edu>

	* Makefile.am (IDL.h): Add rule to autoupdate IDL.h.
	* acinclude.m4 (AC_UPDATE_IF_CHANGED): Don't remove intermediate
	file.  This prevents unnecessary rebuilding of IDL.h.new.

1999-03-18  Andrew T. Veliath  <andrewtv@usa.net>

	* lexer.l: Handle independent code fragments.

	* IDL.h.new.in (IDLF_CODEFRAGS): New flag; code frags can be used
	independently of XPIDL.

1999-03-09  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.3.

	* util.c (IDL_emit_IDL_type_dcl_pre):
	(IDL_emit_IDL_type_pre):
	(IDL_emit_IDL_native_pre): Emit props.

	* parser.y: Add XPIDL properties for type declarations, native and
	constructed types.

1999-03-08  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.2.

	* util.c (IDL_tree_process_forward_dcls): No longer remove
	unresolved forward declaration nodes.  If IDLF_PEDANTIC isn't
	specified, unresolved forwards will be flagged as warnings instead
	of errors.

	* IDL.h.new.in: Improve hack for GINT64's conversion type until
	glib gets smarter about this.

	(IDLF_PEDANTIC): New parse flag; turns some warnings into errors.

1999-03-06  Andrew T. Veliath  <andrewtv@usa.net>

	* IDL.h.new.in: Change IDLF_RESOLVE_FORWARDS to
	IDLF_IGNORE_FORWARDS.  CORBA 2.2 requires that the interface
	definition be listed in the file, so I would rather that the
	default be stricter to the CORBA 2.2 standard.  If you don't want
	forward declaration resolution, use this flag.

1999-03-04  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.1.

1999-03-03  Andrew T. Veliath  <andrewtv@usa.net>

	* util.c (IDL_tree_optimize): Understand
	IDLF_RESOLVE_FORWARDS. libIDL will only resolve them if told now.

	* IDL.h.new.in (IDLF_RESOLVE_FORWARDS): New flag.

1999-02-23  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.6.0.

	* Assign many node file and line locations to their identifier.

	* parser.y: Improve module and interface identifier conflict error
	message.

	* IDL.h.new.in: Improved version codes.

	* parser.y: Allow inhibits on codefrags, operations and
	attributes.

1999-02-22  Andrew T. Veliath  <andrewtv@usa.net>

	* IDL_tree_func tree parameter changed to a structure, which
	contains up paths of the traversal and the real up path (in the
	case of identifiers referenced elsewhere after definition).  The
	original parameter is now in the tree member. IDL_tree_to_IDL
	rewritten to automatically determine scoping using this
	information, instead of the previous scope passing. This should
	make any future additions require fewer source changes.

	* Improvements to structure and union handling, IDL_tree_to_IDL,
	and IDL_tree_walk.

1999-02-21  Andrew T. Veliath  <andrewtv@usa.net>

	* Fully convert to glib memory routines.

1999-02-19  Andrew T. Veliath  <andrewtv@usa.net>

	* parser.y: Properties for parameters moved before direction
	keyword.

	* Configuration and versioning system overhauled.

1999-02-18  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.5.10.

	* util.c (IDL_tree_properties_copy): New function.
	(IDL_parse_filename_with_input): Mostly ignore
	HAVE_CPP_PIPE_STDIN.

	* parser.y: Make codefrags work inside interfaces (only at outer
	level). Allow properties for operations and attributes, and change
	all XPIDL node properties to reside on the ident node.

1999-02-12  Andrew T. Veliath  <andrewtv@usa.net>

	* parser.y: Allow forward decls to be suppressed as well.

	* util.c (yyerrorl, yywarningl): Only call g_basename if we aren't
	piping input from CPP.

1999-02-11  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.5.9.

1999-02-09  Tom Tromey  <tromey@cygnus.com>

	* libIDL.texi: Use @pxref and not @xref in parentheses.

1999-02-06  Andrew T. Veliath  <andrewtv@usa.net>

	* parser.y: Detect recursive structure members.

	* util.c (IDL_parse_filename_with_input): Assign filename hash
	before first call to callback.

	* parser.y: Allow const_dcl, type_dcl and except_dcl to also be
	inhibited.

	* util.c (load_inhibits): Allow any discriminator to be inhibited.

1999-01-02  Jeff Garzik  <jgarzik@pobox.com>

	* util.c:
	s/sprintf/g_snprintf/
	s/vsprintf/g_strdup_vprintf/
	Spaced out some code for readability.

1999-01-02 Raffaele Sena <raff@aromatic.com> via Russell Nelson <nelson@crynwr.com>

	* Fix to autogen.sh for build directory different from package
	top directory.

1998-12-16  Andrew T. Veliath  <andrewtv@usa.net>

	* Update version to 0.5.8

	* util.c (IDL_emit_IDL_ident): Use IDL_ns_scope_levels_from_here
	and parent from callback to automatically determine the minimal
	necessary scoping for the identifier; this should allow much more
	IDL from IDL_tree_to_IDL to be fed back unchanged.
	(IDL_tree_get_scope): New function.
	(IDL_tree_to_IDL): Updated to also take an IDL_ns parameter.  Use
	G_GNUC_PRINTF for data output function.  Add new functions to
	handle XPIDL property output for IDL generation.

	* IDL.h, ns.c (IDL_ns_scope_levels_from_here): New function,
	determines the minimal level of scoping to prepend to a identifier
	to qualify it properly, from a different scope.

	* IDL_tree_func changed to include parent, which can differ from
	the node parent link.

1998-12-15  Andrew T. Veliath  <andrewtv@usa.net>

	* (IDL_tree_to_IDL): New public function.  Not yet fully
	implemented, but most stuff will work. Add a call from tstidl.c.
	(IDL_tree_walk): New public function; more generalized version of
	IDL_tree_walk_in_order.

1998-12-05  Andrew T. Veliath  <andrewtv@usa.net>

	* tstidl.c: Add example of IDL_tree_error usage.
	
	* IDL.h, ns.c, util.c: Move __IDL_filename_hash to IDL_ns
	structure.  Rename IDL_property... to IDL_tree_property... Make
	IDL_tree_get_node_info public.

	* Change private yyerrornv, yywarningnv to public IDL_tree_error
	and IDL_tree_warning.

	* tstidl.c, ns.c: Provide example of local parameter declaration
	namespace lookup from parameter attribute property, and modify NS
	assertions to make it more useful outside of parsing.

	* IDL.h, parser.y, lexer.l, util.c, tstidl.c: Turn interface
	properties into extended node properties for XPIDL (for any node).
	IDL_interface_get_property -=> IDL_property_get. Add
	IDL_property_set, IDL_property_remove.  Add a potential property
	list between the parameter attribute and the type.  Allow
	underscores in property keys.

1998-12-04  Andrew T. Veliath  <andrewtv@usa.net>

	* IDL.h (IDL_NODE_IS_TYPE): Add macro.

	* lexer.l, IDL.h, util.c: Add IDL_CODEFRAG type, for XPIDL.

	* parser.y, IDL.h, util.c: Integrate XPIDL varargs support into
	parameter_dcls, and remove (now unneeded) VARARGS node type.

1998-12-03  Andrew T. Veliath  <andrewtv@usa.net>

	* parser.y: Add IDL_inhibit_push, IDL_inhibit_pop,
	IDL_inhibit_get, IDL_file_set and IDL_file_get wrapper functions.

1998-12-01  Andrew T. Veliath  <andrewtv@usa.net>

	* parser.y, lexer.l, util.c, IDL.h: Allow boolean XPIDL
	properties, which are inserted with an empty string.  Add
	recognition of "noscript" keyword when XPIDL syntax is enabled.
	Add syntactical recognition for "native mytype (PRThread *)" in
	XPIDL mode (i.e., where `PRThread *' can be anything).

1998-11-30  Andrew T. Veliath  <andrewtv@usa.net>

	* Interface infotag list turned into a case-insensitive property
	hash table with improved parsing.  If an IID is provided in the
	property list, IDL_interface_get_property (interface, "IID")
	should provide the IID, for instance (without the parens).
	Properties can be any identifier (value) item, separated by commas
	inside square brackets.

	* Add per-filename state information.

	* #pragma inhibit push/pop added.  The push operation will
	increment a counter, while the pop operation decrements it.  If
	the counter is greater than zero, any module or interface declared
	during that time will be inhibited.

	* Made XPIDL interface properties a list, and moved before the
	interface keyword.
	
	* Internal flag state added.

1998-11-29  Andrew T. Veliath  <andrewtv@usa.net>

	* util.c (IDL_tree_process_forward_dcls): 
	(IDL_tree_remove_inhibits): 
	(IDL_tree_remove_empty_modules): Listen to IDLF_VERBOSE.

	* IDL.h: Add note to IDL_tree_type explaining how the enumerator
	ordering is subject to change, and order should not be hardcoded
	into programs (alternative is suggested).  Separate parse flags
	into general and syntax extension parse flags, with the latter
	starting at bit sixteen.  IDLF_VERBOSE: new parse flag.

1998-11-28  Andrew T. Veliath  <andrewtv@usa.net>

	* lexer.l, parser.y, util.c, IDL.h: Change iid_ident to
	infotag_ident (TOK_IID_IDENT -> TOK_INFOTAG), which is more unique
	in scanning, and slightly more general.

	* util.c (IDL_tree_free): Update for interface iid, and varargs.
	(IDL_tree_walk_in_order): Same.
	(IDL_type_varargs_new): New function.

	* Makefile.am: Add G_LOG_DOMAIN for libIDL.

	* lexer.l: Add XPIDL conditional token scan for TOK_VARARGS
	(...).  Add token scan for iid_ident, which is an extended version
	of a standard IDL identifier, for XPIDL IIDs.

	* parser.y: Add XPIDL IID interface tagging
	support. (interface_iid) New production, update (interface) to
	handle it. Generate error if XPIDL syntax is not enabled and an
	IID is provided. New token, TOK_IID_IDENT, iid_ident rule.

	* lexer.l: Only recognize TypeCode when IDLF_TYPECODES syntax
	flag is present.

	* IDL.h (IDLF_TYPECODES): New flag; IDLF_TYPECODES.  New type
	IDLN_TYPE_VARARGS, eventually for use with XPIDL.

1998-11-27  Andrew T. Veliath  <andrewtv@usa.net>

	* libIDL.def: New file.

	* util.h (alloca): Define if compiling for Win32.

	* Makefile.am (MAINTAINERCLEANFILES): Change to maintainer clean
	from dist clean for parser.c, lexer.c.  It's nice to have the
	generated parsers around from flex and bison, especially for
	Win32.

	* util.c (IDL_parse_filename): Don't use access under Win32.
	IDL_EXPORT __IDL_check_type_casts.

	* IDL.h (IDL_IMPORT): Add definitions required for Win32.

	* Makefile.msc:
	README.win32: New files.

	* Makefile.am: Define YYERROR_VERBOSE for slightly better messages
	in unhandled error situations.

1998-11-20  Andrew T. Veliath  <andrewtv@usa.net>

	* tstidl.c (print_ident_comments): Print out identifiers and any
	comments.

	* util.c (IDL_parse_filename): Init __IDL_new_ident_comments, then
	free any remaining on return from parsing.  Same for
	IDL_parse_filename_with_input.
	(IDL_tree_free_real): Free comments of identifier.

	* parser.y (IDL_queue_new_ident_comment): New function.
	ns_new_ident, cur_ns_new_or_prev_ident: Assign comments to the
	newly created identifier if they exist.  This function, called
	from the input callback will queue comments to be assigned to the
	next newly created identifier (queue order is maintained, and
	stored in the comments list in the identifier node).
	
	* IDL.h: Add comments list to IDL_IDENT.

1998-11-19  Andrew T. Veliath  <andrewtv@usa.net>

	* tstidl.c (my_input_cb): Provide example of alternate input method.

	* lexer.l (YY_INPUT): Allow stream input from user defined
	callback. (__IDL_lex_init): Set __IDL_inputcb to NULL.

	* util.c, util.h: Add variables for input callback.
	(IDL_parse_filename_with_input): New function.

	* IDL.h: Add IDL_input_callback, IDL_input_reason, IDL_input_data.
	(IDL_parse_filename_with_input): Add prototype.

	* lexer.l: Add XPIDL inclusive start condition.  Activate
	condition when IDLF_XPIDL is specified in the parse flags before
	scanning.
	
1998-11-16  Andrew T. Veliath  <andrewtv@usa.net>

	* lexer.l: Had b10_int and b10_uint reversed.

	* tstidl.c (print_const_dcls): Update for IDL_LL.

	* lexer.l: Use new IDL_LL constant.
	(YY_INPUT): Use this now for testing.  This will eventually be
	used for cpp input override capability.

	* IDL.h (IDLF_XPIDL): New parse flag, for eventual XPIDL support.
	(IDL_LL): Replaces old IDL_*_FMT defines.  Use this in place of
	the conversion operator instead of the entire % construct. Rename
	IDL_callback to IDL_msg_callback. Note: glib currently doesn't
	tell me what conversion specifier to use for GINT64, so this may
	currently be troublesome on some platforms (it had to be changed
	since the hack that was in place no longer works).

	* Makefile.am, configure.in: Bump version number to 0.5.3.

1998-10-25  Andrew Veliath  <andrewtv@usa.net>

	* Update version to 0.5.2

	* ns.c (IDL_ns_load_idents_to_tables): Initialize
	struct insert_heap_cb_data just before use.

1998-10-20  Andrew Veliath  <andrewtv@usa.net>

	* util.c (IDL_parse_filename): Try to make #includes behave more
	rationally when source IDL file is not in the current directory.

1998-10-14  Andrew Veliath  <andrewtv@usa.net>

	* parser.y (IDL_resolve_const_exp): Allow return of enumerated
	identifiers.  Trying to use an enumeration in an arithmetic
	expression is disallowed.

1998-10-09  Andrew Veliath  <andrewtv@usa.net>

	* parser.y: (positive_int_const) Improve errors and warnings for
	nonsensical values.

1998-10-08  Andrew Veliath  <andrewtv@usa.net>

	* IDL.h (IDLF_NO_EVAL_CONST): New flag, obsoletes IDLF_EVAL_CONST,
	which has been removed.  The default behavior is now to evaluate
	constant expressions.

	* IDL.h, parser.y (IDL_resolve_const_exp): New function.
	positive_int_const changed to attempt resolution of expression to
	an integral value.  primary_expr will attempt resolution of scoped
	names, so constant evaluation is now much improved.  An
	IDL_NODE_IS_LITERAL is also now in IDL.h.

Thu Aug 27 10:52:41 1998  Andrew Veliath  <andrewtv@usa.net>

	* Update version to 0.5.0.

	* Updates to libIDL.texi, and renable in Makefile.am.

	* Integrate default maximum warning level into IDL_parse_filename.

Thu Aug 27 03:30:44 1998  Andrew Veliath  <andrewtv@usa.net>

	* parser.y: Generate error if one tries to inherit from the same
	interface more than once.  Also use IDL_ns_ident_to_qstring to
	give more concise identifiers in error messages.

Thu Aug 27 01:08:56 1998  Andrew Veliath  <andrewtv@usa.net>

	* IDL.h: Removed IDL_TRUE and IDL_FALSE, so we can just use the
	  glib TRUE and FALSE.  References switched...

	* util.c (IDL_tree_walk_in_order): (...pre_order changed to the
	more accurate ...in_order).  Behavior change, return value is now
	void, and returning TRUE from the IDL_tree_func means traverse
	this node, and FALSE means don't traverse this node, instead of
	the previous return FALSE and stop traversal all together.  This
	is much more useful for this context, I think.

Wed Aug 26 01:48:12 1998  Andrew Veliath  <andrewtv@usa.net>

	* util.c (IDL_tree_process_forward_dcls),
		(IDL_tree_remove_inhibits),
		(IDL_tree_remove_empty_modules): Remove debugging messages.

	* util.c (IDL_parse_filename): Only run optimization if tree is
	  non-NULL, and improve useless file message.

	* parser.y: Complete previous declaration context error messages.

1998-08-25  Andrew Veliath  <andrewtv@usa.net>

	* Update libIDL version to 0.4.0.
	
	* Update font lock keywords in README, added support for
	  __declspec.
	
	* Implementation of IDL_tree_free for IDLN_GENTREE hashes in
	  place.

	* Makefile.am: Change libtool version to 3:2:3.
	
	* parser.y, IDL.h: Changes for global ref counting.
	
	* util.c (IDL_tree_free): Instead of ref counting only IDENTS,
	  ref count all nodes instead (updated __IDL_tree_free, added
	  IDL_tree_free_real).  Update remove_list_node to reflect this
	  change.

	* util.h: Remove __IDL_tree_free.

	* util.c (__IDL_tree_free): Ref count IDLN_IDENTS.

Tue Aug 25 01:46:10 1998  Tom Tromey  <tromey@cygnus.com>

	* util.c (IDL_strcase_equal): Use g_strcasecmp.
	(IDL_strcase_cmp): Likewise.

1998-08-24  Andrew Veliath  <andrewtv@usa.net>

	* Save inhibited nodes and free upon IDL_ns_free so that the full
	trees are available to traverse from the namespace.
	 
	* 'nostubs' changed to 'inhibit'

1998-08-17  Andrew Veliath  <andrewtv@usa.net>

	* Update version to 0.3

	* Create an IDLF_COMBINE_REOPENED_MODULES to have libIDL combine
	  all the module declarations into one tree, instead of separate
	  trees with the same ident node.

	* Add __declspec support.  First one implemented is for
	  interfaces, so that __declspec (nostubs) interface foo { ... };
	  won't generate tree node information.  Had to revamp grammar
	  slightly to get a single lookahead.

	* Change IDL_long_t to IDL_longlong_t (+ unsigned version).

1998-08-10  Andrew Veliath  <andrewtv@usa.net>

	* parser.y: Catch the interface Object construct, which isn't
	  legal, but is in some pseudo-IDL files.

	* lexer.l: Bring back Object token recognition.

	* ns.c (IDL_ns_ident_to_qstring): If given and IDLN_IDENT,
	  quietly call IDL_IDENT_TO_NS.

	* util.[ch]: Change g_strcase_hash to IDL_strcase_hash (make
	  public).  Add IDL_strcase_equal, IDL_strcase_cmp,
	  load_forward_dcls, resolve_forward_dcls,
	  print_unresolved_forward_dcls, IDL_tree_resolve_forward_dcls.
	  (IDL_parse_filename): Warn on unresolved forward declarations in
	  post-parse semantic checking.  Remove __IDL_tree_print, add
	  IDL_tree_walk_pre_order.

	* IDL.h: Add IDL_tree_walk_pre_order prototype and callback typedef.

1998-08-09  Andrew Veliath  <andrewtv@usa.net>

	* parser.y: enum_type: Don't generate a nested scope.

1998-08-06  Andrew Veliath  <andrewtv@usa.net>

	* Allow for redefinition of certain items in inheritance
	  (doesn't detect some invalid items, but still better than
	  before).
	
	* Change the namespace data structure from a general tree using a
	  linked list to case-insensitive string hashes for each tree
	  level.  Used g_str_hash from glib modified for
	  case-insensitivity (g_strcase_hash).

	* Fix bug where some top-level redeclarations would cause a core
	  dump.

	* Change references to strdup to g_strdup, and update
	  configure.in.
	
	* Begin major cutting for libIDL 0.3, which will have new
	  namespace code.  Move lots of stuff around.

1998-08-05  Andrew Veliath  <andrewtv@usa.net>

	* lexer.l: Change C-language warning level to warning level 2,
	  all other warnings to level 1
	
	* parser.y (yywarning*): Add multiple warning levels

	* IDL.h: Remove IDL_WARNING, add IDL_WARNING1-3 and IDL_WARNINGMAX
	
	* IDL.h: Generate a CPP error if glib.h isn't included beforehand.
	
	* IDL.h, parser.y: Integrate Sebastian Wilhelm's patch to add type
	  cast checking, with a number of style modifications of my own
	  (anything I broke is my fault ;-) for libIDL and add a warning
	  on casting a NULL pointer.

	* lexer.l: Implement Dick's suggestion to warn or error on
	  underscores in identifiers with underscores or ones which begin
	  with an underscore.
	
1998-08-04  Andrew Veliath  <andrewtv@usa.net>

	* Preliminary inheritance checks

	* Implement pragmas for prefix, ID and version
	
	* First cut at Repository ID generation

1998-08-03  Andrew Veliath  <andrewtv@usa.net>

	* parser.y: Add many new error messages.

1998-07-28  Andrew Veliath  <andrewtv@usa.net>

	* acinclude.m4 (revive): Create AC_CPP_ACCEPT_IDL and
	AC_CPP_PIPE_STDIN tests

	* configure.in: Add AC_CPP_ACCEPT_IDL and AC_CPP_PIPE_STDIN in
	configuration

	* util.h, parser.y, lexer.l: If HAVE_CPP_PIPE_STDIN is defined,
	then compile for piped CPP input, else use the more portable
	symlink method.  Also use getcwd instead of g_getcwd, since it has
	been commented out in glib.

1998-07-27  Andrew Veliath  <andrewtv@usa.net>

	* parser.y (IDL_parse_filename): g_getcwd returns a static buffer

1998-07-25  Neil Vachharajani  <nvachhar@pluto.njcc.com>

	* parser.y: Add one more byte for / in the allocation of linkto in 
	IDL_parse_filename
	
1998-07-20  Andrew Veliath  <andrewtv@usa.net>

	* Most of inhertance is done.  ChangeLog won't be updated much now
	  in preference to CVS logs.

1998-07-01  Andrew Veliath  <andrewtv@usa.net>

	* Fix spelling of "inheritance" :)
	
	* Add use long long type if __GNUC__ defined

	* Fix scoping rules (scope idents weren't being referenced
	  properly)

1998-06-29  Andrew Veliath  <andrewtv@usa.net>

	* Create skeleton texinfo file

	* configure.in improved
	
	* Wee, should now also work with standard lex with new renaming
	  rule
	
	* Now works with standard yacc, but flex will be a requirement

1998-06-24  Andrew Veliath  <andrewtv@usa.net>

	* Warn if identifier appears in different case
	
	* Most namespace collision detection added, except for inheritance

	* Use YYDEBUG
	
	* parser.y: Initial implementation of IDL_ns* stuff

1998-06-23  Andrew Veliath  <andrewtv@usa.net>

	* Implement constant evaluation

	* Almost all tree generation stuff added

	* Implement const_dcl and const_exp

	* Implement type_dcl, interface and module non-terminals
	
1998-06-22  Andrew Veliath  <andrewtv@usa.net>

	* Start implementing tree generation code

	* Add IDL_root_free, IDL_symtab_free

	* Modify IDL_parse_filename to include callbacks,
	  return a symbol table

	* Implmenent warning/error callback functionality

	* Move idl.c code to parser.y, delete idl.c

1998-06-17  Andrew Veliath  <andrewtv@usa.net>

	* Implement IDL_parse_filename
	
	* Implement supporting code for error and warning detection
	
	* Create rename.h to rename yacc/lex stuff

	* Add strdup definition to util.[ch] and autoconf
	
	* Create util.c, util.h
	
	* Create lexer.l, parser.l, idl.h, idl.c

	* Create library structure, automake and autoconf files
