Thu Dec 28 21:14:45 2006 Tim Janik * glib/gslice.c: removed pthread-dependant debugging bits, the code was already converted to GMutex. this obsoletes Tor's recent fixups. 2006-12-28 Tor Lillqvist * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME) * glib/gutils.c (get_windows_directory_root): : Use only the wide character API here, too. * glib/gslice.c: Make it compile on Win32 without pthreads: Use a Win32 critical section instead. * glib/gmessages.c (g_logv): On Win32, if we get a fatal error message while being debugged we break into the debugger with G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough to continue after the breakpoint. The user presumably knows what he is doing and deserves what he gets. (#376645, Andreas Köhler) Thu Dec 28 12:50:31 2006 Tim Janik * glib/gslice.h, glib/gslice.c: implemented static debugging hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks. use abort() to exit in mem_error() to allow catching of these in gdb. abort programs with a descriptive error message if g_thread_init() is called after GSlice was in use. previously this just silently corrupted the magazines. * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte pointer alignment on 64bit systems and request smaller slice sizes on 32bit systems. * tests/slice-test.c: support '~' option flag to introduce slice allocation/release corruption with a significant probability. this allowes testing of G_SLICE=debug-blocks. 2006-12-27 Matthias Clasen * glib/gconvert.[hc]: * glib/gfileutils.c: * glib/giochannel.c: * glib/goption.c: * glib/gspawn.c: * glib/gunicollate.c: * glib/gutils.c: * tests/timeloop-basic.c: Consistently use gsize rather than size_t. (#333310, Morten Welinder) 2006-12-27 Matthias Clasen * configure.in: Use AC_CACHE_CHECK for the nl_langinfo check. (#304517, Lőrinczy Zsigmond) 2006-12-27 Tor Lillqvist * glib/gwin32.h * glib/gwin32.c (get_package_directory_from_module) (g_win32_get_package_installation_directory) (g_win32_get_package_installation_subdirectory): Add const to gchar* arguments. (#384523, Yevgen Muntyan) 2006-12-27 Ryan Lortie * glib/ghash.c: cache the value of the hash function in the GHashNode. this speeds up resizing the hash table and it also allows a slight optimisation on lookups. (#388332) 2006-12-27 Matthias Clasen * glib/gunicollate.c (g_utf8_collate_key): Don't modify the current locale. (#389300) 2006-12-26 Matthias Clasen * glib/gutf8.c: Add hints for locale-dependent interfaces. * glib/gconvert.c: Add hints for locale-dependent interfaces. * glib/gconvert.c (g_get_filename_charsets): Improve formatting of docs. 2006-12-26 Behdad Esfahbod * configure.in: Use libtool to determine shared library suffix. (#357245) 2006-12-24 Matthias Clasen * tests/run-collate-tests.sh: * tests/unicode-collate.c: Silently skip tests if we can't set LC_COLLATE to en_US. (#336438) 2006-12-19 Matthias Clasen * glib/gkeyfile.c (g_key_file_is_key_name): Accept '/', '+' and '.' in key names, since gnome-vfs uses mime types as keys in some cache. * tests/keyfile-test.c: Tests for the above. 2006-12-18 Matthias Clasen * configure.in: Fix the broken poll test. (#387260, Christian Persch) * glib/gmain.c (child_watch_helper_thread): Readd a return which was removed as dead code a while ago. icc may consider it dead, but gcc doesn't like non-void functions without a return... (#354707) * tests/Makefile.am: Try a different fix for bug 346373. 2006-12-18 Matthias Clasen Fix bug 161288: * configure.in: Check for wcslen. * glib/gnulib/vasnprintf.c: Handle wcslen missing. 2006-12-18 Matthias Clasen * glib/gkeyfile.c: Accept '@' in locale names. * glib/gkeyfile.c: Tighten up the check for allowed key and group names. (#343191, Tommi Komulainen) * tests/keyfile-test.c: Test handling of key and group names. * tests/Makefile.am: Don't use $RANDOM if the shell doesn't have it. (#346373, Thomas Klausner) 2006-12-17 Behdad Esfahbod * glib/gstring.c: Improve docs about string functions taking a length. (#378727) 2006-12-17 Matthias Clasen * glib/gconvert.c: * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL where gcc doesn't complain about it. * glib/ghash.c: Make ref_count an int to avoid compiler warnings. * configure.in: Use AC_LANG_SOURCE for the clock test. * glib/gthreadpool.h: * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait" as parameter name. (#379207, Christian Biere) * glib/gspawn.c: Refer to g_child_watch_add() in addition to waitpid(). * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs inline, and improve wording. (#372598, Behdad Esfahbod) * glib/gspawn.c: Add some pointers to the gdk_spawn_ variants. (#338134, Federico Mena Quintero) * configure.in: Make montonic clock test work again. Does AC_COMPILE_IFELSE not get confdefs ? Also, move the clock tests below the thread checks to fix #364663. * tests/run-markup-tests.sh: Don't use diff -u (#380801, Marek Rouchal) * glib/gspawn.c: Fix the recent fdwalk()-related changes to not break mapping-test. (#286838, Marco Barisione) * glib/gstring.c (g_string_chunk_new): Don't shadow size. (#386760, Kazuki IWAMOTO) 2006-12-16 Matthias Clasen * glib/gstring.c: Move more documentation inline. * configure.in: Use AC_COMPILE_IFELSE for the monotonic clock test. (#362918, Han-Wen Nienhuys, Jeremy Lainé) * glib/gstring.c: Move documentation inline. 2006-12-15 Matthias Clasen * glib/giochannel.h: Make ref_count a gint to avoid compiler warnings. (#321977, Andrew Paprocki) * configure.in: On Solaris, set CFLAGS and LDFLAGS that work both with Sun cc and gcc. (#315061, Lazlo Peter) * glib/gspawn.c: Undefine READ_OK to fix the build on old versions of Darwin. (#327800) * glib/glib.symbols: * glib/gstring.[hc] (g_string_chunk_clear): Add a function for clearing a GStringChunk. (#364608, Matt Barnes) * glib/guniprop.c (interval_compare): Avoid a compiler warning. * glib/gspawn.c (do_exec): Call set_cloexec() with the right parameters. (#386252, Guillaume Desmottes) 2006-12-15 Matthias Clasen Fix #357585, Padraig O'Briain. * configure.in: Check for fdwalk. * glib/gspawn.c (do_exec): Use fdwalk() to close all file descriptors. * glib/gspawn.c (fdwalk): Fallback implementation of fdwalk. 2006-12-14 Matthias Clasen * glib/gconvert.c (open_converter): Don't use alloca and avoid allocating memory for small keys that are already cached. (#172406, Morten Welinder) * glib/gmain.c (g_child_watch_add_full): Improve the docs. (#345569, Tim-Philipp Müller) * glib/gkeyfile.c (g_key_file_add_group): If the group is already there, make it current. (#385910, Joe Halliwell) * tests/keyfile-test.c: Add a test for duplicate groups/keys. 2006-12-13 Matthias Clasen * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in GLIB_WITH_NLS. (#385132, Laszlo Peter) 2006-12-12 Matthias Clasen * configure.in: Add a check for broken poll on Mac OS X. * glib/gmain.c: Use poll emulation on OS X. (#302672, Toby Peterson, patch by Dave Vasilevsky) 2006-12-11 Matthias Clasen * glib/gatomic.c: Don't use local numeric labels in inline assembler on AIX. (#316434, Hans Rosenfeld) * glib/gunicode.h (g_utf8_next_char): Cast to const char *, not char *. (#138153, Nikolai Weibull) Wed Nov 22 16:09:13 2006 Tim Janik * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias Hasselmann in bug #335341, fixes bug #335853. 2006-11-15 Matthias Clasen * m4macros/glib-gettext.m4: Apply a patch from James Henstridge for compatibility with automake 2.60 (#343825) 2006-11-14 Behdad Esfahbod * sanity_check: Replace bash-specific == with sh-understood =. Fixes bug #373864. 2006-11-05 Hans Breuer * glib/makefile.msc.in : glib/ version not the gobject/ one I accidentially commited. Fixes bug #371074. 2006-11-05 Tor Lillqvist * makefile.mingw * gmodule/makefile.mingw.in * glib/makefile.mingw.in * gobject/makefile.mingw.in * gthread/makefile.mingw.in * tests/makefile.mingw.in: Remove from CVS. Haven't been maintained or distributed for long. 2006-10-26 Pascal Terjan * glib/libcharset/localcharset.c: Fix small leak on failed realloc in _g_locale_get_charset_aliases (#338582) 2006-10-16 Behdad Esfahbod * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS). (#362543, Peter Kjellerstedt) 2006-10-15 Sebastian Wilhelmi * tests/Makefile.am: Compile errorcheck-mutex-test with thread libraries explicitly. (#74748, Javier Villavicencio) 2006-10-08 Matthias Clasen Add a way to obtain Unicode script information. (#348348, Marco Barisione) * glib/glib.symbols: * glib/gunicode.h: Add GUnicodeScript enumeration and g_unichar_get_script. * glib/guniprop.c: Implement g_unichar_get_script. * glib/gscripttable.h: Generated private header containing script tables. * glib/gen-script-table.pl: Script to generate gscripttable.h. * glib/Makefile.am: Update 2006-10-08 Matthias Clasen * tests/run-markup-tests.sh: Small portability fix. (#347944, Dan McMahill) 2006-10-07 Tor Lillqvist * glib/gwin32.c (get_package_directory_from_module) (g_win32_get_package_installation_directory): g_strdup the keys that we are passed before adding them to the hash tables, to guard against the caller freeing them. (#355955, Andreas Köhler) 2006-10-06 Matthias Clasen * glib/gtimer.c: Fix a typo. (#359190) 2006-10-02 Behdad Esfahbod * glib/Makefile.am: * gobject/Makefile.am: Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS. (#358966) 2006-10-01 Matthias Clasen * glib/gtimer.c (g_usleep): Use nsleep to implement g_usleep on AIX. (#321974, Andrew Paprocki) * configure.in: Check for nsleep * glib/gmain.c: Fix typos in doc comments. (#358421, Tom Tromey) 2006-09-30 Matthias Clasen * glib/pltcheck.sh: A script to check PLT entries. * glib/Makefile.am (TESTS): Run pltcheck.sh * glib/*: Fix includes to correct some issues with PLT entries. (#354522, Behdad Esfahbod) 2006-09-17 Hans Breuer * glib/makefile.msc.in gobject/makefile.msc.in : better filtering of G_GNUC_* stuff when generating .def files. Now also works with newer (less tolerant) linkers, e.g. from vc2500e 2006-09-10 Matthias Clasen * glib/gbacktrace.c: Assume string.h is available. (#354523, Behdad Esfahbod) * configure.in: Bump version to 2.13.0 * glib/glib.symbols: * glib/gmain.[hc]: Add functions to create approximate timeouts. (#353942, Arjan van de Ven) * glib/gstdio.c (g_rename): Initialize save_errno. (#355206, Mike Edenfield) 2006-09-03 Matthias Clasen * glib/gerror.c: Allocate GErrors using the slice allocator. (#354054, Matt Barnes) 2006-09-02 Matthias Clasen * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME. 2006-09-02 Tor Lillqvist * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed declarations and code) in Win32 ifdef branch. (#353903, Mike Edenfield) 2006-09-01 Abel Cheung * configure.in: Added 'dz' 'hy' to ALL_LINGUAS. 2006-09-01 Matthias Clasen * configure.in: Check for CLOCK_MONOTONIC. * glib/gtimer.c: Only use clock_gettime if we have a monotonic clock. 2006-08-31 Matthias Clasen * configure.in: Add missing includes to a few test programs. (#353580, Chris Wilson) 2006-08-30 Matthias Clasen * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call va_end on caller-provided va_args. (#353584, Chris Wilson) 2006-08-29 Tor Lillqvist Remove support for Windows 9x/ME, as will be done also in Pango and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so it's pretty pointless to keep the Win9x code in here either. If somebody is interested, the code can always be found in older GLib versions, and in CVS. * glib/gdir.c * glib/gfileutils.c * glib/gspawn-win32-helper.c * glib/gspawn-win32.c * glib/gstdio.c * glib/gutils.c * glib/gwin32.c * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x) branches, and any variables or static functions used only by the Win9x branches. * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if run on Win9x. 2006-08-27 Matthias Clasen * configure.in: Fix pthread compiler flag detection. * glib/gtimer.c: Use Posix monotonic clocks instead of gettimeofday when available. (#336114, William Jon McCann) 2006-08-26 Matthias Clasen * glib/gutils.h: * glib/gscanner.c: Fix some typos. (#351741, Kjartan Maraas) 2006-08-25 Matthias Clasen * configure.in: Fix the pthread compiler flag detection. * glib/gunicode.h: * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8 from gconvert.c, move it to gutf8.c, and export it privately. * glib/gconvert.c (g_filename_display_name): Adjust callers. * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of places to ensure error messages are valid UTF-8. (#351853, Simon Budig) 2006-08-22 Matthias Clasen * Branch for 2.12