updated.
[platform/upstream/glib.git] / ChangeLog
index fb9c4a5..c967539 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,445 @@
+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
+       error codes into textual messages.
+
+1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * glib.h (G_TRYLOCK): This of course should return TRUE in a
+       program with a thread-disabled GLib.
+
+1999-11-18  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.def: g_strjoin was missing.
+
+1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, config.h.win32.in, configure.in: Renamed
+       GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
+       changed meaning.
+
+       * configure.in: Cope with systems, that have a pthread_t type,
+       that is not a pointer. Hint from Karl Nelson
+       <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
+       for Solaris. Cope with systems, that have no default mutex
+       initialize, like obviously most DCE systems.
+
+       * glib.h, gthread.c: Changed the prototype of thread_create and
+       thread_self to return the system thread into provided memory
+       instead of a return value. This is necessary, as HPUX has a
+       pthread_t, that is bigger than the biggest integral type there.
+
+       * gthread.c: system_thread is no longer a pointer, but an memory
+       area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
+       zeroinitialization and the tests for zeroness accordingly.
+
+1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * configure.in: Create docs/glib-config.1 from
+       docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
+
+       * glib-config.1: Removed from CVS, as it is a generated file.
+
+1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+        * configure.in: Make the test for getpwuid_r work on newer AIX
+        versions, too. Still works on Solaris and Linux. Patch from Craig
+        Rodrigues <rodrigc@mediaone.net>.
+
+1999-11-08  Tor Lillqvist  <tml@iki.fi>
+
+       * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
+       and LANG first. Some refinements to the sublanguage logic.
+
+1999-11-04  Tor Lillqvist  <tml@iki.fi>
+
+       * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
+       (preprocessed source) files.
+
+1999-11-01  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h
+       * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
+       to match the GLib naming conventions.
+
+       * gutils.c
+       * gwin32.c
+       * testglib.c
+       * Makefile.am: Move the Win32-only functions to the new
+       file gwin32.c
+
+1999-10-31  Tor Lillqvist  <tml@iki.fi>
+
+       * gutils.c (gwin_getlocale): New Win32-specific function, returns
+       a Unixish current locale string (en, zh_TW etc).
+
+       * glib.h: Declare it.
+
+       * glib.def: Export it.
+
+       * testglib.c: Test it.
+
+       * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
+       make sure we don't call AllocConsole several times, which I think
+       has happened.
+
+Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
+
+       * gcache.c (g_cache_remove): Test if node is NULL.
+       If not tested, GIMP's script-fu will crash. 
+
+Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
+
+        * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
+        destroy() notification here as well.
+
+1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+        * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
+        is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
+
+Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h: removed useless g_string(x) macro that cluttered the namespace
+       and was just a poor wrapper around the cpp '#' symbol, use #x if you
+       need to work around this.
+       added new macro G_STRINGIFY(arg) that will convert arg to a string,
+       no matter whether it contains macros or not.
+
+1999-10-12  Tor Lillqvist  <tml@iki.fi>
+
+       * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
+       too.
+
+       * glib.h: Small Win32 comments improvement.
+
 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
 
        * gmessages.c (g_printf_string_upper_bound): completly new implementation