1 2005-01-09 Tor Lillqvist <tlillqvist@novell.com>
3 * glib/gfileutils.c: Include <io.h> on Windows for
4 prototypes. (#163390, Kazuki Iwamoto)
6 2005-01-07 Matthias Clasen <mclasen@redhat.com>
10 * configure.in: Bump version
12 * === Released 2.6.1 ===
14 2005-01-07 Matthias Clasen <mclasen@redhat.com>
17 * Makefile.am: Generate and distribute gmodule-export-2.0.pc,
18 which is currently just a copy of gmodule-2.0.pc, but makes
19 it explicit that it adds --export-dynamic.
21 * gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
23 2005-01-06 Tor Lillqvist <tml@iki.fi>
26 * gobject/Makefile.am: glib.def and gobject.def are generated, not
27 in $(srcdir). (#163143, J. Ali Harlow)
31 * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
34 2005-01-05 Matthias Clasen <mclasen@redhat.com>
36 * glib/gutils.h: Simplify the inlining magic to make it
37 work at Oh zero. (#162990, Kalpesh Shah)
39 2005-01-04 Tor Lillqvist <tml@iki.fi>
41 * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
42 instead of setlocale() on Windows. setlocale() returns strings
43 like "Turkish_Turkey".
45 2005-01-04 Matthias Clasen <mclasen@redhat.com>
47 Fix the inlining magic. (#157536, Jens Hatlak, and
48 #149907, Morten Welinder)
50 * configure.in: Define G_CAN_INLINE in glibconfig.h
52 * glib/gutils.h: Streamline the inlining magic a bit,
53 don't use extern when implementing the non-inlined
56 2005-01-03 Matthias Clasen <mclasen@redhat.com>
58 * glib/gutils.c (g_find_program_in_path): Don't return
59 directories. (#160738, Tommi Komulainen)
61 * glib/gfileutils.c (g_file_get_contents): Clarify the
62 documentation. (#162251, Mariano Suárez-Alvarez)
64 2005-01-02 Matthias Clasen <mclasen@redhat.com>
66 * glib/gutils.c (g_setenv, g_unsetenv): Clarify the
67 docs. (#162747, Crispin Flowerday)
69 2005-01-01 J. Ali Harlow <ali@juiblex.co.uk>
71 * configure.in: Don't use AC_TRY_RUN to test for long long format
72 when using the MSVCRT.DLL runtime since we know the answer anyway
73 and it causes some mild inconvience when cross compiling.
75 * README.win32: Add a reference to the cross compiling section
76 of the reference manual.
78 * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
79 requires %I64i instead of %lli. (#161306)
81 2005-01-01 Tor Lillqvist <tml@iki.fi>
83 * glib/gutils.c: Make the g_getenv() ABI backward compatibility
86 2005-01-01 Tor Lillqvist <tml@iki.fi>
90 * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
91 and g_find_program_in_path() take and return UTF-8 strings on
92 Win32. Implement DLL ABI backward compatility for them, too. Move
93 all the DLL ABI stability wrappers to the end of the file. Use
94 wide character API when available in inner_find_program_in_path().
96 * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
97 use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
98 to consider somebody actually having anything else than ASCII
101 2004-12-31 Tor Lillqvist <tml@iki.fi>
103 * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
104 use GetFileAttributes() instead of stat(). stat() is unreliable
105 for corner cases like '\\server\share' or '.\'. Part of fixing
106 #161797. When testing for executability, in addition to the fixed
107 set of executable file name extensions also check the PATHEXT
108 environment variable.
110 2004-12-30 Tor Lillqvist <tml@iki.fi>
112 * glib/gutils.c (g_get_current_dir): In the Win32 version, use
113 GetCurrentDirectory() directly for simpler buffer length
114 management. I don't trust getcwd() getting it right all the time.
116 2004-12-30 Matthias Clasen <mclasen@redhat.com>
118 * glib/gfileutils.c (g_file_test): Typo fix.
120 2004-12-30 Tor Lillqvist <tml@iki.fi>
122 * glib/gutils.c (g_path_skip_root): Require UNC paths to start
123 with exactly two slashes.
124 (g_get_current_dir): Use wide character API when available.
125 (g_path_get_dirname): Handle UNC paths better. Part of fix for
128 2004-12-27 Matthias Clasen <mclasen@redhat.com>
130 * configure.in: Add an OS_LINUX conditional.
132 * glib/Makefile.am (TESTS): Only check the ABI on
133 linux, since the shell script is not portable, and libtool
134 deficiencies may distort the ABI on other platforms. (#161741)
136 2004-12-21 Matthias Clasen <mclasen@redhat.com>
138 * glib/goption.c (print_entry): Don't show
139 the special G_OPTION_REMAINING entry. (#161934,
142 2004-12-20 Tor Lillqvist <tml@iki.fi>
144 * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
147 2004-12-20 Matthias Clasen <mclasen@redhat.com>
149 * tests/option-test.c: Add some tests for '--'
152 * glib/goption.c (g_option_context_parse): Don't
153 strip '--' if it would be needed by a second option
156 * glib/gunicollate.c (g_utf8_collate): Make docs
157 more accurate. (#161683, Marcin Krzyzanowski)
159 2004-12-19 Matthias Clasen <mclasen@redhat.com>
161 * glib/goption.c (g_option_context_parse): Call
162 post-parse hooks also if argv is NULL. (#161668,
165 2004-12-16 Matthias Clasen <mclasen@redhat.com>
167 * configure.in: Bump version
169 * === Released 2.6.0 ===
171 2004-12-15 Alexander Larsson <alexl@redhat.com>
173 * glib/gconvert.c: (g_filename_display_basename):
175 Add g_return_val_if_fail.
178 Add g_filename_display_basename
180 2004-12-15 Alexander Larsson <alexl@redhat.com>
182 * glib/gconvert.[ch]:
183 Add g_filename_display_basename.
185 2004-12-14 Matthias Clasen <mclasen@redhat.com>
191 * configure.in: Set version to 2.6.0
193 2004-12-13 Tor Lillqvist <tml@iki.fi>
198 * glib/gstdio.[ch]: Add g_rmdir().
200 2004-12-13 Matthias Clasen <mclasen@redhat.com>
204 2004-12-12 Tor Lillqvist <tml@iki.fi>
207 * glib/gconvert.[ch]: Implement Windows DLL ABI stability also for
208 g_filename_{to,from}_uri().
210 2004-12-11 Tor Lillqvist <tml@iki.fi>
212 * glib/gstdio.c (g_rename, g_unlink, g_remove): Add doc comments
213 about Windows restrictions on renaming and removing.
215 (g_remove): Mimic POSIX remove() on Windows: Try also to rmdir if
216 removal as a file fails. Document this.
218 * glib/gstdio.h: Clarify comment about file name encoding on
221 * glib/gspawn-win32.c: Fix #157255. Also some refactoring of this
222 still very ugly source file.
224 2004-12-09 Matthias Clasen <mclasen@redhat.com>
226 * glib/goption.c (print_help): Don't print help options
227 if the options of a specific group have been
228 requested. (#160645, Glynn Foster)
230 2004-12-07 Matthias Clasen <mclasen@redhat.com>
232 * glib/gutils.c (g_get_language_names): Update the returned
233 value after locale changes. (#160271, Christian Persch)
234 (_g_utils_thread_init): Initialize the language name cache
235 before going threaded.
237 * glib/gthread.c (g_thread_init_glib): Call _g_utils_thread_init().
239 * glib/gthreadinit.h: Add _g_utils_thread_init().
241 2004-12-06 Tor Lillqvist <tml@iki.fi>
243 * glib/giowin32.c (g_io_win32_finalize): Fix a write to freed
244 memory: Unlock the channel's mutex before unrefing the channel.
246 2004-12-06 Matthias Clasen <mclasen@redhat.com>
248 * configure.in: Remove a no longer needed hack for
249 libtool < 1.5.2. (#100697, Owen Taylor, Sebastian Wilhelmi)
251 2004-12-05 Tor Lillqvist <tml@iki.fi>
254 * glib/gwin32.[hc]: Implement DLL ABI stability also for
255 g_win32_get_package_installation_directory()) and
256 g_win32_get_package_installation_subdirectory().
258 * glib/Makefile.am (install-libtool-import-lib): Remove the DLL
259 binary compatibilty entries from the import library. They aren't
260 used by newly compiled code, so no need to have them in the import
261 library. (The "PRIVATE" keyword in the .def file is supposed to do
262 this, but not implemented in the GNU linker yet.)
264 2004-12-04 Matthias Clasen <mclasen@redhat.com>
266 * glib/gqueue.c (g_queue_link_index): Return -1 if queue is
267 NULL. (#159530, Philippe Blain)
269 2004-12-02 Matthias Clasen <mclasen@redhat.com>
271 * configure.in: Bump version.
273 * === Released 2.5.7 ===
275 2004-12-02 Matthias Clasen <mclasen@redhat.com>
277 * glib/glib.symbols: Protect the the various push/pop allocator
278 functions by #ifndef DISABLE_MEM_POOLS. (#160215, Frederic Crozat)
280 * glib/makegalias.pl: Support #ifndef'ed sections.
282 * glib/gutils.c (g_get_system_config_dirs): Don't forget to
283 initialize g_system_config_dirs. (#160213, Frederic Crozat)
285 Wed Dec 1 17:04:37 2004 Manish Singh <yosh@gimp.org>
287 * glib/gstring.h (g_string_append_c_inline): actually enable (and
288 fix up the length test).
290 2004-11-30 Tor Lillqvist <tml@iki.fi>
292 * glib/Makefile.am (glib.def): gcc -E complains "linker input file
293 unused because linking not done" if told to preprocess the
294 glib.symbols file. Use '-' and redirection to pass it as standard
297 2004-11-30 Matthias Clasen <mclasen@redhat.com>
301 2004-11-30 Tor Lillqvist <tml@iki.fi>
303 * glib/gspawn-win32-helper.c (WinMain): Also check errno to detect
304 true errors from spawn*(). (#157258, reported by Bruce Hochstetler)
306 2004-11-29 Matthias Clasen <mclasen@redhat.com>
308 * glib/gmacros.h (G_GNUC_MALLOC): Define empty for gcc 2.95.
310 * glib/gmarkup.c (unescape_text_state_after_charref_hash):
311 Avoid a strndup() here, noticed by Morten Welinder.
313 2004-11-29 Matthias Clasen <mclasen@redhat.com>
315 * glib/gmarkup.c: Remove leftover noinline attributes.
316 (is_name_start_char, is_name_char): Avoid possible reads
317 beyond the end of g_ascii_table.
319 * glib/Makefile.am: Use the perl found by configure. (#149826,
322 Sun Nov 28 13:13:56 2004 Manish Singh <yosh@gimp.org>
324 * glib/abicheck.sh: filter G_GNUC before PRIVATE so $ is still true.
326 * tests/utf8-validate.c: cast pointer math to gint for error print
329 Sun Nov 28 12:07:29 2004 Manish Singh <yosh@gimp.org>
331 * tests/utf8-validate.c: minor comment fix.
333 2004-11-28 Matthias Clasen <mclasen@redhat.com>
340 * glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate.
342 * glib/glib.symbols: Add G_GNUC_MALLOC annotations.
344 * glib/gmacros.h (G_GNUC_MALLOC): Add a macro for
345 __attribute__((__malloc__)). (#61780)
347 2004-11-28 Tor Lillqvist <tml@iki.fi>
350 * glib/glib.symbols: [Win32] Make also g_get_user_name() and
351 g_get_real() name return UTF-8. As for the similar changes to fix
352 #101792, for DLL ABI stability we use preprocessor defines to get
353 the new UTF-8 versions, and keep the old names for versions
354 returning strings in the system codepage.
356 Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8
357 as was intended in the fix for bug #101792. (#159664, noticed by
360 2004-11-28 Matthias Clasen <mclasen@redhat.com>
362 * glib/gmarkup.c: Optimizations; don't scan the entire text
363 in find_current_text_end(), split unescape_text() into multiple
364 functions. (#159001, Havoc Pennington)
366 2004-11-27 Matthias Clasen <mclasen@redhat.com>
368 * glib/gspawn.c (g_spawn_async_with_pipes): Update the @flags
369 documentation with references to GChildWatch and
370 g_spawn_close_pid(). (#136255, noted by Owen Taylor)
372 2004-11-26 Matthias Clasen <mclasen@redhat.com>
374 * glib/gkeyfile.c (g_key_file_parse_value_as_string):
375 Don't access invalid memory address if p wasn't
376 increased. (#159557, Frederic Crozat)
378 2004-11-25 Matthias Clasen <mclasen@redhat.com>
380 * tests/strtod-test.c (main): Add a testcase for the previous fix.
382 * glib/gstrfuncs.c (g_ascii_strtod): Make it work again for floats
383 starting with a decimal point, like .75 (#156421, Hans Breuer)
385 Thu Nov 25 14:02:43 2004 Manish Singh <yosh@gimp.org>
387 * glib/abicheck.sh: filter out G_GNUC stuff when doing the compare.
389 * glib/gmessages.c (g_assert_warning): call abort() at the end, so
392 2004-11-25 Kjartan Maraas <kmaraas@gnome.org>
394 * configure.in: Add «nb» to ALL_LINGUAS.
396 2004-11-24 Tor Lillqvist <tml@iki.fi>
398 * glib/gwin32.c (g_win32_error_message,
399 get_package_directory_from_module,
400 g_win32_get_package_installation_directory,
401 g_win32_get_package_installation_subdirectory): Use wide character
402 API when available. Document that string parameters and return
405 2004-11-24 Matthias Clasen <mclasen@redhat.com>
407 * glib/gutf8.c: Replace g_utf8_validate() with an
408 optimized version, and clarify the docs a bit. (#159131,
411 * tests/Makefile.am (test_programs): Add utf8-validate.
413 * tests/utf8-validate.c: Unit tests for g_utf8_validate().
415 2004-11-23 Matthias Clasen <mclasen@redhat.com>
417 * glib/goption.h: Don't mark g_option_error_quark() as const,
418 to be consistent with all the other error_quark functions.
419 (technically they are const, but since these are called only
420 in error paths, giving the compiler better optimization
421 opportunities doesn't matter much)
423 2004-11-23 Matthias Clasen <mclasen@redhat.com>
425 Fix a problem with the PLT reduction changes which caused the
426 internal aliases to lose all attributes.
428 * glib/glib.symbols: Add attribute annotations.
429 * glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
430 * glib/Makefile.am (glib.def): Strip attribute annotations, but keep
433 2004-11-21 Hans Breuer <hans@breuer.org>
435 * **/makefile.msc : updated
437 2004-11-16 Matthias Clasen <mclasen@redhat.com>
439 * m4macros/glib-2.0.m4 (AM_PATH_GLIB_2_0): Support gmodule-no-export.
441 * Makefile.am (EXTRA_DIST):
442 * configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in
444 * gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
445 which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
446 need it. (#125627, Owen Taylor)
448 2004-11-17 Matthias Clasen <mclasen@redhat.com>
450 * glib/gkeyfile.c: Define S_ISREG() on windows, since it
451 is not present there. (#158469, Kazuki IWAMOTO)
453 2004-11-15 Matthias Clasen <mclasen@redhat.com>
455 * glib/gkeyfile.c (g_key_file_load_from_fd): Use S_ISREG(), since
456 S_IFMT and S_IFREG are apprarently missing on some systems (they
457 are SUS, but not Posix). (#158263)
459 2004-11-12 Matthias Clasen <mclasen@redhat.com>
461 * configure.in: Bump version.
463 * === Released 2.5.6 ===
465 2004-11-11 J. Ali Harlow <ali@juiblex.co.uk>
467 * gobject/Makefile.am:
468 * glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
469 escape sequence. (#157951)
471 2004-11-10 Tor Lillqvist <tml@iki.fi>
473 * glib/gconvert.c (g_get_filename_charsets): Fix typo in doc
476 2004-11-10 Matthias Clasen <mclasen@redhat.com>
480 Mon Nov 8 10:45:50 2004 Manish Singh <yosh@gimp.org>
484 * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail
486 * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually
487 return the passed in pointer.
489 2004-11-08 Matthias Clasen <mclasen@redhat.com>
491 * glib/gnode.h (enum GTraverseFlags): Add G_TRAVERSE_LEAVES
492 and G_TRAVERSE_NON_LEAVES as alternative names for
493 G_TRAVERSE_LEAFS and G_TRAVERSE_NON_LEAFS, which are
494 grammatically brutal. (#138853, Morten Welinder)
496 * glib/gasyncqueue.[hc]:
499 * glib/giochannel.[hc]: Make g_io_channel_ref(),
500 g_main_context_ref(), g_hook_ref(), g_async_queue_ref()
501 return the passed in pointer. (#151663, Manish Singh)
503 * glib/gmain.c: Initialize child_watch_count to 1, so
504 that we don't miss the very first child if it exits
505 before we set up the child watch. In that case we had
506 previously source->count == child_watch_count == 0,
507 causing g_child_watch_check() to skip the waitpid()
508 call. (#154827, Gustavo Carneiro)
510 * glib/gmain.c (g_child_watch_source_init_single)
511 (g_child_watch_source_init_multi_threaded): Use sigaction()
512 instead of signal(). (#136867, Jonas Jonsson, patch by
515 2004-11-07 Matthias Clasen <mclasen@redhat.com>
517 * glib/gutils.c (g_get_any_init): Work around an bug
518 in Mac OS < 10.3. (#156446, Dave MacLachlan)
520 2004-11-06 Tor Lillqvist <tml@iki.fi>
522 * glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL
523 define to the same place where it is in a configure-generated
526 2004-11-05 Matthias Clasen <mclasen@redhat.com>
528 * tests/strtod-test.c: Portability fixes and extra sanity
529 checks. (#157453, Morten Welinder)
531 2004-11-04 Matthias Clasen <mclasen@redhat.com>
533 * glib/gstrfuncs.c (g_ascii_strtod): Handle numbers like
534 1e1, nan, -infinity. Also try harder to preserve errno.
535 (#156421, Morten Welinder)
537 * tests/strtod-test.c: Add testcases.
539 2004-11-04 Tor Lillqvist <tml@iki.fi>
541 * glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
542 to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.
544 * glib/goption.c (parse_arg): Obey the above flag.
546 * glib/gconvert.c (g_filename_display_name): Document that the
547 result is guaranteed to be non-NULL.
549 * glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
550 get_contents_posix, get_contents_win32, g_file_open_tmp,
551 g_file_read_link): Use g_filename_display_name() for error
553 (g_mkstemp): Document that the template should be in the GLib file
555 (g_file_open_tmp): Ditto. Also document that the actual name
556 returned is also in the GLib file name encoding.
558 2004-11-02 Matthias Clasen <mclasen@redhat.com>
560 * glib/gconvert.c (g_filename_display_name): New function
561 to convert a filename to a UTF-8 string for display
562 purposes. (requested by Alex Larsson)
564 * glib/gconvert.c (g_get_filename_charsets): New function
565 to return the encodings which are tried when converting a
566 filename to UTF-8. (#151465, François Gagné)
568 2004-11-02 Matthias Clasen <mclasen@redhat.com>
570 * configure.in: Bump version
572 * === Released 2.5.5 ===
576 2004-11-02 Matthias Clasen <mclasen@redhat.com>
578 * glib/glib.symbols: Add new functions.
580 * glib/gconvert.c: Fix doc comment for
581 g_get_filename_charsets().
583 * glib/gconvert.c (g_filename_display_name): New function to
584 convert a filename to a UTF-8 string for display purposes.
585 (g_get_filename_charsets): New function to return the
586 encodings which are tried when converting a filename to
589 * glib/goption.c (g_option_context_parse): Document that
590 this function may not return.
592 2004-11-01 Matthias Clasen <mclasen@redhat.com>
594 * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
597 2004-11-01 Tor Lillqvist <tml@iki.fi>
599 * glib/gstdio.c (g_lstat): Implement correctly also on Unix
600 systems without lstat(). (#157038, Morten Welinder)
602 2004-11-01 Ray Strode <rstrode@redhat.com>
605 (g_key_file_get_locale_string): don't return an
606 error if we come across a value with invalid utf8 or
607 if we don't find a translated string. Just fallback
608 to the untranslated string (Mark McLoughlin, bug
612 (g_key_file_init), (g_key_file_clear): track the
613 actual start GKeyFileGroup rather than just its name
614 (g_key_file_parse_group): allow add_group() to
615 update the start group.
616 (g_key_file_remove_group_node): update the start
617 group if it gets removed (Mark McLoughlin, bug
621 (g_key_file_parse_string_as_value): Don't escape
622 tabs and spaces in the middle of key values.
624 2004-11-01 Matthias Clasen <mclasen@redhat.com>
630 * gthread/gthread-posix.c
631 * tests/timeloop-closure.c
632 * tests/timeloop.c: Fix sparse warnings. (#157014, Kjartan Maraas)
634 2004-11-01 Matthias Clasen <mclasen@redhat.com>
636 * glib/goption.c: Documentation updates.
638 Handle conflicts between options in different groups. (#156808)
640 * glib/goption.c (g_option_context_parse): When a long option does not
641 match exactly, try to parse it as --group-option.
642 (g_option_context_add_group): Warn if a group name conflict occurs.
644 * glib/goption.c (print_help): Print out the effective options, ie
645 don't print shadowed short options, and for long options print
646 --group-option instead of --option if appropriate.
648 2004-10-31 Matthias Clasen <mclasen@redhat.com>
650 * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
653 2004-10-31 Tor Lillqvist <tml@iki.fi>
655 * glib/gwin32.c: Document g_win32_get_windows_version().
657 * glib/gstdio.[ch]: Add g_lstat().
659 2004-10-29 Matthias Clasen <mclasen@redhat.com>
661 * glib/goption.c: Doc additions.
663 * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
666 2004-10-29 Hans Breuer <hans@breuer.org>
668 * glibconfig.h */makefile.msc.in : updated [and finally fixed my
669 script to produce ready to go de-in(ed) files, w/o autotools]
671 * */*.rc.in : updated copyrights to 2004
673 * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
674 use the same fallback mecahnism as on *NIX where ever applicable
676 2004-10-29 Matthias Clasen <mclasen@redhat.com>
678 * tests/option-test.c: Add tests for the handling of
679 non-option arguments, "--" and G_OPTION_REMAINING.
681 * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
682 a special long option name, which can be used for an option
683 in the main group which collects the non-option arguments.
684 It must be of type G_OPTION_ARG_STRING_ARRAY or
685 G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
686 an option whose name is G_OPTION_REMAINING, the non-option
687 arguments are left behind in argv as before.
689 * glib/goption.c: Add documentation.
691 2004-10-28 Matthias Clasen <mclasen@redhat.com>
693 * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
694 to avoid compiler warnings. (#156767, Owen Taylor)
696 2004-10-29 Tor Lillqvist <tml@iki.fi>
698 * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
699 with MSVC. [156727, Kazuki IWAMOTO]
701 * glib/giochannel.h (g_io_channel_new_file): Redefine also
702 g_io_channel_new_file to the UTF-8 version on Win32. [156725,
705 2004-10-28 Ray Strode <rstrode@redhat.com>
708 (find_file_in_data_dirs): clean up a leak (#156652,
710 (g_key_file_load_from_fd): propagate fstat() error
711 conditions and retry read on EAGAIN (#156647, Morten
712 Welinder). Return error if file is NOT regular, not if
713 it is regular (bug introduced from last commited bug
715 (g_key_file_load_from_data_dirs): allocate enough space
716 for the terminating NULL.
718 2004-10-28 Ray Strode <rstrode@redhat.com>
720 * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
723 2004-10-28 Matthias Clasen <mclasen@redhat.com>
725 * glib/gstdio.c: Include galias.h before glib.h (#156697,
728 * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
730 2004-10-28 Tor Lillqvist <tml@iki.fi>
732 * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
735 * glib/gkeyfile.c: Include gstdio.h and use g_open().
737 2004-10-27 Ray Strode <rstrode@redhat.com>
740 (g_key_file_load_from_fd),
741 (g_key_file_load_from_file):
742 Move file is regular check to load_from_file to use
743 fstat() instead of race prone g_file_test(). Don't
744 clear/init until needed. Change error messages to be
746 (g_key_file_load_from_data),
747 (g_key_file_load_from_data_dirs),
748 (g_key_file_parse_data),
749 (g_key_file_get_value),
750 (g_key_file_get_string),
751 (g_key_file_set_string),
752 (g_key_file_get_string_list),
753 (g_key_file_set_string_list),
754 (g_key_file_set_locale_string),
755 (g_key_file_get_locale_string),
756 (g_key_file_set_locale_string_list),
757 (g_key_file_get_boolean),
758 (g_key_file_set_boolean),
759 (g_key_file_get_boolean_list),
760 (g_key_file_set_boolean_list),
761 (g_key_file_get_integer),
762 (g_key_file_get_integer_list),
763 (g_key_file_set_integer_list),
764 (g_key_file_remove_key):
765 Add more g_return_*if_fail checks for public functions.
767 2004-10-27 Matthias Clasen <mclasen@redhat.com>
769 * configure.in: Bump version.
771 * === Released 2.5.4 ===
773 2004-10-27 Matthias Clasen <mclasen@redhat.com>
775 * glib/abicheck.sh: Strip Win32 specific defs file syntax.
779 2004-10-27 Matthias Clasen <mclasen@redhat.com>
781 Introduce the idea of a filename encoding, which is
782 *literally* the filename encoding on Unix. On Windows,
783 use the Unicode name converted to UTF-8. (#101792,
784 Tor Lillqvist, Owen Taylor)
787 * glib/gconvert.[hc]:
788 * glib/gfileutils.[hc]:
790 * glib/giowin32.c: On Windows, keep old ABI versions
791 of GLib pathname api for DLL ABI stability. Use different
792 names for the new-style UTF-8 versions. Hide this through
795 * glib/gstdio.[hc]: New files containing wrappers for
798 * glib/glib.symbols: Add new symbols.
800 * glib/makegalias.pl: Drop Win32 specific .def syntax,
803 2004-10-27 Matthias Clasen <mclasen@redhat.com>
805 * glib/gkeyfile.c: Fix includes. (#156500, #156499,
808 * glib/Makefile.am (galias.h): Fix srcdir != builddir
809 builds. (#156447, Thomas Fitzsimmons)
811 2004-10-26 Gora Mohanty <gmohanty@cvs.gnome.org>
813 * configure.in: Added 'or' to ALL_LINGUAS.
815 2004-10-26 Matthias Clasen <mclasen@redhat.com>
817 * glib/gkeyfile.c: Include galias.h.
819 * glib/gkeyfile.c (g_key_file_parse_value_as_comment):
820 Don't compare strings and chars.
822 * glib/glib.symbols: Add new symbols.
824 * glib/gkeyfile.c (g_key_file_new): Fix docs.
826 * glib/gkeyfile.h: Use the same parameter names as in
827 the implementation and the docs.
829 * glib/gwin32.c (g_win32_get_windows_version): Make this
830 function thread-safe in the GLib style.
831 * glib/gthreadinit.h:
832 * glib/gwin32.c (_g_win32_thread_init): New function to
833 initialize the version.
834 * glib/gthread.c (g_thread_init_glib): Call
835 _g_win32_thread_init() from here.
837 2004-10-26 Ray Strode <rstrode@redhat.com>
839 * glib/gkeyfile.c: Add Matthias to "Written by" lines
840 (GKeyFileGroup): add field to hold comments about groups
841 (g_key_file_load_from_fd): return TRUE on success and
842 FALSE on failure. Don't close fd's opened by other
844 (g_key_file_load_from_file): run FILE_IS_REGULAR test
845 before trying to open file, to save an fd from being
846 leaked (would probably be better to use fstat()). Close
847 fd when done with it. Return TRUE on success and FALSE
849 (g_key_file_load_from_data): Return TRUE on success and
851 (g_key_file_load_from_data_dirs): remove superfluous
852 const modifier. Return TRUE on success and FALSE on
853 failure. Stop trying to load files when one succeeds.
854 (g_key_file_parse_key_value_pair): don't validate input
855 for UTF-8 until users uses a getter that does
856 validation. Don't leak copy of start_group_name.
857 (g_key_file_to_data): serialize new comment field for
859 (g_key_file_get_keys): Remove convenience code to let
860 NULL group mean start group. Get rid of unneeded NULL
861 check before g_strdup.
862 (g_key_file_get_groups): Reverse groups list before
863 sending to user because it is maintained in backward
865 (g_key_file_get_value),
866 (g_key_file_set_value): add g_return checks at top of
868 (g_key_file_get_string),
869 (g_key_file_get_string_list): validate key value is UTF-8.
870 (g_key_file_[sg]et_*comment): new functions for
871 setting/getting comments
872 (g_key_file_remove_comment): new function to remove
874 (g_key_file_remove_key_value_pair_node): new function to
875 pull a key-value pair out of the list and free it.
876 (g_key_file_remove_group_node): call
877 g_key_file_remove_key_value_pair_node instead of
878 freeing the list immediately to get better statistics
879 for approximate_size.
880 (g_key_file_remove_group): use lookup_group_node instead
881 of lookup_group to prevent a g_list_find call.
882 (g_key_file_add_key): report group also when unable to
884 (g_key_file_lookup_group_node): new function to make
885 getting the group node from a group name easier.
886 (g_key_file_lookup_group): use lookup_group_node under
888 (g_key_file_lookup_key_value_pair_node): new function to
889 make getting the key-value pair from a group and key
891 (g_key_file_parse_comment_as_value): new function to add '#' to the
892 beginning of every line.
893 (g_key_file_parse_value_as_comment): new function that
894 attempts to be the inverse of comment as value.
896 2004-10-26 Matthias Clasen <mclasen@redhat.com>
899 * glib/gkeyfile.c: Don't include ctype.h needlessly. (#156424,
902 * tests/strtod-test.c (test_string): Improve error reporting.
904 Mon Oct 25 15:05:18 2004 Manish Singh <yosh@gimp.org>
906 * autogen.sh: rm autom4te.cache, since it might interfere with
907 differing autoconf versions.
909 * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
912 * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
913 don't redefine it here.
915 2004-10-24 Matthias Clasen <mclasen@redhat.com>
917 * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
918 destroy the lookup map if it is NULL.
920 2004-10-23 Matthias Clasen <mclasen@redhat.com>
922 * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c,
923 glib/giochannel.c, glib/gmain.c, glib/gspawn.c,
924 glib/libcharset/localcharset.c: Apply a patch to fix
925 sparse warnings. (#154696, Kjartan Maraas)
927 * glib/gnulib/g-gnulib.h: Undef libc functions before defining
928 them, since they may also be macros. (#155177, Andrea Campi)
931 * glib/gkeyfile.c: Add a parser for desktop entries and
932 similar files with a .ini-like syntax. (#139974, Ray Strode)
934 * glib/glib.h: Include gkeyfile.h
936 * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
937 (glibsubinclude_HEADERS): Add gkeyfile.h
939 * glib/gutils.c (_g_compute_locale_variants): Make this
940 non-static and use it in gkeyfile.c
942 2004-10-22 Matthias Clasen <mclasen@redhat.com>
944 * tests/uri-test.c (run_uri_list_tests): Add some
948 * glib/gconvert.c (g_uri_list_extract_uris): New function to
949 split a text/uri-list data into individual uris and strip comments.
951 2004-10-20 Matthias Clasen <mclasen@redhat.com>
953 * glib/goption.c (get_change): Don't return the wrong
954 change. (#155856, Lucas Rocha)
956 2004-10-17 Matthias Clasen <mclasen@redhat.com>
958 * glib/gutils.h (G_IS_DIR_SEPARATOR):
959 * glib/gutils.c: Make public. (#155589, Tim-Philipp Müller)
961 2004-10-08 Matthias Clasen <mclasen@redhat.com>
963 * glib/gmain.c (g_child_watch_add_full):
964 * glib/gmain.c (g_child_watch_add): Document that GLib supports only
965 a single callback per pid. (#154828, Gustavo Carneiro)
967 2004-10-06 Matthias Clasen <mclasen@redhat.com>
969 * glib/gfileutils.c: Fix some C99isms. (#154676, Kjartan Maraas)
971 2004-10-05 Anders Carlsson <andersca@gnome.org>
973 * glib/goption.c: (g_option_context_parse):
974 Add check for if argc is 0.
976 * tests/option-test.c: (empty_test3), (main):
979 2004-10-05 Matthias Clasen <mclasen@redhat.com>
983 2004-10-04 Matthias Clasen <mclasen@redhat.com>
985 * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
986 vtable is set. (#154352, Philippe Blain)
988 2004-10-03 Anders Carlsson <andersca@gnome.org>
990 * glib/goption.c: (parse_arg):
991 Set arg_data on filenames. (Discovered by Mats-Ola Persson).
993 * tests/option-test.c: (arg_test3), (ignore_test3), (main):
994 Add test for filename args.
996 2004-10-01 Tor Lillqvist <tml@iki.fi>
998 * glib/goption.c (g_option_context_parse): Use
999 g_path_get_basename() instead of strrchr(), so that either slash
1000 is accepted on Windows.
1002 2004-09-30 Matthias Clasen <mclasen@redhat.com>
1004 * glib/gfileutils.c: Convert filenames to UTF-8 before
1005 putting them in GErrors. (#154078, Morten Welinder)
1007 2004-09-29 Matthias Clasen <mclasen@redhat.com>
1009 * glib/glib.symbols: Add g_assert_warning.
1012 * glib/gmessages.c (g_assert_warning): Treat g_assert
1013 in the same way as g_return_if_fail and move the string
1014 constants into a helper function, which also takes
1015 care of removing the "IA__" prefix from internal aliases.
1017 * glib/gmessages.h: Move the declaration of
1018 g_return_if_fail_warning() out of the ifdefs, so that
1019 building with G_DISABLE_ASSERT works.
1021 2004-09-27 Murray Cumming <murrayc@murrayc.com>
1023 * glib/goptions.[h|c], glib/glib.symbols: Rename
1024 g_context_option_error_quark() to g_option_error_quark(), because that
1025 is consistent with normal naming conventions, and what bindings expect.
1027 .2004-09-26 Matthias Clasen <mclasen@redhat.com>
1029 Fix #153649, Hidetaka Iwai:
1031 * glib/goption.c (parse_long_option): Don't forget to set parsed
1032 to TRUE when parsing a long ARG_NONE option.
1033 (free_changes_list): Fix the memory management for string
1034 and filename arrays.
1036 2004-09-22 Tor Lillqvist <tml@iki.fi>
1038 * glib/gmessages.c: [Win32] Don't ever open a console
1039 window. (Which we used to do if standard output or standard error
1040 are invalid, as they are for GUI applications.) These console
1041 windows that open up unexpectedly have caused endless amounts of
1042 confusion among end-users. (#141102, #151175)
1044 Don't output the process id on Windows. Only output the program
1045 name. If not set with g_set_prgname(), fetch the application
1046 executable's name and use that.
1048 Mon Sep 20 00:35:14 2004 Matthias Clasen <maclas@gmx.de>
1050 * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
1051 convert UTF-16 byte stream of ambiguous endianness. (#152954,
1054 Mon Sep 20 00:17:37 2004 Matthias Clasen <maclas@gmx.de>
1056 * tests/option-test.c (error_test3_post_parse):
1057 * tests/option-test.c (error_test2_post_parse):
1058 * tests/option-test.c (error_test1_post_parse): Don't call
1059 g_set_error () with a NULL format. (#153103, Robert Ögren)
1061 Mon Sep 20 00:13:48 2004 Matthias Clasen <maclas@gmx.de>
1063 Make GOption remove long options completely. (#153113, Robert Ögren)
1065 * glib/goption.c (parse_long_option): Fix a wrong index.
1067 * tests/option-test.c (ignore_test3): Test handling of unknown
1070 Sun Sep 19 23:56:15 2004 Matthias Clasen <maclas@gmx.de>
1072 * glib/goption.c (g_option_context_parse): Call error_func
1073 on error, not post_parse_func again. (#153107, Robert Ögren)
1075 Sun Sep 19 23:52:35 2004 Matthias Clasen <maclas@gmx.de>
1077 * glib/gmessages.c (mklevel_prefix):
1078 * glib/gmessages.c (g_logv): Fix the types of some variables
1079 to be GLogLevelFlags instead of guint. (#153042, Philippe Blain)
1081 2004-09-18 Matthias Clasen <mclasen@redhat.com>
1085 * === Released 2.5.3 ===
1087 2004-09-17 Matthias Clasen <mclasen@redhat.com>
1089 * NEWS: More updates.
1091 Thu Sep 16 18:42:46 2004 Manish Singh <yosh@gimp.org>
1093 * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
1096 Thu Sep 16 18:15:32 2004 Manish Singh <yosh@gimp.org>
1098 * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
1099 of characters, instead of a gsize. Technically this is incorrect,
1100 but this makes it match the prototype, and this is a deprecated
1103 2004-09-16 Matthias Clasen <mclasen@redhat.com>
1105 * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
1107 Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de>
1109 Implement the same PLT reduction technique used in GTK+:
1111 * glib/glib.symbols: Master list of symbols
1113 * glib/makegalias.pl: Perl script which creates galias.h
1115 * glib/abicheck.sh: Compares actual exports against glib.symbols
1117 * glib/glib.def: Removed. This file is now generated from
1120 * glib/Makefile.am: Add rules to generate galias.h and glib.def,
1121 and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
1123 * configure.in: Add --disable-visibility to suppress the
1124 use of ELF visibility attributes.
1126 * glib/*.c: Include galias.h
1128 2004-09-15 Tor Lillqvist <tml@iki.fi>
1130 * glib/gwin32.c (g_win32_error_message): Convert message to
1131 UTF-8. Technically this breaks API, but the actual use cases in
1132 gdk/win32 have assumed it is UTF-8 anyway. Fix
1133 documentation. (#152618, Kazuki Iwamoto)
1135 * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
1136 good idea, and it clashes with newest mingw headers, which have a
1137 ftruncate implementation as an inline function. Thanks to Dominik R.
1139 * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
1140 call _chsize() in the C library.
1142 2004-09-15 Matthias Clasen <mclasen@redhat.com>
1146 2004-09-09 Matthias Clasen <mclasen@redhat.com>
1148 * glib/gmessages.c (g_return_if_fail_warning): Strip the
1149 prefix "IA__" from function names, since that is what
1150 GTK+ uses for the PLT-reduction aliases.
1152 Thu Sep 9 13:52:26 2004 Owen Taylor <otaylor@redhat.com>
1154 * glib/gmessages.c (g_return_if_fail_warning):
1155 Include implementation of g_return_if_fail_internal().
1157 Thu Sep 9 10:37:41 2004 Owen Taylor <otaylor@redhat.com>
1159 * glib/gmessages.h (g_return_[val_]if_fail): Use
1160 a helper function to reduce code size; omit FILE/LINE
1161 when we have __PRETTY_FUNCTION__.
1163 2004-09-09 Matthias Clasen <mclasen@redhat.com>
1165 * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
1167 Thu Sep 9 00:10:40 2004 Matthias Clasen <maclas@gmx.de>
1170 * glib/gstrfuncs.c (g_strv_length): Add a function to
1171 calculate the length of a NULL-terminated string
1172 array. (#150455, Tim-Philipp Müller)
1174 * tests/strfunc-test.c (main): Add a test for g_strv_length().
1176 2004-09-08 Tor Lillqvist <tml@iki.fi>
1178 * glib/gutils.c (guess_category_value): On Win32, as last resort
1179 call g_win32_getlocale() to get the current thread locale. There
1180 usually aren't any POSIXish LANG or LC_* environment variables
1181 present on Windows machines.
1183 * glib/glib.def: Add g_get_language_names.
1185 2004-09-07 Matthias Clasen <mclasen@redhat.com>
1188 * glib/gutils.c (g_get_language_names): Add a function to
1189 return a list of applicable locale names. (#95587,
1191 (guess_category_value, compute_locale_variants):
1192 (explode_locale, unalias_lang, read_aliases): Helper
1193 functions for g_get_language_names()
1195 * tests/testglib.c (main): Show the results of
1196 g_get_language_names()
1198 Sun Sep 5 01:46:11 2004 Matthias Clasen <maclas@gmx.de>
1202 * glib/gmessages.c (g_log_set_default_handler): New
1203 function to install an alternate default log
1204 handler. (#66387, Darin Adler)
1206 2004-09-03 Tor Lillqvist <tml@iki.fi>
1208 * glib/glib.def: Update.
1210 Wed Sep 1 20:22:39 2004 Matthias Clasen <maclas@gmx.de>
1213 * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
1214 a function to calculate the ISO 8601 week number of
1215 a date. (#92579, Niklas Lundell)
1217 2004-09-01 Anders Carlsson <andersca@gnome.org>
1219 * glib/goption.c: (g_option_context_parse):
1220 Set program name before calling the pre-parse hooks.
1222 2004-09-01 Anders Carlsson <andersca@gnome.org>
1224 * glib/goption.c: (g_option_context_free), (print_help),
1225 (g_option_context_parse):
1226 Handle option contexts without a main group.
1228 * tests/option-test.c: (empty_test2), (main):
1229 Add test case for that.
1231 2004-08-30 Anders Carlsson <andersca@gnome.org>
1233 * glib/goption.c: (g_option_context_parse):
1234 Set prgname to <unknown> if argc and argv are NULL.
1236 * tests/option-test.c: (empty_test1), (main):
1237 Add test case for that.
1239 Sun Aug 29 23:58:38 2004 Matthias Clasen <maclas@gmx.de>
1241 * glib/ghash.c (g_hash_table_lookup): Point to
1242 g_hash_table_lookup_extended() for differentiation between
1243 not-found and value-is-NULL. (#150960, Morten Welinder)
1245 2004-08-27 Matthias Clasen <mclasen@redhat.com>
1247 Fix #151193, Stepan Kasal:
1249 * glib/gfileutils.c (g_file_error_from_errno):
1250 * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
1252 Fri Aug 27 00:45:41 2004 Matthias Clasen <maclas@gmx.de>
1254 * glib/goption.c (g_option_context_parse): Set the program name
1255 from argv[0], noticed by Masatake YAMATO.
1257 2004-08-26 Tor Lillqvist <tml@iki.fi>
1259 * tests/testglib.c (main): Test the new XDG basedir functions.
1261 2004-08-25 Tor Lillqvist <tml@iki.fi>
1263 * glib/gwin32.c (g_win32_get_windows_version): New
1264 function. Returns the Windows version code like GetVersion(),
1265 except that one can pretend to be running on Win9x by setting the
1266 G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
1269 * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
1270 and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
1272 2004-08-25 Matthias Clasen <mclasen@redhat.com>
1274 * configure.in: Post-release version bump.
1276 * === Released 2.5.2 ===
1278 Wed Aug 25 00:25:08 2004 Matthias Clasen <maclas@gmx.de>
1280 * NEWS: Update for 2.5.2
1282 2004-08-25 Tor Lillqvist <tml@iki.fi>
1284 Win32 equivalences of the XDG folders
1286 * glib/gutils.c (get_special_folder): New function, calls
1287 SHGetSpecialFolderLocation() to get path to places like the My
1289 (g_get_any_init): Use CSIDL_PROFILE as HOME if not
1290 overridden by env vars.
1291 (g_get_user_data_dir): Use CSIDL_PERSONAL.
1292 (g_get_user_config_dir): Use CSIDL_APPDATA.
1293 (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
1294 (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
1295 CSIDL_COMMON_DOCUMENTS.
1296 (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
1298 * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
1300 * glib/glib.def: Add the new functions.
1302 Mon Aug 23 16:16:35 2004 Manish Singh <yosh@gimp.org>
1304 * glib/goption.c (g_option_group_add_entries): remove unused
1307 Mon Aug 23 01:35:18 2004 Matthias Clasen <maclas@gmx.de>
1309 * glib/gutils.c (g_get_user_cache_dir):
1310 * glib/gutils.c (g_get_user_config_dir):
1311 * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
1312 while holding the g_utils_global lock, simply use g_home_dir.
1313 (#150695, Jody Goldberg)
1315 2004-08-21 Tor Lillqvist <tml@iki.fi>
1317 * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
1318 break out of its loop. Prevents a thread leak. (#147392, Peter
1321 * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
1322 return value from strxfrm(). For instance Microsoft's strxfrm()
1323 returns INT_MAX on errors. (#141124)
1325 2004-08-19 Tor Lillqvist <tml@iki.fi>
1327 * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
1328 source and destination charset parameter order in g_convert()
1329 call. (#150394, possibly also #141124)
1331 2004-08-20 Jon K Hellan <hellan@acm.org>
1333 * glib/goption.h: Remove trailing commas.
1335 2004-08-17 Matthias Clasen <mclasen@redhat.com>
1337 * configure.in: Check for all four values of the
1338 visibility attribute; gcc 2.96 seems to miss
1339 "default". (#150379, Vincent Noel)
1341 2004-08-16 Christian Rose <menthos@menthos.com>
1343 * configure.in: Added "bs" to ALL_LINGUAS.
1345 2004-08-11 Ray Strode <rstrode@redhat.com>
1347 * docs/reference/glib/glib-sections.txt:
1348 * glib/gutils.[ch] (g_get_user_data_dir),
1349 (g_get_user_config_dir), (g_get_user_cache_dir),
1350 (g_get_system_data_dirs), (g_get_system_config_dirs):
1351 Add new XDG basedir API (bug 139973).
1353 2004-08-10 Matthias Clasen <mclasen@redhat.com>
1355 * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
1356 * configure.in: Check whether the visibility attribute
1357 works and define G_HAVE_GNUC_VISIBILITY and
1358 G_GNUC_INTERNAL in glibconfig.h correspondingly.
1360 Mon Aug 9 17:37:56 2004 Matthias Clasen <maclas@gmx.de>
1362 * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
1364 2004-08-06 Hans Breuer <hans@breuer.org>
1366 * glib/makefile.msc.in glib/glib.def : updated
1368 * glib/gutils.c : avoid 'inconsitent dll linkage' by not
1369 defining extern char** environ with msvc
1371 2004-08-06 Matthias Clasen <mclasen@redhat.com>
1373 * m4macros/glib-gettext.m4: Require ngettext. (#123847,
1376 Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
1378 * glib/gutils.h (g_get_codeset): strdup result so caller
1379 doesn't free internally managed memory.
1381 2004-08-04 Tor Lillqvist <tml@iki.fi>
1383 * glib/glib.def: Add glib_check_version.
1385 * config.h.win32.in: Update to match what configure produces. Add
1386 the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
1387 HAVE_INT64_AND_I64 to where the configure script puts it. Add
1388 HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
1390 Tue Aug 3 16:19:44 2004 Matthias Clasen <maclas@gmx.de>
1392 * glib/goption.c: Mark user visible strings for translation.
1394 Tue Aug 3 15:50:55 2004 Matthias Clasen <maclas@gmx.de>
1396 * glib/goption.[hc]: Pedantically use g types throughout.
1398 Tue Aug 3 14:58:20 2004 Matthias Clasen <maclas@gmx.de>
1401 * glib/gutils.c (glib_check_version): New function to
1402 check the version of GLib at runtime. (#149175, Michael Natterer)
1404 2004-08-03 Anders Carlsson <andersca@gnome.org>
1408 Move GTranslateFunc to gtypes.h
1410 2004-08-02 Anders Carlsson <andersca@gnome.org>
1417 * tests/Makefile.am:
1418 * tests/option-test.c:
1421 2004-08-02 Matthias Clasen <mclasen@redhat.com>
1423 * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
1424 declarations as internal and avoid PLT indirections for
1425 them. (#145465, Arjan van de Ven)
1427 * glib/gunicodeprivate.h:
1428 * glib/gthreadinit.h:
1431 * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
1432 _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
1433 _g_messages_thread_init(), _g_convert_thread_init(),
1434 _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
1435 _g_mem_thread_private_init(), _g_messages_thread_private_init(),
1436 _g_utf8_normalize_wc() and _g_unichar_combining_class().
1438 * glib/gatomic.c: Include gthreadinit.h here to see the declaration
1439 for _g_atomic_thread_init().
1441 Sun Aug 1 13:19:18 2004 Manish Singh <yosh@gimp.org>
1443 * tests/uri-test.c: move newline printing from run_from_uri_tests()
1444 to run_roundtrip_tests().
1446 2004-08-01 Matthias Clasen <mclasen@redhat.com>
1448 * Post-release version bump
1450 * === Released 2.5.1 ===
1452 Sat Jul 31 23:17:05 2004 Matthias Clasen <maclas@gmx.de>
1456 Sat Jul 31 20:33:07 2004 Matthias Clasen <maclas@gmx.de>
1458 * tests/shell-test.c: Include a test involving consecutive
1459 backslashes followed by a non-escaped doublequote.
1461 * glib/gshell.c (tokenize_command_line): Count consecutive
1462 backslashes mod 2 to detect escaped doubleqotes. (#127306)
1464 2004-07-30 Matthias Clasen <mclasen@redhat.com>
1466 * glib/gconvert.c (g_unescape_uri_string): Don't validate
1467 for UTF-8 here. (#148420, Robert Ögren)
1469 * tests/uri-test.c (run_roundtrip_tests): Add tests for
1470 roundtrip compatibility. Going from filename to uri and
1471 back should always give you the same filename back.
1473 2004-07-28 Matthias Clasen <mclasen@redhat.com>
1475 * tests/markups/valid-{9,10,11}.gmarkup:
1476 * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
1477 of whitespace inside tags.
1479 * glib/gmarkup.c (enum GMarkupParseState): Add
1480 STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
1481 (g_markup_parse_context_parse): Accept whitespace between
1482 attribute names, '=' and attribute values and between
1483 close tag name and '>'. (#148646, Hiroyuki Ikezoe)
1485 Tue Jul 27 02:01:31 2004 Matthias Clasen <maclas@gmx.de>
1487 * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
1490 Sat Jul 24 17:50:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1492 * glib/gstrfuncs.c (g_strsplit_set):
1493 s/g_strtokenize/g_strsplit_set/ in docs.
1495 Fri Jul 23 10:37:50 2004 Matthias Clasen <maclas@gmx.de>
1497 * tests/type-test.c (main): Actually test G_MAXSIZE with
1500 2004-07-21 Matthias Clasen <mclasen@redhat.com>
1502 Fix #132858, Sven Neumann, patch by James Henstridge:
1504 * glib-gettextize.in: modify so that mkinstalldirs will
1505 get installed into auxdir.
1507 * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
1509 2004-07-21 Matthias Clasen <mclasen@redhat.com>
1511 Fix #147651, reported by Oliver Guntermann:
1513 * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
1514 _g_gnulib_vasprintf() in a macro, since they behave
1515 differently wrt. to memory allocation.
1517 * glib/gprintf.c (g_vasprintf): Instead, differentiate
1518 here between the three cases: system vasprintf(),
1519 _g_gnulib_vasprintf(), no vasprintf().
1521 2004-07-20 Crispin Flowerday <gnome@flowerday.cx>
1523 * NEWS: Fix a typo in my name
1525 Tue Jul 20 04:31:40 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1527 * configure.in: Bump version number
1529 Sun Jul 18 19:40:30 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1531 * === Released 2.5.0 ===
1533 * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
1535 Sun Jul 18 01:40:28 2004 Matthias Clasen <maclas@gmx.de>
1537 * NEWS: Updates for 2.5.0
1539 Mon Jul 12 00:02:40 2004 Matthias Clasen <maclas@gmx.de>
1541 * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
1543 2004-07-09 Matthias Clasen <mclasen@redhat.com>
1545 * glib/gdir.c (g_dir_open): Convert filename to UTF-8
1546 before using it in the error message. (#146054, Federico
1549 Thu Jul 8 00:54:32 2004 Matthias Clasen <maclas@gmx.de>
1551 * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
1552 be built without anyway. (#135899, Murray Cumming)
1554 Mon Jul 5 18:50:27 2004 Matthias Clasen <maclas@gmx.de>
1556 * glib/gmessages.h (g_debug): Complete the g_log()
1557 family. (#135730, Sven Herzberg)
1559 Mon Jul 5 18:42:30 2004 Matthias Clasen <maclas@gmx.de>
1561 * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to
1562 make srcdir != . work. (#145166, Kaz Sasayama)
1564 Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
1566 * configure.in: Use a small test library instead of
1567 libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
1568 Julio M. Merino Vidal)
1570 2004-07-02 Sebastian Wilhelmi <seppi@seppi.de>
1572 * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
1573 __volatile__ to make the file consistent. Spotted by Benoit
1574 Carpentier <gtkool_2kx@yahoo.fr>.
1576 2004-07-01 John Ehresman <jpe@wingide.com>
1578 * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1579 Initialize reset_send & reset_recv fields and don't close
1580 sockets unless they were created. (#145153)
1582 Fri Jun 11 22:56:46 2004 Matthias Clasen <maclas@gmx.de>
1584 * glib/gscanner.c (g_scanner_get_token_ll): Ignore a
1585 missing newline at EOF for single line comments.
1586 (#83674, Sven Neumann)
1588 Thu Jun 10 23:38:02 2004 Matthias Clasen <maclas@gmx.de>
1590 * tests/printf-test.c (TEST): Actually set any_failed on
1591 failure. (#143552, Philippe Blain)
1593 2004-06-09 Federico Mena Quintero <federico@ximian.com>
1595 * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1596 for URIs that *should* have been invalid, or viceversa.
1597 (from_uri_tests): Likewise.
1599 2004-06-07 Federico Mena Quintero <federico@ximian.com>
1603 * glib/gconvert.c (is_asciialphanum): Renamed from
1604 is_escalphanum(); ensures that this is an ASCII character.
1605 (is_asciiescalpha): Renamed from is_escalpha().
1606 (hostname_validate): Use the two functions above.
1607 (g_filename_to_uri): Don't convert the filename to UTF-8.
1608 (g_filename_from_uri): Don't convert the filename from UTF-8.
1610 Mon Jun 7 22:25:24 2004 Matthias Clasen <maclas@gmx.de>
1612 * tests/run-markup-tests.sh: Default to silence, but support
1613 a -v argument to get the old output back.
1615 2004-06-06 Tor Lillqvist <tml@iki.fi>
1617 * glib/gutils.c (g_get_any_init): Check home for being
1618 NULL. (#143812, Ivan Wong)
1620 Sun Jun 6 15:23:00 2004 Pawan Chitrakr <pawan@nplinu.org>
1622 * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1624 Fri Jun 4 19:26:47 2004 Manish Singh <yosh@gimp.org>
1626 * glib/galloca.h: cpp #directives should always have the "#" in the
1627 first column of the the line. Do that for "#pragma alloca". Fixes
1630 Wed Jun 2 00:57:16 2004 Matthias Clasen <maclas@gmx.de>
1632 * glib/gtypes.h: Use higher precision for the mathematical
1633 constants. (#141941, Morten Welinder)
1635 Tue Jun 1 22:01:40 2004 Matthias Clasen <maclas@gmx.de>
1637 * glib/gmarkup.c (advance_char): Fix an off-by-one error
1638 in g_markup_parse_context_parse(). (#142794, Morten Welinder)
1640 Sun May 16 23:23:29 2004 Matthias Clasen <maclas@gmx.de>
1644 * glib/gcompletion.c (g_completion_add_items):
1645 (g_completion_remove_items): Remove unnecessary
1646 checks. (#142559, Morten Welinder)
1648 2004-05-15 Tor Lillqvist <tml@iki.fi>
1650 * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1651 is an absolute path and exists. (#138618)
1653 2004-05-14 Tor Lillqvist <tml@iki.fi>
1655 * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1656 for precision correctly. (#142400)
1658 For backward compatibility with the Trio implementation, make "ll"
1659 format modifer work on Win32, too. Change into "I64" before
1660 passing to the system printf. (#142433)
1662 * tests/printf-test.c (main): Add tests for the above.
1664 2004-05-10 Matthias Clasen <mclasen@redhat.com>
1668 * glib/gmain.c (block_source, unblock_source): Make these
1669 static. (#142230, Morten Welinder)
1671 2004-05-10 Tor Lillqvist <tml@iki.fi>
1673 * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1674 lines. Thanks to Benoît Carpentier.
1676 Sun May 9 02:04:14 2004 Matthias Clasen <maclas@gmx.de>
1680 * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1681 memleak. (#141998, Nikolai Weibull)
1683 Sat May 8 23:02:26 2004 Matthias Clasen <maclas@gmx.de>
1687 * glib/gutils.h: Remove vestigial g_get_codeset().
1688 * glib/gutils.c (g_get_codeset): Call g_get_charset().
1689 (#137703, Owen Taylor)
1691 2004-05-06 Matthias Clasen <mclasen@redhat.com>
1693 * configure.in: Bump version number to 2.5.0.
1695 Wed May 5 23:35:44 2004 Matthias Clasen <maclas@gmx.de>
1697 * glib/gconvert.c (g_filename_from_uri): Quote the file
1698 scheme to mark it as untranslatable. String change.
1699 (#133144, Danilo Segan)
1701 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
1703 * configure.in: Added Walloon (wa) to ALL_LINGUAS
1705 Sun May 2 03:51:59 2004 Manish Singh <yosh@gimp.org>
1707 * glib/gtypes.h: check for __pentium4__ when deciding whether to
1708 use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1710 2004-05-01 Hans Breuer <hans@breuer.org>
1712 * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1713 fixes #141563, Steve Lhomme
1715 2004-04-30 Matthias Clasen <mclasen@redhat.com>
1717 * === Released 2.4.1 ===
1719 * configure.in: Version 2.4.1, interface age 1.
1723 2004-04-25 Tor Lillqvist <tml@iki.fi>
1725 * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1726 Plug memory leak. (#140770, John Ehresman)
1728 2004-04-23 Matthias Clasen <mclasen@redhat.com>
1730 * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
1731 Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1732 point. (#139134, Piotr Klaban)
1734 * glib/gconvert.c (open_converter): Don't call g_strerror() here,
1735 since it can lead to infinite recursion. (#139133, Piotr Klaban)
1737 2004-04-22 Matthias Clasen <mclasen@redhat.com>
1739 * tests/testglib.c (main): Trivial warning fix. (#140345)
1741 * tests/queue-test.c (main): Add some tests for off-by-one errors.
1743 * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one
1744 error. (#139703, Philippe Blain)
1746 * tests/testglib.c (main): Add testcases for g_message() involving
1747 non-printable and unsafe characters.
1749 * glib/gmessages.c (escape_string): Don't assume that
1750 string->str remains unchanged over g_string_insert()
1751 calls. (#139030, Christophe Saout)
1753 * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a
1754 locale-specific decimal separator directly follows a
1755 number. (#138424, Nickolay V. Shmyrev)
1757 * tests/strtod-test.c (main): Add some more testcases.
1759 * glib/gmain.c (g_main_context_query): Only set time_is_current to
1760 FALSE if context->timeout is not zero. (#137795, Christian Krause)
1762 2004-04-21 Matthias Clasen <mclasen@redhat.com>
1764 * tests/printf-test.c (main): Comment out a nonessential testcase
1765 which fails on HP-UX. (#136283, Jonas Jonsson)
1767 2004-04-15 Matthias Clasen <mclasen@redhat.com>
1769 * tests/patterntest.c (main): Add tests for the empty pattern.
1771 * glib/gpattern.c (g_pattern_spec_new): Don't read and write out
1772 of bounds when the pattern is empty. (#140032, Stanislav Brabec,
1775 2004-04-10 Tor Lillqvist <tml@iki.fi>
1777 * glib/gwin32.c (g_win32_getlocale): Add new language and
1778 sublanguage codes, from GNU gettext. (#137958)
1783 * glib/gthread.c: Decorating variable definitions with
1784 __declspec(dllexport) causes problems on Cygwin build, and isn't
1785 really needed for a native Win32 build with mingw or MSVC, so
1786 remove. (#138402, Roger Leigh)
1788 * glib/libcharset/localcharset.c: Use Win32-specific code also on
1790 * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1791 on Cygwin, either. (#138412, Roger Leigh)
1793 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
1795 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1797 2004-04-03 Tor Lillqvist <tml@iki.fi>
1799 * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1800 found on Cygwin, they don't work. (#138401, Roger Leigh)
1802 2004-03-31 Tor Lillqvist <tml@iki.fi>
1804 * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1807 * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1808 on Cygwin. (#138423, Roger Leigh)
1810 2004-03-30 Adam Weinberger <adamw@gnome.org>
1812 * configure.in: Added en_CA to ALL_LINGUAS.
1814 2004-03-21 Tor Lillqvist <tml@iki.fi>
1816 * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1817 cases where a drive letter is present. For 'a:' or 'a:foo', return
1818 'a:.'. This is mostly just for consistency with the behaviour
1819 without a drive letter. But very important is to for 'a:\foo' or
1820 'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1821 instead of backslashes.) (#137316)
1823 * tests/dirname-test.c (main): More complete testing on Win32. If
1824 a test fails, include expected and actual result in error message.
1826 Fri Mar 19 15:21:09 2004 Owen Taylor <otaylor@redhat.com>
1828 * glib/gmain.c: Fix the accidental revert of the
1829 fixes from #112222 that happened when the GChildWatch
1830 code was added. (Caught by Christian Persch)
1832 Fri Mar 19 11:07:06 2004 Owen Taylor <otaylor@redhat.com>
1834 * tests/atomic-test.c (main): Make computation
1835 of "biggest_pointer" vaguely more portable.
1836 (#137498, Jonas Jonsson)
1838 2004-03-16 Tor Lillqvist <tml@iki.fi>
1840 * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1841 on Win32) case, where the 64-bit type is called long long, but the
1842 system printf/scanf format modifier for 64-bit integers is still I64.
1844 2004-03-16 Gareth Owen <gowen72@yahoo.com>
1846 * configure.in: Added en_GB to ALL_LINGUAS