+2000-10-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
+ gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
+ ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
+ gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
+ grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
+ gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
+ into many header files mostly according to the resp. *.c-files.
+
+ * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
+ of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
+ __END_DECLS.
+
+ * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
+ gunicode.h, : Changed guard-macro names to something more
+ consistent.
+
+ * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
+
+ * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
+ alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
+
+ * configure.in: Removed cruft from old threading code.
+
+2000-10-09 Raja R Harinath <harinath@cs.umn.edu>
+
+ Work with beta autoconf 2.50.
+ * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
+ instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
+ (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
+ (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
+ (dlopen): Quote nested AC_CHECK_... calls.
+
+ * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
+ beta autoconf 2.50.
+ (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
+ 2.13 and beta autoconf 2.50.
+ (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
+
+ * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
+ that 'configure' depends on acglib.m4.
+
+2000-10-09 Havoc Pennington <hp@redhat.com>
+
+ * Makefile.am, tests/Makefile.am: Add new files.
+
+ * tests/spawn-test.c, tests/shell-test.c: new tests for
+ the shell/spawn stuff
+
+ * gutils.c (g_find_program_in_path): convert a relative
+ program name into an absolute pathname to an existing
+ executable
+
+ * gspawn.h, gspawn.c: New fork/exec API
+
+ * gshell.h, gshell.c: Shell-related utilities, at the moment
+ simply routines to parse argv and quote/unquote strings
+
+ * guniprop.c (g_unichar_isspace): Return TRUE for the
+ ASCII space characters isspace() returns TRUE for.
+
+ * gfileutils.c (g_file_get_contents): Convenience function
+ to slurp entire file into a string and return it. Partially
+ written by Joel Becker.
+ (g_file_test): file test function
+
+2000-10-06 Tor Lillqvist <tml@iki.fi>
+
+ * makefile.msc.in: Revamp to be like makefile.mingw.in, make
+ the MSVC build actually work again.
+
+ * gmodule/makefile.msc.in
+ * gobject/makefile.msc.in
+ * gthread/makefile.msc.in: New files, like their mingw counterparts.
+
+ * gmodule/Makefile.am
+ * gobject/Makefile.am
+ * gthread/Makefile.am: Make and distribute them.
+
+ * */makefile.mingw.in: Allow override of GLib version number from
+ the build/win32/module.defs file.
+
+ * glib.def: Add new entry point.
+
+ * tests/gio-test.c (main): Fix the Win32-only code to use current
+ API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
+
+ Fixes from Hans Breuer:
+
+ * glib.h (struct DIR): Keep the last readdir result cached inside
+ the DIR struct, to enable several DIRs being open simultaneously.
+
+ * gwin32.c (g_win32_readdir): Use the above instead of static.
+
+ * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
+ MSVC happy.
+
+2000-10-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib.h: Changed alloca stuff a bit: when we have a working
+ alloca.h, we're not messing with alloca any further. Should fix a
+ bug reported by Bernd Demian <wega@csc-dd.de>.
+
+2000-09-29 Jonathan Blandford <jrb@redhat.com>
+
+ * gnode.c (g_node_insert_after): Added function to keep symetry
+ with g_node_insert_before.
+
+2000-09-29 Martin Baulig <baulig@suse.de>
+
+ Several minor ANSI C fixes.
+
+ Added missing casts:
+ * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
+ * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
+ (g_idle_add_full): `(gpointer) function' in call to g_source_add().
+ * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
+ `return (gchar *) string'.
+ (g_strup): Likewise.
+ (g_strchug): `start = (guchar*) string' in 1st for() argument;
+ `strlen ((gchar *) start)' in call to g_memmove().
+ * gstring.c (g_string_down): `s = (guchar *) string->str'.
+ (g_string_up): Likewise.
+ * gthreadpool.c (stop_this_thread_marker):
+ `(gpointer) &g_thread_pool_new'.
+ * gunidecomp.h (decomp_table[]): Cast all the strings to
+ `unsigned char *'.
+
+ Put text following #endif into comments:
+ * gmain.c: here.
+
+2000-09-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in, glib.h: Added errorcheck mutexes. These are
+ activated through the preprocessor symbol
+ G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
+ order to achieve this. g_(static_)mutex_* functions instrument the
+ mutex operations with mutex name and location, when compiled with
+ -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
+ mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
+
+2000-09-28 Havoc Pennington <hp@pobox.com>
+
+ * glib.h (GThreadPriority): fix indentation
+ (GConvertError): generic error is conventionally called
+ _FAILED rather than _OTHER, at least at the moment,
+ according to GError docs in docs/reference.
+
+ * gconvert.c: s/_OTHER/_FAILED/
+
+2000-09-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: Adjusted the test for an unimplemented
+ getpwuid_r. Info from Michael Pruett. This is just a forward
+ merge from glib-1-2.
+
+ * configure.in: Moved determination of G_THREAD_FLAGS before
+ G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
+ and libs there (it needs -Kthread for the native compiler and
+ -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
+ for the info.
+
+ * configure.in: Fail immediately, when no thread library is found,
+ instead of continuing searching for rt libs etc. Changed almost
+ all occurances of $enable_threads to $have_threads, as that's,
+ what we want.
+
+ * tests/threadpool-test.c: Define vars inside the guard to avoid
+ warnings.
+
+ * configure.in, tests/type-test.c: Some platforms support 64 bit
+ 'long long', but you can not printf or scanf them. In that case,
+ don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
+ to reflect that.
+
+ * gutils.c (g_get_current_dir): max_len can't be initialized
+ statically as it might call a function. So do it at first call.
+
+Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
+ * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
+
+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: