merge from HEAD
diff --git a/.cvsignore b/.cvsignore
index eb307c7..02f97e6 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -23,3 +23,5 @@
 testgdate
 testgdateparser
 glibconfig-sysdefs.h
+glib.spec
+stamp-h.in
diff --git a/AUTHORS b/AUTHORS
index 07031bc..e898236 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,24 +1,25 @@
 Original Authors
 ----------------
-Peter Mattis      <petm@xcf.berkeley.edu>
-Spencer Kimball   <spencer@xcf.berkeley.edu>
-Josh MacDonald    <jmacd@xcf.berkeley.edu>
+Peter Mattis       <petm@xcf.berkeley.edu>
+Spencer Kimball    <spencer@xcf.berkeley.edu>
+Josh MacDonald     <jmacd@xcf.berkeley.edu>
 
+Please do not mail the original authors asking questions about this 
+version of GLib.
 
-Other people who made significant
-improvements to GLIB (shamelessly
-ripped from the ChangeLog, listed
-in alphabetical order)
----------------------------------
-Raja R Harinath <harinath@cs.umn.edu>
-Tim Janik <timj@gtk.org>
-Paolo Molaro <lupus@debian.org>
-Manish Singh <yosh@gimp.org>
-Owen Taylor <otaylor@gtk.org>
-
-
-Also, thanks to Shawn T. Amundson <amundson@gtk.org>
-for doing releases of GLIB.
+GLib Team
+---------
+Shawn T. Amundson  <amundson@gimp.org>
+Jeff Garzik        <jgarzik@pobox.com>
+Raja R Harinath    <harinath@cs.umn.edu>
+Tim Janik          <timj@gtk.org>
+Elliot Lee         <sopwith@redhat.com>
+Tor Lillqvist      <tml@iki.fi>
+Paolo Molaro       <lupus@debian.org>
+Havoc Pennington   <hp@pobox.com>
+Manish Singh       <yosh@gimp.org>
+Owen Taylor        <otaylor@gtk.org>
+Sebastian Wilhelmi <wilhelmi@ira.uka.de>
 
 There are also many others who have contributed patches and fixes;
 we thank them, for helping us in advancing GLIB.
