2002-04-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
	for all threads leaving it. (#78348)

2002-04-11  Matthias Clasen  <maclas@gmx.de>

	* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
	stuff fed to g_print.

2002-04-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* tests/gio-test.c, tests/markup-test.c: Use gsize instead of
	gint. From Miroslaw Dobrzanski-Neumann
	<mne@mosaic-ag.com>. (#77982)
	
2002-04-08  Stanislav Brabec  <utx@penguin.cz> 

        * cs.po: Added Czech (cs) to ALL_LINGUAS.

2002-03-31  Hasbullah Bin Pit <sebol@ikhlas.com>

	* configure.in: Added Malay (ms)to ALL_LINGUAS.

2002-03-29  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.def: Add g_convert_init.

Thu Mar 28 18:25:14 2002  Owen Taylor  <otaylor@redhat.com>

	* Released 2.0.1

	* configure.in: Version 2.0.1, interface, binary age 1.

Thu Mar 28 18:22:53 2002  Owen Taylor  <otaylor@redhat.com>

	* README: Remove warning about g_print, etc, encoding.

	* NEWS: Updates.

	* glib/gmessages.c (g_log_default_handler): Use %lu
	(plus a cast) when printing out pid_t arguments.
	(#76770, Morten Welinder)

	* glib/gstrfuncs.c (g_strdup_vprintf): Check the
	result of vasprintf(), return NULL on failure.
	(#76802, Akira Tagoh)

	* tests/testglib.c (TEST): Supress a warning with
	some GCC versions. 

Thu Mar 28 20:31:51 2002  Tim Janik  <timj@gtk.org>

	* glib/gmessages.c:
	(g_print): 
	(g_printerr): convert prtinf() strings to local charset
	when writing them to stdout or stderr.

Wed Mar 27 18:42:22 2002  Tim Janik  <timj@gtk.org>

	* gmessages.[hc]:
	major cleanups. introduced _g_log_fallback_handler() to handle
	recursive messages which really doesn't call any GLib functions.
	this allowes the default handler to use normal GLib functions and
	also fixes user supplied log level handlers.
	fixed locking issues, based on a patch from Sebastian Willhelmi,
	attached to #74356. translate log messages from UTF-8, based
	on the same patch. save fatal and recursion flags across flag
	loop. use new integer format code from above patch.
	move GLib functions out of locked mutex state to avoid deadlocks.
	move the level prefix and filedescriptor logic into mklevel_prefix().
	move _g_debug_init() into a place where we can figure and handle
	recursion.

Mon Mar 25 18:13:06 2002  Owen Taylor  <otaylor@redhat.com>

	* glib/gtypes.h (GUINT*_SWAP_LE_BE_X86): Remove __const__
	qualifier from __asm__ statements... GCC since at least
	2.96 has assumed no side effects automaticaly, and gcc-3.1
	will warn about this usage. (#73308, Cody Russell)

Fri Mar 22 17:59:27 2002  Owen Taylor  <otaylor@redhat.com>

	* glib/gmem.c (g_mem_chunk_reset): Fix problem where
	if g_mem_chunk_reset() is called on an alloc-only
	memchunk, then a useles GTree was created.

Wed Mar 20 18:20:21 2002  Owen Taylor  <otaylor@redhat.com>

	* glib/gconvert.c (open_converter): Try to work around segfaults
	on Solaris if NULL is passed for outbuf... supposedly gchar
	*outbuf = NULL... &outbuf works. (#74336, Lauri Alanko)

Wed Mar 20 11:17:32 2002  Owen Taylor  <otaylor@redhat.com>

	* glib/gfileutils.c (get_contents_regfile): Close the
	file descriptor. (#75507, Matthias Clasen)

Wed Mar 20 11:00:59 2002  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Use $PKG_CONFIG, not pkg-config.
	(LEE Sau Dan, #75572)

2002-03-20  Sven Neumann  <sven@gimp.org>

	* glib/ghash.c (g_hash_table_resize): avoid repeated call of 
	g_spaced_primes_closest() by moving it out of the CLAMP macro 
	(spotted by Salmaso Raffaele).

2002-03-17  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Add MSVC-specific text by Hans Breuer.

2002-03-16  Tor Lillqvist  <tml@iki.fi>

	* glib/giowin32.c: Some debugging output formatting changes. The
	following changes fix a problem with buffered GIOChannels, noticed
	with the help of Owen's test program, thanks! (#59969)
	(g_io_win32_prepare): Return value that takes the buffer condition
	into account, like g_io_unix_prepare() does.
	(g_io_win32_check): Ditto, like g_io_unix_check().
	(g_io_win32_dispatch): Ditto, like g_io_unix_dispatch().

Thu Mar 14 17:37:45 2002  Owen Taylor  <otaylor@redhat.com>

	* glib/giochannel.c (g_io_channel_write_chars): Fix some
	gsize/gint mismatches. (#74422, Miroslaw Dobrzanski-Neumann)

2002-03-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gmessages.c: Fixed threading issues brought up by
	#74577. Make g_log_find_domain, g_log_domain_new,
	g_log_domain_check_free and g_log_domain_get_handler require being
	called with g_messages_lock held and remove all internal locking
	in them. Then added proper locking to g_log_set_handler,
	g_log_remove_handler and g_logv. Problem spotted by Miroslaw
	Dobrzanski-Neumann <mne@mosaic-ag.com>. (#74577)

2002-03-13  Erwann Chenede  <erwann.chenede@sun.com>
        * glib/gconvert.c 
	  glib/gen-unicode-tables.pl
	  glib/gunidecomp.h : fixed cast/type problems to 
	  avoid warnings (with forte compiler) (#73898)
	
2002-03-12  Alexander Larsson  <alla@lysator.liu.se>

	* glib/gconvert.c:
	Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
	use instead. Add g_convert_init() that calls have_broken_filenames()

	* gthread/gthread-impl.c:
	Have g_thread_init call g_convert_init.

2002-03-11  Matthias Clasen  <maclas@gmx.de>

	* glib/gstrfuncs.c (g_strtod): 
	(g_ascii_strtod): 
	(g_ascii_dtostr): 
	(g_ascii_formatd): Doc formatting fixes.

