+Fri Jun 23 17:20:26 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h: define gstring in terms of gchar*. this typedef reflects
+ the type name of the primitive G_TYPE_STRING in the gobject module.
+
+Wed Jun 21 12:09:03 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
+ Makefile.am glib.h: Initial pass at adding unicode support
+ functions. A few things still need to be implemented, a bit
+ of cleanup needs to be done, tests need to be added, and
+ the docs need to be finished, but this should allow replacing
+ most or all use of libunicode.
+
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same pipe for different conditions (with different
+ callbacks), check them all. Only call the callback for G_IO_IN
+ from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
+ was added to gimplib.)
+
+2000-05-30 Tor Lillqvist <tml@iki.fi>
+
+ * gutils.c (g_locale_get_codeset): Implement on Win32.
+
+ * glib.def: Add g_get_codeset.
+
+ * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
+ renamed to makefile.mingw*.
+
+Tue May 30 16:01:32 2000 Owen Taylor <otaylor@redhat.com>
+
+ * glib.h gutils.c: Move the g_locale_get_codeset() up in the
+ header file to correspond to to comments about memory
+ management. Rename to g_get_codeset() to avoid
+ polluting the g_locale_* namespace, which probably
+ would have g_locale_get_codeset (GLocale *locale).
+ Add a doc comment.
+
+Mon May 29 14:10:35 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gutils.c (g_locale_get_codeset): Add function to get the
+ codeset name for the current locale.
+
+ * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
+
+Fri May 19 11:39:29 2000 Tim Janik <timj@gtk.org>
+
+
+ * gutils.c (g_snprintf):
+ (g_vsnprintf): added argument assertments.
+
+ * gstring.c (g_string_assign): added argument assertments.
+ (g_string_truncate): make len a guint.
+
+Fri May 19 09:00:44 2000 Tim Janik <timj@gtk.org>
+
+ * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
+ ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
+
+ * gslist.c (g_slist_reverse): shut up compiler.
+
+ * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
+
+ * garray.c: remove index>=0 checks for unsigned indices.
+
+ * gmain.c (g_idle_prepare): timeout assignment fix.
+
+ * gtree.c (g_tree_node_rotate_right): shut up compiler.
+
+2000-05-13 Tor Lillqvist <tml@iki.fi>
+
+ * makefile.mingw.in
+ * tests/makefile.mingw.in
+ * build-dll: Rename makefile.cygwin(.in) to
+ makefile.mingw(.in), which better describes what it is. Move the
+ build of gmodule, gthread and gobject DLLs to makefiles in those
+ directories. Move resource file handling and build number bump to
+ build-dll, where it sits much cleaner.
+
+ * README.win32
+ * Makefile.am (EXTRA_DIST): Update accordingly.
+
+ * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
+ G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
+ implementations.
+
+ * glib.def: Add g_strcanon.
+
+ * gtree.c (g_tree_node_rotate_left): Remove unused variables.
+
+ * gwin32.c (g_win32_opendir): Remove unneeded statement.
+
+Thu May 4 02:04:46 2000 Tim Janik <timj@gtk.org>
+
+ * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
+ broken and require an empty arg, give it to them.
+
+Fri Apr 28 23:54:35 2000 Tim Janik <timj@gtk.org>
+
+ * setup things for a new sub-library libgobject:
+
+ * Makefile.am (SUBDIRS): added gobject
+
+ * glib-config.in: feature -lgobject.
+
+ * configure.in (AC_OUTPUT): generate gobject/Makefile.
+
+ * glib.m4 (AM_PATH_GLIB): feature gobject module.
+
+ * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
+
+Fri Apr 28 21:41:49 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h: added G_STRLOC macro.
+ G_STRUCT_OFFSET(): signedness corrections.
+ (G_CSET_DIGITS): list 0-9.
+ * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
+
+ * glib.h:
+ * gstrfuncs.c:
+ (g_strdown):
+ (g_strup):
+ (g_strreverse): return the modified string instead of void, so
+ calls to these functions can be nested.
+ (g_strcanon): new function, canonicalizes string according to
+ a given character set.
+
+Fri Apr 28 19:45:16 2000 Tim Janik <timj@gtk.org>
+
+ * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
+
+Wed May 10 19:52:44 2000 Owen Taylor <otaylor@redhat.com>
+
+ * glib.m4: Print found version when test succeeds.
+
+2000-05-04 Tor Lillqvist <tml@iki.fi>
+
+ * makefile.cygwin.in
+ * tests/makefile.cygwin.in: Include the common makefile snippet
+ from ../build/win32.
+
+ Maybe CVSROOT/modules should be changed so that the 'build' module
+ is included within the glib module (and gtk+, and gimp, and maybe
+ others later), in the same way as the 'macros' module is included
+ in lots of GNOME CVS modules?
+
+2000-05-02 Tor Lillqvist <tml@iki.fi>
+
+ * glib.def: Add new functions.
+
+ * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
+
+ * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
+
+2000-04-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gasyncqueue.c: New File implementing an asynchronous queue to be
+ used for asynchronous inter-thread communication.
+
+ * gthreadpool.c: New File implementing a thread pool to be used
+ for distributing work among several threads.
+
+ * glib.h: Added the type and function declarations for these two
+ types.
+
+ * tests/threadpool-test.c: New File implementing a test for the
+ thread pool. This also checks the asynchronous queue underlying
+ the thread pool.
+
+ * tests/Makefile.am: Changed accordingly.
+
+2000-04-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: Look for both pthread_create and pthread_join in
+ the thread library. Some systems define one of them, but not both
+ in libc. Arghh. Now we really start a thread and join it later and
+ check, whether the thread to actually ran.
+
+ * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
+ g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
+ parameter of g_tree_lookup and g_tree_remove and the 'data'
+ parameter of g_tree_search. This function now takes a function of
+ type GCompareFunc instead of GSearchFunc. This fixes Bug
+ #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
+ pointing that out.
+
+ * glib.h: Removed declaration of GSearchFunc.
+
+ * gmem.c: s/GSearchFunc/GCompareFunc/.
+
+2000-04-19 Tor Lillqvist <tml@iki.fi>
+
+ * glib.def: Update entry point list.
+
+2000-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
+ for compilers with funny G_STMT_(START|END) macros.
+
+ * tests/thread-test.c: Implemented a check for that.
+
+ * gutils.c (g_getenv): Changed the win32 part of this function to
+ be thread safe and to make the returned environment string
+ persistent to match the UN*X behavior. This is again a response to
+ Bug #8983.
+
+ * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
+ as that seems to cause problems for some compilers and really
+ isn't necessary.
+
+Wed Apr 19 08:32:32 2000 Tim Janik <timj@gtk.org>
+
+ * gscanner.c (g_scanner_new): make sure that
+ scanner->config->cset_skip_characters is "" instead of NULL, so we
+ don't segfault further on.
+
+2000-04-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
+ gpointer to gconstpointer for the functions
+ g_(list|slist)_(remove|find|find_custom|index), as they do not
+ change this parameter. This fixes bug #4836.
+
+ * glib.h: Changed comment for g_getenv to reflect, that the
+ returned memory must not be freed. Fixes bug #8983.
+
+2000-04-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in, acconfig.h: Add configure test for garbage
+ collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
+ will be defined.
+
+ * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
+ gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
+ memory released by the user, but cached by GLib. This lets a
+ garbage collector have a more correct view of the actually used
+ memory.
+
+ * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
+ functions, that reserve a certain amount of memeory for the array
+ at creation time to avoid reallocation. Fixes bug #6707 from
+ Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
+
+ * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
+ g_queue_create to g_queue_new in conformance to all other GLib
+ data types.
+
+2000-04-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
+ <marko@l-t.ee> for reporting that.
+
+2000-03-26 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Tell about using the mingw-based gcc, which is
+ much easier than modifying the cygwin gcc to product mingw code
+ for the msvcrt runtime.
+
+ * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
+ with a "pure" mingw gcc, too.
+
+2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * garray.c: Made GArray behave correctly. Now zero_terminated
+ really means, that the element array->data[array->len] exists and
+ is zeroed, and clear means that any unassigned elements obtained
+ through g_array_set_size (the only way to get unassigned elements
+ AFAICT) are zeroed. Added some macros to make the code more
+ obvoius. Also made GPtrArray zero elements after
+ g_ptr_array_set_size. This is done in a portbale way (assignment
+ of NULL instead of just memsetting it to zero), though that might
+ be more portability than we actually want.
+
+ * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
+ tests/Makefile.am: Added various win32 related *.in files to
+ EXTRA_DIST to let 'make distcheck' procude all the corresponding
+ files, which it silently fails to do currently.
+
+2000-03-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: After finding the right thread library (containing
+ e.g. pthread_create) we now search for the right realtime library
+ (containing e.g. sched_get_priority_max). Makes the output of the
+ thread related libraries correct.
+
+ * gtimer.c (g_usleep): The current implementation of g_usleep
+ (simply calling select) doesn't work reliable for multi-threaded
+ programs on some platforms (bad omen for the main loop....), so I
+ changed the implementation for thread-using programs to wait for a
+ GCond for the specified amount of time (NB: sleep and usleep are
+ not MT-safe in general, because they often use signals).
+
+Wed Mar 22 16:49:57 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gmem.c (g_mem_chunk_area_compare): Fix indentation.
+
+2000-03-22 Elliot Lee <sopwith@redhat.com>
+
+ * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
+ comparing two pointers more than 4G apart.
+
+2000-03-22 Tor Lillqvist <tml@iki.fi>
+
+ * gutils.c: Move Win32-only includes after inclusion of glib.h, so
+ that G_OS_WIN32 is defined.
+
+ * glibconfig.h.win32.in: Add GSystemThread.
+
+2000-03-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
+ <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
+ path length might not be enough for the HURD. So I changed the
+ loop to at least avoid an integer overflow, which could happen at
+ beyond 2GB size ;-)
+
+ * configure.in: Test for sched_yield as the native yield function
+ first. Corrected typo g_thread_sleep -> g_usleep. Corrected
+ message for the pthread_create test. Negative Priorities are
+ allowed (and used on Solaris), so consider
+ sched_get_priority_min failed only if it returns -1, not <0. Check
+ for sched_get_priority_min also in -lrt, if not found in -lpthread
+ alone and add -lrt to G_THREAD_LIBS then. Remove special case
+ handling of priorities for older solaris versions and posix
+ threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
+ some of those changes.
+
+ * config.guess, config.sub, ltconfig, ltmain.sh:
+ Upgrade to libtool 1.3.4.
+
+2000-03-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
+ even when not needed by GLib. That's actually also the way, the
+ GLib reference manual describes that macro. Therefore I had to
+ remove the lonesome #include <glibconfig.h> in gutils.c, which
+ doesn't seem to be needed there however. This change should make
+ Ben Gertzfield <che@debian.org> happy.
+
+ * gutils.c: Furthermore two warnings in gutils.c were voided,
+ which crept in due to my last change.
+
+ * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
+ pathname. While this is an arbitrary value just like 2048, it
+ seems to be enough (after all, even 4GB is an arbitrary value).
+
+2000-03-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gmain.c (g_main_poll): Warn in case of an error during the call
+ to poll(2). Closes Bug#7564 as reported by David Helder
+ <dhelder@umich.edu>.
+
+ * gutils.c (g_get_current_dir): Make g_get_current_dir work on
+ systems with unlimited pathname length like the HURD (It worked
+ there before, but only for pathes shorter than 2048). Closes
+ Bug#4525 as reported by Marcus Brinkmann
+ <Marcus.Brinkmann@ruhr-uni-bochum.de>.
+
+2000-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
+ G_IO_ERROR_AGAIN.
+
+2000-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: Added the missing POSIX_NO_YIELD and
+ POSIX_NO_PRIORITIES warning messages.
+
+ * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
+ real thread support. On solaris pthread_create can be linked to
+ even in -lc, but it doesn't work then.
+
+ * configure.in: Don't use priorities for threads, when the
+ minimal/maximal priorities couldn't be determined at configure
+ time.
+
+ * configure.in, gthread.c: Always define GSystemThread in
+ glibconfig.h to represent a system thread.
+
+ * configure.in: Do not use native recursive threads, when
+ possibe. We use some features, that they do not expose (namely the
+ depth counter).
+
+ * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
+ now implemented in a different way, which should be way
+ faster. Alsothere are now functions g_static_rec_mutex_unlock_full
+ and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
+ completly.
+
+ * gthread.c (g_thread_self): Do not test the system_thread to be
+ non-zero to speed things up.
+
+ * gthread.c (g_mutex_init): Therefore set the system_thread of the
+ main thread here.
+
+ * tests/thread-test.c: Rerun all tests once again, but this time
+ we fool the system into thinking, that the available thread system
+ is not native, but userprovided.
+
+2000-03-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
+ want the next and prev pointer of the inserted link to be NULL.
+
+2000-03-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: Another small change to the pthread_.. search
+ pattern. Should work *now* for AIX.
+
+2000-03-04 Tor Lillqvist <tml@iki.fi>
+
+ * gwin32.c (g_win32_error_message): New function that returns the
+ message string for a Win32 error code.
+
+ * glib.h: Declare it.
+
+ * glib.def: Export it, plus g_node_copy.
+
+2000-03-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: Make the search for pthread_attr_... prototypes
+ find names at the start of a line also, like it is on AIX. Thanks
+ to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
+
+Wed Mar 1 10:39:39 2000 Tim Janik <timj@gtk.org>
+
+ * gslist.c (g_slist_reverse): minor optimization.
+
+ * testglib.c (g_node_test): added a couple of tests for
+ g_node_copy().
+
+ * glib.h:
+ * gnode.c (g_node_copy): new function to copy subtrees,
+ supplied by dbsears@ix.netcom.com.
+ changed iterator to walk the children list backwards, so
+ we get down from O(n^2) to O(n).
+
+ * gnode.c (g_node_first_sibling): applied patch from
+ dbsears@ix.netcom.com to optimize access if node->parent
+ is present.
+
+ * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
+ assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
+ thus breaks the original code.
+
+ * merged changes from 1.2.7.
+
+Fri Jan 28 11:37:41 2000 Owen Taylor <otaylor@redhat.com>
+
+ Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
+
+ * gtimer.c (g_timer_elapsed): Never report negative times -
+ clip times to 0.
+
+ * gmain.c (g_timeout_prepare): Guard against unexpected
+ clock shifts by never setting a timeout of more than
+ data->interval msecs.
+
+2000-02-27 Tor Lillqvist <tml@iki.fi>
+
+ * glib.def: Add new functions.
+
+2000-02-23 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Add a missing step to the setup instructions for
+ gcc-2.95.2. Thanks to Arnaud Charlet.
+
+ * glib.def: Add missing entry point.
+
+2000-02-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: Changed GCC version test to also accept major
+ versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
+ pointing this out.
+
+Thu Feb 17 12:53:44 2000 Tim Janik <timj@gtk.org>
+
+ * gstring.c: changed g_str_hash() to a 31 bit version based on
+ a submission by Karl Nelson and hand optimized ad absurdum by
+ various people ;)
+
+ * gstring.c: applied patch from havoc for new gstring functions,
+ added some more sanity checks, coding style fixups.
+
+2000-02-13 Havoc Pennington <hp@pobox.com>
+
+ * tests/string-test.c (main): Add tests for the new GString
+ features
+
+ * testglib.c (main): Add tests for the new GString features
+
+ * gstring.c (g_string_insert_len): New function; insert
+ a given length of string at a given position.
+ (g_string_append): reimplement in terms of g_string_insert_len
+ (g_string_append_len): new function
+ (g_string_insert_c): accept -1 for "pos" arg to mean "append"
+ (g_string_append_c): reimplement in terms of g_string_insert_c
+ (g_string_prepend): reimplement in terms of g_string_insert_len
+ (g_string_prepend_len): new function
+ (g_string_prepend_c): reimplement in terms of g_string_insert_c
+ (g_string_insert): reimplement in terms of g_string_insert_len
+
+ * glib.h: Declare g_string_insert_len, g_string_append_len,
+ g_string_prepend_len
+
+Sun Feb 13 08:16:47 2000 Tim Janik <timj@gtk.org>
+
+ * configure.in: wtf??? someone destroyed the configure.in, reverting to
+ an older version from Feb 4 which apears to still work.
+
+2000-02-07 Tor Lillqvist <tml@iki.fi>
+
+ * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
+
+ * Makefile.am
+ * gmodule/Makefile.am
+ * gthread/Makefile.am: Change accordingly.
+
+ * makefile.cygwin: Corresponding changes, some cleanup.
+
+2000-02-05 Tor Lillqvist <tml@iki.fi>
+
+ * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
+ version info in the DLLs on Win32.
+
+ * Makefile.am: Generate corresponding *.rc files and distribute
+ them.
+
+ * makefile.cygwin.in: Add rules to automatically bump a "build
+ number" in the version info in the rc files each time the DLL is
+ built. But do this only for the person who releases binaries. If
+ others build the DLLs, the build number is set to zero.
+
+Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
+ and g_dataset_id_remove_no_notify() to avoid second lookup for common
+ use.
+
+2000-02-01 Tor Lillqvist <tml@iki.fi>
+
+ * glib.h
+ * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
+ functions for conversion between UTF-8 and the encoding expected
+ by C runtime functions like open() and stat(), and returned by
+ readdir().
+
+ Implement them on Win32 where we use the system "ANSI" codepage,
+ which might be single-byte or double-byte. On Unix, just skip the
+ issue for now and provide dummy implementations that return a copy
+ of the argument.
+
+ * README.win32
+ * build-dll
+ * glib.def: Minor updates.
+
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
+Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
+
+ * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+ the number of elements in an array.
+
+Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
+
+ * gstrfuncs.c (g_strtod): correctly fetch the current locale,
+ fix from owen.
+
1999-12-16 Tor Lillqvist <tml@iki.fi>
* gmodule/gmodule-win32.c: Use FormatMessage to translate system