diff --git a/ChangeLog b/ChangeLog
index 7add274..f9b8b06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
new file mode 100644
index 0000000..786951f
--- /dev/null
+++ b/ChangeLog.pre-1-2
@@ -0,0 +1,2880 @@
+Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.2.0
+
+	* AUTHORS: updated
+
+Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+	* *.[ch]: inserted additional note to look for ChangeLog and
+	  AUTHORS file for a log of modifications.
+
+Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
+
+	* Made specfile generated, tweaked slightly
+	
+Thu Feb 18 08:24:12 1999  Tim Janik  <timj@gtk.org>
+
+	* gmem.c (g_realloc): plugged a memory leak, reported by Koen D'Hondt
+	<ripley@xs4all.nl> on 15 Oct 1998. allocate inital block from realloc.
+
+1999-02-17  Elliot Lee  <sopwith@redhat.com>
+
+	* glib.spec: Do --enable-debug=no for the .rpm's.
+
+Wed Feb 17 17:04:06 1999  Tor Lillqvist  <tml@iki.fi>
+
+	* config.h.win32: Must define HAVE_PTHREAD_GETSPECIFIC_POSIX.
+
+Tue Feb 16 14:08:59 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+	* NEWS
+	  README
+	  INSTALL
+	  config.h.win32
+	  configure.in
+	  glib.spec
+	  glibconfig.h.win32
+	  docs/glib-config.1: version=1.1.16 
+
+	* Released GLib 1.1.16
+
+1999-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* glib.h, glibconfig.h.win32, configure.in: Changed signature of
+	all g_static_mutex_* functions to take a pointer rather than the
+	struct itself. This is not an issue at the moment, because those
+	funcs are really macros, but is it un'G'ish and might fall on our
+	feet in the future.
+
+Mon Feb 15 07:45:54 1999  Tim Janik  <timj@gtk.org>
+
+	* configure.in (--enable-debug): default to yes for development trees.
+
+Mon Feb 15 06:18:58 1999  Tim Janik  <timj@gtk.org>
+
+	* glib.h: return guints instead of gints for g_hash_table_size
+	and g_hash_table_foreach_remove.
+
+Wed Feb 10 12:01:42 1999  Tim Janik  <timj@gtk.org>
+
+	* configure.in: don't reset G_MODULE_IMPL, so it can be overridden
+	from the command line.
+
+1999-02-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* glib.h: s/G_LOCK_DECLARE/G_LOCK_DEFINE/ throuhout glib. Added
+	G_LOCK_EXTERN macro to declare a lock externally.
+
+Wed Feb 10 06:20:30 1999  Tim Janik  <timj@gtk.org>
+
+	* gmutex.c (g_static_private_set): invoke destroy notifier when
+	overwriting values, initialize new array fields with NULL.
+	(g_static_private_free_data): do not skip destroy notification for
+	data == NULL.
+
+	* gutils.c (g_direct_equal): compare pointer values directly instead
+	of just their guint values which is a loosing conversion for
+	sizeof(gpointer)==8 systems.
+	(g_get_any_init): restructured code so we don't use endless loops like
+	while (1), which boil down to an ugly alias for goto.
+	strip ,.* from the real name.
+
+February 9, 1999 sopwith@redhat.com
+
+	. glist.c, gnode.c, gslist.c: allocate pools of 128 items instead
+	of 1024 items.
+
+1999-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in, acconfig.h: Changed the test for getpwuid_r to
+	exclude those systems (i.e. IRIX), that set ENOSYS after the call.
+	Test, if pthread_getspecific is posix like or something different,
+	as on PCThreads.	
+
+Sun Feb  7 21:56:00 1999  Owen Taylor  <otaylor@redhat.com>
+
+	* gmem.c (g_mem_profile): Copy all elements
+	of the allocations[] array, including the last.
+	(Pointed out by "Matthew W. Samsonoff" <mws7323@osfmail.isc.rit.edu>)
+	
+1999-02-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Make the error message in case of a broken thread
+	system a bit more informative.
+
+	* gutils.c (g_get_any_init): Changed the error logic again, now
+	only leaving the memory doubling loop, when success is reached or
+	when the user isn't found or when the buffer is 32k big,
+	additionally now getpwuid will be run, if getpwuid_r didn't work
+	out properly. A warning is issued however.
+
+Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+
+	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+
+1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+
+	* glib.spec (Packager): Change my email address
+
+Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+	* ChangeLog
+	  NEWS
+	  README
+	  configure.in
+	  glib.spec
+	  docs/glib-config.1: version=1.1.15
+
+	* Released GLib 1.1.15
+
+Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+
+	* gmessages.c (g_log_default_handler): (Win32:) Don't call
+ 	ensure_stdout_valid (which would open an unneeded console window)
+ 	if we're calling a logging function.  Define ensure_stdout_valid
+ 	as an empty macro on Unix.
+
+	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
+	then try HOMEDRIVE and HOMEPATH.
+
+Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
+
+	* gmain.c (g_main_iterate): Release the main_loop
+	 lock around calls to prepare() and check() so
+	 that we are not holding the main loop lock
+	 over user code.
+
+1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Moved the check for MT safe function variants
+	after the determination of the MT cflags and use them there.
+
+1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Fixed typo. Now HPUX 11 thread system detection
+	should work.
+
+	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
+	solve some problems out there.
+
+Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+	* INSTALL
+	  NEWS
+	  README
+	  configure.in
+	  glib.spec
+	  docs/glib-config.1: version=1.1.14
+
+	* Released GLib 1.1.14
+
+1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Simplified configure.in test for posix threads,
+	systems, that provide /usr/include/pthread.h should also have the
+	posix thread library. This is to avoid writing down all the tests
+	twice. New test for thread system on HPUX 11. Info from Matt
+	Nottingham <matt@sar.dera.gov.uk>.
+
+Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* acinclude.m4: Xsed isn't valid here, don't use it
+
+	* ltmain.sh
+	* ltconfig: better file magic regexp for Linux libs
+
+	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
+	libs, revert my previous change to this file
+
+	* docs/texinfo.tex: add it so automake doesn't whine
+
+Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
+
+	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
+	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
+	libraries and -ldl, to catch systems that provide dlopen() in libc
+	and dlsym() in libdl. this is at least the case for Reliant UNIX
+	5.44 (labeling itself as SINIX).
+
+Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* configure.in: don't use backquotes in warning text
+
+1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gdate.c (g_date_set_time): Removed the #warning about MT
+	unsafety without localtime_r.
+
+	* configure.in: Moved it here.
+
+Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
+
+	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
+	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
+	it looked wrong to me and was breaking gimp compile.
+
+Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
+
+	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
+	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
+	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
+	tion hides there.
+
+1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Do not use the thread libs, when searching for
+	some functions, as this might require glib to always be linked
+	with the thread libs on some platforms.
+
+	* gutils.c (g_get_any_init): Don't set errno to zero and use it
+	only as the error code, if the function returned a value less
+	0. It might happen, that the call succeeds, even though the errno
+	is set during the call (i.e. it first looks for a passwd file,
+	which is not found). Submitted by Michael Natterer
+	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
+	`getpwuid_r' change, but it had to be done once.
+
+Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
+
+	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
+	a struct passwd contents buffer and for the rest mostly substituted a
+	while loop with a bunch of gotos.
+	restored the getpwuid() code to what we had after my recent clean ups
+	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
+	to feature solaris behaviour of directly returning errno, we don't
+	modify error anymore if it's > 0 and simply reset errno.
+	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
+
+1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* gutils.c 
+	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
+	Hopefully got the error handling for `getpwuid_r' right.
+	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
+	Fix typo (change `pw == NULL' to `pw != NULL').
+	
+Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* ghash.c:
+	- Revert previous "fix" (which really just did things a
+	  different way).
+	- (g_hash_table_remove): Don't need to support multiple values
+	  for a single key.
+
+	* tests/hash-test.c:
+	Add test where hash function always returns a single value.
+	Add beginnings of tests for g_hash_table_foreach[_remove] and
+	g_hash_table_remove.
+
+Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* gutils.c: removed the #warning about MT without getpwuid_r
+
+	* configure.in: and moved it here
+
+Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
+		   g_hash_table_insert, g_hash_table_remove,
+		   g_hash_table_lookup_extended):
+	  - Fixed bug that overwrote nodes in hash buckets instead of
+	    adding them to the hash bucket node list.
+	    Hash tables now work as advertised.
+
+	(g_hash_table_resize):
+	  - Use g_new0 instead of manual init.
+	  - Space out code a bit for readability.
+
+	(g_hash_nodes_destroy):
+	  - Replaced "if (!hash_node) return;" with
+	    "if (hash_node) {do stuff}".
+	    Testing takes up less code space than explicit call to
+	    'return' before end of function.  (look at gcc -S)
+
+	Updated module header copyright to 1999.
+	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
+
+	* tests/hash-test.c:
+	- Add two new tests, one with strings as the keys and values, and
+	  one with ints as the keys and values.  Tests indirect (strings)
+	  and direct (ints) hashing.
+	- Cleanup unused junk left over from testglib.c.
+	- Converted a g_print call to g_assert_not_reached.
+	- Updated copyright to 1999.
+
+	* testglib.c, tests/string-test.c:
+	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
+
+1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
+	Rewrite not to look at `errno' if library call succeeds, since
+	`errno' is not reset to 0.
+	
+Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
+
+	* glibconfig.h.win32: Update the magic values for
+	pthread_mutex_t size and initializer bytes to match the
+	latest version of pthreads for Win32.
+
+Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
+
+	* gutils.c (g_get_any_init): cleaned up the errno mess for
+	GETPWUID. we especially don't want to g_error() out here!
+	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
+	gcc related.
+	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
+	resetting it to NULL, why are we doing this anyways?
+	reordered code a bit so we always provide defaults (except
+	for g_home_dir).
+
+Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
+	Separate string and strfunc tests, working towards goal of
+	having separate test for each of the GLib modules.
+	Add a couple GString length tests.
+
+Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* configure.in:
+	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
+
+1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gutils.c (g_get_any_init): Changed error handling again, as the
+	error is not always set in errno, it is the return value on some
+	systems. What an evil world.
+
+Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
+
+	* gstrfuncs.c: Include signal.h only when the signal names will be
+	needed.
+
+Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
+
+	* configure.in / Makefile.am : made some adjustments for automake 1.4
+	and autoconf 2.13 (per suggestions made by  Raja R Harinath
+	<harinath@cs.umn.edu>)
+
+Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
+
+	* autogen.sh: automake 1.4 and libtool 1.2d notices.
+	(maybe I'll write an actual test for automake 1.4 later)
+
+Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* HACKING: new file
+
+	* Makefile.am: since we require automake 1.4 now, ditch the build
+	top-level first and just use SUBDIRS
+
+	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
+	the install rule
+
+Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* gutils.c (g_get_any_init):
+	Revert previous patch, move error value set line down to proper
+	place.  Caught by Elliot Lee <sopwith@redhat.com>.
+
+Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
+
+	* gutils.c (g_get_any_init): All gtk apps were broken
+	here on my setup.  I changed the error to a warning to at
+	least get things limping.
+
+1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gutils.c (g_get_any_init): Use getpwuid_r with the right
+	signature, if available.
+
+	* configure.in, acconfig.h: Test for existance of getpwuid_r and
+	its signature.
+
+Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
+	
+	* Makefile.am (EXTRA_DIST): Add new Win32 files.
+
+	* README.win32: Describe the conditional compilation macros.
+
+	* makefile.lcc: Removed.
+
+1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Moved test for localtime_r and rand_r to a place
+	after the determination of the G_THREAD_LIBS and use them for
+	finding those functions, necessary on systems with a different C
+	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
+	Timur Bakeyev <mc@bat.ru>.
+
+Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
+
+	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
+	declaration breaks systems with different declarations, like
+	mine (FreeBSD).  So, I added a configuration variable to decide
+	whether the declaration is neccesary.  Change also appears on
+	line 275 of configure.in.
+
+Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.13
+
+	* README:
+	  INSTALL:
+	  docs/glib-config: ver=1.1.13
+
+Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
+
+	* NEWS: updates for 1.1.13.
+
+Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
+
+	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
+	NULL, so this function can be applied to unpopulated trees as well, fix
+	provided by Simon Kagedal <sika8225@csd.uu.se>.
+
+Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
+
+	* glib.spec: add packager address
+
+Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
+
+	* glib.spec: increment version number to 1.1.13
+
+Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
+
+	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
+	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
+	by Seth Alves <alves@hungry.com>.
+
+Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
+
+	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
+	GHookList.hook_destroy function.
+
+	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
+	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
+	we now clean up the hook completely afterwards, i.e. data, func and
+	destroy are immediately set to NULL and hook_free can't play with that
+	values anymore.
+
+	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
+	instead of using an ugly _noop() hack, this is to avoid an uneccessary
+	function invokation. set hook_free to g_source_destroy_func, this way
+	we always invoke the destroy notifiers for user_data and source_data
+	after execution of dispatch(). thus, g_source_destroy_func() will always
+	be called within the main_loop lock (this wasn't really assured
+	before), and can release and reaquire the look around destroy notifier
+	invokation.
+
+Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
+
+	* config.h.win32 glibconfig.h.win32: Increment version number here
+ 	also.
+
+Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
+
+	* configure.in: incremented version number to 1.1.13, bin age 0,
+	interface age 0.
+
+	* glib.h: added hook_destroy member to struct _GHookList.
+
+	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
+	function, use that to marshal hook destruction notifiers.
+
+	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
+	which marshalls the user_data and source_data destructors of sources
+	outside of the main_loop lock.
+	removed GIdleData struct since its sole member callback can be passed
+	as source_data directly.
+	added a gboolean return value to all g_source_remove* functions,
+	indicating whether the source could be removed, because these functions
+	don't issue warnings upon unseccessful removals themselves. this way at
+	least the caller gets a chance to warn upon failing removals.
+	(g_main_iterate): set in_check_or_prepare around calls to check() or
+	prepare().
+	(g_main_pending): simply return FALSE if called from within check() or
+	prepare().
+	(g_main_iteration): issue a warning if called from within check() or
+	prepare() and bail out with FALSE.
+	(g_main_run): likewise.
+	(g_source_remove_by_funcs_user_data): new function to remove sources by
+	user data and function table.
+	(g_idle_remove_by_data): new function to really remove idles only, since
+	g_source_remove_by_user_data would remove timeouts or other sources as
+	well.
+
+1999-01-16  Tor Lillqvist  <tml@iki.fi>
+
+	* Merge in current Win32 version:
+
+	* README.win32: More text.
+
+	* config.h.win32 glibconfig.h.win32: Update to match the
+	corresponding generated files on Unix.
+
+	* makefile.msc: Update with new source files, and gthread
+ 	library. Use the compiler flag -MD instead of using -D_DLL and
+	/nodefaultlib:libc msvcrt.lib in the link phase.
+
+	* glib.def: Update to include new functions, drop removed ones.
+
+	* glib.h: Add comments about main loop and polling on Win32. (In
+	general, it's only for the GIMP's use.) Add Win32 IO Channel
+	functions. Remove the obsoleted old IO Channel stuff (which was
+	in #if 0 already).
+
+	* giowin32.c: New file.
+
+	* gmain.c: Include config.h, conditionalize <sys/time.h>
+ 	inclusion.  Add g_poll implementation for Win32 (only for the
+ 	GIMP's needs for now, it's hard or even impossible to be as clean
+ 	and generic as on Unix). Implement g_get_current_time on Win32. If
+ 	threads aren't supported, don't try to wake up main thread's
+ 	loop. On Win32, use a semaphore and not a pipe to wake up the main
+ 	loop.
+
+	* gmessages.c: On Win32, allocate a console window if the standard
+	output handle is invalid before writing to stdout, and reopen stdout
+	to that console window.
+
+	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
+	cleanup.
+
+	* gstrfuncs.c: Include <signal.h>.
+
+	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
+	environment variables.
+
+Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
+
+	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
+
+Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* glib.h: don't use inline for !__GNUC__ case with g_warning,
+	g_error, and g_message wrappers since some compilers throw
+	away arguments in this case
+
+Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* acinclude.m4
+	* ltconfig
+	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
+
+	* testglib.c: removed unused cruft
+
+Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* gdate.c: #warning isn't portable, check for gcc
+
+1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
+
+        * configure.in: Moved function check back to the place, they've
+        been before.
+
+1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
+
+	* gstrfuncs.c:
+	Do not use vasprintf.
+
+	* configure.in, glib.h, testglib.c, tests/.cvsignore,
+	  tests/Makefile.am, tests/alloca-test.c:
+	Do not use alloca.
+
+1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Test for localtime_r only after including the
+	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
+
+	* configure.in: Find right thread system on DG/UX. Thanks to Marc
+	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
+	stuff for -fstack-check, that didnt work anyway.
+
+	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
+	function is available on thread enabled systems. Define ptm only,
+	if really needed, and assert on it.
+
+Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* testglib.c:
+	Make all aux functions static.
+
+	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
+	New tests dirname-test and type-test, from testglib.
+
+Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* configure.in:
+	Add checks for vasprintf, localtime_r.
+
+	* gdate.c (g_date_set_time):
+	Use localtime if localtime_r is not available.
+
+	* gstrfuncs.c (g_strdup_vprintf):
+	Use glibc vasprintf if possible; it's a bit faster than using
+	GLib routines, and makes output code a bit smaller.
+
+	* acconfig.h:
+	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
+	up automatically and puts them in config.h.in.
+
+Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
+
+	* gmain.c (g_source_free_func): Call the source-specific
+	free function when the hook is freed not when it
+	is destroyed; this fixes a bug where a timeout destroyed
+	from itself would access already freed data.
+
+1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gutils.c (g_get_any_init): Here we must replace getpwuid by
+	getpwuid_r, but as I do not know how for now, I just made a FIXME
+	note ;-)
+
+	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
+	thread safe.
+
+	* configure.in: We do not need to check for broken solaris mutex
+	intitializer any longer. Provide a macro to show the used thread
+	implementation. Not nice, but this is needed until thread support
+	is completed here inside glib.
+
+Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
+	the # needs to be in column 1
+
+	* gthread/testgthread.c: cleanups
+
+	* tests/node-test.c: #include unistd.h for exit()
+
+1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
+
+	* glib.h (g_array_insert_val): fix macro to be shorthand of
+	g_array_insert_vals.
+
+Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* acglib.m4: some echos interpret \n's and some don't. Deal with
+	accordingly.
+
+Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c: eliminated extraneous "register" qualifiers in variable
+	declarations.
+
+	* gmain.c: #undef events and revents which may have been defined in
+ 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
+	provided by Philippe Defert <Philippe.Defert@cern.ch>.
+
+Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
+
+	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
+	so their arguments get only evaluated once. changed g_strconcat3_a to
+	have the same semantics as g_strconcat, i.e. if a certain argument is
+ 	NULL, the rest of the parameter list is skipped.
+
+	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
+ 	able to compile on all systems. added test for g_strconcat() semantics.
+
+	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
+
+Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+        * Released GLib 1.1.12
+
+        * INSTALL:
+          NEWS:
+          README:
+          configure.in:
+	  glib.spec:
+          docs/glib-config.1: version=1.1.12
+
+	* tests/Makefile.am: fixed so it works properly with
+	  builddir and srcdir.
+
+Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* tests/Makefile.am:
+	add array-test.c, tree-test.c
+
+	* tests/array-test.c, tests/tree-test.c:
+	New module, tests array family
+
+	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
+	  tests/string-test.c, tests/node-test.c:
+	Clean out cruft left over from testglib.
+
+Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* Makefile.am, configure.in, tests/*:
+	Added 'make check' tests, based on testglib code.
+
+Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* glib.h, testglib.c:
+	Added g_alloca, g_new_a, g_new0_a macros.
+
+Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* testglib.c: Added g_strdup_printf check.
+
+Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* glib.h:
+	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
+	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
+
+	* testglib.c:
+	Added g_strdup, g_strconcat checks.
+	Added str==NULL checks for alloca string macros.
+	s/g_strconcat_a/g_strconcat3_a/
+
+Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
+
+	* testglib.c: made the alloca tests follow the testglib style
+
+	* Makefile.am: minor cleanups, mostly cosmetic
+
+Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* glib.h: added g_strndup_a macro
+
+	* testglib.c:
+	Added tests for new alloca-based string routines.
+	Reformatted a couple strings.
+
+Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
+
+	* ghook.c:
+	(g_hook_list_invoke):
+	(g_hook_list_invoke_check):
+	(g_hook_list_marshal_check):
+	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
+	explicit hook referencing became unneccessarry with my changes from
+	Mon Dec 21 21:48:29 1998).
+
+	* gmain.c (g_main_iterate): fixed reference counting leaks with
+ 	premature loop aborts.
+
+Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
+	as G_TOKEN_IDENTIFIER.
+
+Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+	* configure.in, glib.h:
+	Added two new alloca-based function macros, g_strdup_a and
+	g_strconcat_a.	These are stack-based and much faster than
+	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
+	for help on this one.
+
+Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+        * Released GLib 1.1.11
+
+        * INSTALL:
+          NEWS:
+          README:
+          configure.in:
+          docs/glib-config.1: version=1.1.11
+
+1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* glib.h (G[U]INT64_FROM_{LE,BE}):
+	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
+
+Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* acglib.m4
+	* configure.in: provide defaults for POLL sysdefs, simple enums
+	don't work with bitwise logic. Reported by Daniel Skarda
+	<0rfelyus@atrey.karlin.mff.cuni.cz>
+
+Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* INSTALL:
+	  NEWS:
+	  README:
+	  configure.in:
+	  docs/glib-config.1: version=1.1.10
+
+Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
+
+	* gmain.c: (g_get_current_time) don't cast to timeval since
+	  timeval is for some reason not always a struct of longs, weird
+
+Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
+
+	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
+	warnings.
+
+Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gmain.c: there was a reference count race for hooks during invocation
+	loops. since all (known) hook loop implementations, do currently start
+	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
+	g_hook_first_valid() will now return a referenced hook, and
+	g_hook_next_valid() will "eat" that, and eventually transfer it to
+	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
+ 	to take the hook_list as additional argument.
+
+	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
+
+Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
+
+	* gmain.c (g_main_iterate): default initialize source_timeout with -1
+	so we have a sane timeout value if (*prpare) doesn't set it.
+
+Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
+	scale of priorities.
+
+Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* gmain.c (g_main_poll): Allocate space for pollfd's
+	_after_ adding poll wake-up-pipe record.
+
+	* gmain.c (g_main_add_poll): Changed name
+	of internal function g_main_add_poll_unlocked()
+	back from the non-sensical g_main_add_unlocking_poll().
+
+Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.m4: fixed a minor bug that would let configures bail out
+	if the MODULES argument contained newlines.
+
+	* acglib.m4: new file to be included by configure.in. it holds
+	special GLIB_ autoconfiguration macros, eventually some of the
+	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
+	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
+
+Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
+
+	* fixed up sys/poll.h and sys/types.h inclusions.
+
+Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
+
+	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
+
+Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* gmain.c: Fix errors in computation of timeout
+	expiration times > 1sec.
+
+1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in (have_threads): Changed the last pthread_cond_init
+	to pthread_attr_init.
+
+Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gmain.c:
+	(g_main_is_running): new function to check whether a main loop has been
+	quitted.
+	(g_main_new): added a gboolean argument to determine whether the loop
+	should be considered initially running or not. however, g_main_run ()
+ 	will still reset the main loops running state to TRUE upon initial
+ 	entrance.
+
+	* gmain.c:
+ 	(g_main_iterate): documented this function's purpose in 5 steps.
+ 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
+	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
+ 	on them multiple times.
+
+Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
+
+	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
+	first, <sigh> (sorry Snorfle, i should have let you know in the first
+ 	place).
+	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
+	destructor when destroying a source.
+
+1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
+	reported by Alexander Larsson <alla@lysator.liu.se>.
+
+	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
+
+Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.9
+
+	* INSTALL:
+	  NEWS:
+	  README:
+	  configure.in:
+	  glib.spec:
+	  docs/glib-config.1: version=1.1.9
+
+Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* glib.h:
+	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
+                     s/g_main_poll_remove/g_main_remove_poll/g
+                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
+          (from Tim Janik)
+
+Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in: check for pthread_attr_init in all cases, du4
+	needs this since most of the other functions are just #defines
+
+Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
+	trailing semicolon with a bogus function declaration, instead
+	of with a bogus variable declarations, so we avoid unused
+	variable warnings.
+
+Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
+
+1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
+
+1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
+
+	* glib.h, gscanner.c: changed func_data to user_data in
+        g_scanner_scope_symbol_foreach and associated friends, because
+	AIX headers #define func_data.
+
+1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Fixed stupid bug, that made
+	g_static_mutex_lock(*mutex) not work as expected.
+
+	* docs/glib-config.1: Updated to reflect the existence of gthread.
+
+	* gmain.c (g_main_poll_add_unlocking): Changed
+	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
+	semantic, (indeed, main_loop must be locked, when calling this
+	function). Removed the unlocking from the end of that function, as
+	that is not right. Made a 'HOLDS' comment above the function.
+
+Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
+
+        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
+
+	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
+	g_trylock() to G_TRYLOCK(), since these are macros that expand to
+	nothing with --disable-threads.
+	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
+ 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
+	changed semantics of g_thread_supported to g_thread_supported() so it
+	can be used as a function like g_module_supported(). the actuall
+	definition is still a macro that expands into a variable for
+ 	performance reasons though.
+	various indentation and coding style cleanups.
+
+	* configure.in: added --enable-threads that defaults to yes.
+
+	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
+	changed variable settings of g_thread_supported
+ 	to g_threads_got_initialized.
+
+	garray.c:
+	gcache.c:
+	gdataset.c:
+	gdate.c:
+	ghash.c:
+	glist.c:
+	gmain.c:
+	gnode.c:
+	gslist.c:
+	gstring.c:
+	gtree.c:
+	gutils.c:
+	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
+ 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
+
+Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* INSTALL:
+	  NEWS:
+	  README
+	  configure.in:
+	  glib.spec:
+	  docs/glib-config.1: Incremented version
+
+Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
+
+	* configure.in: fixed the AIX thread checking.
+	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
+	is correct for AIX.
+
+Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
+
+	* glib-config.in (lib_glib): fixed library and flag ordering for
+	--libs
+
+Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* glib.h giounix.c giochannel.c: Use an "inheritance"
+	scheme for IO channel memory allocation.h
+
+1998-12-15  Havoc Pennington  <hp@pobox.com>
+
+	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
+	that produced garbage output for the test date I was using to
+	set up the parser. So use a different date that Solaris seems
+	to like.
+
+1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: Dont complain, if --without-threads or
+	--with-threads=none is supplied; Test for pthread_attr_init
+	instead of pthread_cond_init, if threads seems to be supported by
+	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
+	as well.
+
+	* glib.h, gmutex.c: Changed private to private_key to avoid
+	problems when compiling with under C++.
+
+1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
+
+	* configure.in:
+	bugfixes, correctly support --without-threads and friends
+
+	* gthread/testgthread.c: corrected 64-bitness problem
+
+Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* gnode.c glist.c gslist.c: Make sure all
+	calls to g_node_validate_allocator are within
+	current_allocator lock, so we have consistency
+	on that point. (Should not really matter,
+	but this way we match the comments)
+
+	* glist.c (g_list_free_1): Removed some lines
+	that should never have been committed. (For
+	debugging)
+
+1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gthread/gthread-nspr.c, configure.in: Added new default thread
+	implementation on top of the mozilla nspr library.
+
+	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
+	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
+	into GMutex and GPrivate resp. to make error reporting and use of
+	gmem possible in most (not all, though) gthread functions. Also
+	initialized the modules via new init functions.
+
+	* configure.in: Fixed syntax bug in definition of type
+	GStaticMutex.
+
+	* gthread/testgthread.c: Updated to work with nspr, but see note
+	there for remaining problems.
+
+1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
+	allocated before the thread system is set up.
+
+	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
+	as it is not necessary. Changed the error message. Corrected logic
+	for g_thread_use_default_impl.
+
+	* gmutex.c (g_mutex_init): Keep the thread private data array
+	after calling g_thread_init().
+
+1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gthread/testgthread.c (new_thread): Now also working for posix
+	threads; (wait_thread): Now a better implementation, that does not
+	use 100% CPU.
+
+	* Made the thread related code follow GNU coding standard.
+
+	* Made a comment (HOLDS:) above each function, that expects the
+	given locks to be held.
+
+	* Changed try_lock to trylock throughout.
+
+	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
+
+	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
+
+	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
+	form the poll_free_list.
+
+	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
+
+	* gthraed/*.c: Added copyright headers.
+
+	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
+	uses these module and endless recursions might happen, just use a
+	plain fprintf(stderr,...).
+
+	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
+
+	* gthread/testgthread.c: updated test program.
+
+Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* Start at adding thread-safety. (mostly work
+	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
+
+	- configure.in now looks for a system thread implementation.
+	Currently support is included for POSIX threads
+	and Solaris threads. The default support is built
+	into a separate library -lgthread.
+
+	- The thread implementation can be modified by passing
+	a vector of functions g_thread_init().
+
+	- The default or supplied functions are used to
+	implement a small set of thread functions for
+	mutexes, condition variables, and thread-private
+	data.
+
+	- GLib now uses these functions to provide thread
+	safety. (In the sense that all global static
+	data is locked... individual structures must still
+	be locked by the caller.)
+
+Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in: always define G_HAVE_INLINE if __cplusplus is
+ 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
+
+Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.7
+
+	* INSTALL:
+	  NEWS:
+	  README:
+	  configure.in:
+	  glib.spec:
+	  docs/glib-config.1: Increased version to 1.1.7
+
+Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
+
+	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
+	It shouldn't be there, and it was causing a double #define.
+        (config.h defines it also)
+
+Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.6
+
+	* NEWS: updated
+
+Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* gmain.c: fixes to #undef HAVE_POLL case
+
+1998-12-02  Havoc Pennington  <hp@pobox.com>
+
+	* gdate.c (g_date_set_month): If Julian is valid, we have to
+	update the dmy representation before setting the components
+	of it.
+	(g_date_set_day): Same.
+	(g_date_set_year): Same.
+
+1998-12-02  Havoc Pennington  <hp@pobox.com>
+
+	* testgdate.c, testgdateparser.c: Two new files. This is kind of
+	ugly code, but I want to go ahead and make the tests available.
+	It isn't contaminating any other code. :-) Since one of these
+	is interactive and the other takes a while to run, I've kept
+	them separate from testglib for now.
+	* Makefile.am: Build gdate test programs.
+
+1998-12-02  Havoc Pennington  <hp@pobox.com>
+
+	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
+	flags, rather than re-checking the validity of the actual
+	values. This should be the correct behavior, the old way was
+	leftover cruft.
+
+	* glib.h, gdate.c: Changed MDY to DMY throughout.
+
+Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* Makefile.am configure.in acconfig.h giochannel.c
+	  glib.h glist.c gmain.c gutils.c:
+
+        - Revised GIOChannel to provide a generic virtual-function
+  	  based interface.
+	- Added unix fd-based GIOChannel's
+	- Added generic main-loop abstraction
+	- Added timeouts and idle functions using main-loop abstraction.
+
+1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* glib.h:
+	* gdate.c: changed `gpointer struct_tm_p' parameter of
+	g_date_to_struct_tm back to `struct tm *tm' and forward declared
+	`struct tm' in glib.h; yes, this is nice, we still need not
+	include time.h.
+
+Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* INSTALL:
+          NEWS:
+	  README:
+	  glib.spec:
+	  docs/glib-config.1: Incremented versions to 1.1.6.
+
+Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
+
+	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
+	include time.h.
+
+	* glib.h: removed #include <time.h>, changed time_t paramter of
+ 	g_date_set_time() to time_t, changed struct tm parameter of
+	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
+	nice, but including time.h actually breaks a bunch of code.
+
+	* incremented GLib version to 1.1.6.
+
+1998-11-30  Havoc Pennington  <hp@pobox.com>
+
+	* gdate.c: New file, implements calendrical calculations.
+
+	* glib.h: Added declarations for GDate module.
+
+Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
+	hooks after they got marshalled.
+
+Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
+
+	* configure.in, Makefile.am, gmodule/Makefile.am:
+	Put -DFOO stuff into Makefile.am INCLUDES.
+
+Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
+	so CFLAGS can be overridden at make time properly
+
+Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
+
+	* ghash.c: implemented incremental freezing facility.
+
+Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
+	since it's to specialized and needs to be resolved in a generic
+	fashion.
+
+Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* applied glib-tml-981120-0, change log appended below.
+
+	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
+	infers them
+
+Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
+
+        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
+        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
+        added. Added "extern" to __declspec(dllimport).
+
+        * gutils.c: Initialise need_wakeups.
+
+        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
+
+        * gmodule/gmodule.def: Added g_module_build_path.
+
+        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
+        to before its use.
+
+        * glib.def: Added g_(s)list_sort.
+
+        * makefile.msc: A few more comments.
+
+Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
+
+	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
+	prototype.
+	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
+	Modified the prototypes of the functions g_hash_node_destroy() and
+	g_hash_nodes_destroy(), and changed the functions that call them
+	to match the new definitions.
+	This changes no external interfaces, and should create no binary
+	or source incompatibilities.  It does add a member to the
+	GHashTable structure.
+
+Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
+ 	function variants (which weren't working anyways) in favour of a
+ 	generic GAllocator type. new functions:
+	g_allocator_new, g_allocator_free, g_slist_push_allocator,
+	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
+	g_node_push_allocator and g_node_pop_allocator.
+
+	* gstring.c: removed bogus slist allocator code.
+	* gtree.c: maintain own list of free tree nodes and don't waste
+	GSLists for that, removed bogus slist allocator code.
+	* glist.c: use GAllocators for node allocation.
+	* gslist.c: use GAllocators for node allocation.
+	* gnode.c: use GAllocators for node allocation.
+
+	* gdataset.c: cleanups wrt automatic initialization.
+
+Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* glib.h garray.[ch]: added g_array_insert_vals() to
+	insert elements at an arbitrary index, and
+	g_array_insert_val() macro.
+
+Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gslist.c: new function g_slist_copy() to duplicate a list with all its
+	data pointers.
+	* glist.c: new function g_list_copy.
+
+Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* INSTALL:
+	  NEWS:
+	  README:
+	  configure.in:
+	  glib.spec: Updated to version 1.1.5
+
+	* Released GLib 1.1.5
+
+Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
+	* gdataset.c: There was a code path into g_data_set_internal
+	  through a function (g_datalist_id_set_full). Neither function
+	  checked for g_dataset_init having been run, but
+	  g_data_set_internal used the memchunk. I added
+	  a check into g_data_set_internal so it will do the
+	  initialization if needed. (There's probably a better way.)
+
+Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
+	a loop iteration if (-1) was passed, reported by Andreas Bombe
+ 	<andreas.bombe@munich.netsurf.de>.
+
+Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* glist.c gslist.c glib.h: Added g_list_sort() and
+	g_slist_sort() to merge sort GLists and GSLists.
+	Submitted by Sven Over <sven.over@ob.kamp.net>
+	over a year ago!
+
+	* testglib.c: Test the new sort functions.
+
+Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
+
+	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
+	DEFS.  Also there are bugs with '+=' in makefiles.
+	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
+	Removed redundant -I from INCLUDES.
+
+Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
+
+	* docs/*.sgml : Batch of new documentation that should be easier
+	to maintain and extend. Plus generate whatever sort of doc file
+	you would like. I didn't change the Makefile stuff as I'm not sure
+	what default doc type people want. Oh and this is all DocBook format.
+	Enjoy!
+
+Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in: use __extension__ for long long on gcc >= 2.8 and
+	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
+	compiles clean.
+
+	* glib.h: make the endian x86 asm __const__ so the compiler can do
+	better optimizations. Also remove the cc clobber, these shouldn't
+	be changing condition codes. Ditch some redundant casts. Add an
+	optimization for 64-bit endian conversions in x86. Use constant
+	wrapper for the generic method.
+
+	* testglib.c: use constant wrappers for 64-bit constants
+
+1998-11-04  Phil Schwan  <pschwan@cmu.edu>
+
+	* configure.in: Added 'strncasecmp' to the list of functions to be
+	searched for.
+	* glib.h: Added a prototype for 'g_strncasecmp'
+	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
+	'g_strcasecmp'
+
+Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* config.h.win32 (new file)
+	* glibconfig.h.win32
+	* glib.def
+	* makefile.msc: applied glib-tml-981104, win32 sync
+
+1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* glib.h:
+	* garray.c:
+	(g_array_remove_index): new function for removing an entry from an
+	array while preserving the order
+	(g_array_remove_index_fast): new function for removing an entry
+	from an array. the order might be distorted
+	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
+	functions; working similiar to the above. (they have the semantic
+	of the old g_ptr_array_remove[_index] functions)
+	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
+	the order of the elements in the array is not changed
+	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
+	functions; byte_array wrapper for g_array_remove_index[_fast]
+
+Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h
+	* configure.in: endian macros defined using the glibconfig.h
+	mechanism now
+
+	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
+
+Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
+	entry appended below)
+
+	* testglib.c
+	* gstrfuncs.c
+	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
+
+	* gmessages.c
+	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
+
+1998-11-01 Tor Lillqvist <tml@iki.fi>
+
+	* glib.def: Added the new functions.
+
+	* gutils.c:
+	(g_getenv): Better implementation on Win32. No loop necessary.
+	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
+	set home dir always to NULL on Win32.  Don't use tmp directory as
+	last resort home directory, but return NULL if no home
+	directory is known (application must check).
+
+	* makefile.msc: Better touch command, just COPYing a single file
+	sets the timestamp from that file, which isn't what touching should
+	do.
+
+1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
+
+	Land glib-rrh-19981025-0.patch.
+	* Makefile.am (glibconfig.h): New rule.
+	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
+	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
+	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
+	concluding "broken wctype".
+	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
+	config.status.
+	* glib.h: Remove a lot of tests and defines.  All these have been
+	moved to `configure.in (glibconfig.h)'.
+	* gerror.c: Include <config.h>.
+	* gmem.c: Likewise.
+	* gstrfuncs.c: Likewise.
+	* gutils.c: Likewise.
+
+Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
+	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
+ 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
+	(struct _GHookList): added a hook_free function member, that can be used
+	to free additional fields in derived hook structures.
+	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
+	to freeing the hook. (this functionality should have been there in the
+	first place, it just got forgotten as an implementation detail).
+
+Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
+	<robert@physiol.med.tu-muenchen.de>
+
+Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gscanner.c:
+	(g_scanner_sync_file_offset): new function for file input.
+	rewind the filedescriptor to the current buffer position and blow
+ 	the file read ahead buffer. usefull for third party uses of our
+ 	filedescriptor, which hooks onto the current scanning position.
+	(this became neccessary with the implementation of buffered
+	reads).
+	(g_scanner_input_file):
+	(g_scanner_input_text): automatically blow the read ahead buffer.
+	(g_scanner_get_char): blow the read ahead buffer when the end of
+	input is reached, i.e. a '\000' char is read.
+
+Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h: get rid of duplicate #g_htonl and friends in the
+	NATIVE_WIN32 part
+
+Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glibconfig.h.win32
+	* gutils.c
+	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
+	fixes some minor win32 buglets
+
+Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h: reimplemented the endian stuff, using inline asm
+	for x86. #define g_htonl and friends.
+
+	* testglib.c: new tests for the endian stuff
+
+	* configure.in: care for AIX in gmodule linker flags test (from
+	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
+	instead of existance of /usr/include/linux
+
+	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
+	of thine existance!
+
+Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: removed dummy structure definitions for struct _GCache,
+ 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
+
+	* gutils.c: implement glib's inline functions _after_ all include
+ 	statements have been processed.
+	removed Tor's MAXPATHLEN check since there already was one supplied
+	further down in this file.
+	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
+ 	since lcc maybe used on other platforms as well. why in hell is this
+	stuff required?
+	(g_get_any_init): for windows, if the user name is supplied, use it as
+	realname also.
+	in general, if there is no homedir specified, use the tmpdir that
+	we already figured.
+
+	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
+ 	g_return_if_fail().
+
+	* applied glib-tml-981020-0.patch for WIN32 portability, added some
+	comments and g_return_if_fail() statements, minor indentation fixes.
+	ChangeLog entry from Tor Lillqvist is appended.
+
+	* glib.h (struct dirent): use lower case structure members.
+
+	* glib.h:
+	* makefile.lcc:
+	* makefile.msc:
+	s/COMPILING_GLIB/GLIB_COMPILATION/
+
+1998-10-20: Tor Lillqvist <tml@iki.fi>
+
+	* README.win32 glib.def gmodule.def
+	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
+	New files for the Windows port. The .def files list exported
+	symbols for the Microsoft linker and compatibles.
+
+	* configure.in:
+	Added checks for some platform-dependent headers: pwd.h sys/param.h
+	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
+
+	* gerror.c:
+	Conditionalized inclusion of system-dependent headers. Changes
+	for Windows: no gdb to do a stack trace. Just call abort().
+
+	* glib.h:
+	Changes for Windows:
+
+	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
+	platform-dependent file name syntax elements. Added macros
+	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
+	platform-dependent search path syntax conventions.
+
+	Added pragmas for Microsoft C to make it more pedantic.
+
+	Marked GLib's global variables for export from DLL.
+
+	Added the function g_strescape that escapes backslashes.
+
+	Added functions g_path_is_absolute and g_path_skip_root to
+	handle platform-dependent file name syntax.
+
+	Added the function g_getenv that expands environment variables
+	that contain references to other environment variables, as is
+	typical on Windows NT.
+
+	Added the GIOChannel structure which is used to encapsulate the
+	IPC mechanism used by the GIMP's plug-ins, and possibly other
+	things later. On Unix a GIOChannel encapsulates just a file
+	descriptor. On Windows it contains a file handle from _pipe() and a
+	few other things related to the implementation of gdk_input_add
+	and GIMP plug-in communication. Subject to change.
+
+	Removed duplicate declarations of the version variables.
+
+	For the Microsoft compiler, declare own implementation of
+	ftruncate and the <dirent.h> functions.
+
+	* gmem.c:
+	Define a symbolic name  for the profiling table size.
+
+	* gmessages.c:
+	Conditionalized inclusion of unistd.h. On Windows, output using
+	stdio to stdout.
+
+	* gscanner.c:
+	Conditionalized inclusion of unistd.h. Added changes for
+	Microsoft C. Added CR to the skipped character set. Added small
+	workaround for MSC compiler bug in g_scanner_cur_value.
+
+	* gstrfuncs.c:
+	Added the function g_strescape, which escapes the backslash
+	character. Needed especially when printing Windows filenames.
+
+	* gtimer.c:
+	Conditionalized inclusion of unistd.h and sys/time.h. Added
+	implementations for Windows.
+
+	* gutils.c:
+	Conditionalized inclusion of platform-dependent headers. Use
+	the platform-independent file name syntax macros.
+	Conditionalize code on platform-dependent features. Added the
+	functions g_path_is_absolute g_path_skip_root and g_getenv.
+	Added the GIOChannel-related functions. Added
+	compiler-dependent Unix compatibility functions for Windows.
+
+	* makefile.lcc makefile.msc:
+	New files. Compiler-specific makefiles for LCC-Win32 and
+	Microsoft C. Only Microsoft C is actually supported currently.
+
+	* testglib.c:
+	Added pathname check cases for Windows. Added workaround for
+	bug in the Microsoft runtime library. Improved some tests a bit.
+
+Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.4
+
+	* docs/Makefile.am:
+	* docs/.cvsignore
+	* docs/glib-config.1:
+	* docs/glib.texi: Moved docs from gtk and created glib-config.1
+	from gtk-config.1 in gtk
+
+	* configure.in:
+	* Makefile.am:
+	* sanity_check: added in docs directory, change rule 'release'
+	to 'snapshot' and created a new 'release' rule for doing the
+	distribution.  Added in a 'sanity' rule.
+
+	* NEWS:
+	* README:
+	* INSTALL: Updated for the release
+
+Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c:
+	(g_scanner_peek_next_char):
+ 	(g_scanner_get_char): no more characters are available if read() returns
+ 	anything less than 1, not only on 0 return.
+
+	* glib.h:
+	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
+	argument order requirements.
+ 	(g_strsplit): renamed from g_str_array_split().
+	(g_strjoinv): renamed from g_str_array_joinv(), string array is
+	now passed as last parameter. removed `const' qualifier from string
+	array pointer (again).
+	(g_strjoin): new function from sopwith to concatenate strings with
+	an additional seperator.
+	(g_strfreev): renamed from g_str_array_free.
+
+Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* gnode.c: small fix to g_node_children_foreach to make it work right.
+	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
+
+Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
+ 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
+	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
+	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
+	to not needing an underscore. reverted the extra plugin.c building,
+	because .lo files are not ELF libraries, this can't work. This needs
+	further investigation on Solaris...
+
+Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
+ 	with the existing naming scheme for g_str* functions. grouped the g_str*
+	functions that will return a newly allocated string seperatedly. all of
+	the in_place arguments were skipped, the caller is supposed to pass a
+	g_strdup()ed string if he wants to retrive a new copy. indentation and
+	coding style fixups. added some g_return_if_fail() statements.
+	string array functions are prefixed with g_str_array_.
+	(g_strdelimit): return the modified string like all other g_str*
+ 	functions, that operate in place.
+	(g_strchug): renamed from g_str_chug(), removed in_place argument.
+	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
+	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
+	(g_str_array_join): renamed from g_strconcatv(), since it actually
+ 	operates on a string array and has totaly different semantics from
+	g_strconcat(). check for separator != NULL, don't segfault if the first
+ 	string is NULL. removed the `const' from the string array that's passed,
+	so users can operate on gchar** string arrays.
+	(g_str_array_split): renamed from g_str_split() because we actually
+ 	produce a string array. reimplemented this function for efficiency.
+	removed macro aliases g_str_joinv and g_str_join.
+
+1998-10-20  Elliot Lee  <sopwith@redhat.com>
+
+	* glib.h, gstrfuncs.c: Move string join/split/free routines from
+ 	libgnome/gnome-string, rename, and add g_str_chug.
+
+1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* configure.in: made the check for needed _ in module's func-names
+	work on solaris. (G_MODULE_NEED_USCORE must be set outside
+	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
+
+Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in
+	* acconfig.h: added test for endianness
+
+	* glib.h: #define endian macros for system and some conversions
+	between byte order
+
+Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gdataset.c: removed functions g_dataset_id_set_destroy and
+	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
+	g_datalist_set_destroy.
+	added new functions g_dataset_id_remove_no_notify and
+	g_datalist_id_remove_no_notify plus associated macros
+	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
+ 	will remove a certain data portion without invokation of its destroy
+ 	notifier, this should only be used in very controled circumstances.
+
+Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	removed the #pragma } statement after extern "C" {. use
+ 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
+
+	* glib.h:
+	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
+ 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
+	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
+	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
+	fixed the g_hook_find* functions, so they iterate over non-active
+	hooks as well.
+	(g_hook_first_valid):
+	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
+	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
+	or not. these two functions are meant as iterators for the hook list
+	invocation, so they need to a) provide functionality to implement
+	may_recurse bahaviour and b) only walk active hooks.
+
+Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
+
+	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
+	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
+ 	<mbp@wistful.humbug.org.au>).
+
+Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* ghook.c:
+	(g_hook_list_invoke):
+	(g_hook_list_invoke):
+	(g_hook_list_marshal): properly handle the first valid hook to call,
+	it maybe IN_CALL already.
+	(g_hook_list_marshal): minor name change.
+
+Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
+	with ObjC which reserves "id" as a keyword (Raja R Harinath
+ 	<harinath@cs.umn.edu>).
+
+Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
+
+	* Makefile.am: added ghook.c.
+
+	* glib.h:
+ 	* ghook.c: generic callback maintenance functions.
+
+	* glib.h: define G_GNUC_UNUSED.
+
+Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
+
+	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
+ 	of *text_end and *buffer for buffered read()s.
+
+	* gscanner.c: changed peeking and retrival of next character so we
+	have buffered reads. fixed minor bug with number parsing error
+	reporting. made some static!!! variables local ones (why did we use
+ 	static temporary variables in the lowlevel tokenization code anyways?).
+
+Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.3
+
+Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: added g_renew() which works as g_new() for g_realloc().
+
+Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
+
+	* NEWS file update for upcoming release of GLib + GModule
+	version 1.1.3, binary age 0, interface age 0. (GModule uses
+	the same version numbers as GLib.)
+
+	* glib.h: swap the inclusion of of float.h and limits.h to work
+	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
+	Per Abrahamsen  <abraham@dina.kvl.dk>).
+
+	* glib.h:
+	* gscanner.c: renamed the GValue union to GTokenValue, this should
+	not affect source compatibility in most cases.
+
+	* ghash.c: added some g_return_if_fail() statements. make
+ 	g_hash_table_lookup_node() an inline function so we save an extra
+	function invokation on lookups.
+
+Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
+	work.
+
+Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
+
+	* glib.h: New function g_hash_table_foreach_remove is similar to
+ 	g_hash_table_foreach, but the callback's return value indicates
+ 	whether to remove the element (if TRUE) or not (if FALSE).
+	Returns the number of elements deleted.
+
+Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h
+	* gstrfuncs.c: added g_memdup implementation
+
+Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gdataset.c: make the datalists a safe type (not using a generic
+	gpointer) by expecting a GData* argument in the g_datalist functions.
+	provide g_dataset_foreach() and g_datalist_foreach() functions that
+ 	allow a GDataForeachFunc function to walk the data lists.
+	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
+	can be called from within destroy notifiers as well).
+	the *_foreach functions are _not_ reentrant (unless all the other
+	dataset and datalist functions).
+
+Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
+
+	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
+	by Michal Kara).
+
+Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* config.h.in: removed from repository
+
+	* install-sh
+	* missing
+	* mkinstalldirs: updated to latest automake version
+
+Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
+	but operates on an opaque gpointer *datalist; pointer, e.g. for the
+	implementation of GtkObject named data.
+	we cache a certain portion of the already freed data entries now, to
+ 	gain a slight performance improve with data reallocation.
+
+Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
+	change library versioning scheme to drop LT_RELEASE
+	from the -l line, while keeping it in the soname.
+
+Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: explicitely include the prototypes for inline functions
+	to cure gcc warnings for -Wmissing-prototypes.
+
+Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in: added -posix check for NeXTStep
+
+Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: abandon the use of ATEXIT(), we keep the fallback
+	macros for backwards compatibility. people ought to use g_atexit().
+
+	* gutils.c (g_atexit): new function to take over the implementation
+	of ATEXIT. this function is guarranteed to succeed, similar to
+	g_malloc().
+
+Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in: comment the -std1 check and save LIBS properly
+
+Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in: check for all three inline keywords individually.
+
+	* glib.h: inlining hassle. for compilers that don't allow the `inline'
+ 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
+ 	to fall back to either `__inline__' or `__inline'.
+	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
+ 	to do function inlining, in which case inline function bodys do make
+ 	sense. we also define G_INLINE_FUNC to properly export the function
+ 	prototypes if no inlinig can be performed. we special case most of the
+ 	stuff, so inline functions can have a normal implementation by defining
+ 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
+
+	* ltconfig: (compiler PIC flag test): special case linux for non
+	aout systems to honour lcc's position independant code (cases
+	"linux*aout)" and "linux*)" got added). (this needs to go into
+	libtool which does an advanced test, checking for __LCC__).
+
+	* autogen.sh: take $CC=lcc into account by invoking automake with
+	--include-deps so lcc isn't scared by gcc's auto-dependancy
+	generation code. care about $ACLOCAL_FLAGS. optionally feature
+	autoheader.
+
+	* minor fixups in other places to cure some of lcc's warnings.
+
+Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* configure.in: added -std1 check for ANSI compliance (from gtk)
+
+Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
+
+Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* gutils.c (GLIB_INLINE): Define.
+	* glib.h (GLIB_INLINE): New define.
+	(g_bit_nth_msf): Use it.  Also, add prototype.
+	(g_bit_storage): Likewise.
+	(g_bit_storage): Likewise.
+
+Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
+	so the correct size of the memchunk is allocated with 0's and not
+	a memory portion of the size of the desired type.
+
+	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
+	a memory area allocated with g_mem_chunk_alloc() with 0's.
+
+Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
+
+	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
+	data argument const.
+
+Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gstrfuncs.c: new function g_strnfill() to return a new string
+	of specified length, filled with a specific character.
+
+Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
+
+	* testglib.c (main): Update the array tests.  Reduce the number of
+	iterations for the prepend test from 10000 to 100 since it is
+	O(n^2) and was taking longer than I would like to wait.
+
+	* garray.c: I've worked on the GArray interface, mostly.  It was
+ 	seriously broken before and I hate to do it, but this is going to
+ 	break some code.  It is important to do this now, because more and
+ 	more people are starting to use glib and the interface was both
+ 	broken and inconsistent.  First, rename the _truncate functions of
+ 	both the GArray and GPtrArray classes to _set_size, since this
+ 	function can also be used to extend the arrays.  GArray now
+ 	accepts two more initialization arguments: clear and element_size.
+  	Instead of providing the type to each access function, the array
+ 	now stores the element size.  Clear, if set, causes the library to
+ 	zero element's memory as the array expands.  The major broken-ness
+ 	here was that array->len was in bytes, not elements.  Now, since
+ 	the array knows its element size, array->len is correct and I have
+ 	removed the g_array_length macro.  The only macro which now
+ 	accepts the type as an argument is g_array_index, which casts the
+ 	element to the right type--this interface does not change.  The
+ 	append and prepend functions simply need the types removed.
+  	g_ptr_array_remove_index now returns the removed element.
+
+	* gprimes.c (g_spaced_primes_closest): Move this function out of
+ 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
+ 	so that they are actually prime (they weren't all -- isn't that
+ 	nice?).
+
+Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+ 	* gstring.c:
+	* gstrfuncs.c:
+ 	(g_vsprintf): removed this function which was not publically
+	exported in glib.h. to export it, it should have been named
+ 	differently in the first place, since its semantics differ from
+ 	vsprintf(). apart from that, it was a possible cause for
+	problems since it worked on a previously allocated memory area and
+	was used in a lot places of glib. exporting it would have been a
+	guararant for problems with threaded programs.
+	(g_printf_string_upper_bound): exported this function to return
+	a string size, guarranteed to be big enough to hold the fully
+ 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
+ 	in fact, the newly allocated area is in most cases much bigger than
+ 	required.
+	(g_strdup_vprintf()): new function returning a newly allocated string
+ 	containing the contents of *format and associated args (size is
+	calculated with g_printf_string_upper_bound()).
+	(g_strdup_printf): new function which wraps g_strdup_vprintf().
+
+	* configure.in: check for va_copy() or __va_copy() alternatively.
+	check whether va_lists can be copyied by value.
+
+	* glib.h: provide a definition for G_VA_COPY.
+
+	* glib.h:
+	* gmessages.c:
+ 	(g_logv):
+	(g_vsnprintf):
+	pass va_lists by value, not by reference, since this causes problems
+	on platforms that implement va_list as as arrays. internaly, use
+	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
+	va_list variable, if multiple passes are required. changed all
+	callers.
+
+	* glib.h:
+	* gerror.h:
+	renamed g_debug() to g_on_error_query(), cleaned up a bit.
+	renamed g_stack_trace() to g_on_error_stack_trace() since both
+	functions cluttered different namespaces.
+	there is an appropriate comment in glib.h now that explains the
+	unix and gdb specific dependencies of both functions.
+	removed g_attach_process().
+	g_on_error_stack_trace() should probably be handled with caution,
+	i've seem several different linux versions (2.0.x) become unstable
+	after invokation of this function.
+
+1998-08-18: Elliot Lee <sopwith@redhat.com>
+
+	* In gmem.c, add the ability to exclude memory chunks from the
+ 	  memory profiling information.
+
+Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h
+	* gstrfuncs.c: added g_strndup
+
+Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gmessages.c: new function g_log_set_always_fatal() to set an
+	additional fatal_mask for log levels that are considered to be fatal
+	globally (required by gtk). since this mask is not domain-associated,
+	it is restricted to the log levels, introduced by glib itself.
+
+	* gmem.c:
+	* grel.c:
+	* gtree.c (g_tree_node_check):
+	don't use g_print() calls for informational/debugging output,
+	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
+	libraries shouldn't use printf(), g_print() or g_printerr() at all.
+
+Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
+
+
+	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
+	`inline' a noop, since strict ANSI rules don't permit `inline'.
+
+Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
+
+	* grel.c: made private functions static.
+
+Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
+	  EXTRA_DIST
+	* glib.spec: version = 1.1.3
+
+Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.m4: feature an extra MODULES parameter, so glib-config can
+	be invoked with the "gmodule" argument.
+
+	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
+ 	g_return*_if_fail statements, and made them issue a message
+	like "assertion `%s' failed".
+
+	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
+ 	g_log_find_domain.
+
+Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
+
+        * version bump to 1.1.3, binary age 0, interface age 0.
+
+	* glib.h: be nice to platforms that don't have gint64 and don't
+	issue #warning on every compilation. since glib doesn't require
+	gint64 itself, packages that need gint64 should test for this
+ 	themselves.
+
+	* glib.h:
+	* gutils.c: added a new function g_vsnprintf().
+
+Sun Aug 16 Elliot Lee
+
+	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
+	        #warning if no gint64
+
+Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: added static inline functions for bit mask tests:
+	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
+
+Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gmessages.c:
+	revised the message handling system, which is now based on a new
+ 	mechanism g_log*. most of the assertment macros got adapted to
+	feature the new g_log() call with an additional specification of
+	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
+	is undefined upon the includion of glib.h, it'll be defined with a
+	value of (NULL) and thus preserves the original bahaviour for
+	warning and error messages. the message handler setting functions
+	for g_warning, g_error and g_message are only provided for backwards
+	compatibility and might get removed somewhen.
+
+	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
+	to "GLib" upon compilation. we currently have to add this definition
+	to the DEFS variable.
+	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
+	of this file currently, since automake doesn't support per target
+	_CFLAGS yet.
+
+	* glib.h: changed some gints to gbooleans, made a few const corrections,
+	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
+	in other required places.
+
+	* gnode.c:
+ 	(g_node_prepend):
+	(g_node_insert_before):
+	(g_node_insert):
+	(g_node_append_data):
+	(g_node_prepend_data):
+	(g_node_insert_data_before):
+	(g_node_insert_data):
+	(g_node_append):
+	return (node), so these macros/functions can be usefully chained with
+	g_node_new().
+
+Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h: it's GTime now, and it's back!
+
+Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
+
+	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
+	last. we do this by making all-recursive-am depend on all-am.
+
+Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in: added GModule checks. generate files in gmodule/.
+	* glib-config.in: support library specifications `glib' and `gmodule'.
+	* Makefile.am: feature the gmodule/ subdir.
+
+Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.2
+
+Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
+
+	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
+	  seem to return int so I cast it for printing, probably
+	  just cosmetic
+
+Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
+
+	* Released GLib 1.1.1
+
+Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
+	* NEWS: updates.
+	* README: updates.
+	* INSTALL: updates and fixes.
+	* COPYING: include the GNU LGPL, rather than shipping an empty file.
+	* AUTHORS: listed original authors here, and added people who made
+	significant improvements to glib.
+
+	* glib.h:
+	* gutils.c: implement g_get_current_dir() which returns a newly
+	allocated string, instead of a g_getcwd() variant that operates
+	on a static buffer.
+	export glib_interface_age and glib_binary_age.
+	as a convenience, macro definitions have been added for
+ 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
+	g_node_prepend_data.
+
+	* testglib.c: minor cleanups, print current dir.
+
+Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gnode.c: change order of gpointer data; field in struct _GNode to
+	be partly binary compatible with GList and GSList.
+
+1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* garray.c (g_ptr_array_remove_index): bugfix: index check for
+	array has been wrong.
+
+Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
+
+	* testglib.c (g_node_test): added a GNode test.
+
+Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
+
+	* Makefile.am: compile gnode.c.
+
+	* glib.h:
+	* gnode.c: added implementation of n-way trees.
+
+	* gtree.c (g_tree_traverse): added a warning to the switch() statement
+	which says that G_LEVEL_ORDER is not implemented.
+
+Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+	* Released GLib 1.1.0
+
+Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: #if 0'ed out the GTime definition, until it is definitively
+ 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
+ 	implementation.
+
+Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
+
+	* glib.h: gtime changed to g_time.  gtime is used in
+	/usr/include/time.h in NetBSD, causing multiple headaches.
+	If this isn't the right way of fixing it.... ;)
+
+Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gscanner.c: new functions to make a scanner scope sensitive wrt
+ 	symbol lookups.
+	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
+	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
+	g_scanner_set_scope.
+	g_scanner_add_symbol, g_scanner_remove_symbol and
+ 	g_scanner_foreach_symbol are now aliases for scope 0.
+
+Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
+
+	* glib.h: typo fixed for alphas for gint64
+
+Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gutils.c: new fuction g_dirname() which returns a newlly
+	allocated string.
+
+Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h:
+	* gutils.h: added a bunch of utility/wrapper functions:
+	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
+	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
+
+	* gutils.c: removed all g_str* functions.
+	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
+	place. this file shall never include <unistd.h> to avoid clashes for
+	some of the g_str* functions on some OSes.
+
+Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
+
+	* glib.h:
+	* ghash.c: Renamed g_hash_table_lookup_full to
+	g_hash_table_lookup_extended to conform with naming conventions.
+
+Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
+
+	* glib.h:
+	* ghash.c: Generic cleanup, added a function:
+	(g_hash_table_lookup_full): Return whether the lookup succeeded,
+	and also retrieve the key and value. This allows one to
+	distinguish between failed lookup and finding a NULL, and also
+	allows one to free a key in the hash.
+
+Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* ltconfig: fix for properly detecting shared lib support on
+	SunPro cc (taken from libtool 1.2.a)
+
+Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h: added g_array_length
+
+Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
+	account. react on valid/invalid string pairs.
+
+Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
+	ours. ;)
+
+Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
+
+	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
+ 	g_dataset_retrive_key in favour of GQuarks.
+	a GQuark is an numeric id wich is associated with a certain string.
+	(g_quark_try_string): try to get the quark associated with this string,
+ 	if the lookup failed return 0.
+	(g_quark_from_string): get the associated quark for a string, if there
+ 	isn't currently a GQuark associated with this string, then allocate a
+ 	new quark and return that.
+	(g_quark_from_static_string): like the above function, but the string
+ 	isn't strdup()ed to save memory.
+	(g_quark_to_string): get the string that is associated with a certain
+	GQuark.
+
+	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
+	_after_ the new data has been setup.
+
+Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* glib.h: Changed messages for g_return_[val]_if_fail to
+	be somewhat more clear: assertion "blah" failed.
+
+1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
+
+	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
+	warnings.
+
+	* grel.c: #include <string.h>
+
+Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h (GScanner): cleanups of the structure fields (binary
+	incompatible).
+
+Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
+
+	* glib.h: add new hash and equal functions g_int_*.  complement
+	g_direct_hash with g_direct_equal.
+
+	* grel.c: new file, GRelations implement tuples of N-N mappings.
+	A comment in glib.h briefly describes the interface.
+
+	* ghash.c: new function, g_hash_table_size
+
+	* glib.h: new typedefs, gsize, gssize, gtime.
+
+	* garray.c: new functions implementing a simplified GArray.  This
+	GPtrArray is an array of gpointers and has functions to add and
+	remove elements, much like java.lang.Vector.
+
+	* garray.c: new functions for the single-byte special case of
+	GArray.  The functions g_byte_array* operate on arrays of bytes.
+	Internally, a GArray is used.
+
+	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
+
+1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
+
+	* gdataset.c: #include <string.h>
+
+Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
+
+        * glib.h:
+        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
+        sizes, to take up less space on initial allocation.
+
+1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
+	the version from which glib's libtool forked.  Needed for people
+	who use post-1.2 alphas of libtool.
+	* configure.in (enable_mem_check, enable_mem_profile): Replace
+	`echo -n' with AC_MSG_CHECKING.
+	(fd_set): Explain test for `fd_set' better.
+
+Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* Makefile.am glib.m4 configure.in:
+
+	Moved out from GTK+; added AM_PATH_GLIB macro.
+
+Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* glib.h: renamed g_const_pointer => gconstpointer
+
+Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* glib.h: Remove #error - HP/UX.
+
+Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
+  [ Combination of:
+     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
+     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
+
+	* glib.h ghash.c gstring.c gdataset.c gutils.c:
+	- Added new typedef g_const_pointer; expunged all incorrect
+	  uses of 'const gpointer'.
+	- Fixed up warnings that that created,
+	- Changed GHashFunc and GCompareFunc to take g_const_pointer
+	  arguments. (Necessary, but will cause warnings in existing
+	  code until fixed)
+	- Added other new const in harmless positions.
+
+Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: added enum-helper macros for code generation.
+	added G_BREAKPOINT().
+
+Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
+
+	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
+	problems
+
+Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
+	like g_chunk_new() with additional 0 initialization.
+
+Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
+
+	* ghash.c (g_hash_table_insert): wrote a comment describing why
+	a hash node's key should not also get replaced when overriding
+ 	previous entries.
+
+Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h (g_string_sized_new): new function to controll the preallocated
+	size of a GString.
+
+	* glib.h (g_strreversed): new function to reverse a string.
+
+Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
+(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
+
+	* gutils.c: Restored a missing prototype for g_vsprintf.
+
+Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
+
+        * glib.h: conditionally define NULL, FALSE and TRUE.
+        (g_mem_chunk_create): new convenience macro as a short hand for
+        g_mem_chunk_new().
+        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
+
+Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
+
+	* gcompletion.c: generic functions for com<TAB>pletion...
+
+Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c (g_scanner_unexp_token): provide usefull default
+ 	specifications for identifier_spec and symbol_spec.
+
+	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
+ 	the data of the nth element in the list.
+
+Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
+ 	that for some reason didn't produce a compiler warning on my machine
+ 	(is va_end defined to nothing for i386?).
+
+Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
+
+	* gscanner.c: replaced some snprintf with g_snprintf
+
+Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
+	G_GNUC_NORETURN and G_GNUC_CONST.
+
+	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
+	(g_scanner_msg_handler): "\n" at end of line!
+	(g_scanner_foreach_symbol): new function to iterate over the symbol
+ 	table (GScanner does value-wrapping).
+
+Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h: typedef gint gboolean;
+	this is needed to provide portability with big-endian platforms (e.g.
+	try sizeof(bool) for c++ on big-endians - it's 4).
+	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
+ 	plus, gint to gboolean casts and vice versa need to be possible without
+ 	loss.
+
+Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
+
+ 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
+	GPOINTER_TO_[U]INT for storing small integers integers
+	inside pointers.
+
+	* glib/testglib.c: Print sizeof() results
+	as g_print("%ld", (glong)sizeof(foo)), to deal with
+	size_t being long on Alpha's.
+
+Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
+	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
+
+	* glib.h gstring.c gmessages.c: Added some missing
+	const to arguments.
+
+	* gutils.c (g_strsignal.c): Added missing return statements.
+
+Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
+	g_print from gutils.c to new file gmessages.c, to avoid having to
+	include <unistd.h> in gutils.c which was causing problems for the
+	g_strsignal implementation on FreeBSD boxes.
+
+Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
+
+	* configure.in: preserve automake CFLAGS.
+
+	* Makefile.am: fully rename the created library to libglib-1.1.la.
+	this means we need to change certain portions of the Makefile.am on
+	major/minor version bumps.
+
+	* ltmain.sh: the -release option is not required anymore.
+
+        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
+	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
+	MIN, ABS and CLAMP, these macros might be screwed from other headers.
+
+Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
+
+	* gdataset.c: new file, gdatasets implement the object data
+	mechanism from GtkObject. a generic data pointer is associated with
+	a certain location and a key id.
+
+Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
+
+        * glib/gmem.c: Experimentally restore GMemChunk
+        to its primeval state - where mem areas are
+        freed incrementally instead of searching the tree
+        every time a mem area is completely empty. Also,
+        always keep one mem chunk around. (Reduced calls
+        to malloc() a lot, but doesn't really improve
+        performance significiantly)
+
+Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
+
+	* glib.h (G_GNUC_PRINTF):
+	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
+	checking of gcc.
+
+	* gstring.c: const corrections, string!=NULL checks at function entry.
+	(g_string_down): new function for tolower(3) conversion.
+	(g_string_up): new function for toupper(3) conversion.
+
+	* gutils.c: const corrections.
+	(g_strdown): g_string_down() counterpart.
+	(g_strup): g_string_up() counterpart.
+
+	* gscanner.c (g_scanner_unexp_token):
+ 	(g_scanner_error):
+	(g_scanner_warn): new functions to let a scanner put out warnings
+ 	or errors, especially to react on unexpected tokens.
+
+	* gslist.c:
+ 	(g_slist_index): find out about about the position of a
+	certain data pointer.
+ 	(g_slist_position): find out about about the position of a
+	certain node.
+
+	* glist.c:
+ 	(g_list_index): find out about about the position of a
+	certain data pointer.
+
+Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
+
+	* ltmain.sh: added a new commandline flag -postfix similar to -release,
+	but will immediately change the library name.
+
+	* Makefile.am: specify -postfix and -version-info
+
+	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
+	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
+
+Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* gutils.c: (g_strcasecmp). Check for isupper before
+	taking tolower, and account for macroized tolower.
+
+	* gutils.c (g_error): Check for recursion.
+
+1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
+
+	* glist.c (g_list_position): New function to find the position of
+	a link in a list - should be the inverse of g_list_nth(), but
+	haven't tested it so poof.
+
+Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
+
+	* gstring.c : Check arguments more carefully,
+	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
+
+Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* gutils.c (g_direct_compare): Removed, because that's what
+	a NULL comparison function means. And it wasn't 64 bit safe.
+
+Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
+
+	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
+	of the format ".xxx" to be parsed as "xxx".
+
+Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* gutils.c (g_parse_debug_string): Make debug string
+	parsine case-insensitive
+
+Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* gstring.c: corrected possible overrun when inserting into
+	GStrings (thanks Elrond)
+
+Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* testglib.c: Removed literal german from strings
+	to appease SGI compiler.
+
+Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
+	use on_exit if atexit not found in definition of ATEXIT.
+
+Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* Makefile.am: Switched glibconfig.h rule from HEADERS
+	to DATA, so that it is not added to DISTFILES
+
+Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* garray.c: g_rarray_truncate length done correctly
+
+Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
+
+	* gutils.c: changed *_handler variables to be named glib_*_handler,
+	so you can easily access them from gdb.
+
+Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* Makefile.am: Don't refer to current directory as $(top_builddir)
+	to avoid confusing non-gmakes
+
+Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* Makefile.am (configincludedir): Moved glibconfig.h to
+          $(pkglibdir)/include
+
+Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
+
+	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
+	free symbol table entries upon destruction
+ 	(gtk-gronlund-980309-0.patch.gz).
+
+Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
+
+	* glib.h: changed *_length functions to return guint.
+	changed *_nth functions to take guint as argument.
+
+	* glist.c: adapted g_list_length and g_list_length.
+
+	* gslist.c: adapted g_slist_length and g_slist_length.
+
+Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* glib.h gutils.c : changed g_strcasecmp
+	  to take gchar* not guchar*
+
+	* testglib.c: Remove trailing ; after functions
+
+Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* glib.h gstring.c: Added g_string_insert[_c]()
+	  and g_string_erase().
+
+	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
+
+Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* glist.c (g_list_insert_sorted): Changed function
+	  so elements are always inserted, even if they compare
+	  equal with another.
+
+Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* gstring.c glib.h: removed deprecated g_string_equal
+	  and g_string_hash.
+
+Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* configure.in: Add check to see if the C library's
+	  iswalnum can actually be used. (Not true for
+	  Linux libc-5.4.38)
+
+Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* gstring.c gutils.c: added some additional consts in
+	  appropriate places to remove a warning
+
+Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* gutils.c: include <ctype.h> for tolower()
+
+Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* added and autoconfigured in a new utility function
+	g_strcasecmp
+
+Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glist.c
+	* gslist.c
+	* testglib.c: the sort functions compared backwards. Fixed
+	* glib.h: list iterator macros now check for NULL pointers
+
+Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* gstring.c: g_string_prepend and g_string_prepend_c had
+	interchanged src and dest parameters for g_memmove. Fixed.
+
+Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* gslist.c: fixed a really, really lame error. g_slist_insert
+	didn't hook the data in! Reworked the routine to reflect the
+	functionality of g_list
+
+Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
+
+	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
+	  to add function g_snprintf.
+        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
+        * glib.h: Add prototype for g_snprintf.
+        * glibconfig.h.in: Add HAVE_VSNPRINTF.
+        * gutils.c (g_snprintf): new function.
+
+Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* gstring.{c,h} gscanner.c:
+	   renamed g_string_equal => g_str_equal
+	   renamed g_string_hash => g_str_hash
+	  And const corrected. Old functions left in for now.
+
+Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
+
+	* gutils.c (g_strerror): changed message for EAGAIN from
+	"no more processes" to "try again" since EAGAIN is used with
+	functions else than fork().
+
+	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
+	strtoul() to avoid conflicts with solaris.
+
+	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
+ 	into this file.
+
+Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
+
+	* glib.h:
+	* glist.c:
+	* gslist.c:
+	* testglib.c: Added g_[s]list_insert_sorted function
+	and appropriate tests in testglib
+
+Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
+
+	* glib.h: Changed guint32 -> guint for bitfields.
+	(Bitfields must be int or unsigned int?)
+
+Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
+
+	* glib_pre1.h:
+	* glib_pre2.h:
+	* glib.h: reverted glibconfig.h and glib.h files back to the
+	way they were before my ugly hack.
+
+	* gscanner.c: removed inlines from clist and gscanner
+
+Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
+
+	* gscanner.c: new file for GScanner: Flexible lexical scanner for
+ 	general purpose.
+	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
+	gutils.c (g_strconcat): new function for string concatenation of NULL
+ 	terminated parameter list.
+	(g_strtod): new function to perform best string to double conversion
+	with or without consideration of the current locale.
+
+Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
+
+	* glist.c: minor optimizations:
+ 	(g_list_append): `if' optimized for common code path, commented out
+ 	unneccessary `assert', saved one variable assignment.
+	(g_list_prepend): saved two (conditioned) variable assignment.
+	(g_list_insert): saved one  (conditioned) variable assignment,
+	saved one variable assignment.
+	(g_list_remove): `if' optimized for common code path, saved two
+	variable assignments by using `g_list_free_1' (which is even
+ 	faster) instead of `g_list_free'.
+	(g_list_reverse): saved allocation of one variable, saved one
+	variable assignment.
+
+Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
+
+	* glib_pre1.h:
+	* glib_pre2.h:
+	* glib.h: this file now gets concatenated by makeglib_h from
+	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
+	created by configure (done by Jay Painter).
+
+	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
+	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
+	when used within if (...) g_macro(); else ... conditionals.
+
+Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
+
+	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
+	not call 'g_string' but to simply stringify the
+	expression. Calling 'g_string' causes the expression to be
+	expanded which is undesired.
+
+Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
+
+	* Started ChangeLog
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-12
+++ b/ChangeLog.pre-2-12
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 7add274..f9b8b06 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,2841 +1,23 @@
-Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
+Sat Mar  6 11:03:08 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
 
-	* glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
+	* gutils.c (g_get_any_init): add OS/2 changes.
+	change '\\' in HOME to '/'.
 
-1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
+1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
 
-	* glib.spec (Packager): Change my email address
+	* glib.def: g_spaced_primes_closest was omitted here, so I
+	couldn't build Xdelta on Windows.
 
-Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
+1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
-	* ChangeLog
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.15
+	* gutils.c (g_get_any_init): Fixed yet another bloody
+	implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
+	<olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
+	test better than that, but have no idea, how to do that easily.
 
-	* Released GLib 1.1.15
+Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
 
-Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
+	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
+	new one.
 
-	* gmessages.c (g_log_default_handler): (Win32:) Don't call
- 	ensure_stdout_valid (which would open an unneeded console window)
- 	if we're calling a logging function.  Define ensure_stdout_valid
- 	as an empty macro on Unix.
-
-	* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
-	then try HOMEDRIVE and HOMEPATH.
-
-Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_iterate): Release the main_loop
-	 lock around calls to prepare() and check() so
-	 that we are not holding the main loop lock
-	 over user code.
-
-1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved the check for MT safe function variants
-	after the determination of the MT cflags and use them there.
-
-1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed typo. Now HPUX 11 thread system detection
-	should work.
-
-	* gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
-	solve some problems out there.
-
-Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL
-	  NEWS
-	  README
-	  configure.in
-	  glib.spec
-	  docs/glib-config.1: version=1.1.14
-
-	* Released GLib 1.1.14
-
-1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Simplified configure.in test for posix threads,
-	systems, that provide /usr/include/pthread.h should also have the
-	posix thread library. This is to avoid writing down all the tests
-	twice. New test for thread system on HPUX 11. Info from Matt
-	Nottingham <matt@sar.dera.gov.uk>.
-
-Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4: Xsed isn't valid here, don't use it
-
-	* ltmain.sh
-	* ltconfig: better file magic regexp for Linux libs
-
-	* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
-	libs, revert my previous change to this file
-
-	* docs/texinfo.tex: add it so automake doesn't whine
-
-Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
-	Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
-	libraries and -ldl, to catch systems that provide dlopen() in libc
-	and dlsym() in libdl. this is at least the case for Reliant UNIX
-	5.44 (labeling itself as SINIX).
-
-Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: don't use backquotes in warning text
-
-1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gdate.c (g_date_set_time): Removed the #warning about MT
-	unsafety without localtime_r.
-
-	* configure.in: Moved it here.
-
-Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
-
-	* configure.in: (#define G_THREADS_IMPL...) Changed the #define,
-	adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
-	it looked wrong to me and was breaking gimp compile.
-
-Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
-
-	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
-	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
-	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
-	tion hides there.
-
-1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Do not use the thread libs, when searching for
-	some functions, as this might require glib to always be linked
-	with the thread libs on some platforms.
-
-	* gutils.c (g_get_any_init): Don't set errno to zero and use it
-	only as the error code, if the function returned a value less
-	0. It might happen, that the call succeeds, even though the errno
-	is set during the call (i.e. it first looks for a passwd file,
-	which is not found). Submitted by Michael Natterer
-	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
-	`getpwuid_r' change, but it had to be done once.
-
-Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): reverted raja's changes, since they leaked
-	a struct passwd contents buffer and for the rest mostly substituted a
-	while loop with a bunch of gotos.
-	restored the getpwuid() code to what we had after my recent clean ups
-	("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
-	to feature solaris behaviour of directly returning errno, we don't
-	modify error anymore if it's > 0 and simply reset errno.
-	don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
-
-1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c 
-	(g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
-	Hopefully got the error handling for `getpwuid_r' right.
-	(g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
-	Fix typo (change `pw == NULL' to `pw != NULL').
-	
-Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c:
-	- Revert previous "fix" (which really just did things a
-	  different way).
-	- (g_hash_table_remove): Don't need to support multiple values
-	  for a single key.
-
-	* tests/hash-test.c:
-	Add test where hash function always returns a single value.
-	Add beginnings of tests for g_hash_table_foreach[_remove] and
-	g_hash_table_remove.
-
-Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gutils.c: removed the #warning about MT without getpwuid_r
-
-	* configure.in: and moved it here
-
-Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
-		   g_hash_table_insert, g_hash_table_remove,
-		   g_hash_table_lookup_extended):
-	  - Fixed bug that overwrote nodes in hash buckets instead of
-	    adding them to the hash bucket node list.
-	    Hash tables now work as advertised.
-
-	(g_hash_table_resize):
-	  - Use g_new0 instead of manual init.
-	  - Space out code a bit for readability.
-
-	(g_hash_nodes_destroy):
-	  - Replaced "if (!hash_node) return;" with
-	    "if (hash_node) {do stuff}".
-	    Testing takes up less code space than explicit call to
-	    'return' before end of function.  (look at gcc -S)
-
-	Updated module header copyright to 1999.
-	New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
-
-	* tests/hash-test.c:
-	- Add two new tests, one with strings as the keys and values, and
-	  one with ints as the keys and values.  Tests indirect (strings)
-	  and direct (ints) hashing.
-	- Cleanup unused junk left over from testglib.c.
-	- Converted a g_print call to g_assert_not_reached.
-	- Updated copyright to 1999.
-
-	* testglib.c, tests/string-test.c:
-	- Init 'tmp_string' var to NULL, silencing uninit-var warning.
-
-1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
-	Rewrite not to look at `errno' if library call succeeds, since
-	`errno' is not reset to 0.
-	
-Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* glibconfig.h.win32: Update the magic values for
-	pthread_mutex_t size and initializer bytes to match the
-	latest version of pthreads for Win32.
-
-Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
-
-	* gutils.c (g_get_any_init): cleaned up the errno mess for
-	GETPWUID. we especially don't want to g_error() out here!
-	the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
-	gcc related.
-	if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
-	resetting it to NULL, why are we doing this anyways?
-	reordered code a bit so we always provide defaults (except
-	for g_home_dir).
-
-Fri Jan 22 16:51:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Added galloca.c.
-
-	* galloca.c:
-	Compile even if G_NATIVE_ALLOCA is not defined.
-	Don't use g_free and g_malloc [yet?].  Code appears to depend on
-	internal malloc() alignment sizes.
-
-	* tests/alloca-test.c:
-	Always test internal alloca replacement too, even if we have a
-	working alloca.
-	Make tests a little bit better by adding recursion
-	(more stack activity).
-
-Fri Jan 22 13:41:41 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for alloca, defining G_NATIVE_ALLOCA if present.
-
-	* galloca.c:
-	Import replacement alloca implementation from gettext 0.10.35.
-	Begin to convert to using GLib types and functions.
-
-	* glib.h:
-	New macros g_alloca, g_alloca_gc, g_alloca_new, to perform
-	stack-based memory allocations.
-
-	* tests/Makefile.am, tests/queue-test.c, tests/alloca-test.c:
-	New tests for g_alloca_*, GQueue ADT.
-
-	* tests/stack-test.c:
-	Fix pointer casts, include config.h, and
-	call g_stack_free at end of run.
-
-Fri Jan 22 11:58:13 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am:
-	Add gqueue.c.
-
-	* glib.h:
-	Add GQueue struct and prototypes.
-	Remove g_stack_free macro.
-
-	* gqueue.c
-	New file.  Implementation of a queue ADT.
-
-	* gstack.c:
-	Rename _g_stack_free back to g_stack_free.
-
-	* tests/Makefile.am, tests/stack-test.c:
-	New test for GStack objects.
-
-Fri Jan 22 02:06:10 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstack.c:
-	New stack ADT implementation.
-
-	* glib.h:
-	Add g_stack function prototypes and macros.
-		
-Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* TODO:
-	New file.  Short notes on what has been said in e-mail, plus a
-	couple other new items.
-
-	* glib.h, glist.c:
-	New function g_list_delete().  Removes a node from the list,
-	then frees it.
-
-Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/{Makefile.am, string-test.c, strfunc-test.c}:
-	Separate string and strfunc tests, working towards goal of
-	having separate test for each of the GLib modules.
-	Add a couple GString length tests.
-
-Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Use AC_PREREQ not AC_REQUIRE for autoconf version test.
-
-1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Changed error handling again, as the
-	error is not always set in errno, it is the return value on some
-	systems. What an evil world.
-
-Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* gstrfuncs.c: Include signal.h only when the signal names will be
-	needed.
-
-Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* configure.in / Makefile.am : made some adjustments for automake 1.4
-	and autoconf 2.13 (per suggestions made by  Raja R Harinath
-	<harinath@cs.umn.edu>)
-
-Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
-
-	* autogen.sh: automake 1.4 and libtool 1.2d notices.
-	(maybe I'll write an actual test for automake 1.4 later)
-
-Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* HACKING: new file
-
-	* Makefile.am: since we require automake 1.4 now, ditch the build
-	top-level first and just use SUBDIRS
-
-	* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
-	the install rule
-
-Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gutils.c (g_get_any_init):
-	Revert previous patch, move error value set line down to proper
-	place.  Caught by Elliot Lee <sopwith@redhat.com>.
-
-Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
-
-	* gutils.c (g_get_any_init): All gtk apps were broken
-	here on my setup.  I changed the error to a warning to at
-	least get things limping.
-
-1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Use getpwuid_r with the right
-	signature, if available.
-
-	* configure.in, acconfig.h: Test for existance of getpwuid_r and
-	its signature.
-
-Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
-	
-	* Makefile.am (EXTRA_DIST): Add new Win32 files.
-
-	* README.win32: Describe the conditional compilation macros.
-
-	* makefile.lcc: Removed.
-
-1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Moved test for localtime_r and rand_r to a place
-	after the determination of the G_THREAD_LIBS and use them for
-	finding those functions, necessary on systems with a different C
-	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
-	Timur Bakeyev <mc@bat.ru>.
-
-Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
-	declaration breaks systems with different declarations, like
-	mine (FreeBSD).  So, I added a configuration variable to decide
-	whether the declaration is neccesary.  Change also appears on
-	line 275 of configure.in.
-
-Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.13
-
-	* README:
-	  INSTALL:
-	  docs/glib-config: ver=1.1.13
-
-Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
-
-	* NEWS: updates for 1.1.13.
-
-Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_traverse): removed assertion about rtree->root being
-	NULL, so this function can be applied to unpopulated trees as well, fix
-	provided by Simon Kagedal <sika8225@csd.uu.se>.
-
-Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: add packager address
-
-Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
-
-	* glib.spec: increment version number to 1.1.13
-
-Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
-	((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
-	by Seth Alves <alves@hungry.com>.
-
-Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
-	GHookList.hook_destroy function.
-
-	* ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
-	is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
-	we now clean up the hook completely afterwards, i.e. data, func and
-	destroy are immediately set to NULL and hook_free can't play with that
-	values anymore.
-
-	* gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
-	instead of using an ugly _noop() hack, this is to avoid an uneccessary
-	function invokation. set hook_free to g_source_destroy_func, this way
-	we always invoke the destroy notifiers for user_data and source_data
-	after execution of dispatch(). thus, g_source_destroy_func() will always
-	be called within the main_loop lock (this wasn't really assured
-	before), and can release and reaquire the look around destroy notifier
-	invokation.
-
-Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
-
-	* config.h.win32 glibconfig.h.win32: Increment version number here
- 	also.
-
-Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
-
-	* configure.in: incremented version number to 1.1.13, bin age 0,
-	interface age 0.
-
-	* glib.h: added hook_destroy member to struct _GHookList.
-
-	* ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
-	function, use that to marshal hook destruction notifiers.
-
-	* gmain.c: removed g_source_free_func and added g_source_destroy_func,
-	which marshalls the user_data and source_data destructors of sources
-	outside of the main_loop lock.
-	removed GIdleData struct since its sole member callback can be passed
-	as source_data directly.
-	added a gboolean return value to all g_source_remove* functions,
-	indicating whether the source could be removed, because these functions
-	don't issue warnings upon unseccessful removals themselves. this way at
-	least the caller gets a chance to warn upon failing removals.
-	(g_main_iterate): set in_check_or_prepare around calls to check() or
-	prepare().
-	(g_main_pending): simply return FALSE if called from within check() or
-	prepare().
-	(g_main_iteration): issue a warning if called from within check() or
-	prepare() and bail out with FALSE.
-	(g_main_run): likewise.
-	(g_source_remove_by_funcs_user_data): new function to remove sources by
-	user data and function table.
-	(g_idle_remove_by_data): new function to really remove idles only, since
-	g_source_remove_by_user_data would remove timeouts or other sources as
-	well.
-
-1999-01-16  Tor Lillqvist  <tml@iki.fi>
-
-	* Merge in current Win32 version:
-
-	* README.win32: More text.
-
-	* config.h.win32 glibconfig.h.win32: Update to match the
-	corresponding generated files on Unix.
-
-	* makefile.msc: Update with new source files, and gthread
- 	library. Use the compiler flag -MD instead of using -D_DLL and
-	/nodefaultlib:libc msvcrt.lib in the link phase.
-
-	* glib.def: Update to include new functions, drop removed ones.
-
-	* glib.h: Add comments about main loop and polling on Win32. (In
-	general, it's only for the GIMP's use.) Add Win32 IO Channel
-	functions. Remove the obsoleted old IO Channel stuff (which was
-	in #if 0 already).
-
-	* giowin32.c: New file.
-
-	* gmain.c: Include config.h, conditionalize <sys/time.h>
- 	inclusion.  Add g_poll implementation for Win32 (only for the
- 	GIMP's needs for now, it's hard or even impossible to be as clean
- 	and generic as on Unix). Implement g_get_current_time on Win32. If
- 	threads aren't supported, don't try to wake up main thread's
- 	loop. On Win32, use a semaphore and not a pipe to wake up the main
- 	loop.
-
-	* gmessages.c: On Win32, allocate a console window if the standard
-	output handle is invalid before writing to stdout, and reopen stdout
-	to that console window.
-
-	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
-	cleanup.
-
-	* gstrfuncs.c: Include <signal.h>.
-
-	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
-	environment variables.
-
-Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
-
-	* configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
-
-Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* glib.h: don't use inline for !__GNUC__ case with g_warning,
-	g_error, and g_message wrappers since some compilers throw
-	away arguments in this case
-
-Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acinclude.m4
-	* ltconfig
-	* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-
-	* testglib.c: removed unused cruft
-
-Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* gdate.c: #warning isn't portable, check for gcc
-
-1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-        * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
-
-        * configure.in: Moved function check back to the place, they've
-        been before.
-
-1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
-
-	* gstrfuncs.c:
-	Do not use vasprintf.
-
-	* configure.in, glib.h, testglib.c, tests/.cvsignore,
-	  tests/Makefile.am, tests/alloca-test.c:
-	Do not use alloca.
-
-1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Test for localtime_r only after including the
-	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
-
-	* configure.in: Find right thread system on DG/UX. Thanks to Marc
-	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
-	stuff for -fstack-check, that didnt work anyway.
-
-	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
-	function is available on thread enabled systems. Define ptm only,
-	if really needed, and assert on it.
-
-Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c:
-	Make all aux functions static.
-
-	* tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
-	New tests dirname-test and type-test, from testglib.
-
-Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in:
-	Add checks for vasprintf, localtime_r.
-
-	* gdate.c (g_date_set_time):
-	Use localtime if localtime_r is not available.
-
-	* gstrfuncs.c (g_strdup_vprintf):
-	Use glibc vasprintf if possible; it's a bit faster than using
-	GLib routines, and makes output code a bit smaller.
-
-	* acconfig.h:
-	Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
-	up automatically and puts them in config.h.in.
-
-Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_source_free_func): Call the source-specific
-	free function when the hook is freed not when it
-	is destroyed; this fixes a bug where a timeout destroyed
-	from itself would access already freed data.
-
-1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gutils.c (g_get_any_init): Here we must replace getpwuid by
-	getpwuid_r, but as I do not know how for now, I just made a FIXME
-	note ;-)
-
-	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
-	thread safe.
-
-	* configure.in: We do not need to check for broken solaris mutex
-	intitializer any longer. Provide a macro to show the used thread
-	implementation. Not nice, but this is needed until thread support
-	is completed here inside glib.
-
-Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
-	the # needs to be in column 1
-
-	* gthread/testgthread.c: cleanups
-
-	* tests/node-test.c: #include unistd.h for exit()
-
-1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
-
-	* glib.h (g_array_insert_val): fix macro to be shorthand of
-	g_array_insert_vals.
-
-Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4: some echos interpret \n's and some don't. Deal with
-	accordingly.
-
-Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c: eliminated extraneous "register" qualifiers in variable
-	declarations.
-
-	* gmain.c: #undef events and revents which may have been defined in
- 	sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
-	provided by Philippe Defert <Philippe.Defert@cern.ch>.
-
-Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
-
-	* glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
-	so their arguments get only evaluated once. changed g_strconcat3_a to
-	have the same semantics as g_strconcat, i.e. if a certain argument is
- 	NULL, the rest of the parameter list is skipped.
-
-	* tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
- 	able to compile on all systems. added test for g_strconcat() semantics.
-
-	* we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
-
-Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.12
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-	  glib.spec:
-          docs/glib-config.1: version=1.1.12
-
-	* tests/Makefile.am: fixed so it works properly with
-	  builddir and srcdir.
-
-Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* tests/Makefile.am:
-	add array-test.c, tree-test.c
-
-	* tests/array-test.c, tests/tree-test.c:
-	New module, tests array family
-
-	* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
-	  tests/string-test.c, tests/node-test.c:
-	Clean out cruft left over from testglib.
-
-Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* Makefile.am, configure.in, tests/*:
-	Added 'make check' tests, based on testglib code.
-
-Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h, testglib.c:
-	Added g_alloca, g_new_a, g_new0_a macros.
-
-Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* testglib.c: Added g_strdup_printf check.
-
-Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h:
-	(g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
-	s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
-
-	* testglib.c:
-	Added g_strdup, g_strconcat checks.
-	Added str==NULL checks for alloca string macros.
-	s/g_strconcat_a/g_strconcat3_a/
-
-Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
-
-	* testglib.c: made the alloca tests follow the testglib style
-
-	* Makefile.am: minor cleanups, mostly cosmetic
-
-Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* glib.h: added g_strndup_a macro
-
-	* testglib.c:
-	Added tests for new alloca-based string routines.
-	Reformatted a couple strings.
-
-Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
-
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke_check):
-	(g_hook_list_marshal_check):
-	(g_hook_list_marshal): avoid unneccessary extra hook referencing (the
-	explicit hook referencing became unneccessarry with my changes from
-	Mon Dec 21 21:48:29 1998).
-
-	* gmain.c (g_main_iterate): fixed reference counting leaks with
- 	premature loop aborts.
-
-Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
-	as G_TOKEN_IDENTIFIER.
-
-Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, glib.h:
-	Added two new alloca-based function macros, g_strdup_a and
-	g_strconcat_a.	These are stack-based and much faster than
-	their g_malloc-based counterparts.  Kudos to Ulrich Drepper
-	for help on this one.
-
-Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-        * Released GLib 1.1.11
-
-        * INSTALL:
-          NEWS:
-          README:
-          configure.in:
-          docs/glib-config.1: version=1.1.11
-
-1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* glib.h (G[U]INT64_FROM_{LE,BE}):
-	Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
-
-Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* acglib.m4
-	* configure.in: provide defaults for POLL sysdefs, simple enums
-	don't work with bitwise logic. Reported by Daniel Skarda
-	<0rfelyus@atrey.karlin.mff.cuni.cz>
-
-Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  docs/glib-config.1: version=1.1.10
-
-Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
-
-	* gmain.c: (g_get_current_time) don't cast to timeval since
-	  timeval is for some reason not always a struct of longs, weird
-
-Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
-
-	* ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
-	warnings.
-
-Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c: there was a reference count race for hooks during invocation
-	loops. since all (known) hook loop implementations, do currently start
-	out with g_hook_first_valid() and iterate with g_hook_next_valid(),
-	g_hook_first_valid() will now return a referenced hook, and
-	g_hook_next_valid() will "eat" that, and eventually transfer it to
-	the next hook. <sigh> unfortunately this requires g_hook_next_valid()
- 	to take the hook_list as additional argument.
-
-	* gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
-
-Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_iterate): default initialize source_timeout with -1
-	so we have a sane timeout value if (*prpare) doesn't set it.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
-	scale of priorities.
-
-Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c (g_main_poll): Allocate space for pollfd's
-	_after_ adding poll wake-up-pipe record.
-
-	* gmain.c (g_main_add_poll): Changed name
-	of internal function g_main_add_poll_unlocked()
-	back from the non-sensical g_main_add_unlocking_poll().
-
-Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: fixed a minor bug that would let configures bail out
-	if the MODULES argument contained newlines.
-
-	* acglib.m4: new file to be included by configure.in. it holds
-	special GLIB_ autoconfiguration macros, eventually some of the
-	easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
-	GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
-
-Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up sys/poll.h and sys/types.h inclusions.
-
-Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
-
-	* fixed up gthread includes, cleaned up glibconfig.h a little bit.
-
-Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gmain.c: Fix errors in computation of timeout
-	expiration times > 1sec.
-
-1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in (have_threads): Changed the last pthread_cond_init
-	to pthread_attr_init.
-
-Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmain.c:
-	(g_main_is_running): new function to check whether a main loop has been
-	quitted.
-	(g_main_new): added a gboolean argument to determine whether the loop
-	should be considered initially running or not. however, g_main_run ()
- 	will still reset the main loops running state to TRUE upon initial
- 	entrance.
-
-	* gmain.c:
- 	(g_main_iterate): documented this function's purpose in 5 steps.
- 	for step 2), flag sources as G_SOURCE_READY even if !dispatch and
-	check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
- 	on them multiple times.
-
-Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
-	first, <sigh> (sorry Snorfle, i should have let you know in the first
- 	place).
-	(g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
-	destructor when destroying a source.
-
-1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
-	reported by Alexander Larsson <alla@lysator.liu.se>.
-
-	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
-
-Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.9
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: version=1.1.9
-
-Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* glib.h:
-	  giounix.c: s/g_main_poll_add/g_main_remove_add/g
-                     s/g_main_poll_remove/g_main_remove_poll/g
-                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
-          (from Tim Janik)
-
-Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: check for pthread_attr_init in all cases, du4
-	needs this since most of the other functions are just #defines
-
-Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
-	trailing semicolon with a bogus function declaration, instead
-	of with a bogus variable declarations, so we avoid unused
-	variable warnings.
-
-Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
-
-1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* glib.h, gscanner.c: changed func_data to user_data in
-        g_scanner_scope_symbol_foreach and associated friends, because
-	AIX headers #define func_data.
-
-1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Fixed stupid bug, that made
-	g_static_mutex_lock(*mutex) not work as expected.
-
-	* docs/glib-config.1: Updated to reflect the existence of gthread.
-
-	* gmain.c (g_main_poll_add_unlocking): Changed
-	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
-	semantic, (indeed, main_loop must be locked, when calling this
-	function). Removed the unlocking from the end of that function, as
-	that is not right. Made a 'HOLDS' comment above the function.
-
-Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
-
-        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
-
-	* glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
-	g_trylock() to G_TRYLOCK(), since these are macros that expand to
-	nothing with --disable-threads.
-	changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
- 	G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
-	changed semantics of g_thread_supported to g_thread_supported() so it
-	can be used as a function like g_module_supported(). the actuall
-	definition is still a macro that expands into a variable for
- 	performance reasons though.
-	various indentation and coding style cleanups.
-
-	* configure.in: added --enable-threads that defaults to yes.
-
-	* gmutex.c: changed tests g_thread_supported to g_thread_supported (),
-	changed variable settings of g_thread_supported
- 	to g_threads_got_initialized.
-
-	garray.c:
-	gcache.c:
-	gdataset.c:
-	gdate.c:
-	ghash.c:
-	glist.c:
-	gmain.c:
-	gnode.c:
-	gslist.c:
-	gstring.c:
-	gtree.c:
-	gutils.c:
-	changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
- 	s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
-
-Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Incremented version
-
-Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
-
-	* configure.in: fixed the AIX thread checking.
-	Just an error on the wildcard.  BTW, -D_THREAD_SAFE
-	is correct for AIX.
-
-Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
-
-	* glib-config.in (lib_glib): fixed library and flag ordering for
-	--libs
-
-Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glib.h giounix.c giochannel.c: Use an "inheritance"
-	scheme for IO channel memory allocation.h
-
-1998-12-15  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
-	that produced garbage output for the test date I was using to
-	set up the parser. So use a different date that Solaris seems
-	to like.
-
-1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: Dont complain, if --without-threads or
-	--with-threads=none is supplied; Test for pthread_attr_init
-	instead of pthread_cond_init, if threads seems to be supported by
-	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
-	as well.
-
-	* glib.h, gmutex.c: Changed private to private_key to avoid
-	problems when compiling with under C++.
-
-1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
-
-	* configure.in:
-	bugfixes, correctly support --without-threads and friends
-
-	* gthread/testgthread.c: corrected 64-bitness problem
-
-Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* gnode.c glist.c gslist.c: Make sure all
-	calls to g_node_validate_allocator are within
-	current_allocator lock, so we have consistency
-	on that point. (Should not really matter,
-	but this way we match the comments)
-
-	* glist.c (g_list_free_1): Removed some lines
-	that should never have been committed. (For
-	debugging)
-
-1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/gthread-nspr.c, configure.in: Added new default thread
-	implementation on top of the mozilla nspr library.
-
-	* gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
-	Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
-	into GMutex and GPrivate resp. to make error reporting and use of
-	gmem possible in most (not all, though) gthread functions. Also
-	initialized the modules via new init functions.
-
-	* configure.in: Fixed syntax bug in definition of type
-	GStaticMutex.
-
-	* gthread/testgthread.c: Updated to work with nspr, but see note
-	there for remaining problems.
-
-1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gmutex.c, glib.h: Now abort, if a mutex/cond/private is
-	allocated before the thread system is set up.
-
-	* gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
-	as it is not necessary. Changed the error message. Corrected logic
-	for g_thread_use_default_impl.
-
-	* gmutex.c (g_mutex_init): Keep the thread private data array
-	after calling g_thread_init().
-
-1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* gthread/testgthread.c (new_thread): Now also working for posix
-	threads; (wait_thread): Now a better implementation, that does not
-	use 100% CPU.
-
-	* Made the thread related code follow GNU coding standard.
-
-	* Made a comment (HOLDS:) above each function, that expects the
-	given locks to be held.
-
-	* Changed try_lock to trylock throughout.
-
-	* glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
-
-	* glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
-
-	* gmain.c (g_main_poll_add_unlocked): first take a new poll record
-	form the poll_free_list.
-
-	* gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
-
-	* gthraed/*.c: Added copyright headers.
-
-	* gthread/gthread-solaris.c: do not use g_log for errors, as g_log
-	uses these module and endless recursions might happen, just use a
-	plain fprintf(stderr,...).
-
-	* gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
-
-	* gthread/testgthread.c: updated test program.
-
-Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Start at adding thread-safety. (mostly work
-	of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
-
-	- configure.in now looks for a system thread implementation.
-	Currently support is included for POSIX threads
-	and Solaris threads. The default support is built
-	into a separate library -lgthread.
-
-	- The thread implementation can be modified by passing
-	a vector of functions g_thread_init().
-
-	- The default or supplied functions are used to
-	implement a small set of thread functions for
-	mutexes, condition variables, and thread-private
-	data.
-
-	- GLib now uses these functions to provide thread
-	safety. (In the sense that all global static
-	data is locked... individual structures must still
-	be locked by the caller.)
-
-Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: always define G_HAVE_INLINE if __cplusplus is
- 	defined, reported by Wan-Teh Chang <wtc@netscape.com>.
-
-Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.7
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec:
-	  docs/glib-config.1: Increased version to 1.1.7
-
-Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
-
-	* Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
-	It shouldn't be there, and it was causing a double #define.
-        (config.h defines it also)
-
-Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.6
-
-	* NEWS: updated
-
-Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gmain.c: fixes to #undef HAVE_POLL case
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_set_month): If Julian is valid, we have to
-	update the dmy representation before setting the components
-	of it.
-	(g_date_set_day): Same.
-	(g_date_set_year): Same.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* testgdate.c, testgdateparser.c: Two new files. This is kind of
-	ugly code, but I want to go ahead and make the tests available.
-	It isn't contaminating any other code. :-) Since one of these
-	is interactive and the other takes a while to run, I've kept
-	them separate from testglib for now.
-	* Makefile.am: Build gdate test programs.
-
-1998-12-02  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
-	flags, rather than re-checking the validity of the actual
-	values. This should be the correct behavior, the old way was
-	leftover cruft.
-
-	* glib.h, gdate.c: Changed MDY to DMY throughout.
-
-Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am configure.in acconfig.h giochannel.c
-	  glib.h glist.c gmain.c gutils.c:
-
-        - Revised GIOChannel to provide a generic virtual-function
-  	  based interface.
-	- Added unix fd-based GIOChannel's
-	- Added generic main-loop abstraction
-	- Added timeouts and idle functions using main-loop abstraction.
-
-1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* gdate.c: changed `gpointer struct_tm_p' parameter of
-	g_date_to_struct_tm back to `struct tm *tm' and forward declared
-	`struct tm' in glib.h; yes, this is nice, we still need not
-	include time.h.
-
-Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-          NEWS:
-	  README:
-	  glib.spec:
-	  docs/glib-config.1: Incremented versions to 1.1.6.
-
-Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
-
-	* gdate.c: s/time_t/GTime/ and s/g_print/g_message/
-	include time.h.
-
-	* glib.h: removed #include <time.h>, changed time_t paramter of
- 	g_date_set_time() to time_t, changed struct tm parameter of
-	g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
-	nice, but including time.h actually breaks a bunch of code.
-
-	* incremented GLib version to 1.1.6.
-
-1998-11-30  Havoc Pennington  <hp@pobox.com>
-
-	* gdate.c: New file, implements calendrical calculations.
-
-	* glib.h: Added declarations for GDate module.
-
-Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: added g_hook_list_marshal_check() to eventually destroy
-	hooks after they got marshalled.
-
-Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
-
-	* configure.in, Makefile.am, gmodule/Makefile.am:
-	Put -DFOO stuff into Makefile.am INCLUDES.
-
-Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
-	so CFLAGS can be overridden at make time properly
-
-Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c: implemented incremental freezing facility.
-
-Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
-	since it's to specialized and needs to be resolved in a generic
-	fashion.
-
-Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981120-0, change log appended below.
-
-	* glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
-	infers them
-
-Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
-
-        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
-        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
-        added. Added "extern" to __declspec(dllimport).
-
-        * gutils.c: Initialise need_wakeups.
-
-        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
-
-        * gmodule/gmodule.def: Added g_module_build_path.
-
-        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
-        to before its use.
-
-        * glib.def: Added g_(s)list_sort.
-
-        * makefile.msc: A few more comments.
-
-Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>
-
-	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
-	prototype.
-	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
-	Modified the prototypes of the functions g_hash_node_destroy() and
-	g_hash_nodes_destroy(), and changed the functions that call them
-	to match the new definitions.
-	This changes no external interfaces, and should create no binary
-	or source incompatibilities.  It does add a member to the
-	GHashTable structure.
-
-Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed the GListAllocator type and its g_*_allocator_*()
- 	function variants (which weren't working anyways) in favour of a
- 	generic GAllocator type. new functions:
-	g_allocator_new, g_allocator_free, g_slist_push_allocator,
-	g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
-	g_node_push_allocator and g_node_pop_allocator.
-
-	* gstring.c: removed bogus slist allocator code.
-	* gtree.c: maintain own list of free tree nodes and don't waste
-	GSLists for that, removed bogus slist allocator code.
-	* glist.c: use GAllocators for node allocation.
-	* gslist.c: use GAllocators for node allocation.
-	* gnode.c: use GAllocators for node allocation.
-
-	* gdataset.c: cleanups wrt automatic initialization.
-
-Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h garray.[ch]: added g_array_insert_vals() to
-	insert elements at an arbitrary index, and
-	g_array_insert_val() macro.
-
-Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gslist.c: new function g_slist_copy() to duplicate a list with all its
-	data pointers.
-	* glist.c: new function g_list_copy.
-
-Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* INSTALL:
-	  NEWS:
-	  README:
-	  configure.in:
-	  glib.spec: Updated to version 1.1.5
-
-	* Released GLib 1.1.5
-
-Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
-
-	* gdataset.c: There was a code path into g_data_set_internal
-	  through a function (g_datalist_id_set_full). Neither function
-	  checked for g_dataset_init having been run, but
-	  g_data_set_internal used the memchunk. I added
-	  a check into g_data_set_internal so it will do the
-	  initialization if needed. (There's probably a better way.)
-
-Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
-	a loop iteration if (-1) was passed, reported by Andreas Bombe
- 	<andreas.bombe@munich.netsurf.de>.
-
-Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* glist.c gslist.c glib.h: Added g_list_sort() and
-	g_slist_sort() to merge sort GLists and GSLists.
-	Submitted by Sven Over <sven.over@ob.kamp.net>
-	over a year ago!
-
-	* testglib.c: Test the new sort functions.
-
-Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
-
-	* Makefile.am : INCLUDES is the right way to add to CFLAGS, not
-	DEFS.  Also there are bugs with '+=' in makefiles.
-	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
-	Removed redundant -I from INCLUDES.
-
-Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
-
-	* docs/*.sgml : Batch of new documentation that should be easier
-	to maintain and extend. Plus generate whatever sort of doc file
-	you would like. I didn't change the Makefile stuff as I'm not sure
-	what default doc type people want. Oh and this is all DocBook format.
-	Enjoy!
-
-Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: use __extension__ for long long on gcc >= 2.8 and
-	egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
-	compiles clean.
-
-	* glib.h: make the endian x86 asm __const__ so the compiler can do
-	better optimizations. Also remove the cc clobber, these shouldn't
-	be changing condition codes. Ditch some redundant casts. Add an
-	optimization for 64-bit endian conversions in x86. Use constant
-	wrapper for the generic method.
-
-	* testglib.c: use constant wrappers for 64-bit constants
-
-1998-11-04  Phil Schwan  <pschwan@cmu.edu>
-
-	* configure.in: Added 'strncasecmp' to the list of functions to be
-	searched for.
-	* glib.h: Added a prototype for 'g_strncasecmp'
-	* gstrfuncs.c: (g_strncasecmp) new function modeled closely after
-	'g_strcasecmp'
-
-Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.win32 (new file)
-	* glibconfig.h.win32
-	* glib.def
-	* makefile.msc: applied glib-tml-981104, win32 sync
-
-1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* glib.h:
-	* garray.c:
-	(g_array_remove_index): new function for removing an entry from an
-	array while preserving the order
-	(g_array_remove_index_fast): new function for removing an entry
-	from an array. the order might be distorted
-	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
-	functions; working similiar to the above. (they have the semantic
-	of the old g_ptr_array_remove[_index] functions)
-	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
-	the order of the elements in the array is not changed
-	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
-	functions; byte_array wrapper for g_array_remove_index[_fast]
-
-Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* configure.in: endian macros defined using the glibconfig.h
-	mechanism now
-
-	* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-
-Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
-	entry appended below)
-
-	* testglib.c
-	* gstrfuncs.c
-	* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
-
-	* gmessages.c
-	* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-
-1998-11-01 Tor Lillqvist <tml@iki.fi>
-
-	* glib.def: Added the new functions.
-
-	* gutils.c:
-	(g_getenv): Better implementation on Win32. No loop necessary.
-	(g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
-	set home dir always to NULL on Win32.  Don't use tmp directory as
-	last resort home directory, but return NULL if no home
-	directory is known (application must check).
-
-	* makefile.msc: Better touch command, just COPYing a single file
-	sets the timestamp from that file, which isn't what touching should
-	do.
-
-1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
-
-	Land glib-rrh-19981025-0.patch.
-	* Makefile.am (glibconfig.h): New rule.
-	(stamp-gc-h): New rule.  Generate `glibconfig.h'.
-	* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
-	(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
-	concluding "broken wctype".
-	(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
-	config.status.
-	* glib.h: Remove a lot of tests and defines.  All these have been
-	moved to `configure.in (glibconfig.h)'.
-	* gerror.c: Include <config.h>.
-	* gmem.c: Likewise.
-	* gstrfuncs.c: Likewise.
-	* gutils.c: Likewise.
-
-Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
-	added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
- 	G_STRUCT_MEMBER() for handling structure fields through their offsets.
-	(struct _GHookList): added a hook_free function member, that can be used
-	to free additional fields in derived hook structures.
-	g_hook_free(): if hook_list->hook_free != NULL, call this function prior
-	to freeing the hook. (this functionality should have been there in the
-	first place, it just got forgotten as an implementation detail).
-
-Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
-	<robert@physiol.med.tu-muenchen.de>
-
-Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c:
-	(g_scanner_sync_file_offset): new function for file input.
-	rewind the filedescriptor to the current buffer position and blow
- 	the file read ahead buffer. usefull for third party uses of our
- 	filedescriptor, which hooks onto the current scanning position.
-	(this became neccessary with the implementation of buffered
-	reads).
-	(g_scanner_input_file):
-	(g_scanner_input_text): automatically blow the read ahead buffer.
-	(g_scanner_get_char): blow the read ahead buffer when the end of
-	input is reached, i.e. a '\000' char is read.
-
-Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: get rid of duplicate #g_htonl and friends in the
-	NATIVE_WIN32 part
-
-Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glibconfig.h.win32
-	* gutils.c
-	* makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
-	fixes some minor win32 buglets
-
-Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: reimplemented the endian stuff, using inline asm
-	for x86. #define g_htonl and friends.
-
-	* testglib.c: new tests for the endian stuff
-
-	* configure.in: care for AIX in gmodule linker flags test (from
-	Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
-	instead of existance of /usr/include/linux
-
-	* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
-	of thine existance!
-
-Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: removed dummy structure definitions for struct _GCache,
- 	_GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
-
-	* gutils.c: implement glib's inline functions _after_ all include
- 	statements have been processed.
-	removed Tor's MAXPATHLEN check since there already was one supplied
-	further down in this file.
-	(LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
- 	since lcc maybe used on other platforms as well. why in hell is this
-	stuff required?
-	(g_get_any_init): for windows, if the user name is supplied, use it as
-	realname also.
-	in general, if there is no homedir specified, use the tmpdir that
-	we already figured.
-
-	* gtimer.c (g_timer_elapsed): changed a g_assert() statement to
- 	g_return_if_fail().
-
-	* applied glib-tml-981020-0.patch for WIN32 portability, added some
-	comments and g_return_if_fail() statements, minor indentation fixes.
-	ChangeLog entry from Tor Lillqvist is appended.
-
-	* glib.h (struct dirent): use lower case structure members.
-
-	* glib.h:
-	* makefile.lcc:
-	* makefile.msc:
-	s/COMPILING_GLIB/GLIB_COMPILATION/
-
-1998-10-20: Tor Lillqvist <tml@iki.fi>
-
-	* README.win32 glib.def gmodule.def
-	* glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
-	New files for the Windows port. The .def files list exported
-	symbols for the Microsoft linker and compatibles.
-
-	* configure.in:
-	Added checks for some platform-dependent headers: pwd.h sys/param.h
-	sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
-
-	* gerror.c:
-	Conditionalized inclusion of system-dependent headers. Changes
-	for Windows: no gdb to do a stack trace. Just call abort().
-
-	* glib.h:
-	Changes for Windows:
-
-	Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
-	platform-dependent file name syntax elements. Added macros
-	G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
-	platform-dependent search path syntax conventions.
-
-	Added pragmas for Microsoft C to make it more pedantic.
-
-	Marked GLib's global variables for export from DLL.
-
-	Added the function g_strescape that escapes backslashes.
-
-	Added functions g_path_is_absolute and g_path_skip_root to
-	handle platform-dependent file name syntax.
-
-	Added the function g_getenv that expands environment variables
-	that contain references to other environment variables, as is
-	typical on Windows NT.
-
-	Added the GIOChannel structure which is used to encapsulate the
-	IPC mechanism used by the GIMP's plug-ins, and possibly other
-	things later. On Unix a GIOChannel encapsulates just a file
-	descriptor. On Windows it contains a file handle from _pipe() and a
-	few other things related to the implementation of gdk_input_add
-	and GIMP plug-in communication. Subject to change.
-
-	Removed duplicate declarations of the version variables.
-
-	For the Microsoft compiler, declare own implementation of
-	ftruncate and the <dirent.h> functions.
-
-	* gmem.c:
-	Define a symbolic name  for the profiling table size.
-
-	* gmessages.c:
-	Conditionalized inclusion of unistd.h. On Windows, output using
-	stdio to stdout.
-
-	* gscanner.c:
-	Conditionalized inclusion of unistd.h. Added changes for
-	Microsoft C. Added CR to the skipped character set. Added small
-	workaround for MSC compiler bug in g_scanner_cur_value.
-
-	* gstrfuncs.c:
-	Added the function g_strescape, which escapes the backslash
-	character. Needed especially when printing Windows filenames.
-
-	* gtimer.c:
-	Conditionalized inclusion of unistd.h and sys/time.h. Added
-	implementations for Windows.
-
-	* gutils.c:
-	Conditionalized inclusion of platform-dependent headers. Use
-	the platform-independent file name syntax macros.
-	Conditionalize code on platform-dependent features. Added the
-	functions g_path_is_absolute g_path_skip_root and g_getenv.
-	Added the GIOChannel-related functions. Added
-	compiler-dependent Unix compatibility functions for Windows.
-
-	* makefile.lcc makefile.msc:
-	New files. Compiler-specific makefiles for LCC-Win32 and
-	Microsoft C. Only Microsoft C is actually supported currently.
-
-	* testglib.c:
-	Added pathname check cases for Windows. Added workaround for
-	bug in the Microsoft runtime library. Improved some tests a bit.
-
-Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.4
-
-	* docs/Makefile.am:
-	* docs/.cvsignore
-	* docs/glib-config.1:
-	* docs/glib.texi: Moved docs from gtk and created glib-config.1
-	from gtk-config.1 in gtk
-
-	* configure.in:
-	* Makefile.am:
-	* sanity_check: added in docs directory, change rule 'release'
-	to 'snapshot' and created a new 'release' rule for doing the
-	distribution.  Added in a 'sanity' rule.
-
-	* NEWS:
-	* README:
-	* INSTALL: Updated for the release
-
-Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c:
-	(g_scanner_peek_next_char):
- 	(g_scanner_get_char): no more characters are available if read() returns
- 	anything less than 1, not only on 0 return.
-
-	* glib.h:
-	* gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
-	argument order requirements.
- 	(g_strsplit): renamed from g_str_array_split().
-	(g_strjoinv): renamed from g_str_array_joinv(), string array is
-	now passed as last parameter. removed `const' qualifier from string
-	array pointer (again).
-	(g_strjoin): new function from sopwith to concatenate strings with
-	an additional seperator.
-	(g_strfreev): renamed from g_str_array_free.
-
-Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gnode.c: small fix to g_node_children_foreach to make it work right.
-	From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
-
-Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
- 	from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
-	behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
-	changed the return value from (!f2 && f1) to (!f2 || f1) so we default
-	to not needing an underscore. reverted the extra plugin.c building,
-	because .lo files are not ELF libraries, this can't work. This needs
-	further investigation on Solaris...
-
-Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: API cleanups of the new g_str* functions for consistency
- 	with the existing naming scheme for g_str* functions. grouped the g_str*
-	functions that will return a newly allocated string seperatedly. all of
-	the in_place arguments were skipped, the caller is supposed to pass a
-	g_strdup()ed string if he wants to retrive a new copy. indentation and
-	coding style fixups. added some g_return_if_fail() statements.
-	string array functions are prefixed with g_str_array_.
-	(g_strdelimit): return the modified string like all other g_str*
- 	functions, that operate in place.
-	(g_strchug): renamed from g_str_chug(), removed in_place argument.
-	(g_strchomp): renamed from g_str_chomp(), removed in_place argument.
-	(g_strstrip): renamed from g_str_strip(), removed in_place argument.
-	(g_str_array_join): renamed from g_strconcatv(), since it actually
- 	operates on a string array and has totaly different semantics from
-	g_strconcat(). check for separator != NULL, don't segfault if the first
- 	string is NULL. removed the `const' from the string array that's passed,
-	so users can operate on gchar** string arrays.
-	(g_str_array_split): renamed from g_str_split() because we actually
- 	produce a string array. reimplemented this function for efficiency.
-	removed macro aliases g_str_joinv and g_str_join.
-
-1998-10-20  Elliot Lee  <sopwith@redhat.com>
-
-	* glib.h, gstrfuncs.c: Move string join/split/free routines from
- 	libgnome/gnome-string, rename, and add g_str_chug.
-
-1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* configure.in: made the check for needed _ in module's func-names
-	work on solaris. (G_MODULE_NEED_USCORE must be set outside
-	AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
-
-Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in
-	* acconfig.h: added test for endianness
-
-	* glib.h: #define endian macros for system and some conversions
-	between byte order
-
-Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: removed functions g_dataset_id_set_destroy and
-	g_datalist_id_set_destroy and macros g_dataset_set_destroy and
-	g_datalist_set_destroy.
-	added new functions g_dataset_id_remove_no_notify and
-	g_datalist_id_remove_no_notify plus associated macros
-	g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
- 	will remove a certain data portion without invokation of its destroy
- 	notifier, this should only be used in very controled circumstances.
-
-Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	removed the #pragma } statement after extern "C" {. use
- 	(c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
-
-	* glib.h:
-	* ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
- 	G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
-	changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
-	G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
-	fixed the g_hook_find* functions, so they iterate over non-active
-	hooks as well.
-	(g_hook_first_valid):
-	(g_hook_next_valid): added an extra argument gboolean may_be_in_call,
-	which indicates whether G_HOOK_IN_CALL() hooks are considered valid
-	or not. these two functions are meant as iterators for the hook list
-	invocation, so they need to a) provide functionality to implement
-	may_recurse bahaviour and b) only walk active hooks.
-
-Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
-
-	* gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
-	defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
- 	<mbp@wistful.humbug.org.au>).
-
-Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c:
-	(g_hook_list_invoke):
-	(g_hook_list_invoke):
-	(g_hook_list_marshal): properly handle the first valid hook to call,
-	it maybe IN_CALL already.
-	(g_hook_list_marshal): minor name change.
-
-Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
-	with ObjC which reserves "id" as a keyword (Raja R Harinath
- 	<harinath@cs.umn.edu>).
-
-Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: added ghook.c.
-
-	* glib.h:
- 	* ghook.c: generic callback maintenance functions.
-
-	* glib.h: define G_GNUC_UNUSED.
-
-Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.4, binary age 0, interface age 0.
-
-	* glib.h (struct _GScanner): dumped peeked_char and text_len in favour
- 	of *text_end and *buffer for buffered read()s.
-
-	* gscanner.c: changed peeking and retrival of next character so we
-	have buffered reads. fixed minor bug with number parsing error
-	reporting. made some static!!! variables local ones (why did we use
- 	static temporary variables in the lowlevel tokenization code anyways?).
-
-Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.3
-
-Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added g_renew() which works as g_new() for g_realloc().
-
-Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
-
-	* NEWS file update for upcoming release of GLib + GModule
-	version 1.1.3, binary age 0, interface age 0. (GModule uses
-	the same version numbers as GLib.)
-
-	* glib.h: swap the inclusion of of float.h and limits.h to work
-	around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
-	Per Abrahamsen  <abraham@dina.kvl.dk>).
-
-	* glib.h:
-	* gscanner.c: renamed the GValue union to GTokenValue, this should
-	not affect source compatibility in most cases.
-
-	* ghash.c: added some g_return_if_fail() statements. make
- 	g_hash_table_lookup_node() an inline function so we save an extra
-	function invokation on lookups.
-
-Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* ltmain.sh: Patch to libtool-1.2b to make --disable-static
-	work.
-
-Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* glib.h: New function g_hash_table_foreach_remove is similar to
- 	g_hash_table_foreach, but the callback's return value indicates
- 	whether to remove the element (if TRUE) or not (if FALSE).
-	Returns the number of elements deleted.
-
-Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_memdup implementation
-
-Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: make the datalists a safe type (not using a generic
-	gpointer) by expecting a GData* argument in the g_datalist functions.
-	provide g_dataset_foreach() and g_datalist_foreach() functions that
- 	allow a GDataForeachFunc function to walk the data lists.
-	(g_dataset_destroy_internal): made this function truely reentrant (i.e.
-	can be called from within destroy notifiers as well).
-	the *_foreach functions are _not_ reentrant (unless all the other
-	dataset and datalist functions).
-
-Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
-
-	* gtree.c (g_tree_new): check for key_compare_func != NULL (reported
-	by Michal Kara).
-
-Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* config.h.in: removed from repository
-
-	* install-sh
-	* missing
-	* mkinstalldirs: updated to latest automake version
-
-Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gdataset.c: implemented g_datalist_* along the lines of g_dataset,
-	but operates on an opaque gpointer *datalist; pointer, e.g. for the
-	implementation of GtkObject named data.
-	we cache a certain portion of the already freed data entries now, to
- 	gain a slight performance improve with data reallocation.
-
-Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
-	change library versioning scheme to drop LT_RELEASE
-	from the -l line, while keeping it in the soname.
-
-Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: explicitely include the prototypes for inline functions
-	to cure gcc warnings for -Wmissing-prototypes.
-
-Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -posix check for NeXTStep
-
-Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: abandon the use of ATEXIT(), we keep the fallback
-	macros for backwards compatibility. people ought to use g_atexit().
-
-	* gutils.c (g_atexit): new function to take over the implementation
-	of ATEXIT. this function is guarranteed to succeed, similar to
-	g_malloc().
-
-Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: comment the -std1 check and save LIBS properly
-
-Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: check for all three inline keywords individually.
-
-	* glib.h: inlining hassle. for compilers that don't allow the `inline'
- 	keyword, mostly because of strict ANSI C compliance or dumbness, we try
- 	to fall back to either `__inline__' or `__inline'.
-	we define G_CAN_INLINE, if the compiler seems to be actually *capable*
- 	to do function inlining, in which case inline function bodys do make
- 	sense. we also define G_INLINE_FUNC to properly export the function
- 	prototypes if no inlinig can be performed. we special case most of the
- 	stuff, so inline functions can have a normal implementation by defining
- 	G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
-
-	* ltconfig: (compiler PIC flag test): special case linux for non
-	aout systems to honour lcc's position independant code (cases
-	"linux*aout)" and "linux*)" got added). (this needs to go into
-	libtool which does an advanced test, checking for __LCC__).
-
-	* autogen.sh: take $CC=lcc into account by invoking automake with
-	--include-deps so lcc isn't scared by gcc's auto-dependancy
-	generation code. care about $ACLOCAL_FLAGS. optionally feature
-	autoheader.
-
-	* minor fixups in other places to cure some of lcc's warnings.
-
-Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* configure.in: added -std1 check for ANSI compliance (from gtk)
-
-Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
-
-Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* gutils.c (GLIB_INLINE): Define.
-	* glib.h (GLIB_INLINE): New define.
-	(g_bit_nth_msf): Use it.  Also, add prototype.
-	(g_bit_storage): Likewise.
-	(g_bit_storage): Likewise.
-
-Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	(g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
-	so the correct size of the memchunk is allocated with 0's and not
-	a memory portion of the size of the desired type.
-
-	* gmem.c: new function g_mem_chunk_alloc0() which will initialize
-	a memory area allocated with g_mem_chunk_alloc() with 0's.
-
-Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
-
-	* garray.c glib.h (g_array_[ap/pre]pend_vals): make
-	data argument const.
-
-Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gstrfuncs.c: new function g_strnfill() to return a new string
-	of specified length, filled with a specific character.
-
-Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
-
-	* testglib.c (main): Update the array tests.  Reduce the number of
-	iterations for the prepend test from 10000 to 100 since it is
-	O(n^2) and was taking longer than I would like to wait.
-
-	* garray.c: I've worked on the GArray interface, mostly.  It was
- 	seriously broken before and I hate to do it, but this is going to
- 	break some code.  It is important to do this now, because more and
- 	more people are starting to use glib and the interface was both
- 	broken and inconsistent.  First, rename the _truncate functions of
- 	both the GArray and GPtrArray classes to _set_size, since this
- 	function can also be used to extend the arrays.  GArray now
- 	accepts two more initialization arguments: clear and element_size.
-  	Instead of providing the type to each access function, the array
- 	now stores the element size.  Clear, if set, causes the library to
- 	zero element's memory as the array expands.  The major broken-ness
- 	here was that array->len was in bytes, not elements.  Now, since
- 	the array knows its element size, array->len is correct and I have
- 	removed the g_array_length macro.  The only macro which now
- 	accepts the type as an argument is g_array_index, which casts the
- 	element to the right type--this interface does not change.  The
- 	append and prepend functions simply need the types removed.
-  	g_ptr_array_remove_index now returns the removed element.
-
-	* gprimes.c (g_spaced_primes_closest): Move this function out of
- 	ghash.c and rename it from g_hash_closest_prime.  Fix the primes
- 	so that they are actually prime (they weren't all -- isn't that
- 	nice?).
-
-Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
- 	* gstring.c:
-	* gstrfuncs.c:
- 	(g_vsprintf): removed this function which was not publically
-	exported in glib.h. to export it, it should have been named
- 	differently in the first place, since its semantics differ from
- 	vsprintf(). apart from that, it was a possible cause for
-	problems since it worked on a previously allocated memory area and
-	was used in a lot places of glib. exporting it would have been a
-	guararant for problems with threaded programs.
-	(g_printf_string_upper_bound): exported this function to return
-	a string size, guarranteed to be big enough to hold the fully
- 	expanded format+args string. added 'q', 'L' and 'll' flag handling.
- 	in fact, the newly allocated area is in most cases much bigger than
- 	required.
-	(g_strdup_vprintf()): new function returning a newly allocated string
- 	containing the contents of *format and associated args (size is
-	calculated with g_printf_string_upper_bound()).
-	(g_strdup_printf): new function which wraps g_strdup_vprintf().
-
-	* configure.in: check for va_copy() or __va_copy() alternatively.
-	check whether va_lists can be copyied by value.
-
-	* glib.h: provide a definition for G_VA_COPY.
-
-	* glib.h:
-	* gmessages.c:
- 	(g_logv):
-	(g_vsnprintf):
-	pass va_lists by value, not by reference, since this causes problems
-	on platforms that implement va_list as as arrays. internaly, use
-	G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
-	va_list variable, if multiple passes are required. changed all
-	callers.
-
-	* glib.h:
-	* gerror.h:
-	renamed g_debug() to g_on_error_query(), cleaned up a bit.
-	renamed g_stack_trace() to g_on_error_stack_trace() since both
-	functions cluttered different namespaces.
-	there is an appropriate comment in glib.h now that explains the
-	unix and gdb specific dependencies of both functions.
-	removed g_attach_process().
-	g_on_error_stack_trace() should probably be handled with caution,
-	i've seem several different linux versions (2.0.x) become unstable
-	after invokation of this function.
-
-1998-08-18: Elliot Lee <sopwith@redhat.com>
-
-	* In gmem.c, add the ability to exclude memory chunks from the
- 	  memory profiling information.
-
-Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h
-	* gstrfuncs.c: added g_strndup
-
-Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c: new function g_log_set_always_fatal() to set an
-	additional fatal_mask for log levels that are considered to be fatal
-	globally (required by gtk). since this mask is not domain-associated,
-	it is restricted to the log levels, introduced by glib itself.
-
-	* gmem.c:
-	* grel.c:
-	* gtree.c (g_tree_node_check):
-	don't use g_print() calls for informational/debugging output,
-	but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
-	libraries shouldn't use printf(), g_print() or g_printerr() at all.
-
-Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
-
-
-	* glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
-	`inline' a noop, since strict ANSI rules don't permit `inline'.
-
-Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
-
-	* grel.c: made private functions static.
-
-Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
-	  EXTRA_DIST
-	* glib.spec: version = 1.1.3
-
-Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.m4: feature an extra MODULES parameter, so glib-config can
-	be invoked with the "gmodule" argument.
-
-	* glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
- 	g_return*_if_fail statements, and made them issue a message
-	like "assertion `%s' failed".
-
-	* gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
- 	g_log_find_domain.
-
-Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
-
-        * version bump to 1.1.3, binary age 0, interface age 0.
-
-	* glib.h: be nice to platforms that don't have gint64 and don't
-	issue #warning on every compilation. since glib doesn't require
-	gint64 itself, packages that need gint64 should test for this
- 	themselves.
-
-	* glib.h:
-	* gutils.c: added a new function g_vsnprintf().
-
-Sun Aug 16 Elliot Lee
-
-	glib.h: #error out if we don't recognize the SIZEOF_VOID_P
-	        #warning if no gint64
-
-Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added static inline functions for bit mask tests:
-	g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
-
-Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gmessages.c:
-	revised the message handling system, which is now based on a new
- 	mechanism g_log*. most of the assertment macros got adapted to
-	feature the new g_log() call with an additional specification of
-	the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
-	is undefined upon the includion of glib.h, it'll be defined with a
-	value of (NULL) and thus preserves the original bahaviour for
-	warning and error messages. the message handler setting functions
-	for g_warning, g_error and g_message are only provided for backwards
-	compatibility and might get removed somewhen.
-
-	* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
-	to "GLib" upon compilation. we currently have to add this definition
-	to the DEFS variable.
-	* testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
-	of this file currently, since automake doesn't support per target
-	_CFLAGS yet.
-
-	* glib.h: changed some gints to gbooleans, made a few const corrections,
-	removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
-	in other required places.
-
-	* gnode.c:
- 	(g_node_prepend):
-	(g_node_insert_before):
-	(g_node_insert):
-	(g_node_append_data):
-	(g_node_prepend_data):
-	(g_node_insert_data_before):
-	(g_node_insert_data):
-	(g_node_append):
-	return (node), so these macros/functions can be usefully chained with
-	g_node_new().
-
-Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: it's GTime now, and it's back!
-
-Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
-	last. we do this by making all-recursive-am depend on all-am.
-
-Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: added GModule checks. generate files in gmodule/.
-	* glib-config.in: support library specifications `glib' and `gmodule'.
-	* Makefile.am: feature the gmodule/ subdir.
-
-Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.2
-
-Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
-
-	* testglib.c: fix 64-bitness in g_prints, sizeof doesn't
-	  seem to return int so I cast it for printing, probably
-	  just cosmetic
-
-Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
-
-	* Released GLib 1.1.1
-
-Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: version bump to 1.1.1, binary age 1, interface age 0.
-	* NEWS: updates.
-	* README: updates.
-	* INSTALL: updates and fixes.
-	* COPYING: include the GNU LGPL, rather than shipping an empty file.
-	* AUTHORS: listed original authors here, and added people who made
-	significant improvements to glib.
-
-	* glib.h:
-	* gutils.c: implement g_get_current_dir() which returns a newly
-	allocated string, instead of a g_getcwd() variant that operates
-	on a static buffer.
-	export glib_interface_age and glib_binary_age.
-	as a convenience, macro definitions have been added for
- 	g_node_insert_data, g_node_insert_data_before, g_node_append_data and
-	g_node_prepend_data.
-
-	* testglib.c: minor cleanups, print current dir.
-
-Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gnode.c: change order of gpointer data; field in struct _GNode to
-	be partly binary compatible with GList and GSList.
-
-1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
-
-	* garray.c (g_ptr_array_remove_index): bugfix: index check for
-	array has been wrong.
-
-Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
-
-	* testglib.c (g_node_test): added a GNode test.
-
-Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
-
-	* Makefile.am: compile gnode.c.
-
-	* glib.h:
-	* gnode.c: added implementation of n-way trees.
-
-	* gtree.c (g_tree_traverse): added a warning to the switch() statement
-	which says that G_LEVEL_ORDER is not implemented.
-
-Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
-
-	* Released GLib 1.1.0
-
-Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: #if 0'ed out the GTime definition, until it is definitively
- 	needed. #if 0'ed out the g_getcwd() version, because it is the wrong
- 	implementation.
-
-Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
-
-	* glib.h: gtime changed to g_time.  gtime is used in
-	/usr/include/time.h in NetBSD, causing multiple headaches.
-	If this isn't the right way of fixing it.... ;)
-
-Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gscanner.c: new functions to make a scanner scope sensitive wrt
- 	symbol lookups.
-	g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
-	g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
-	g_scanner_set_scope.
-	g_scanner_add_symbol, g_scanner_remove_symbol and
- 	g_scanner_foreach_symbol are now aliases for scope 0.
-
-Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
-
-	* glib.h: typo fixed for alphas for gint64
-
-Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.c: new fuction g_dirname() which returns a newlly
-	allocated string.
-
-Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h:
-	* gutils.h: added a bunch of utility/wrapper functions:
-	g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
-	g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
-
-	* gutils.c: removed all g_str* functions.
-	* gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
-	place. this file shall never include <unistd.h> to avoid clashes for
-	some of the g_str* functions on some OSes.
-
-Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Renamed g_hash_table_lookup_full to
-	g_hash_table_lookup_extended to conform with naming conventions.
-
-Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
-
-	* glib.h:
-	* ghash.c: Generic cleanup, added a function:
-	(g_hash_table_lookup_full): Return whether the lookup succeeded,
-	and also retrieve the key and value. This allows one to
-	distinguish between failed lookup and finding a NULL, and also
-	allows one to free a key in the hash.
-
-Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* ltconfig: fix for properly detecting shared lib support on
-	SunPro cc (taken from libtool 1.2.a)
-
-Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h: added g_array_length
-
-Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): take symbol_2_token into
-	account. react on valid/invalid string pairs.
-
-Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
-	ours. ;)
-
-Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
- 	g_dataset_retrive_key in favour of GQuarks.
-	a GQuark is an numeric id wich is associated with a certain string.
-	(g_quark_try_string): try to get the quark associated with this string,
- 	if the lookup failed return 0.
-	(g_quark_from_string): get the associated quark for a string, if there
- 	isn't currently a GQuark associated with this string, then allocate a
- 	new quark and return that.
-	(g_quark_from_static_string): like the above function, but the string
- 	isn't strdup()ed to save memory.
-	(g_quark_to_string): get the string that is associated with a certain
-	GQuark.
-
-	* gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
-	_after_ the new data has been setup.
-
-Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Changed messages for g_return_[val]_if_fail to
-	be somewhat more clear: assertion "blah" failed.
-
-1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
-	warnings.
-
-	* grel.c: #include <string.h>
-
-Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (GScanner): cleanups of the structure fields (binary
-	incompatible).
-
-Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
-
-	* glib.h: add new hash and equal functions g_int_*.  complement
-	g_direct_hash with g_direct_equal.
-
-	* grel.c: new file, GRelations implement tuples of N-N mappings.
-	A comment in glib.h briefly describes the interface.
-
-	* ghash.c: new function, g_hash_table_size
-
-	* glib.h: new typedefs, gsize, gssize, gtime.
-
-	* garray.c: new functions implementing a simplified GArray.  This
-	GPtrArray is an array of gpointers and has functions to add and
-	remove elements, much like java.lang.Vector.
-
-	* garray.c: new functions for the single-byte special case of
-	GArray.  The functions g_byte_array* operate on arrays of bytes.
-	Internally, a GArray is used.
-
-	* testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
-
-1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
-
-	* gdataset.c: #include <string.h>
-
-Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h:
-        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
-        sizes, to take up less space on initial allocation.
-
-1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
-
-	* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
-	the version from which glib's libtool forked.  Needed for people
-	who use post-1.2 alphas of libtool.
-	* configure.in (enable_mem_check, enable_mem_profile): Replace
-	`echo -n' with AC_MSG_CHECKING.
-	(fd_set): Explain test for `fd_set' better.
-
-Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* Makefile.am glib.m4 configure.in:
-
-	Moved out from GTK+; added AM_PATH_GLIB macro.
-
-Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: renamed g_const_pointer => gconstpointer
-
-Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* glib.h: Remove #error - HP/UX.
-
-Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
-  [ Combination of:
-     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
-     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-
-	* glib.h ghash.c gstring.c gdataset.c gutils.c:
-	- Added new typedef g_const_pointer; expunged all incorrect
-	  uses of 'const gpointer'.
-	- Fixed up warnings that that created,
-	- Changed GHashFunc and GCompareFunc to take g_const_pointer
-	  arguments. (Necessary, but will cause warnings in existing
-	  code until fixed)
-	- Added other new const in harmless positions.
-
-Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: added enum-helper macros for code generation.
-	added G_BREAKPOINT().
-
-Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
-
-	* gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
-	problems
-
-Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_chunk_new0): convenience macro, for allocating small chunks
-	like g_chunk_new() with additional 0 initialization.
-
-Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
-
-	* ghash.c (g_hash_table_insert): wrote a comment describing why
-	a hash node's key should not also get replaced when overriding
- 	previous entries.
-
-Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (g_string_sized_new): new function to controll the preallocated
-	size of a GString.
-
-	* glib.h (g_strreversed): new function to reverse a string.
-
-Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
-(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-
-	* gutils.c: Restored a missing prototype for g_vsprintf.
-
-Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
-
-        * glib.h: conditionally define NULL, FALSE and TRUE.
-        (g_mem_chunk_create): new convenience macro as a short hand for
-        g_mem_chunk_new().
-        (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
-
-Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
-
-	* gcompletion.c: generic functions for com<TAB>pletion...
-
-Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): provide usefull default
- 	specifications for identifier_spec and symbol_spec.
-
-	* glib.h: new functions g_slist_nth_data and g_list_nth_data to return
- 	the data of the nth element in the list.
-
-Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
- 	that for some reason didn't produce a compiler warning on my machine
- 	(is va_end defined to nothing for i386?).
-
-Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
-
-	* gscanner.c: replaced some snprintf with g_snprintf
-
-Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
-	G_GNUC_NORETURN and G_GNUC_CONST.
-
-	* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
-	(g_scanner_msg_handler): "\n" at end of line!
-	(g_scanner_foreach_symbol): new function to iterate over the symbol
- 	table (GScanner does value-wrapping).
-
-Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h: typedef gint gboolean;
-	this is needed to provide portability with big-endian platforms (e.g.
-	try sizeof(bool) for c++ on big-endians - it's 4).
-	this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
- 	plus, gint to gboolean casts and vice versa need to be possible without
- 	loss.
-
-Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
-
- 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
-	GPOINTER_TO_[U]INT for storing small integers integers
-	inside pointers.
-
-	* glib/testglib.c: Print sizeof() results
-	as g_print("%ld", (glong)sizeof(foo)), to deal with
-	size_t being long on Alpha's.
-
-Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
-	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-
-	* glib.h gstring.c gmessages.c: Added some missing
-	const to arguments.
-
-	* gutils.c (g_strsignal.c): Added missing return statements.
-
-Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c gmessages.c: Moved g_error, g_warning, g_message and
-	g_print from gutils.c to new file gmessages.c, to avoid having to
-	include <unistd.h> in gutils.c which was causing problems for the
-	g_strsignal implementation on FreeBSD boxes.
-
-Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
-
-	* configure.in: preserve automake CFLAGS.
-
-	* Makefile.am: fully rename the created library to libglib-1.1.la.
-	this means we need to change certain portions of the Makefile.am on
-	major/minor version bumps.
-
-	* ltmain.sh: the -release option is not required anymore.
-
-        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
-	avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
-	MIN, ABS and CLAMP, these macros might be screwed from other headers.
-
-Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
-
-	* gdataset.c: new file, gdatasets implement the object data
-	mechanism from GtkObject. a generic data pointer is associated with
-	a certain location and a key id.
-
-Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
-
-        * glib/gmem.c: Experimentally restore GMemChunk
-        to its primeval state - where mem areas are
-        freed incrementally instead of searching the tree
-        every time a mem area is completely empty. Also,
-        always keep one mem chunk around. (Reduced calls
-        to malloc() a lot, but doesn't really improve
-        performance significiantly)
-
-Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
-
-	* glib.h (G_GNUC_PRINTF):
-	(G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
-	checking of gcc.
-
-	* gstring.c: const corrections, string!=NULL checks at function entry.
-	(g_string_down): new function for tolower(3) conversion.
-	(g_string_up): new function for toupper(3) conversion.
-
-	* gutils.c: const corrections.
-	(g_strdown): g_string_down() counterpart.
-	(g_strup): g_string_up() counterpart.
-
-	* gscanner.c (g_scanner_unexp_token):
- 	(g_scanner_error):
-	(g_scanner_warn): new functions to let a scanner put out warnings
- 	or errors, especially to react on unexpected tokens.
-
-	* gslist.c:
- 	(g_slist_index): find out about about the position of a
-	certain data pointer.
- 	(g_slist_position): find out about about the position of a
-	certain node.
-
-	* glist.c:
- 	(g_list_index): find out about about the position of a
-	certain data pointer.
-
-Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
-
-	* ltmain.sh: added a new commandline flag -postfix similar to -release,
-	but will immediately change the library name.
-
-	* Makefile.am: specify -postfix and -version-info
-
-	* configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
-	GLIB_BINARY_AGE. calculate LT_* variables for libtool.
-
-Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gutils.c: (g_strcasecmp). Check for isupper before
-	taking tolower, and account for macroized tolower.
-
-	* gutils.c (g_error): Check for recursion.
-
-1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
-
-	* glist.c (g_list_position): New function to find the position of
-	a link in a list - should be the inverse of g_list_nth(), but
-	haven't tested it so poof.
-
-Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
-
-	* gstring.c : Check arguments more carefully,
-	(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
-
-Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_direct_compare): Removed, because that's what
-	a NULL comparison function means. And it wasn't 64 bit safe.
-
-Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
-
-	* gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
-	of the format ".xxx" to be parsed as "xxx".
-
-Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c (g_parse_debug_string): Make debug string
-	parsine case-insensitive
-
-Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: corrected possible overrun when inserting into
-	GStrings (thanks Elrond)
-
-Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* testglib.c: Removed literal german from strings
-	to appease SGI compiler.
-
-Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
-	use on_exit if atexit not found in definition of ATEXIT.
-
-Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Switched glibconfig.h rule from HEADERS
-	to DATA, so that it is not added to DISTFILES
-
-Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* garray.c: g_rarray_truncate length done correctly
-
-Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
-
-	* gutils.c: changed *_handler variables to be named glib_*_handler,
-	so you can easily access them from gdb.
-
-Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am: Don't refer to current directory as $(top_builddir)
-	to avoid confusing non-gmakes
-
-Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* Makefile.am (configincludedir): Moved glibconfig.h to
-          $(pkglibdir)/include
-
-Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
-
-	* gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
-	free symbol table entries upon destruction
- 	(gtk-gronlund-980309-0.patch.gz).
-
-Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
-
-	* glib.h: changed *_length functions to return guint.
-	changed *_nth functions to take guint as argument.
-
-	* glist.c: adapted g_list_length and g_list_length.
-
-	* gslist.c: adapted g_slist_length and g_slist_length.
-
-Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gutils.c : changed g_strcasecmp
-	  to take gchar* not guchar*
-
-	* testglib.c: Remove trailing ; after functions
-
-Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h gstring.c: Added g_string_insert[_c]()
-	  and g_string_erase().
-
-	  From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
-
-Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glist.c (g_list_insert_sorted): Changed function
-	  so elements are always inserted, even if they compare
-	  equal with another.
-
-Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c glib.h: removed deprecated g_string_equal
-	  and g_string_hash.
-
-Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* configure.in: Add check to see if the C library's
-	  iswalnum can actually be used. (Not true for
-	  Linux libc-5.4.38)
-
-Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.c gutils.c: added some additional consts in
-	  appropriate places to remove a warning
-
-Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gutils.c: include <ctype.h> for tolower()
-
-Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* added and autoconfigured in a new utility function
-	g_strcasecmp
-
-Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glist.c
-	* gslist.c
-	* testglib.c: the sort functions compared backwards. Fixed
-	* glib.h: list iterator macros now check for NULL pointers
-
-Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gstring.c: g_string_prepend and g_string_prepend_c had
-	interchanged src and dest parameters for g_memmove. Fixed.
-
-Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* gslist.c: fixed a really, really lame error. g_slist_insert
-	didn't hook the data in! Reworked the routine to reflect the
-	functionality of g_list
-
-Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
-
-	* Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
-	  to add function g_snprintf.
-        * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
-        * glib.h: Add prototype for g_snprintf.
-        * glibconfig.h.in: Add HAVE_VSNPRINTF.
-        * gutils.c (g_snprintf): new function.
-
-Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* gstring.{c,h} gscanner.c:
-	   renamed g_string_equal => g_str_equal
-	   renamed g_string_hash => g_str_hash
-	  And const corrected. Old functions left in for now.
-
-Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
-
-	* gutils.c (g_strerror): changed message for EAGAIN from
-	"no more processes" to "try again" since EAGAIN is used with
-	functions else than fork().
-
-	* gscanner.c (g_scanner_get_token_ll): use strtol() instead of
-	strtoul() to avoid conflicts with solaris.
-
-	* merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
- 	into this file.
-
-Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-	* glib.h:
-	* glist.c:
-	* gslist.c:
-	* testglib.c: Added g_[s]list_insert_sorted function
-	and appropriate tests in testglib
-
-Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
-
-	* glib.h: Changed guint32 -> guint for bitfields.
-	(Bitfields must be int or unsigned int?)
-
-Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: reverted glibconfig.h and glib.h files back to the
-	way they were before my ugly hack.
-
-	* gscanner.c: removed inlines from clist and gscanner
-
-Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
-
-	* gscanner.c: new file for GScanner: Flexible lexical scanner for
- 	general purpose.
-	* glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
-	gutils.c (g_strconcat): new function for string concatenation of NULL
- 	terminated parameter list.
-	(g_strtod): new function to perform best string to double conversion
-	with or without consideration of the current locale.
-
-Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
-
-	* glist.c: minor optimizations:
- 	(g_list_append): `if' optimized for common code path, commented out
- 	unneccessary `assert', saved one variable assignment.
-	(g_list_prepend): saved two (conditioned) variable assignment.
-	(g_list_insert): saved one  (conditioned) variable assignment,
-	saved one variable assignment.
-	(g_list_remove): `if' optimized for common code path, saved two
-	variable assignments by using `g_list_free_1' (which is even
- 	faster) instead of `g_list_free'.
-	(g_list_reverse): saved allocation of one variable, saved one
-	variable assignment.
-
-Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
-
-	* glib_pre1.h:
-	* glib_pre2.h:
-	* glib.h: this file now gets concatenated by makeglib_h from
-	glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
-	created by configure (done by Jay Painter).
-
-	* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
-	are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
-	when used within if (...) g_macro(); else ... conditionals.
-
-Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
-	not call 'g_string' but to simply stringify the
-	expression. Calling 'g_string' causes the expression to be
-	expanded which is undesired.
-
-Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
-
-	* Started ChangeLog
+	* configure.in: set glib version to 1.3.0.
diff --git a/INSTALL b/INSTALL
index ccffda5..d4f38ae 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Simple install procedure
 ========================
 
-  % gzip -cd glib-1.1.15.tar.gz | tar xvf - # unpack the sources
-  % cd glib-1.1.15                          # change to the toplevel directory
+  % gzip -cd glib-1.2.0.tar.gz | tar xvf -  # unpack the sources
+  % cd glib-1.2.0                           # change to the toplevel directory
   % ./configure                             # run the `configure' script
   % make                                    # build GLIB
   [ Become root if necessary ]
diff --git a/Makefile.am b/Makefile.am
index e70074b..e6bb294 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,7 +14,7 @@
 
 EXTRA_DIST = \
 	glib.m4			\
-	glib.spec		\
+	glib.spec.in		\
 	acglib.m4		\
 	sanity_check		\
 	README.win32		\
@@ -100,3 +100,6 @@
 
 snapshot:
 	$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
+
+dist-hook:
+	cp glib.spec $(distdir)
\ No newline at end of file
diff --git a/NEWS b/NEWS
index 45eb5c9..1e3b7cb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,29 @@
+What's new in GLib 1.2.0 (since GLib 1.0.x):
+
+* GLib is distributed seperatedly from Gtk+
+* Win32 Portability
+* Threading support
+* GModule mechanism (implemented in an extra library) which wraps dynamic
+  object code loading facilities in a portable manner
+* GIOChannel structure to encapsulate the IPC mechanism
+* GQuarks and datasets
+* GRelations for n-way mapping of certain data
+* An n-way tree implementation
+* GDate functionality for calendar date manipulations
+* GAllocator type and assocated functions
+* Added generic callback maintenance functions (ghook)
+* Generic functions for TAB completions
+* Endian defines (G_*_ENDIAN)
+* g_log() mechanism for logging of messages at different log levels
+* Generic main-loop mechanism
+* New glib-config helper script
+* Many more API extensions
+
+Overview of Changes in GLib 1.1.16:
+
+* Allocate smaller pools of memory for glists, gslists, gnodes
+* Bug Fixes
+
 Overview of Changes in GLib 1.1.15:
 
 * HPUX 11 thread system detection should now work
diff --git a/README b/README
index c886881..4d36ff0 100644
--- a/README
+++ b/README
@@ -1,13 +1,10 @@
 General Information
 ===================
 
-This is GLib version 1.1.15. GLib, is a library which includes support
+This is GLib version 1.2.0. GLib is a library which includes support
 routines for C such as lists, trees, hashes, memory allocation, and
 many other things.
 
-Versions of GLib prior to 1.1.0 are distributed with GTK+ versions prior
-to 1.1.0.
-
 The official ftp site is:
   ftp://ftp.gtk.org/pub/gtk
 
diff --git a/README.win32 b/README.win32
index f043463..27c4b7f 100644
--- a/README.win32
+++ b/README.win32
@@ -1,34 +1,43 @@
 For more information about the port or GLib, GTk+ and the GIMP to
-native Windows, see http://www.iki.fi/tml/gimp/win32/ . ("Native"
-means that we use the Win32 API only, and not any POSIX emulation
-layer except that provided by the Microsoft runtime C library, and the
-pthreads emulation library.)
+native Windows, and pre-built binary packages, see
+http://www.iki.fi/tml/gimp/win32/ . "Native" means that we use the
+Win32 API only, and not any POSIX emulation layer except that provided
+by the Microsoft runtime C library. Additionally the pthreads
+emulation library is used.
 
-As for now, only the Microsoft compiler and tools are really
-supported. Before compiling, check the BIN definition in
-makefile.msc. Compile with `nmake -f makefile.msc`. Install with
-`nmake -f makefile.msc install`. Cygwin (without cygwin runtime,
-i.e. "mingw32"), and maybe LCC-Win32 support will be added later.
+As for now, to build GLib on Win32, you need the Microsoft compiler
+and tools. Both the compiler from MSVC 5.0 and MSVC 6.0 have been used
+successfully.
 
-When using the cygwin compiler and tools *with* the cygwin runtime the
+Before building you must get the pthreads library for Windows from
+http://sourceware.cygnus.com/pthreads-win32/. Edit the location of the
+pthreads library and include files in makefile.msc. Also edit the BIN
+definition in makefile.msc.
+
+Build with `nmake -f makefile.msc`. Install with `nmake -f
+makefile.msc install`.
+
+Support for building using the cygwin tools (without depending on the
+cygwin runtime, i.e. "mingw32"), and maybe LCC-Win32 might be added
+later. When using the cygwin tools *with* the cygwin runtime the
 normal Unix configuration method should work as if on Unix (knock on
 wood).
 
 With a little work, it might be possible to use the ./configure
 mechanism also with a "mingw32" configuration. I.e. building GLib for
-Win32 would use the cygwin tools (and dll), but the produced libraries
-would not depend on the cygwin runtime being present.
+Win32 would use the cygwin tools (and runtime), but the produced
+libraries would not depend on the cygwin runtime being present.
 
 The following preprocessor macros are used for conditional compilation 
 related to Win32:
 
 - WIN32 is defined when compiling for the Win32 platform, regardless
-  if using the X11 or Win32 GUI API (of course, in the case of GLib, this
-  dimension isn't significant), regardless whether using a more
-  or less complete Unix emulation runtime layer (like Cygwin) or not.
+  if using the X11 or Win32 windowing API (in the case of GLib, this
+  dimension isn't significant), regardless whether using a more or
+  less complete POSIX emulation runtime layer (like Cygwin) or not.
 
 - NATIVE_WIN32 is defined when compiling for Win32, *and* without
-  any Unix emulation, other that to the extent provided by the
+  any POSIX emulation, other that to the extent provided by the
   (Microsoft) C library, or the pthreads-win32 library. For instance,
   pathnames use the native Windows syntax.
 
@@ -41,6 +50,5 @@
 Some of the usage of these macros is probably a bit mixed up, and will
 have to be straightened out when actually trying other combinations.
 
-The thread support uses the pthreads for Win32 package available from
-http://sourceware.cygnus.com/pthreads-win32/, which isn't ready yet,
-and thus really should not be relied upon.
+The pthreads for Win32 package that the thread support uses isn't
+released yet, and thus threads really should not be relied upon.
diff --git a/acconfig.h b/acconfig.h
index 6b2910e..6c4c1b7 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -46,9 +46,12 @@
 #undef HAVE_BROKEN_WCTYPE
 #undef HAVE_DOPRNT
 #undef HAVE_FLOAT_H
+#undef HAVE_GETPWUID_R
+#undef HAVE_GETPWUID_R_POSIX
 #undef HAVE_LIMITS_H
 #undef HAVE_LONG_DOUBLE
 #undef HAVE_POLL
+#undef HAVE_PTHREAD_GETSPECIFIC_POSIX
 #undef HAVE_PWD_H
 #undef HAVE_SYS_PARAM_H
 #undef HAVE_SYS_POLL_H
@@ -92,7 +95,6 @@
 
 #undef G_THREAD_SOURCE
 
-#undef HAVE_GETPWUID_R_POSIX
 /* #undef PACKAGE */
 /* #undef VERSION */
 
diff --git a/config.h.win32 b/config.h.win32
index 0c88931..685c253 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -55,13 +55,14 @@
 #define G_HAVE___INLINE 1
 
 #define GLIB_MAJOR_VERSION 1
-#define GLIB_MINOR_VERSION 1
-#define GLIB_MICRO_VERSION 15
+#define GLIB_MINOR_VERSION 2
+#define GLIB_MICRO_VERSION 0
 #define GLIB_INTERFACE_AGE 0
 #define GLIB_BINARY_AGE 0
 
 #define G_THREAD_SOURCE "gthread-posix.c"
 #define G_THREADS_IMPL_POSIX
+#define HAVE_PTHREAD_GETSPECIFIC_POSIX 1
 
 /* The number of bytes in a char.  */
 #define SIZEOF_CHAR 1
diff --git a/configure.in b/configure.in
index 179622c..6773dd1 100644
--- a/configure.in
+++ b/configure.in
@@ -15,6 +15,10 @@
 # we rewrite this file
 rm -f glibconfig-sysdefs.h
 
+dnl we to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
+dnl are available for $ac_help expansion (don't we all *love* autoconf?)
+AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+#
 # The following version number definitions apply to GLib and GModule
 # as a whole, so if changes occoured in either of them, they are both
 # treated with the same interface and binary age.
@@ -28,11 +32,14 @@
 # set GLIB_BINARY_AGE and GLIB_INTERFACE_AGE to 0.
 #
 GLIB_MAJOR_VERSION=1
-GLIB_MINOR_VERSION=1
-GLIB_MICRO_VERSION=15
-GLIB_INTERFACE_AGE=2
-GLIB_BINARY_AGE=2
+GLIB_MINOR_VERSION=3
+GLIB_MICRO_VERSION=0
+GLIB_INTERFACE_AGE=0
+GLIB_BINARY_AGE=0
 GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
+dnl
+AC_DIVERT_POP()dnl
+
 AC_SUBST(GLIB_VERSION)
 
 # libtool versioning
@@ -67,7 +74,18 @@
 
 AC_CANONICAL_HOST
 
-AC_ARG_ENABLE(debug, [  --enable-debug=[no/minimum/yes] turn on debugging [default=minimum]],,enable_debug=minimum)
+dnl figure debugging default, prior to $ac_help setup
+dnl
+AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
+	debug_default=yes
+else
+	debug_default=minimum
+fi
+AC_DIVERT_POP()dnl
+
+dnl declare --enable-* args and collect ac_help strings
+AC_ARG_ENABLE(debug, [  --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
 AC_ARG_ENABLE(mem_check, [  --enable-mem-check      turn on malloc/free sanity checking [default=no]],,enable_mem_check=no)
 AC_ARG_ENABLE(mem_profile, [  --enable-mem-profile    turn on malloc profiling atexit [default=no]],,enable_mem_profile=no)
 AC_ARG_ENABLE(ansi, [  --enable-ansi           turn on strict ansi [default=no]],
@@ -447,7 +465,7 @@
 dnl ***********************
 G_MODULE_LIBS=
 G_MODULE_LDFLAGS=
-G_MODULE_IMPL=
+dnl G_MODULE_IMPL= don't reset, so cmd-line can override
 G_MODULE_NEED_USCORE=0
 G_MODULE_HAVE_DLERROR=0
 dnl *** dlopen() and dlsym() in system libraries
@@ -579,11 +597,13 @@
 		"
 
 LIBS_NOT_FOUND_2=". Please choose another thread implementation or
-		provide information on your thread implementation."
+		provide information on your thread implementation.
+		You can also run 'configure --disable-threads' 
+		to compile without thread support."
 
 FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
 		functions will not be MT-safe during their first call because
-		there is no 'getpwuid_r' on your system."
+		there is no working 'getpwuid_r' on your system."
 
 FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
 		because there is no 'localtime_r' on your system."
@@ -739,7 +759,24 @@
 	CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
 	AC_CHECK_FUNCS(localtime_r rand_r)
 	if test "$ac_cv_header_pwd_h" = "yes"; then
-	 	AC_CHECK_FUNCS(getpwuid_r)
+		AC_MSG_CHECKING([for getpwuid_r])
+	 	AC_CACHE_VAL(ac_cv_func_getpwuid_r,
+			[AC_TRY_RUN([#include <errno.h>
+				int main () { char buffer[10000], *pointer; 
+				char getpwuid_r (long, void*, void*,
+					int, void*);
+				errno = 0;
+				getpwuid_r (0, &buffer, &buffer, 
+					sizeof (buffer), &pointer);
+				return errno == ENOSYS;}],
+				[ac_cv_func_getpwuid_r=yes],
+				[ac_cv_func_getpwuid_r=no])])
+		if test "$ac_cv_func_getpwuid_r" = yes; then
+			AC_MSG_RESULT(yes)
+			AC_DEFINE(HAVE_GETPWUID_R)
+		else
+			AC_MSG_RESULT(no)
+		fi
 		if test "$ac_cv_func_getpwuid_r" = "yes"; then
 			AC_MSG_CHECKING(whether getpwuid_r is posix like)
 			# getpwuid_r(0, NULL, NULL, 0) is the signature on
@@ -753,6 +790,15 @@
 				AC_DEFINE(HAVE_GETPWUID_R_POSIX)])
 		fi
 	fi
+	if test x"$have_threads" = xposix; then
+		AC_MSG_CHECKING(whether pthread_getspecific is posix like)
+		# PCThreads has pthread_getspecific(pthread_key_t, void **);
+		AC_TRY_COMPILE([#include <pthread.h>],
+			[pthread_getspecific(0,NULL);],
+			[AC_MSG_RESULT(no)],
+			[AC_MSG_RESULT(yes)
+			AC_DEFINE(HAVE_PTHREAD_GETSPECIFIC_POSIX)])
+	fi
 	LIBS="$glib_save_LIBS"
 	CFLAGS="$glib_save_CFLAGS"
 fi
@@ -957,8 +1003,8 @@
 };
 #define	G_STATIC_MUTEX_INIT	{ NULL, { { $g_mutex_contents} } }
 #define	g_static_mutex_get_mutex(mutex) \
-  (g_thread_use_default_impl ? ((GMutex*) &(mutex).aligned_pad_u) : \
-   g_static_mutex_get_mutex_impl (&(mutex).runtime_mutex))
+  (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
+   g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
 _______EOF
 	else
 		cat >>$outfile <<_______EOF
@@ -966,7 +1012,7 @@
 #define G_THREADS_IMPL_$g_threads_impl_def
 typedef struct _GMutex* GStaticMutex;
 #define G_STATIC_MUTEX_INIT NULL
-#define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (&(mutex)))
+#define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
 _______EOF
 	fi
 
@@ -1245,6 +1291,7 @@
 ])
 
 AC_OUTPUT([
+glib.spec
 Makefile
 glib-config
 gmodule/gmoduleconf.h
diff --git a/docs/glib-config.1 b/docs/glib-config.1
index 1028d6e..75b0878 100644
--- a/docs/glib-config.1
+++ b/docs/glib-config.1
@@ -1,4 +1,4 @@
-.TH GLIB 1 "16 December 1998" Version 1.1.15
+.TH GLIB 1 "16 December 1998" Version 1.2.0
 .SH NAME
 glib-config - script to get information about the installed version of GLib
 .SH SYNOPSIS
diff --git a/garray.c b/garray.c
index 54bbe44..339690e 100644
--- a/garray.c
+++ b/garray.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -46,7 +53,7 @@
 				  gint        len);
 
 static GMemChunk *array_mem_chunk = NULL;
-G_LOCK_DECLARE_STATIC (array_mem_chunk);
+G_LOCK_DEFINE_STATIC (array_mem_chunk);
 
 GArray*
 g_array_new (gboolean zero_terminated,
@@ -250,7 +257,7 @@
 				      gint           len);
 
 static GMemChunk *ptr_array_mem_chunk = NULL;
-G_LOCK_DECLARE_STATIC (ptr_array_mem_chunk);
+G_LOCK_DEFINE_STATIC (ptr_array_mem_chunk);
 
 
 GPtrArray*
diff --git a/gbacktrace.c b/gbacktrace.c
index 2615ce2..af55223 100644
--- a/gbacktrace.c
+++ b/gbacktrace.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe ; except for g_on_error_stack_trace, but who wants thread safety 
  * then
diff --git a/gcache.c b/gcache.c
index c9ed61f..145a093 100644
--- a/gcache.c
+++ b/gcache.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -61,7 +68,7 @@
 
 
 static GMemChunk *node_mem_chunk = NULL;
-G_LOCK_DECLARE_STATIC (node_mem_chunk);
+G_LOCK_DEFINE_STATIC (node_mem_chunk);
 
 GCache*
 g_cache_new (GCacheNewFunc      value_new_func,
diff --git a/gcompletion.c b/gcompletion.c
index cba2a86..68617c1 100644
--- a/gcompletion.c
+++ b/gcompletion.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gdataset.c b/gdataset.c
index 8aadb96..b35c911 100644
--- a/gdataset.c
+++ b/gdataset.c
@@ -19,6 +19,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe ; FIXME: might still freeze, watch out, not thoroughly
  * looked at yet.  
@@ -67,7 +74,7 @@
 
 
 /* --- variables --- */
-G_LOCK_DECLARE_STATIC (g_dataset_global);
+G_LOCK_DEFINE_STATIC (g_dataset_global);
 static GHashTable   *g_dataset_location_ht = NULL;
 static GDataset     *g_dataset_cached = NULL; /* should this be
 						 threadspecific? */
@@ -76,7 +83,7 @@
 static GData	    *g_data_cache = NULL;
 static guint	     g_data_cache_length = 0;
 
-G_LOCK_DECLARE_STATIC (g_quark_global);
+G_LOCK_DEFINE_STATIC (g_quark_global);
 static GHashTable   *g_quark_ht = NULL;
 static gchar       **g_quarks = NULL;
 static GQuark        g_quark_seq_id = 0;
diff --git a/gdate.c b/gdate.c
index c3b7b31..7b1f528 100644
--- a/gdate.c
+++ b/gdate.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -392,7 +399,7 @@
   memset (d, 0x0, ndates*sizeof (GDate)); 
 }
 
-G_LOCK_DECLARE_STATIC (g_date_global);
+G_LOCK_DEFINE_STATIC (g_date_global);
 
 /* These are for the parser, output to the user should use *
  * g_date_strftime () - this creates more never-freed memory to annoy
diff --git a/gerror.c b/gerror.c
index 2615ce2..af55223 100644
--- a/gerror.c
+++ b/gerror.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe ; except for g_on_error_stack_trace, but who wants thread safety 
  * then
diff --git a/ghash.c b/ghash.c
index 8de3a5c..331a1ab 100644
--- a/ghash.c
+++ b/ghash.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -57,7 +64,7 @@
 static void		g_hash_nodes_destroy	 (GHashNode	*hash_node);
 
 
-G_LOCK_DECLARE_STATIC (g_hash_global);
+G_LOCK_DEFINE_STATIC (g_hash_global);
 
 static GMemChunk *node_mem_chunk = NULL;
 static GHashNode *node_free_list = NULL;
@@ -229,14 +236,14 @@
       g_hash_table_resize (hash_table);
 }
 
-gint
+guint
 g_hash_table_foreach_remove (GHashTable	*hash_table,
 			     GHRFunc	 func,
 			     gpointer	 user_data)
 {
   GHashNode *node, *prev;
   guint i;
-  gint deleted = 0;
+  guint deleted = 0;
   
   g_return_val_if_fail (hash_table != NULL, 0);
   g_return_val_if_fail (func != NULL, 0);
@@ -294,7 +301,7 @@
 }
 
 /* Returns the number of elements contained in the hash table. */
-gint
+guint
 g_hash_table_size (GHashTable *hash_table)
 {
   g_return_val_if_fail (hash_table != NULL, 0);
diff --git a/ghook.c b/ghook.c
index 7e1c82d..a3e3a78 100644
--- a/ghook.c
+++ b/ghook.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/giochannel.c b/giochannel.c
index 7c05e3c..8556f0d 100644
--- a/giochannel.c
+++ b/giochannel.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/giounix.c b/giounix.c
index 5e62ed8..4944d8f 100644
--- a/giounix.c
+++ b/giounix.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/giowin32.c b/giowin32.c
index 16387d4..d5e467e 100644
--- a/giowin32.c
+++ b/giowin32.c
@@ -20,6 +20,14 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
+
 #include "config.h"
 #include "glib.h"
 #include <windows.h>
diff --git a/glib.def b/glib.def
index d513748..c9f4e23 100644
--- a/glib.def
+++ b/glib.def
@@ -319,6 +319,7 @@
 	g_slist_reverse
 	g_slist_sort
 	g_snprintf
+        g_spaced_primes_closest
 	g_source_add
 	g_source_remove
 	g_source_remove_by_source_data
diff --git a/glib.h b/glib.h
index ef58fa2..bc9cd8b 100644
--- a/glib.h
+++ b/glib.h
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #ifndef __G_LIB_H__
 #define __G_LIB_H__
 
@@ -1025,10 +1033,10 @@
 void	    g_hash_table_foreach	(GHashTable	*hash_table,
 					 GHFunc		 func,
 					 gpointer	 user_data);
-gint	    g_hash_table_foreach_remove	(GHashTable	*hash_table,
+guint	    g_hash_table_foreach_remove	(GHashTable	*hash_table,
 					 GHRFunc	 func,
 					 gpointer	 user_data);
-gint	    g_hash_table_size		(GHashTable	*hash_table);
+guint	    g_hash_table_size		(GHashTable	*hash_table);
 
 
 /* Caches
@@ -1705,10 +1713,10 @@
  * order by moving the last element to the position of the removed 
  */
 
-#define g_array_append_val(a,v) g_array_append_vals(a,&v,1)
-#define g_array_prepend_val(a,v) g_array_prepend_vals(a,&v,1)
-#define g_array_insert_val(a,i,v) g_array_insert_vals(a,i,&v,1)
-#define g_array_index(a,t,i) (((t*)a->data)[i])
+#define g_array_append_val(a,v)	  g_array_append_vals (a, &v, 1)
+#define g_array_prepend_val(a,v)  g_array_prepend_vals (a, &v, 1)
+#define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &v, 1)
+#define g_array_index(a,t,i)      (((t*) (a)->data) [(i)])
 
 GArray* g_array_new	          (gboolean	    zero_terminated,
 				   gboolean	    clear,
@@ -1788,6 +1796,8 @@
 /* This "hash" function will just return the key's adress as an
  * unsigned integer. Useful for hashing on plain adresses or
  * simple integer values.
+ * passing NULL into g_hash_table_new() as GHashFunc has the
+ * same effect as passing g_direct_hash().
  */
 guint g_direct_hash  (gconstpointer v);
 gint  g_direct_equal (gconstpointer v,
@@ -2789,20 +2799,22 @@
 			       gpointer        	 data,
 			       GDestroyNotify    notify);
 
-/* these are some convenience macros that expand to nothing if GLib was
- * configured with --deisable-threads. for using StaticMutexes, you
- * declare them with G_LOCK_DECLARE_STATIC (name) or G_LOCK_DECLARE (name)
- * if you need to export the mutex. name is a unique identifier for the
- * protected varibale or code portion. locking, testing and unlocking of
- * such mutexes can be done with G_LOCK(), G_UNLOCK() and G_TRYLOCK()
- * respectively.
+/* these are some convenience macros that expand to nothing if GLib
+ * was configured with --disable-threads. for using StaticMutexes,
+ * you define them with G_LOCK_DEFINE_STATIC (name) or G_LOCK_DEFINE (name)
+ * if you need to export the mutex. With G_LOCK_EXTERN (name) you can
+ * declare such an globally defined lock. name is a unique identifier
+ * for the protected varibale or code portion. locking, testing and
+ * unlocking of such mutexes can be done with G_LOCK(), G_UNLOCK() and
+ * G_TRYLOCK() respectively.  
  */
 extern void glib_dummy_decl (void);
 #define G_LOCK_NAME(name)		(g__ ## name ## _lock)
 #ifdef	G_THREADS_ENABLED
-#  define G_LOCK_DECLARE_STATIC(name)	static G_LOCK_DECLARE (name)
-#  define G_LOCK_DECLARE(name)		\
+#  define G_LOCK_DEFINE_STATIC(name)	static G_LOCK_DEFINE (name)
+#  define G_LOCK_DEFINE(name)		\
     GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT 
+#  define G_LOCK_EXTERN(name)		extern GStaticMutex G_LOCK_NAME (name)
 
 #  ifdef G_DEBUG_LOCKS
 #    define G_LOCK(name)		G_STMT_START{		  \
@@ -2810,29 +2822,30 @@
 	       "file %s: line %d (%s): locking: %s ",	          \
 	       __FILE__,	__LINE__, G_GNUC_PRETTY_FUNCTION, \
                #name);                                            \
-        g_static_mutex_lock (G_LOCK_NAME (name));                 \
+        g_static_mutex_lock (&G_LOCK_NAME (name));                \
      }G_STMT_END
 #    define G_UNLOCK(name)		G_STMT_START{		  \
         g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,			  \
 	       "file %s: line %d (%s): unlocking: %s ",	          \
 	       __FILE__,	__LINE__, G_GNUC_PRETTY_FUNCTION, \
                #name);                                            \
-       g_static_mutex_unlock (G_LOCK_NAME (name));                \
+       g_static_mutex_unlock (&G_LOCK_NAME (name));               \
      }G_STMT_END
 #    define G_TRYLOCK(name)		G_STMT_START{		  \
         g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,			  \
 	       "file %s: line %d (%s): try locking: %s ",         \
 	       __FILE__,	__LINE__, G_GNUC_PRETTY_FUNCTION, \
                #name);                                            \
-     }G_STMT_END,	g_static_mutex_trylock (G_LOCK_NAME (name))
+     }G_STMT_END,	g_static_mutex_trylock (&G_LOCK_NAME (name))
 #  else	 /* !G_DEBUG_LOCKS */
-#    define G_LOCK(name) g_static_mutex_lock	   (G_LOCK_NAME (name)) 
-#    define G_UNLOCK(name) g_static_mutex_unlock   (G_LOCK_NAME (name))
-#    define G_TRYLOCK(name) g_static_mutex_trylock (G_LOCK_NAME (name))
+#    define G_LOCK(name) g_static_mutex_lock	   (&G_LOCK_NAME (name)) 
+#    define G_UNLOCK(name) g_static_mutex_unlock   (&G_LOCK_NAME (name))
+#    define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name))
 #  endif /* !G_DEBUG_LOCKS */
 #else	/* !G_THREADS_ENABLED */
-#  define G_LOCK_DECLARE_STATIC(name)	extern void glib_dummy_decl (void)
-#  define G_LOCK_DECLARE(name)		extern void glib_dummy_decl (void)
+#  define G_LOCK_DEFINE_STATIC(name)	extern void glib_dummy_decl (void)
+#  define G_LOCK_DEFINE(name)		extern void glib_dummy_decl (void)
+#  define G_LOCK_EXTERN(name)		extern void glib_dummy_decl (void)
 #  define G_LOCK(name)
 #  define G_UNLOCK(name)
 #  define G_TRYLOCK(name)		(FALSE)
diff --git a/glib.spec.in b/glib.spec.in
new file mode 100644
index 0000000..5b67827
--- /dev/null
+++ b/glib.spec.in
@@ -0,0 +1,90 @@
+# Note that this is NOT a relocatable package
+%define ver      @VERSION@
+%define rel      SNAP
+%define prefix   /usr
+
+Summary: Handy library of utility functions
+Name: glib
+Version: %ver
+Release: %rel
+Copyright: LGPL
+Group: Libraries
+Source: ftp://ftp.gimp.org/pub/gtk/v1.1/glib-%{ver}.tar.gz
+BuildRoot: /var/tmp/glib-%{PACKAGE_VERSION}-root
+URL: http://www.gtk.org
+Docdir: %{prefix}/doc
+
+%description
+Handy library of utility functions.  Development libs and headers
+are in glib-devel.
+
+%package devel
+Summary: GIMP Toolkit and GIMP Drawing Kit support library
+Group: X11/Libraries
+
+%description devel
+Static libraries and header files for the support library for the GIMP's X
+libraries, which are available as public libraries.  GLIB includes generally
+useful data structures.
+
+
+%changelog
+
+* Thu Feb 11 1999 Michael Fulbright <drmike@redhat.com>
+- added libgthread to file list
+
+* Fri Feb 05 1999 Michael Fulbright <drmike@redhat.com>
+- version 1.1.15
+
+* Wed Feb 03 1999 Michael Fulbright <drmike@redhat.com>
+- version 1.1.14
+
+* Mon Jan 18 1999 Michael Fulbright <drmike@redhat.com>
+- version 1.1.13
+
+* Wed Jan 06 1999 Michael Fulbright <drmike@redhat.com>
+- version 1.1.12
+
+* Wed Dec 16 1998 Michael Fulbright <drmike@redhat.com>
+- updated in preparation for the GNOME freeze
+
+* Mon Apr 13 1998 Marc Ewing <marc@redhat.com>
+- Split out glib package
+
+%prep
+%setup
+
+%build
+CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make prefix=$RPM_BUILD_ROOT%{prefix} install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-, root, root)
+
+%doc AUTHORS COPYING ChangeLog NEWS README
+%{prefix}/lib/libglib-1.1.so.*
+%{prefix}/lib/libgthread-1.1.so.*
+%{prefix}/lib/libgmodule-1.1.so.*
+
+%files devel
+%defattr(-, root, root)
+
+%{prefix}/lib/lib*.so
+%{prefix}/lib/*a
+%{prefix}/lib/glib
+%{prefix}/include/*
+%{prefix}/man/man1/
+%{prefix}/share/aclocal/*
+%{prefix}/bin/*
diff --git a/glib/Makefile.am b/glib/Makefile.am
index e70074b..e6bb294 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -14,7 +14,7 @@
 
 EXTRA_DIST = \
 	glib.m4			\
-	glib.spec		\
+	glib.spec.in		\
 	acglib.m4		\
 	sanity_check		\
 	README.win32		\
@@ -100,3 +100,6 @@
 
 snapshot:
 	$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
+
+dist-hook:
+	cp glib.spec $(distdir)
\ No newline at end of file
diff --git a/glib/garray.c b/glib/garray.c
index 54bbe44..339690e 100644
--- a/glib/garray.c
+++ b/glib/garray.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -46,7 +53,7 @@
 				  gint        len);
 
 static GMemChunk *array_mem_chunk = NULL;
-G_LOCK_DECLARE_STATIC (array_mem_chunk);
+G_LOCK_DEFINE_STATIC (array_mem_chunk);
 
 GArray*
 g_array_new (gboolean zero_terminated,
@@ -250,7 +257,7 @@
 				      gint           len);
 
 static GMemChunk *ptr_array_mem_chunk = NULL;
-G_LOCK_DECLARE_STATIC (ptr_array_mem_chunk);
+G_LOCK_DEFINE_STATIC (ptr_array_mem_chunk);
 
 
 GPtrArray*
diff --git a/glib/gbacktrace.c b/glib/gbacktrace.c
index 2615ce2..af55223 100644
--- a/glib/gbacktrace.c
+++ b/glib/gbacktrace.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe ; except for g_on_error_stack_trace, but who wants thread safety 
  * then
diff --git a/glib/gcache.c b/glib/gcache.c
index c9ed61f..145a093 100644
--- a/glib/gcache.c
+++ b/glib/gcache.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -61,7 +68,7 @@
 
 
 static GMemChunk *node_mem_chunk = NULL;
-G_LOCK_DECLARE_STATIC (node_mem_chunk);
+G_LOCK_DEFINE_STATIC (node_mem_chunk);
 
 GCache*
 g_cache_new (GCacheNewFunc      value_new_func,
diff --git a/glib/gcompletion.c b/glib/gcompletion.c
index cba2a86..68617c1 100644
--- a/glib/gcompletion.c
+++ b/glib/gcompletion.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/gdataset.c b/glib/gdataset.c
index 8aadb96..b35c911 100644
--- a/glib/gdataset.c
+++ b/glib/gdataset.c
@@ -19,6 +19,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe ; FIXME: might still freeze, watch out, not thoroughly
  * looked at yet.  
@@ -67,7 +74,7 @@
 
 
 /* --- variables --- */
-G_LOCK_DECLARE_STATIC (g_dataset_global);
+G_LOCK_DEFINE_STATIC (g_dataset_global);
 static GHashTable   *g_dataset_location_ht = NULL;
 static GDataset     *g_dataset_cached = NULL; /* should this be
 						 threadspecific? */
@@ -76,7 +83,7 @@
 static GData	    *g_data_cache = NULL;
 static guint	     g_data_cache_length = 0;
 
-G_LOCK_DECLARE_STATIC (g_quark_global);
+G_LOCK_DEFINE_STATIC (g_quark_global);
 static GHashTable   *g_quark_ht = NULL;
 static gchar       **g_quarks = NULL;
 static GQuark        g_quark_seq_id = 0;
diff --git a/glib/gdate.c b/glib/gdate.c
index c3b7b31..7b1f528 100644
--- a/glib/gdate.c
+++ b/glib/gdate.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -392,7 +399,7 @@
   memset (d, 0x0, ndates*sizeof (GDate)); 
 }
 
-G_LOCK_DECLARE_STATIC (g_date_global);
+G_LOCK_DEFINE_STATIC (g_date_global);
 
 /* These are for the parser, output to the user should use *
  * g_date_strftime () - this creates more never-freed memory to annoy
diff --git a/glib/gerror.c b/glib/gerror.c
index 2615ce2..af55223 100644
--- a/glib/gerror.c
+++ b/glib/gerror.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe ; except for g_on_error_stack_trace, but who wants thread safety 
  * then
diff --git a/glib/ghash.c b/glib/ghash.c
index 8de3a5c..331a1ab 100644
--- a/glib/ghash.c
+++ b/glib/ghash.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -57,7 +64,7 @@
 static void		g_hash_nodes_destroy	 (GHashNode	*hash_node);
 
 
-G_LOCK_DECLARE_STATIC (g_hash_global);
+G_LOCK_DEFINE_STATIC (g_hash_global);
 
 static GMemChunk *node_mem_chunk = NULL;
 static GHashNode *node_free_list = NULL;
@@ -229,14 +236,14 @@
       g_hash_table_resize (hash_table);
 }
 
-gint
+guint
 g_hash_table_foreach_remove (GHashTable	*hash_table,
 			     GHRFunc	 func,
 			     gpointer	 user_data)
 {
   GHashNode *node, *prev;
   guint i;
-  gint deleted = 0;
+  guint deleted = 0;
   
   g_return_val_if_fail (hash_table != NULL, 0);
   g_return_val_if_fail (func != NULL, 0);
@@ -294,7 +301,7 @@
 }
 
 /* Returns the number of elements contained in the hash table. */
-gint
+guint
 g_hash_table_size (GHashTable *hash_table)
 {
   g_return_val_if_fail (hash_table != NULL, 0);
diff --git a/glib/ghook.c b/glib/ghook.c
index 7e1c82d..a3e3a78 100644
--- a/glib/ghook.c
+++ b/glib/ghook.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/giochannel.c b/glib/giochannel.c
index 7c05e3c..8556f0d 100644
--- a/glib/giochannel.c
+++ b/glib/giochannel.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/giounix.c b/glib/giounix.c
index 5e62ed8..4944d8f 100644
--- a/glib/giounix.c
+++ b/glib/giounix.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/giowin32.c b/glib/giowin32.c
index 16387d4..d5e467e 100644
--- a/glib/giowin32.c
+++ b/glib/giowin32.c
@@ -20,6 +20,14 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
+
 #include "config.h"
 #include "glib.h"
 #include <windows.h>
diff --git a/glib/glib.def b/glib/glib.def
index d513748..c9f4e23 100644
--- a/glib/glib.def
+++ b/glib/glib.def
@@ -319,6 +319,7 @@
 	g_slist_reverse
 	g_slist_sort
 	g_snprintf
+        g_spaced_primes_closest
 	g_source_add
 	g_source_remove
 	g_source_remove_by_source_data
diff --git a/glib/glib.h b/glib/glib.h
index ef58fa2..bc9cd8b 100644
--- a/glib/glib.h
+++ b/glib/glib.h
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #ifndef __G_LIB_H__
 #define __G_LIB_H__
 
@@ -1025,10 +1033,10 @@
 void	    g_hash_table_foreach	(GHashTable	*hash_table,
 					 GHFunc		 func,
 					 gpointer	 user_data);
-gint	    g_hash_table_foreach_remove	(GHashTable	*hash_table,
+guint	    g_hash_table_foreach_remove	(GHashTable	*hash_table,
 					 GHRFunc	 func,
 					 gpointer	 user_data);
-gint	    g_hash_table_size		(GHashTable	*hash_table);
+guint	    g_hash_table_size		(GHashTable	*hash_table);
 
 
 /* Caches
@@ -1705,10 +1713,10 @@
  * order by moving the last element to the position of the removed 
  */
 
-#define g_array_append_val(a,v) g_array_append_vals(a,&v,1)
-#define g_array_prepend_val(a,v) g_array_prepend_vals(a,&v,1)
-#define g_array_insert_val(a,i,v) g_array_insert_vals(a,i,&v,1)
-#define g_array_index(a,t,i) (((t*)a->data)[i])
+#define g_array_append_val(a,v)	  g_array_append_vals (a, &v, 1)
+#define g_array_prepend_val(a,v)  g_array_prepend_vals (a, &v, 1)
+#define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &v, 1)
+#define g_array_index(a,t,i)      (((t*) (a)->data) [(i)])
 
 GArray* g_array_new	          (gboolean	    zero_terminated,
 				   gboolean	    clear,
@@ -1788,6 +1796,8 @@
 /* This "hash" function will just return the key's adress as an
  * unsigned integer. Useful for hashing on plain adresses or
  * simple integer values.
+ * passing NULL into g_hash_table_new() as GHashFunc has the
+ * same effect as passing g_direct_hash().
  */
 guint g_direct_hash  (gconstpointer v);
 gint  g_direct_equal (gconstpointer v,
@@ -2789,20 +2799,22 @@
 			       gpointer        	 data,
 			       GDestroyNotify    notify);
 
-/* these are some convenience macros that expand to nothing if GLib was
- * configured with --deisable-threads. for using StaticMutexes, you
- * declare them with G_LOCK_DECLARE_STATIC (name) or G_LOCK_DECLARE (name)
- * if you need to export the mutex. name is a unique identifier for the
- * protected varibale or code portion. locking, testing and unlocking of
- * such mutexes can be done with G_LOCK(), G_UNLOCK() and G_TRYLOCK()
- * respectively.
+/* these are some convenience macros that expand to nothing if GLib
+ * was configured with --disable-threads. for using StaticMutexes,
+ * you define them with G_LOCK_DEFINE_STATIC (name) or G_LOCK_DEFINE (name)
+ * if you need to export the mutex. With G_LOCK_EXTERN (name) you can
+ * declare such an globally defined lock. name is a unique identifier
+ * for the protected varibale or code portion. locking, testing and
+ * unlocking of such mutexes can be done with G_LOCK(), G_UNLOCK() and
+ * G_TRYLOCK() respectively.  
  */
 extern void glib_dummy_decl (void);
 #define G_LOCK_NAME(name)		(g__ ## name ## _lock)
 #ifdef	G_THREADS_ENABLED
-#  define G_LOCK_DECLARE_STATIC(name)	static G_LOCK_DECLARE (name)
-#  define G_LOCK_DECLARE(name)		\
+#  define G_LOCK_DEFINE_STATIC(name)	static G_LOCK_DEFINE (name)
+#  define G_LOCK_DEFINE(name)		\
     GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT 
+#  define G_LOCK_EXTERN(name)		extern GStaticMutex G_LOCK_NAME (name)
 
 #  ifdef G_DEBUG_LOCKS
 #    define G_LOCK(name)		G_STMT_START{		  \
@@ -2810,29 +2822,30 @@
 	       "file %s: line %d (%s): locking: %s ",	          \
 	       __FILE__,	__LINE__, G_GNUC_PRETTY_FUNCTION, \
                #name);                                            \
-        g_static_mutex_lock (G_LOCK_NAME (name));                 \
+        g_static_mutex_lock (&G_LOCK_NAME (name));                \
      }G_STMT_END
 #    define G_UNLOCK(name)		G_STMT_START{		  \
         g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,			  \
 	       "file %s: line %d (%s): unlocking: %s ",	          \
 	       __FILE__,	__LINE__, G_GNUC_PRETTY_FUNCTION, \
                #name);                                            \
-       g_static_mutex_unlock (G_LOCK_NAME (name));                \
+       g_static_mutex_unlock (&G_LOCK_NAME (name));               \
      }G_STMT_END
 #    define G_TRYLOCK(name)		G_STMT_START{		  \
         g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,			  \
 	       "file %s: line %d (%s): try locking: %s ",         \
 	       __FILE__,	__LINE__, G_GNUC_PRETTY_FUNCTION, \
                #name);                                            \
-     }G_STMT_END,	g_static_mutex_trylock (G_LOCK_NAME (name))
+     }G_STMT_END,	g_static_mutex_trylock (&G_LOCK_NAME (name))
 #  else	 /* !G_DEBUG_LOCKS */
