2004-11-29 Matthias Clasen * glib/Makefile.am: Use the perl found by configure. (#149826, Morten Welinder) Sun Nov 28 13:13:56 2004 Manish Singh * glib/abicheck.sh: filter G_GNUC before PRIVATE so $ is still true. * tests/utf8-validate.c: cast pointer math to gint for error print message. Sun Nov 28 12:07:29 2004 Manish Singh * tests/utf8-validate.c: minor comment fix. 2004-11-28 Matthias Clasen * glib/gconvert.h: * glib/gkeyfile.h: * glib/gmem.h: * glib/gstrfuncs.h: * glib/gunicode.h: * glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate. * glib/glib.symbols: Add G_GNUC_MALLOC annotations. * glib/gmacros.h (G_GNUC_MALLOC): Add a macro for __attribute__((__malloc__)). (#61780) 2004-11-28 Tor Lillqvist * glib/gutils.[hc] * glib/glib.symbols: [Win32] Make also g_get_user_name() and g_get_real() name return UTF-8. As for the similar changes to fix #101792, for DLL ABI stability we use preprocessor defines to get the new UTF-8 versions, and keep the old names for versions returning strings in the system codepage. Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8 as was intended in the fix for bug #101792. (#159664, noticed by Robert Ögren) 2004-11-28 Matthias Clasen * glib/gmarkup.c: Optimizations; don't scan the entire text in find_current_text_end(), split unescape_text() into multiple functions. (#159001, Havoc Pennington) 2004-11-27 Matthias Clasen * glib/gspawn.c (g_spawn_async_with_pipes): Update the @flags documentation with references to GChildWatch and g_spawn_close_pid(). (#136255, noted by Owen Taylor) 2004-11-26 Matthias Clasen * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't access invalid memory address if p wasn't increased. (#159557, Frederic Crozat) 2004-11-25 Matthias Clasen * tests/strtod-test.c (main): Add a testcase for the previous fix. * glib/gstrfuncs.c (g_ascii_strtod): Make it work again for floats starting with a decimal point, like .75 (#156421, Hans Breuer) Thu Nov 25 14:02:43 2004 Manish Singh * glib/abicheck.sh: filter out G_GNUC stuff when doing the compare. * glib/gmessages.c (g_assert_warning): call abort() at the end, so gcc doesn't warn. 2004-11-25 Kjartan Maraas * configure.in: Add «nb» to ALL_LINGUAS. 2004-11-24 Tor Lillqvist * glib/gwin32.c (g_win32_error_message, get_package_directory_from_module, g_win32_get_package_installation_directory, g_win32_get_package_installation_subdirectory): Use wide character API when available. Document that string parameters and return values are in UTF-8. 2004-11-24 Matthias Clasen * glib/gutf8.c: Replace g_utf8_validate() with an optimized version, and clarify the docs a bit. (#159131, Owen Taylor) * tests/Makefile.am (test_programs): Add utf8-validate. * tests/utf8-validate.c: Unit tests for g_utf8_validate(). 2004-11-23 Matthias Clasen * glib/goption.h: Don't mark g_option_error_quark() as const, to be consistent with all the other error_quark functions. (technically they are const, but since these are called only in error paths, giving the compiler better optimization opportunities doesn't matter much) 2004-11-23 Matthias Clasen Fix a problem with the PLT reduction changes which caused the internal aliases to lose all attributes. * glib/glib.symbols: Add attribute annotations. * glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE. * glib/Makefile.am (glib.def): Strip attribute annotations, but keep PRIVATE. 2004-11-21 Hans Breuer * **/makefile.msc : updated 2004-11-16 Matthias Clasen * m4macros/glib-2.0.m4 (AM_PATH_GLIB_2_0): Support gmodule-no-export. * Makefile.am (EXTRA_DIST): * configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in * gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't need it. (#125627, Owen Taylor) 2004-11-17 Matthias Clasen * glib/gkeyfile.c: Define S_ISREG() on windows, since it is not present there. (#158469, Kazuki IWAMOTO) 2004-11-15 Matthias Clasen * glib/gkeyfile.c (g_key_file_load_from_fd): Use S_ISREG(), since S_IFMT and S_IFREG are apprarently missing on some systems (they are SUS, but not Posix). (#158263) 2004-11-12 Matthias Clasen * configure.in: Bump version. * === Released 2.5.6 === 2004-11-11 J. Ali Harlow * gobject/Makefile.am: * glib/Makefile.am (gtk.def): Use embedded tab rather than '\t' escape sequence. (#157951) 2004-11-10 Tor Lillqvist * glib/gconvert.c (g_get_filename_charsets): Fix typo in doc comment. 2004-11-10 Matthias Clasen * NEWS: Updates Mon Nov 8 10:45:50 2004 Manish Singh * glib/gasyncqueue.c * glib/ghook.c * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually return the passed in pointer. 2004-11-08 Matthias Clasen * glib/gnode.h (enum GTraverseFlags): Add G_TRAVERSE_LEAVES and G_TRAVERSE_NON_LEAVES as alternative names for G_TRAVERSE_LEAFS and G_TRAVERSE_NON_LEAFS, which are grammatically brutal. (#138853, Morten Welinder) * glib/gasyncqueue.[hc]: * glib/ghook.[hc]: * glib/gmain.[hc]: * glib/giochannel.[hc]: Make g_io_channel_ref(), g_main_context_ref(), g_hook_ref(), g_async_queue_ref() return the passed in pointer. (#151663, Manish Singh) * glib/gmain.c: Initialize child_watch_count to 1, so that we don't miss the very first child if it exits before we set up the child watch. In that case we had previously source->count == child_watch_count == 0, causing g_child_watch_check() to skip the waitpid() call. (#154827, Gustavo Carneiro) * glib/gmain.c (g_child_watch_source_init_single) (g_child_watch_source_init_multi_threaded): Use sigaction() instead of signal(). (#136867, Jonas Jonsson, patch by Archana Shah) 2004-11-07 Matthias Clasen * glib/gutils.c (g_get_any_init): Work around an bug in Mac OS < 10.3. (#156446, Dave MacLachlan) 2004-11-06 Tor Lillqvist * glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL define to the same place where it is in a configure-generated glibconfig.h 2004-11-05 Matthias Clasen * tests/strtod-test.c: Portability fixes and extra sanity checks. (#157453, Morten Welinder) 2004-11-04 Matthias Clasen * glib/gstrfuncs.c (g_ascii_strtod): Handle numbers like 1e1, nan, -infinity. Also try harder to preserve errno. (#156421, Morten Welinder) * tests/strtod-test.c: Add testcases. 2004-11-04 Tor Lillqvist * glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE, to reverse the sense of a G_OPTION_ARG_NONE (boolean) option. * glib/goption.c (parse_arg): Obey the above flag. * glib/gconvert.c (g_filename_display_name): Document that the result is guaranteed to be non-NULL. * glib/gfileutils.c (get_contents_stdio, get_contents_regfile, get_contents_posix, get_contents_win32, g_file_open_tmp, g_file_read_link): Use g_filename_display_name() for error messages. (g_mkstemp): Document that the template should be in the GLib file name encoding. (g_file_open_tmp): Ditto. Also document that the actual name returned is also in the GLib file name encoding. 2004-11-02 Matthias Clasen * glib/gconvert.c (g_filename_display_name): New function to convert a filename to a UTF-8 string for display purposes. (requested by Alex Larsson) * glib/gconvert.c (g_get_filename_charsets): New function to return the encodings which are tried when converting a filename to UTF-8. (#151465, François Gagné) 2004-11-02 Matthias Clasen * configure.in: Bump version * === Released 2.5.5 === * NEWS: Updates 2004-11-02 Matthias Clasen * glib/glib.symbols: Add new functions. * glib/gconvert.c: Fix doc comment for g_get_filename_charsets(). * glib/gconvert.c (g_filename_display_name): New function to convert a filename to a UTF-8 string for display purposes. (g_get_filename_charsets): New function to return the encodings which are tried when converting a filename to UTF-8. * glib/goption.c (g_option_context_parse): Document that this function may not return. 2004-11-01 Matthias Clasen * glib/gutils.h: Make gtkdoc-scan happy by removing spaces between gchar and *. 2004-11-01 Tor Lillqvist * glib/gstdio.c (g_lstat): Implement correctly also on Unix systems without lstat(). (#157038, Morten Welinder) 2004-11-01 Ray Strode * glib/gkeyfile.c: (g_key_file_get_locale_string): don't return an error if we come across a value with invalid utf8 or if we don't find a translated string. Just fallback to the untranslated string (Mark McLoughlin, bug #156790). * glib/gkeyfile.c: (g_key_file_init), (g_key_file_clear): track the actual start GKeyFileGroup rather than just its name (g_key_file_parse_group): allow add_group() to update the start group. (g_key_file_remove_group_node): update the start group if it gets removed (Mark McLoughlin, bug #156790). * glib/gkeyfile.c: (g_key_file_parse_string_as_value): Don't escape tabs and spaces in the middle of key values. 2004-11-01 Matthias Clasen * glib/gconvert.c: * glib/gdebug.h * glib/gutils.c * gobject/gtype.c * gthread/gthread-posix.c * tests/timeloop-closure.c * tests/timeloop.c: Fix sparse warnings. (#157014, Kjartan Maraas) 2004-11-01 Matthias Clasen * glib/goption.c: Documentation updates. Handle conflicts between options in different groups. (#156808) * glib/goption.c (g_option_context_parse): When a long option does not match exactly, try to parse it as --group-option. (g_option_context_add_group): Warn if a group name conflict occurs. * glib/goption.c (print_help): Print out the effective options, ie don't print shadowed short options, and for long options print --group-option instead of --option if appropriate. 2004-10-31 Matthias Clasen * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version() docs. 2004-10-31 Tor Lillqvist * glib/gwin32.c: Document g_win32_get_windows_version(). * glib/gstdio.[ch]: Add g_lstat(). 2004-10-29 Matthias Clasen * glib/goption.c: Doc additions. * glib/goption.c (parse_arg): Convert filenames to UTF-8 on Windows. 2004-10-29 Hans Breuer * glibconfig.h */makefile.msc.in : updated [and finally fixed my script to produce ready to go de-in(ed) files, w/o autotools] * */*.rc.in : updated copyrights to 2004 * glib/gutils.c : some CSIDL_* defines lacking from older SDK; use the same fallback mecahnism as on *NIX where ever applicable 2004-10-29 Matthias Clasen * tests/option-test.c: Add tests for the handling of non-option arguments, "--" and G_OPTION_REMAINING. * glib/goption.[hc]: #define G_OPTION_REMAINING, which is a special long option name, which can be used for an option in the main group which collects the non-option arguments. It must be of type G_OPTION_ARG_STRING_ARRAY or G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain an option whose name is G_OPTION_REMAINING, the non-option arguments are left behind in argv as before. * glib/goption.c: Add documentation. 2004-10-28 Matthias Clasen * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN, to avoid compiler warnings. (#156767, Owen Taylor) 2004-10-29 Tor Lillqvist * glib/gstdio.c: Include also for mkdir() prototype with MSVC. [156727, Kazuki IWAMOTO] * glib/giochannel.h (g_io_channel_new_file): Redefine also g_io_channel_new_file to the UTF-8 version on Win32. [156725, Kazuki IWAMOTO) 2004-10-28 Ray Strode * glib/gkeyfile.c (find_file_in_data_dirs): clean up a leak (#156652, Morten Welinder) (g_key_file_load_from_fd): propagate fstat() error conditions and retry read on EAGAIN (#156647, Morten Welinder). Return error if file is NOT regular, not if it is regular (bug introduced from last commited bug fix). (g_key_file_load_from_data_dirs): allocate enough space for the terminating NULL. 2004-10-28 Ray Strode * glib/gkeyfile.c: Don't use S_ISREG macro (#156728, Kazuki IWAMOTO) 2004-10-28 Matthias Clasen * glib/gstdio.c: Include galias.h before glib.h (#156697, Christophe Fergeau) * glib/gkeyfile.c: Add a missing "Since: 2.6" comment. 2004-10-28 Tor Lillqvist * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include errno.h for errno. * glib/gkeyfile.c: Include gstdio.h and use g_open(). 2004-10-27 Ray Strode * glib/gkeyfile.c: (g_key_file_load_from_fd), (g_key_file_load_from_file): Move file is regular check to load_from_file to use fstat() instead of race prone g_file_test(). Don't clear/init until needed. Change error messages to be more consistent. (g_key_file_load_from_data), (g_key_file_load_from_data_dirs), (g_key_file_parse_data), (g_key_file_get_value), (g_key_file_get_string), (g_key_file_set_string), (g_key_file_get_string_list), (g_key_file_set_string_list), (g_key_file_set_locale_string), (g_key_file_get_locale_string), (g_key_file_set_locale_string_list), (g_key_file_get_boolean), (g_key_file_set_boolean), (g_key_file_get_boolean_list), (g_key_file_set_boolean_list), (g_key_file_get_integer), (g_key_file_get_integer_list), (g_key_file_set_integer_list), (g_key_file_remove_key): Add more g_return_*if_fail checks for public functions. 2004-10-27 Matthias Clasen * configure.in: Bump version. * === Released 2.5.4 === 2004-10-27 Matthias Clasen * glib/abicheck.sh: Strip Win32 specific defs file syntax. * NEWS: Updates. 2004-10-27 Matthias Clasen Introduce the idea of a filename encoding, which is *literally* the filename encoding on Unix. On Windows, use the Unicode name converted to UTF-8. (#101792, Tor Lillqvist, Owen Taylor) * glib/gdir.[hc]: * glib/gconvert.[hc]: * glib/gfileutils.[hc]: * glib/gutils.[hc]: * glib/giowin32.c: On Windows, keep old ABI versions of GLib pathname api for DLL ABI stability. Use different names for the new-style UTF-8 versions. Hide this through a #define. * glib/gstdio.[hc]: New files containing wrappers for POSIX pathname api. * glib/glib.symbols: Add new symbols. * glib/makegalias.pl: Drop Win32 specific .def syntax, include gstdio.h 2004-10-27 Matthias Clasen * glib/gkeyfile.c: Fix includes. (#156500, #156499, Kazuki IWAMOTO) * glib/Makefile.am (galias.h): Fix srcdir != builddir builds. (#156447, Thomas Fitzsimmons) 2004-10-26 Gora Mohanty * configure.in: Added 'or' to ALL_LINGUAS. 2004-10-26 Matthias Clasen * glib/gkeyfile.c: Include galias.h. * glib/gkeyfile.c (g_key_file_parse_value_as_comment): Don't compare strings and chars. * glib/glib.symbols: Add new symbols. * glib/gkeyfile.c (g_key_file_new): Fix docs. * glib/gkeyfile.h: Use the same parameter names as in the implementation and the docs. * glib/gwin32.c (g_win32_get_windows_version): Make this function thread-safe in the GLib style. * glib/gthreadinit.h: * glib/gwin32.c (_g_win32_thread_init): New function to initialize the version. * glib/gthread.c (g_thread_init_glib): Call _g_win32_thread_init() from here. 2004-10-26 Ray Strode * glib/gkeyfile.c: Add Matthias to "Written by" lines (GKeyFileGroup): add field to hold comments about groups (g_key_file_load_from_fd): return TRUE on success and FALSE on failure. Don't close fd's opened by other parent function. (g_key_file_load_from_file): run FILE_IS_REGULAR test before trying to open file, to save an fd from being leaked (would probably be better to use fstat()). Close fd when done with it. Return TRUE on success and FALSE on failure. (g_key_file_load_from_data): Return TRUE on success and FALSE on failure. (g_key_file_load_from_data_dirs): remove superfluous const modifier. Return TRUE on success and FALSE on failure. Stop trying to load files when one succeeds. (g_key_file_parse_key_value_pair): don't validate input for UTF-8 until users uses a getter that does validation. Don't leak copy of start_group_name. (g_key_file_to_data): serialize new comment field for groups. (g_key_file_get_keys): Remove convenience code to let NULL group mean start group. Get rid of unneeded NULL check before g_strdup. (g_key_file_get_groups): Reverse groups list before sending to user because it is maintained in backward order internally. (g_key_file_get_value), (g_key_file_set_value): add g_return checks at top of public functions. (g_key_file_get_string), (g_key_file_get_string_list): validate key value is UTF-8. (g_key_file_[sg]et_*comment): new functions for setting/getting comments (g_key_file_remove_comment): new function to remove comment block (g_key_file_remove_key_value_pair_node): new function to pull a key-value pair out of the list and free it. (g_key_file_remove_group_node): call g_key_file_remove_key_value_pair_node instead of freeing the list immediately to get better statistics for approximate_size. (g_key_file_remove_group): use lookup_group_node instead of lookup_group to prevent a g_list_find call. (g_key_file_add_key): report group also when unable to find key. (g_key_file_lookup_group_node): new function to make getting the group node from a group name easier. (g_key_file_lookup_group): use lookup_group_node under the hood. (g_key_file_lookup_key_value_pair_node): new function to make getting the key-value pair from a group and key name eaiser. (g_key_file_parse_comment_as_value): new function to add '#' to the beginning of every line. (g_key_file_parse_value_as_comment): new function that attempts to be the inverse of comment as value. 2004-10-26 Matthias Clasen * glib/gutils.c: * glib/gkeyfile.c: Don't include ctype.h needlessly. (#156424, Morten Welinder) * tests/strtod-test.c (test_string): Improve error reporting. Mon Oct 25 15:05:18 2004 Manish Singh * autogen.sh: rm autom4te.cache, since it might interfere with differing autoconf versions. * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add user data. * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now, don't redefine it here. 2004-10-24 Matthias Clasen * glib/gkeyfile.c (g_key_file_remove_group_node): Don't destroy the lookup map if it is NULL. 2004-10-23 Matthias Clasen * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c, glib/giochannel.c, glib/gmain.c, glib/gspawn.c, glib/libcharset/localcharset.c: Apply a patch to fix sparse warnings. (#154696, Kjartan Maraas) * glib/gnulib/g-gnulib.h: Undef libc functions before defining them, since they may also be macros. (#155177, Andrea Campi) * glib/gkeyfile.h: * glib/gkeyfile.c: Add a parser for desktop entries and similar files with a .ini-like syntax. (#139974, Ray Strode) * glib/glib.h: Include gkeyfile.h * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c (glibsubinclude_HEADERS): Add gkeyfile.h * glib/gutils.c (_g_compute_locale_variants): Make this non-static and use it in gkeyfile.c 2004-10-22 Matthias Clasen * tests/uri-test.c (run_uri_list_tests): Add some uri list tests.c. * glib/gconvert.h: * glib/gconvert.c (g_uri_list_extract_uris): New function to split a text/uri-list data into individual uris and strip comments. 2004-10-20 Matthias Clasen * glib/goption.c (get_change): Don't return the wrong change. (#155856, Lucas Rocha) 2004-10-17 Matthias Clasen * glib/gutils.h (G_IS_DIR_SEPARATOR): * glib/gutils.c: Make public. (#155589, Tim-Philipp Müller) 2004-10-08 Matthias Clasen * glib/gmain.c (g_child_watch_add_full): * glib/gmain.c (g_child_watch_add): Document that GLib supports only a single callback per pid. (#154828, Gustavo Carneiro) 2004-10-06 Matthias Clasen * glib/gfileutils.c: Fix some C99isms. (#154676, Kjartan Maraas) 2004-10-05 Anders Carlsson * glib/goption.c: (g_option_context_parse): Add check for if argc is 0. * tests/option-test.c: (empty_test3), (main): Add test case. 2004-10-05 Matthias Clasen * NEWS: Update 2004-10-04 Matthias Clasen * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the vtable is set. (#154352, Philippe Blain) 2004-10-03 Anders Carlsson * glib/goption.c: (parse_arg): Set arg_data on filenames. (Discovered by Mats-Ola Persson). * tests/option-test.c: (arg_test3), (ignore_test3), (main): Add test for filename args. 2004-10-01 Tor Lillqvist * glib/goption.c (g_option_context_parse): Use g_path_get_basename() instead of strrchr(), so that either slash is accepted on Windows. 2004-09-30 Matthias Clasen * glib/gfileutils.c: Convert filenames to UTF-8 before putting them in GErrors. (#154078, Morten Welinder) 2004-09-29 Matthias Clasen * glib/glib.symbols: Add g_assert_warning. * glib/gmessages.h: * glib/gmessages.c (g_assert_warning): Treat g_assert in the same way as g_return_if_fail and move the string constants into a helper function, which also takes care of removing the "IA__" prefix from internal aliases. * glib/gmessages.h: Move the declaration of g_return_if_fail_warning() out of the ifdefs, so that building with G_DISABLE_ASSERT works. 2004-09-27 Murray Cumming * glib/goptions.[h|c], glib/glib.symbols: Rename g_context_option_error_quark() to g_option_error_quark(), because that is consistent with normal naming conventions, and what bindings expect. .2004-09-26 Matthias Clasen Fix #153649, Hidetaka Iwai: * glib/goption.c (parse_long_option): Don't forget to set parsed to TRUE when parsing a long ARG_NONE option. (free_changes_list): Fix the memory management for string and filename arrays. 2004-09-22 Tor Lillqvist * glib/gmessages.c: [Win32] Don't ever open a console window. (Which we used to do if standard output or standard error are invalid, as they are for GUI applications.) These console windows that open up unexpectedly have caused endless amounts of confusion among end-users. (#141102, #151175) Don't output the process id on Windows. Only output the program name. If not set with g_set_prgname(), fetch the application executable's name and use that. Mon Sep 20 00:35:14 2004 Matthias Clasen * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to convert UTF-16 byte stream of ambiguous endianness. (#152954, Linus Walleij) Mon Sep 20 00:17:37 2004 Matthias Clasen * tests/option-test.c (error_test3_post_parse): * tests/option-test.c (error_test2_post_parse): * tests/option-test.c (error_test1_post_parse): Don't call g_set_error () with a NULL format. (#153103, Robert Ögren) Mon Sep 20 00:13:48 2004 Matthias Clasen Make GOption remove long options completely. (#153113, Robert Ögren) * glib/goption.c (parse_long_option): Fix a wrong index. * tests/option-test.c (ignore_test3): Test handling of unknown options some more. Sun Sep 19 23:56:15 2004 Matthias Clasen * glib/goption.c (g_option_context_parse): Call error_func on error, not post_parse_func again. (#153107, Robert Ögren) Sun Sep 19 23:52:35 2004 Matthias Clasen * glib/gmessages.c (mklevel_prefix): * glib/gmessages.c (g_logv): Fix the types of some variables to be GLogLevelFlags instead of guint. (#153042, Philippe Blain) 2004-09-18 Matthias Clasen * Version bump * === Released 2.5.3 === 2004-09-17 Matthias Clasen * NEWS: More updates. Thu Sep 16 18:42:46 2004 Manish Singh * glib/abicheck.sh: don't hardcode lengths for cut, instead split on the third field. Thu Sep 16 18:15:32 2004 Manish Singh * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number of characters, instead of a gsize. Technically this is incorrect, but this makes it match the prototype, and this is a deprecated function anyway. 2004-09-16 Matthias Clasen * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh Thu Sep 16 02:03:15 2004 Matthias Clasen Implement the same PLT reduction technique used in GTK+: * glib/glib.symbols: Master list of symbols * glib/makegalias.pl: Perl script which creates galias.h * glib/abicheck.sh: Compares actual exports against glib.symbols * glib/glib.def: Removed. This file is now generated from glib.symbols * glib/Makefile.am: Add rules to generate galias.h and glib.def, and add abicheck.sh to TESTS. Don't export _-prefixed symbols. * configure.in: Add --disable-visibility to suppress the use of ELF visibility attributes. * glib/*.c: Include galias.h 2004-09-15 Tor Lillqvist * glib/gwin32.c (g_win32_error_message): Convert message to UTF-8. Technically this breaks API, but the actual use cases in gdk/win32 have assumed it is UTF-8 anyway. Fix documentation. (#152618, Kazuki Iwamoto) * glib/gwin32.h: Don't define ftruncate as a macro. Was never a good idea, and it clashes with newest mingw headers, which have a ftruncate implementation as an inline function. Thanks to Dominik R. * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just call _chsize() in the C library. 2004-09-15 Matthias Clasen * NEWS: Update. 2004-09-09 Matthias Clasen * glib/gmessages.c (g_return_if_fail_warning): Strip the prefix "IA__" from function names, since that is what GTK+ uses for the PLT-reduction aliases. Thu Sep 9 13:52:26 2004 Owen Taylor * glib/gmessages.c (g_return_if_fail_warning): Include implementation of g_return_if_fail_internal(). Thu Sep 9 10:37:41 2004 Owen Taylor * glib/gmessages.h (g_return_[val_]if_fail): Use a helper function to reduce code size; omit FILE/LINE when we have __PRETTY_FUNCTION__. 2004-09-09 Matthias Clasen * glib/gutils.c (g_get_home_dir): Remove a misleading comment. Thu Sep 9 00:10:40 2004 Matthias Clasen * glib/gstrfuncs.h: * glib/gstrfuncs.c (g_strv_length): Add a function to calculate the length of a NULL-terminated string array. (#150455, Tim-Philipp Müller) * tests/strfunc-test.c (main): Add a test for g_strv_length(). 2004-09-08 Tor Lillqvist * glib/gutils.c (guess_category_value): On Win32, as last resort call g_win32_getlocale() to get the current thread locale. There usually aren't any POSIXish LANG or LC_* environment variables present on Windows machines. * glib/glib.def: Add g_get_language_names. 2004-09-07 Matthias Clasen * glib/gutils.h: * glib/gutils.c (g_get_language_names): Add a function to return a list of applicable locale names. (#95587, Hidetoshi Tajima) (guess_category_value, compute_locale_variants): (explode_locale, unalias_lang, read_aliases): Helper functions for g_get_language_names() * tests/testglib.c (main): Show the results of g_get_language_names() Sun Sep 5 01:46:11 2004 Matthias Clasen * glib/glib.def: * glib/gmessages.h: * glib/gmessages.c (g_log_set_default_handler): New function to install an alternate default log handler. (#66387, Darin Adler) 2004-09-03 Tor Lillqvist * glib/glib.def: Update. Wed Sep 1 20:22:39 2004 Matthias Clasen * glib/gdate.h: * glib/gdate.c (g_date_get_iso8601_week_of_year): Add a function to calculate the ISO 8601 week number of a date. (#92579, Niklas Lundell) 2004-09-01 Anders Carlsson * glib/goption.c: (g_option_context_parse): Set program name before calling the pre-parse hooks. 2004-09-01 Anders Carlsson * glib/goption.c: (g_option_context_free), (print_help), (g_option_context_parse): Handle option contexts without a main group. * tests/option-test.c: (empty_test2), (main): Add test case for that. 2004-08-30 Anders Carlsson * glib/goption.c: (g_option_context_parse): Set prgname to if argc and argv are NULL. * tests/option-test.c: (empty_test1), (main): Add test case for that. Sun Aug 29 23:58:38 2004 Matthias Clasen * glib/ghash.c (g_hash_table_lookup): Point to g_hash_table_lookup_extended() for differentiation between not-found and value-is-NULL. (#150960, Morten Welinder) 2004-08-27 Matthias Clasen Fix #151193, Stepan Kasal: * glib/gfileutils.c (g_file_error_from_errno): * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS. Fri Aug 27 00:45:41 2004 Matthias Clasen * glib/goption.c (g_option_context_parse): Set the program name from argv[0], noticed by Masatake YAMATO. 2004-08-26 Tor Lillqvist * tests/testglib.c (main): Test the new XDG basedir functions. 2004-08-25 Tor Lillqvist * glib/gwin32.c (g_win32_get_windows_version): New function. Returns the Windows version code like GetVersion(), except that one can pretend to be running on Win9x by setting the G_WIN32_PRETEND_WIN9X environment variable. This is mainly for debugging purposed. * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time. 2004-08-25 Matthias Clasen * configure.in: Post-release version bump. * === Released 2.5.2 === Wed Aug 25 00:25:08 2004 Matthias Clasen * NEWS: Update for 2.5.2 2004-08-25 Tor Lillqvist Win32 equivalences of the XDG folders * glib/gutils.c (get_special_folder): New function, calls SHGetSpecialFolderLocation() to get path to places like the My Documents folder. (g_get_any_init): Use CSIDL_PROFILE as HOME if not overridden by env vars. (g_get_user_data_dir): Use CSIDL_PERSONAL. (g_get_user_config_dir): Use CSIDL_APPDATA. (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable... (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and CSIDL_COMMON_DOCUMENTS. (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA. * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw. * glib/glib.def: Add the new functions. Mon Aug 23 16:16:35 2004 Manish Singh * glib/goption.c (g_option_group_add_entries): remove unused variable. Mon Aug 23 01:35:18 2004 Matthias Clasen * glib/gutils.c (g_get_user_cache_dir): * glib/gutils.c (g_get_user_config_dir): * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir() while holding the g_utils_global lock, simply use g_home_dir. (#150695, Jody Goldberg) 2004-08-21 Tor Lillqvist * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to break out of its loop. Prevents a thread leak. (#147392, Peter Zelezny) * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus return value from strxfrm(). For instance Microsoft's strxfrm() returns INT_MAX on errors. (#141124) 2004-08-19 Tor Lillqvist * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct source and destination charset parameter order in g_convert() call. (#150394, possibly also #141124) 2004-08-20 Jon K Hellan * glib/goption.h: Remove trailing commas. 2004-08-17 Matthias Clasen * configure.in: Check for all four values of the visibility attribute; gcc 2.96 seems to miss "default". (#150379, Vincent Noel) 2004-08-16 Christian Rose * configure.in: Added "bs" to ALL_LINGUAS. 2004-08-11 Ray Strode * docs/reference/glib/glib-sections.txt: * glib/gutils.[ch] (g_get_user_data_dir), (g_get_user_config_dir), (g_get_user_cache_dir), (g_get_system_data_dirs), (g_get_system_config_dirs): Add new XDG basedir API (bug 139973). 2004-08-10 Matthias Clasen * glib/gmacros.h: Remove G_GNUC_INTERNAL from here. * configure.in: Check whether the visibility attribute works and define G_HAVE_GNUC_VISIBILITY and G_GNUC_INTERNAL in glibconfig.h correspondingly. Mon Aug 9 17:37:56 2004 Matthias Clasen * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old. 2004-08-06 Hans Breuer * glib/makefile.msc.in glib/glib.def : updated * glib/gutils.c : avoid 'inconsitent dll linkage' by not defining extern char** environ with msvc 2004-08-06 Matthias Clasen * m4macros/glib-gettext.m4: Require ngettext. (#123847, Danilo Segan) Thu Aug 5 20:53:00 2004 Ray Strode * glib/gutils.h (g_get_codeset): strdup result so caller doesn't free internally managed memory. 2004-08-04 Tor Lillqvist * glib/glib.def: Add glib_check_version. * config.h.win32.in: Update to match what configure produces. Add the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move HAVE_INT64_AND_I64 to where the configure script puts it. Add HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC. Tue Aug 3 16:19:44 2004 Matthias Clasen * glib/goption.c: Mark user visible strings for translation. Tue Aug 3 15:50:55 2004 Matthias Clasen * glib/goption.[hc]: Pedantically use g types throughout. Tue Aug 3 14:58:20 2004 Matthias Clasen * glib/gutils.h: * glib/gutils.c (glib_check_version): New function to check the version of GLib at runtime. (#149175, Michael Natterer) 2004-08-03 Anders Carlsson * glib/goption.h: * glib/gtypes.h: Move GTranslateFunc to gtypes.h 2004-08-02 Anders Carlsson * glib/Makefile.am: * glib/glib.h: * glib/goption.c: * glib/goption.h: * tests/.cvsignore: * tests/Makefile.am: * tests/option-test.c: Add GOption. 2004-08-02 Matthias Clasen * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function declarations as internal and avoid PLT indirections for them. (#145465, Arjan van de Ven) * glib/gunicodeprivate.h: * glib/gthreadinit.h: * glib/gmessages.h: * glib/gdebug.h: * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(), _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(), _g_messages_thread_init(), _g_convert_thread_init(), _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(), _g_mem_thread_private_init(), _g_messages_thread_private_init(), _g_utf8_normalize_wc() and _g_unichar_combining_class(). * glib/gatomic.c: Include gthreadinit.h here to see the declaration for _g_atomic_thread_init(). Sun Aug 1 13:19:18 2004 Manish Singh * tests/uri-test.c: move newline printing from run_from_uri_tests() to run_roundtrip_tests(). 2004-08-01 Matthias Clasen * Post-release version bump * === Released 2.5.1 === Sat Jul 31 23:17:05 2004 Matthias Clasen * NEWS: Updates. Sat Jul 31 20:33:07 2004 Matthias Clasen * tests/shell-test.c: Include a test involving consecutive backslashes followed by a non-escaped doublequote. * glib/gshell.c (tokenize_command_line): Count consecutive backslashes mod 2 to detect escaped doubleqotes. (#127306) 2004-07-30 Matthias Clasen * glib/gconvert.c (g_unescape_uri_string): Don't validate for UTF-8 here. (#148420, Robert Ögren) * tests/uri-test.c (run_roundtrip_tests): Add tests for roundtrip compatibility. Going from filename to uri and back should always give you the same filename back. 2004-07-28 Matthias Clasen * tests/markups/valid-{9,10,11}.gmarkup: * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling of whitespace inside tags. * glib/gmarkup.c (enum GMarkupParseState): Add STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME. (g_markup_parse_context_parse): Accept whitespace between attribute names, '=' and attribute values and between close tag name and '>'. (#148646, Hiroyuki Ikezoe) Tue Jul 27 02:01:31 2004 Matthias Clasen * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/ as well. Sat Jul 24 17:50:07 2004 Soeren Sandmann * glib/gstrfuncs.c (g_strsplit_set): s/g_strtokenize/g_strsplit_set/ in docs. Fri Jul 23 10:37:50 2004 Matthias Clasen * tests/type-test.c (main): Actually test G_MAXSIZE with a gsize variable. 2004-07-21 Matthias Clasen Fix #132858, Sven Neumann, patch by James Henstridge: * glib-gettextize.in: modify so that mkinstalldirs will get installed into auxdir. * Makefile.am (gettext_SCRIPTS): install mkinstalldirs. 2004-07-21 Matthias Clasen Fix #147651, reported by Oliver Guntermann: * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(), _g_gnulib_vasprintf() in a macro, since they behave differently wrt. to memory allocation. * glib/gprintf.c (g_vasprintf): Instead, differentiate here between the three cases: system vasprintf(), _g_gnulib_vasprintf(), no vasprintf(). 2004-07-20 Crispin Flowerday * NEWS: Fix a typo in my name Tue Jul 20 04:31:40 2004 Soeren Sandmann * configure.in: Bump version number Sun Jul 18 19:40:30 2004 Soeren Sandmann * === Released 2.5.0 === * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here. Sun Jul 18 01:40:28 2004 Matthias Clasen * NEWS: Updates for 2.5.0 Mon Jul 12 00:02:40 2004 Matthias Clasen * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well. 2004-07-09 Matthias Clasen * glib/gdir.c (g_dir_open): Convert filename to UTF-8 before using it in the error message. (#146054, Federico Mena Quintero) Thu Jul 8 00:54:32 2004 Matthias Clasen * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't be built without anyway. (#135899, Murray Cumming) Mon Jul 5 18:50:27 2004 Matthias Clasen * glib/gmessages.h (g_debug): Complete the g_log() family. (#135730, Sven Herzberg) Mon Jul 5 18:42:30 2004 Matthias Clasen * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to make srcdir != . work. (#145166, Kaz Sasayama) Sun Jul 4 01:52:18 2004 Matthias Clasen * configure.in: Use a small test library instead of libpthread.so for testing RTLD_GLOBAL brokenness. (#139567, Julio M. Merino Vidal) 2004-07-02 Sebastian Wilhelmi * glib/gatomic.c: Rename __asm to __asm__ and __volatile to __volatile__ to make the file consistent. Spotted by Benoit Carpentier . 2004-07-01 John Ehresman * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free) Initialize reset_send & reset_recv fields and don't close sockets unless they were created. (#145153) Fri Jun 11 22:56:46 2004 Matthias Clasen * glib/gscanner.c (g_scanner_get_token_ll): Ignore a missing newline at EOF for single line comments. (#83674, Sven Neumann) Thu Jun 10 23:38:02 2004 Matthias Clasen * tests/printf-test.c (TEST): Actually set any_failed on failure. (#143552, Philippe Blain) 2004-06-09 Federico Mena Quintero * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha) for URIs that *should* have been invalid, or viceversa. (from_uri_tests): Likewise. 2004-06-07 Federico Mena Quintero Fixes #140532. * glib/gconvert.c (is_asciialphanum): Renamed from is_escalphanum(); ensures that this is an ASCII character. (is_asciiescalpha): Renamed from is_escalpha(). (hostname_validate): Use the two functions above. (g_filename_to_uri): Don't convert the filename to UTF-8. (g_filename_from_uri): Don't convert the filename from UTF-8. Mon Jun 7 22:25:24 2004 Matthias Clasen * tests/run-markup-tests.sh: Default to silence, but support a -v argument to get the old output back. 2004-06-06 Tor Lillqvist * glib/gutils.c (g_get_any_init): Check home for being NULL. (#143812, Ivan Wong) Sun Jun 6 15:23:00 2004 Pawan Chitrakr * configure.in: Added "ne" (Nepali) in ALL_LINGUAS Fri Jun 4 19:26:47 2004 Manish Singh * glib/galloca.h: cpp #directives should always have the "#" in the first column of the the line. Do that for "#pragma alloca". Fixes bug #143744. Wed Jun 2 00:57:16 2004 Matthias Clasen * glib/gtypes.h: Use higher precision for the mathematical constants. (#141941, Morten Welinder) Tue Jun 1 22:01:40 2004 Matthias Clasen * glib/gmarkup.c (advance_char): Fix an off-by-one error in g_markup_parse_context_parse(). (#142794, Morten Welinder) Sun May 16 23:23:29 2004 Matthias Clasen Merged from 2.4: * glib/gcompletion.c (g_completion_add_items): (g_completion_remove_items): Remove unnecessary checks. (#142559, Morten Welinder) 2004-05-15 Tor Lillqvist * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it is an absolute path and exists. (#138618) 2004-05-14 Tor Lillqvist * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string for precision correctly. (#142400) For backward compatibility with the Trio implementation, make "ll" format modifer work on Win32, too. Change into "I64" before passing to the system printf. (#142433) * tests/printf-test.c (main): Add tests for the above. 2004-05-10 Matthias Clasen Merge from 2.4: * glib/gmain.c (block_source, unblock_source): Make these static. (#142230, Morten Welinder) 2004-05-10 Tor Lillqvist * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated lines. Thanks to Benoît Carpentier. Sun May 9 02:04:14 2004 Matthias Clasen Merge from 2.4: * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary memleak. (#141998, Nikolai Weibull) Sat May 8 23:02:26 2004 Matthias Clasen Merge from 2.4: * glib/gutils.h: Remove vestigial g_get_codeset(). * glib/gutils.c (g_get_codeset): Call g_get_charset(). (#137703, Owen Taylor) 2004-05-06 Matthias Clasen * configure.in: Bump version number to 2.5.0. Wed May 5 23:35:44 2004 Matthias Clasen * glib/gconvert.c (g_filename_from_uri): Quote the file scheme to mark it as untranslatable. String change. (#133144, Danilo Segan) 2004-05-03 Pablo Saratxaga * configure.in: Added Walloon (wa) to ALL_LINGUAS Sun May 2 03:51:59 2004 Manish Singh * glib/gtypes.h: check for __pentium4__ when deciding whether to use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620. 2004-05-01 Hans Breuer * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST fixes #141563, Steve Lhomme 2004-04-30 Matthias Clasen * === Released 2.4.1 === * configure.in: Version 2.4.1, interface age 1. * NEWS: Updates 2004-04-25 Tor Lillqvist * glib/gwin32.c (g_win32_get_package_installation_subdirectory): Plug memory leak. (#140770, John Ehresman) 2004-04-23 Matthias Clasen * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some point. (#139134, Piotr Klaban) * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) 2004-04-22 Matthias Clasen * tests/testglib.c (main): Trivial warning fix. (#140345) * tests/queue-test.c (main): Add some tests for off-by-one errors. * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one error. (#139703, Philippe Blain) * tests/testglib.c (main): Add testcases for g_message() involving non-printable and unsafe characters. * glib/gmessages.c (escape_string): Don't assume that string->str remains unchanged over g_string_insert() calls. (#139030, Christophe Saout) * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a locale-specific decimal separator directly follows a number. (#138424, Nickolay V. Shmyrev) * tests/strtod-test.c (main): Add some more testcases. * glib/gmain.c (g_main_context_query): Only set time_is_current to FALSE if context->timeout is not zero. (#137795, Christian Krause) 2004-04-21 Matthias Clasen * tests/printf-test.c (main): Comment out a nonessential testcase which fails on HP-UX. (#136283, Jonas Jonsson) 2004-04-15 Matthias Clasen * tests/patterntest.c (main): Add tests for the empty pattern. * glib/gpattern.c (g_pattern_spec_new): Don't read and write out of bounds when the pattern is empty. (#140032, Stanislav Brabec, Stefan Fent) 2004-04-10 Tor Lillqvist * glib/gwin32.c (g_win32_getlocale): Add new language and sublanguage codes, from GNU gettext. (#137958) * glib/giowin32.c * glib/gmain.c * glib/gstrfuncs.c * glib/gthread.c: Decorating variable definitions with __declspec(dllexport) causes problems on Cygwin build, and isn't really needed for a native Win32 build with mingw or MSVC, so remove. (#138402, Roger Leigh) * glib/libcharset/localcharset.c: Use Win32-specific code also on Cygwin. * tests/uri-test.c: Don't assume that local filenames are in UTF-8 on Cygwin, either. (#138412, Roger Leigh) 2004-04-08 Guntupalli Karunakar * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS. 2004-04-03 Tor Lillqvist * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be found on Cygwin, they don't work. (#138401, Roger Leigh) 2004-03-31 Tor Lillqvist * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger Leigh) * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also on Cygwin. (#138423, Roger Leigh) 2004-03-30 Adam Weinberger * configure.in: Added en_CA to ALL_LINGUAS. 2004-03-21 Tor Lillqvist * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some cases where a drive letter is present. For 'a:' or 'a:foo', return 'a:.'. This is mostly just for consistency with the behaviour without a drive letter. But very important is to for 'a:\foo' or 'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes instead of backslashes.) (#137316) * tests/dirname-test.c (main): More complete testing on Win32. If a test fails, include expected and actual result in error message. Fri Mar 19 15:21:09 2004 Owen Taylor * glib/gmain.c: Fix the accidental revert of the fixes from #112222 that happened when the GChildWatch code was added. (Caught by Christian Persch) Fri Mar 19 11:07:06 2004 Owen Taylor * tests/atomic-test.c (main): Make computation of "biggest_pointer" vaguely more portable. (#137498, Jonas Jonsson) 2004-03-16 Tor Lillqvist * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc on Win32) case, where the 64-bit type is called long long, but the system printf/scanf format modifier for 64-bit integers is still I64. 2004-03-16 Gareth Owen * configure.in: Added en_GB to ALL_LINGUAS