+Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
+ * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
+
+2000-09-21 Tor Lillqvist <tml@iki.fi>
+
+ * makefile.mingw.in: Add gconvert.o. Use libiconv.
+
+ * config.h.win32.in: Define HAVE_GETCWD.
+
+ * glib.def: Add new entry points.
+
+2000-09-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: The last released automake (1.4) still requires
+ AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
+ time being.
+
+2000-09-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * acconfig.h, configure.in, gutils.c: Test for the existence of
+ getcwd, and use it only when found.
+
+ * glib.h: Only use the gcc-variable-macro-argument-extension for
+ gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+
+Mon Sep 18 10:58:21 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gutf8.c: Implement g_ucs4_to_utf8 which was in
+ the header file but not implemented.
+
+Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
+
+ * glib.h configure.in: Define g_alloca() as an
+ alloca-that-works-anywhere.
+
+ * gconvert.c: Fix warnings which could have caused problems on
+ 64-bit platforms.
+
+Sun Sep 10 12:37:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * glib.h gconvert.c (g_convert): Havoc Pennington's implementation
+ of convenient character set conversion using iconv, with
+ the addition of GError. We probably need a fallback that
+ just does conversions between, say UTF-8,16,32 and ISO-8859-1
+ for targets without iconv at all.
+
+ Also add g_convert_with_fallback() to take care of conversions
+ where we accept some loss going to the target encoding.
+
+2000-09-10 Havoc Pennington <hp@redhat.com>
+
+ * gutf8.c (g_utf8_validate): Add this function.
+
+Sat Sep 9 18:50:42 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
+
+Mon Aug 21 03:57:46 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
+ implement BREAKPOINT() as raise (5 /* SIGTRAP */);
+
+ * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
+ to turn on compilation of inline function implementations provided
+ in header files with extern linkage.
+ wrap inline function implementations into ifdef __G_UTILS_C__, so we
+ really only compile them for gutils.c and not also into arbitrary user
+ code that wants to make use of G_IMPLEMENT_INLINES.
+ adjusted comment apropriately.
+
+ * gutils.c: to turn on compilation of inline functions, provide
+ #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
+
+2000-09-06 Havoc Pennington <hp@redhat.com>
+
+ * gerror.c: docs
+
+ * docs/reference/glib/tmpl/error_reporting.sgml: docs
+
+Wed Sep 6 10:28:34 2000 Owen Taylor <otaylor@redhat.com>
+
+ * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
+
+2000-09-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib.h, gtimer.c, tests/thread-test.c:
+ s/G_MICROSEC/G_USEC_PER_SEC/
+
+ * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
+ they are really superfluous.
+
+Tue Sep 5 20:16:27 2000 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in docs/Makefile.am: Add gtk-doc checks
+ for newly added docs/reference/ subdir.
+
+2000-09-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
+ isn't necessary.
+
+2000-09-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gstring.c (g_string_free): Use g_return_val_if_fail instead of
+ g_return_if_fail, as the function now is supposed to return
+ something.
+
+ * gerror.c, gerror.h (g_propagte_error): Added function
+ g_propagte_error to hand over local errors to the calling
+ function.
+
+ * glib.h: Include gerror.h before it is used for some g_thread_*
+ functions.
+
+ * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
+ thread creation, namly for g_thread_create, g_thread_pool_new,
+ g_thread_pool_push and g_thread_pool_set_max_threads.
+
+ * tests/thread-test.c, tests/threadpool-test.c: Adapted
+ accordingly.
+
+2000-08-31 Tor Lillqvist <tml@iki.fi>
+
+ * glib.h
+ * glib.def
+ * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
+ make a GPollFD from a GIOChannel. Creates the events and starts
+ the reader thread if necessary.
+
+ * glib.h
+ * giowin32.c (g_io_channel_win32_poll): No use for separate
+ condition parameter.
+
+ * gmain.c (g_get_current_time): (Win32): Simplify, use
+ GetSystemTimeAsFileTime().
+
+2000-08-27 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_poll): New function, otherwise
+ like g_io_channel_win32_wait_for_condition(), but accept several
+ GPollFDs.
+ (g_io_channel_win32_wait_for_condition): Call
+ g_io_channel_win32_poll().
+
+ * glib.h: Declare g_io_channel_win32_poll().
+
+ * gwin32.c (g_win32_error_message): Don't believe return value
+ from FormatMessage.
+
+2000-08-25 Elliot Lee <sopwith@redhat.com>
+
+ * glib.h, gunicode.h, gmodule/gmodule.h:
+ : Mark the following functions G_GNUC_CONST (to allow
+ optimization) because their results are a function of only their parameters:
+ g_int_hash, g_int_equal, g_direct_hash, g_direct_equal, g_quark_to_string,
+ g_date_is_leap_year, g_date_days_in_month, g_date_monday_weeks_in_year,
+ g_date_sunday_weeks_in_year, g_spaced_primes_closest, g_unichar_is*,
+ g_unichar_to*, g_unichar_*digit_value, g_unichar_type
+
+2000-08-21 Elliot Lee <sopwith@redhat.com>
+
+ * gobject/Makefile.am, gobject/gobject-query.c, gobject/gparamspecs.c: Fix inclusion of
+ config.h
+
+Mon Aug 21 14:46:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * tests/gio-test.c: Fix a couple of trivial bugs that
+ were causing warnings.
+
+Mon Aug 21 14:39:36 2000 Owen Taylor <otaylor@redhat.com>
+
+ * glib.h: Use C99 varargs macros where possible
+ (check __STDC_VERSION__), otherwise, on gcc, use an alternate
+ form of gcc varargs which is more likely
+ to be supported going forward. (Based on some code
+ from Raja Harinath)
+
+2000-08-17 Darin Adler <darin@eazel.com>
+
+ * glib.h:
+ * garray.c: (g_array_free), (g_ptr_array_free),
+ (g_byte_array_free): Return the data left behind.
+ * gstring.c: (g_string_free): Return the data left behind.
+
+ Changed the free calls that leave data behind so they
+ return a pointer to the left-behind data, NULL if told not
+ to leave anything behind. This makes these calls easier
+ to use correctly, without any incompatible API change for
+ callers that don't know about the return value. Of course,
+ it would be even clearer if the free calls weren't dual-purpose
+ in the first place.
+
+2000-08-12 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c: Some indentation and spacing fixes. Add some more
+ logging.
+ (g_io_win32_add_watch): New function, with common code from
+ g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
+ more than one reader thread for a GIOChannel. We should obviously
+ have just one reader thread reading a file descriptor or socket.
+
+2000-08-10 Havoc Pennington <hp@redhat.com>
+
+ * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
+
+ * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
+
+ * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
+ itself
+
+2000-08-10 Havoc Pennington <hp@redhat.com>
+
+ * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
+ glibconfig.h
+
+2000-08-07 Tor Lillqvist <tml@iki.fi>
+
+ * tests/gio-test.c (shutdown_source): New function, that calls
+ g_source_remove(). Check return value of g_source_remove(), and
+ decrement running subprocess counter only if g_source_remove()
+ actually did remove the source.
+
+ (recv_message): Call shutdown_source() on EOF condition. Return
+ FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
+
+Sun Aug 6 20:06:02 2000 Tim Janik <timj@gtk.org>
+
+ * gmessages.c (g_log_domain_check_free): keep *last updated while
+ running through the domain list, so we don't screw up the removal,
+ patch provided by Gady Kozma <gadykozma@hotmail.com>.
+
+Sun Aug 6 20:03:41 2000 Tim Janik <timj@gtk.org>
+
+ * gmessages.c (g_log_remove_handler): keep *last updated while running
+ through the handler list, so we don't screw up the removal.
+
+Sun Jul 30 16:54:13 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gunicode.h: Fix stray character
+
+ * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
+ which case we just compute the length.
+
+2000-07-31 Havoc Pennington <hp@redhat.com>
+
+ * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
+
+2000-07-31 Havoc Pennington <hp@redhat.com>
+
+ * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
+ gobject-2.0.pc.in: pkg-config data files
+
+ * Makefile.am: Install/dist the .pc files
+
+ * configure.in: Output the .pc files
+
+2000-07-31 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (buffer_read): The code didn't compile (must
+ have been sleepy when committing). "return" instead of "break"
+
+ (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
+ readable by calling ReadFile to read zero bytes. ReadFile blocks
+ on NT even if trying to read nothing at all. So, don't check if
+ file descriptor is readable; assume this function isn't called
+ otherwise.
+
+Sun Jul 30 10:44:16 2000 Tim Janik <timj@gtk.org>
+
+ * gmain.c (g_get_current_time): fix tor's recent changes which
+ got rid of a required variable in the non-windows path.
+
+2000-07-30 Tor Lillqvist <tml@iki.fi>
+
+ Finally, a new and improved IO Channel and condition watch
+ implementation for Win32. Based on code provided by Craig Setera.
+
+ When watching file descriptors, for which there is no select()
+ like functionality on Win32 that would work on all Win32 platforms
+ for all types of file descriptors (including anonymous pipes), we
+ start a new thread that blocks while trying to read from the file
+ descriptor. When the read returns, a Win32 Event is signalled that
+ the polling routine eventually notices. Meanwhile, the data being
+ read is stored in a circular buffer, from where the IO channel's
+ read() method picks it up.
+
+ If the buffer fills up the reading thread has to wait for space
+ becoming available. For this another Win32 Event is used. The IO
+ Channel's read() method signals this when it has read some data
+ out of the buffer.
+
+ The separate reader thread(s), and the circular buffer(s) with
+ associated events mean lots of possibilities for fun parallellism
+ errors. But it seems to work OK, i.e. GIMP runs.
+
+ * gmain.c: Small changes to the Win32 polling function.
+ (g_main_win32_get_poll_func): New function. Perhaps it would be a
+ good idea to provide this on all platforms.
+
+ * giowin32.c: The bulk of the new implementation.
+ (g_io_channel_win32_wait_for_condition): New function. To be used
+ where on Unix one does a select() on the channel's fd, like
+ libgimp's gimp_extension_process(). Could be provided on all
+ platforms.
+
+ * glib.h: Update documentation for IO Channels on Win32. Remove
+ the declarations for the as of now obsolete old functions related
+ to IO Channels for pipes with "wakeup" messages.
+
+ * glib.def: Some new functions.
+
+ * tests/gio-test.c: New file, to test GIOChannel and main loop.
+
+ * tests/Makefile.am
+ * tests/makefile.mingw.in: Add it.
+
+ (Later the same night:)
+
+ * giowin32.c: Compile in the debugging code all the time, but only
+ output debug messages if told so. Add (unadvertised) function to
+ turn on/off debug messages for a channel.
+
+ (buffer_read): Don't loop. It is expected behaviour to return a
+ short read occasionally, for instance when reading from
+ pipes. It's the calling code that should loop if it *knows* how
+ much the writer has written.
+
+ * tests/gio-test.c: Correct the program's name in the output.
+ (recv_message): Loop calling g_io_channel_read() (in a new
+ function read_all()) until we have all the bytes we want (that we
+ know the writer has written/will write).
+
+Thu Jul 27 05:15:11 2000 Tim Janik <timj@gtk.org>
+
+ * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
+ to cover both #ifdef branches.
+
+2000-07-26 Tor Lillqvist <tml@iki.fi>
+
+ * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
+
+ * glib.def: Add g_strlcpy, g_strlcat.
+
+ * glibconfig.h.win32.in: Add gsize and gssize.
+
+Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org>
+
+ * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
+ updates the license headers to the GNU Lesser General Public License,
+ as well as updating the copyright year to 2000.
+
+Wed Jul 26 05:47:48 2000 Tim Janik <timj@gtk.org>
+
+ * configure.in:
+ * testglib.c:
+ * gstrfuncs.c:
+ * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
+ David Wheeler <dwheeler@ida.org>:
+
+ * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
+ safe manipulation of fixed-length string buffers.
+ These functions were originally developed by Todd Miller to simplify
+ development of security-related programs, and
+ are available on many (but not all) Unix-like systems,
+ including OpenBSD, FreeBSD, and Solaris. See
+ ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
+ and http://www.openbsd.org/security.html.
+ If there's a strlcpy/strlcat on the system, it's called, otherwise
+ an implementation is provided.
+
+ * testglib.c: Added tests for g_strlcpy, g_strlcat.
+
+Wed Jul 26 05:03:24 2000 Tim Janik <timj@gtk.org>
+
+ * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
+ STDC_HEADERS is defined.
+
+ * glib.h:
+ * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
+
+ * glib.h (g_return_if_reached): applied darin's fix for copy'n
+ paste error in the macro implementation.
+
+Wed Jul 26 00:46:03 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h: applied patch from Darin Adler <darin@eazel.com> which
+ supplies g_return_if_reached(), g_return_val_if_reached() and
+ g_critical().
+
+2000-07-22 Tor Lillqvist <tml@iki.fi>
+
+ * build-dll: Fix resource handling, the resource file got left out
+ from the DLL after all... Remove the WIN32APIHEADERS, not needed
+ with current windres.
+
+ * glib.def: Add new functions.
+
+2000-07-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gutils.c, glib.h: Mark the functions g_basename and g_dirname
+ deprecated. They will issue an warning once, when compiled with
+ G_ENABLE_DEBUG, but continue to work as before. Instead the
+ functions g_path_get_basename and g_path_get_dirname should be
+ used, which BOTH return newly allocated memory, that has to freed
+ by g_free. The new g_path_get_basename now strips trailing slashes
+ from the path. This fixes #5097. For discussion see
+ http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
+
+ * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
+ functions instead of the old ones.
+
+ * ghash.c, gscanner.c, glib.h: Mark the functions
+ g_hash_table_freeze, g_hash_table_thaw and thus
+ g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
+ deprecated. They will issue an warning once, when compiled with
+ G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
+ http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
+
+2000-07-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in, glib.h: glibconfig.h and glib.h now include files
+ outside of the extern "C" block. Makes some C++ compiler
+ happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
+
+Sat Jul 15 23:49:03 2000 Owen Taylor <otaylor@redhat.com>
+
+ * glib/glib.texi: Remove incomplete start of info file -
+ real docs are in RDP.
+
+Sat Jul 15 22:44:22 2000 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add build/Makefile and
+ build/win32/Makefile to AC_OUTPUT() so things build
+ again.
+
+Sat Jul 15 09:11:46 2000 Tim Janik <timj@gtk.org>
+
+ * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
+ the function went off when the while (n--) loop failed due to
+ n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
+
2000-07-15 Tor Lillqvist <tml@iki.fi>
* Makefile.am (SUBDIRS): Include the "build" module in GLib, too,