-#    define G_LOCK(name) g_static_mutex_lock	   (G_LOCK_NAME (name)) 
-#    define G_UNLOCK(name) g_static_mutex_unlock   (G_LOCK_NAME (name))
-#    define G_TRYLOCK(name) g_static_mutex_trylock (G_LOCK_NAME (name))
+#    define G_LOCK(name) g_static_mutex_lock	   (&G_LOCK_NAME (name)) 
+#    define G_UNLOCK(name) g_static_mutex_unlock   (&G_LOCK_NAME (name))
+#    define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name))
 #  endif /* !G_DEBUG_LOCKS */
 #else	/* !G_THREADS_ENABLED */
-#  define G_LOCK_DECLARE_STATIC(name)	extern void glib_dummy_decl (void)
-#  define G_LOCK_DECLARE(name)		extern void glib_dummy_decl (void)
+#  define G_LOCK_DEFINE_STATIC(name)	extern void glib_dummy_decl (void)
+#  define G_LOCK_DEFINE(name)		extern void glib_dummy_decl (void)
+#  define G_LOCK_EXTERN(name)		extern void glib_dummy_decl (void)
 #  define G_LOCK(name)
 #  define G_UNLOCK(name)
 #  define G_TRYLOCK(name)		(FALSE)
diff --git a/glib/glist.c b/glib/glist.c
index c1e5500..3c87a8f 100644
--- a/glib/glist.c
+++ b/glib/glist.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -36,7 +43,7 @@
 };
 
 static GAllocator	*current_allocator = NULL;
