1 2004-11-04 Tor Lillqvist <tml@iki.fi>
3 * glib/gconvert.c (g_filename_display_name): Document that the
4 result is guaranteed to be non-NULL.
6 * glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
7 get_contents_posix, get_contents_win32, g_file_open_tmp,
8 g_file_read_link): Use g_filename_display_name() for error
10 (g_mkstemp): Document that the template should be in the GLib file
12 (g_file_open_tmp): Ditto. Also document that the actual name
13 returned is also in the GLib file name encoding.
15 2004-11-02 Matthias Clasen <mclasen@redhat.com>
17 * glib/gconvert.c (g_filename_display_name): New function
18 to convert a filename to a UTF-8 string for display
19 purposes. (requested by Alex Larsson)
21 * glib/gconvert.c (g_get_filename_charsets): New function
22 to return the encodings which are tried when converting a
23 filename to UTF-8. (#151465, François Gagné)
25 2004-11-02 Matthias Clasen <mclasen@redhat.com>
27 * configure.in: Bump version
29 * === Released 2.5.5 ===
33 2004-11-02 Matthias Clasen <mclasen@redhat.com>
35 * glib/glib.symbols: Add new functions.
37 * glib/gconvert.c: Fix doc comment for
38 g_get_filename_charsets().
40 * glib/gconvert.c (g_filename_display_name): New function to
41 convert a filename to a UTF-8 string for display purposes.
42 (g_get_filename_charsets): New function to return the
43 encodings which are tried when converting a filename to
46 * glib/goption.c (g_option_context_parse): Document that
47 this function may not return.
49 2004-11-01 Matthias Clasen <mclasen@redhat.com>
51 * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
54 2004-11-01 Tor Lillqvist <tml@iki.fi>
56 * glib/gstdio.c (g_lstat): Implement correctly also on Unix
57 systems without lstat(). (#157038, Morten Welinder)
59 2004-11-01 Ray Strode <rstrode@redhat.com>
62 (g_key_file_get_locale_string): don't return an
63 error if we come across a value with invalid utf8 or
64 if we don't find a translated string. Just fallback
65 to the untranslated string (Mark McLoughlin, bug
69 (g_key_file_init), (g_key_file_clear): track the
70 actual start GKeyFileGroup rather than just its name
71 (g_key_file_parse_group): allow add_group() to
72 update the start group.
73 (g_key_file_remove_group_node): update the start
74 group if it gets removed (Mark McLoughlin, bug
78 (g_key_file_parse_string_as_value): Don't escape
79 tabs and spaces in the middle of key values.
81 2004-11-01 Matthias Clasen <mclasen@redhat.com>
87 * gthread/gthread-posix.c
88 * tests/timeloop-closure.c
89 * tests/timeloop.c: Fix sparse warnings. (#157014, Kjartan Maraas)
91 2004-11-01 Matthias Clasen <mclasen@redhat.com>
93 * glib/goption.c: Documentation updates.
95 Handle conflicts between options in different groups. (#156808)
97 * glib/goption.c (g_option_context_parse): When a long option does not
98 match exactly, try to parse it as --group-option.
99 (g_option_context_add_group): Warn if a group name conflict occurs.
101 * glib/goption.c (print_help): Print out the effective options, ie
102 don't print shadowed short options, and for long options print
103 --group-option instead of --option if appropriate.
105 2004-10-31 Matthias Clasen <mclasen@redhat.com>
107 * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
110 2004-10-31 Tor Lillqvist <tml@iki.fi>
112 * glib/gwin32.c: Document g_win32_get_windows_version().
114 * glib/gstdio.[ch]: Add g_lstat().
116 2004-10-29 Matthias Clasen <mclasen@redhat.com>
118 * glib/goption.c: Doc additions.
120 * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
123 2004-10-29 Hans Breuer <hans@breuer.org>
125 * glibconfig.h */makefile.msc.in : updated [and finally fixed my
126 script to produce ready to go de-in(ed) files, w/o autotools]
128 * */*.rc.in : updated copyrights to 2004
130 * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
131 use the same fallback mecahnism as on *NIX where ever applicable
133 2004-10-29 Matthias Clasen <mclasen@redhat.com>
135 * tests/option-test.c: Add tests for the handling of
136 non-option arguments, "--" and G_OPTION_REMAINING.
138 * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
139 a special long option name, which can be used for an option
140 in the main group which collects the non-option arguments.
141 It must be of type G_OPTION_ARG_STRING_ARRAY or
142 G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
143 an option whose name is G_OPTION_REMAINING, the non-option
144 arguments are left behind in argv as before.
146 * glib/goption.c: Add documentation.
148 2004-10-28 Matthias Clasen <mclasen@redhat.com>
150 * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
151 to avoid compiler warnings. (#156767, Owen Taylor)
153 2004-10-29 Tor Lillqvist <tml@iki.fi>
155 * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
156 with MSVC. [156727, Kazuki IWAMOTO]
158 * glib/giochannel.h (g_io_channel_new_file): Redefine also
159 g_io_channel_new_file to the UTF-8 version on Win32. [156725,
162 2004-10-28 Ray Strode <rstrode@redhat.com>
165 (find_file_in_data_dirs): clean up a leak (#156652,
167 (g_key_file_load_from_fd): propagate fstat() error
168 conditions and retry read on EAGAIN (#156647, Morten
169 Welinder). Return error if file is NOT regular, not if
170 it is regular (bug introduced from last commited bug
172 (g_key_file_load_from_data_dirs): allocate enough space
173 for the terminating NULL.
175 2004-10-28 Ray Strode <rstrode@redhat.com>
177 * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
180 2004-10-28 Matthias Clasen <mclasen@redhat.com>
182 * glib/gstdio.c: Include galias.h before glib.h (#156697,
185 * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
187 2004-10-28 Tor Lillqvist <tml@iki.fi>
189 * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
192 * glib/gkeyfile.c: Include gstdio.h and use g_open().
194 2004-10-27 Ray Strode <rstrode@redhat.com>
197 (g_key_file_load_from_fd),
198 (g_key_file_load_from_file):
199 Move file is regular check to load_from_file to use
200 fstat() instead of race prone g_file_test(). Don't
201 clear/init until needed. Change error messages to be
203 (g_key_file_load_from_data),
204 (g_key_file_load_from_data_dirs),
205 (g_key_file_parse_data),
206 (g_key_file_get_value),
207 (g_key_file_get_string),
208 (g_key_file_set_string),
209 (g_key_file_get_string_list),
210 (g_key_file_set_string_list),
211 (g_key_file_set_locale_string),
212 (g_key_file_get_locale_string),
213 (g_key_file_set_locale_string_list),
214 (g_key_file_get_boolean),
215 (g_key_file_set_boolean),
216 (g_key_file_get_boolean_list),
217 (g_key_file_set_boolean_list),
218 (g_key_file_get_integer),
219 (g_key_file_get_integer_list),
220 (g_key_file_set_integer_list),
221 (g_key_file_remove_key):
222 Add more g_return_*if_fail checks for public functions.
224 2004-10-27 Matthias Clasen <mclasen@redhat.com>
226 * configure.in: Bump version.
228 * === Released 2.5.4 ===
230 2004-10-27 Matthias Clasen <mclasen@redhat.com>
232 * glib/abicheck.sh: Strip Win32 specific defs file syntax.
236 2004-10-27 Matthias Clasen <mclasen@redhat.com>
238 Introduce the idea of a filename encoding, which is
239 *literally* the filename encoding on Unix. On windows,
240 use the Unicode name converted to UTF-8. (#101792,
241 Tor Lillqvist, Owen Taylor)
244 * glib/gconvert.[hc]:
245 * glib/gfileutils.[hc]:
247 * glib/giowin32.c: On Windows, keep old ABI versions
248 of GLib pathname api for DLL ABI stability. Use different
249 names for the new-style UTF-8 versions. Hide this through
252 * glib/gstdio.[hc]: New files containing wrappers for
255 * glib/glib.symbols: Add new symbols.
257 * glib/makegalias.pl: Drop Win32 specific .def syntax,
260 2004-10-27 Matthias Clasen <mclasen@redhat.com>
262 * glib/gkeyfile.c: Fix includes. (#156500, #156499,
265 * glib/Makefile.am (galias.h): Fix srcdir != builddir
266 builds. (#156447, Thomas Fitzsimmons)
268 2004-10-26 Gora Mohanty <gmohanty@cvs.gnome.org>
270 * configure.in: Added 'or' to ALL_LINGUAS.
272 2004-10-26 Matthias Clasen <mclasen@redhat.com>
274 * glib/gkeyfile.c: Include galias.h.
276 * glib/gkeyfile.c (g_key_file_parse_value_as_comment):
277 Don't compare strings and chars.
279 * glib/glib.symbols: Add new symbols.
281 * glib/gkeyfile.c (g_key_file_new): Fix docs.
283 * glib/gkeyfile.h: Use the same parameter names as in
284 the implementation and the docs.
286 * glib/gwin32.c (g_win32_get_windows_version): Make this
287 function thread-safe in the GLib style.
288 * glib/gthreadinit.h:
289 * glib/gwin32.c (_g_win32_thread_init): New function to
290 initialize the version.
291 * glib/gthread.c (g_thread_init_glib): Call
292 _g_win32_thread_init() from here.
294 2004-10-26 Ray Strode <rstrode@redhat.com>
296 * glib/gkeyfile.c: Add Matthias to "Written by" lines
297 (GKeyFileGroup): add field to hold comments about groups
298 (g_key_file_load_from_fd): return TRUE on success and
299 FALSE on failure. Don't close fd's opened by other
301 (g_key_file_load_from_file): run FILE_IS_REGULAR test
302 before trying to open file, to save an fd from being
303 leaked (would probably be better to use fstat()). Close
304 fd when done with it. Return TRUE on success and FALSE
306 (g_key_file_load_from_data): Return TRUE on success and
308 (g_key_file_load_from_data_dirs): remove superfluous
309 const modifier. Return TRUE on success and FALSE on
310 failure. Stop trying to load files when one succeeds.
311 (g_key_file_parse_key_value_pair): don't validate input
312 for UTF-8 until users uses a getter that does
313 validation. Don't leak copy of start_group_name.
314 (g_key_file_to_data): serialize new comment field for
316 (g_key_file_get_keys): Remove convenience code to let
317 NULL group mean start group. Get rid of unneeded NULL
318 check before g_strdup.
319 (g_key_file_get_groups): Reverse groups list before
320 sending to user because it is maintained in backward
322 (g_key_file_get_value),
323 (g_key_file_set_value): add g_return checks at top of
325 (g_key_file_get_string),
326 (g_key_file_get_string_list): validate key value is UTF-8.
327 (g_key_file_[sg]et_*comment): new functions for
328 setting/getting comments
329 (g_key_file_remove_comment): new function to remove
331 (g_key_file_remove_key_value_pair_node): new function to
332 pull a key-value pair out of the list and free it.
333 (g_key_file_remove_group_node): call
334 g_key_file_remove_key_value_pair_node instead of
335 freeing the list immediately to get better statistics
336 for approximate_size.
337 (g_key_file_remove_group): use lookup_group_node instead
338 of lookup_group to prevent a g_list_find call.
339 (g_key_file_add_key): report group also when unable to
341 (g_key_file_lookup_group_node): new function to make
342 getting the group node from a group name easier.
343 (g_key_file_lookup_group): use lookup_group_node under
345 (g_key_file_lookup_key_value_pair_node): new function to
346 make getting the key-value pair from a group and key
348 (g_key_file_parse_comment_as_value): new function to add '#' to the
349 beginning of every line.
350 (g_key_file_parse_value_as_comment): new function that
351 attempts to be the inverse of comment as value.
353 2004-10-26 Matthias Clasen <mclasen@redhat.com>
356 * glib/gkeyfile.c: Don't include ctype.h needlessly. (#156424,
359 * tests/strtod-test.c (test_string): Improve error reporting.
361 Mon Oct 25 15:05:18 2004 Manish Singh <yosh@gimp.org>
363 * autogen.sh: rm autom4te.cache, since it might interfere with
364 differing autoconf versions.
366 * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
369 * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
370 don't redefine it here.
372 2004-10-24 Matthias Clasen <mclasen@redhat.com>
374 * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
375 destroy the lookup map if it is NULL.
377 2004-10-23 Matthias Clasen <mclasen@redhat.com>
379 * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c,
380 glib/giochannel.c, glib/gmain.c, glib/gspawn.c,
381 glib/libcharset/localcharset.c: Apply a patch to fix
382 sparse warnings. (#154696, Kjartan Maraas)
384 * glib/gnulib/g-gnulib.h: Undef libc functions before defining
385 them, since they may also be macros. (#155177, Andrea Campi)
388 * glib/gkeyfile.c: Add a parser for desktop entries and
389 similar files with a .ini-like syntax. (#139974, Ray Strode)
391 * glib/glib.h: Include gkeyfile.h
393 * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
394 (glibsubinclude_HEADERS): Add gkeyfile.h
396 * glib/gutils.c (_g_compute_locale_variants): Make this
397 non-static and use it in gkeyfile.c
399 2004-10-22 Matthias Clasen <mclasen@redhat.com>
401 * tests/uri-test.c (run_uri_list_tests): Add some
405 * glib/gconvert.c (g_uri_list_extract_uris): New function to
406 split a text/uri-list data into individual uris and strip comments.
408 2004-10-20 Matthias Clasen <mclasen@redhat.com>
410 * glib/goption.c (get_change): Don't return the wrong
411 change. (#155856, Lucas Rocha)
413 2004-10-17 Matthias Clasen <mclasen@redhat.com>
415 * glib/gutils.h (G_IS_DIR_SEPARATOR):
416 * glib/gutils.c: Make public. (#155589, Tim-Philipp Müller)
418 2004-10-08 Matthias Clasen <mclasen@redhat.com>
420 * glib/gmain.c (g_child_watch_add_full):
421 * glib/gmain.c (g_child_watch_add): Document that GLib supports only
422 a single callback per pid. (#154828, Gustavo Carneiro)
424 2004-10-06 Matthias Clasen <mclasen@redhat.com>
426 * glib/gfileutils.c: Fix some C99isms. (#154676, Kjartan Maraas)
428 2004-10-05 Anders Carlsson <andersca@gnome.org>
430 * glib/goption.c: (g_option_context_parse):
431 Add check for if argc is 0.
433 * tests/option-test.c: (empty_test3), (main):
436 2004-10-05 Matthias Clasen <mclasen@redhat.com>
440 2004-10-04 Matthias Clasen <mclasen@redhat.com>
442 * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
443 vtable is set. (#154352, Philippe Blain)
445 2004-10-03 Anders Carlsson <andersca@gnome.org>
447 * glib/goption.c: (parse_arg):
448 Set arg_data on filenames. (Discovered by Mats-Ola Persson).
450 * tests/option-test.c: (arg_test3), (ignore_test3), (main):
451 Add test for filename args.
453 2004-10-01 Tor Lillqvist <tml@iki.fi>
455 * glib/goption.c (g_option_context_parse): Use
456 g_path_get_basename() instead of strrchr(), so that either slash
457 is accepted on Windows.
459 2004-09-30 Matthias Clasen <mclasen@redhat.com>
461 * glib/gfileutils.c: Convert filenames to UTF-8 before
462 putting them in GErrors. (#154078, Morten Welinder)
464 2004-09-29 Matthias Clasen <mclasen@redhat.com>
466 * glib/glib.symbols: Add g_assert_warning.
469 * glib/gmessages.c (g_assert_warning): Treat g_assert
470 in the same way as g_return_if_fail and move the string
471 constants into a helper function, which also takes
472 care of removing the "IA__" prefix from internal aliases.
474 * glib/gmessages.h: Move the declaration of
475 g_return_if_fail_warning() out of the ifdefs, so that
476 building with G_DISABLE_ASSERT works.
478 2004-09-27 Murray Cumming <murrayc@murrayc.com>
480 * glib/goptions.[h|c], glib/glib.symbols: Rename
481 g_context_option_error_quark() to g_option_error_quark(), because that
482 is consistent with normal naming conventions, and what bindings expect.
484 .2004-09-26 Matthias Clasen <mclasen@redhat.com>
486 Fix #153649, Hidetaka Iwai:
488 * glib/goption.c (parse_long_option): Don't forget to set parsed
489 to TRUE when parsing a long ARG_NONE option.
490 (free_changes_list): Fix the memory management for string
493 2004-09-22 Tor Lillqvist <tml@iki.fi>
495 * glib/gmessages.c: [Win32] Don't ever open a console
496 window. (Which we used to do if standard output or standard error
497 are invalid, as they are for GUI applications.) These console
498 windows that open up unexpectedly have caused endless amounts of
499 confusion among end-users. (#141102, #151175)
501 Don't output the process id on Windows. Only output the program
502 name. If not set with g_set_prgname(), fetch the application
503 executable's name and use that.
505 Mon Sep 20 00:35:14 2004 Matthias Clasen <maclas@gmx.de>
507 * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
508 convert UTF-16 byte stream of ambiguous endianness. (#152954,
511 Mon Sep 20 00:17:37 2004 Matthias Clasen <maclas@gmx.de>
513 * tests/option-test.c (error_test3_post_parse):
514 * tests/option-test.c (error_test2_post_parse):
515 * tests/option-test.c (error_test1_post_parse): Don't call
516 g_set_error () with a NULL format. (#153103, Robert Ögren)
518 Mon Sep 20 00:13:48 2004 Matthias Clasen <maclas@gmx.de>
520 Make GOption remove long options completely. (#153113, Robert Ögren)
522 * glib/goption.c (parse_long_option): Fix a wrong index.
524 * tests/option-test.c (ignore_test3): Test handling of unknown
527 Sun Sep 19 23:56:15 2004 Matthias Clasen <maclas@gmx.de>
529 * glib/goption.c (g_option_context_parse): Call error_func
530 on error, not post_parse_func again. (#153107, Robert Ögren)
532 Sun Sep 19 23:52:35 2004 Matthias Clasen <maclas@gmx.de>
534 * glib/gmessages.c (mklevel_prefix):
535 * glib/gmessages.c (g_logv): Fix the types of some variables
536 to be GLogLevelFlags instead of guint. (#153042, Philippe Blain)
538 2004-09-18 Matthias Clasen <mclasen@redhat.com>
542 * === Released 2.5.3 ===
544 2004-09-17 Matthias Clasen <mclasen@redhat.com>
546 * NEWS: More updates.
548 Thu Sep 16 18:42:46 2004 Manish Singh <yosh@gimp.org>
550 * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
553 Thu Sep 16 18:15:32 2004 Manish Singh <yosh@gimp.org>
555 * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
556 of characters, instead of a gsize. Technically this is incorrect,
557 but this makes it match the prototype, and this is a deprecated
560 2004-09-16 Matthias Clasen <mclasen@redhat.com>
562 * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
564 Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de>
566 Implement the same PLT reduction technique used in GTK+:
568 * glib/glib.symbols: Master list of symbols
570 * glib/makegalias.pl: Perl script which creates galias.h
572 * glib/abicheck.sh: Compares actual exports against glib.symbols
574 * glib/glib.def: Removed. This file is now generated from
577 * glib/Makefile.am: Add rules to generate galias.h and glib.def,
578 and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
580 * configure.in: Add --disable-visibility to suppress the
581 use of ELF visibility attributes.
583 * glib/*.c: Include galias.h
585 2004-09-15 Tor Lillqvist <tml@iki.fi>
587 * glib/gwin32.c (g_win32_error_message): Convert message to
588 UTF-8. Technically this breaks API, but the actual use cases in
589 gdk/win32 have assumed it is UTF-8 anyway. Fix
590 documentation. (#152618, Kazuki Iwamoto)
592 * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
593 good idea, and it clashes with newest mingw headers, which have a
594 ftruncate implementation as an inline function. Thanks to Dominik R.
596 * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
597 call _chsize() in the C library.
599 2004-09-15 Matthias Clasen <mclasen@redhat.com>
603 2004-09-09 Matthias Clasen <mclasen@redhat.com>
605 * glib/gmessages.c (g_return_if_fail_warning): Strip the
606 prefix "IA__" from function names, since that is what
607 GTK+ uses for the PLT-reduction aliases.
609 Thu Sep 9 13:52:26 2004 Owen Taylor <otaylor@redhat.com>
611 * glib/gmessages.c (g_return_if_fail_warning):
612 Include implementation of g_return_if_fail_internal().
614 Thu Sep 9 10:37:41 2004 Owen Taylor <otaylor@redhat.com>
616 * glib/gmessages.h (g_return_[val_]if_fail): Use
617 a helper function to reduce code size; omit FILE/LINE
618 when we have __PRETTY_FUNCTION__.
620 2004-09-09 Matthias Clasen <mclasen@redhat.com>
622 * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
624 Thu Sep 9 00:10:40 2004 Matthias Clasen <maclas@gmx.de>
627 * glib/gstrfuncs.c (g_strv_length): Add a function to
628 calculate the length of a NULL-terminated string
629 array. (#150455, Tim-Philipp Müller)
631 * tests/strfunc-test.c (main): Add a test for g_strv_length().
633 2004-09-08 Tor Lillqvist <tml@iki.fi>
635 * glib/gutils.c (guess_category_value): On Win32, as last resort
636 call g_win32_getlocale() to get the current thread locale. There
637 usually aren't any POSIXish LANG or LC_* environment variables
638 present on Windows machines.
640 * glib/glib.def: Add g_get_language_names.
642 2004-09-07 Matthias Clasen <mclasen@redhat.com>
645 * glib/gutils.c (g_get_language_names): Add a function to
646 return a list of applicable locale names. (#95587,
648 (guess_category_value, compute_locale_variants):
649 (explode_locale, unalias_lang, read_aliases): Helper
650 functions for g_get_language_names()
652 * tests/testglib.c (main): Show the results of
653 g_get_language_names()
655 Sun Sep 5 01:46:11 2004 Matthias Clasen <maclas@gmx.de>
659 * glib/gmessages.c (g_log_set_default_handler): New
660 function to install an alternate default log
661 handler. (#66387, Darin Adler)
663 2004-09-03 Tor Lillqvist <tml@iki.fi>
665 * glib/glib.def: Update.
667 Wed Sep 1 20:22:39 2004 Matthias Clasen <maclas@gmx.de>
670 * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
671 a function to calculate the ISO 8601 week number of
672 a date. (#92579, Niklas Lundell)
674 2004-09-01 Anders Carlsson <andersca@gnome.org>
676 * glib/goption.c: (g_option_context_parse):
677 Set program name before calling the pre-parse hooks.
679 2004-09-01 Anders Carlsson <andersca@gnome.org>
681 * glib/goption.c: (g_option_context_free), (print_help),
682 (g_option_context_parse):
683 Handle option contexts without a main group.
685 * tests/option-test.c: (empty_test2), (main):
686 Add test case for that.
688 2004-08-30 Anders Carlsson <andersca@gnome.org>
690 * glib/goption.c: (g_option_context_parse):
691 Set prgname to <unknown> if argc and argv are NULL.
693 * tests/option-test.c: (empty_test1), (main):
694 Add test case for that.
696 Sun Aug 29 23:58:38 2004 Matthias Clasen <maclas@gmx.de>
698 * glib/ghash.c (g_hash_table_lookup): Point to
699 g_hash_table_lookup_extended() for differentiation between
700 not-found and value-is-NULL. (#150960, Morten Welinder)
702 2004-08-27 Matthias Clasen <mclasen@redhat.com>
704 Fix #151193, Stepan Kasal:
706 * glib/gfileutils.c (g_file_error_from_errno):
707 * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
709 Fri Aug 27 00:45:41 2004 Matthias Clasen <maclas@gmx.de>
711 * glib/goption.c (g_option_context_parse): Set the program name
712 from argv[0], noticed by Masatake YAMATO.
714 2004-08-26 Tor Lillqvist <tml@iki.fi>
716 * tests/testglib.c (main): Test the new XDG basedir functions.
718 2004-08-25 Tor Lillqvist <tml@iki.fi>
720 * glib/gwin32.c (g_win32_get_windows_version): New
721 function. Returns the Windows version code like GetVersion(),
722 except that one can pretend to be running on Win9x by setting the
723 G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
726 * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
727 and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
729 2004-08-25 Matthias Clasen <mclasen@redhat.com>
731 * configure.in: Post-release version bump.
733 * === Released 2.5.2 ===
735 Wed Aug 25 00:25:08 2004 Matthias Clasen <maclas@gmx.de>
737 * NEWS: Update for 2.5.2
739 2004-08-25 Tor Lillqvist <tml@iki.fi>
741 Win32 equivalences of the XDG folders
743 * glib/gutils.c (get_special_folder): New function, calls
744 SHGetSpecialFolderLocation() to get path to places like the My
746 (g_get_any_init): Use CSIDL_PROFILE as HOME if not
747 overridden by env vars.
748 (g_get_user_data_dir): Use CSIDL_PERSONAL.
749 (g_get_user_config_dir): Use CSIDL_APPDATA.
750 (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
751 (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
752 CSIDL_COMMON_DOCUMENTS.
753 (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
755 * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
757 * glib/glib.def: Add the new functions.
759 Mon Aug 23 16:16:35 2004 Manish Singh <yosh@gimp.org>
761 * glib/goption.c (g_option_group_add_entries): remove unused
764 Mon Aug 23 01:35:18 2004 Matthias Clasen <maclas@gmx.de>
766 * glib/gutils.c (g_get_user_cache_dir):
767 * glib/gutils.c (g_get_user_config_dir):
768 * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
769 while holding the g_utils_global lock, simply use g_home_dir.
770 (#150695, Jody Goldberg)
772 2004-08-21 Tor Lillqvist <tml@iki.fi>
774 * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
775 break out of its loop. Prevents a thread leak. (#147392, Peter
778 * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
779 return value from strxfrm(). For instance Microsoft's strxfrm()
780 returns INT_MAX on errors. (#141124)
782 2004-08-19 Tor Lillqvist <tml@iki.fi>
784 * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
785 source and destination charset parameter order in g_convert()
786 call. (#150394, possibly also #141124)
788 2004-08-20 Jon K Hellan <hellan@acm.org>
790 * glib/goption.h: Remove trailing commas.
792 2004-08-17 Matthias Clasen <mclasen@redhat.com>
794 * configure.in: Check for all four values of the
795 visibility attribute; gcc 2.96 seems to miss
796 "default". (#150379, Vincent Noel)
798 2004-08-16 Christian Rose <menthos@menthos.com>
800 * configure.in: Added "bs" to ALL_LINGUAS.
802 2004-08-11 Ray Strode <rstrode@redhat.com>
804 * docs/reference/glib/glib-sections.txt:
805 * glib/gutils.[ch] (g_get_user_data_dir),
806 (g_get_user_config_dir), (g_get_user_cache_dir),
807 (g_get_system_data_dirs), (g_get_system_config_dirs):
808 Add new XDG basedir API (bug 139973).
810 2004-08-10 Matthias Clasen <mclasen@redhat.com>
812 * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
813 * configure.in: Check whether the visibility attribute
814 works and define G_HAVE_GNUC_VISIBILITY and
815 G_GNUC_INTERNAL in glibconfig.h correspondingly.
817 Mon Aug 9 17:37:56 2004 Matthias Clasen <maclas@gmx.de>
819 * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
821 2004-08-06 Hans Breuer <hans@breuer.org>
823 * glib/makefile.msc.in glib/glib.def : updated
825 * glib/gutils.c : avoid 'inconsitent dll linkage' by not
826 defining extern char** environ with msvc
828 2004-08-06 Matthias Clasen <mclasen@redhat.com>
830 * m4macros/glib-gettext.m4: Require ngettext. (#123847,
833 Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
835 * glib/gutils.h (g_get_codeset): strdup result so caller
836 doesn't free internally managed memory.
838 2004-08-04 Tor Lillqvist <tml@iki.fi>
840 * glib/glib.def: Add glib_check_version.
842 * config.h.win32.in: Update to match what configure produces. Add
843 the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
844 HAVE_INT64_AND_I64 to where the configure script puts it. Add
845 HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
847 Tue Aug 3 16:19:44 2004 Matthias Clasen <maclas@gmx.de>
849 * glib/goption.c: Mark user visible strings for translation.
851 Tue Aug 3 15:50:55 2004 Matthias Clasen <maclas@gmx.de>
853 * glib/goption.[hc]: Pedantically use g types throughout.
855 Tue Aug 3 14:58:20 2004 Matthias Clasen <maclas@gmx.de>
858 * glib/gutils.c (glib_check_version): New function to
859 check the version of GLib at runtime. (#149175, Michael Natterer)
861 2004-08-03 Anders Carlsson <andersca@gnome.org>
865 Move GTranslateFunc to gtypes.h
867 2004-08-02 Anders Carlsson <andersca@gnome.org>
875 * tests/option-test.c:
878 2004-08-02 Matthias Clasen <mclasen@redhat.com>
880 * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
881 declarations as internal and avoid PLT indirections for
882 them. (#145465, Arjan van de Ven)
884 * glib/gunicodeprivate.h:
885 * glib/gthreadinit.h:
888 * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
889 _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
890 _g_messages_thread_init(), _g_convert_thread_init(),
891 _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
892 _g_mem_thread_private_init(), _g_messages_thread_private_init(),
893 _g_utf8_normalize_wc() and _g_unichar_combining_class().
895 * glib/gatomic.c: Include gthreadinit.h here to see the declaration
896 for _g_atomic_thread_init().
898 Sun Aug 1 13:19:18 2004 Manish Singh <yosh@gimp.org>
900 * tests/uri-test.c: move newline printing from run_from_uri_tests()
901 to run_roundtrip_tests().
903 2004-08-01 Matthias Clasen <mclasen@redhat.com>
905 * Post-release version bump
907 * === Released 2.5.1 ===
909 Sat Jul 31 23:17:05 2004 Matthias Clasen <maclas@gmx.de>
913 Sat Jul 31 20:33:07 2004 Matthias Clasen <maclas@gmx.de>
915 * tests/shell-test.c: Include a test involving consecutive
916 backslashes followed by a non-escaped doublequote.
918 * glib/gshell.c (tokenize_command_line): Count consecutive
919 backslashes mod 2 to detect escaped doubleqotes. (#127306)
921 2004-07-30 Matthias Clasen <mclasen@redhat.com>
923 * glib/gconvert.c (g_unescape_uri_string): Don't validate
924 for UTF-8 here. (#148420, Robert Ögren)
926 * tests/uri-test.c (run_roundtrip_tests): Add tests for
927 roundtrip compatibility. Going from filename to uri and
928 back should always give you the same filename back.
930 2004-07-28 Matthias Clasen <mclasen@redhat.com>
932 * tests/markups/valid-{9,10,11}.gmarkup:
933 * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
934 of whitespace inside tags.
936 * glib/gmarkup.c (enum GMarkupParseState): Add
937 STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
938 (g_markup_parse_context_parse): Accept whitespace between
939 attribute names, '=' and attribute values and between
940 close tag name and '>'. (#148646, Hiroyuki Ikezoe)
942 Tue Jul 27 02:01:31 2004 Matthias Clasen <maclas@gmx.de>
944 * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
947 Sat Jul 24 17:50:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
949 * glib/gstrfuncs.c (g_strsplit_set):
950 s/g_strtokenize/g_strsplit_set/ in docs.
952 Fri Jul 23 10:37:50 2004 Matthias Clasen <maclas@gmx.de>
954 * tests/type-test.c (main): Actually test G_MAXSIZE with
957 2004-07-21 Matthias Clasen <mclasen@redhat.com>
959 Fix #132858, Sven Neumann, patch by James Henstridge:
961 * glib-gettextize.in: modify so that mkinstalldirs will
962 get installed into auxdir.
964 * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
966 2004-07-21 Matthias Clasen <mclasen@redhat.com>
968 Fix #147651, reported by Oliver Guntermann:
970 * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
971 _g_gnulib_vasprintf() in a macro, since they behave
972 differently wrt. to memory allocation.
974 * glib/gprintf.c (g_vasprintf): Instead, differentiate
975 here between the three cases: system vasprintf(),
976 _g_gnulib_vasprintf(), no vasprintf().
978 2004-07-20 Crispin Flowerday <gnome@flowerday.cx>
980 * NEWS: Fix a typo in my name
982 Tue Jul 20 04:31:40 2004 Soeren Sandmann <sandmann@daimi.au.dk>
984 * configure.in: Bump version number
986 Sun Jul 18 19:40:30 2004 Soeren Sandmann <sandmann@daimi.au.dk>
988 * === Released 2.5.0 ===
990 * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
992 Sun Jul 18 01:40:28 2004 Matthias Clasen <maclas@gmx.de>
994 * NEWS: Updates for 2.5.0
996 Mon Jul 12 00:02:40 2004 Matthias Clasen <maclas@gmx.de>
998 * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
1000 2004-07-09 Matthias Clasen <mclasen@redhat.com>
1002 * glib/gdir.c (g_dir_open): Convert filename to UTF-8
1003 before using it in the error message. (#146054, Federico
1006 Thu Jul 8 00:54:32 2004 Matthias Clasen <maclas@gmx.de>
1008 * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
1009 be built without anyway. (#135899, Murray Cumming)
1011 Mon Jul 5 18:50:27 2004 Matthias Clasen <maclas@gmx.de>
1013 * glib/gmessages.h (g_debug): Complete the g_log()
1014 family. (#135730, Sven Herzberg)
1016 Mon Jul 5 18:42:30 2004 Matthias Clasen <maclas@gmx.de>
1018 * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to
1019 make srcdir != . work. (#145166, Kaz Sasayama)
1021 Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
1023 * configure.in: Use a small test library instead of
1024 libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
1025 Julio M. Merino Vidal)
1027 2004-07-02 Sebastian Wilhelmi <seppi@seppi.de>
1029 * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
1030 __volatile__ to make the file consistent. Spotted by Benoit
1031 Carpentier <gtkool_2kx@yahoo.fr>.
1033 2004-07-01 John Ehresman <jpe@wingide.com>
1035 * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1036 Initialize reset_send & reset_recv fields and don't close
1037 sockets unless they were created. (#145153)
1039 Fri Jun 11 22:56:46 2004 Matthias Clasen <maclas@gmx.de>
1041 * glib/gscanner.c (g_scanner_get_token_ll): Ignore a
1042 missing newline at EOF for single line comments.
1043 (#83674, Sven Neumann)
1045 Thu Jun 10 23:38:02 2004 Matthias Clasen <maclas@gmx.de>
1047 * tests/printf-test.c (TEST): Actually set any_failed on
1048 failure. (#143552, Philippe Blain)
1050 2004-06-09 Federico Mena Quintero <federico@ximian.com>
1052 * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1053 for URIs that *should* have been invalid, or viceversa.
1054 (from_uri_tests): Likewise.
1056 2004-06-07 Federico Mena Quintero <federico@ximian.com>
1060 * glib/gconvert.c (is_asciialphanum): Renamed from
1061 is_escalphanum(); ensures that this is an ASCII character.
1062 (is_asciiescalpha): Renamed from is_escalpha().
1063 (hostname_validate): Use the two functions above.
1064 (g_filename_to_uri): Don't convert the filename to UTF-8.
1065 (g_filename_from_uri): Don't convert the filename from UTF-8.
1067 Mon Jun 7 22:25:24 2004 Matthias Clasen <maclas@gmx.de>
1069 * tests/run-markup-tests.sh: Default to silence, but support
1070 a -v argument to get the old output back.
1072 2004-06-06 Tor Lillqvist <tml@iki.fi>
1074 * glib/gutils.c (g_get_any_init): Check home for being
1075 NULL. (#143812, Ivan Wong)
1077 Sun Jun 6 15:23:00 2004 Pawan Chitrakr <pawan@nplinu.org>
1079 * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1081 Fri Jun 4 19:26:47 2004 Manish Singh <yosh@gimp.org>
1083 * glib/galloca.h: cpp #directives should always have the "#" in the
1084 first column of the the line. Do that for "#pragma alloca". Fixes
1087 Wed Jun 2 00:57:16 2004 Matthias Clasen <maclas@gmx.de>
1089 * glib/gtypes.h: Use higher precision for the mathematical
1090 constants. (#141941, Morten Welinder)
1092 Tue Jun 1 22:01:40 2004 Matthias Clasen <maclas@gmx.de>
1094 * glib/gmarkup.c (advance_char): Fix an off-by-one error
1095 in g_markup_parse_context_parse(). (#142794, Morten Welinder)
1097 Sun May 16 23:23:29 2004 Matthias Clasen <maclas@gmx.de>
1101 * glib/gcompletion.c (g_completion_add_items):
1102 (g_completion_remove_items): Remove unnecessary
1103 checks. (#142559, Morten Welinder)
1105 2004-05-15 Tor Lillqvist <tml@iki.fi>
1107 * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1108 is an absolute path and exists. (#138618)
1110 2004-05-14 Tor Lillqvist <tml@iki.fi>
1112 * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1113 for precision correctly. (#142400)
1115 For backward compatibility with the Trio implementation, make "ll"
1116 format modifer work on Win32, too. Change into "I64" before
1117 passing to the system printf. (#142433)
1119 * tests/printf-test.c (main): Add tests for the above.
1121 2004-05-10 Matthias Clasen <mclasen@redhat.com>
1125 * glib/gmain.c (block_source, unblock_source): Make these
1126 static. (#142230, Morten Welinder)
1128 2004-05-10 Tor Lillqvist <tml@iki.fi>
1130 * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1131 lines. Thanks to Benoît Carpentier.
1133 Sun May 9 02:04:14 2004 Matthias Clasen <maclas@gmx.de>
1137 * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1138 memleak. (#141998, Nikolai Weibull)
1140 Sat May 8 23:02:26 2004 Matthias Clasen <maclas@gmx.de>
1144 * glib/gutils.h: Remove vestigial g_get_codeset().
1145 * glib/gutils.c (g_get_codeset): Call g_get_charset().
1146 (#137703, Owen Taylor)
1148 2004-05-06 Matthias Clasen <mclasen@redhat.com>
1150 * configure.in: Bump version number to 2.5.0.
1152 Wed May 5 23:35:44 2004 Matthias Clasen <maclas@gmx.de>
1154 * glib/gconvert.c (g_filename_from_uri): Quote the file
1155 scheme to mark it as untranslatable. String change.
1156 (#133144, Danilo Segan)
1158 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
1160 * configure.in: Added Walloon (wa) to ALL_LINGUAS
1162 Sun May 2 03:51:59 2004 Manish Singh <yosh@gimp.org>
1164 * glib/gtypes.h: check for __pentium4__ when deciding whether to
1165 use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1167 2004-05-01 Hans Breuer <hans@breuer.org>
1169 * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1170 fixes #141563, Steve Lhomme
1172 2004-04-30 Matthias Clasen <mclasen@redhat.com>
1174 * === Released 2.4.1 ===
1176 * configure.in: Version 2.4.1, interface age 1.
1180 2004-04-25 Tor Lillqvist <tml@iki.fi>
1182 * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1183 Plug memory leak. (#140770, John Ehresman)
1185 2004-04-23 Matthias Clasen <mclasen@redhat.com>
1187 * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
1188 Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1189 point. (#139134, Piotr Klaban)
1191 * glib/gconvert.c (open_converter): Don't call g_strerror() here,
1192 since it can lead to infinite recursion. (#139133, Piotr Klaban)
1194 2004-04-22 Matthias Clasen <mclasen@redhat.com>
1196 * tests/testglib.c (main): Trivial warning fix. (#140345)
1198 * tests/queue-test.c (main): Add some tests for off-by-one errors.
1200 * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one
1201 error. (#139703, Philippe Blain)
1203 * tests/testglib.c (main): Add testcases for g_message() involving
1204 non-printable and unsafe characters.
1206 * glib/gmessages.c (escape_string): Don't assume that
1207 string->str remains unchanged over g_string_insert()
1208 calls. (#139030, Christophe Saout)
1210 * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a
1211 locale-specific decimal separator directly follows a
1212 number. (#138424, Nickolay V. Shmyrev)
1214 * tests/strtod-test.c (main): Add some more testcases.
1216 * glib/gmain.c (g_main_context_query): Only set time_is_current to
1217 FALSE if context->timeout is not zero. (#137795, Christian Krause)
1219 2004-04-21 Matthias Clasen <mclasen@redhat.com>
1221 * tests/printf-test.c (main): Comment out a nonessential testcase
1222 which fails on HP-UX. (#136283, Jonas Jonsson)
1224 2004-04-15 Matthias Clasen <mclasen@redhat.com>
1226 * tests/patterntest.c (main): Add tests for the empty pattern.
1228 * glib/gpattern.c (g_pattern_spec_new): Don't read and write out
1229 of bounds when the pattern is empty. (#140032, Stanislav Brabec,
1232 2004-04-10 Tor Lillqvist <tml@iki.fi>
1234 * glib/gwin32.c (g_win32_getlocale): Add new language and
1235 sublanguage codes, from GNU gettext. (#137958)
1240 * glib/gthread.c: Decorating variable definitions with
1241 __declspec(dllexport) causes problems on Cygwin build, and isn't
1242 really needed for a native Win32 build with mingw or MSVC, so
1243 remove. (#138402, Roger Leigh)
1245 * glib/libcharset/localcharset.c: Use Win32-specific code also on
1247 * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1248 on Cygwin, either. (#138412, Roger Leigh)
1250 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
1252 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1254 2004-04-03 Tor Lillqvist <tml@iki.fi>
1256 * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1257 found on Cygwin, they don't work. (#138401, Roger Leigh)
1259 2004-03-31 Tor Lillqvist <tml@iki.fi>
1261 * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1264 * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1265 on Cygwin. (#138423, Roger Leigh)
1267 2004-03-30 Adam Weinberger <adamw@gnome.org>
1269 * configure.in: Added en_CA to ALL_LINGUAS.
1271 2004-03-21 Tor Lillqvist <tml@iki.fi>
1273 * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1274 cases where a drive letter is present. For 'a:' or 'a:foo', return
1275 'a:.'. This is mostly just for consistency with the behaviour
1276 without a drive letter. But very important is to for 'a:\foo' or
1277 'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1278 instead of backslashes.) (#137316)
1280 * tests/dirname-test.c (main): More complete testing on Win32. If
1281 a test fails, include expected and actual result in error message.
1283 Fri Mar 19 15:21:09 2004 Owen Taylor <otaylor@redhat.com>
1285 * glib/gmain.c: Fix the accidental revert of the
1286 fixes from #112222 that happened when the GChildWatch
1287 code was added. (Caught by Christian Persch)
1289 Fri Mar 19 11:07:06 2004 Owen Taylor <otaylor@redhat.com>
1291 * tests/atomic-test.c (main): Make computation
1292 of "biggest_pointer" vaguely more portable.
1293 (#137498, Jonas Jonsson)
1295 2004-03-16 Tor Lillqvist <tml@iki.fi>
1297 * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1298 on Win32) case, where the 64-bit type is called long long, but the
1299 system printf/scanf format modifier for 64-bit integers is still I64.
1301 2004-03-16 Gareth Owen <gowen72@yahoo.com>
1303 * configure.in: Added en_GB to ALL_LINGUAS