2007-07-16 Matthias Clasen * === Released 2.12.13 === * NEWS: Updates 2007-07-09 Matthias Clasen Merge from trunk: * m4macros/glib-gettext.m4: Fix a small problem with msgfmt -c detection. (#341988, Laszlo Peter) 2007-07-07 Matthias Clasen Merge from trunk: * glib/gmarkup.c (g_markup_parse_context_end_parse): Handle all states. (#454473) 2007-07-06 Tor Lillqvist * glib/giowin32.c (g_io_win32_check): When WSAEnumNetworkEvents() signals FD_CONNECT that means that the connection attempt finished, either successfully or failed. Test explicitly whether the connnection succeeded and set either G_IO_OUT if it did, G_IO_ERR|G_IO_HUP if it failed. Make sure we never set both G_IO_OUT and G_IO_HUP simultaneously because in Unix poll(2) POLLOUT and POLLHUP are mutually exclusive. Ignore whether the caller wants to watch G_IO_HUP or not, always select for FD_CLOSE because Unix poll(2) also ignores whether POLLHUP in set the requested events bitmask or not. 2007-06-15 Sebastian Wilhelmi * docs/reference/glib/tmpl/threads.sgml: Extended the comments on those functions, that are NOOPs, before g_thread_init() has been called. (#447583) * glib/gthread.c (g_static_mutex_free): Clarified comment to remind myself, tha calling g_static_mutex_free() before g_thread_init() is safe. 2007-06-15 Cody Russell Merge from trunk: * gobject/gtype.c (g_type_class_add_private): Check for 0-sized private data. (#443869) 2007-06-11 Tor Lillqvist * glib/gwin32.c (g_win32_get_package_installation_directory) (g_win32_get_package_installation_subdirectory): Update doc comments. Mention that it is not recommeded to use the Registry features. 2007-05-25 Behdad Esfahbod * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk): Update to Markus Kuhn's updated wcwidth for Unicode 5.0. 2007-05-01 Matthias Clasen * configure.in: Bump version * === Released 2.12.12 === * configure.in: Bump version * NEWS: Updates 2007-04-27 Tor Lillqvist * glib/gstdio.c (g_mkdir): Document that the mode argument is ignored on Windows (g_stat): Document that st_mode is mostly useless on Windows. 2007-04-24 Michael Natterer Merge from trunk: * tests/gobject/paramspec-test.c: test all GParamSpecString validations with static and allocated strings. 2007-04-15 Tor Lillqvist * build: Include the build module using the svn:externals mechanism. * Makefile.am * configure: Add the references to build back. 2007-03-23 Matthias Clasen Merge from trunk: * tests/gobject/Makefile.am: Handle $RANDOM missing. (#356843, Paul Jarc) 2007-03-22 Matthias Clasen Merge from trunk: * glib/guniprop.c: Fix corner-cases of upper/lowercase conversion. (#418217, Denis Jacquerye) 2007-03-22 Chris Wilson Merge from trunk: * glib/gkeyfile.c: Track whether the last key=value pair in a group is a blank line and during to_data() only insert a new blank line betweens group in its absence. This allows the beautification of the GKeyFile and prevents newlines being inserted indefinitely. (#420686) * tests/keyfile-test.c (test_reload_idempotency): Test that after a single beautification pass, g_key_file_to_data() does not alter its input data. 2007-03-16 Matthias Clasen Merge from trunk: * glib/gbase64.c (g_base64_decode): Warn if the input is too short. (#418862, Halton Huo) 2007-03-08 Matthias Clasen * === Released 2.12.11 === * NEWS: Updates 2007-03-08 Matthias Clasen Merge from trunk: * glib/gstrfuncs.c (g_strtoll): Return negative values. (#416062) * tests/strtoll-test.c: Add more testcases. 2007-03-08 Matthias Clasen * glib/gthreadpool.c: Remove leftover debug spew. 2007-03-07 Matthias Clasen * configure.in: Bump version * === Released 2.12.10 === * tests/threadpool-test.c: Stop unused threads before the last test, to make the test terminate reliably. * NEWS: Updates 2007-03-06 Matthias Clasen Merge from trunk: * glib/gmarkup.c (g_markup_parse_context_parse): Report more accurate position for invalid UTF-8. (#350802, Simon Budig) 2007-03-06 Matthias Clasen Merge from trunk: * glib/gbase64.c: Add NULL checks to the base64 functions that take pointers. (#399611, Martyn Russell) 2007-03-06 Matthias Clasen Merge from trunk: Work with Solaris gettext (#341988, Laszlo Peter) * m4macros/glib-gettext.m4: Make GLIB_WITH_NLS define MSGFMT_OPTS if msgfmt supports -c. * po/Makefile.in.in: Use MSGFMT_OPTS when calling msgfmt. 2007-03-06 Matthias Clasen * tests/Makefile.am: Apply a patch by Loïc Minier to fix building with -Wl,-z,defs. (#149144) 2007-03-03 Ihar Hrachyshka * configure.in: Added be@latin to ALL_LINGUAS variable. 2007-02-17 Tor Lillqvist * glib/gdate.c (win32_strftime_helper): New Win32-only function. Use the wide character Win32 API to do the work of strftime(): GetThreadLocale(), GetLocaleInfoW(), GetDateFormatW() and GetTimeFormatW(). (g_date_strftime): On NT-based Windows use win32_strftime_helper() instead of strftime() to avoid codepage issues with strftime(). Unfortunately using wcsftime() would not help either. (#404832) 2007-01-24 Roozbeh Pournader * README: Remove mention of no-longer-existing PATCH keyword in bugzilla. (#396899) 2007-01-23 Matthias Clasen * glib/gutf8.c (g_utf8_get_char_validated): Clarify the behaviour is max_len is zero. (#400044, Benjamin Dauvergne) 2007-01-23 Matthias Clasen Merge from trunk: * glib/goption.c (print_help): Use bitwise & when operating on flags. (#399971, Jon Oberheide) 2007-01-19 Matthias Clasen Merge from trunk: Some file list updates (#398069, Owen Taylor) * docs/Changes-2.0.txt * docs/reference/README.cvs-commits * glib.spec.in: Remove obsolete files * tests/Makefile.am: * glib/libcharset/Makefile.am: * gobject/Makefile.am: * Makefile.am: Add some missing files to EXTRA_DIST * tests/timeloop-basic.c: Make it build * HACKING: Small updates 2007-01-18 Matthias Clasen Merged from trunk: * glib/gdate.c (g_date_set_time): Fix a typo. (#398203, Owen Taylor) 2007-01-17 Tor Lillqvist * config.h.win32.in * glib/galloca.h * glib/gbacktrace.h * glib/gwin32.c * glibconfig.h.win32.in * README.win32: More minor tweaks for Digital Mars compiler. (#346808, Serhat Sevki Dincer) 2007-01-17 Tor Lillqvist * makefile.mingw * */makefile.mingw.in: Remove from SVN. (#398069) 2007-01-17 Tor Lillqvist * glib-zip.in: DLLs are always installed in "bin" with current libtool, drop unnecessary logic to check where they are. Include also the COPYING file. 2007-01-17 Tor Lillqvist * glib/galloca.h: Use also with Digital Mars compiler on Win32. (#346808, Serhat Sevki Dincer) 2007-01-16 Matthias Clasen * configure.in: Bump version * === Released 2.12.9 === * NEWS: Updates 2007-01-16 Matthias Clasen Merge from trunk: * glib/gthread.h: * glib/gthread.c: * glib/glib.symbols: Revert an accidental ABI break by moving gettime out of the GThreadFunctions struct and making it a separate variable. (#397139, Joe Marcus Clarke) * gthread/*.c: Adapt. 2007-01-16 Tor Lillqvist * glib/gthread.c (gettime): GetSystemTimeAsFileTime() returns 100s of nanoseconds since 1601, so offset to Unix epoch (1970) and multiply by 100 to get nanoseconds which is what we want. 2005-01-15 Matthias Clasen * configure.in: Bump version * === Released 2.12.8 === * NEWS: Updates Merge from trunk: * glib/gthread.c: * gthread/gthread-posix.c: Correct the gettime calculations once more. (#395203, Chris Wilson) 2007-01-15 Tor Lillqvist * glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of hardcoding a large switch statement, just ask Windows for the ISO639 and ISO3166 codes. Tack on @Latn or @Cyrl for those languages which can alternatively be written in Latin or Cyrillic. Fixes #395419. 2007-01-12 Matthias Clasen * glib/gkeyfile.c: Rework the handling of invalid keys/groups again. We are back to being liberal about what we accept, and only reject things that would lead to non-rereadable keyfiles. * tests/keyfile-test.c: Adapt tests. 2007-01-12 Matthias Clasen * glib/gthread.c: Include windows.h and fix include order. (#394258, Kazuki Iwamoto) 2007-01-12 Matthias Clasen * configure.in: Make G_GNUC_INTERNAL a no-op for gcc 2.95. (#329031, David Schleef, Marc Brockschmidt) 2007-01-12 Matthias Clasen * gthread/gthread-posix.c: * glib/gtimer.c: * glib/gthread.c: Fix errors in the recently moved time calculations. (#395203, Chris Wilson) 2007-01-10 Matthias Clasen * configure.in: Actually link gthread against librt. (#394641, Marco Pesenti Gritti) 2007-01-10 Matthias Clasen * glib/gkeyfile.c (g_key_file_is_key_name): Grr, allow '*' in keys, too. (#394262) 2007-01-08 Matthias Clasen * gthread/gthread-posix.c (g_thread_impl_init): Don't use _SC_MONOTONIC_CLOCK unless USE_CLOCK_GETTIME is defined. (#394150) 2007-01-07 Matthias Clasen Don't link glib against libpthread. (#393812) * configure.in: Link gthread against librt, not glib itself. * glib/gthread.h: * glib/gthread.c: Add a new thread function, gettime. * glib/gtimer.c: Use gettime instead of directly working with the various system interfaces. * gthread/gthread-impl.c: * gthread/gthread-posix.c: * gthread/gthread-win32.c: Implement gettime. 2007-01-07 Matthias Clasen * m4macros/glib-2.0.m4: Use PKG_PROG_PKG_CONFIG. (#392636, Yevgen Muntyan) 2007-01-04 Behdad Esfahbod * tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2), (builtin_bit_nth_msf): Fix tests on x86_64. 2007-01-04 Matthias Clasen * configure.in: Bump version * === Released 2.12.7 === * tests/keyfile-test.c: Remove some debug leftovers. * NEWS: Updates 2007-01-03 Behdad Esfahbod * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth), (calculate_max_length), (print_entry), (print_help): Take double-width chars into consideration when computing width of a string. Also fix another bug in width computation. (#346955) 2007-01-03 Behdad Esfahbod * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use __builtin_clzl for g_bit_storage if available (#371670). * tests/Makefile.am: * tests/bit-test.c: New test, to test g_bit_* operations against naive and builtin implementations. 2007-01-02 Matthias Clasen * configure.in: Avoid warnings from running libtool --config. (#391364, Loïc Minier) 2007-01-02 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Return an error if the uri is bad. (#391370, Maciej Piechotka) 2007-01-02 Michael Natterer * configure.in * Makefile.am: remove references to build/ until a proper decision has been made what to do with it. 2007-01-01 Matthias Clasen * glib-gettextize.in: Silence autoconf warnings about datarootdir. (#391367, Loïc Minier) 2007-01-01 Matthias Clasen * glib/gkeyfile.c: Convert the recently added stricter keyfile syntax checks into critical warnings, to help apps which do bad things with key files. Note that the stricter checks will remain in place for 2.14. (#390532, Loïc Minier) * tests/keyfile-test.c: Adapt 2006-12-27 Matthias Clasen * configure.in: Use AC_CACHE_CHECK for the nl_langinfo check. (#304517, Lőrinczy Zsigmond) 2006-12-27 Matthias Clasen * glib/gunicollate.c (g_utf8_collate_key): Don't modify the current locale. (#389300) 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-20 Matthias Clasen * configure.in: Bump version to 2.12.7 * === Released 2.12.6 === * NEWS: Updates 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. 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) * configure.in: Bump version to 2.12.6 * === Released 2.12.5 === * NEWS: Updates * 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. * tests/keyfile-test.c: Add a test for sr@Latn. * 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 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) * configure.in: Make montonic clock test work again. Does AC_COMPILE_IFELSE not get confdefs ? * 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. (#386838, Marco Barisione) 2006-12-16 Matthias Clasen * configure.in: Use AC_COMPILE_IFELSE for the monotonic clock test. (#362918, Han-Wen Nienhuys, Jeremy Lainé) 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/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) 2006-12-14 Matthias Clasen * 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) 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-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. (#362328, Javier Villavicencio) 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-01 Matthias Clasen * configure.in: Bump version * === Released 2.12.4 === * NEWS: Updates * 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-10 Matthias Clasen * glib/gstdio.c (g_rename): Initialize save_errno. (#355206, 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) * Bump version * === Released 2.12.3 === * NEWS: Updates 2006-08-27 Matthias Clasen * configure.in: Fix the pthread compiler flag detection more. * configure.in: Check for clock_gettime. * glib/gtimer.c: Use Posix monotonic clocks instead of gettimeofday when available. (#336114, William Jon McCann) 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-20 Tor Lillqvist * glib/gnulib/vasnprintf.c (vasnprintf): Fix crash when printing large 64-bit values on Win32 using the %I64x format. (#351034, Neil Piercy) Wed Aug 16 13:59:07 2006 Tim Janik * tests/gobject/Makefile.am: * tests/gobject/singleton.c: added test program which demonstrates and checks singleton construction. 2006-08-15 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_get_groups): * glib/gmain.c (g_source_is_destroyed): Add Since tags. * glib/gkeyfile.c (g_key_file_get_double_list): Fix Since tag. (#351583, Brian Cameron) * configure.in: Bump version * === Released 2.12.2 === * NEWS: Updates 2006-08-08 Emmanuele Bassi * glib/gbookmarkfile.c (g_bookmark_file_remove_group) (g_bookmark_file_set_app_info): Plug a couple of leaks when removing data from a bookmark. 2006-08-05 Matthias Clasen * glib/gbookmarkfile.c (find_file_in_data_dirs): Correct the grammar of an error message. (#349792, Jakub Friedl) * glib/gkeyfile.c (g_key_file_to_data): Don't insert unnecessary newlines in keyfiles. (#349825, Chris Wilson) * glib/guniprop.c (g_unichar_toupper, g_unichar_tolower) (real_toupper, real_tolower): If a character can't be converted, don't replace it with a NUL byte, but leave it unchanged. (#348491, Nikolai Weibull) * tests/unicode-caseconv.c: Adapt to this change. * tests/unicode-caseconv.c (main): Add a comment to point out a quirk in the test data that we are working around here. 2006-07-31 Behdad Esfahbod * glib/guniprop.c (g_unichar_isxdigit): Make it only accept those characters that we accept i g_unichar_xdigit_value(), i.e. don't accept non-decimal digits. (#347842, Nikolai Weibull) 2006-07-31 Behdad Esfahbod * glib/gunidecomp.c (_g_utf8_normalize_wc): Update to reflect Unicode PR #29 (#348694, Nikolai Weibull) * tests/unicode-normalize.c (encode), (test_form): Make output more useful, reporting the unexpected output of the test. 2006-07-24 Tor Lillqvist * tests/slice-test.c: Use g_get_current_time() insted of gettimeofday(). 2006-07-22 Matthias Clasen * configure.in: Bump version * === Released 2.12.1 === * glib/gconvert.c: Fix the prototype of _g_charset_get_aliases. (#346494, Thomas Klausner) * NEWS: Updates 2006-07-21 Behdad Esfahbod * glib/gmirroringtable.h: Updated to Unicode Character Database 5.0.0. 2006-07-20 Matthias Clasen * glib/guniprop.c (real_toupper, real_tolower): Small optimization. (#348011, Nikolai Weibull) 2006-07-19 Behdad Esfahbod * glib/gunibreak.h: * glib/gunichartables.h: * glib/gunicomp.h: * glib/gunidecomp.h: Update to final Unicode Character Database 5.0.0. (#336281) 2006-07-06 Behdad Esfahbod * glib/gutils.c (g_parse_debug_string): When matching debug flag keys, ignore case and accept any of comma, colon, semicolon, space, and tab as separators. Also, match dash with underscore. 2006-07-05 Matthias Clasen * glib/gbase64.c: Fix typos in the docs. (#346660, Mark Drago) 2006-07-03 Runa Bhattacharjee * configure.in: Added Bengali India (bn_IN) in ALL_LINGUAS. 2006-07-02 Matthias Clasen * configure.in: Bump version * === Released 2.12.0 === 2006-06-30 Matthias Clasen * NEWS: Updates * configure.in: Set version to 2.12.0 2006-06-20 Matthias Clasen * glib/gtimer.c (mktime_utc): Fix an off-by-2 error in the leap year calculation. (#344905, Dan Winship) * tests/testglib.c (main): Change the test data for the g_time_val_from_iso8601 tests to expose an off-by-2 error in the leap year calculation. * configure.in: Bump version * === Released 2.11.4 === * NEWS: Updates 2006-06-16 Matthias Clasen * tests/file-test.c (test_mkstemp): Add tests. * glib/gfileutils.c (g_mkstemp): Allow the XXXXXX to occur inside the template, not just at the end. 2006-06-14 Matthias Clasen * glib/gkeyfile.c (g_key_file_to_data): Separate groups by an empty line (#344868, Christian Persch) 2006-06-14 Tor Lillqvist * glib/gutils.c (g_listenv): Add Windows notes to doc comment. 2006-06-12 Emmanuele Bassi * glib/gbookmarkfile.h: * glib/gbookmarkfile.c (g_bookmark_file_remove_item): Return a boolean instead of void. * tests/bookmarkfile-test.c (test_modify): Add a test case for g_bookmark_file_remove_item(). 2006-06-12 Matthias Clasen * Bump version * === Released 2.11.3 === * NEWS: Updates 2006-06-09 Emmanuele Bassi * glib/gbookmarkfile.c (g_bookmark_file_remove_application): Use an empty string to pass the test in set_app_info. (g_bookmark_file_move_item): Remove the old item from the look up table; return success in case of empty target. 2006-06-08 Tor Lillqvist * glib/gunicollate.c (msc_strxfrm_wrapper): Workaround for bug in strxfrm() in Microsoft's newer C runtimes. (#343919, Kazuki Iwamoto) 2006-06-05 Matthias Clasen * configure.in: Bump version * === Released 2.11.2 === * configure.in: Set interface age to 0. * NEWS: Updates * glib/gmain.c: Fix some doc formatting issues. * glib/gstrfuncs.c: Revert accidental commit. * glib/gmain.c (get_dispatch): Don't leak the dispatch struct. (#321886) * tests/strtod-test.c: Add some tests involving leading whitespace. * glib/gstrfuncs.c (g_ascii_formatd): Skip leading whitespace. (#343899, Øystein Johansen) 2006-06-01 Matthias Clasen * glib/gmain.h: * glib/gmain.c: Add three new functions, g_main_current_source, g_source_set_funcs and g_source_is_destroyed, that will be necessary to solve thread-safety issues with idles in GTK+. (#321886, Chris Wilson) 2006-06-01 Matthias Clasen * glib/giochannel.c (g_io_channel_write_chars): Avoid running in an assertion with small writes. (#343566, Chris Wilson) * tests/iochannel-test.c: Add a testcase for small writes. * glib/glib.symbols: * glib/ghash.h: * glib/ghash.c: Add g_hash_table_{remove,steal}_all to remove all nodes from a hash table. (#168538, Matt Barnes) 2006-06-01 Behdad Esfahbod * glib/gkeyfile.c (g_key_file_to_data), (g_key_file_parse_value_as_comment), (g_key_file_parse_comment_as_value): * glib/gscanner.c (g_scanner_get_token_ll): Cleanup. Use return value of g_string_free(...). (#343548, Chris Wilson) 2006-05-28 Matthias Clasen * glib/gmarkup.c (g_markup_parse_context_parse): Don't use g_str_has_{prefix,suffix} here. 2006-05-28 Matthias Clasen * glib/gmarkup.h: Add a GMarkupParseFlags flag for treating CDATA as text. * glib/gmarkup.c (g_markup_parse_context_parse): Implement it here. 2006-05-28 Matthias Clasen * tests/markups/expected-*: Output that test-markup is expected to produce when run on the valid gmarkup examples. * tests/markup-test.c: Only dump the results of the first, unchunked parse, to compare it against the expected output. * tests/run-markup-tests.sh: For valid examples, compare the output of test-markup against the corresponding expected- file. 2006-05-24 Matthias Clasen * configure.in: Don't compile timeloop on Minix. (Leonard den Ottolander) 2006-05-22 Sebastian Wilhelmi * glib/gthread.c (g_thread_init_glib): Run _g_atomic_thread_init as the first of the full fledged initializers to allow the later to potentially use atomic ints (which they currently do not). (#342563, Peter Kjellerstedt) 2006-05-16 Matthias Clasen * tests/Makefile.am: * tests/strtoll-test.c: Add tests for g_ascii_strtoll() and g_ascii_strtoull(). * glib/glib.symbols: * glib/gstrfuncs.h: * glib/gstrfuncs.c (g_ascii_strtoll): New function to parse signed 64bit integers like strtoll does. * glib/goption.c (parse_int64): Use g_ascii_strtoll(), since strtoll() is C99 and not available on some systems. (#341826, Kazuki Iwamoto) 2006-05-15 Matthias Clasen * configure.in: Bump version * === Released 2.11.1 === * NEWS: Updates 2006-05-13 Matthias Clasen * glib/grel.c: Fix several cases of deref-before-NULL-check. (#341191, Pascal Terjan) * glib/glib.symbols: * glib/goption.h: * glib/goption.c: Allow optional summary and description texts before and after the option descriptions, and add a way to translate them. (#336120, Behdad Esfahbod) 2006-05-12 Tor Lillqvist * glib/giowin32.c (g_io_win32_sock_set_flags): Implement setting/clearing G_IO_FLAG_NONBLOCK for channels attached to sockets. (#341192) (g_io_win32_unimpl_set_flags): set_flags method for the unimplemented case. 2006-05-11 Bastien Nocera * glib/goption.c: (parse_int64), (parse_arg), (free_changes_list): * glib/goption.h: * tests/option-test.c: (arg_test6), (main): add an int64 type for GOption (G_OPTION_ARG_INT64) (#341237) 2006-05-10 Sebastian Wilhelmi * glib/gthread.h, gthread/gthread-impl.c: Make the magic and location arguments to the error-checking-mutex functions const and do not write to them, as we might not own them. Clean up the error-checking-mutex code quite a bit. (#335198, Chris Wilson) * glib/gthread.c: Use g_atomic_pointer_set instead of old homegrown version now that we have it. (#335198, Chris Wilson) * gthread/gthread-posix.c, gthread/gthread-win32.c: Prevent calling into g_cond_wait resp. g_mutex_lock/unlock directly to avoid recursions into the errorcheking mutex code (and out of principle anyway). (#335198, Chris Wilson) * tests/errorcheck-mutex-test.c: Adapt to GLib coding standards. 2006-05-09 Sebastian Wilhelmi * glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved system thread identifier comparision and assignment macros from glib/gthread.c to glib/gthreadprivate.h. * glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c, glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c, glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use glib/gthreadprivate.h instead of glib/gthreadinit.h. * gthread/gthread-impl.c: Use GSystemThread instead of GThread for owner determination. (#311043, jylefort@FreeBSD.org) * tests/Makefile.am, tests/errorcheck-mutex-test: New test program to test for all checked violations. * glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c, gthread/gthread-impl.c, gthread/gthread-posix.c, gthread/gthread-win32.c: Use canonical include form for internal headers. config.h is always there. * Remove obsolete gthread/gthread-solaris.c. 2006-05-08 Matthias Clasen * tests/convert-test.c (test_one_half): Use encoding names which may work better on Solaris. (#340434, Alessandro Vesely) * tests/keyfile-test.c (test_number): Add some tests for invalid floating point numbers. * glib/gkeyfile.c (g_key_file_parse_value_as_double): Return an error for the empty string. (#339105, Morten Welinder) * glib/gscanner.c (g_scanner_config_template): Make const, noticed by Kjartan Maraas. 2006-05-06 Matthias Clasen * glib/gkeyfile.c (g_key_file_set_string_list) (g_key_file_set_locale_string_list): Fix invalid memory reads. (#340816, Nick Treleaven) 2006-05-04 Alexander Larsson * glib/gbase64.c: (g_base64_decode_step): Fix OOB write (#340538) 2006-05-03 Matthias Clasen * tests/base64-test.c: Add some more tests. * glib/gbase64.c (g_base64_decode_step): Avoid writing beyond the guaranteed lenght of the output buffer, if there is padding. * tests/base64-test.c (test_incremental): Use malloced memory instead of stack-allocated, so that MALLOC_CHECK_=2 catches the OOB write... * glib/gbookmarkfile.c (g_bookmark_file_load_from_data): Remove an overzealous return_if_fail check that causes make check to fail. 2006-05-02 Matthias Clasen * configure.in: Bump version * === Released 2.11.0 === * NEWS: Updates * tests/casemap.txt: * tests/casefold.txt: Regenerate from Unicode 5.0 data. * glib/guniprop.c: Make interval_compare static. Tue May 2 15:00:00 2006 Tim Janik * tests/gobject/deftype.c: added test code from Behdad Esfahbod, see #337128. Tue May 2 14:18:25 2006 Tim Janik * glib/goption.c (g_option_context_parse): fixed leak in short option parsing. rewrote parts of the code to be more concise to enhance readability. fixed exaggerated uses of strlen. 2006-04-28 Behdad Esfahbod * glib/guniprop.c: #include 2006-04-27 Matthias Clasen * glib/glib.symbols: Add g_unichar_iswide_cjk. * glib/guniprop.c: Add a "Since: 2.12". * NEWS: Updates 2006-04-27 Behdad Esfahbod * docs/reference/glib/glib-sections.txt, * glib/gunicode.h glib/guniprop.c: Implement g_unichar_iswide_cjk(). (#105626) 2006-04-27 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_set_description) (g_bookmark_file_set_title, g_bookmark_file_set_icon): Remove some special-casing of empty string which led to dangling pointers. (#339337, Morten Welinder) (expand_exec_line): Don't use printf() needlessly, handle trailing '%' gracefully. (#339338, Morten Welinder) (is_element_full): Silence the compiler. (g_bookmark_file_dump, bookmark_metadata_dump): (bookmark_app_info_dump): Escape strings before dumping them in xml. (#339340, Morten Welinder) 2006-04-27 Behdad Esfahbod * glib/gunibreak.h, glib/gunichartables.h: Regenerated using Unicode Character Database 5.0 beta. 2006-04-26 Matthias Clasen * glib/grand.c (g_rand_new): Don't repeat a failed fclose() call, since that invokes undefined behaviour. (Coverity) 2006-04-25 Matthias Clasen * glib/gbookmarkfile.c (is_element_full): Avoid a possible NULL dereference (found by Coverity), also avoid some pointless strdups. * tests/keyfile-test.c (test_comments): Add a test for the previous change. * glib/gkeyfile.c (g_key_file_lookup_group_node): Remove redundant code. (g_key_file_get_group_comment): Don't dereference before checking for NULL. (#338572, Coverity, Pascal Terjan) 2006-04-19 Matthias Clasen * glib/gdataset.c: Add some missing Since: 2.8 tags. 2006-04-19 Tor Lillqvist * glib/gatomic.c: Adapt to the changed prototype of InterlockedCompareExchange() in newer SDKs. Use InterlockedCompareExchangePointer() when applicable. (#155884, John Ehresman) 2006-04-18 Matthias Clasen * glib/gkeyfile.h: * glib/glib.symbols: * glib/gkeyfile.c: Add api to get and set doubles and lists of doubles. (#164719, Maurizio Monge, Dom Lachowicz) * tests/keyfile-test.c: Add tests for new api. * glib/gkeyfile.c (g_key_file_add_group): Accept duplicate groups. (#157877, Sebastien Bacher) * tests/keyfile-test.c: Add tests for duplicate key and duplicate group handling. 2006-04-17 Matthias Clasen * glib/gcompletion.c (g_completion_complete_utf8): Make passing NULL for new_prefix work as documented. (#338845, Yevgen Muntyan) * tests/completion-test.c: Test that passing NULL for new_prefix in g_completion_complete_utf8 works. 2006-04-17 Kjartan Maraas * configure.in: Remove obsolete entry for no_NO. * po/no.po: And the translation. 2006-04-16 Matthias Clasen * glib/gdate.c (g_date_fill_parse_tokens): Avoid an array overrun. (Coverity, fix by Pascal Terjan) 2006-04-12 Bastien Nocera reviewed by: Matthias Clasen * glib/gconvert.c: add more details about which RFC is concerned when using g_filename_to_uri (#337553) 2006-04-12 Matthias Clasen * glib/goption.c (parse_arg): Add an assert to make it clear when value can be NULL. 2006-04-07 Martyn Russell * tests/threadpool-test.c: (test_thread_stop_unused): Removed an assertion which can fail and is not a critical test. 2006-04-07 Hans Breuer * glib/makefile.msc.in : added gbase64.obj and derive the static libs name from auto* variables * glib/makefile.msc.in : link user32.lib for MessageBox() 2006-04-07 Martyn Russell * glib/gasyncqueue.[ch]: Added private API _g_async_queue_get_mutex so that g_thread_pool_free() can use the async queue mutex. * glib/gthreadpool.c: Make sure g_thread_pool_stop_unused_threads() actually stops unused threads and global limits (like max idle time and max unused threads) can be set without creating a thread pool first. Fixed #335215 (patch from Chris Wilson). * tests/threadpool-test.c: Added two new tests, tests setting global limits before creating a thread pool. The second test makes sure unused threads are actually stopped when using the g_thread_pool_stop_unused_threads(). 2006-04-05 Matthias Clasen * glib/gnulib/vasnprintf.c (vasnprintf): Make long long printing work if snprintf is not available. (#332841, Michael McDonald) 2006-04-05 Behdad Esfahbod * tests/option-test.c: Check the return value of g_get_prgname for NULL before passing to strcmp. * tests/slice-test.c: Report the correct name in Usage summary. 2006-04-05 Matthias Clasen * tests/run-collate-tests.sh: Fix up shell script. * tests/option-test.c (arg_test5): Skip the test if setting the locale fails. (empty_test1): Reset prgname before the test. * tests/Makefile.am: Arrange for run-bookmark-test.sh to be run by make check. * tests/utf8-pointer.c: * tests/tree-test.c: Silence warnings. 2006-04-04 Matthias Clasen * glib/glib.symbols: * glib/gbase64.[hc]: Add G_GNUC_MALLOC where appropriate, use glib types. 2006-04-04 Alexander Larsson * glib/Makefile.am: * glib/gbase64.[ch]: * glib/glib.symbols: Add base64 encode/decode functions * glib/glib.h: Include gbase64.h * tests/Makefile.am: * tests/base64-test.c: Tests for base64 functions 2006-04-04 Matthias Clasen * glib/gdate.c: Move short_month_names and long_month_names to bss. * glib/gspawn-win32.c (g_spawn_error_quark): * glib/gspawn.c (g_spawn_error_quark): * glib/gshell.c (g_shell_error_quark): * glib/gmarkup.c (g_markup_error_quark): * glib/goption.c (g_option_error_quark): * glib/gkeyfile.c (g_key_file_error_quark): * glib/giochannel.c (g_io_channel_error_quark): * glib/gfileutils.c (g_file_error_quark): * glib/gconvert.c (g_convert_error_quark): * glib/gbookmarkfile.c (g_bookmark_file_error_quark): * glib/gthread.c (g_thread_error_quark): No point in making the error path fast by caching quarks. * glib/gbookmarkfile.c: Make the parser struct const. 2006-04-04 Behdad Esfahbod * glib/gbookmarkfile.c: Fix accidentally broken build. 2006-04-03 Matthias Clasen * glib/gbookmarkfile.c: Don't include sys/time.h (#337027, Kazuki IWAMOTO) 2006-03-31 Tor Lillqvist * glib/gstdio.c (g_remove): Revert change below. It wasn't a good idea after all, says the original bug reporter. See bug for discussion. 2006-03-30 Tor Lillqvist * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove() fails with errno set to ENOENT, to leave errno set to EACCESS if that is the problem. (#334799, Yevgen Muntyan) 2006-03-30 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync the parameter names with the .h files, otherwise gtk-doc misbehaves. 2006-03-27 Emmanuele Bassi * tests/.cvsignore: Add bookmarkfile-test to the ignored files. 2006-03-27 Emmanuele Bassi * tests/Makefile.am: * tests/bookmarkfile-test.c: * tests/run-bookmark-test.sh: * tests/bookmarks/*.xbel: Add test suite for GBookmarkFile. 2006-03-27 Emmanuele Bassi * docs/reference/glib/glib-docs.sgml: * docs/reference/glib/glib-sections.txt: * docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation for GBookmarkFile to GLib's reference guide. 2006-03-27 Emmanuele Bassi * glib/glib.h: * glib/gbookmarkfile.h * glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files containing bookmarks stored using the Desktop Bookmark specification. Fixes bug #327662. * glib/glib.symbols: * glib/Makefile.am: * glib/makefile.msc.in: * glib/makefile.mingw.in: Build glue for GBookmarkFile. 2006-03-27 Dom Lachowicz * tests/option-test.c: Copy-and-paste error slipped into test5. Enable test5, as per Matthias' comments in bug 329548#c11. Change a gboolean to an int. Fixes bug #329789. * configure.in: Bump version number to 2.11.0 2006-03-27 Matthias Clasen Add support for floating point numbers to goption. (#329548, Behdad Esfahbod, patch by Antoine Dopffer and Dom Lachowicz) * glib/goption.h: * glib/goption.c: Support double arguments. * tests/option-test.c: Test double arguments.` 2006-03-26 Matthias Clasen * glib/goption.c (g_option_context_new): Improve the description of parameter_string in the docs. (#336085, Claudio Saavedra) 2006-03-24 Martyn Russell * glib/gthreadpool.c: Updated the documentation to explain that when the maximum threads is > 1 the sort functionality is not 100% accurate due to the ramdom nature of the scheduler choosing which threads to execute. Fixes bug #334943. * tests/threadpool-test.c: Disabled the debugging by default and fixed the sort test to set the maximum threads to 1 to guarantee the thread entry function is called in order. 2006-03-23 Matthias Clasen === Branch for 2.10 ===