-G_LOCK_DECLARE_STATIC (current_allocator);
+G_LOCK_DEFINE_STATIC (current_allocator);
 
 /* HOLDS: current_allocator_lock */
 static void
@@ -102,7 +109,7 @@
   if (!current_allocator)
     {
       GAllocator *allocator = g_allocator_new ("GLib default GList allocator",
-					       1024);
+					       128);
       g_list_validate_allocator (allocator);
       allocator->last = NULL;
       current_allocator = allocator;
diff --git a/glib/gmain.c b/glib/gmain.c
index 312402f..6dceb88 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -128,7 +135,7 @@
 /* The following lock is used for both the list of sources
  * and the list of poll records
  */
-G_LOCK_DECLARE_STATIC (main_loop);
+G_LOCK_DEFINE_STATIC (main_loop);
 
 static GSourceFuncs timeout_funcs =
 {
diff --git a/glib/gmem.c b/glib/gmem.c
index 697e9df..6d94af2 100644
--- a/glib/gmem.c
+++ b/glib/gmem.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -285,7 +292,11 @@
   
   
   if (size == 0)
-    return NULL;
+    {
+      g_free (mem);
+    
+      return NULL;
+    }
   
   
 #if defined(ENABLE_MEM_PROFILE) || defined(ENABLE_MEM_CHECK)
@@ -298,7 +309,7 @@
   
   
   if (!mem)
-    p = (gpointer) malloc (size);
+    p = (gpointer) realloc (NULL, size);
   else
     {
 #if defined(ENABLE_MEM_PROFILE) || defined(ENABLE_MEM_CHECK)
@@ -409,7 +420,7 @@
   gulong local_freed_mem;  
 
   g_mutex_lock (mem_profile_lock);
-  for (i = 0; i < (MEM_PROFILE_TABLE_SIZE - 1); i++)
+  for (i = 0; i < MEM_PROFILE_TABLE_SIZE; i++)
     local_allocations[i] = allocations[i];
   local_allocated_mem = allocated_mem;
   local_freed_mem = freed_mem;
diff --git a/glib/gmessages.c b/glib/gmessages.c
index 404e953..fe569b4 100644
--- a/glib/gmessages.c
+++ b/glib/gmessages.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/gnode.c b/glib/gnode.c
index 23245b3..5145c6b 100644
--- a/glib/gnode.c
+++ b/glib/gnode.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -39,7 +46,7 @@
   GNode         *free_nodes; /* implementation specific */
 };
 
-G_LOCK_DECLARE_STATIC (current_allocator);
+G_LOCK_DEFINE_STATIC (current_allocator);
 static GAllocator *current_allocator = NULL;
 
 /* HOLDS: current_allocator_lock */
@@ -108,7 +115,7 @@
   if (!current_allocator)
     {
        GAllocator *allocator = g_allocator_new ("GLib default GNode allocator",
-						1024);
+						128);
        g_node_validate_allocator (allocator);
        allocator->last = NULL;
        current_allocator = allocator;
diff --git a/glib/gprimes.c b/glib/gprimes.c
index 404ebd6..c6109bf 100644
--- a/glib/gprimes.c
+++ b/glib/gprimes.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/grel.c b/glib/grel.c
index 544da6b..237b60c 100644
--- a/glib/grel.c
+++ b/glib/grel.c
@@ -16,6 +16,13 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/gscanner.c b/glib/gscanner.c
index 360eb34..2852860 100644
--- a/glib/gscanner.c
+++ b/glib/gscanner.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/gslist.c b/glib/gslist.c
index 8b20a3d..ef5615f 100644
--- a/glib/gslist.c
+++ b/glib/gslist.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -35,7 +42,7 @@
   GSList        *free_lists; /* implementation specific */
 };
 
