Tue Mar 16 11:50:56 2004 Owen Taylor * === Released 2.4.0 === * configure.in: Version 2.4.0, interface age 0. * README.in: Updates * NEWS: Updates Sun Mar 14 13:56:48 2004 Owen Taylor * glib/gmessages.c (escape_string): Handle invalid UTF-8. (#131218, patch from Matthias Clasen) Sun Mar 14 13:23:36 2004 Owen Taylor * glib/gspawn.c: Use fork1() not fork for G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi) Sun Mar 14 12:58:30 2004 Owen Taylor * glib/gmain.c: if _POLL_EMUL_H is defined, undefine HAVE_POLL to prefer our own poll() emulation to the lame OS/X one. (#136956, Manish Singh) Sat Mar 13 23:30:53 2004 Owen Taylor * glib/gmacros.h (G_STMT_START): Add __extension__ to G_STMT_START to quite gcc -pedantic. (#131899, Olivier Biot) Sat Mar 13 23:18:45 2004 Owen Taylor * tests/env-test.c (main): Remove critical log handler; we can't trigger g_return_if_fails() in our test suite even silently, because the user could have compiled with --disable-debug. #if 0 the tests for g_setenv/g_unsetenv with a "foo=bar" variable name. (#136709, reported by Frédéric L. W. Meunier) Sat Mar 13 23:10:35 2004 Owen Taylor Some warning fixes for the Sun compiler (Reported by David L. Cooper II, #136401) * glib/giochannel.c (g_io_channel_read): Return G_IO_ERROR_NONE, not G_IO_STATUS_NORMAL, since hte function returns a GIOError. * glib/guniprop.c: Fix some guchar/gchar confusion with special_case_table. Fri Mar 12 15:30:58 2004 Manish Singh * glib/gbacktrace.h: ia32's G_BREAKPOINT() implementation works on amd64 too. Enable it. Fri Mar 12 15:21:22 2004 Manish Singh * glib/gatomic.c: Non-optimizing compile fails for two asm statements on PowerPC. Use generic implementaton for those cases. Spotted by Christof Petig , fix by Sebastian Wilhelmi. Bug #137006 has a possible alternate solution, but we'll be conservative for now. Thu Mar 11 02:05:13 2004 Matthias Clasen * glib/gmain.c (g_main_depth): Remove an extra semicolon. Spotted by Kjartan Maraas. 2004-03-10 Tor Lillqvist * glib/gspawn-win32.c * glib/gspawn-win32-helper.c: Implement G_SPAWN_FILE_AND_ARGV_ZERO. (#136792, Bruce Hochstetler) * tests/spawn-test.c * tests/spawn-test-win32-gui.c: Test it. Tue Mar 9 09:16:11 2004 Owen Taylor * === Released 2.3.6 === * configure.in: Version 2.3.6, interface age 1. * NEWS: Updates 2004-03-09 Sebastian Wilhelmi * tests/child-test.c: Do not run the g_child_watch_* test multi-threaded, as that doesn't work on linux prior 2.6. Fixes #136539. 2004-03-08 Alastair McKinstry * configure.in: Added "ga" (Irish) to ALL_LINGUAS. 2004-03-07 Danilo Šegan * configure.in: Added "sr@ije" to ALL_LINGUAS. 2003-03-07 Hans Breuer * glib/gspawn-win32.c : (GPid)shortcut_spawn_retval which doesn't improve the implementation at all, it just make it compile with msvc ... * glib/makefile.msc.in : build gatomic.c (now really:) 2004-03-06 Tor Lillqvist * README.win32: Update. * configure.in * Makefile.am * */Makefile.am: Drop the hand-written makefile.mingw(.in) files. They haven't been maintained in a long time. As several people have managed to build GLib for Win32 using the autoconfiscation mechanism, there is no real reason to even try to maintain the hand-written mingw makefiles. 2004-03-05 Sebastian Wilhelmi * glib/gatomic.c: Fix infinite recursion for G_MEMORY_BARRIER_NEEDED and DEFINE_WITH_MUTEXES by using a GMutex instead of G_DEFINE_LOCK. The mutex is allocated by the new function _g_atomic_thread_init. Fixes #136284. * glib/gthreadinit.h, glib/gthread.c: Declare and call _g_atomic_thread_init during thread system initialization. 2004-03-05 Tor Lillqvist * glib/glib.def: Add g_main_depth. (#136221, Cedric Gustin) 2004-03-04 Guntupalli Karunakar * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS. 2004-03-04 Sebastian Wilhelmi * glib/gmain.c: Use the atomic integer operations for GMainContext and GMainLoop reference counting. * glib/gmain.c: Hold the main_context_list lock, when iterating the list. Only call g_main_context_wakeup for positive reference count. 2004-03-03 Tor Lillqvist * glibconfig.h.win32.in: Update to match a configure-generated glibconfig.h. Specifically: Remove G_{MIN,MAX,MAXU}INT64 definitions (now in gtypes.h). Remove g_once and g_static_mutex_get_mutex_impl_shortcut definitions (now in gthread.h). * tests/child-test.c: Use a macro GPID_FORMAT for the format to print GPid in (%p on Win32, %d on Unix). Maybe configure.in should place that in glibconfig.h? Print verbose error message if CreateProcess() fails. Don't close the child handle until in the child watch callback. Don't try to run /bin/true on Win32. Run ipconfig instead (just to pick a program that should exist on all Window boxes). 2004-03-02 Sebastian Wilhelmi * glib/gatomic.c: Fixed missing definition for ppc code. Fix by Mark McLoughlin . Mon Mar 1 16:49:51 2004 Owen Taylor * === Released 2.3.5 === * configure.in: Version 2.3.5, interface ago 0. * NEWS: Some further updates. Mon Mar 1 15:49:09 2004 Owen Taylor * glib/gmain.c (check_for_child_exited): Don't call waitpid() on a source that has already exited. * glib/gmain.c (g_child_watch_check): Return TRUE only if the child actually exited. Mon Mar 1 15:39:57 2004 Owen Taylor Patch from J. Ali Harlow * configure.in: Use void * not HANDLE for GPid on win32. * glib/gspawn.[ch] glib/gspawn-win32.[ch] glib/glib.def: Add g_spawn_close_pid(). * glib/gspawn.[ch]: Make g_spawn functions take GPid * instead if int * (GPid == int on unix, will produce compile warnings until fixed on Win32.) * tests/child-test.c: Make the test a little more inappropriately verbose. * glib/gmain.c: Add some documentation warnings about not closing @pid while the source is active. Mon Mar 1 20:32:06 2004 Tim Janik * autogen.sh: - exit with $? instead of 1 in case of failure - exit with $? if ./configure failed (that's so autogen.sh && make lines work) - removed --enable-gtk-doc option - added $AUTOGEN_CONFIGURE_ARGS Mon Mar 1 09:17:32 2004 Owen Taylor * glib/gmain.c (g_main_depth): Clarify doc comment. 2004-03-01 Sebastian Wilhelmi * glib/gatomic.c: Define g_atomic_(int|pointer)_get only for G_ATOMIC_OP_MEMORY_BARRIER_NEEDED. Spotted by Hans Breuer. Sun Feb 29 21:42:47 2004 Owen Taylor * glib/gmain.c: Fix leftover references to g_main_context_depth() in docs. Sun Feb 29 21:34:34 2004 Owen Taylor * glib/gmain.[ch]: Add g_main_depth() (Request from Tim Janik and Stefan Westerfeld) Mon Mar 1 00:26:11 2004 Matthias Clasen * NEWS: Update for 2.3.4 2003-02-29 Hans Breuer * glib/gatomic.c : added win32 api based implementation for G_PLATFORM_WIN32, !__GNUC__ * glb/glib.def : change to g_atomi_* no _fallback 2004-02-29 Sebastian Wilhelmi * configure.in, glib/gatomic.c, glib/gatomic.h: Moved the assembler functions from gatomic.h to gatomic.c, which makes for better maintainability. Also use gint instead of gint32 to be able to use reference counting for ABI-fixed structures with gint/guint. * glib/gthread.h: Adapted accordingly. * tests/atomic-test.c: Updated to test for G_MAXINT and G_MININT. 2003-02-28 Hans Breuer * glib/glib.def : updated externals, including those from bug #135386 * glib/makefile.msc.in : build gatomic.c * glibconfig.h.win32.in : removed duplicate definition of G_MAXSIZE, typedef void* GPid instead of int * tests/child-test.c glib/gmain.c : applied patch from J. Ali Harlow to fix g_child_watch implementation on win32, bug #50296 Fri Feb 27 22:13:22 2004 Matthias Clasen * glib/gqueue.c: Trivial doc changes. Fri Feb 27 21:58:20 2004 Matthias Clasen * glib/ghash.c (g_hash_table_find): Add "Since: 2.4" 2004-02-27 Sebastian Wilhelmi * glib/gasyncqueue.c, glib/gasyncqueue.h: Use g_atomic_int_(inc|dec_and_test) for reference counting. g_async_queue_unref_and_unlock and g_async_queue_ref_locked is deprecated, but still there to preserve ABI. * glib/gasyncqueue.c, glib/gasyncqueue.h: Reading access to ref_count only with g_atomic_int_get(). Fri Feb 27 02:00:34 2004 Matthias Clasen * acglib.m4: quote AC_DEFUN macro names so automake 1.8 won't whine at us. (#134882) Fri Feb 27 01:44:41 2004 Matthias Clasen * glib/gdate.c: Translate from locale era to AD in g_date_set_parse(). (#133400, Theppitak Karoonboonyanan) Fri Feb 27 00:46:29 2004 Matthias Clasen * glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617, Balazs Scheidler) 2004-02-26 Sebastian Wilhelmi * glib/gatomic.h: Fix the !G_THREADS_ENABLED case. * tests/child-test.c (main): Only run, if threads are enabled. * glib/gatomic.h: empty G_ATOMIC_MEMORY_BARRIER() definition for !G_THREADS_ENABLED * glib/gthread.h: Define g_once and g_static_mutex_get_mutex_impl_shortcut in terms of G_MEMORY_BARRIER, if defined and if we can inline. * configure.in: Remove double checked locking feature check. * configure.in, config.h.win32.in, glib/gthread.c: Removed the PID niceness surrogate for thread priorities as requested by Tim. It does more harm than good. * glib/gatomic.c, glib/gatomic.h: New files to implement atomic operations for different platforms. Fixes bug #63621. * glib/glib.h: Include gatomic.h. * configure.in: Add test for assembler routines for atomic operations. * glib/Makefile.am: Add gatomic.c, gatomic.h. * tests/Makefile.am, tests/atomic-test.c: Unit test for atomic operations. 2003-02-26 Hans Breuer * glib/glib.def : added g_hash_table_find and a bunch of g_queue_* * glib/gmain.c : make it compile on win32, child_wake_up_pipe replaced by semaphore like it is done for the other wake_up_pipe * config.h.win32.in : added HAVE_INT64_AND_I64 * glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64, and typedef for GPid * test/env-test.c : don't let the local log function collide in namespace with standard C 2004-02-25 Sebastian Wilhelmi * configure.in, glib/gthread.c: For the PID thread priorities surrogate use gettid instead of getpid. This also works with nptl (on linux-2.6), as well as with linuxthreads (on linux-2.4). 2004-02-24 Sebastian Wilhelmi * glib/grand.c: Add Since: 2.4, where due Tue Feb 24 14:09:21 2004 Owen Taylor * === Released 2.3.3 === * configure.in: Version 2.3.3, interface age 0. Mon Feb 23 22:24:00 2004 Matthias Clasen * NEWS: Start of 2.3.3 section. Sun Feb 22 02:32:14 2004 Matthias Clasen * configure.in: Set the gmodule suffix to 'a' for aix and use the aix gmodule implementation. (#85930, Laurent Vivier) Sun Feb 22 00:47:04 2004 Matthias Clasen * glib/gnode.c (g_node_copy_deep): New function to deep-copy a GNode and its children. (#93464, James M. Cape) Sat Feb 21 15:42:39 2004 Soeren Sandmann * glib/gqueue.c: Some documentation fixes. Sat Feb 21 13:45:08 2004 Soeren Sandmann * glib/gqueue.[ch]: Extend GQueue API to match the GList API. (#78414). * tests/queue-test.c: Update test suite to cover the new API. Fri Feb 20 03:02:05 2004 Tim Janik * glib/ghash.[hc]: applied patch from #131937 with slight renames. provides g_hash_table_find(). Fri Feb 20 02:39:03 2004 Tim Janik * applied patch from David Schleef which implements a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global symbol registration. Thu Feb 19 18:40:01 2004 Tim Janik * glib/gstring.[hc]: for G_CAN_INLINE environments, inline g_string_append_c() for efficiency. (vaguely based on #118707). Wed Feb 18 23:57:42 2004 Matthias Clasen * glib/gmain.c: Include signal.h for SIGCHLD. (#134622, Damien Carbery) 2004-02-18 Sebastian Wilhelmi * glib/gasyncqueue.c: Lazy creation of GCond. Only signal GCond, if threads are waiting. * glib/gmain.c (g_main_context_new): Set context->wake_up_pipe only for G_THREADS_ENABLED. Sat Feb 14 11:05:26 2004 Manish Singh * configure.in: Remove unnecessary STRIP_* definitions, and GNU make check. Really fixes #134102. Sat Feb 14 02:11:08 2004 Matthias Clasen * configure.in: Make the check for GNU make work when MAKE is a full path. (#134102, Julio M. Merino Vidal) Sat Feb 14 02:08:03 2004 Matthias Clasen * configure.in: Suppress xsltproc and xmlcatalog checks if enable_man=no. (#134091, Julio M. Merino Vidal) Sat Feb 14 01:21:34 2004 Matthias Clasen * glib/gmain.h: * glib/gmain.c (g_child_watch_source_new): * glib/gmain.c (g_child_watch_add): * glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a GSource. This is a partial implementation of the "Unix signal source". (#50296, Jonathan R. Blandford) * configure.in: Add the necessary configury to typedef GPid appropriately. * tests/Makefile.am: * tests/child-test.c: Test child_watch sources. Sat Feb 7 15:02:01 2004 Manish Singh * tests/type-test.c: Fix broken test for gsize formats. 2004-02-05 Robert Sedak * configure.in: Added "hr" (Croatian) to ALL_LINGUAS. Wed Feb 4 17:58:51 2004 Manish Singh * glib/gcompletion.h: Add prototype for g_completion_complete_utf8(). * tests/completion-test.c: #include 2004-02-05 Tor Lillqvist * glib/glib.def: Add g_completion_complete_utf8. Thu Feb 5 01:19:12 2004 Matthias Clasen * tests/file-test.c (test_mkstemp): Weaken an g_assert() to a g_warning(), since apparently nothing in Posix forces mkstemp() to reject templates without any X's. (#133397) Thu Feb 5 00:56:28 2004 Matthias Clasen * glib/gcompletion.c (g_completion_complete_utf8): New function which works like g_completion_complete(), but strips a trailing incomplete UTF-8 character from the prefix. (#133313, Theppitak Karoonboonyanan) * tests/completion-test.c (main): Some GCompletion tests. * tests/Makefile.am: Add completion-test. 2004-02-01 Tor Lillqvist * glib/glib.def: Add g_strsplit_set. Sat Jan 31 03:13:56 2004 Matthias Clasen * glib/garray.c (g_byte_array_remove_range): Don't return FALSE from a pointer function. (#131472, Morten Welinder) 2004-01-30 Noah Levitt * glib/gunicomp.h: * glib/gunidecomp.c: * glib/gen-unicode-tables.pl: Size compose_table correctly. (#123421, Simon Josefsson) * glib/gen-unicode-tables.pl: Get rid of some new warnings from perl 5.8.1. Tue Jan 27 18:45:47 2004 Manish Singh * m4macros/glib-2.0.m4 * m4macros/glib-gettext.m4: quote AC_DEFUN macro names so automake 1.8 won't whine at us. Wed Jan 28 01:39:21 2004 Matthias Clasen * glib/gstrfuncs.h: * glib/gstrfuncs.c (g_strsplit_set): New function, a cross between g_strsplit() and strtok(). (#88329, Soeren Sandmann) * tests/strfunc-test.c (main): Add g_strsplit_set() tests. Fri Jan 23 22:49:52 2004 Matthias Clasen * glib/gutils.c (g_get_any_init): Sigh, protect against pw->pw_gecos being "" as well. (#132317, Kaj-Michael Lang) 2004-01-23 Tor Lillqvist * glib/glib.def: Add new functions. * glib/grand.c: Don't include unless HAVE_UNISTD_H. Include on G_OS_WIN32. (g_rand_new): Use getppid() only on G_OS_UNIX. Thu Jan 22 15:16:11 2004 Owen Taylor * === Released 2.3.2 === Thu Jan 22 13:55:44 2004 Owen Taylor * glib/gtimer.c: Add g_timer_continue(). (#98536, Tim-Philipp Müller) * configure.in: Version 2.3.2, interface age 0. * NEWS: tweak, finish. Thu Jan 22 20:50:55 2004 Matthias Clasen * glib/gutils.c (g_get_any_init): Protect against pw->pw_gecos being NULL. Thu Jan 22 00:41:34 2004 Matthias Clasen * glib/gutils.c (g_get_any_init): Don't treat the Win32 user name like a gecos field, and when extracting a real name from a gecos field, replace '&' by the capitalized user name (a traditional passwd feature). (#118973, reported by Soeren Boll Overgaard) Tue Jan 20 22:31:22 2004 Matthias Clasen * NEWS: Start of 2.3.2 section. Fri Jan 16 21:45:56 2004 Matthias Clasen * glib/gstring.c (g_string_ascii_up): Forgot to fix this one. Thu Jan 15 22:35:04 2004 Matthias Clasen * glib/gstring.c (g_string_up): * glib/gstring.c (g_string_down): * glib/gstring.c (g_string_ascii_down): Move initialization of variables after g_return_val_if_fail. (#131564, Olivier Poncet) Sun Jan 11 16:13:20 2004 Manish Singh * configure.in: Add G_MAXSIZE, define in terms of G_MAXUfoo. * tests/type-test.c: Add test for G_MAXSIZE. * glibconfig.h.win32.in: Cleanup, add some missing bits. Sun Jan 11 16:05:35 2004 Manish Singh * glib/giounix.c: #define _POSIX_SOURCE for SSIZE_MAX. Fixes #128853. Sat Jan 10 00:11:12 2004 Manish Singh * glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness fixes. * docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the above take gulongs now. My docs suck, someone should revisit it. Fri Dec 19 11:49:21 2003 George Lebl * glib/grand.c glib/grand.h (g_rand_new) (g_rand_new_with_seed) (g_rand_new_with_seed_array) (g_rand_set_seed_array): Add the init_by_array functionality from the reference implementation of the mersenne twister (mt19937ar.c) and change the naming to fit with the rest of the grand API. New functions are g_rand_new_with_seed_array, g_rand_set_seed_array. This is only reliable/tested for the 2.2 version of the seeding as that's what the reference implementation uses. Also modify g_rand_new to get 4 longs from /dev/urandom since that will always be available anyway and we get more entropy and if /dev/urandom is unavailable use also 4 longs for seeding using secs, usecs, getpid and getppid. For version 2.0 use only a simple seed again but be more careful about seeding with secs/usecs in this case. * glib/grand.c glib/grand.h (g_rand_copy): Add g_rand_copy function to copy the current state of the random number generator. * glib/grand.c (g_rand_new): Add testing for EINTR when reading from /dev/urandom * tests/rand-test.c: add testing of the array seeding stuff against the reference implementation, plus add statistical sanity check to see that the values outputted are truly kind of random. And check that g_rand_copy truly copies the state by checking a few terms. Tue Jan 6 15:38:30 2004 Owen Taylor * glib/gutils.h: Check defined (__OPTIMIZE__) not __OPTIMIZE__. (Zack Rusin) 2003-12-30 Murray Cumming * gobject/glib-mkenums.in: Added a lowercase_name option, to be used next to the enum declaration, where the flag option is already used, when it is not possible to guess where to put the underscores in the _get_type() function name, for instance for GNOMEVFSURIHide. Fri Dec 26 02:03:58 2003 Matthias Clasen * glib/garray.[hc] (g_ptr_array_foreach): New function to call a function for each element of a GPtrArray. (#114790) * tests/array-test.c (main): Add a test for g_ptr_array_foreach(). Sun Dec 21 22:57:58 2003 Matthias Clasen * m4macros/glib-gettext.m4: Quote macro names to support reading the file multiple times. (#125537) Sun Dec 21 22:42:42 2003 Matthias Clasen * glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the mem_chunks list. (#127096, Balazs Scheidler) 2003-12-14 Hans Breuer * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE) return something useful on win32, too. 2003-12-13 Hans Breuer * glib/gconvert.c : get_filename_charset() needs to return false for filenames not encoded in utf-8, which is always true on win32 * glibconfig.h.win32.in : (u)int64 modifier isn't the gcc 'll' but always the msvcrt one 'I64' * glib/glib.def : updated Thu Dec 11 10:31:21 2003 Manish Singh * glib/gmacros.h: change #elif with no expression to #else in G_STRFUNC definition. Thanks to Damien Carbery, fixes #129101. Mon Dec 8 12:02:40 2003 Owen Taylor * === Released 2.3.1 === * NEWS: Further updates for 2.3.1. Fri Dec 5 12:09:13 2003 Manish Singh * glib/gunidecomp.c (_g_utf8_normalize_wc): fix gint/gsize confusion. 2003-12-04 Noah Levitt * glib/gunidecomp.c: Add hangul composition and decomposition to unicode normalization. (#100456) * tests/unicode-normalize.c: Test hangul. Tue Dec 2 02:29:41 2003 Matthias Clasen Fix for #103710, Mark Jones: * glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}. * configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h. Thu Nov 27 17:04:08 2003 Tim Janik * glib/gstrfuncs.c (g_strconcat): handle NULL arguments gracefully. * glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the current function (since G_STRLOC and G_GNUC_*FUNCTION became unusable with gcc-3.0). Wed Nov 26 16:45:16 2003 Roozbeh Pournader * glib/gstrfuncs.c: Fixed a bad pointer comparison in g_ascii_strtod that came up in fa_IR locale (#126640, Behdad Esfahbod). * tests/strtod-test.c: Fixed the tests to catch the above. Sat Nov 22 14:16:51.15 2003 Andrew Lanoix * glib/giowin32.c: Bind inter-thread comminication sockets to INADDR_LOOPBACK instead of INADDR_ANY. Thu Nov 20 15:09:40 2003 Manish Singh * configure.in: Added G_GSIZE_FORMAT and friends * tests/printf-test.c * tests/testglib.c * tests/type-test.c: Add tests for the above. Mon Nov 17 17:28:10 2003 Manish Singh * tests/thread-test.c (test_g_thread_once): Use GUINT_TO_POINTER for g_thread_create data. Sat Nov 15 23:00:57 2003 Matthias Clasen * glib/guniprop.c (g_utf8_casefold): Add a NULL check to be consistent with the other g_utf8_ functions. (#121618, Tim-Philipp Müller) 2003-11-15 Tor Lillqvist * tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use correct glib libraries, with 2.0 in the names. (#126906, John Ehresman) Sat Nov 15 00:46:14 2003 Matthias Clasen * configure.in: Don't blindly set glib_cv_long_long_format to "ll" when using the included printf. As long as the native printf supports 64bit printing, use the native format. (#119525, Tor Lillqvist) Fri Nov 14 00:28:46 2003 Matthias Clasen * glib/gi18n.h: * glib/gi18n-lib.h: Also define bind_textdomain_codeset() in the #ifndef ENABLE_NLS case. Wed Nov 12 15:06:27 2003 Owen Taylor * configure.in: Version 2.3.1, interface age 0. * NEWS: Update for 2.3.1. 2003-11-07 Mark McLoughlin * glib/gconvert.c: (get_filename_charset): re-work to retain a copy of the cached charset rather than the actual return value from g_get_charset (which may change). Also, re-initialize the cache if it does change. See bug #126454. Thu Nov 6 00:04:46 2003 Matthias Clasen * glib/gconvert.c (get_filename_charset): Replacement for have_broken_filenames() which consults the environment variable G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES. * glib/gconvert.c (g_filename_from_utf8): * glib/gconvert.c (g_filename_to_utf8): * glib/gconvert.c (_g_convert_thread_init): Use get_filename_charset() instead of have_broken_filenames(). Wed Nov 5 22:05:19 2003 Matthias Clasen * glib/gi18n-lib.h: * glib/gi18n.h: New headers defining common gettext-support macros. * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h and gi18n-lib.h. * glib/gstrfuncs.h: * glib/gstrfuncs.c (g_strip_context): Auxiliary function for the implementation of Q_(). 2003-11-05 Morten Welinder * glib/garray.c (g_ptr_array_remove_range): Make it compile. (#119337, self.) * glib/gstring.c (g_string_insert_len): Handle the case where the to-be-inserted string is a substring of the target string. (g_string_assign): Handle "s = s;". (#114260, self.) Sun Nov 2 01:47:31 2003 Matthias Clasen Fix 64bit printing for MSVC builds (#119292, Hans Breuer): * configure.in (HAVE_INT64_AND_I64): Define for MSVC to include support for printing __int64 with format %I64 in the gnulib printf wrappers. * glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64 and TYPE_UINT64. * glib/gnulib/printf-args.h (struct argument): Add a_int64 and a_uint64 members. * glib/gnulib/printf-args.c (printf_fetchargs): Support TYPE_INT64 and TYPE_UINT64. * glib/gnulib/printf-parse.c (printf_parse): Parse I64 format modifier and map formats to TYPE_INT64. * glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with format modifier I64. * glib/gnulib/README: Document the __int64 support. Sat Nov 1 08:45:38 2003 Owen Taylor * glib/gmain.c (g_main_context_iterate): Set the return value from the result of g_main_context_check() (after we poll) rather than g_main_context_prepare. (#121675, Padraig O'Briain) Fri Oct 31 00:13:53 2003 Matthias Clasen * configure.in: Remove the semicolon from the definition of g_once(), so that GPOINTER_TO_INT (g_once (...)) works. Tue Oct 28 23:38:30 2003 Matthias Clasen * tests/printf-test.c: Change the %e tests to not check for actual string equality, but rather equality under g_ascii_strtod(), since the number of leading digits in the exponent seems to be not exactly prescribed by SUS. Fri Oct 24 17:09:04 2003 Owen Taylor * === Released 2.3.0 === * NEWS: Small update. 2003-10-24 Tor Lillqvist * configure.in: Force shared library (DLL) only on Windows. (I don't think that is controversial?) Remove unnecessary AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on Win32, it is not used by mingw or MSVC headers. * config.h.win32.in * glibconfig.h.win32.in: Match what configure produces. * glib/gconvert.c * glib/gutils.c: Mark a couple of functions and variables that aren't public as static. * glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining it potentially differently, to silence compiler. * glib/glib.def: Add some missing entries. * tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after libtestgobject. * tests/gobject/ifaceproperties.c (main): NULL-terminate arg list to g_object_set() and _get(). Thu Oct 23 12:38:24 2003 Owen Taylor * tests/gobject/Makefile.am (dist-hook): Remove and extra backslash. * tests/gobject/Makefile.am (EXTRA_DIST): Add testmarshal.list. * glib/Makefile.am (libglib_2_0_la_SOURCES): Add missing gunicode-private.h. * tests/testglib.c (main): Fix a warning. * tests/gobject/ifaceinherit.c: Remove check that wasn't supposed to work (adding an interface already added to the derived class to the base class), fix a bug. Wed Oct 22 23:41:03 2003 Matthias Clasen * NEWS: Update for 2.3.0. Tue Oct 14 17:44:38 2003 Owen Taylor * tests/gobject/ifaceproperties.c: Test for interface properties and GParamSpecOverride. Wed Oct 8 23:40:26 2003 Matthias Clasen * glib/gmarkup.c (g_markup_printf_escaped): (g_markup_vprintf_escaped): Document as 2.4 additions. (unescape_text): Implement newline and whitespace normalization according to the XML specification. (#123919) (g_markup_escape_text): Document whitespace (non)handling. 2003-10-05 Matthias Clasen * configure.in: Make the various printf feature test macros reflect the system printf, even when using the included printf. In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h needs that test result. (#122973) * glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF, directly check for _g_vasprintf. * glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf() if vasprintf() is available. * glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write trailing nul to the file. (#122973) * acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test detect non-C99-compliance of AIX 5.1 and Solaris vsnprintf(). (#122496) Thu Oct 2 01:15:46 2003 Owen Taylor * tests/gobject/ifacecheck.c: Test case for g_type_add_interface_check(). * tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT. Thu Oct 2 01:11:39 2003 Owen Taylor * tests/gobject/ifaceinherit.c: Remove some tests that were testing things that weren't supposed to work; add a test for adding an interface first to the child class, then to the parent class. Thu Oct 2 00:02:55 2003 Owen Taylor * tests/gobject/Makefile.am test/gobject/ifaceinherit.c: Tests of interface inheritance and overriding. 2003-09-30 Tor Lillqvist * glib/gspawn-win32.c (do_spawn): Call protect_argv() in do_spawn() instead of in do_spawn_with_pipes() so that we can use the original argv[0] as the program file name parameter to spawnv() in the shortcut (doing without helper process) code. Fixes problem if GIMP 1.3 was installed in a path with spaces in the name. Tue Sep 30 15:31:16 2003 Soeren Sandmann * glib/guniprop.c (has_more_above): make the argument const to get rid of warning * glib/garray.c (g_byte_array_remove_range): insert cast to get rid of warning 2003-09-29 Tor Lillqvist * tests/testglib.c (main): Use hardcoded name for DLL, as there is no reliable way to determine it at compile or run time anyway. 2003-09-29 Matthias Clasen * glib/guniprop.c (g_unichar_get_mirror_char): Add "Since: 2.4" to docs. Thu Sep 25 15:43:08 2003 Owen Taylor * tests/gobject/testmodule.[ch] test/gobject/Makefile.am: Dummy dynamic type module for testing type plugin code and dynamic types. * test/gobject/defaultiface.c: Test of g_type_default_interface_ref() and friends. 2003-09-28 Gediminas Paulauskas * configure.in: Added lt to ALL_LINGUAS. 2003-09-25 Tor Lillqvist * glib/glib.def: Remove g_bsearch_array_* entries that don't exist any longer. (ABI change?) Thu Sep 25 15:01:37 2003 Owen Taylor * tests/Makefile.am (SUBDIRS): Add gobject/. Fri Sep 12 16:26:21 2003 Owen Taylor * tests/gobject/ configure.in: New directory, framework for automated GObject tests. * tests/gobject/override.c: Move testoverride.c here, automate. * tests/gobject/ifaceinit.c: Move testifaceinit.c here. * tests/gobject/accumulator.c: Test signal accumulators, including g_signal_accumulator_true_handled. 2003-09-12 Noah Levitt * glib/gen-unicode-tables.pl: Take a directory where to look for the unicode files on the command line instead of 7 individual files. 2003-09-12 Noah Levitt * glib/gen-unicode-tables.pl: * glib/gunichartables.h: * glib/gunicode.h: * glib/guniprop.c: Add g_unichar_get_mirror_char. (#114749) Thu Sep 11 20:11:05 2003 Owen Taylor * glib/gmarkup.c: Add g_markup_printf_escaped(), g_markup_vprintf_escaped(). * tests/markup-escape-test.c (main): Test for g_markup_escape_text(), g_markup_printf_escaped(). 2003-09-10 Noah Levitt * glib/gunicodeprivate.h: * glib/gunicollate.c: * glib/gunidecomp.c: * glib/guniprop.c: * tests/casemap.txt: * tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681) * glib/gunicodeprivate.h: Use a private header instead of extern function declarations (_g_utf8_normalize_wc, _g_unichar_combining_class). Mon Sep 8 00:31:10 2003 Stefan Westerfeld * glib/gbsearcharray.h: inserted casts for C++. 2003-08-28 Matthias Clasen * tests/patterntest.c (verbose): Fix a C99ism. (#120821, Thomas Klausner) 2003-08-25 Tor Lillqvist * glib/giowin32.c (read_thread): Avoid UNLOCKing the critical section twice, which might cause a hang. (#120653) * glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a valid file descriptor and socket. Mon Aug 25 12:34:36 2003 Owen Taylor * glib/gmessages.c: Escape control characters in g_logv() output. (#108287, Christian Biere) Mon Aug 25 12:17:20 2003 Owen Taylor * glib/gmain.c (g_main_context_unref_and_unlock): When DISABLE_MEM_POOLS is set, loop through and free the poll records explicitely, since g_mem_chunk_destroy() won't do it. (#118121, Morten Welinder) 2003-08-22 Samúel Jón Gunnarsson * is.po: Added "is" to ALL_LINGUAS. 2003-08-19 Tor Lillqvist * glib/gmessages.c (g_logv): [Win32] Make the fatal error message box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR to get a nice stop-sign icon. Tue Aug 19 09:42:06 2003 Owen Taylor * m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS temporarily, not -lintl. (Problem with fix for #119171, pointed out by James Henstridge) Tue Aug 19 03:55:29 2003 Tim Janik * glib/gbsearcharray.h: license change, no restrictions are made in the new license at all, the implmentation is simply provided "as is" to allow copy-pasting the code into any third-party app. naturally, the implementation is self-contained within the header file to allow this. default to non-shrinking behaviour, allow users to request shrinking via G_BSEARCH_ARRAY_AUTO_SHRINK. creation, deletion functions are now named g_bsearch_array_create() and g_bsearch_array_free(). fixed const in prototypes, removed cruft. (g_bsearch_array_insert): take only three arguments, do nothing if the node to insert is already there. (g_bsearch_array_replace): insert or replace if the node is already there. (g_bsearch_array_remove): remove nodes by index, the index of a node can be found via g_bsearch_array_get_index(). removed other g_bsearch_array_remove*() variants. (g_bsearch_array_lookup): minor optimizations. (g_bsearch_array_lookup_sibling): return nodes on mismatches. * glib/gbsearcharray.c: removed. 2003-08-16 Tor Lillqvist Fix #117925 (Dov Grobgeld): * glib/gutils.c (g_find_program_in_path, g_basename, g_path_get_basename, g_path_is_absolute, g_path_skip_root, g_path_get_dirname, g_get_any_init): On Win32, look also for slashes ('/') as pathname separators. * glib/gfileutils.c (g_file_open_tmp): Ditto. If the template contains a pathname separator, include the actual one in the error message, instead of always the canonical one. (g_build_filename): Separate implementation on Win32 that looks for either slash or backslash. Document Unix/Windows differences. * tests/testglib.c * tests/strfunc-test.c: Test above functionality on Win32. 2003-08-15 Tor Lillqvist * glib/gmain.c (g_poll): [Win32] Don't exceed handle array bounds. Warn if there would be too many handles to wait for. (WaitForMultipleObjects() has a relatively low limit of 64 handles. The Win32 IO channel code should be fixed not to need to wait for one handle per file or socket being watched. Later.) 2003-08-13 Tor Lillqvist * glib/Makefile.am * gmodule/Makefile.am * gobject/Makefile.am * gthread/Makefile.am: Use srcdir also in references to the .def files. (#118885, Jeff Bonggren) 2003-08-12 Tor Lillqvist * glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific implementation. It used WideCharToMultiByte(), which is broken as it stores unconvertable characters as fallback characters (question marks) in the destination string without being able to tell how much of the conversion succeeded. Using g_convert() like on Unix is better and simpler. (#117872) (g_locale_to_utf8): No need for the Win32-specific implementation here, either. (have_broken_filenames): Define as TRUE on Win32. (g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As have_broken_filenames() now is defined TRUE on Win32, works as before. 2003-08-11 Matthias Clasen * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from gtk-doc to enable configuring without xmlcatalog in PATH. (#119115) 2003-08-10 Tor Lillqvist * glib/gutils.c (g_getenv): Don't use a cache of variable name to value mappings on Win32, as that breaks g_setenv() and g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary, and in that case return a quarkified string. It is still questionable how necessary expanding embedded environment variable references is. Possibly the whole Win32-specific g_getenv() implementation could be removed. (#119520) 2003-08-08 Tor Lillqvist * glib/glib.def: Add g_once_impl. * glib/gutils.c (g_setenv): Fix syntax error in the !HAVE_SETENV case. 2003-08-08 Matthias Clasen * tests/env-test.c (main): Remove a test for getenv() behaviour which isn't specified by SUS and doesn't work on Solaris. 2003-08-07 Matthias Clasen * tests/env-test.c: Add tests for '=' in names and values. * glib/gutils.c (g_setenv, g_unsetenv): Check that the variable name doesn't contain '='. Add a declaration for environ. (#119338) * acinclude.m4: Tighten the snprintf() test to check behaviour on zero-size buffers. (#106091) * tests/patterntest.c: Specify test strings in UTF-8, remove all charset conversion. Replace the NOISY define by a cmdline arg --noisy. (#115757) Thu Aug 7 15:01:09 2003 Owen Taylor * m4macros/glib-gettext.m4: Set $LIBS to include -lintl when checking for dcgettext and _nl_msg_cat_cntr. (Tim Mooney, #119171) Thu Aug 7 14:15:44 2003 Owen Taylor * glib/gmain.c (g_idle_source_new): Make the default priority for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would expect and document that. (#114461, reported by Andy Wingo) 2003-08-06 Noah Levitt * tests/casemap.txt: * tests/gen-casemap-txt.pl: Add test for special case not at inital position in the string, the bug just fixed. (#118957) 2003-08-05 Noah Levitt * glib/guniprop.c: Get rid of "len" parameter to output_special_case and output_marks, and make them work more like g_unichar_to_utf8, fixing a bug in the process. (#118957) 2003-08-05 Hans Breuer * glib/gnulib/makefile.msc : (new file) for msvc build * glib/gnulib/vasnprintf.c : use glib/galloc.h * glib/gnulib/printf.h : #include for FILE* * glib/makefile.msc.in : replace trio with gnulib * glib/glib.def : updated externals * glib/guniprop.c : fix for guniprop.c(582) : error C2082: redefinition of formal parameter 'len' 2003-08-04 Noah Levitt * tests/unicode-normalize.c: We do handle > BMP now, so test it. 2003-07-31 Noah Levitt * tests/file-test.c: s/g_read_link/g_file_read_link/ (#118727) 2003-07-31 Noah Levitt * tests/unicode-encoding.c: Return nonzero exit status if the test fails. (#118729) 2003-07-31 Noah Levitt * tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that is the last valid unicode character. Add check that U+10ffff is NOTUNICODE. (#118730) 2003-07-30 Noah Levitt * glib/gen-unicode-tables.pl: * glib/gunibreak.c: * glib/gunibreak.h: * glib/gunichartables.h: * glib/gunicode.h: * glib/gunicomp.h: * glib/gunidecomp.c: * glib/gunidecomp.h: * glib/guniprop.c: * tests/casefold.txt: * tests/casemap.txt: * tests/gen-casefold-txt.pl: * tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974) 2003-07-31 Tor Lillqvist * glib/gspawn-win32.c: When possible, manage without the helper process. (Part of the enhancements outlined in #98737.) Speeds up GIMP 1.3's first-time-run plug-in query phase a lot. Plug a file descriptor (and thus Win32 handle) leak: close the read end of the child error report pipe after use. 2003-07-30 Matthias Clasen * glib/gutils.c (g_unsetenv): Use same argument name as in header, to pacify gtk-doc. (g_getenv): Move docs inline, add comment about lifespan of return value. * glib-2.0.pc.in (Libs): Remove forgotten @TRIO_LIBS@. (#118616, Noah Levitt) * glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link() to better match the remaining file utilities in the g_file_ namespace and to better separate it from readlink(). This is hopefully no problem as the function is just 2 days old. 2003-07-29 Matthias Clasen * glib/gqsort.[hc] (g_qsort_with_data): * glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri): * glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar, gint, gsize instead of char, int, size_t in the interface for consistency. (#118567) Replace trio printf() by gnulib vasnprintf(): (#101874) * configure.in: Define HAVE_LONG_LONG_FORMAT if system printf understands %llu; rename enable_trio to enable_included_printf; add misc. tests needed for gnulib vasnprintf(); define G_GINT{16,32,64}_MODIFIER in glibconfig.h. * acinclude.m4: Misc tests needed for gnulib vasnprintf(): AC_FUNC_SNPRINTF_C99, bh_C_SIGNED, jm_AC_TYPE_LONG_LONG, gt_TYPE_LONGDOUBLE, gt_TYPE_WCHAR_T, gt_TYPE_WINT_T, gt_AC_TYPE_INTMAX_T, jm_AC_HEADER_STDINT_H, jm_AC_HEADER_INTTYPES_H. * glib/Makefile.am: Replace TRIO_SUBDIR by PRINTF_SUBDIR and trio_libtrio_la by printf_la. * glib/gprintfint.h: Include gnulib/printf.h and use _g_gnulib_ functions instead of _g_trio_ functions. * glib/trio/*: Removed * glib/gnulib/*: vasnprintf() implementation from gnulib, patched to live in the _g_gnulib namespace, use g_malloc instead of malloc, and support long long printing even if system printf doesn't. For more details, see glib/gnulib/README. * tests/printf-test.c: Add tests for 64 bit printing. 2003-07-28 Matthias Clasen * glib/gfileutils.h: * glib/gfileutils.c: New function g_read_link(). (#72545) * configure.in: Check for setenv, unsetenv, readlink and symlink. * tests/file-test.c (test_readlink): Test for g_read_link() (only on systems supporting symbolic links). * tests/env-test.c: New test for g_{get,set,unset}env(). * tests/Makefile.am (test_programs): Add env-test. * glib/gutils.h: * glib/gutils.c: New functions g_setenv() and g_unsetenv(). (#100763) 2003-07-26 Matthias Clasen * tests/printf-test.c: New test, tests printf behaviour. This was already mentioned in Makefile.am by accident. * tests/file-test.c: New test, currently contains mkstemp tests copied from testglib.c. * tests/Makefile.am (test_programs): Add file-test. * glib/gprintf.c: Fix all g_return_val_if_fail () checks to return -1 on error to match the behaviour of the stdio printf() family. * glib/garray.h: * glib/garray.c (g_{,byte,pointer}_remove_range): New functions to remove a range of elements from an array. (#94879, Nalin Dahyabhai) * glib/gmessages.c (g_logv): Remove the 1024 char limit in the common (non-recursive) case. 2003-07-25 Matthias Clasen * glib/gwin32.c: * glib/gutf8.c: * glib/gunicollate.c: * glib/gtree.c: * glib/gspawn.c: * glib/gmain.c: * glib/giochannel.c: * glib/gfileutils.c: * glib/gerror.c: * glib/gconvert.c: * glib/gasyncqueue.c: * glib/gmem.c: Remove some explicit Docbook markup which is no longer necessary since gtk-doc does the right thing. * glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity. 2003-07-20 Hans Breuer * glib/trio/makefile.msc : (new file) for msvc build * glib/glib.def : removed some duplicated entries * glib/gscanner.c : add same workaround for MSVC(5.0) which does not allow to cast an uint64 to float. Same as in gvaluetransform.c Also move #include behind inclusion of "glib.h" which defines the needed G_OS_WIN32 * glib/makefile.msc.in : added gprintf.obj, trio\trio.lib as well as shell32.lib * tests/spawn-test.c : include on win32 2003-07-12 Matthias Clasen * glib/gprintf.c: Doc additions. 2003-07-10 Joel Brich * configure.in: Added "eo" to ALL_LINGUAS. Wed Jul 9 16:27:26 2003 Manish Singh * glib/gmain.c (g_main_context_unref_and_unlock): check if context->poll_chunk is set before trying to destroy it. For example, this can happen if no sources are added to a context before it is freed. 2003-07-09 Morten Welinder * glib/gprintf.c (g_vasprintf): Avoid var declaration after statement. 2003-07-09 Matthias Clasen Support for one-time initialization functions. (#69668, Sebastian Wilhelmi) * configure.in: Check whether double checked locking is safe, define g_once() in glibconfig.h accordingly. * glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl. * glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked locking is unsafe. * tests/thread-test.c: Add tests for g_once(). 2003-07-02 Matthias Clasen * glib/gstrfuncs.c (g_strfreev): Move docs inline, document behavior for NULL. (#116439, Steve Chaplin) 2003-06-25 Abigail Brady * glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx and \Uxxxxyyyy escapes instead for fallback instead of perl-style \X{xxxx} ones, fixing bug #114284. 2003-06-25 Tor Lillqvist * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and &optlen to getsockopt() instead of NULL. Don't remember why I thought that NULL could be used (as we don't actually use the returned value for anything), the Platform SDK documentation doesn't imply so. 2003-06-19 Matthias Clasen * glib/gutils.c (g_path_get_basename): Move the documentation inline and add details. (#108505) 2003-06-18 Matthias Clasen * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New macros to check for XML catalog contents and path, borrowed from gtk-doc. * configure.in: New option --enable-man to enable regeneration of man pages from Docbook, if the necessary tools are found. 2003-06-17 Matthias Clasen * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New macros to check for XML catalog contents and path, borrowed from gtk-doc. * configure.in: New option --enable-man to enable regeneration of man pages from Docbook, if the necessary tools are found. 2003-06-15 Tor Lillqvist * glib-zip.in (DLLDIR): Test where the DLLs actually are. * README.win32: Point to FSF's binary Win32 distributions of libiconv and gettext-runtime. 2003-06-11 Tor Lillqvist * glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin subdirectory, so get them from there. * glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the same way as the po files for Serbian in Latin and Cyrillic script. 2003-06-11 Sebastian Wilhelmi * configure.in: Remove false &. Spotted by Albert Chin . 2003-06-08 Tor Lillqvist * glib/giowin32.c: Fix indentation and spacing. Use INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and gethostbyaddr(). Sat Jun 6 16:18:10 2003 Andrew Lanoix * glib/giowin32.c: Resolved thread deadlocks in socket ichannel code to support Add-Cancel-Add watch functionality on windows. Also cleaned up socket error handling to not segfault and do the right thing. Fri Jun 6 10:24:23 2003 Hidetoshi Tajima * m4macros/glib-gettext.m4: Test for Solaris native gettext in libc, seeing if it supports GNU catalog format (#85217). Thu Jun 5 23:40:31 2003 Owen Taylor * glib/gmain.c: When dispatching a source that is !CAN_RECURSE, temporarily remove any file descriptors that that source has registered from the main loop, to keep recursive main loops from busy-waiting if input becomes available on one of those file descriptors. (#112222, Christian Krause) * glib/gmain.c (g_source_set_priority): Properly remove the source from the context's source list and reinsert it sorted, rather than simply setting source->next/prev to NULL! (#114274) 2003-06-06 Matthias Clasen * glib/gstring.c (g_string_append_printf_internal): Use g_vasprintf() and g_string_append_len(), thus enabling embedded nuls in the result of g_string_printf(). (#92492, Owen Taylor) * tests/string-test.c: Add a test for embedded nuls in the result of g_string_printf(). * glib/gprintf.[ch]: Synchronize argument names with headers and docs. (g_vasprintf): An implementation of vasprintf(), code was lifted from g_strdup_vprintf(). (#112365) * glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf(). 2003-06-05 Tor Lillqvist * glib/giochannel.h * glib/gmain.h: Remove bogus (Win32-only) declaration of g_main_poll_win32_msg_add(). No such function exists. * glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for better warning messages. 2003-06-04 Noah Levitt * glib/gunidecomp.h (combine): Fix typo (#114375). Also, make the function static. 2003-06-03 Sebastian Wilhelmi * configure.in: Test for pthread_setschedparam. If not existant, disable priorities. (#104718) Mon Jun 2 14:18:21 2003 Owen Taylor Patch from Jeffrey Stedfast (#104825) * glib/gspawn.c (read_data): Don't read() into '&buf', while this is technically okay - it is clearer as just 'buf'. (write_all): New helper function that handles write() interrupts. (write_err_and_exit): Use write_all() instead of write(). (fork_exec_with_pipes): Same here. Sun Jun 1 09:42:36 2003 Owen Taylor * glib/giochannel.c (g_io_error_get_from_g_error): Put the g_return_val_if_fail() in the right place. Fri May 31 1:17:45 2003 Ray Strode * glib/giochannel.c (g_io_channel_error_from_errno): Fix typo: should be G_IO_ERROR_UNKNOWN not G_ERROR_ERROR_UNKNOWN Fri May 30 19:23:47 2003 Owen Taylor * glib/gstrfuncs.c (g_ascii_strncasecmp) * glib/gstrfuncs.c (g_ascii_strcasecmp): Use TOLOWER() macro instead of g_ascii_tolower() (#107138) Fri May 30 19:09:25 2003 Owen Taylor * m4macros/glib-gettext.m4: Backport better handling of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon) Fri May 30 18:46:05 2003 Owen Taylor * m4macros/glib-gettext.m4: expand $exec_prefix as well as $prefix. (#107290, reported by Morten Welinder, patch from Raja Harinath) Fri May 30 17:24:23 2003 Owen Taylor * glib-gettextize.in: Quote $srcdir to handle $srcdir with spaces (#107850, Evan Martin) Fri May 30 16:48:26 2003 Owen Taylor * glib/giochannel.c (g_io_channel_error_from_errno): Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR, since close() can return EINTR. (#11842, Balazs Scheidler) Fri May 30 15:51:43 2003 Owen Taylor * glib/giochannel.c (g_io_error_get_from_g_error): Do a g_return_val_if_fail() on err == NULL to be a bit more robuts on buggy IO channel implementations. (#113396, Dan Winship) Tue May 27 19:56:35 2003 Owen Taylor * glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar, #113797) 2003-05-28 Matthias Clasen * tests/patterntest.c: Remain silent when sucessful. * tests/Makefile.am: Add patterntest to make check. (113143) 2003-05-27 Matthias Clasen * glib/gstrfuncs.c (g_strdup): Use memcpy instead of strcpy. (#106988, Christian Biere) 2003-05-27 Matthias Clasen * glib/gstrfuncs.c (g_strdup): Use memcpy instead of strcpy. (#106988, Christian Biere) 2003-05-23 Noah Levitt * glib/gutf8.c: Fix typo in UNICODE_VALID (related to #107427). 2003-05-23 Noah Levitt * glib/guniprop.c: Remove stale comment. 2003-05-22 Noah Levitt * glib/guniprop.c: Update g_unichar_iswide to Unicode 4.0 (#113404). 2003-05-21 Noah Levitt * glib/guniprop.c: Fix obscure typo in case conversion routine (#113469). Tue May 20 14:14:55 2003 Manish Singh * configure.in: wrap 64-bit MIN/MAX limit constants in G_GINT64_CONSTANT. Fixes bug #108699. 2003-05-19 Noah Levitt * glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should return G_UNICODE_BREAK_UNKNOWN if the character is greater than G_UNICODE_LAST_CHAR. 2003-05-19 Noah Levitt * glib/glist.c: Remove unused function g_list_sort2 (bug #113203). 2003-05-19 Noah Levitt * glib/gunidecomp.c: Fix off-by-one error in g_unicode_canonical_ordering (bug #113260). 2003-05-19 Arafat Medini * ar.po: Added ar to ALL_LINGUAS 2003-05-17 Telsa Gwynne * configure.in: Added cy to ALL_LINGUAS 2003-05-05 Matthias Clasen * glib/gstrfuncs.c (g_ascii_dtostr): (g_ascii_formatd): (g_ascii_strtod): Some doc fixes. (#111805) 2003-05-05 Christian Rose * configure.in: Added sr and sr@Latn to ALL_LINGUAS. Thu Apr 24 19:12:05 2003 Owen Taylor * autogen.sh (have_libtool): Accept libtool-1.5. (#111483) 2003-04-09 Matthias Clasen * INSTALL: * INSTALL.in: Remove list of configuration flags, since these are already documented in docs/reference/glib/building.sgml. 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. Mon Apr 7 13:40:28 2003 Owen Taylor * glib/gmain.c (g_main_loop_run): When waiting for the main loop to be freed up, wait on either !loop->is_running or got_ownership, not both. (Caused gtk_dialog_run() not to work in other threads, reported by Jean-Yves Lefort) 2003-04-07 Matthias Clasen * glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0. (#110087) 2003-04-01 Tor Lillqvist * glib/glib.def: Add g_string_chunk_insert_len. 2003-04-01 Matthias Clasen * glib/gstring.[hc] (g_string_chunk_insert_len): New function, to insert possible non-nul-terminated byte sequences into a string chunk. (#96279) (g_string_chunk_insert): Implement in terms of g_string_chunk_insert_len() now. 2003-03-30 Matthias Clasen * glib/gstring.c (g_string_new): Optimize the common cases (init == NULL or init == "") a bit. * glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c, glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c, glib/gspawn.c, gobject/gvaluetransform.c: replace uses of g_string_new ("") by g_string_new (NULL). (#106973, Morten Welinder) * glib/gutf8.c (UNICODE_VALID): Update to Unicode 3.1 and optimize a bit. (#107427, Noah Lewitt) * glib/libcharset/config.charset: Add cp1251 support for Solaris. (#104738, Hidetoshi Tajima) * glib/gconvert.c (UnsafeCharacterSet): Get rid of UNSAFE_DOS_PATH. (acceptable): Align with RFC2396. (#59653) * tests/uri-test.c: Adjust to the changes above. 2003-03-26 Christian Rose * configure.in: Added "yi" to ALL_LINGUAS. 2003-03-19 Matthias Clasen * glib/giochannel.c (g_io_channel_read_to_end): Fix docs. 2003-03-19 Anders Carlsson * configure.in: Bump version to 2.3.0 2003-03-14 Sebastian Wilhelmi * glib/gthread.c: Do not define function g_thread_init_glib, if not G_THREADS_ENABLED. It's not called bu g_thread_init() then, but calls other, in that case undefined functions. 2003-03-06 Matthias Clasen * glib/gmain.c (g_main_context_find_source_by_id): (g_main_context_find_source_by_funcs_user_data): Fix FALSE/NULL confusion. (#107646, Morten Welinder) 2003-03-01 James Henstridge * autogen.sh: require automake 1.7. Add calls to libtoolize and gtkdocize. Clean up some of the error messages. * configure.in: move version declaration to the top of the file (before AC_INIT), using M4 macros. GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use of M4 macro expansion in help messages instead. Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to format help strings. Use quadrigraphs to get square brackets to show correctly. Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro. Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output glibconfig.h, so that "./config.status glibconfig.h" works. Add an extra AC_CONFIG_FILES call listing other files we want generated by config.status protected by an "if false" block. This way automake generates the rules needed to rebuild the files for us. Add quotes in various places. * docs/reference/*/Makefile.am: convert to use the common gtk-doc.make file. This localises the complexity to a single makefile fragment maintained with gtk-doc itself. * */Makefile.am: remove unneeded rules to build win32 files with config.status. Automake now does this for us. Replace instances of @FOO@ with $(FOO) where appropriate -- this allows automake to do a better job checking the makefile. Add some files to DISTCLEANFILES where appropriate * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to ensure that --enable-gtk-doc is passed to configure during a distcheck. Remove the custom distcheck, since the standard one will now do. * gobject/Makefile.am: switch to BUILT_SOURCES, since that now works. 2003-02-26 Matthias Clasen * glib/gstrfuncs.c (g_strdup_vprintf): Use g_strndup, not g_strdup, since we know the length in advance. * glib/gunidecomp.c (g_unicode_canonical_decomposition): Use g_malloc instead of directly using malloc. 2003-02-25 Tor Lillqvist * glib/glib.def: Add a couple of missing entries, thanks to Cedric Gustin. Thread initialization function changes according to Sebastian Wilhelmi's changes below (2003-02-14). 2003-02-24 Matthias Clasen * glib/gdir.c (g_dir_read_name): Clarify documentation. 2003-02-18 Sebastian Wilhelmi * configure.in: Make glib_thread_test not unnecessarily convert between int and void*. (#106278). Let main return int. * configure.in: Add an argument to specify the default thread attribute to glib_thread_test. Disappeared somewhere between 2.0 and 2.2. 2003-02-14 Sebastian Wilhelmi Fixes for #101264 and #99372: * glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c, glib/grand.c: Include gthreadinit.h and rename the thread initialization functions a bit and let them start with _, so that later we can stop exporting them. * glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to new functions. They have to be called after setting g_threads_got_initialized to TRUE (see #101264). * glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to g_thread_init_glib(). Call the thread initialization functions (which are not allowed to call g_private_new), then set g_threads_got_initialized to TRUE, then call the other thread initialization functions (which must not call anything but g_private_new()). * glib/gthreadinit.h: New private header to cleanly declare all thread initialization functions. * gthread/gthread-impl.c: Include gthreadinit.h. In g_thread_init() just call g_thread_init_glib(), which in turn calls the other functions (see #99372). * glib/Makefile.am: Added gthreadinit.h. 2003-02-12 Sebastian Wilhelmi * configure.in: Make GLib recognize Tru64Unix thread system. (#103020) 2003-02-11 Tor Lillqvist * Makefile.am (EXTRA_DIST): Include ChangeLog.pre-2-2. * glib-zip.in: Include also the gtk-doc/html documentation in the developer package. * README.win32: Updates. 2003-02-11 Sebastian Wilhelmi * AUTHORS: Changed my e-mail address. * glib/grand.c: Removed my e-mail address. 2003-02-10 Mohammad DAMT * po/id.po: Added Indonesian translation * configure.in: Added "id" to ALL_LINGUAS 2003-02-06 Matthias Clasen * glib/gmessages.h: * glib/gmem.h: * glib/ghash.h: * glib/gasyncqueue.h: * glib/garray.h: * glib/ghook.h: * glib/gtypes.h: Fix a bunch of typos in header comments. (#102422, Morten Welinder) 2003-02-04 Tor Lillqvist * glib/giowin32.c (g_io_channel_unix_new): Fix typo: Should be SOCKET_ERROR, not SO_ERROR. Noticed by Daniel Kaufmann. Merge from stable branch: Fix for bug #104014, reported by Alex Shaduri: * glib/gspawn-win32.c (protect_argv): New function. Add double-quotes around argv elements that need it, and escape embedded double-quotes with backslash. (do_spawn_with_pipes) Call protect_argv(). * glib/gspawn-win32-helper.c (WinMain): Call protect_argv(). * glib/gspawn.c (g_spawn_async_with_pipes): Document argument vector vs. command line details on Win32. (g_spawn_command_line_sync): Improve documentation about backslashes in the command line on Windows. Thu Jan 30 16:45:13 2003 Owen Taylor * Makefile.am: Remove references to glib.spec. (#102231) * configure.in: Don't generate glib.spec. Tue Jan 28 16:08:56 2003 Owen Taylor * m4macros/glib-gettext.m4: If msgfmt isn't found, unset gt_cv_have_gettext. (#102552, Tim Mooney) Tue Jan 28 15:18:24 2003 Owen Taylor * autogen.sh (have_automake): Fix version in complaint message about automake. (#104366, Rich Burridge) 2003-01-22 Pablo Saratxaga * configure.in: Added Bengali (bn) to ALL_LINGUAS 2003-01-21 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. 2003-01-20 Pablo Saratxaga * configure.in: Added Farsi (fa), Italian (it), Latvian (lv), Macedonian (mk) to ALL_LINGUAS 2003-01-16 Daniel Yacob * configure.in: added am to ALL_LINGUAS 2003-01-12 Tor Lillqvist * glib/glib.def: Add some missing entries. Thanks to Kenichi SUTO. 2003-01-05 Tor Lillqvist * README.win32: Updates. * configure.in: Don't use -lm in TRIO_LIBS on Windows, with no libm. (Mingw has a dummy libm.a, but the .pc file should be useable by MSVC users, too.) 2003-01-25 Ron Steinke (Ancient, binary compatible fixes found sitting in my tree) * Added early checks for count == 0 and buf == NULL in g_io_channel_read() * Better error message for EFAULT in g_io_channel_error_from_errno() 2003-01-04 Tor Lillqvist * Makefile.am (BUILT_EXTRA_DIST): Don't distribute glib-zip. * {glib,gmodule,gobject,gthread}/Makefile.am: [Win32] Install also the .def files, to help users generate import libraries for other compilers. Uninstall, too. * glib-zip.in: Include .def files from above. * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Don't claim broken pipes are unreadable. (Well, they are, but read() handles it, and treats it like EOF.) Thu Jan 2 16:19:15 2003 Manish Singh * configure.in: use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE for tests for inline keywords. Fixes #101976. 2003-01-02 Tor Lillqvist * glib/gwin32.h: Correct the comment telling what headers have the declarations of some POSIXish functions. * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino: The checks for readability/writeability were backwards. 2003-01-01 Tor Lillqvist * glib/gmessages.c (ensure_stderr_valid): New function, parallel to ensure_stdout_valid(). #defined as empty on Unix. Move the alloc_console_called static flag inside these two functions. (ensure_stdout_valid, ensure_stderr_valid): Check the C stdout and stderr streams for validity, instead of what GetStdHandle() returns. (mklevel_prefix): Do use either stderr or stdout on Windows, too. Otherwise g_warning() messages (that are just warnings, by definition) will get mixed with proper stdout output. Noticed in GIMP's gimpconfig-dump. (strdup_convert, mklevel_prefix, g_printerr): Call ensure_stderr_valid() before trying to use stderr. (g_logv): [Win32] Convert message to current codepage before display with MessageBox(). 2002-12-28 Tõivo Leedjärv * configure.in: Added et to ALL_LINGUAS.