2008-06-12 Matthias Clasen * === Released 2.17.1 === 2008-06-12 Matthias Clasen * glib/gtestutils.c: Documentation fixups 2008-06-11 Matthias Clasen * glib/glist.c: Tiny doc fix 2008-06-11 Matthias Clasen * NEWS: Updates 2008-06-11 Behdad Esfahbod Bug 503071 – Application direction changes to right to left even if theres no translation * glib/gi18n-lib.h: * glib/glib.symbols: * glib/gstrfuncs.h: * glib/gstrfuncs.c: Add new functions g_dgettext() and g_dngettext(). * glib/gutils.c (glib_gettext): * glib/gfileutils.c (g_format_size_for_display): * glib/goption.c (dgettext_swapped): Use the new functions. 2008-06-11 Matthias Clasen Bug 502511 – g_assert_cmphex prints invalid message * glib/gtestutils.c (g_assertion_message_cmpnum): Actually print hex numbers in hex. Pointed out by Tor Lillqvist 2008-06-11 Matthias Clasen Bug 338162 – [PATCH] Use po/LINGUAS * po/LINGUAS: New file * po/Makefile.in.in: Dist LINGUAS * configure.in: Use po/LINUAS Patch by Thomas Andersen 2008-06-11 Matthias Clasen Bug 314453 – Nautilus crashes in Solaris when browsing the attached file * glib/gunicollate.c (g_utf8_collate_key): Handle strfxrm returning -1 a little better. Problem pointed out by Takao Fujiwara 2008-06-11 Matthias Clasen Bug 529321 – make check fails in glib/pcre * glib/pcre/Makefile.am: include Makefile.decl to fix 'make check'. Patch by Hiroyuki Ikezoe 2008-06-11 Tor Lillqvist * glib/giowin32.c: g_win32_error_message() works fine for the Winsock WSA* error codes, too, so drop the winsock_error_message() function. 2008-06-11 Matthias Clasen Bug 455215 – g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD fallback to $HOME/Desktop if xdg-user-dirs is not in use * glib/gutils.c (g_get_user_special_dir): Improve the docs. Proposed by Luca Ferretti 2008-06-11 Matthias Clasen Bug 498732 – g_key_file_to_data cannot fail * glib/gkeyfile.c (g_key_file_to_data): Improve the docs. Proposed by Christian Persch 2008-06-11 Ross Burton Bug 511367 - add g_file_make_directory_with_parents. * gio/gfile.c: * gio/gfile.h: * gio/gio.symbols: Add g_file_make_directory_with_parents. 2008-06-11 Sebastian Dröge Bug 531900 – Use __builtin_offsetof for G_STRUCT_OFFSET if building with gcc 4.0 or newer * glib/gmacros.h: Use __builtin_offsetof for G_STRUCT_OFFSET if building with gcc 4.0 or newer. 2008-06-11 Tor Lillqvist * glib/gmain.c * glib/gspawn.c: Clarify what a "child pid" is in the doc comments. 2008-06-10 Matthias Clasen Bug 536158 – also bump GHashTable version when a node is removed via g_hash_table_iter_remove()/g_hash_table_iter_steal() * glib/ghash.c (iter_remove_or_steal): Bump the hash table version. Patch by Jean-Yves Lefort 2008-06-07 Tor Lillqvist * glib/gstdio.c (g_access): Define X_OK if necessary (MSVC). 2008-06-02 Yevgen Muntyan Bug 531403 – g_utf8_collate broken on Mac. * glib/gunicollate.c: (g_utf8_collate): use UCCompareTextDefault; (collate_key_to_string), (carbon_collate_key_with_collator), (carbon_collate_key), (carbon_collate_key_for_filename): new functions using Carbon API to get collate key for g_utf8_collate_key() and g_utf8_collate_key_for_filename(); (g_utf8_collate_key), (g_utf8_collate_key_for_filename): use those. 2008-05-30 Michael Natterer Bug 535628 - test/patterntest.c still includes gpattern.h directly. * tests/patterntest.c: don't include "glib/gpattern.h" directly. Patch from Hiroyuki Ikezoe. 2008-05-30 Tor Lillqvist Bug 535625 - alias.h:2648: error: 'utime' undeclared here (not in a function) * glib/glib.symbols: Move g_utime inside #if !defined(G_OS_UNIX) || defined(G_STDIO_NO_WRAP_ON_UNIX). 2008-05-30 Tor Lillqvist * glib/gstdio.c (g_access) [Win32]: Mask out X_OK to avoid problem on Vista. X_OK was just ignored by access() in earlier Microsoft C libraries. (Which is fine as executability has little meaning on Windows.) The one on Vista returns an error if X_OK is passed. 2008-05-29 Tor Lillqvist * glib/gstdio.h * glib/gstdio.c: Add g_utime(). No need to include in gstdio.h, just use a forward struct declaration. * glib/glib.symbols: Add it. 2008-05-29 Tor Lillqvist * glib/gnulib/printf-args.c (printf_fetchargs): wint_t is short on Windows, and gcc warns: "wint_t is promoted to int when passed through ... (so you should pass int not wint_t to va_arg)." And indeed g_print("%C", L'a') crashes. So do as gcc says then. 2008-05-28 Michael Natterer * configure.in: add G_DISABLE_SINGLE_INCLUDES to CPPFLAGS globally. * glib/tests/option-context.c * glib/tests/testing.c * tests/testingbase64.c: don't include 2008-05-27 Matthias Clasen * configure.in: Bump version * === Released 2.17.0 === 2008-05-27 Matthias Clasen * README.in: Add a note about G_DISABLE_SINGLE_HEADERS. * NEWS: Updates 2008-05-27 Matthias Clasen * tests/casemap.txt: * tests/casefold.txt: Update for Unicode 5.1 2008-05-27 Matthias Clasen * Revert the patch for bug 527214 and related changes. GTimer is supposed to work without threads. 2008-05-27 simon.zheng * configure.in: Fix #533369. Check whether memeber statvfs.f_basetype available or not. 2008-05-27 Matthias Clasen * glib/pcre/*: Update to PCRE 7.7 2008-05-26 Matthias Clasen * glib/gchecksum.c: Add Since: tag to g_checksum_reset * glib/glib.symbols: Add g_checksum_reset 2008-05-25 Matthias Clasen Bug 534137 – Typo in g_spawn_async_with_pipes doc * glib/gspawn.c: Fix a typo in the docs, pointed out by Ted Percival. 2008-05-25 Tor Lillqvist Bug 534319 - GLib's .pc files could use Libs.private * glib-2.0-uninstalled.pc.in * glib-2.0.pc.in * gmodule-2.0-uninstalled.pc.in * gmodule-2.0.pc.in * gmodule-export-2.0.pc.in * gmodule-no-export-2.0.pc.in: Move ICONV_LIBS and G_MODULE_LIBS to Libs.private. 2008-05-24 Matthias Clasen * glib/gfileutils.c (g_file_open_tmp): Small documention addition. 2008-05-22 10:49:37 Tim Janik * glib/gmacros.h: implement G_STMT_START and G_STMT_END with do{}while(0), which is believed to be widely portable, fixes: Bug 519026 - G_STMT_START/G_STMT_END test a non-existent preprocessor symbol 2008-05-20 Behdad Esfahbod Bug 501651 – Update glib/libcharset * configure.in: * glib/libcharset/Makefile.am: * glib/libcharset/README: * glib/libcharset/codeset.m4: * glib/libcharset/config.charset: * glib/libcharset/glibc21.m4: * glib/libcharset/libcharset-glib.patch: * glib/libcharset/libcharset.h: * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases), (_g_locale_charset_raw): * glib/libcharset/localcharset.h: * glib/libcharset/make-patch.sh: * glib/libcharset/ref-add.sin: * glib/libcharset/ref-del.sin: * glib/libcharset/update.sh: Update libcharset to the one shipped with libiconv-0.12. 2008-05-20 Behdad Esfahbod Bug 459905 – Bug in wcwidth data Bug 534085 – g_unichar_iswide_cjk() has a totally wrong table * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk): Regenrate wide and wide_cjk tables from Unicode 5.1.0 data directly. Not using Markus Kuhn's tables anymore. 2008-05-20 14:31:18 Tim Janik * reverted recent unapproved changes by Yair Hershkovitz, regarding: Bug 503071 – Application direction changes to right to left even if theres no translation. 2008-05-20 Tor Lillqvist * configure.in: Don't need memory barriers when using a non-gcc compiler on Windows either. 2008-05-19 Tor Lillqvist * glib/gdir.c: Include the dirent.h and wdirent.c from ../build/win32/dirent directly here when compiling with MSVC and without HAVE_DIRENT_H. 2008-05-19 Hans Breuer * glib/makefile.msc : added gi18n.c 2008-05-19 Tor Lillqvist * glib/Makefile.am: #define HELPER_CONSOLE in gspawn-win32-helper-console.c * glib/gspawn-win32-helper.c: Compile a main() instead of WinMain() if HELPER_CONSOLE is defined. MSVC insists on a console application having a main(). 2008-05-18 Matthias Clasen Bug 527214 – g_timer_elapsed() returns random values. * glib/gtimer.c (g_timer_new()): Print warning if g_thread_init() has not been called yet. Patch by Mathias Hasselmann 2008-05-12 Jeffrey Stedfast * glib/gchecksum.c (g_checksum_reset): New function to reset the state of a GChecksum. (g_checksum_new): Call g_checksum_reset() instead of duplicating code. 2008-05-17 Matthias Clasen Bug 528667 – Typos in testing module documentation * glib/gtestutils.c: Fix typos in the documentation. 2008-05-17 Tor Lillqvist * glib/giowin32.c: Make debugging printout more compact and add more information to it. No changes to actual functionality. * glib/gmain.c: Improve debugging printouts. When G_MAIN_POLL_DEBUG is defined, we check for an environment variable of the same name to decide whether to print out debugging information or not. G_MAIN_POLL_DEBUG is always defined on Windows as there is more often a need to debug this stuff there. On Unix the definition has to be uncommented (or done on the compile command line). 2008-05-17 Tor Lillqvist * build: Don't include the "build" module with svn:externals any longer. Instead add the still relevant directories and files from it for real here in GLib. 2008-05-17 Yair Hershkovitz * glib/glib.symbols: * glib/gi18n.h: Added g_disable_setlocale(). * glib/gi18n.c: Added g_disable_setlocale() API to disable setting the locale in g_i18n_init(). Dont disable translations if textdomain was not set before calling g_i18n_init(). Dont disable translations if the locale is "C". 2008-05-16 Tor Lillqvist * config.h.win32.in: Update to match the configure-produced one. 2008-05-14 Michael Natterer * glib/gatomic.c: #include "config.h" before using G_ATOMIC_ARM. 2008-05-13 Kjartan Maraas * glib/gi18n.c: #include to fix the build. 2008-05-12 Yair Hershkovitz * glib/gi18n.c (g_i18n_init): Coding convention fix. Space between a function name and its opening parenthesis. 2008-05-12 Tor Lillqvist * glib/glib.symbols: Add g_i18n_init. 2008-05-12 Tor Lillqvist Bug 530457 - G_USER_DIRECTORY_DOWNLOAD folder improperly mapped * glib/gutils.c (load_user_special_dirs): When running on Vista or later, use SHGetKnownFolderPath() to get the FOLDERID_Downloads folder for G_USER_DIRECTORY_DOWNLOAD, and FOLDERID_Public for G_USER_DIRECTORY_PUBLIC_SHARE. 2008-05-11 Yair Hershkovitz Bug 503071 - Application direction changes to right to left even if theres no translation. * glib/gi18n.c: g_i18n_init() for initializing the glib i18n, checking if a translation is available for the calling app. wrappers for gettext, dgettext and dpgettext to check first if the application should be translated. * glib/gi18n.h: symbol declaration for gettext wrappers. * glib/gi18n-lib.h: include gi18n.h instead of libintl.h. * glib/gstrfuncs.c: moved g_dpgettext() to glib/gi18n.c. * glib/gutils.c: use g_dgettext() instead of dgettext(). * glib/glibintl.h: include gi18n.h. * glib.symbols: added gettext wrappers. * glib/Makefile.am: added gi18n.c. 2008-05-05 Michael Natterer * glib/glib.h: #define __GLIB_H_INSIDE__ around including everything. * glib/*.h: check for that define instead of __G_LIB_H__ if G_DISABLE_SINGLE_INCLUDES is defined. * glib/gdatasetprivate.h: #include instead of 2008-05-02 13:24:13 Tim Janik * glib/gmain.c: renamed GMainDispatch.dispatching_sources to be more descriptive and distinguishable within the source file. 2008-04-21 Tor Lillqvist Bug 528752 - Win32 build and SSL not working This bug report against libsoup points out an issue with the use of bitfields in the GIOChannel struct that should really be taken care of here in GLib. * configure.in: Add Autoconf variable GLIB_EXTRA_CFLAGS which will contain the -mms-bitfields flag on Windows. * glib-2.0.pc.in: Add it to Cflags. 2008-04-21 Tor Lillqvist * configure.in * */Makefile.am: More work on enabling static building on Windows. When building statically: Also define GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the variables in gparamspecs.h get declared without any dllimport/dllexport decorations. Don't install .def files which obviously have no meaning for static libraries. Don't create MS import libraries. Don't do any resource object files. 2008-04-18 17:40:58 Tim Janik * tests/testglib.c: fixed gstdio.h include. * tests/Makefile.am: properly list testglib.c SOURCES. 2008-04-17 Emmanuele Bassi * glib/gchecksum.c: (sha_byte_reverse): Use the macro GLib provides for byte-swapping as it can be optimized. (g_checksum_update): Fix a compiler warning. 2008-04-15 Mukund Sivaraman * gio/gfile.c: Fixed typos in gtk-doc comments. 2008-04-10 Mathias Hasselmann Bug 519137 – g_slice_dup macro needs cast for 64-bit platform * glib/gslice.h (g_slice_copy): Apply type casts needed for proper compilation on 64-bit platforms. 2008-04-09 Federico Mena Quintero * glib/gbookmarkfile.c (bookmark_metadata_free): Don't leak the apps_by_name hash table if the applications list is empty. 2008-04-08 Behdad Esfahbod * glib/gunicode.h: Add ISO 15924 code comments for new scripts. 2008-04-07 Matthias Clasen Bug 491554 – Update to Unicode 5.1.0 * glib/gunichartables.h: * glib/gunicode.h: * glib/gunibreak.h: * glib/gmirroringtable.h: * glib/gscripttable.h: * glib/gen-script-table.pl: Update to Unicode 5.1.0. Patch by Behdad Esfahbod 2008-04-07 Matthias Clasen Bug 526619 – make test-report crash * glib/gtester.c: Allocate enough space for argv. Patch by Hiroyuki Ikezoe 2008-04-04 Matthias Clasen * glib/gmain.c: Make the fix for bug 448943 work. 2008-04-04 Tor Lillqvist * configure.in: Make sure we don't build both shared and static at the same time on Windows. Put a #define for GLIB_STATIC_COMPILATION into glibconfig.h in the static case, so that the use of variables from libglib gets the GLIB_VAR macro in gtypes.h automatically correct. This means that a shared and static build of GLib can't be installed in the same prefix on Windows, which sucks a bit. But with variables in the GLib API, there isn't much we can do otherwise. The alternative would be to force the developer who compiles against a statically built GLib to use -DGLIB_STATIC_COMPILATION. * glibconfig.h.win32.in: Define GLIB_STATIC_COMPILATION here also, if needed. 2008-04-03 Tor Lillqvist * configure.in: Don't enforce shared library build only on Windows. It might well make sense to build static libraries in some use cases. * glib/gutils.c: Don't compile the DllMain if building libglib statically. Also in that case don't return NULL from _glib_get_installation_directory(), but return the installation directory of the program's .exe file. 2008-04-03 Tor Lillqvist Bug 525972 - UCS-4 not in the new win_iconv implementation * glib/win_iconv.c: Add UCS-4. Also add spelling of UCS-2 without the hyphen. 2008-04-03 Matthias Clasen Bug 448943 – g_timeout_add_seconds() problems * glib/gmain.c (g_timeout_set_expiration): Prevent expiration time going negative. Reported by Cody Russell, analyzed by Olivier Crete, patch by Sjoerd Simons. 2008-04-03 Matthias Clasen Bug 525674 – A typo in gmarkup.c * glib/gmarkup.c (g_markup_parse_context_get_element_stack): Fix the docs, reported by Hiroyuki Ikezoe 2008-04-03 Matthias Clasen Bug 525732 – Error in documentation for g_list_first * glib/glist.c (g_list_first): Fix the docs, reported by Salvatore Iovene 2008-04-02 Tor Lillqvist Bug 524314 - g_convert() on Win32 implicitly converts full width alphanumerics into half width * glib/win_iconv.c: Update from Yukihiro Nakadaira. Use WC_NO_BEST_FIT_CHARS flag for WideCharToMultiByte() unless the //translit flag was suffixed to the codeset name. * glib/gconvert.c: Include win_iconv.c earlier so that its definition of WINVER before it includes is used. 2008-03-31 Tor Lillqvist * glib/gmain.c (g_poll): Improve fix for #525192 below: Use SleepEx() so that the sleep is alertable. Thanks to John Ehresman. 2008-03-31 Tor Lillqvist * glib/gwin32.c (g_win32_get_package_installation_directory_of_module): Fix Cygwin breakage. Patch by Lieven van der Heide. 2008-03-31 10:39:17 Tim Janik * glib/gutils.h: reapply inlining fix from r6333 to fix: Bug 522292 – Gives warnings in glib/gutils.h with GCC in C99 mode and again: Bug 315437 – extern inline -> static inline 2008-03-31 Tor Lillqvist Bug 525192 - 100% CPU if run main loop with no IO sources * glib/gmain.c (g_poll) [Win32]: Patch by Neil Roberts. 2008-03-30 Matthias Clasen * glib/gtester.c: Don't use ARG_MAX. (#522335, patch by Samuel Thibault, adapted by Sebastian Dröge) 2008-03-30 Matthias Clasen * glib/gmacros.h: Add macros wrapping the gcc alloc_size function attribute. (#523019, Rodrigo Moya) * glib/gmem.h: * glib/gslice.h: * glib/gstrfuncs.h: Use the new attribute where appropriate. 2008-03-30 Matthias Clasen * glib/glibintl.h: * glib/gstrfuncs.c: * glib/gutils.c: Simple fixes to help building GLib on embedded systems without NLS. (#524350, Peter Kjellerstedt) 2008-03-30 Matthias Clasen * glib/ghash.c: Fix the build with -DG_DISABLE_ASSERT. (#525060, Arfrever Frehtes Taifersar Arahesis) 2008-03-30 Matthias Clasen * glib/gthread.h: Replace occurrances of G_GNUC_PRETTY_FUNCTION by G_STRFUNC. (#524344, Peter Kjellerstedt) 2008-03-30 Matthias Clasen * glib/gtestutils.c: Fix a doc typo. (#524742, Hiroyuki Ikezoe) 2008-03-22 Claudio Saavedra Bug 523877 – gbookmarkfile: avoid using g_string_append_printf() and other optimizations * glib/gbookmarkfile.c: (bookmark_metadata_dump), (bookmark_item_dump), (g_bookmark_file_dump), (expand_exec_line): Replace all calls to g_string_append_printf with g_strconcat () or g_string_append () where appropriate, to reduce the file creation time. Also, use g_string_sized_new () with an appropriate buffer size instead of g_string_new (NULL), to reduce time spent in memory reallocation. (#523877, Claudio Saavedra, Emmanuele Bassi) 2008-03-22 Emmanuele Bassi Bug 518160 - replace two g_strdup_printf calls in GBookmarkFile * glib/gbookmarkfile.c (is_element_full): Compare the fragments instead of building two strings; this avoids two g_strdup_printf() per namespaced element enountered. (#518160, Felix Riemann) 2008-03-20 Alexander Larsson * configure.in: Final fixes for struct statfs.f_fstypename checks (OpenBSD). (#521045) Patch from ephraim_owns@hotmail.com 2008-03-19 Tor Lillqvist Bug 523298 - win_iconv can't convert from UTF-8 to GB18030 (or vice versa) * glib/win_iconv.c: Fixes for code page 54936 (GB18030) (mbtowc_flags): New function. Check if a code page is one of those for which the dwFlags parameter to MultiByteToWideChar() must be zero. Return 0 or MB_ERR_INVALID_CHARS. (mbcs_mblen): New function for multi-byte (more than two bytes for some characters) code pages. Only handles 54936 for now. (make_csconv): Use it for 54936. (kernel_mbtowc): Use mbtowc_flags(). 2008-03-18 Sebastian Dröge Bug 522292 - Gives warnings in glib/gutils.h with GCC in C99 mode * glib/gutils.h: Use "__attribute__ ((__gnu_inline__))" for inlining if either __GNUC_STDC_INLINE__ or __GNUC_GNU_INLINE__ are defined. In gcc version prior to 4.3 no correct C99-inline was implemented which has semantic differences to GNU inline. 2008-03-16 Tor Lillqvist * configure.in: Don't bother defining Autoconf variables for glib.def, gmodule.def, gobject.def and gthread.def when this can be handled easily in */Makefile.am which are the only files that use them. Remove also TESTGMODULE_EXP which isn't used at all. * glib/Makefile.am: Corrsponding change. 2008-03-14 Michael Natterer * glib/*.h: make it possible to disable single-file includes by defining G_DISABLE_SINGLE_INCLUDES when building against GLib. Approved by Tim Janik. * glib/glib.h: include . * glib/gi18n.h * glib/gi18n-lib.h * glib/gprintf.h: include so the above works when these files are included without including first. 2008-03-14 Alexander Larsson * configure.in: Add required includes for f_fstypename member check. 2008-03-14 Alexander Larsson * configure.in: Added checks for FEN (Solaris File Event Notification) 2008-03-13 Tor Lillqvist * glib-zip.in: Add lib/gio-2.0.lib and lib/gio-2.0.def. 2008-03-12 Tor Lillqvist * configure.in: Expand gio/win32/Makefile. 2008-03-12 Matthias Clasen * configure.in: Bump version to 2.17.0 * ChangeLog.pre-2-16: rotate ChangeLog * === branch for 2.16 ===