-G_LOCK_DECLARE_STATIC (current_allocator);
+G_LOCK_DEFINE_STATIC (current_allocator);
 static GAllocator       *current_allocator = NULL;
 
 /* HOLDS: current_allocator_lock */
@@ -102,7 +109,7 @@
   if (!current_allocator)
     {
       GAllocator *allocator = g_allocator_new ("GLib default GSList allocator",
-					       1024);
+					       128);
       g_slist_validate_allocator (allocator);
       allocator->last = NULL;
       current_allocator = allocator; 
diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c
index 0a16485..f24fdcb 100644
--- a/glib/gstrfuncs.c
+++ b/glib/gstrfuncs.c
@@ -18,6 +18,13 @@
  */
 
 /*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
+/*
  * MT safe
  */
 
@@ -644,13 +651,14 @@
 #endif /* NO_SYS_ERRLIST */
 
   msg = g_static_private_get (&msg_private);
-  if( !msg )
+  if (!msg)
     {
-      msg = g_new( gchar, 64 );
+      msg = g_new (gchar, 64);
       g_static_private_set (&msg_private, msg, g_free);
     }
 
   sprintf (msg, "unknown error (%d)", errnum);
+
   return msg;
 }
 
@@ -770,13 +778,14 @@
 #endif /* NO_SYS_SIGLIST */
 
   msg = g_static_private_get (&msg_private);
-  if( !msg )
+  if (!msg)
     {
-      msg = g_new( gchar, 64 );
+      msg = g_new (gchar, 64);
       g_static_private_set (&msg_private, msg, g_free);
     }
 
   sprintf (msg, "unknown signal (%d)", signum);
+
   return msg;
 }
 
diff --git a/glib/gstring.c b/glib/gstring.c
index a2718c6..fd8e512 100644
--- a/glib/gstring.c
+++ b/glib/gstring.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -48,7 +55,7 @@
   gint   alloc;
 };
 
-G_LOCK_DECLARE_STATIC (string_mem_chunk);
+G_LOCK_DEFINE_STATIC (string_mem_chunk);
 static GMemChunk *string_mem_chunk = NULL;
 
 /* Hash Functions.
diff --git a/glib/gtimer.c b/glib/gtimer.c
index 0b6e86a..eb18af8 100644
--- a/glib/gtimer.c
+++ b/glib/gtimer.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/glib/gtree.c b/glib/gtree.c
index 5b4e342..557aa27 100644
--- a/glib/gtree.c
+++ b/glib/gtree.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -83,7 +90,7 @@
 static void       g_tree_node_check                 (GTreeNode      *node);
 
 
-G_LOCK_DECLARE_STATIC (g_tree_global);
+G_LOCK_DEFINE_STATIC (g_tree_global);
 static GMemChunk *node_mem_chunk = NULL;
 static GTreeNode *node_free_list = NULL;
 
diff --git a/glib/gutils.c b/glib/gutils.c
index 321a131..5ac16ed 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe for the unix part, FIXME: make the win32 part MT safe as well.
  */
@@ -372,7 +379,7 @@
 }
 
 
-G_LOCK_DECLARE_STATIC (g_utils_global);
+G_LOCK_DEFINE_STATIC (g_utils_global);
 
 static	gchar	*g_tmp_dir = NULL;
 static	gchar	*g_user_name = NULL;
@@ -401,7 +408,7 @@
 	    g_tmp_dir[k-1] = '\0';
 	}
 #endif
