Interpret EINTR as G_IO_ERROR_AGAIN.
[platform/upstream/glib.git] / ChangeLog.pre-2-4
index 8193707..8d8c41e 100644 (file)
@@ -1,3 +1,434 @@
+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
+       for printf string upper bounds calculation.
+       we handle all glibc 2.1 format specifiers now, except for positional
+       parameters (%nn$...) and wide char strings, plus some obscure upper
+       case variants of the standard conversions. this fixes a lot of
+       bugs in the old code, i.e.
+       - NULL format strings
+       - floats with exponents >+24
+       - %G
+       - precision specifications in general
+       - negative field widths
+       - %p for SIZEOF_VOID_P > 4 platforms
+       we now issue warnigns in places where the old code would have
+       caused buffer overruns anyways. warnings are suppressed when invoked
+       from glogv(), to avoid infinite recursions if someone passes a log
+       message that comes with really obscure format specifications.
+
+Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
+
+       * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
+
+Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
+       mantissa and exponent of IEEE floats and doubles (required by the new
+       version of g_printf_string_upper_bound). the unions are endian specific,
+       we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
+       and doubles are supported (used for storage) by at least intel, ppc and
+       sparc, reference:
+        http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
+       
+Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
+
+       * configure.in: added additional checks to figure sizes of size_t,
+       ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
+
+Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
+
+       * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
+
+1999-10-05  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h: (Win32) Drop the mapping of POSIX function names to the
+       underscored versions, it's unnecessary after all. With MSVC we get
+       them from oldnames.lib, with gcc-2.95 and mingw32 from
+       -lmoldname-msvc. Add comment about what headers to include for
+       prototypes.
+
+       * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
+
+       * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
+
+       * build-dll: Don't strip.
+
+       * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
+
+       * glib.def: Add g_thread_use_default_impl.
+
+Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
+
+       * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
+
+Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
+
+       * acconfig.h
+       * configure.in
+       * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
+       and beos stuff right, but I haven't tested it. The respective
+       porters should fix any screwups
+
+       * glib.h
+       * gerror.c
+       * gmain.c
+       * gmessages.c
+       * gscanner.c
+       * gthread.c
+       * gtimer.c
+       * gutils.c
+       * testglib.c: use G_OS stuff
+
+Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
+       avoid "ANSI C++ forbids implicit conversion from `void *' in argument
+       passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
+       for erroring out on this, instead of just issueing a warning).
+
+       * glib.h (g_trash_stack_pop): use uncasted NULL again.
+       
+Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
+
+       * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
+       from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
+       sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
+       restriction of 65536 bytes. we also catch cases where users pass an area
+       size < atom size with a return_if_fail statement now (which is ok,
+       because previously this lead to memory corruption anyways).
+
 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
 
        * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL