1 2005-01-04 Tor Lillqvist <tml@iki.fi>
3 * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
4 instead of setlocale() on Windows. setlocale() returns strings
7 2005-01-04 Matthias Clasen <mclasen@redhat.com>
9 Fix the inlining magic. (#157536, Jens Hatlak, and
10 #149907, Morten Welinder)
12 * configure.in: Define G_CAN_INLINE in glibconfig.h
14 * glib/gutils.h: Streamline the inlining magic a bit,
15 don't use extern when implementing the non-inlined
18 2005-01-03 Matthias Clasen <mclasen@redhat.com>
20 * glib/gutils.c (g_find_program_in_path): Don't return
21 directories. (#160738, Tommi Komulainen)
23 * glib/gfileutils.c (g_file_get_contents): Clarify the
24 documentation. (#162251, Mariano Suárez-Alvarez)
26 2005-01-02 Matthias Clasen <mclasen@redhat.com>
28 * glib/gutils.c (g_setenv, g_unsetenv): Clarify the
29 docs. (#162747, Crispin Flowerday)
31 2005-01-01 J. Ali Harlow <ali@juiblex.co.uk>
33 * configure.in: Don't use AC_TRY_RUN to test for long long format
34 when using the MSVCRT.DLL runtime since we know the answer anyway
35 and it causes some mild inconvience when cross compiling.
37 * README.win32: Add a reference to the cross compiling section
38 of the reference manual.
40 * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
41 requires %I64i instead of %lli. (#161306)
43 2005-01-01 Tor Lillqvist <tml@iki.fi>
45 * glib/gutils.c: Make the g_getenv() ABI backward compatibility
48 2005-01-01 Tor Lillqvist <tml@iki.fi>
52 * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
53 and g_find_program_in_path() take and return UTF-8 strings on
54 Win32. Implement DLL ABI backward compatility for them, too. Move
55 all the DLL ABI stability wrappers to the end of the file. Use
56 wide character API when available in inner_find_program_in_path().
58 * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
59 use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
60 to consider somebody actually having anything else than ASCII
63 2004-12-31 Tor Lillqvist <tml@iki.fi>
65 * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
66 use GetFileAttributes() instead of stat(). stat() is unreliable
67 for corner cases like '\\server\share' or '.\'. Part of fixing
68 #161797. When testing for executability, in addition to the fixed
69 set of executable file name extensions also check the PATHEXT
72 2004-12-30 Tor Lillqvist <tml@iki.fi>
74 * glib/gutils.c (g_get_current_dir): In the Win32 version, use
75 GetCurrentDirectory() directly for simpler buffer length
76 management. I don't trust getcwd() getting it right all the time.
78 2004-12-30 Matthias Clasen <mclasen@redhat.com>
80 * glib/gfileutils.c (g_file_test): Typo fix.
82 2004-12-30 Tor Lillqvist <tml@iki.fi>
84 * glib/gutils.c (g_path_skip_root): Require UNC paths to start
85 with exactly two slashes.
86 (g_get_current_dir): Use wide character API when available.
87 (g_path_get_dirname): Handle UNC paths better. Part of fix for
90 2004-12-27 Matthias Clasen <mclasen@redhat.com>
92 * configure.in: Add an OS_LINUX conditional.
94 * glib/Makefile.am (TESTS): Only check the ABI on
95 linux, since the shell script is not portable, and libtool
96 deficiencies may distort the ABI on other platforms. (#161741)
98 2004-12-21 Matthias Clasen <mclasen@redhat.com>
100 * glib/goption.c (print_entry): Don't show
101 the special G_OPTION_REMAINING entry. (#161934,
104 2004-12-20 Tor Lillqvist <tml@iki.fi>
106 * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
109 2004-12-20 Matthias Clasen <mclasen@redhat.com>
111 * tests/option-test.c: Add some tests for '--'
114 * glib/goption.c (g_option_context_parse): Don't
115 strip '--' if it would be needed by a second option
118 * glib/gunicollate.c (g_utf8_collate): Make docs
119 more accurate. (#161683, Marcin Krzyzanowski)
121 2004-12-19 Matthias Clasen <mclasen@redhat.com>
123 * glib/goption.c (g_option_context_parse): Call
124 post-parse hooks also if argv is NULL. (#161668,
127 2004-12-16 Matthias Clasen <mclasen@redhat.com>
129 * configure.in: Bump version
131 * === Released 2.6.0 ===
133 2004-12-15 Alexander Larsson <alexl@redhat.com>
135 * glib/gconvert.c: (g_filename_display_basename):
137 Add g_return_val_if_fail.
140 Add g_filename_display_basename
142 2004-12-15 Alexander Larsson <alexl@redhat.com>
144 * glib/gconvert.[ch]:
145 Add g_filename_display_basename.
147 2004-12-14 Matthias Clasen <mclasen@redhat.com>
153 * configure.in: Set version to 2.6.0
155 2004-12-13 Tor Lillqvist <tml@iki.fi>
160 * glib/gstdio.[ch]: Add g_rmdir().
162 2004-12-13 Matthias Clasen <mclasen@redhat.com>
166 2004-12-12 Tor Lillqvist <tml@iki.fi>
169 * glib/gconvert.[ch]: Implement Windows DLL ABI stability also for
170 g_filename_{to,from}_uri().
172 2004-12-11 Tor Lillqvist <tml@iki.fi>
174 * glib/gstdio.c (g_rename, g_unlink, g_remove): Add doc comments
175 about Windows restrictions on renaming and removing.
177 (g_remove): Mimic POSIX remove() on Windows: Try also to rmdir if
178 removal as a file fails. Document this.
180 * glib/gstdio.h: Clarify comment about file name encoding on
183 * glib/gspawn-win32.c: Fix #157255. Also some refactoring of this
184 still very ugly source file.
186 2004-12-09 Matthias Clasen <mclasen@redhat.com>
188 * glib/goption.c (print_help): Don't print help options
189 if the options of a specific group have been
190 requested. (#160645, Glynn Foster)
192 2004-12-07 Matthias Clasen <mclasen@redhat.com>
194 * glib/gutils.c (g_get_language_names): Update the returned
195 value after locale changes. (#160271, Christian Persch)
196 (_g_utils_thread_init): Initialize the language name cache
197 before going threaded.
199 * glib/gthread.c (g_thread_init_glib): Call _g_utils_thread_init().
201 * glib/gthreadinit.h: Add _g_utils_thread_init().
203 2004-12-06 Tor Lillqvist <tml@iki.fi>
205 * glib/giowin32.c (g_io_win32_finalize): Fix a write to freed
206 memory: Unlock the channel's mutex before unrefing the channel.
208 2004-12-06 Matthias Clasen <mclasen@redhat.com>
210 * configure.in: Remove a no longer needed hack for
211 libtool < 1.5.2. (#100697, Owen Taylor, Sebastian Wilhelmi)
213 2004-12-05 Tor Lillqvist <tml@iki.fi>
216 * glib/gwin32.[hc]: Implement DLL ABI stability also for
217 g_win32_get_package_installation_directory()) and
218 g_win32_get_package_installation_subdirectory().
220 * glib/Makefile.am (install-libtool-import-lib): Remove the DLL
221 binary compatibilty entries from the import library. They aren't
222 used by newly compiled code, so no need to have them in the import
223 library. (The "PRIVATE" keyword in the .def file is supposed to do
224 this, but not implemented in the GNU linker yet.)
226 2004-12-04 Matthias Clasen <mclasen@redhat.com>
228 * glib/gqueue.c (g_queue_link_index): Return -1 if queue is
229 NULL. (#159530, Philippe Blain)
231 2004-12-02 Matthias Clasen <mclasen@redhat.com>
233 * configure.in: Bump version.
235 * === Released 2.5.7 ===
237 2004-12-02 Matthias Clasen <mclasen@redhat.com>
239 * glib/glib.symbols: Protect the the various push/pop allocator
240 functions by #ifndef DISABLE_MEM_POOLS. (#160215, Frederic Crozat)
242 * glib/makegalias.pl: Support #ifndef'ed sections.
244 * glib/gutils.c (g_get_system_config_dirs): Don't forget to
245 initialize g_system_config_dirs. (#160213, Frederic Crozat)
247 Wed Dec 1 17:04:37 2004 Manish Singh <yosh@gimp.org>
249 * glib/gstring.h (g_string_append_c_inline): actually enable (and
250 fix up the length test).
252 2004-11-30 Tor Lillqvist <tml@iki.fi>
254 * glib/Makefile.am (glib.def): gcc -E complains "linker input file
255 unused because linking not done" if told to preprocess the
256 glib.symbols file. Use '-' and redirection to pass it as standard
259 2004-11-30 Matthias Clasen <mclasen@redhat.com>
263 2004-11-30 Tor Lillqvist <tml@iki.fi>
265 * glib/gspawn-win32-helper.c (WinMain): Also check errno to detect
266 true errors from spawn*(). (#157258, reported by Bruce Hochstetler)
268 2004-11-29 Matthias Clasen <mclasen@redhat.com>
270 * glib/gmacros.h (G_GNUC_MALLOC): Define empty for gcc 2.95.
272 * glib/gmarkup.c (unescape_text_state_after_charref_hash):
273 Avoid a strndup() here, noticed by Morten Welinder.
275 2004-11-29 Matthias Clasen <mclasen@redhat.com>
277 * glib/gmarkup.c: Remove leftover noinline attributes.
278 (is_name_start_char, is_name_char): Avoid possible reads
279 beyond the end of g_ascii_table.
281 * glib/Makefile.am: Use the perl found by configure. (#149826,
284 Sun Nov 28 13:13:56 2004 Manish Singh <yosh@gimp.org>
286 * glib/abicheck.sh: filter G_GNUC before PRIVATE so $ is still true.
288 * tests/utf8-validate.c: cast pointer math to gint for error print
291 Sun Nov 28 12:07:29 2004 Manish Singh <yosh@gimp.org>
293 * tests/utf8-validate.c: minor comment fix.
295 2004-11-28 Matthias Clasen <mclasen@redhat.com>
302 * glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate.
304 * glib/glib.symbols: Add G_GNUC_MALLOC annotations.
306 * glib/gmacros.h (G_GNUC_MALLOC): Add a macro for
307 __attribute__((__malloc__)). (#61780)
309 2004-11-28 Tor Lillqvist <tml@iki.fi>
312 * glib/glib.symbols: [Win32] Make also g_get_user_name() and
313 g_get_real() name return UTF-8. As for the similar changes to fix
314 #101792, for DLL ABI stability we use preprocessor defines to get
315 the new UTF-8 versions, and keep the old names for versions
316 returning strings in the system codepage.
318 Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8
319 as was intended in the fix for bug #101792. (#159664, noticed by
322 2004-11-28 Matthias Clasen <mclasen@redhat.com>
324 * glib/gmarkup.c: Optimizations; don't scan the entire text
325 in find_current_text_end(), split unescape_text() into multiple
326 functions. (#159001, Havoc Pennington)
328 2004-11-27 Matthias Clasen <mclasen@redhat.com>
330 * glib/gspawn.c (g_spawn_async_with_pipes): Update the @flags
331 documentation with references to GChildWatch and
332 g_spawn_close_pid(). (#136255, noted by Owen Taylor)
334 2004-11-26 Matthias Clasen <mclasen@redhat.com>
336 * glib/gkeyfile.c (g_key_file_parse_value_as_string):
337 Don't access invalid memory address if p wasn't
338 increased. (#159557, Frederic Crozat)
340 2004-11-25 Matthias Clasen <mclasen@redhat.com>
342 * tests/strtod-test.c (main): Add a testcase for the previous fix.
344 * glib/gstrfuncs.c (g_ascii_strtod): Make it work again for floats
345 starting with a decimal point, like .75 (#156421, Hans Breuer)
347 Thu Nov 25 14:02:43 2004 Manish Singh <yosh@gimp.org>
349 * glib/abicheck.sh: filter out G_GNUC stuff when doing the compare.
351 * glib/gmessages.c (g_assert_warning): call abort() at the end, so
354 2004-11-25 Kjartan Maraas <kmaraas@gnome.org>
356 * configure.in: Add «nb» to ALL_LINGUAS.
358 2004-11-24 Tor Lillqvist <tml@iki.fi>
360 * glib/gwin32.c (g_win32_error_message,
361 get_package_directory_from_module,
362 g_win32_get_package_installation_directory,
363 g_win32_get_package_installation_subdirectory): Use wide character
364 API when available. Document that string parameters and return
367 2004-11-24 Matthias Clasen <mclasen@redhat.com>
369 * glib/gutf8.c: Replace g_utf8_validate() with an
370 optimized version, and clarify the docs a bit. (#159131,
373 * tests/Makefile.am (test_programs): Add utf8-validate.
375 * tests/utf8-validate.c: Unit tests for g_utf8_validate().
377 2004-11-23 Matthias Clasen <mclasen@redhat.com>
379 * glib/goption.h: Don't mark g_option_error_quark() as const,
380 to be consistent with all the other error_quark functions.
381 (technically they are const, but since these are called only
382 in error paths, giving the compiler better optimization
383 opportunities doesn't matter much)
385 2004-11-23 Matthias Clasen <mclasen@redhat.com>
387 Fix a problem with the PLT reduction changes which caused the
388 internal aliases to lose all attributes.
390 * glib/glib.symbols: Add attribute annotations.
391 * glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
392 * glib/Makefile.am (glib.def): Strip attribute annotations, but keep
395 2004-11-21 Hans Breuer <hans@breuer.org>
397 * **/makefile.msc : updated
399 2004-11-16 Matthias Clasen <mclasen@redhat.com>
401 * m4macros/glib-2.0.m4 (AM_PATH_GLIB_2_0): Support gmodule-no-export.
403 * Makefile.am (EXTRA_DIST):
404 * configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in
406 * gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
407 which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
408 need it. (#125627, Owen Taylor)
410 2004-11-17 Matthias Clasen <mclasen@redhat.com>
412 * glib/gkeyfile.c: Define S_ISREG() on windows, since it
413 is not present there. (#158469, Kazuki IWAMOTO)
415 2004-11-15 Matthias Clasen <mclasen@redhat.com>
417 * glib/gkeyfile.c (g_key_file_load_from_fd): Use S_ISREG(), since
418 S_IFMT and S_IFREG are apprarently missing on some systems (they
419 are SUS, but not Posix). (#158263)
421 2004-11-12 Matthias Clasen <mclasen@redhat.com>
423 * configure.in: Bump version.
425 * === Released 2.5.6 ===
427 2004-11-11 J. Ali Harlow <ali@juiblex.co.uk>
429 * gobject/Makefile.am:
430 * glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
431 escape sequence. (#157951)
433 2004-11-10 Tor Lillqvist <tml@iki.fi>
435 * glib/gconvert.c (g_get_filename_charsets): Fix typo in doc
438 2004-11-10 Matthias Clasen <mclasen@redhat.com>
442 Mon Nov 8 10:45:50 2004 Manish Singh <yosh@gimp.org>
446 * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail
448 * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually
449 return the passed in pointer.
451 2004-11-08 Matthias Clasen <mclasen@redhat.com>
453 * glib/gnode.h (enum GTraverseFlags): Add G_TRAVERSE_LEAVES
454 and G_TRAVERSE_NON_LEAVES as alternative names for
455 G_TRAVERSE_LEAFS and G_TRAVERSE_NON_LEAFS, which are
456 grammatically brutal. (#138853, Morten Welinder)
458 * glib/gasyncqueue.[hc]:
461 * glib/giochannel.[hc]: Make g_io_channel_ref(),
462 g_main_context_ref(), g_hook_ref(), g_async_queue_ref()
463 return the passed in pointer. (#151663, Manish Singh)
465 * glib/gmain.c: Initialize child_watch_count to 1, so
466 that we don't miss the very first child if it exits
467 before we set up the child watch. In that case we had
468 previously source->count == child_watch_count == 0,
469 causing g_child_watch_check() to skip the waitpid()
470 call. (#154827, Gustavo Carneiro)
472 * glib/gmain.c (g_child_watch_source_init_single)
473 (g_child_watch_source_init_multi_threaded): Use sigaction()
474 instead of signal(). (#136867, Jonas Jonsson, patch by
477 2004-11-07 Matthias Clasen <mclasen@redhat.com>
479 * glib/gutils.c (g_get_any_init): Work around an bug
480 in Mac OS < 10.3. (#156446, Dave MacLachlan)
482 2004-11-06 Tor Lillqvist <tml@iki.fi>
484 * glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL
485 define to the same place where it is in a configure-generated
488 2004-11-05 Matthias Clasen <mclasen@redhat.com>
490 * tests/strtod-test.c: Portability fixes and extra sanity
491 checks. (#157453, Morten Welinder)
493 2004-11-04 Matthias Clasen <mclasen@redhat.com>
495 * glib/gstrfuncs.c (g_ascii_strtod): Handle numbers like
496 1e1, nan, -infinity. Also try harder to preserve errno.
497 (#156421, Morten Welinder)
499 * tests/strtod-test.c: Add testcases.
501 2004-11-04 Tor Lillqvist <tml@iki.fi>
503 * glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
504 to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.
506 * glib/goption.c (parse_arg): Obey the above flag.
508 * glib/gconvert.c (g_filename_display_name): Document that the
509 result is guaranteed to be non-NULL.
511 * glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
512 get_contents_posix, get_contents_win32, g_file_open_tmp,
513 g_file_read_link): Use g_filename_display_name() for error
515 (g_mkstemp): Document that the template should be in the GLib file
517 (g_file_open_tmp): Ditto. Also document that the actual name
518 returned is also in the GLib file name encoding.
520 2004-11-02 Matthias Clasen <mclasen@redhat.com>
522 * glib/gconvert.c (g_filename_display_name): New function
523 to convert a filename to a UTF-8 string for display
524 purposes. (requested by Alex Larsson)
526 * glib/gconvert.c (g_get_filename_charsets): New function
527 to return the encodings which are tried when converting a
528 filename to UTF-8. (#151465, François Gagné)
530 2004-11-02 Matthias Clasen <mclasen@redhat.com>
532 * configure.in: Bump version
534 * === Released 2.5.5 ===
538 2004-11-02 Matthias Clasen <mclasen@redhat.com>
540 * glib/glib.symbols: Add new functions.
542 * glib/gconvert.c: Fix doc comment for
543 g_get_filename_charsets().
545 * glib/gconvert.c (g_filename_display_name): New function to
546 convert a filename to a UTF-8 string for display purposes.
547 (g_get_filename_charsets): New function to return the
548 encodings which are tried when converting a filename to
551 * glib/goption.c (g_option_context_parse): Document that
552 this function may not return.
554 2004-11-01 Matthias Clasen <mclasen@redhat.com>
556 * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
559 2004-11-01 Tor Lillqvist <tml@iki.fi>
561 * glib/gstdio.c (g_lstat): Implement correctly also on Unix
562 systems without lstat(). (#157038, Morten Welinder)
564 2004-11-01 Ray Strode <rstrode@redhat.com>
567 (g_key_file_get_locale_string): don't return an
568 error if we come across a value with invalid utf8 or
569 if we don't find a translated string. Just fallback
570 to the untranslated string (Mark McLoughlin, bug
574 (g_key_file_init), (g_key_file_clear): track the
575 actual start GKeyFileGroup rather than just its name
576 (g_key_file_parse_group): allow add_group() to
577 update the start group.
578 (g_key_file_remove_group_node): update the start
579 group if it gets removed (Mark McLoughlin, bug
583 (g_key_file_parse_string_as_value): Don't escape
584 tabs and spaces in the middle of key values.
586 2004-11-01 Matthias Clasen <mclasen@redhat.com>
592 * gthread/gthread-posix.c
593 * tests/timeloop-closure.c
594 * tests/timeloop.c: Fix sparse warnings. (#157014, Kjartan Maraas)
596 2004-11-01 Matthias Clasen <mclasen@redhat.com>
598 * glib/goption.c: Documentation updates.
600 Handle conflicts between options in different groups. (#156808)
602 * glib/goption.c (g_option_context_parse): When a long option does not
603 match exactly, try to parse it as --group-option.
604 (g_option_context_add_group): Warn if a group name conflict occurs.
606 * glib/goption.c (print_help): Print out the effective options, ie
607 don't print shadowed short options, and for long options print
608 --group-option instead of --option if appropriate.
610 2004-10-31 Matthias Clasen <mclasen@redhat.com>
612 * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
615 2004-10-31 Tor Lillqvist <tml@iki.fi>
617 * glib/gwin32.c: Document g_win32_get_windows_version().
619 * glib/gstdio.[ch]: Add g_lstat().
621 2004-10-29 Matthias Clasen <mclasen@redhat.com>
623 * glib/goption.c: Doc additions.
625 * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
628 2004-10-29 Hans Breuer <hans@breuer.org>
630 * glibconfig.h */makefile.msc.in : updated [and finally fixed my
631 script to produce ready to go de-in(ed) files, w/o autotools]
633 * */*.rc.in : updated copyrights to 2004
635 * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
636 use the same fallback mecahnism as on *NIX where ever applicable
638 2004-10-29 Matthias Clasen <mclasen@redhat.com>
640 * tests/option-test.c: Add tests for the handling of
641 non-option arguments, "--" and G_OPTION_REMAINING.
643 * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
644 a special long option name, which can be used for an option
645 in the main group which collects the non-option arguments.
646 It must be of type G_OPTION_ARG_STRING_ARRAY or
647 G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
648 an option whose name is G_OPTION_REMAINING, the non-option
649 arguments are left behind in argv as before.
651 * glib/goption.c: Add documentation.
653 2004-10-28 Matthias Clasen <mclasen@redhat.com>
655 * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
656 to avoid compiler warnings. (#156767, Owen Taylor)
658 2004-10-29 Tor Lillqvist <tml@iki.fi>
660 * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
661 with MSVC. [156727, Kazuki IWAMOTO]
663 * glib/giochannel.h (g_io_channel_new_file): Redefine also
664 g_io_channel_new_file to the UTF-8 version on Win32. [156725,
667 2004-10-28 Ray Strode <rstrode@redhat.com>
670 (find_file_in_data_dirs): clean up a leak (#156652,
672 (g_key_file_load_from_fd): propagate fstat() error
673 conditions and retry read on EAGAIN (#156647, Morten
674 Welinder). Return error if file is NOT regular, not if
675 it is regular (bug introduced from last commited bug
677 (g_key_file_load_from_data_dirs): allocate enough space
678 for the terminating NULL.
680 2004-10-28 Ray Strode <rstrode@redhat.com>
682 * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
685 2004-10-28 Matthias Clasen <mclasen@redhat.com>
687 * glib/gstdio.c: Include galias.h before glib.h (#156697,
690 * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
692 2004-10-28 Tor Lillqvist <tml@iki.fi>
694 * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
697 * glib/gkeyfile.c: Include gstdio.h and use g_open().
699 2004-10-27 Ray Strode <rstrode@redhat.com>
702 (g_key_file_load_from_fd),
703 (g_key_file_load_from_file):
704 Move file is regular check to load_from_file to use
705 fstat() instead of race prone g_file_test(). Don't
706 clear/init until needed. Change error messages to be
708 (g_key_file_load_from_data),
709 (g_key_file_load_from_data_dirs),
710 (g_key_file_parse_data),
711 (g_key_file_get_value),
712 (g_key_file_get_string),
713 (g_key_file_set_string),
714 (g_key_file_get_string_list),
715 (g_key_file_set_string_list),
716 (g_key_file_set_locale_string),
717 (g_key_file_get_locale_string),
718 (g_key_file_set_locale_string_list),
719 (g_key_file_get_boolean),
720 (g_key_file_set_boolean),
721 (g_key_file_get_boolean_list),
722 (g_key_file_set_boolean_list),
723 (g_key_file_get_integer),
724 (g_key_file_get_integer_list),
725 (g_key_file_set_integer_list),
726 (g_key_file_remove_key):
727 Add more g_return_*if_fail checks for public functions.
729 2004-10-27 Matthias Clasen <mclasen@redhat.com>
731 * configure.in: Bump version.
733 * === Released 2.5.4 ===
735 2004-10-27 Matthias Clasen <mclasen@redhat.com>
737 * glib/abicheck.sh: Strip Win32 specific defs file syntax.
741 2004-10-27 Matthias Clasen <mclasen@redhat.com>
743 Introduce the idea of a filename encoding, which is
744 *literally* the filename encoding on Unix. On Windows,
745 use the Unicode name converted to UTF-8. (#101792,
746 Tor Lillqvist, Owen Taylor)
749 * glib/gconvert.[hc]:
750 * glib/gfileutils.[hc]:
752 * glib/giowin32.c: On Windows, keep old ABI versions
753 of GLib pathname api for DLL ABI stability. Use different
754 names for the new-style UTF-8 versions. Hide this through
757 * glib/gstdio.[hc]: New files containing wrappers for
760 * glib/glib.symbols: Add new symbols.
762 * glib/makegalias.pl: Drop Win32 specific .def syntax,
765 2004-10-27 Matthias Clasen <mclasen@redhat.com>
767 * glib/gkeyfile.c: Fix includes. (#156500, #156499,
770 * glib/Makefile.am (galias.h): Fix srcdir != builddir
771 builds. (#156447, Thomas Fitzsimmons)
773 2004-10-26 Gora Mohanty <gmohanty@cvs.gnome.org>
775 * configure.in: Added 'or' to ALL_LINGUAS.
777 2004-10-26 Matthias Clasen <mclasen@redhat.com>
779 * glib/gkeyfile.c: Include galias.h.
781 * glib/gkeyfile.c (g_key_file_parse_value_as_comment):
782 Don't compare strings and chars.
784 * glib/glib.symbols: Add new symbols.
786 * glib/gkeyfile.c (g_key_file_new): Fix docs.
788 * glib/gkeyfile.h: Use the same parameter names as in
789 the implementation and the docs.
791 * glib/gwin32.c (g_win32_get_windows_version): Make this
792 function thread-safe in the GLib style.
793 * glib/gthreadinit.h:
794 * glib/gwin32.c (_g_win32_thread_init): New function to
795 initialize the version.
796 * glib/gthread.c (g_thread_init_glib): Call
797 _g_win32_thread_init() from here.
799 2004-10-26 Ray Strode <rstrode@redhat.com>
801 * glib/gkeyfile.c: Add Matthias to "Written by" lines
802 (GKeyFileGroup): add field to hold comments about groups
803 (g_key_file_load_from_fd): return TRUE on success and
804 FALSE on failure. Don't close fd's opened by other
806 (g_key_file_load_from_file): run FILE_IS_REGULAR test
807 before trying to open file, to save an fd from being
808 leaked (would probably be better to use fstat()). Close
809 fd when done with it. Return TRUE on success and FALSE
811 (g_key_file_load_from_data): Return TRUE on success and
813 (g_key_file_load_from_data_dirs): remove superfluous
814 const modifier. Return TRUE on success and FALSE on
815 failure. Stop trying to load files when one succeeds.
816 (g_key_file_parse_key_value_pair): don't validate input
817 for UTF-8 until users uses a getter that does
818 validation. Don't leak copy of start_group_name.
819 (g_key_file_to_data): serialize new comment field for
821 (g_key_file_get_keys): Remove convenience code to let
822 NULL group mean start group. Get rid of unneeded NULL
823 check before g_strdup.
824 (g_key_file_get_groups): Reverse groups list before
825 sending to user because it is maintained in backward
827 (g_key_file_get_value),
828 (g_key_file_set_value): add g_return checks at top of
830 (g_key_file_get_string),
831 (g_key_file_get_string_list): validate key value is UTF-8.
832 (g_key_file_[sg]et_*comment): new functions for
833 setting/getting comments
834 (g_key_file_remove_comment): new function to remove
836 (g_key_file_remove_key_value_pair_node): new function to
837 pull a key-value pair out of the list and free it.
838 (g_key_file_remove_group_node): call
839 g_key_file_remove_key_value_pair_node instead of
840 freeing the list immediately to get better statistics
841 for approximate_size.
842 (g_key_file_remove_group): use lookup_group_node instead
843 of lookup_group to prevent a g_list_find call.
844 (g_key_file_add_key): report group also when unable to
846 (g_key_file_lookup_group_node): new function to make
847 getting the group node from a group name easier.
848 (g_key_file_lookup_group): use lookup_group_node under
850 (g_key_file_lookup_key_value_pair_node): new function to
851 make getting the key-value pair from a group and key
853 (g_key_file_parse_comment_as_value): new function to add '#' to the
854 beginning of every line.
855 (g_key_file_parse_value_as_comment): new function that
856 attempts to be the inverse of comment as value.
858 2004-10-26 Matthias Clasen <mclasen@redhat.com>
861 * glib/gkeyfile.c: Don't include ctype.h needlessly. (#156424,
864 * tests/strtod-test.c (test_string): Improve error reporting.
866 Mon Oct 25 15:05:18 2004 Manish Singh <yosh@gimp.org>
868 * autogen.sh: rm autom4te.cache, since it might interfere with
869 differing autoconf versions.
871 * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
874 * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
875 don't redefine it here.
877 2004-10-24 Matthias Clasen <mclasen@redhat.com>
879 * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
880 destroy the lookup map if it is NULL.
882 2004-10-23 Matthias Clasen <mclasen@redhat.com>
884 * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c,
885 glib/giochannel.c, glib/gmain.c, glib/gspawn.c,
886 glib/libcharset/localcharset.c: Apply a patch to fix
887 sparse warnings. (#154696, Kjartan Maraas)
889 * glib/gnulib/g-gnulib.h: Undef libc functions before defining
890 them, since they may also be macros. (#155177, Andrea Campi)
893 * glib/gkeyfile.c: Add a parser for desktop entries and
894 similar files with a .ini-like syntax. (#139974, Ray Strode)
896 * glib/glib.h: Include gkeyfile.h
898 * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
899 (glibsubinclude_HEADERS): Add gkeyfile.h
901 * glib/gutils.c (_g_compute_locale_variants): Make this
902 non-static and use it in gkeyfile.c
904 2004-10-22 Matthias Clasen <mclasen@redhat.com>
906 * tests/uri-test.c (run_uri_list_tests): Add some
910 * glib/gconvert.c (g_uri_list_extract_uris): New function to
911 split a text/uri-list data into individual uris and strip comments.
913 2004-10-20 Matthias Clasen <mclasen@redhat.com>
915 * glib/goption.c (get_change): Don't return the wrong
916 change. (#155856, Lucas Rocha)
918 2004-10-17 Matthias Clasen <mclasen@redhat.com>
920 * glib/gutils.h (G_IS_DIR_SEPARATOR):
921 * glib/gutils.c: Make public. (#155589, Tim-Philipp Müller)
923 2004-10-08 Matthias Clasen <mclasen@redhat.com>
925 * glib/gmain.c (g_child_watch_add_full):
926 * glib/gmain.c (g_child_watch_add): Document that GLib supports only
927 a single callback per pid. (#154828, Gustavo Carneiro)
929 2004-10-06 Matthias Clasen <mclasen@redhat.com>
931 * glib/gfileutils.c: Fix some C99isms. (#154676, Kjartan Maraas)
933 2004-10-05 Anders Carlsson <andersca@gnome.org>
935 * glib/goption.c: (g_option_context_parse):
936 Add check for if argc is 0.
938 * tests/option-test.c: (empty_test3), (main):
941 2004-10-05 Matthias Clasen <mclasen@redhat.com>
945 2004-10-04 Matthias Clasen <mclasen@redhat.com>
947 * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
948 vtable is set. (#154352, Philippe Blain)
950 2004-10-03 Anders Carlsson <andersca@gnome.org>
952 * glib/goption.c: (parse_arg):
953 Set arg_data on filenames. (Discovered by Mats-Ola Persson).
955 * tests/option-test.c: (arg_test3), (ignore_test3), (main):
956 Add test for filename args.
958 2004-10-01 Tor Lillqvist <tml@iki.fi>
960 * glib/goption.c (g_option_context_parse): Use
961 g_path_get_basename() instead of strrchr(), so that either slash
962 is accepted on Windows.
964 2004-09-30 Matthias Clasen <mclasen@redhat.com>
966 * glib/gfileutils.c: Convert filenames to UTF-8 before
967 putting them in GErrors. (#154078, Morten Welinder)
969 2004-09-29 Matthias Clasen <mclasen@redhat.com>
971 * glib/glib.symbols: Add g_assert_warning.
974 * glib/gmessages.c (g_assert_warning): Treat g_assert
975 in the same way as g_return_if_fail and move the string
976 constants into a helper function, which also takes
977 care of removing the "IA__" prefix from internal aliases.
979 * glib/gmessages.h: Move the declaration of
980 g_return_if_fail_warning() out of the ifdefs, so that
981 building with G_DISABLE_ASSERT works.
983 2004-09-27 Murray Cumming <murrayc@murrayc.com>
985 * glib/goptions.[h|c], glib/glib.symbols: Rename
986 g_context_option_error_quark() to g_option_error_quark(), because that
987 is consistent with normal naming conventions, and what bindings expect.
989 .2004-09-26 Matthias Clasen <mclasen@redhat.com>
991 Fix #153649, Hidetaka Iwai:
993 * glib/goption.c (parse_long_option): Don't forget to set parsed
994 to TRUE when parsing a long ARG_NONE option.
995 (free_changes_list): Fix the memory management for string
998 2004-09-22 Tor Lillqvist <tml@iki.fi>
1000 * glib/gmessages.c: [Win32] Don't ever open a console
1001 window. (Which we used to do if standard output or standard error
1002 are invalid, as they are for GUI applications.) These console
1003 windows that open up unexpectedly have caused endless amounts of
1004 confusion among end-users. (#141102, #151175)
1006 Don't output the process id on Windows. Only output the program
1007 name. If not set with g_set_prgname(), fetch the application
1008 executable's name and use that.
1010 Mon Sep 20 00:35:14 2004 Matthias Clasen <maclas@gmx.de>
1012 * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
1013 convert UTF-16 byte stream of ambiguous endianness. (#152954,
1016 Mon Sep 20 00:17:37 2004 Matthias Clasen <maclas@gmx.de>
1018 * tests/option-test.c (error_test3_post_parse):
1019 * tests/option-test.c (error_test2_post_parse):
1020 * tests/option-test.c (error_test1_post_parse): Don't call
1021 g_set_error () with a NULL format. (#153103, Robert Ögren)
1023 Mon Sep 20 00:13:48 2004 Matthias Clasen <maclas@gmx.de>
1025 Make GOption remove long options completely. (#153113, Robert Ögren)
1027 * glib/goption.c (parse_long_option): Fix a wrong index.
1029 * tests/option-test.c (ignore_test3): Test handling of unknown
1032 Sun Sep 19 23:56:15 2004 Matthias Clasen <maclas@gmx.de>
1034 * glib/goption.c (g_option_context_parse): Call error_func
1035 on error, not post_parse_func again. (#153107, Robert Ögren)
1037 Sun Sep 19 23:52:35 2004 Matthias Clasen <maclas@gmx.de>
1039 * glib/gmessages.c (mklevel_prefix):
1040 * glib/gmessages.c (g_logv): Fix the types of some variables
1041 to be GLogLevelFlags instead of guint. (#153042, Philippe Blain)
1043 2004-09-18 Matthias Clasen <mclasen@redhat.com>
1047 * === Released 2.5.3 ===
1049 2004-09-17 Matthias Clasen <mclasen@redhat.com>
1051 * NEWS: More updates.
1053 Thu Sep 16 18:42:46 2004 Manish Singh <yosh@gimp.org>
1055 * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
1058 Thu Sep 16 18:15:32 2004 Manish Singh <yosh@gimp.org>
1060 * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
1061 of characters, instead of a gsize. Technically this is incorrect,
1062 but this makes it match the prototype, and this is a deprecated
1065 2004-09-16 Matthias Clasen <mclasen@redhat.com>
1067 * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
1069 Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de>
1071 Implement the same PLT reduction technique used in GTK+:
1073 * glib/glib.symbols: Master list of symbols
1075 * glib/makegalias.pl: Perl script which creates galias.h
1077 * glib/abicheck.sh: Compares actual exports against glib.symbols
1079 * glib/glib.def: Removed. This file is now generated from
1082 * glib/Makefile.am: Add rules to generate galias.h and glib.def,
1083 and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
1085 * configure.in: Add --disable-visibility to suppress the
1086 use of ELF visibility attributes.
1088 * glib/*.c: Include galias.h
1090 2004-09-15 Tor Lillqvist <tml@iki.fi>
1092 * glib/gwin32.c (g_win32_error_message): Convert message to
1093 UTF-8. Technically this breaks API, but the actual use cases in
1094 gdk/win32 have assumed it is UTF-8 anyway. Fix
1095 documentation. (#152618, Kazuki Iwamoto)
1097 * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
1098 good idea, and it clashes with newest mingw headers, which have a
1099 ftruncate implementation as an inline function. Thanks to Dominik R.
1101 * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
1102 call _chsize() in the C library.
1104 2004-09-15 Matthias Clasen <mclasen@redhat.com>
1108 2004-09-09 Matthias Clasen <mclasen@redhat.com>
1110 * glib/gmessages.c (g_return_if_fail_warning): Strip the
1111 prefix "IA__" from function names, since that is what
1112 GTK+ uses for the PLT-reduction aliases.
1114 Thu Sep 9 13:52:26 2004 Owen Taylor <otaylor@redhat.com>
1116 * glib/gmessages.c (g_return_if_fail_warning):
1117 Include implementation of g_return_if_fail_internal().
1119 Thu Sep 9 10:37:41 2004 Owen Taylor <otaylor@redhat.com>
1121 * glib/gmessages.h (g_return_[val_]if_fail): Use
1122 a helper function to reduce code size; omit FILE/LINE
1123 when we have __PRETTY_FUNCTION__.
1125 2004-09-09 Matthias Clasen <mclasen@redhat.com>
1127 * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
1129 Thu Sep 9 00:10:40 2004 Matthias Clasen <maclas@gmx.de>
1132 * glib/gstrfuncs.c (g_strv_length): Add a function to
1133 calculate the length of a NULL-terminated string
1134 array. (#150455, Tim-Philipp Müller)
1136 * tests/strfunc-test.c (main): Add a test for g_strv_length().
1138 2004-09-08 Tor Lillqvist <tml@iki.fi>
1140 * glib/gutils.c (guess_category_value): On Win32, as last resort
1141 call g_win32_getlocale() to get the current thread locale. There
1142 usually aren't any POSIXish LANG or LC_* environment variables
1143 present on Windows machines.
1145 * glib/glib.def: Add g_get_language_names.
1147 2004-09-07 Matthias Clasen <mclasen@redhat.com>
1150 * glib/gutils.c (g_get_language_names): Add a function to
1151 return a list of applicable locale names. (#95587,
1153 (guess_category_value, compute_locale_variants):
1154 (explode_locale, unalias_lang, read_aliases): Helper
1155 functions for g_get_language_names()
1157 * tests/testglib.c (main): Show the results of
1158 g_get_language_names()
1160 Sun Sep 5 01:46:11 2004 Matthias Clasen <maclas@gmx.de>
1164 * glib/gmessages.c (g_log_set_default_handler): New
1165 function to install an alternate default log
1166 handler. (#66387, Darin Adler)
1168 2004-09-03 Tor Lillqvist <tml@iki.fi>
1170 * glib/glib.def: Update.
1172 Wed Sep 1 20:22:39 2004 Matthias Clasen <maclas@gmx.de>
1175 * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
1176 a function to calculate the ISO 8601 week number of
1177 a date. (#92579, Niklas Lundell)
1179 2004-09-01 Anders Carlsson <andersca@gnome.org>
1181 * glib/goption.c: (g_option_context_parse):
1182 Set program name before calling the pre-parse hooks.
1184 2004-09-01 Anders Carlsson <andersca@gnome.org>
1186 * glib/goption.c: (g_option_context_free), (print_help),
1187 (g_option_context_parse):
1188 Handle option contexts without a main group.
1190 * tests/option-test.c: (empty_test2), (main):
1191 Add test case for that.
1193 2004-08-30 Anders Carlsson <andersca@gnome.org>
1195 * glib/goption.c: (g_option_context_parse):
1196 Set prgname to <unknown> if argc and argv are NULL.
1198 * tests/option-test.c: (empty_test1), (main):
1199 Add test case for that.
1201 Sun Aug 29 23:58:38 2004 Matthias Clasen <maclas@gmx.de>
1203 * glib/ghash.c (g_hash_table_lookup): Point to
1204 g_hash_table_lookup_extended() for differentiation between
1205 not-found and value-is-NULL. (#150960, Morten Welinder)
1207 2004-08-27 Matthias Clasen <mclasen@redhat.com>
1209 Fix #151193, Stepan Kasal:
1211 * glib/gfileutils.c (g_file_error_from_errno):
1212 * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
1214 Fri Aug 27 00:45:41 2004 Matthias Clasen <maclas@gmx.de>
1216 * glib/goption.c (g_option_context_parse): Set the program name
1217 from argv[0], noticed by Masatake YAMATO.
1219 2004-08-26 Tor Lillqvist <tml@iki.fi>
1221 * tests/testglib.c (main): Test the new XDG basedir functions.
1223 2004-08-25 Tor Lillqvist <tml@iki.fi>
1225 * glib/gwin32.c (g_win32_get_windows_version): New
1226 function. Returns the Windows version code like GetVersion(),
1227 except that one can pretend to be running on Win9x by setting the
1228 G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
1231 * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
1232 and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
1234 2004-08-25 Matthias Clasen <mclasen@redhat.com>
1236 * configure.in: Post-release version bump.
1238 * === Released 2.5.2 ===
1240 Wed Aug 25 00:25:08 2004 Matthias Clasen <maclas@gmx.de>
1242 * NEWS: Update for 2.5.2
1244 2004-08-25 Tor Lillqvist <tml@iki.fi>
1246 Win32 equivalences of the XDG folders
1248 * glib/gutils.c (get_special_folder): New function, calls
1249 SHGetSpecialFolderLocation() to get path to places like the My
1251 (g_get_any_init): Use CSIDL_PROFILE as HOME if not
1252 overridden by env vars.
1253 (g_get_user_data_dir): Use CSIDL_PERSONAL.
1254 (g_get_user_config_dir): Use CSIDL_APPDATA.
1255 (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
1256 (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
1257 CSIDL_COMMON_DOCUMENTS.
1258 (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
1260 * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
1262 * glib/glib.def: Add the new functions.
1264 Mon Aug 23 16:16:35 2004 Manish Singh <yosh@gimp.org>
1266 * glib/goption.c (g_option_group_add_entries): remove unused
1269 Mon Aug 23 01:35:18 2004 Matthias Clasen <maclas@gmx.de>
1271 * glib/gutils.c (g_get_user_cache_dir):
1272 * glib/gutils.c (g_get_user_config_dir):
1273 * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
1274 while holding the g_utils_global lock, simply use g_home_dir.
1275 (#150695, Jody Goldberg)
1277 2004-08-21 Tor Lillqvist <tml@iki.fi>
1279 * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
1280 break out of its loop. Prevents a thread leak. (#147392, Peter
1283 * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
1284 return value from strxfrm(). For instance Microsoft's strxfrm()
1285 returns INT_MAX on errors. (#141124)
1287 2004-08-19 Tor Lillqvist <tml@iki.fi>
1289 * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
1290 source and destination charset parameter order in g_convert()
1291 call. (#150394, possibly also #141124)
1293 2004-08-20 Jon K Hellan <hellan@acm.org>
1295 * glib/goption.h: Remove trailing commas.
1297 2004-08-17 Matthias Clasen <mclasen@redhat.com>
1299 * configure.in: Check for all four values of the
1300 visibility attribute; gcc 2.96 seems to miss
1301 "default". (#150379, Vincent Noel)
1303 2004-08-16 Christian Rose <menthos@menthos.com>
1305 * configure.in: Added "bs" to ALL_LINGUAS.
1307 2004-08-11 Ray Strode <rstrode@redhat.com>
1309 * docs/reference/glib/glib-sections.txt:
1310 * glib/gutils.[ch] (g_get_user_data_dir),
1311 (g_get_user_config_dir), (g_get_user_cache_dir),
1312 (g_get_system_data_dirs), (g_get_system_config_dirs):
1313 Add new XDG basedir API (bug 139973).
1315 2004-08-10 Matthias Clasen <mclasen@redhat.com>
1317 * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
1318 * configure.in: Check whether the visibility attribute
1319 works and define G_HAVE_GNUC_VISIBILITY and
1320 G_GNUC_INTERNAL in glibconfig.h correspondingly.
1322 Mon Aug 9 17:37:56 2004 Matthias Clasen <maclas@gmx.de>
1324 * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
1326 2004-08-06 Hans Breuer <hans@breuer.org>
1328 * glib/makefile.msc.in glib/glib.def : updated
1330 * glib/gutils.c : avoid 'inconsitent dll linkage' by not
1331 defining extern char** environ with msvc
1333 2004-08-06 Matthias Clasen <mclasen@redhat.com>
1335 * m4macros/glib-gettext.m4: Require ngettext. (#123847,
1338 Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
1340 * glib/gutils.h (g_get_codeset): strdup result so caller
1341 doesn't free internally managed memory.
1343 2004-08-04 Tor Lillqvist <tml@iki.fi>
1345 * glib/glib.def: Add glib_check_version.
1347 * config.h.win32.in: Update to match what configure produces. Add
1348 the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
1349 HAVE_INT64_AND_I64 to where the configure script puts it. Add
1350 HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
1352 Tue Aug 3 16:19:44 2004 Matthias Clasen <maclas@gmx.de>
1354 * glib/goption.c: Mark user visible strings for translation.
1356 Tue Aug 3 15:50:55 2004 Matthias Clasen <maclas@gmx.de>
1358 * glib/goption.[hc]: Pedantically use g types throughout.
1360 Tue Aug 3 14:58:20 2004 Matthias Clasen <maclas@gmx.de>
1363 * glib/gutils.c (glib_check_version): New function to
1364 check the version of GLib at runtime. (#149175, Michael Natterer)
1366 2004-08-03 Anders Carlsson <andersca@gnome.org>
1370 Move GTranslateFunc to gtypes.h
1372 2004-08-02 Anders Carlsson <andersca@gnome.org>
1379 * tests/Makefile.am:
1380 * tests/option-test.c:
1383 2004-08-02 Matthias Clasen <mclasen@redhat.com>
1385 * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
1386 declarations as internal and avoid PLT indirections for
1387 them. (#145465, Arjan van de Ven)
1389 * glib/gunicodeprivate.h:
1390 * glib/gthreadinit.h:
1393 * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
1394 _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
1395 _g_messages_thread_init(), _g_convert_thread_init(),
1396 _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
1397 _g_mem_thread_private_init(), _g_messages_thread_private_init(),
1398 _g_utf8_normalize_wc() and _g_unichar_combining_class().
1400 * glib/gatomic.c: Include gthreadinit.h here to see the declaration
1401 for _g_atomic_thread_init().
1403 Sun Aug 1 13:19:18 2004 Manish Singh <yosh@gimp.org>
1405 * tests/uri-test.c: move newline printing from run_from_uri_tests()
1406 to run_roundtrip_tests().
1408 2004-08-01 Matthias Clasen <mclasen@redhat.com>
1410 * Post-release version bump
1412 * === Released 2.5.1 ===
1414 Sat Jul 31 23:17:05 2004 Matthias Clasen <maclas@gmx.de>
1418 Sat Jul 31 20:33:07 2004 Matthias Clasen <maclas@gmx.de>
1420 * tests/shell-test.c: Include a test involving consecutive
1421 backslashes followed by a non-escaped doublequote.
1423 * glib/gshell.c (tokenize_command_line): Count consecutive
1424 backslashes mod 2 to detect escaped doubleqotes. (#127306)
1426 2004-07-30 Matthias Clasen <mclasen@redhat.com>
1428 * glib/gconvert.c (g_unescape_uri_string): Don't validate
1429 for UTF-8 here. (#148420, Robert Ögren)
1431 * tests/uri-test.c (run_roundtrip_tests): Add tests for
1432 roundtrip compatibility. Going from filename to uri and
1433 back should always give you the same filename back.
1435 2004-07-28 Matthias Clasen <mclasen@redhat.com>
1437 * tests/markups/valid-{9,10,11}.gmarkup:
1438 * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
1439 of whitespace inside tags.
1441 * glib/gmarkup.c (enum GMarkupParseState): Add
1442 STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
1443 (g_markup_parse_context_parse): Accept whitespace between
1444 attribute names, '=' and attribute values and between
1445 close tag name and '>'. (#148646, Hiroyuki Ikezoe)
1447 Tue Jul 27 02:01:31 2004 Matthias Clasen <maclas@gmx.de>
1449 * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
1452 Sat Jul 24 17:50:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1454 * glib/gstrfuncs.c (g_strsplit_set):
1455 s/g_strtokenize/g_strsplit_set/ in docs.
1457 Fri Jul 23 10:37:50 2004 Matthias Clasen <maclas@gmx.de>
1459 * tests/type-test.c (main): Actually test G_MAXSIZE with
1462 2004-07-21 Matthias Clasen <mclasen@redhat.com>
1464 Fix #132858, Sven Neumann, patch by James Henstridge:
1466 * glib-gettextize.in: modify so that mkinstalldirs will
1467 get installed into auxdir.
1469 * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
1471 2004-07-21 Matthias Clasen <mclasen@redhat.com>
1473 Fix #147651, reported by Oliver Guntermann:
1475 * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
1476 _g_gnulib_vasprintf() in a macro, since they behave
1477 differently wrt. to memory allocation.
1479 * glib/gprintf.c (g_vasprintf): Instead, differentiate
1480 here between the three cases: system vasprintf(),
1481 _g_gnulib_vasprintf(), no vasprintf().
1483 2004-07-20 Crispin Flowerday <gnome@flowerday.cx>
1485 * NEWS: Fix a typo in my name
1487 Tue Jul 20 04:31:40 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1489 * configure.in: Bump version number
1491 Sun Jul 18 19:40:30 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1493 * === Released 2.5.0 ===
1495 * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
1497 Sun Jul 18 01:40:28 2004 Matthias Clasen <maclas@gmx.de>
1499 * NEWS: Updates for 2.5.0
1501 Mon Jul 12 00:02:40 2004 Matthias Clasen <maclas@gmx.de>
1503 * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
1505 2004-07-09 Matthias Clasen <mclasen@redhat.com>
1507 * glib/gdir.c (g_dir_open): Convert filename to UTF-8
1508 before using it in the error message. (#146054, Federico
1511 Thu Jul 8 00:54:32 2004 Matthias Clasen <maclas@gmx.de>
1513 * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
1514 be built without anyway. (#135899, Murray Cumming)
1516 Mon Jul 5 18:50:27 2004 Matthias Clasen <maclas@gmx.de>
1518 * glib/gmessages.h (g_debug): Complete the g_log()
1519 family. (#135730, Sven Herzberg)
1521 Mon Jul 5 18:42:30 2004 Matthias Clasen <maclas@gmx.de>
1523 * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to
1524 make srcdir != . work. (#145166, Kaz Sasayama)
1526 Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
1528 * configure.in: Use a small test library instead of
1529 libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
1530 Julio M. Merino Vidal)
1532 2004-07-02 Sebastian Wilhelmi <seppi@seppi.de>
1534 * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
1535 __volatile__ to make the file consistent. Spotted by Benoit
1536 Carpentier <gtkool_2kx@yahoo.fr>.
1538 2004-07-01 John Ehresman <jpe@wingide.com>
1540 * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1541 Initialize reset_send & reset_recv fields and don't close
1542 sockets unless they were created. (#145153)
1544 Fri Jun 11 22:56:46 2004 Matthias Clasen <maclas@gmx.de>
1546 * glib/gscanner.c (g_scanner_get_token_ll): Ignore a
1547 missing newline at EOF for single line comments.
1548 (#83674, Sven Neumann)
1550 Thu Jun 10 23:38:02 2004 Matthias Clasen <maclas@gmx.de>
1552 * tests/printf-test.c (TEST): Actually set any_failed on
1553 failure. (#143552, Philippe Blain)
1555 2004-06-09 Federico Mena Quintero <federico@ximian.com>
1557 * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1558 for URIs that *should* have been invalid, or viceversa.
1559 (from_uri_tests): Likewise.
1561 2004-06-07 Federico Mena Quintero <federico@ximian.com>
1565 * glib/gconvert.c (is_asciialphanum): Renamed from
1566 is_escalphanum(); ensures that this is an ASCII character.
1567 (is_asciiescalpha): Renamed from is_escalpha().
1568 (hostname_validate): Use the two functions above.
1569 (g_filename_to_uri): Don't convert the filename to UTF-8.
1570 (g_filename_from_uri): Don't convert the filename from UTF-8.
1572 Mon Jun 7 22:25:24 2004 Matthias Clasen <maclas@gmx.de>
1574 * tests/run-markup-tests.sh: Default to silence, but support
1575 a -v argument to get the old output back.
1577 2004-06-06 Tor Lillqvist <tml@iki.fi>
1579 * glib/gutils.c (g_get_any_init): Check home for being
1580 NULL. (#143812, Ivan Wong)
1582 Sun Jun 6 15:23:00 2004 Pawan Chitrakr <pawan@nplinu.org>
1584 * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1586 Fri Jun 4 19:26:47 2004 Manish Singh <yosh@gimp.org>
1588 * glib/galloca.h: cpp #directives should always have the "#" in the
1589 first column of the the line. Do that for "#pragma alloca". Fixes
1592 Wed Jun 2 00:57:16 2004 Matthias Clasen <maclas@gmx.de>
1594 * glib/gtypes.h: Use higher precision for the mathematical
1595 constants. (#141941, Morten Welinder)
1597 Tue Jun 1 22:01:40 2004 Matthias Clasen <maclas@gmx.de>
1599 * glib/gmarkup.c (advance_char): Fix an off-by-one error
1600 in g_markup_parse_context_parse(). (#142794, Morten Welinder)
1602 Sun May 16 23:23:29 2004 Matthias Clasen <maclas@gmx.de>
1606 * glib/gcompletion.c (g_completion_add_items):
1607 (g_completion_remove_items): Remove unnecessary
1608 checks. (#142559, Morten Welinder)
1610 2004-05-15 Tor Lillqvist <tml@iki.fi>
1612 * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1613 is an absolute path and exists. (#138618)
1615 2004-05-14 Tor Lillqvist <tml@iki.fi>
1617 * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1618 for precision correctly. (#142400)
1620 For backward compatibility with the Trio implementation, make "ll"
1621 format modifer work on Win32, too. Change into "I64" before
1622 passing to the system printf. (#142433)
1624 * tests/printf-test.c (main): Add tests for the above.
1626 2004-05-10 Matthias Clasen <mclasen@redhat.com>
1630 * glib/gmain.c (block_source, unblock_source): Make these
1631 static. (#142230, Morten Welinder)
1633 2004-05-10 Tor Lillqvist <tml@iki.fi>
1635 * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1636 lines. Thanks to Benoît Carpentier.
1638 Sun May 9 02:04:14 2004 Matthias Clasen <maclas@gmx.de>
1642 * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1643 memleak. (#141998, Nikolai Weibull)
1645 Sat May 8 23:02:26 2004 Matthias Clasen <maclas@gmx.de>
1649 * glib/gutils.h: Remove vestigial g_get_codeset().
1650 * glib/gutils.c (g_get_codeset): Call g_get_charset().
1651 (#137703, Owen Taylor)
1653 2004-05-06 Matthias Clasen <mclasen@redhat.com>
1655 * configure.in: Bump version number to 2.5.0.
1657 Wed May 5 23:35:44 2004 Matthias Clasen <maclas@gmx.de>
1659 * glib/gconvert.c (g_filename_from_uri): Quote the file
1660 scheme to mark it as untranslatable. String change.
1661 (#133144, Danilo Segan)
1663 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
1665 * configure.in: Added Walloon (wa) to ALL_LINGUAS
1667 Sun May 2 03:51:59 2004 Manish Singh <yosh@gimp.org>
1669 * glib/gtypes.h: check for __pentium4__ when deciding whether to
1670 use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1672 2004-05-01 Hans Breuer <hans@breuer.org>
1674 * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1675 fixes #141563, Steve Lhomme
1677 2004-04-30 Matthias Clasen <mclasen@redhat.com>
1679 * === Released 2.4.1 ===
1681 * configure.in: Version 2.4.1, interface age 1.
1685 2004-04-25 Tor Lillqvist <tml@iki.fi>
1687 * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1688 Plug memory leak. (#140770, John Ehresman)
1690 2004-04-23 Matthias Clasen <mclasen@redhat.com>
1692 * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
1693 Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1694 point. (#139134, Piotr Klaban)
1696 * glib/gconvert.c (open_converter): Don't call g_strerror() here,
1697 since it can lead to infinite recursion. (#139133, Piotr Klaban)
1699 2004-04-22 Matthias Clasen <mclasen@redhat.com>
1701 * tests/testglib.c (main): Trivial warning fix. (#140345)
1703 * tests/queue-test.c (main): Add some tests for off-by-one errors.
1705 * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one
1706 error. (#139703, Philippe Blain)
1708 * tests/testglib.c (main): Add testcases for g_message() involving
1709 non-printable and unsafe characters.
1711 * glib/gmessages.c (escape_string): Don't assume that
1712 string->str remains unchanged over g_string_insert()
1713 calls. (#139030, Christophe Saout)
1715 * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a
1716 locale-specific decimal separator directly follows a
1717 number. (#138424, Nickolay V. Shmyrev)
1719 * tests/strtod-test.c (main): Add some more testcases.
1721 * glib/gmain.c (g_main_context_query): Only set time_is_current to
1722 FALSE if context->timeout is not zero. (#137795, Christian Krause)
1724 2004-04-21 Matthias Clasen <mclasen@redhat.com>
1726 * tests/printf-test.c (main): Comment out a nonessential testcase
1727 which fails on HP-UX. (#136283, Jonas Jonsson)
1729 2004-04-15 Matthias Clasen <mclasen@redhat.com>
1731 * tests/patterntest.c (main): Add tests for the empty pattern.
1733 * glib/gpattern.c (g_pattern_spec_new): Don't read and write out
1734 of bounds when the pattern is empty. (#140032, Stanislav Brabec,
1737 2004-04-10 Tor Lillqvist <tml@iki.fi>
1739 * glib/gwin32.c (g_win32_getlocale): Add new language and
1740 sublanguage codes, from GNU gettext. (#137958)
1745 * glib/gthread.c: Decorating variable definitions with
1746 __declspec(dllexport) causes problems on Cygwin build, and isn't
1747 really needed for a native Win32 build with mingw or MSVC, so
1748 remove. (#138402, Roger Leigh)
1750 * glib/libcharset/localcharset.c: Use Win32-specific code also on
1752 * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1753 on Cygwin, either. (#138412, Roger Leigh)
1755 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
1757 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1759 2004-04-03 Tor Lillqvist <tml@iki.fi>
1761 * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1762 found on Cygwin, they don't work. (#138401, Roger Leigh)
1764 2004-03-31 Tor Lillqvist <tml@iki.fi>
1766 * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1769 * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1770 on Cygwin. (#138423, Roger Leigh)
1772 2004-03-30 Adam Weinberger <adamw@gnome.org>
1774 * configure.in: Added en_CA to ALL_LINGUAS.
1776 2004-03-21 Tor Lillqvist <tml@iki.fi>
1778 * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1779 cases where a drive letter is present. For 'a:' or 'a:foo', return
1780 'a:.'. This is mostly just for consistency with the behaviour
1781 without a drive letter. But very important is to for 'a:\foo' or
1782 'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1783 instead of backslashes.) (#137316)
1785 * tests/dirname-test.c (main): More complete testing on Win32. If
1786 a test fails, include expected and actual result in error message.
1788 Fri Mar 19 15:21:09 2004 Owen Taylor <otaylor@redhat.com>
1790 * glib/gmain.c: Fix the accidental revert of the
1791 fixes from #112222 that happened when the GChildWatch
1792 code was added. (Caught by Christian Persch)
1794 Fri Mar 19 11:07:06 2004 Owen Taylor <otaylor@redhat.com>
1796 * tests/atomic-test.c (main): Make computation
1797 of "biggest_pointer" vaguely more portable.
1798 (#137498, Jonas Jonsson)
1800 2004-03-16 Tor Lillqvist <tml@iki.fi>
1802 * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1803 on Win32) case, where the 64-bit type is called long long, but the
1804 system printf/scanf format modifier for 64-bit integers is still I64.
1806 2004-03-16 Gareth Owen <gowen72@yahoo.com>
1808 * configure.in: Added en_GB to ALL_LINGUAS