-
+      
       if (!g_tmp_dir)
 	{
 #ifndef NATIVE_WIN32
@@ -442,40 +449,63 @@
       {
 	struct passwd *pw = NULL;
 	gpointer buffer = NULL;
-
+	
 #  ifdef HAVE_GETPWUID_R
         struct passwd pwd;
         guint bufsize = 64;
         gint error;
-
+	
         do
           {
             g_free (buffer);
             buffer = g_malloc (bufsize);
-
+	    errno = 0;
+	    
 #    ifdef HAVE_GETPWUID_R_POSIX
-            error = getpwuid_r (getuid (), &pwd, buffer, bufsize, &pw);
+	    error = getpwuid_r (getuid (), &pwd, buffer, bufsize, &pw);
             error = error < 0 ? errno : error;
 #    else /* !HAVE_GETPWUID_R_POSIX */
+#      ifdef _AIX
+	    error = getpwuid_r (getuid (), &pwd, buffer, bufsize);
+	    pw = error == 0 ? &pwd : NULL;
+#      else /* !_AIX */
             pw = getpwuid_r (getuid (), &pwd, buffer, bufsize);
             error = pw ? 0 : errno;
+#      endif /* !_AIX */            
 #    endif /* !HAVE_GETPWUID_R_POSIX */
-
-            bufsize *= 2;
-          }
-        while (error == ERANGE);
-
-        if (error)
-          g_warning ("getpwuid_r(): failed due to: %s", g_strerror (error));
-
-#  else /* !HAVE_GETPWUID_R */
-
-        setpwent ();
-        pw = getpwuid (getuid ());
-        endpwent ();
-
+	    
+	    if (!pw)
+	      {
+		/* we bail out prematurely if the user id can't be found
+		 * (should be pretty rare case actually), or if the buffer
+		 * should be sufficiently big and lookups are still not
+		 * successfull.
+		 */
+		if (error == 0 || error == ENOENT)
+		  {
+		    g_warning ("getpwuid_r(): failed due to: No such user %d.",
+			       getuid ());
+		    break;
+		  }
+		if (bufsize > 32 * 1024)
+		  {
+		    g_warning ("getpwuid_r(): failed due to: %s.",
+			       g_strerror (error));
+		    break;
+		  }
+		
+		bufsize *= 2;
+	      }
+	  }
+	while (!pw);
 #  endif /* !HAVE_GETPWUID_R */
 	
+	if (!pw)
+	  {
+	    setpwent ();
+	    pw = getpwuid (getuid ());
+	    endpwent ();
+	  }
 	if (pw)
 	  {
 	    g_user_name = g_strdup (pw->pw_name);
@@ -485,9 +515,9 @@
 	  }
 	g_free (buffer);
       }
-
+      
 #else /* !HAVE_PWD_H */
-
+      
 #  ifdef NATIVE_WIN32
       {
 	guint len = 17;
@@ -500,14 +530,32 @@
 	  }
       }
 #  endif /* NATIVE_WIN32 */
-
+      
 #endif /* !HAVE_PWD_H */
-
+      
+#ifdef __EMX__
+      /* change '\\' in %HOME% to '/' */
+      g_strdelimit (g_home_dir, "\\",'/');
+#endif
       if (!g_user_name)
 	g_user_name = g_strdup ("somebody");
       if (!g_real_name)
 	g_real_name = g_strdup ("Unknown");
-    }  
+      else
+	{
+	  gchar *p;
+
+	  for (p = g_real_name; *p; p++)
+	    if (*p == ',')
+	      {
+		*p = 0;
+		p = g_strdup (g_real_name);
+		g_free (g_real_name);
+		g_real_name = p;
+		break;
+	      }
+	}
+    }
 }
 
 gchar*
@@ -603,7 +651,7 @@
 g_direct_equal (gconstpointer v1,
 		gconstpointer v2)
 {
-  return GPOINTER_TO_UINT (v1) == GPOINTER_TO_UINT (v2);
+  return v1 == v2;
 }
 
 gint
diff --git a/glibconfig.h.win32 b/glibconfig.h.win32
index 05ff5f0..1f5c953 100644
--- a/glibconfig.h.win32
+++ b/glibconfig.h.win32
@@ -77,8 +77,8 @@
 #define alloca _alloca
 
 #define GLIB_MAJOR_VERSION 1
-#define GLIB_MINOR_VERSION 1
-#define GLIB_MICRO_VERSION 15
+#define GLIB_MINOR_VERSION 2
+#define GLIB_MICRO_VERSION 0
 
 #ifdef	__cplusplus
 #define	G_HAVE_INLINE	1
@@ -120,8 +120,8 @@
 /* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
 #define	G_STATIC_MUTEX_INIT	{ NULL, { { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }
 #define	g_static_mutex_get_mutex(mutex) \
-  (g_thread_use_default_impl ? ((GMutex*) &(mutex).aligned_pad_u) : \
-   g_static_mutex_get_mutex_impl (&(mutex).runtime_mutex))
+  (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
+   g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
 
 #define G_BYTE_ORDER G_LITTLE_ENDIAN
 
diff --git a/glist.c b/glist.c
index c1e5500..3c87a8f 100644
--- a/glist.c
+++ b/glist.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -36,7 +43,7 @@
 };
 
 static GAllocator	*current_allocator = NULL;
-G_LOCK_DECLARE_STATIC (current_allocator);
+G_LOCK_DEFINE_STATIC (current_allocator);
 
 /* HOLDS: current_allocator_lock */
 static void
@@ -102,7 +109,7 @@
   if (!current_allocator)
     {
       GAllocator *allocator = g_allocator_new ("GLib default GList allocator",
-					       1024);
+					       128);
       g_list_validate_allocator (allocator);
       allocator->last = NULL;
       current_allocator = allocator;
diff --git a/gmain.c b/gmain.c
index 312402f..6dceb88 100644
--- a/gmain.c
+++ b/gmain.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -128,7 +135,7 @@
 /* The following lock is used for both the list of sources
  * and the list of poll records
  */
-G_LOCK_DECLARE_STATIC (main_loop);
+G_LOCK_DEFINE_STATIC (main_loop);
 
 static GSourceFuncs timeout_funcs =
 {
diff --git a/gmem.c b/gmem.c
index 697e9df..6d94af2 100644
--- a/gmem.c
+++ b/gmem.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -285,7 +292,11 @@
   
   
   if (size == 0)
-    return NULL;
+    {
+      g_free (mem);
+    
+      return NULL;
+    }
   
   
 #if defined(ENABLE_MEM_PROFILE) || defined(ENABLE_MEM_CHECK)
@@ -298,7 +309,7 @@
   
   
   if (!mem)
-    p = (gpointer) malloc (size);
+    p = (gpointer) realloc (NULL, size);
   else
     {
 #if defined(ENABLE_MEM_PROFILE) || defined(ENABLE_MEM_CHECK)
@@ -409,7 +420,7 @@
   gulong local_freed_mem;  
 
   g_mutex_lock (mem_profile_lock);
-  for (i = 0; i < (MEM_PROFILE_TABLE_SIZE - 1); i++)
+  for (i = 0; i < MEM_PROFILE_TABLE_SIZE; i++)
     local_allocations[i] = allocations[i];
   local_allocated_mem = allocated_mem;
   local_freed_mem = freed_mem;
diff --git a/gmessages.c b/gmessages.c
index 404e953..fe569b4 100644
--- a/gmessages.c
+++ b/gmessages.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gmodule/ChangeLog b/gmodule/ChangeLog
index c957056..514cca8 100644
--- a/gmodule/ChangeLog
+++ b/gmodule/ChangeLog
@@ -1,3 +1,12 @@
+Wed Feb 10 12:06:30 1999  Tim Janik  <timj@gtk.org>
+
+	* gmodule.c (CHECK_ERROR): be more descriptive on unsupported systems.
+
+Wed Feb 10 07:56:33 1999  Tim Janik  <timj@gtk.org>
+
+	* gmodule.c (g_module_error): fixed errernerous code wrt to thread
+	specific error string allocation handling.
+
 Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
 
         * gmodule-dl.c (_g_module_build_path):
diff --git a/gmodule/gmodule-dl.c b/gmodule/gmodule-dl.c
index 6afc6d5..e8fb3f2 100644
--- a/gmodule/gmodule-dl.c
+++ b/gmodule/gmodule-dl.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gmodule/gmodule-dld.c b/gmodule/gmodule-dld.c
index 17d6e01..e8cf40d 100644
--- a/gmodule/gmodule-dld.c
+++ b/gmodule/gmodule-dld.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gmodule/gmodule-win32.c b/gmodule/gmodule-win32.c
index c3fc9a9..623398c 100644
--- a/gmodule/gmodule-win32.c
+++ b/gmodule/gmodule-win32.c
@@ -18,6 +18,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gmodule/gmodule.c b/gmodule/gmodule.c
index 99f38a6..e0ffc7b 100644
--- a/gmodule/gmodule.c
+++ b/gmodule/gmodule.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -64,7 +71,7 @@
 
 
 /* --- variables --- */
-G_LOCK_DECLARE_STATIC (GModule);
+G_LOCK_DEFINE_STATIC (GModule);
 const char           *g_log_domain_gmodule = "GModule";
 static GModule	     *modules = NULL;
 static GModule	     *main_module = NULL;
@@ -114,15 +121,8 @@
 static inline void
 g_module_set_error (const gchar *error)
 {
-  gchar* module_error = g_static_private_get (&module_error_private);
-  if (module_error)
-    g_free (module_error);
-  if (error)
-    module_error = g_strdup (error);
-  else
-    module_error = NULL;
+  g_static_private_set (&module_error_private, g_strdup (error), g_free);
   errno = 0;
-  g_static_private_set (&module_error_private, module_error, g_free);
 }
 
 
@@ -136,7 +136,8 @@
 #include "gmodule-win32.c"
 #else
 #undef	CHECK_ERROR
-#define	CHECK_ERROR(rv)	{ g_module_set_error ("unsupported"); return rv; }
+#define	CHECK_ERROR(rv)	{ g_module_set_error ("dynamic modules are " \
+                                              "not supported by this system"); return rv; }
 static gpointer
 _g_module_open (const gchar	*file_name,
 		gboolean	 bind_lazy)
@@ -246,8 +247,7 @@
 	  return module;
 	}
       
-      saved_error = g_module_error();
-      g_static_private_set (&module_error_private, NULL, NULL);
+      saved_error = g_strdup (g_module_error ());
       g_module_set_error (NULL);
       
       module = g_new (GModule, 1);
@@ -281,6 +281,7 @@
 	}
       else
 	g_module_set_error (saved_error);
+
       g_free (saved_error);
     }
   
diff --git a/gmodule/gmodule.h b/gmodule/gmodule.h
index 62fd16a..908575c 100644
--- a/gmodule/gmodule.h
+++ b/gmodule/gmodule.h
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #ifndef __GMODULE_H__
 #define __GMODULE_H__
 
diff --git a/gmodule/libgplugin_a.c b/gmodule/libgplugin_a.c
index 99e9e41..91b928d 100644
--- a/gmodule/libgplugin_a.c
+++ b/gmodule/libgplugin_a.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #include	<gmodule.h>
 #include	<stdlib.h>
 
diff --git a/gmodule/libgplugin_b.c b/gmodule/libgplugin_b.c
index 12e7fcb..109e048 100644
--- a/gmodule/libgplugin_b.c
+++ b/gmodule/libgplugin_b.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #include        <gmodule.h>
 
 #if defined (NATIVE_WIN32) && defined (__LCC__)
diff --git a/gmodule/testgmodule.c b/gmodule/testgmodule.c
index ff7b439..cb40da1 100644
--- a/gmodule/testgmodule.c
+++ b/gmodule/testgmodule.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef	G_LOG_DOMAIN
 #include	<gmodule.h>
 
diff --git a/gmutex.c b/gmutex.c
index dfcad9d..a6e7934 100644
--- a/gmutex.c
+++ b/gmutex.c
@@ -21,6 +21,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -29,7 +36,8 @@
 
 typedef struct _GStaticPrivateNode GStaticPrivateNode;
 
-struct _GStaticPrivateNode {
+struct _GStaticPrivateNode
+{
   gpointer       data;
   GDestroyNotify destroy;
 };
@@ -72,12 +80,15 @@
 g_mutex_init (void)
 {
   /* We let the main thread (the one that calls g_thread_init) inherit
-     the data, that it set before calling g_thread_init */
+   * the data, that it set before calling g_thread_init
+   */
   gpointer private_old = g_thread_specific_private;
+
   g_thread_specific_private = g_private_new (g_static_private_free_data);
 
   /* we can not use g_private_set here, as g_threads_got_initialized is not
-     yet set TRUE, whereas the private_set function is already set. */
+   * yet set TRUE, whereas the private_set function is already set.
+   */
   g_thread_functions_for_glib_use.private_set (g_thread_specific_private, 
 					       private_old);
 
@@ -115,7 +126,7 @@
   if (!private_key->index)
     return NULL;
   else if (private_key->index <= array->len)
-    return g_array_index (array, GStaticPrivateNode, (private_key->index - 1)).data;
+    return g_array_index (array, GStaticPrivateNode, private_key->index - 1).data;
   else
     return NULL;
 }
@@ -127,11 +138,12 @@
 {
   GArray *array;
   static guint next_index = 0;
+  GStaticPrivateNode *node;
   
   array = g_private_get (g_thread_specific_private);
   if (!array)
     {
-      array = g_array_new (FALSE, FALSE, sizeof(GStaticPrivateNode));
+      array = g_array_new (FALSE, TRUE, sizeof (GStaticPrivateNode));
       g_private_set (g_thread_specific_private, array);
     }
 
@@ -148,8 +160,22 @@
   if (private_key->index > array->len)
     g_array_set_size (array, private_key->index);
 
-  g_array_index (array, GStaticPrivateNode, (private_key->index - 1)).data = data;
-  g_array_index (array, GStaticPrivateNode, (private_key->index - 1)).destroy = notify;
+  node = &g_array_index (array, GStaticPrivateNode, private_key->index - 1);
+  if (node->destroy)
+    {
+      gpointer ddata = node->data;
+      GDestroyNotify ddestroy = node->destroy;
+
+      node->data = data;
+      node->destroy = notify;
+
+      ddestroy (ddata);
+    }
+  else
+    {
+      node->data = data;
+      node->destroy = notify;
+    }
 }
 
 static void
@@ -163,7 +189,7 @@
       for (i = 0; i < array->len; i++ )
 	{
 	  GStaticPrivateNode *node = &g_array_index (array, GStaticPrivateNode, i);
-	  if (node->data && node->destroy)
+	  if (node->destroy)
 	    node->destroy (node->data);
 	}
     }
diff --git a/gnode.c b/gnode.c
index 23245b3..5145c6b 100644
--- a/gnode.c
+++ b/gnode.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -39,7 +46,7 @@
   GNode         *free_nodes; /* implementation specific */
 };
 
-G_LOCK_DECLARE_STATIC (current_allocator);
+G_LOCK_DEFINE_STATIC (current_allocator);
 static GAllocator *current_allocator = NULL;
 
 /* HOLDS: current_allocator_lock */
@@ -108,7 +115,7 @@
   if (!current_allocator)
     {
        GAllocator *allocator = g_allocator_new ("GLib default GNode allocator",
-						1024);
+						128);
        g_node_validate_allocator (allocator);
        allocator->last = NULL;
        current_allocator = allocator;
diff --git a/gprimes.c b/gprimes.c
index 404ebd6..c6109bf 100644
--- a/gprimes.c
+++ b/gprimes.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/grel.c b/grel.c
index 544da6b..237b60c 100644
--- a/grel.c
+++ b/grel.c
@@ -16,6 +16,13 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gscanner.c b/gscanner.c
index 360eb34..2852860 100644
--- a/gscanner.c
+++ b/gscanner.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gslist.c b/gslist.c
index 8b20a3d..ef5615f 100644
--- a/gslist.c
+++ b/gslist.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -35,7 +42,7 @@
   GSList        *free_lists; /* implementation specific */
 };
 
-G_LOCK_DECLARE_STATIC (current_allocator);
+G_LOCK_DEFINE_STATIC (current_allocator);
 static GAllocator       *current_allocator = NULL;
 
 /* HOLDS: current_allocator_lock */
@@ -102,7 +109,7 @@
   if (!current_allocator)
     {
       GAllocator *allocator = g_allocator_new ("GLib default GSList allocator",
-					       1024);
+					       128);
       g_slist_validate_allocator (allocator);
       allocator->last = NULL;
       current_allocator = allocator; 
diff --git a/gstrfuncs.c b/gstrfuncs.c
index 0a16485..f24fdcb 100644
--- a/gstrfuncs.c
+++ b/gstrfuncs.c
@@ -18,6 +18,13 @@
  */
 
 /*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
+/*
  * MT safe
  */
 
@@ -644,13 +651,14 @@
 #endif /* NO_SYS_ERRLIST */
 
   msg = g_static_private_get (&msg_private);
-  if( !msg )
+  if (!msg)
     {
-      msg = g_new( gchar, 64 );
+      msg = g_new (gchar, 64);
       g_static_private_set (&msg_private, msg, g_free);
     }
 
   sprintf (msg, "unknown error (%d)", errnum);
+
   return msg;
 }
 
@@ -770,13 +778,14 @@
 #endif /* NO_SYS_SIGLIST */
 
   msg = g_static_private_get (&msg_private);
-  if( !msg )
+  if (!msg)
     {
-      msg = g_new( gchar, 64 );
+      msg = g_new (gchar, 64);
       g_static_private_set (&msg_private, msg, g_free);
     }
 
   sprintf (msg, "unknown signal (%d)", signum);
+
   return msg;
 }
 
diff --git a/gstring.c b/gstring.c
index a2718c6..fd8e512 100644
--- a/gstring.c
+++ b/gstring.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -48,7 +55,7 @@
   gint   alloc;
 };
 
-G_LOCK_DECLARE_STATIC (string_mem_chunk);
+G_LOCK_DEFINE_STATIC (string_mem_chunk);
 static GMemChunk *string_mem_chunk = NULL;
 
 /* Hash Functions.
diff --git a/gthread/ChangeLog b/gthread/ChangeLog
index c462437..953ed86 100644
--- a/gthread/ChangeLog
+++ b/gthread/ChangeLog
@@ -1,3 +1,14 @@
+1999-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* testgthread.c (test_mutexes): Use new signature of
+	g_static_mutex* functions.
+
+1999-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+	* gthread-posix.c (g_private_get_posix_impl): Use the
+	HAVE_PTHREAD_GETSPECIFIC_POSIX macro to determine, which signature
+	to use for pthread_getspecific.
+
 Tue Jan 19 20:56:02 1999  Tor Lillqvist  <tml@iki.fi>
 
 	* Makefile.am (EXTRA_DIST): Added gthread.def.
diff --git a/gthread/gthread-none.c b/gthread/gthread-none.c
index 7b8fdf9..1b936a2 100644
--- a/gthread/gthread-none.c
+++ b/gthread/gthread-none.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gthread/gthread-nspr.c b/gthread/gthread-nspr.c
index 180e7da..2fe44b7 100644
--- a/gthread/gthread-nspr.c
+++ b/gthread/gthread-nspr.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gthread/gthread-posix.c b/gthread/gthread-posix.c
index e35acbd..f45ae17 100644
--- a/gthread/gthread-posix.c
+++ b/gthread/gthread-posix.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -155,8 +162,15 @@
 {
   if (!private_key)
     return NULL;
-
+#ifdef HAVE_PTHREAD_GETSPECIFIC_POSIX
   return pthread_getspecific (*(pthread_key_t *) private_key);
+#else /* HAVE_PTHREAD_GETSPECIFIC_POSIX */
+  {
+    void* data;
+    pthread_getspecific (*(pthread_key_t *) private_key, &data);
+    return data;
+  }
+#endif /* HAVE_PTHREAD_GETSPECIFIC_POSIX */
 }
 
 static GThreadFunctions g_thread_functions_for_glib_use_default =
diff --git a/gthread/gthread-solaris.c b/gthread/gthread-solaris.c
index df4c99f..4d9c375 100644
--- a/gthread/gthread-solaris.c
+++ b/gthread/gthread-solaris.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gthread/gthread.c b/gthread/gthread.c
index 3a5a622..f7d76be 100644
--- a/gthread/gthread.c
+++ b/gthread/gthread.c
@@ -20,6 +20,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gthread/testgthread.c b/gthread/testgthread.c
index 2eb5b48..72874cc 100644
--- a/gthread/testgthread.c
+++ b/gthread/testgthread.c
@@ -15,7 +15,7 @@
   GMutex *mutex = NULL;
   GCond *cond = NULL;
   GStaticMutex static_mutex = G_STATIC_MUTEX_INIT;
-  G_LOCK_DECLARE (test_me);
+  G_LOCK_DEFINE (test_me);
 
   if (g_thread_supported ())
     {
@@ -26,8 +26,8 @@
   g_mutex_lock (mutex);
   g_mutex_unlock (mutex);
 
-  g_static_mutex_lock (static_mutex);
-  g_static_mutex_unlock (static_mutex);
+  g_static_mutex_lock (&static_mutex);
+  g_static_mutex_unlock (&static_mutex);
 
   g_cond_signal (cond);
   g_cond_broadcast (cond);
diff --git a/gtimer.c b/gtimer.c
index 0b6e86a..eb18af8 100644
--- a/gtimer.c
+++ b/gtimer.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
diff --git a/gtree.c b/gtree.c
index 5b4e342..557aa27 100644
--- a/gtree.c
+++ b/gtree.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe
  */
@@ -83,7 +90,7 @@
 static void       g_tree_node_check                 (GTreeNode      *node);
 
 
-G_LOCK_DECLARE_STATIC (g_tree_global);
+G_LOCK_DEFINE_STATIC (g_tree_global);
 static GMemChunk *node_mem_chunk = NULL;
 static GTreeNode *node_free_list = NULL;
 
diff --git a/gutils.c b/gutils.c
index 321a131..5ac16ed 100644
--- a/gutils.c
+++ b/gutils.c
@@ -17,6 +17,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 /* 
  * MT safe for the unix part, FIXME: make the win32 part MT safe as well.
  */
@@ -372,7 +379,7 @@
 }
 
 
-G_LOCK_DECLARE_STATIC (g_utils_global);
+G_LOCK_DEFINE_STATIC (g_utils_global);
 
 static	gchar	*g_tmp_dir = NULL;
 static	gchar	*g_user_name = NULL;
@@ -401,7 +408,7 @@
 	    g_tmp_dir[k-1] = '\0';
 	}
 #endif
-
+      
       if (!g_tmp_dir)
 	{
 #ifndef NATIVE_WIN32
@@ -442,40 +449,63 @@
       {
 	struct passwd *pw = NULL;
 	gpointer buffer = NULL;
-
+	
 #  ifdef HAVE_GETPWUID_R
         struct passwd pwd;
         guint bufsize = 64;
         gint error;
-
+	
         do
           {
             g_free (buffer);
             buffer = g_malloc (bufsize);
-
+	    errno = 0;
+	    
 #    ifdef HAVE_GETPWUID_R_POSIX
-            error = getpwuid_r (getuid (), &pwd, buffer, bufsize, &pw);
+	    error = getpwuid_r (getuid (), &pwd, buffer, bufsize, &pw);
             error = error < 0 ? errno : error;
 #    else /* !HAVE_GETPWUID_R_POSIX */
+#      ifdef _AIX
+	    error = getpwuid_r (getuid (), &pwd, buffer, bufsize);
+	    pw = error == 0 ? &pwd : NULL;
+#      else /* !_AIX */
             pw = getpwuid_r (getuid (), &pwd, buffer, bufsize);
             error = pw ? 0 : errno;
+#      endif /* !_AIX */            
 #    endif /* !HAVE_GETPWUID_R_POSIX */
-
-            bufsize *= 2;
-          }
-        while (error == ERANGE);
-
-        if (error)
-          g_warning ("getpwuid_r(): failed due to: %s", g_strerror (error));
-
-#  else /* !HAVE_GETPWUID_R */
-
-        setpwent ();
-        pw = getpwuid (getuid ());
-        endpwent ();
-
+	    
+	    if (!pw)
+	      {
+		/* we bail out prematurely if the user id can't be found
+		 * (should be pretty rare case actually), or if the buffer
+		 * should be sufficiently big and lookups are still not
+		 * successfull.
+		 */
+		if (error == 0 || error == ENOENT)
+		  {
+		    g_warning ("getpwuid_r(): failed due to: No such user %d.",
+			       getuid ());
+		    break;
+		  }
+		if (bufsize > 32 * 1024)
+		  {
+		    g_warning ("getpwuid_r(): failed due to: %s.",
+			       g_strerror (error));
+		    break;
+		  }
+		
+		bufsize *= 2;
+	      }
+	  }
+	while (!pw);
 #  endif /* !HAVE_GETPWUID_R */
 	
+	if (!pw)
+	  {
+	    setpwent ();
+	    pw = getpwuid (getuid ());
+	    endpwent ();
+	  }
 	if (pw)
 	  {
 	    g_user_name = g_strdup (pw->pw_name);
@@ -485,9 +515,9 @@
 	  }
 	g_free (buffer);
       }
-
+      
 #else /* !HAVE_PWD_H */
-
+      
 #  ifdef NATIVE_WIN32
       {
 	guint len = 17;
@@ -500,14 +530,32 @@
 	  }
       }
 #  endif /* NATIVE_WIN32 */
-
+      
 #endif /* !HAVE_PWD_H */
-
+      
+#ifdef __EMX__
+      /* change '\\' in %HOME% to '/' */
+      g_strdelimit (g_home_dir, "\\",'/');
+#endif
       if (!g_user_name)
 	g_user_name = g_strdup ("somebody");
       if (!g_real_name)
 	g_real_name = g_strdup ("Unknown");
-    }  
+      else
+	{
+	  gchar *p;
+
+	  for (p = g_real_name; *p; p++)
+	    if (*p == ',')
+	      {
+		*p = 0;
+		p = g_strdup (g_real_name);
+		g_free (g_real_name);
+		g_real_name = p;
+		break;
+	      }
+	}
+    }
 }
 
 gchar*
@@ -603,7 +651,7 @@
 g_direct_equal (gconstpointer v1,
 		gconstpointer v2)
 {
-  return GPOINTER_TO_UINT (v1) == GPOINTER_TO_UINT (v2);
+  return v1 == v2;
 }
 
 gint
diff --git a/makefile.msc b/makefile.msc
index 19d7e74..9b15dba 100644
--- a/makefile.msc
+++ b/makefile.msc
@@ -21,7 +21,7 @@
 LDFLAGS = /link
 INSTALL = copy
 
-GLIB_VER = 1.1
+GLIB_VER = 1.2
 
 CFLAGS = -I. -DHAVE_CONFIG_H
 
diff --git a/testglib.c b/testglib.c
index 2c4c87b..843b49e 100644
--- a/testglib.c
+++ b/testglib.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/array-test.c b/tests/array-test.c
index 168a211..0bcd7b2 100644
--- a/tests/array-test.c
+++ b/tests/array-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/dirname-test.c b/tests/dirname-test.c
index 2395e62..8bb05b3 100644
--- a/tests/dirname-test.c
+++ b/tests/dirname-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/hash-test.c b/tests/hash-test.c
index 6176fd7..2e3be24 100644
--- a/tests/hash-test.c
+++ b/tests/hash-test.c
@@ -17,6 +17,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #ifdef HAVE_CONFIG_H
diff --git a/tests/list-test.c b/tests/list-test.c
index 3e3d01a..13dc184 100644
--- a/tests/list-test.c
+++ b/tests/list-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/node-test.c b/tests/node-test.c
index 682165f..0875687 100644
--- a/tests/node-test.c
+++ b/tests/node-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #ifdef HAVE_CONFIG_H
diff --git a/tests/relation-test.c b/tests/relation-test.c
index a3d37a2..d0660e5 100644
--- a/tests/relation-test.c
+++ b/tests/relation-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/slist-test.c b/tests/slist-test.c
index 42657f6..0ab8114 100644
--- a/tests/slist-test.c
+++ b/tests/slist-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/strfunc-test.c b/tests/strfunc-test.c
index 1445453..f50a037 100644
--- a/tests/strfunc-test.c
+++ b/tests/strfunc-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/string-test.c b/tests/string-test.c
index 1936e2b..bc5b7db 100644
--- a/tests/string-test.c
+++ b/tests/string-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/testglib.c b/tests/testglib.c
index 2c4c87b..843b49e 100644
--- a/tests/testglib.c
+++ b/tests/testglib.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/tree-test.c b/tests/tree-test.c
index 3b8d45e..7f354ff 100644
--- a/tests/tree-test.c
+++ b/tests/tree-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>
diff --git a/tests/type-test.c b/tests/type-test.c
index 1e39484..94b9cab 100644
--- a/tests/type-test.c
+++ b/tests/type-test.c
@@ -16,6 +16,14 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GLib Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GLib Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #undef G_LOG_DOMAIN
 
 #include <stdio.h>