1 2004-11-02 Matthias Clasen <mclasen@redhat.com>
3 * glib/glib.symbols: Add new functions.
5 * glib/gconvert.c: Fix doc comment for
6 g_get_filename_charsets().
8 * glib/gconvert.c (g_filename_display_name): New function to
9 convert a filename to a UTF-8 string for display purposes.
10 (g_get_filename_charsets): New function to return the
11 encodings which are tried when converting a filename to
14 * glib/goption.c (g_option_context_parse): Document that
15 this function may not return.
17 2004-11-01 Matthias Clasen <mclasen@redhat.com>
19 * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
22 2004-11-01 Tor Lillqvist <tml@iki.fi>
24 * glib/gstdio.c (g_lstat): Implement correctly also on Unix
25 systems without lstat(). (#157038, Morten Welinder)
27 2004-11-01 Ray Strode <rstrode@redhat.com>
30 (g_key_file_get_locale_string): don't return an
31 error if we come across a value with invalid utf8 or
32 if we don't find a translated string. Just fallback
33 to the untranslated string (Mark McLoughlin, bug
37 (g_key_file_init), (g_key_file_clear): track the
38 actual start GKeyFileGroup rather than just its name
39 (g_key_file_parse_group): allow add_group() to
40 update the start group.
41 (g_key_file_remove_group_node): update the start
42 group if it gets removed (Mark McLoughlin, bug
46 (g_key_file_parse_string_as_value): Don't escape
47 tabs and spaces in the middle of key values.
49 2004-11-01 Matthias Clasen <mclasen@redhat.com>
55 * gthread/gthread-posix.c
56 * tests/timeloop-closure.c
57 * tests/timeloop.c: Fix sparse warnings. (#157014, Kjartan Maraas)
59 2004-11-01 Matthias Clasen <mclasen@redhat.com>
61 * glib/goption.c: Documentation updates.
63 Handle conflicts between options in different groups. (#156808)
65 * glib/goption.c (g_option_context_parse): When a long option does not
66 match exactly, try to parse it as --group-option.
67 (g_option_context_add_group): Warn if a group name conflict occurs.
69 * glib/goption.c (print_help): Print out the effective options, ie
70 don't print shadowed short options, and for long options print
71 --group-option instead of --option if appropriate.
73 2004-10-31 Matthias Clasen <mclasen@redhat.com>
75 * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
78 2004-10-31 Tor Lillqvist <tml@iki.fi>
80 * glib/gwin32.c: Document g_win32_get_windows_version().
82 * glib/gstdio.[ch]: Add g_lstat().
84 2004-10-29 Matthias Clasen <mclasen@redhat.com>
86 * glib/goption.c: Doc additions.
88 * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
91 2004-10-29 Hans Breuer <hans@breuer.org>
93 * glibconfig.h */makefile.msc.in : updated [and finally fixed my
94 script to produce ready to go de-in(ed) files, w/o autotools]
96 * */*.rc.in : updated copyrights to 2004
98 * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
99 use the same fallback mecahnism as on *NIX where ever applicable
101 2004-10-29 Matthias Clasen <mclasen@redhat.com>
103 * tests/option-test.c: Add tests for the handling of
104 non-option arguments, "--" and G_OPTION_REMAINING.
106 * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
107 a special long option name, which can be used for an option
108 in the main group which collects the non-option arguments.
109 It must be of type G_OPTION_ARG_STRING_ARRAY or
110 G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
111 an option whose name is G_OPTION_REMAINING, the non-option
112 arguments are left behind in argv as before.
114 * glib/goption.c: Add documentation.
116 2004-10-28 Matthias Clasen <mclasen@redhat.com>
118 * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
119 to avoid compiler warnings. (#156767, Owen Taylor)
121 2004-10-29 Tor Lillqvist <tml@iki.fi>
123 * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
124 with MSVC. [156727, Kazuki IWAMOTO]
126 * glib/giochannel.h (g_io_channel_new_file): Redefine also
127 g_io_channel_new_file to the UTF-8 version on Win32. [156725,
130 2004-10-28 Ray Strode <rstrode@redhat.com>
133 (find_file_in_data_dirs): clean up a leak (#156652,
135 (g_key_file_load_from_fd): propagate fstat() error
136 conditions and retry read on EAGAIN (#156647, Morten
137 Welinder). Return error if file is NOT regular, not if
138 it is regular (bug introduced from last commited bug
140 (g_key_file_load_from_data_dirs): allocate enough space
141 for the terminating NULL.
143 2004-10-28 Ray Strode <rstrode@redhat.com>
145 * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
148 2004-10-28 Matthias Clasen <mclasen@redhat.com>
150 * glib/gstdio.c: Include galias.h before glib.h (#156697,
153 * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
155 2004-10-28 Tor Lillqvist <tml@iki.fi>
157 * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
160 * glib/gkeyfile.c: Include gstdio.h and use g_open().
162 2004-10-27 Ray Strode <rstrode@redhat.com>
165 (g_key_file_load_from_fd),
166 (g_key_file_load_from_file):
167 Move file is regular check to load_from_file to use
168 fstat() instead of race prone g_file_test(). Don't
169 clear/init until needed. Change error messages to be
171 (g_key_file_load_from_data),
172 (g_key_file_load_from_data_dirs),
173 (g_key_file_parse_data),
174 (g_key_file_get_value),
175 (g_key_file_get_string),
176 (g_key_file_set_string),
177 (g_key_file_get_string_list),
178 (g_key_file_set_string_list),
179 (g_key_file_set_locale_string),
180 (g_key_file_get_locale_string),
181 (g_key_file_set_locale_string_list),
182 (g_key_file_get_boolean),
183 (g_key_file_set_boolean),
184 (g_key_file_get_boolean_list),
185 (g_key_file_set_boolean_list),
186 (g_key_file_get_integer),
187 (g_key_file_get_integer_list),
188 (g_key_file_set_integer_list),
189 (g_key_file_remove_key):
190 Add more g_return_*if_fail checks for public functions.
192 2004-10-27 Matthias Clasen <mclasen@redhat.com>
194 * configure.in: Bump version.
196 * === Released 2.5.4 ===
198 2004-10-27 Matthias Clasen <mclasen@redhat.com>
200 * glib/abicheck.sh: Strip Win32 specific defs file syntax.
204 2004-10-27 Matthias Clasen <mclasen@redhat.com>
206 Introduce the idea of a filename encoding, which is
207 *literally* the filename encoding on Unix. On windows,
208 use the Unicode name converted to UTF-8. (#101792,
209 Tor Lillqvist, Owen Taylor)
212 * glib/gconvert.[hc]:
213 * glib/gfileutils.[hc]:
215 * glib/giowin32.c: On Windows, keep old ABI versions
216 of GLib pathname api for DLL ABI stability. Use different
217 names for the new-style UTF-8 versions. Hide this through
220 * glib/gstdio.[hc]: New files containing wrappers for
223 * glib/glib.symbols: Add new symbols.
225 * glib/makegalias.pl: Drop Win32 specific .def syntax,
228 2004-10-27 Matthias Clasen <mclasen@redhat.com>
230 * glib/gkeyfile.c: Fix includes. (#156500, #156499,
233 * glib/Makefile.am (galias.h): Fix srcdir != builddir
234 builds. (#156447, Thomas Fitzsimmons)
236 2004-10-26 Gora Mohanty <gmohanty@cvs.gnome.org>
238 * configure.in: Added 'or' to ALL_LINGUAS.
240 2004-10-26 Matthias Clasen <mclasen@redhat.com>
242 * glib/gkeyfile.c: Include galias.h.
244 * glib/gkeyfile.c (g_key_file_parse_value_as_comment):
245 Don't compare strings and chars.
247 * glib/glib.symbols: Add new symbols.
249 * glib/gkeyfile.c (g_key_file_new): Fix docs.
251 * glib/gkeyfile.h: Use the same parameter names as in
252 the implementation and the docs.
254 * glib/gwin32.c (g_win32_get_windows_version): Make this
255 function thread-safe in the GLib style.
256 * glib/gthreadinit.h:
257 * glib/gwin32.c (_g_win32_thread_init): New function to
258 initialize the version.
259 * glib/gthread.c (g_thread_init_glib): Call
260 _g_win32_thread_init() from here.
262 2004-10-26 Ray Strode <rstrode@redhat.com>
264 * glib/gkeyfile.c: Add Matthias to "Written by" lines
265 (GKeyFileGroup): add field to hold comments about groups
266 (g_key_file_load_from_fd): return TRUE on success and
267 FALSE on failure. Don't close fd's opened by other
269 (g_key_file_load_from_file): run FILE_IS_REGULAR test
270 before trying to open file, to save an fd from being
271 leaked (would probably be better to use fstat()). Close
272 fd when done with it. Return TRUE on success and FALSE
274 (g_key_file_load_from_data): Return TRUE on success and
276 (g_key_file_load_from_data_dirs): remove superfluous
277 const modifier. Return TRUE on success and FALSE on
278 failure. Stop trying to load files when one succeeds.
279 (g_key_file_parse_key_value_pair): don't validate input
280 for UTF-8 until users uses a getter that does
281 validation. Don't leak copy of start_group_name.
282 (g_key_file_to_data): serialize new comment field for
284 (g_key_file_get_keys): Remove convenience code to let
285 NULL group mean start group. Get rid of unneeded NULL
286 check before g_strdup.
287 (g_key_file_get_groups): Reverse groups list before
288 sending to user because it is maintained in backward
290 (g_key_file_get_value),
291 (g_key_file_set_value): add g_return checks at top of
293 (g_key_file_get_string),
294 (g_key_file_get_string_list): validate key value is UTF-8.
295 (g_key_file_[sg]et_*comment): new functions for
296 setting/getting comments
297 (g_key_file_remove_comment): new function to remove
299 (g_key_file_remove_key_value_pair_node): new function to
300 pull a key-value pair out of the list and free it.
301 (g_key_file_remove_group_node): call
302 g_key_file_remove_key_value_pair_node instead of
303 freeing the list immediately to get better statistics
304 for approximate_size.
305 (g_key_file_remove_group): use lookup_group_node instead
306 of lookup_group to prevent a g_list_find call.
307 (g_key_file_add_key): report group also when unable to
309 (g_key_file_lookup_group_node): new function to make
310 getting the group node from a group name easier.
311 (g_key_file_lookup_group): use lookup_group_node under
313 (g_key_file_lookup_key_value_pair_node): new function to
314 make getting the key-value pair from a group and key
316 (g_key_file_parse_comment_as_value): new function to add '#' to the
317 beginning of every line.
318 (g_key_file_parse_value_as_comment): new function that
319 attempts to be the inverse of comment as value.
321 2004-10-26 Matthias Clasen <mclasen@redhat.com>
324 * glib/gkeyfile.c: Don't include ctype.h needlessly. (#156424,
327 * tests/strtod-test.c (test_string): Improve error reporting.
329 Mon Oct 25 15:05:18 2004 Manish Singh <yosh@gimp.org>
331 * autogen.sh: rm autom4te.cache, since it might interfere with
332 differing autoconf versions.
334 * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
337 * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
338 don't redefine it here.
340 2004-10-24 Matthias Clasen <mclasen@redhat.com>
342 * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
343 destroy the lookup map if it is NULL.
345 2004-10-23 Matthias Clasen <mclasen@redhat.com>
347 * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c,
348 glib/giochannel.c, glib/gmain.c, glib/gspawn.c,
349 glib/libcharset/localcharset.c: Apply a patch to fix
350 sparse warnings. (#154696, Kjartan Maraas)
352 * glib/gnulib/g-gnulib.h: Undef libc functions before defining
353 them, since they may also be macros. (#155177, Andrea Campi)
356 * glib/gkeyfile.c: Add a parser for desktop entries and
357 similar files with a .ini-like syntax. (#139974, Ray Strode)
359 * glib/glib.h: Include gkeyfile.h
361 * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
362 (glibsubinclude_HEADERS): Add gkeyfile.h
364 * glib/gutils.c (_g_compute_locale_variants): Make this
365 non-static and use it in gkeyfile.c
367 2004-10-22 Matthias Clasen <mclasen@redhat.com>
369 * tests/uri-test.c (run_uri_list_tests): Add some
373 * glib/gconvert.c (g_uri_list_extract_uris): New function to
374 split a text/uri-list data into individual uris and strip comments.
376 2004-10-20 Matthias Clasen <mclasen@redhat.com>
378 * glib/goption.c (get_change): Don't return the wrong
379 change. (#155856, Lucas Rocha)
381 2004-10-17 Matthias Clasen <mclasen@redhat.com>
383 * glib/gutils.h (G_IS_DIR_SEPARATOR):
384 * glib/gutils.c: Make public. (#155589, Tim-Philipp MĆ¼ller)
386 2004-10-08 Matthias Clasen <mclasen@redhat.com>
388 * glib/gmain.c (g_child_watch_add_full):
389 * glib/gmain.c (g_child_watch_add): Document that GLib supports only
390 a single callback per pid. (#154828, Gustavo Carneiro)
392 2004-10-06 Matthias Clasen <mclasen@redhat.com>
394 * glib/gfileutils.c: Fix some C99isms. (#154676, Kjartan Maraas)
396 2004-10-05 Anders Carlsson <andersca@gnome.org>
398 * glib/goption.c: (g_option_context_parse):
399 Add check for if argc is 0.
401 * tests/option-test.c: (empty_test3), (main):
404 2004-10-05 Matthias Clasen <mclasen@redhat.com>
408 2004-10-04 Matthias Clasen <mclasen@redhat.com>
410 * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
411 vtable is set. (#154352, Philippe Blain)
413 2004-10-03 Anders Carlsson <andersca@gnome.org>
415 * glib/goption.c: (parse_arg):
416 Set arg_data on filenames. (Discovered by Mats-Ola Persson).
418 * tests/option-test.c: (arg_test3), (ignore_test3), (main):
419 Add test for filename args.
421 2004-10-01 Tor Lillqvist <tml@iki.fi>
423 * glib/goption.c (g_option_context_parse): Use
424 g_path_get_basename() instead of strrchr(), so that either slash
425 is accepted on Windows.
427 2004-09-30 Matthias Clasen <mclasen@redhat.com>
429 * glib/gfileutils.c: Convert filenames to UTF-8 before
430 putting them in GErrors. (#154078, Morten Welinder)
432 2004-09-29 Matthias Clasen <mclasen@redhat.com>
434 * glib/glib.symbols: Add g_assert_warning.
437 * glib/gmessages.c (g_assert_warning): Treat g_assert
438 in the same way as g_return_if_fail and move the string
439 constants into a helper function, which also takes
440 care of removing the "IA__" prefix from internal aliases.
442 * glib/gmessages.h: Move the declaration of
443 g_return_if_fail_warning() out of the ifdefs, so that
444 building with G_DISABLE_ASSERT works.
446 2004-09-27 Murray Cumming <murrayc@murrayc.com>
448 * glib/goptions.[h|c], glib/glib.symbols: Rename
449 g_context_option_error_quark() to g_option_error_quark(), because that
450 is consistent with normal naming conventions, and what bindings expect.
452 .2004-09-26 Matthias Clasen <mclasen@redhat.com>
454 Fix #153649, Hidetaka Iwai:
456 * glib/goption.c (parse_long_option): Don't forget to set parsed
457 to TRUE when parsing a long ARG_NONE option.
458 (free_changes_list): Fix the memory management for string
461 2004-09-22 Tor Lillqvist <tml@iki.fi>
463 * glib/gmessages.c: [Win32] Don't ever open a console
464 window. (Which we used to do if standard output or standard error
465 are invalid, as they are for GUI applications.) These console
466 windows that open up unexpectedly have caused endless amounts of
467 confusion among end-users. (#141102, #151175)
469 Don't output the process id on Windows. Only output the program
470 name. If not set with g_set_prgname(), fetch the application
471 executable's name and use that.
473 Mon Sep 20 00:35:14 2004 Matthias Clasen <maclas@gmx.de>
475 * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
476 convert UTF-16 byte stream of ambiguous endianness. (#152954,
479 Mon Sep 20 00:17:37 2004 Matthias Clasen <maclas@gmx.de>
481 * tests/option-test.c (error_test3_post_parse):
482 * tests/option-test.c (error_test2_post_parse):
483 * tests/option-test.c (error_test1_post_parse): Don't call
484 g_set_error () with a NULL format. (#153103, Robert Ćgren)
486 Mon Sep 20 00:13:48 2004 Matthias Clasen <maclas@gmx.de>
488 Make GOption remove long options completely. (#153113, Robert Ćgren)
490 * glib/goption.c (parse_long_option): Fix a wrong index.
492 * tests/option-test.c (ignore_test3): Test handling of unknown
495 Sun Sep 19 23:56:15 2004 Matthias Clasen <maclas@gmx.de>
497 * glib/goption.c (g_option_context_parse): Call error_func
498 on error, not post_parse_func again. (#153107, Robert Ćgren)
500 Sun Sep 19 23:52:35 2004 Matthias Clasen <maclas@gmx.de>
502 * glib/gmessages.c (mklevel_prefix):
503 * glib/gmessages.c (g_logv): Fix the types of some variables
504 to be GLogLevelFlags instead of guint. (#153042, Philippe Blain)
506 2004-09-18 Matthias Clasen <mclasen@redhat.com>
510 * === Released 2.5.3 ===
512 2004-09-17 Matthias Clasen <mclasen@redhat.com>
514 * NEWS: More updates.
516 Thu Sep 16 18:42:46 2004 Manish Singh <yosh@gimp.org>
518 * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
521 Thu Sep 16 18:15:32 2004 Manish Singh <yosh@gimp.org>
523 * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
524 of characters, instead of a gsize. Technically this is incorrect,
525 but this makes it match the prototype, and this is a deprecated
528 2004-09-16 Matthias Clasen <mclasen@redhat.com>
530 * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
532 Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de>
534 Implement the same PLT reduction technique used in GTK+:
536 * glib/glib.symbols: Master list of symbols
538 * glib/makegalias.pl: Perl script which creates galias.h
540 * glib/abicheck.sh: Compares actual exports against glib.symbols
542 * glib/glib.def: Removed. This file is now generated from
545 * glib/Makefile.am: Add rules to generate galias.h and glib.def,
546 and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
548 * configure.in: Add --disable-visibility to suppress the
549 use of ELF visibility attributes.
551 * glib/*.c: Include galias.h
553 2004-09-15 Tor Lillqvist <tml@iki.fi>
555 * glib/gwin32.c (g_win32_error_message): Convert message to
556 UTF-8. Technically this breaks API, but the actual use cases in
557 gdk/win32 have assumed it is UTF-8 anyway. Fix
558 documentation. (#152618, Kazuki Iwamoto)
560 * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
561 good idea, and it clashes with newest mingw headers, which have a
562 ftruncate implementation as an inline function. Thanks to Dominik R.
564 * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
565 call _chsize() in the C library.
567 2004-09-15 Matthias Clasen <mclasen@redhat.com>
571 2004-09-09 Matthias Clasen <mclasen@redhat.com>
573 * glib/gmessages.c (g_return_if_fail_warning): Strip the
574 prefix "IA__" from function names, since that is what
575 GTK+ uses for the PLT-reduction aliases.
577 Thu Sep 9 13:52:26 2004 Owen Taylor <otaylor@redhat.com>
579 * glib/gmessages.c (g_return_if_fail_warning):
580 Include implementation of g_return_if_fail_internal().
582 Thu Sep 9 10:37:41 2004 Owen Taylor <otaylor@redhat.com>
584 * glib/gmessages.h (g_return_[val_]if_fail): Use
585 a helper function to reduce code size; omit FILE/LINE
586 when we have __PRETTY_FUNCTION__.
588 2004-09-09 Matthias Clasen <mclasen@redhat.com>
590 * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
592 Thu Sep 9 00:10:40 2004 Matthias Clasen <maclas@gmx.de>
595 * glib/gstrfuncs.c (g_strv_length): Add a function to
596 calculate the length of a NULL-terminated string
597 array. (#150455, Tim-Philipp MĆ¼ller)
599 * tests/strfunc-test.c (main): Add a test for g_strv_length().
601 2004-09-08 Tor Lillqvist <tml@iki.fi>
603 * glib/gutils.c (guess_category_value): On Win32, as last resort
604 call g_win32_getlocale() to get the current thread locale. There
605 usually aren't any POSIXish LANG or LC_* environment variables
606 present on Windows machines.
608 * glib/glib.def: Add g_get_language_names.
610 2004-09-07 Matthias Clasen <mclasen@redhat.com>
613 * glib/gutils.c (g_get_language_names): Add a function to
614 return a list of applicable locale names. (#95587,
616 (guess_category_value, compute_locale_variants):
617 (explode_locale, unalias_lang, read_aliases): Helper
618 functions for g_get_language_names()
620 * tests/testglib.c (main): Show the results of
621 g_get_language_names()
623 Sun Sep 5 01:46:11 2004 Matthias Clasen <maclas@gmx.de>
627 * glib/gmessages.c (g_log_set_default_handler): New
628 function to install an alternate default log
629 handler. (#66387, Darin Adler)
631 2004-09-03 Tor Lillqvist <tml@iki.fi>
633 * glib/glib.def: Update.
635 Wed Sep 1 20:22:39 2004 Matthias Clasen <maclas@gmx.de>
638 * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
639 a function to calculate the ISO 8601 week number of
640 a date. (#92579, Niklas Lundell)
642 2004-09-01 Anders Carlsson <andersca@gnome.org>
644 * glib/goption.c: (g_option_context_parse):
645 Set program name before calling the pre-parse hooks.
647 2004-09-01 Anders Carlsson <andersca@gnome.org>
649 * glib/goption.c: (g_option_context_free), (print_help),
650 (g_option_context_parse):
651 Handle option contexts without a main group.
653 * tests/option-test.c: (empty_test2), (main):
654 Add test case for that.
656 2004-08-30 Anders Carlsson <andersca@gnome.org>
658 * glib/goption.c: (g_option_context_parse):
659 Set prgname to <unknown> if argc and argv are NULL.
661 * tests/option-test.c: (empty_test1), (main):
662 Add test case for that.
664 Sun Aug 29 23:58:38 2004 Matthias Clasen <maclas@gmx.de>
666 * glib/ghash.c (g_hash_table_lookup): Point to
667 g_hash_table_lookup_extended() for differentiation between
668 not-found and value-is-NULL. (#150960, Morten Welinder)
670 2004-08-27 Matthias Clasen <mclasen@redhat.com>
672 Fix #151193, Stepan Kasal:
674 * glib/gfileutils.c (g_file_error_from_errno):
675 * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
677 Fri Aug 27 00:45:41 2004 Matthias Clasen <maclas@gmx.de>
679 * glib/goption.c (g_option_context_parse): Set the program name
680 from argv[0], noticed by Masatake YAMATO.
682 2004-08-26 Tor Lillqvist <tml@iki.fi>
684 * tests/testglib.c (main): Test the new XDG basedir functions.
686 2004-08-25 Tor Lillqvist <tml@iki.fi>
688 * glib/gwin32.c (g_win32_get_windows_version): New
689 function. Returns the Windows version code like GetVersion(),
690 except that one can pretend to be running on Win9x by setting the
691 G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
694 * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
695 and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
697 2004-08-25 Matthias Clasen <mclasen@redhat.com>
699 * configure.in: Post-release version bump.
701 * === Released 2.5.2 ===
703 Wed Aug 25 00:25:08 2004 Matthias Clasen <maclas@gmx.de>
705 * NEWS: Update for 2.5.2
707 2004-08-25 Tor Lillqvist <tml@iki.fi>
709 Win32 equivalences of the XDG folders
711 * glib/gutils.c (get_special_folder): New function, calls
712 SHGetSpecialFolderLocation() to get path to places like the My
714 (g_get_any_init): Use CSIDL_PROFILE as HOME if not
715 overridden by env vars.
716 (g_get_user_data_dir): Use CSIDL_PERSONAL.
717 (g_get_user_config_dir): Use CSIDL_APPDATA.
718 (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
719 (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
720 CSIDL_COMMON_DOCUMENTS.
721 (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
723 * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
725 * glib/glib.def: Add the new functions.
727 Mon Aug 23 16:16:35 2004 Manish Singh <yosh@gimp.org>
729 * glib/goption.c (g_option_group_add_entries): remove unused
732 Mon Aug 23 01:35:18 2004 Matthias Clasen <maclas@gmx.de>
734 * glib/gutils.c (g_get_user_cache_dir):
735 * glib/gutils.c (g_get_user_config_dir):
736 * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
737 while holding the g_utils_global lock, simply use g_home_dir.
738 (#150695, Jody Goldberg)
740 2004-08-21 Tor Lillqvist <tml@iki.fi>
742 * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
743 break out of its loop. Prevents a thread leak. (#147392, Peter
746 * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
747 return value from strxfrm(). For instance Microsoft's strxfrm()
748 returns INT_MAX on errors. (#141124)
750 2004-08-19 Tor Lillqvist <tml@iki.fi>
752 * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
753 source and destination charset parameter order in g_convert()
754 call. (#150394, possibly also #141124)
756 2004-08-20 Jon K Hellan <hellan@acm.org>
758 * glib/goption.h: Remove trailing commas.
760 2004-08-17 Matthias Clasen <mclasen@redhat.com>
762 * configure.in: Check for all four values of the
763 visibility attribute; gcc 2.96 seems to miss
764 "default". (#150379, Vincent Noel)
766 2004-08-16 Christian Rose <menthos@menthos.com>
768 * configure.in: Added "bs" to ALL_LINGUAS.
770 2004-08-11 Ray Strode <rstrode@redhat.com>
772 * docs/reference/glib/glib-sections.txt:
773 * glib/gutils.[ch] (g_get_user_data_dir),
774 (g_get_user_config_dir), (g_get_user_cache_dir),
775 (g_get_system_data_dirs), (g_get_system_config_dirs):
776 Add new XDG basedir API (bug 139973).
778 2004-08-10 Matthias Clasen <mclasen@redhat.com>
780 * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
781 * configure.in: Check whether the visibility attribute
782 works and define G_HAVE_GNUC_VISIBILITY and
783 G_GNUC_INTERNAL in glibconfig.h correspondingly.
785 Mon Aug 9 17:37:56 2004 Matthias Clasen <maclas@gmx.de>
787 * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
789 2004-08-06 Hans Breuer <hans@breuer.org>
791 * glib/makefile.msc.in glib/glib.def : updated
793 * glib/gutils.c : avoid 'inconsitent dll linkage' by not
794 defining extern char** environ with msvc
796 2004-08-06 Matthias Clasen <mclasen@redhat.com>
798 * m4macros/glib-gettext.m4: Require ngettext. (#123847,
801 Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
803 * glib/gutils.h (g_get_codeset): strdup result so caller
804 doesn't free internally managed memory.
806 2004-08-04 Tor Lillqvist <tml@iki.fi>
808 * glib/glib.def: Add glib_check_version.
810 * config.h.win32.in: Update to match what configure produces. Add
811 the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
812 HAVE_INT64_AND_I64 to where the configure script puts it. Add
813 HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
815 Tue Aug 3 16:19:44 2004 Matthias Clasen <maclas@gmx.de>
817 * glib/goption.c: Mark user visible strings for translation.
819 Tue Aug 3 15:50:55 2004 Matthias Clasen <maclas@gmx.de>
821 * glib/goption.[hc]: Pedantically use g types throughout.
823 Tue Aug 3 14:58:20 2004 Matthias Clasen <maclas@gmx.de>
826 * glib/gutils.c (glib_check_version): New function to
827 check the version of GLib at runtime. (#149175, Michael Natterer)
829 2004-08-03 Anders Carlsson <andersca@gnome.org>
833 Move GTranslateFunc to gtypes.h
835 2004-08-02 Anders Carlsson <andersca@gnome.org>
843 * tests/option-test.c:
846 2004-08-02 Matthias Clasen <mclasen@redhat.com>
848 * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
849 declarations as internal and avoid PLT indirections for
850 them. (#145465, Arjan van de Ven)
852 * glib/gunicodeprivate.h:
853 * glib/gthreadinit.h:
856 * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
857 _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
858 _g_messages_thread_init(), _g_convert_thread_init(),
859 _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
860 _g_mem_thread_private_init(), _g_messages_thread_private_init(),
861 _g_utf8_normalize_wc() and _g_unichar_combining_class().
863 * glib/gatomic.c: Include gthreadinit.h here to see the declaration
864 for _g_atomic_thread_init().
866 Sun Aug 1 13:19:18 2004 Manish Singh <yosh@gimp.org>
868 * tests/uri-test.c: move newline printing from run_from_uri_tests()
869 to run_roundtrip_tests().
871 2004-08-01 Matthias Clasen <mclasen@redhat.com>
873 * Post-release version bump
875 * === Released 2.5.1 ===
877 Sat Jul 31 23:17:05 2004 Matthias Clasen <maclas@gmx.de>
881 Sat Jul 31 20:33:07 2004 Matthias Clasen <maclas@gmx.de>
883 * tests/shell-test.c: Include a test involving consecutive
884 backslashes followed by a non-escaped doublequote.
886 * glib/gshell.c (tokenize_command_line): Count consecutive
887 backslashes mod 2 to detect escaped doubleqotes. (#127306)
889 2004-07-30 Matthias Clasen <mclasen@redhat.com>
891 * glib/gconvert.c (g_unescape_uri_string): Don't validate
892 for UTF-8 here. (#148420, Robert Ćgren)
894 * tests/uri-test.c (run_roundtrip_tests): Add tests for
895 roundtrip compatibility. Going from filename to uri and
896 back should always give you the same filename back.
898 2004-07-28 Matthias Clasen <mclasen@redhat.com>
900 * tests/markups/valid-{9,10,11}.gmarkup:
901 * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
902 of whitespace inside tags.
904 * glib/gmarkup.c (enum GMarkupParseState): Add
905 STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
906 (g_markup_parse_context_parse): Accept whitespace between
907 attribute names, '=' and attribute values and between
908 close tag name and '>'. (#148646, Hiroyuki Ikezoe)
910 Tue Jul 27 02:01:31 2004 Matthias Clasen <maclas@gmx.de>
912 * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
915 Sat Jul 24 17:50:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
917 * glib/gstrfuncs.c (g_strsplit_set):
918 s/g_strtokenize/g_strsplit_set/ in docs.
920 Fri Jul 23 10:37:50 2004 Matthias Clasen <maclas@gmx.de>
922 * tests/type-test.c (main): Actually test G_MAXSIZE with
925 2004-07-21 Matthias Clasen <mclasen@redhat.com>
927 Fix #132858, Sven Neumann, patch by James Henstridge:
929 * glib-gettextize.in: modify so that mkinstalldirs will
930 get installed into auxdir.
932 * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
934 2004-07-21 Matthias Clasen <mclasen@redhat.com>
936 Fix #147651, reported by Oliver Guntermann:
938 * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
939 _g_gnulib_vasprintf() in a macro, since they behave
940 differently wrt. to memory allocation.
942 * glib/gprintf.c (g_vasprintf): Instead, differentiate
943 here between the three cases: system vasprintf(),
944 _g_gnulib_vasprintf(), no vasprintf().
946 2004-07-20 Crispin Flowerday <gnome@flowerday.cx>
948 * NEWS: Fix a typo in my name
950 Tue Jul 20 04:31:40 2004 Soeren Sandmann <sandmann@daimi.au.dk>
952 * configure.in: Bump version number
954 Sun Jul 18 19:40:30 2004 Soeren Sandmann <sandmann@daimi.au.dk>
956 * === Released 2.5.0 ===
958 * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
960 Sun Jul 18 01:40:28 2004 Matthias Clasen <maclas@gmx.de>
962 * NEWS: Updates for 2.5.0
964 Mon Jul 12 00:02:40 2004 Matthias Clasen <maclas@gmx.de>
966 * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
968 2004-07-09 Matthias Clasen <mclasen@redhat.com>
970 * glib/gdir.c (g_dir_open): Convert filename to UTF-8
971 before using it in the error message. (#146054, Federico
974 Thu Jul 8 00:54:32 2004 Matthias Clasen <maclas@gmx.de>
976 * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
977 be built without anyway. (#135899, Murray Cumming)
979 Mon Jul 5 18:50:27 2004 Matthias Clasen <maclas@gmx.de>
981 * glib/gmessages.h (g_debug): Complete the g_log()
982 family. (#135730, Sven Herzberg)
984 Mon Jul 5 18:42:30 2004 Matthias Clasen <maclas@gmx.de>
986 * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to
987 make srcdir != . work. (#145166, Kaz Sasayama)
989 Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
991 * configure.in: Use a small test library instead of
992 libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
993 Julio M. Merino Vidal)
995 2004-07-02 Sebastian Wilhelmi <seppi@seppi.de>
997 * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
998 __volatile__ to make the file consistent. Spotted by Benoit
999 Carpentier <gtkool_2kx@yahoo.fr>.
1001 2004-07-01 John Ehresman <jpe@wingide.com>
1003 * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1004 Initialize reset_send & reset_recv fields and don't close
1005 sockets unless they were created. (#145153)
1007 Fri Jun 11 22:56:46 2004 Matthias Clasen <maclas@gmx.de>
1009 * glib/gscanner.c (g_scanner_get_token_ll): Ignore a
1010 missing newline at EOF for single line comments.
1011 (#83674, Sven Neumann)
1013 Thu Jun 10 23:38:02 2004 Matthias Clasen <maclas@gmx.de>
1015 * tests/printf-test.c (TEST): Actually set any_failed on
1016 failure. (#143552, Philippe Blain)
1018 2004-06-09 Federico Mena Quintero <federico@ximian.com>
1020 * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1021 for URIs that *should* have been invalid, or viceversa.
1022 (from_uri_tests): Likewise.
1024 2004-06-07 Federico Mena Quintero <federico@ximian.com>
1028 * glib/gconvert.c (is_asciialphanum): Renamed from
1029 is_escalphanum(); ensures that this is an ASCII character.
1030 (is_asciiescalpha): Renamed from is_escalpha().
1031 (hostname_validate): Use the two functions above.
1032 (g_filename_to_uri): Don't convert the filename to UTF-8.
1033 (g_filename_from_uri): Don't convert the filename from UTF-8.
1035 Mon Jun 7 22:25:24 2004 Matthias Clasen <maclas@gmx.de>
1037 * tests/run-markup-tests.sh: Default to silence, but support
1038 a -v argument to get the old output back.
1040 2004-06-06 Tor Lillqvist <tml@iki.fi>
1042 * glib/gutils.c (g_get_any_init): Check home for being
1043 NULL. (#143812, Ivan Wong)
1045 Sun Jun 6 15:23:00 2004 Pawan Chitrakr <pawan@nplinu.org>
1047 * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1049 Fri Jun 4 19:26:47 2004 Manish Singh <yosh@gimp.org>
1051 * glib/galloca.h: cpp #directives should always have the "#" in the
1052 first column of the the line. Do that for "#pragma alloca". Fixes
1055 Wed Jun 2 00:57:16 2004 Matthias Clasen <maclas@gmx.de>
1057 * glib/gtypes.h: Use higher precision for the mathematical
1058 constants. (#141941, Morten Welinder)
1060 Tue Jun 1 22:01:40 2004 Matthias Clasen <maclas@gmx.de>
1062 * glib/gmarkup.c (advance_char): Fix an off-by-one error
1063 in g_markup_parse_context_parse(). (#142794, Morten Welinder)
1065 Sun May 16 23:23:29 2004 Matthias Clasen <maclas@gmx.de>
1069 * glib/gcompletion.c (g_completion_add_items):
1070 (g_completion_remove_items): Remove unnecessary
1071 checks. (#142559, Morten Welinder)
1073 2004-05-15 Tor Lillqvist <tml@iki.fi>
1075 * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1076 is an absolute path and exists. (#138618)
1078 2004-05-14 Tor Lillqvist <tml@iki.fi>
1080 * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1081 for precision correctly. (#142400)
1083 For backward compatibility with the Trio implementation, make "ll"
1084 format modifer work on Win32, too. Change into "I64" before
1085 passing to the system printf. (#142433)
1087 * tests/printf-test.c (main): Add tests for the above.
1089 2004-05-10 Matthias Clasen <mclasen@redhat.com>
1093 * glib/gmain.c (block_source, unblock_source): Make these
1094 static. (#142230, Morten Welinder)
1096 2004-05-10 Tor Lillqvist <tml@iki.fi>
1098 * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1099 lines. Thanks to BenoƮt Carpentier.
1101 Sun May 9 02:04:14 2004 Matthias Clasen <maclas@gmx.de>
1105 * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1106 memleak. (#141998, Nikolai Weibull)
1108 Sat May 8 23:02:26 2004 Matthias Clasen <maclas@gmx.de>
1112 * glib/gutils.h: Remove vestigial g_get_codeset().
1113 * glib/gutils.c (g_get_codeset): Call g_get_charset().
1114 (#137703, Owen Taylor)
1116 2004-05-06 Matthias Clasen <mclasen@redhat.com>
1118 * configure.in: Bump version number to 2.5.0.
1120 Wed May 5 23:35:44 2004 Matthias Clasen <maclas@gmx.de>
1122 * glib/gconvert.c (g_filename_from_uri): Quote the file
1123 scheme to mark it as untranslatable. String change.
1124 (#133144, Danilo Segan)
1126 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
1128 * configure.in: Added Walloon (wa) to ALL_LINGUAS
1130 Sun May 2 03:51:59 2004 Manish Singh <yosh@gimp.org>
1132 * glib/gtypes.h: check for __pentium4__ when deciding whether to
1133 use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1135 2004-05-01 Hans Breuer <hans@breuer.org>
1137 * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1138 fixes #141563, Steve Lhomme
1140 2004-04-30 Matthias Clasen <mclasen@redhat.com>
1142 * === Released 2.4.1 ===
1144 * configure.in: Version 2.4.1, interface age 1.
1148 2004-04-25 Tor Lillqvist <tml@iki.fi>
1150 * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1151 Plug memory leak. (#140770, John Ehresman)
1153 2004-04-23 Matthias Clasen <mclasen@redhat.com>
1155 * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
1156 Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1157 point. (#139134, Piotr Klaban)
1159 * glib/gconvert.c (open_converter): Don't call g_strerror() here,
1160 since it can lead to infinite recursion. (#139133, Piotr Klaban)
1162 2004-04-22 Matthias Clasen <mclasen@redhat.com>
1164 * tests/testglib.c (main): Trivial warning fix. (#140345)
1166 * tests/queue-test.c (main): Add some tests for off-by-one errors.
1168 * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one
1169 error. (#139703, Philippe Blain)
1171 * tests/testglib.c (main): Add testcases for g_message() involving
1172 non-printable and unsafe characters.
1174 * glib/gmessages.c (escape_string): Don't assume that
1175 string->str remains unchanged over g_string_insert()
1176 calls. (#139030, Christophe Saout)
1178 * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a
1179 locale-specific decimal separator directly follows a
1180 number. (#138424, Nickolay V. Shmyrev)
1182 * tests/strtod-test.c (main): Add some more testcases.
1184 * glib/gmain.c (g_main_context_query): Only set time_is_current to
1185 FALSE if context->timeout is not zero. (#137795, Christian Krause)
1187 2004-04-21 Matthias Clasen <mclasen@redhat.com>
1189 * tests/printf-test.c (main): Comment out a nonessential testcase
1190 which fails on HP-UX. (#136283, Jonas Jonsson)
1192 2004-04-15 Matthias Clasen <mclasen@redhat.com>
1194 * tests/patterntest.c (main): Add tests for the empty pattern.
1196 * glib/gpattern.c (g_pattern_spec_new): Don't read and write out
1197 of bounds when the pattern is empty. (#140032, Stanislav Brabec,
1200 2004-04-10 Tor Lillqvist <tml@iki.fi>
1202 * glib/gwin32.c (g_win32_getlocale): Add new language and
1203 sublanguage codes, from GNU gettext. (#137958)
1208 * glib/gthread.c: Decorating variable definitions with
1209 __declspec(dllexport) causes problems on Cygwin build, and isn't
1210 really needed for a native Win32 build with mingw or MSVC, so
1211 remove. (#138402, Roger Leigh)
1213 * glib/libcharset/localcharset.c: Use Win32-specific code also on
1215 * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1216 on Cygwin, either. (#138412, Roger Leigh)
1218 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
1220 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1222 2004-04-03 Tor Lillqvist <tml@iki.fi>
1224 * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1225 found on Cygwin, they don't work. (#138401, Roger Leigh)
1227 2004-03-31 Tor Lillqvist <tml@iki.fi>
1229 * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1232 * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1233 on Cygwin. (#138423, Roger Leigh)
1235 2004-03-30 Adam Weinberger <adamw@gnome.org>
1237 * configure.in: Added en_CA to ALL_LINGUAS.
1239 2004-03-21 Tor Lillqvist <tml@iki.fi>
1241 * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1242 cases where a drive letter is present. For 'a:' or 'a:foo', return
1243 'a:.'. This is mostly just for consistency with the behaviour
1244 without a drive letter. But very important is to for 'a:\foo' or
1245 'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1246 instead of backslashes.) (#137316)
1248 * tests/dirname-test.c (main): More complete testing on Win32. If
1249 a test fails, include expected and actual result in error message.
1251 Fri Mar 19 15:21:09 2004 Owen Taylor <otaylor@redhat.com>
1253 * glib/gmain.c: Fix the accidental revert of the
1254 fixes from #112222 that happened when the GChildWatch
1255 code was added. (Caught by Christian Persch)
1257 Fri Mar 19 11:07:06 2004 Owen Taylor <otaylor@redhat.com>
1259 * tests/atomic-test.c (main): Make computation
1260 of "biggest_pointer" vaguely more portable.
1261 (#137498, Jonas Jonsson)
1263 2004-03-16 Tor Lillqvist <tml@iki.fi>
1265 * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1266 on Win32) case, where the 64-bit type is called long long, but the
1267 system printf/scanf format modifier for 64-bit integers is still I64.
1269 2004-03-16 Gareth Owen <gowen72@yahoo.com>
1271 * configure.in: Added en_GB to ALL_LINGUAS