1 2004-10-29 Matthias Clasen <mclasen@redhat.com>
3 * tests/option-test.c: Add tests for the handling of
4 non-option arguments, "--" and G_OPTION_REMAINING.
6 * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
7 a special long option name, which can be used for an option
8 in the main group which collects the non-option arguments.
9 It must be of type G_OPTION_ARG_STRING_ARRAY or
10 G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
11 an option whose name is G_OPTION_REMAINING, the non-option
12 arguments are left behind in argv as before.
14 * glib/goption.c: Add documentation.
16 2004-10-28 Matthias Clasen <mclasen@redhat.com>
18 * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
19 to avoid compiler warnings. (#156767, Owen Taylor)
21 2004-10-29 Tor Lillqvist <tml@iki.fi>
23 * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
24 with MSVC. [156727, Kazuki IWAMOTO]
26 * glib/giochannel.h (g_io_channel_new_file): Redefine also
27 g_io_channel_new_file to the UTF-8 version on Win32. [156725,
30 2004-10-28 Ray Strode <rstrode@redhat.com>
33 (find_file_in_data_dirs): clean up a leak (#156652,
35 (g_key_file_load_from_fd): propagate fstat() error
36 conditions and retry read on EAGAIN (#156647, Morten
37 Welinder). Return error if file is NOT regular, not if
38 it is regular (bug introduced from last commited bug
40 (g_key_file_load_from_data_dirs): allocate enough space
41 for the terminating NULL.
43 2004-10-28 Ray Strode <rstrode@redhat.com>
45 * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
48 2004-10-28 Matthias Clasen <mclasen@redhat.com>
50 * glib/gstdio.c: Include galias.h before glib.h (#156697,
53 * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
55 2004-10-28 Tor Lillqvist <tml@iki.fi>
57 * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
60 * glib/gkeyfile.c: Include gstdio.h and use g_open().
62 2004-10-27 Ray Strode <rstrode@redhat.com>
65 (g_key_file_load_from_fd),
66 (g_key_file_load_from_file):
67 Move file is regular check to load_from_file to use
68 fstat() instead of race prone g_file_test(). Don't
69 clear/init until needed. Change error messages to be
71 (g_key_file_load_from_data),
72 (g_key_file_load_from_data_dirs),
73 (g_key_file_parse_data),
74 (g_key_file_get_value),
75 (g_key_file_get_string),
76 (g_key_file_set_string),
77 (g_key_file_get_string_list),
78 (g_key_file_set_string_list),
79 (g_key_file_set_locale_string),
80 (g_key_file_get_locale_string),
81 (g_key_file_set_locale_string_list),
82 (g_key_file_get_boolean),
83 (g_key_file_set_boolean),
84 (g_key_file_get_boolean_list),
85 (g_key_file_set_boolean_list),
86 (g_key_file_get_integer),
87 (g_key_file_get_integer_list),
88 (g_key_file_set_integer_list),
89 (g_key_file_remove_key):
90 Add more g_return_*if_fail checks for public functions.
92 2004-10-27 Matthias Clasen <mclasen@redhat.com>
94 * configure.in: Bump version.
96 * === Released 2.5.4 ===
98 2004-10-27 Matthias Clasen <mclasen@redhat.com>
100 * glib/abicheck.sh: Strip Win32 specific defs file syntax.
104 2004-10-27 Matthias Clasen <mclasen@redhat.com>
106 Introduce the idea of a filename encoding, which is
107 *literally* the filename encoding on Unix. On windows,
108 use the Unicode name converted to UTF-8. (#101792,
109 Tor Lillqvist, Owen Taylor)
112 * glib/gconvert.[hc]:
113 * glib/gfileutils.[hc]:
115 * glib/giowin32.c: On Windows, keep old ABI versions
116 of GLib pathname api for DLL ABI stability. Use different
117 names for the new-style UTF-8 versions. Hide this through
120 * glib/gstdio.[hc]: New files containing wrappers for
123 * glib/glib.symbols: Add new symbols.
125 * glib/makegalias.pl: Drop Win32 specific .def syntax,
128 2004-10-27 Matthias Clasen <mclasen@redhat.com>
130 * glib/gkeyfile.c: Fix includes. (#156500, #156499,
133 * glib/Makefile.am (galias.h): Fix srcdir != builddir
134 builds. (#156447, Thomas Fitzsimmons)
136 2004-10-26 Gora Mohanty <gmohanty@cvs.gnome.org>
138 * configure.in: Added 'or' to ALL_LINGUAS.
140 2004-10-26 Matthias Clasen <mclasen@redhat.com>
142 * glib/gkeyfile.c: Include galias.h.
144 * glib/gkeyfile.c (g_key_file_parse_value_as_comment):
145 Don't compare strings and chars.
147 * glib/glib.symbols: Add new symbols.
149 * glib/gkeyfile.c (g_key_file_new): Fix docs.
151 * glib/gkeyfile.h: Use the same parameter names as in
152 the implementation and the docs.
154 * glib/gwin32.c (g_win32_get_windows_version): Make this
155 function thread-safe in the GLib style.
156 * glib/gthreadinit.h:
157 * glib/gwin32.c (_g_win32_thread_init): New function to
158 initialize the version.
159 * glib/gthread.c (g_thread_init_glib): Call
160 _g_win32_thread_init() from here.
162 2004-10-26 Ray Strode <rstrode@redhat.com>
164 * glib/gkeyfile.c: Add Matthias to "Written by" lines
165 (GKeyFileGroup): add field to hold comments about groups
166 (g_key_file_load_from_fd): return TRUE on success and
167 FALSE on failure. Don't close fd's opened by other
169 (g_key_file_load_from_file): run FILE_IS_REGULAR test
170 before trying to open file, to save an fd from being
171 leaked (would probably be better to use fstat()). Close
172 fd when done with it. Return TRUE on success and FALSE
174 (g_key_file_load_from_data): Return TRUE on success and
176 (g_key_file_load_from_data_dirs): remove superfluous
177 const modifier. Return TRUE on success and FALSE on
178 failure. Stop trying to load files when one succeeds.
179 (g_key_file_parse_key_value_pair): don't validate input
180 for UTF-8 until users uses a getter that does
181 validation. Don't leak copy of start_group_name.
182 (g_key_file_to_data): serialize new comment field for
184 (g_key_file_get_keys): Remove convenience code to let
185 NULL group mean start group. Get rid of unneeded NULL
186 check before g_strdup.
187 (g_key_file_get_groups): Reverse groups list before
188 sending to user because it is maintained in backward
190 (g_key_file_get_value),
191 (g_key_file_set_value): add g_return checks at top of
193 (g_key_file_get_string),
194 (g_key_file_get_string_list): validate key value is UTF-8.
195 (g_key_file_[sg]et_*comment): new functions for
196 setting/getting comments
197 (g_key_file_remove_comment): new function to remove
199 (g_key_file_remove_key_value_pair_node): new function to
200 pull a key-value pair out of the list and free it.
201 (g_key_file_remove_group_node): call
202 g_key_file_remove_key_value_pair_node instead of
203 freeing the list immediately to get better statistics
204 for approximate_size.
205 (g_key_file_remove_group): use lookup_group_node instead
206 of lookup_group to prevent a g_list_find call.
207 (g_key_file_add_key): report group also when unable to
209 (g_key_file_lookup_group_node): new function to make
210 getting the group node from a group name easier.
211 (g_key_file_lookup_group): use lookup_group_node under
213 (g_key_file_lookup_key_value_pair_node): new function to
214 make getting the key-value pair from a group and key
216 (g_key_file_parse_comment_as_value): new function to add '#' to the
217 beginning of every line.
218 (g_key_file_parse_value_as_comment): new function that
219 attempts to be the inverse of comment as value.
221 2004-10-26 Matthias Clasen <mclasen@redhat.com>
224 * glib/gkeyfile.c: Don't include ctype.h needlessly. (#156424,
227 * tests/strtod-test.c (test_string): Improve error reporting.
229 Mon Oct 25 15:05:18 2004 Manish Singh <yosh@gimp.org>
231 * autogen.sh: rm autom4te.cache, since it might interfere with
232 differing autoconf versions.
234 * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
237 * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
238 don't redefine it here.
240 2004-10-24 Matthias Clasen <mclasen@redhat.com>
242 * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
243 destroy the lookup map if it is NULL.
245 2004-10-23 Matthias Clasen <mclasen@redhat.com>
247 * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c,
248 glib/giochannel.c, glib/gmain.c, glib/gspawn.c,
249 glib/libcharset/localcharset.c: Apply a patch to fix
250 sparse warnings. (#154696, Kjartan Maraas)
252 * glib/gnulib/g-gnulib.h: Undef libc functions before defining
253 them, since they may also be macros. (#155177, Andrea Campi)
256 * glib/gkeyfile.c: Add a parser for desktop entries and
257 similar files with a .ini-like syntax. (#139974, Ray Strode)
259 * glib/glib.h: Include gkeyfile.h
261 * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
262 (glibsubinclude_HEADERS): Add gkeyfile.h
264 * glib/gutils.c (_g_compute_locale_variants): Make this
265 non-static and use it in gkeyfile.c
267 2004-10-22 Matthias Clasen <mclasen@redhat.com>
269 * tests/uri-test.c (run_uri_list_tests): Add some
273 * glib/gconvert.c (g_uri_list_extract_uris): New function to
274 split a text/uri-list data into individual uris and strip comments.
276 2004-10-20 Matthias Clasen <mclasen@redhat.com>
278 * glib/goption.c (get_change): Don't return the wrong
279 change. (#155856, Lucas Rocha)
281 2004-10-17 Matthias Clasen <mclasen@redhat.com>
283 * glib/gutils.h (G_IS_DIR_SEPARATOR):
284 * glib/gutils.c: Make public. (#155589, Tim-Philipp MĆ¼ller)
286 2004-10-08 Matthias Clasen <mclasen@redhat.com>
288 * glib/gmain.c (g_child_watch_add_full):
289 * glib/gmain.c (g_child_watch_add): Document that GLib supports only
290 a single callback per pid. (#154828, Gustavo Carneiro)
292 2004-10-06 Matthias Clasen <mclasen@redhat.com>
294 * glib/gfileutils.c: Fix some C99isms. (#154676, Kjartan Maraas)
296 2004-10-05 Anders Carlsson <andersca@gnome.org>
298 * glib/goption.c: (g_option_context_parse):
299 Add check for if argc is 0.
301 * tests/option-test.c: (empty_test3), (main):
304 2004-10-05 Matthias Clasen <mclasen@redhat.com>
308 2004-10-04 Matthias Clasen <mclasen@redhat.com>
310 * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
311 vtable is set. (#154352, Philippe Blain)
313 2004-10-03 Anders Carlsson <andersca@gnome.org>
315 * glib/goption.c: (parse_arg):
316 Set arg_data on filenames. (Discovered by Mats-Ola Persson).
318 * tests/option-test.c: (arg_test3), (ignore_test3), (main):
319 Add test for filename args.
321 2004-10-01 Tor Lillqvist <tml@iki.fi>
323 * glib/goption.c (g_option_context_parse): Use
324 g_path_get_basename() instead of strrchr(), so that either slash
325 is accepted on Windows.
327 2004-09-30 Matthias Clasen <mclasen@redhat.com>
329 * glib/gfileutils.c: Convert filenames to UTF-8 before
330 putting them in GErrors. (#154078, Morten Welinder)
332 2004-09-29 Matthias Clasen <mclasen@redhat.com>
334 * glib/glib.symbols: Add g_assert_warning.
337 * glib/gmessages.c (g_assert_warning): Treat g_assert
338 in the same way as g_return_if_fail and move the string
339 constants into a helper function, which also takes
340 care of removing the "IA__" prefix from internal aliases.
342 * glib/gmessages.h: Move the declaration of
343 g_return_if_fail_warning() out of the ifdefs, so that
344 building with G_DISABLE_ASSERT works.
346 2004-09-27 Murray Cumming <murrayc@murrayc.com>
348 * glib/goptions.[h|c], glib/glib.symbols: Rename
349 g_context_option_error_quark() to g_option_error_quark(), because that
350 is consistent with normal naming conventions, and what bindings expect.
352 .2004-09-26 Matthias Clasen <mclasen@redhat.com>
354 Fix #153649, Hidetaka Iwai:
356 * glib/goption.c (parse_long_option): Don't forget to set parsed
357 to TRUE when parsing a long ARG_NONE option.
358 (free_changes_list): Fix the memory management for string
361 2004-09-22 Tor Lillqvist <tml@iki.fi>
363 * glib/gmessages.c: [Win32] Don't ever open a console
364 window. (Which we used to do if standard output or standard error
365 are invalid, as they are for GUI applications.) These console
366 windows that open up unexpectedly have caused endless amounts of
367 confusion among end-users. (#141102, #151175)
369 Don't output the process id on Windows. Only output the program
370 name. If not set with g_set_prgname(), fetch the application
371 executable's name and use that.
373 Mon Sep 20 00:35:14 2004 Matthias Clasen <maclas@gmx.de>
375 * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
376 convert UTF-16 byte stream of ambiguous endianness. (#152954,
379 Mon Sep 20 00:17:37 2004 Matthias Clasen <maclas@gmx.de>
381 * tests/option-test.c (error_test3_post_parse):
382 * tests/option-test.c (error_test2_post_parse):
383 * tests/option-test.c (error_test1_post_parse): Don't call
384 g_set_error () with a NULL format. (#153103, Robert Ćgren)
386 Mon Sep 20 00:13:48 2004 Matthias Clasen <maclas@gmx.de>
388 Make GOption remove long options completely. (#153113, Robert Ćgren)
390 * glib/goption.c (parse_long_option): Fix a wrong index.
392 * tests/option-test.c (ignore_test3): Test handling of unknown
395 Sun Sep 19 23:56:15 2004 Matthias Clasen <maclas@gmx.de>
397 * glib/goption.c (g_option_context_parse): Call error_func
398 on error, not post_parse_func again. (#153107, Robert Ćgren)
400 Sun Sep 19 23:52:35 2004 Matthias Clasen <maclas@gmx.de>
402 * glib/gmessages.c (mklevel_prefix):
403 * glib/gmessages.c (g_logv): Fix the types of some variables
404 to be GLogLevelFlags instead of guint. (#153042, Philippe Blain)
406 2004-09-18 Matthias Clasen <mclasen@redhat.com>
410 * === Released 2.5.3 ===
412 2004-09-17 Matthias Clasen <mclasen@redhat.com>
414 * NEWS: More updates.
416 Thu Sep 16 18:42:46 2004 Manish Singh <yosh@gimp.org>
418 * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
421 Thu Sep 16 18:15:32 2004 Manish Singh <yosh@gimp.org>
423 * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
424 of characters, instead of a gsize. Technically this is incorrect,
425 but this makes it match the prototype, and this is a deprecated
428 2004-09-16 Matthias Clasen <mclasen@redhat.com>
430 * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
432 Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de>
434 Implement the same PLT reduction technique used in GTK+:
436 * glib/glib.symbols: Master list of symbols
438 * glib/makegalias.pl: Perl script which creates galias.h
440 * glib/abicheck.sh: Compares actual exports against glib.symbols
442 * glib/glib.def: Removed. This file is now generated from
445 * glib/Makefile.am: Add rules to generate galias.h and glib.def,
446 and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
448 * configure.in: Add --disable-visibility to suppress the
449 use of ELF visibility attributes.
451 * glib/*.c: Include galias.h
453 2004-09-15 Tor Lillqvist <tml@iki.fi>
455 * glib/gwin32.c (g_win32_error_message): Convert message to
456 UTF-8. Technically this breaks API, but the actual use cases in
457 gdk/win32 have assumed it is UTF-8 anyway. Fix
458 documentation. (#152618, Kazuki Iwamoto)
460 * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
461 good idea, and it clashes with newest mingw headers, which have a
462 ftruncate implementation as an inline function. Thanks to Dominik R.
464 * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
465 call _chsize() in the C library.
467 2004-09-15 Matthias Clasen <mclasen@redhat.com>
471 2004-09-09 Matthias Clasen <mclasen@redhat.com>
473 * glib/gmessages.c (g_return_if_fail_warning): Strip the
474 prefix "IA__" from function names, since that is what
475 GTK+ uses for the PLT-reduction aliases.
477 Thu Sep 9 13:52:26 2004 Owen Taylor <otaylor@redhat.com>
479 * glib/gmessages.c (g_return_if_fail_warning):
480 Include implementation of g_return_if_fail_internal().
482 Thu Sep 9 10:37:41 2004 Owen Taylor <otaylor@redhat.com>
484 * glib/gmessages.h (g_return_[val_]if_fail): Use
485 a helper function to reduce code size; omit FILE/LINE
486 when we have __PRETTY_FUNCTION__.
488 2004-09-09 Matthias Clasen <mclasen@redhat.com>
490 * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
492 Thu Sep 9 00:10:40 2004 Matthias Clasen <maclas@gmx.de>
495 * glib/gstrfuncs.c (g_strv_length): Add a function to
496 calculate the length of a NULL-terminated string
497 array. (#150455, Tim-Philipp MĆ¼ller)
499 * tests/strfunc-test.c (main): Add a test for g_strv_length().
501 2004-09-08 Tor Lillqvist <tml@iki.fi>
503 * glib/gutils.c (guess_category_value): On Win32, as last resort
504 call g_win32_getlocale() to get the current thread locale. There
505 usually aren't any POSIXish LANG or LC_* environment variables
506 present on Windows machines.
508 * glib/glib.def: Add g_get_language_names.
510 2004-09-07 Matthias Clasen <mclasen@redhat.com>
513 * glib/gutils.c (g_get_language_names): Add a function to
514 return a list of applicable locale names. (#95587,
516 (guess_category_value, compute_locale_variants):
517 (explode_locale, unalias_lang, read_aliases): Helper
518 functions for g_get_language_names()
520 * tests/testglib.c (main): Show the results of
521 g_get_language_names()
523 Sun Sep 5 01:46:11 2004 Matthias Clasen <maclas@gmx.de>
527 * glib/gmessages.c (g_log_set_default_handler): New
528 function to install an alternate default log
529 handler. (#66387, Darin Adler)
531 2004-09-03 Tor Lillqvist <tml@iki.fi>
533 * glib/glib.def: Update.
535 Wed Sep 1 20:22:39 2004 Matthias Clasen <maclas@gmx.de>
538 * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
539 a function to calculate the ISO 8601 week number of
540 a date. (#92579, Niklas Lundell)
542 2004-09-01 Anders Carlsson <andersca@gnome.org>
544 * glib/goption.c: (g_option_context_parse):
545 Set program name before calling the pre-parse hooks.
547 2004-09-01 Anders Carlsson <andersca@gnome.org>
549 * glib/goption.c: (g_option_context_free), (print_help),
550 (g_option_context_parse):
551 Handle option contexts without a main group.
553 * tests/option-test.c: (empty_test2), (main):
554 Add test case for that.
556 2004-08-30 Anders Carlsson <andersca@gnome.org>
558 * glib/goption.c: (g_option_context_parse):
559 Set prgname to <unknown> if argc and argv are NULL.
561 * tests/option-test.c: (empty_test1), (main):
562 Add test case for that.
564 Sun Aug 29 23:58:38 2004 Matthias Clasen <maclas@gmx.de>
566 * glib/ghash.c (g_hash_table_lookup): Point to
567 g_hash_table_lookup_extended() for differentiation between
568 not-found and value-is-NULL. (#150960, Morten Welinder)
570 2004-08-27 Matthias Clasen <mclasen@redhat.com>
572 Fix #151193, Stepan Kasal:
574 * glib/gfileutils.c (g_file_error_from_errno):
575 * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
577 Fri Aug 27 00:45:41 2004 Matthias Clasen <maclas@gmx.de>
579 * glib/goption.c (g_option_context_parse): Set the program name
580 from argv[0], noticed by Masatake YAMATO.
582 2004-08-26 Tor Lillqvist <tml@iki.fi>
584 * tests/testglib.c (main): Test the new XDG basedir functions.
586 2004-08-25 Tor Lillqvist <tml@iki.fi>
588 * glib/gwin32.c (g_win32_get_windows_version): New
589 function. Returns the Windows version code like GetVersion(),
590 except that one can pretend to be running on Win9x by setting the
591 G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
594 * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
595 and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
597 2004-08-25 Matthias Clasen <mclasen@redhat.com>
599 * configure.in: Post-release version bump.
601 * === Released 2.5.2 ===
603 Wed Aug 25 00:25:08 2004 Matthias Clasen <maclas@gmx.de>
605 * NEWS: Update for 2.5.2
607 2004-08-25 Tor Lillqvist <tml@iki.fi>
609 Win32 equivalences of the XDG folders
611 * glib/gutils.c (get_special_folder): New function, calls
612 SHGetSpecialFolderLocation() to get path to places like the My
614 (g_get_any_init): Use CSIDL_PROFILE as HOME if not
615 overridden by env vars.
616 (g_get_user_data_dir): Use CSIDL_PERSONAL.
617 (g_get_user_config_dir): Use CSIDL_APPDATA.
618 (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
619 (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
620 CSIDL_COMMON_DOCUMENTS.
621 (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
623 * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
625 * glib/glib.def: Add the new functions.
627 Mon Aug 23 16:16:35 2004 Manish Singh <yosh@gimp.org>
629 * glib/goption.c (g_option_group_add_entries): remove unused
632 Mon Aug 23 01:35:18 2004 Matthias Clasen <maclas@gmx.de>
634 * glib/gutils.c (g_get_user_cache_dir):
635 * glib/gutils.c (g_get_user_config_dir):
636 * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
637 while holding the g_utils_global lock, simply use g_home_dir.
638 (#150695, Jody Goldberg)
640 2004-08-21 Tor Lillqvist <tml@iki.fi>
642 * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
643 break out of its loop. Prevents a thread leak. (#147392, Peter
646 * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
647 return value from strxfrm(). For instance Microsoft's strxfrm()
648 returns INT_MAX on errors. (#141124)
650 2004-08-19 Tor Lillqvist <tml@iki.fi>
652 * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
653 source and destination charset parameter order in g_convert()
654 call. (#150394, possibly also #141124)
656 2004-08-20 Jon K Hellan <hellan@acm.org>
658 * glib/goption.h: Remove trailing commas.
660 2004-08-17 Matthias Clasen <mclasen@redhat.com>
662 * configure.in: Check for all four values of the
663 visibility attribute; gcc 2.96 seems to miss
664 "default". (#150379, Vincent Noel)
666 2004-08-16 Christian Rose <menthos@menthos.com>
668 * configure.in: Added "bs" to ALL_LINGUAS.
670 2004-08-11 Ray Strode <rstrode@redhat.com>
672 * docs/reference/glib/glib-sections.txt:
673 * glib/gutils.[ch] (g_get_user_data_dir),
674 (g_get_user_config_dir), (g_get_user_cache_dir),
675 (g_get_system_data_dirs), (g_get_system_config_dirs):
676 Add new XDG basedir API (bug 139973).
678 2004-08-10 Matthias Clasen <mclasen@redhat.com>
680 * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
681 * configure.in: Check whether the visibility attribute
682 works and define G_HAVE_GNUC_VISIBILITY and
683 G_GNUC_INTERNAL in glibconfig.h correspondingly.
685 Mon Aug 9 17:37:56 2004 Matthias Clasen <maclas@gmx.de>
687 * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
689 2004-08-06 Hans Breuer <hans@breuer.org>
691 * glib/makefile.msc.in glib/glib.def : updated
693 * glib/gutils.c : avoid 'inconsitent dll linkage' by not
694 defining extern char** environ with msvc
696 2004-08-06 Matthias Clasen <mclasen@redhat.com>
698 * m4macros/glib-gettext.m4: Require ngettext. (#123847,
701 Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
703 * glib/gutils.h (g_get_codeset): strdup result so caller
704 doesn't free internally managed memory.
706 2004-08-04 Tor Lillqvist <tml@iki.fi>
708 * glib/glib.def: Add glib_check_version.
710 * config.h.win32.in: Update to match what configure produces. Add
711 the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
712 HAVE_INT64_AND_I64 to where the configure script puts it. Add
713 HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
715 Tue Aug 3 16:19:44 2004 Matthias Clasen <maclas@gmx.de>
717 * glib/goption.c: Mark user visible strings for translation.
719 Tue Aug 3 15:50:55 2004 Matthias Clasen <maclas@gmx.de>
721 * glib/goption.[hc]: Pedantically use g types throughout.
723 Tue Aug 3 14:58:20 2004 Matthias Clasen <maclas@gmx.de>
726 * glib/gutils.c (glib_check_version): New function to
727 check the version of GLib at runtime. (#149175, Michael Natterer)
729 2004-08-03 Anders Carlsson <andersca@gnome.org>
733 Move GTranslateFunc to gtypes.h
735 2004-08-02 Anders Carlsson <andersca@gnome.org>
743 * tests/option-test.c:
746 2004-08-02 Matthias Clasen <mclasen@redhat.com>
748 * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
749 declarations as internal and avoid PLT indirections for
750 them. (#145465, Arjan van de Ven)
752 * glib/gunicodeprivate.h:
753 * glib/gthreadinit.h:
756 * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
757 _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
758 _g_messages_thread_init(), _g_convert_thread_init(),
759 _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
760 _g_mem_thread_private_init(), _g_messages_thread_private_init(),
761 _g_utf8_normalize_wc() and _g_unichar_combining_class().
763 * glib/gatomic.c: Include gthreadinit.h here to see the declaration
764 for _g_atomic_thread_init().
766 Sun Aug 1 13:19:18 2004 Manish Singh <yosh@gimp.org>
768 * tests/uri-test.c: move newline printing from run_from_uri_tests()
769 to run_roundtrip_tests().
771 2004-08-01 Matthias Clasen <mclasen@redhat.com>
773 * Post-release version bump
775 * === Released 2.5.1 ===
777 Sat Jul 31 23:17:05 2004 Matthias Clasen <maclas@gmx.de>
781 Sat Jul 31 20:33:07 2004 Matthias Clasen <maclas@gmx.de>
783 * tests/shell-test.c: Include a test involving consecutive
784 backslashes followed by a non-escaped doublequote.
786 * glib/gshell.c (tokenize_command_line): Count consecutive
787 backslashes mod 2 to detect escaped doubleqotes. (#127306)
789 2004-07-30 Matthias Clasen <mclasen@redhat.com>
791 * glib/gconvert.c (g_unescape_uri_string): Don't validate
792 for UTF-8 here. (#148420, Robert Ćgren)
794 * tests/uri-test.c (run_roundtrip_tests): Add tests for
795 roundtrip compatibility. Going from filename to uri and
796 back should always give you the same filename back.
798 2004-07-28 Matthias Clasen <mclasen@redhat.com>
800 * tests/markups/valid-{9,10,11}.gmarkup:
801 * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
802 of whitespace inside tags.
804 * glib/gmarkup.c (enum GMarkupParseState): Add
805 STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
806 (g_markup_parse_context_parse): Accept whitespace between
807 attribute names, '=' and attribute values and between
808 close tag name and '>'. (#148646, Hiroyuki Ikezoe)
810 Tue Jul 27 02:01:31 2004 Matthias Clasen <maclas@gmx.de>
812 * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
815 Sat Jul 24 17:50:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
817 * glib/gstrfuncs.c (g_strsplit_set):
818 s/g_strtokenize/g_strsplit_set/ in docs.
820 Fri Jul 23 10:37:50 2004 Matthias Clasen <maclas@gmx.de>
822 * tests/type-test.c (main): Actually test G_MAXSIZE with
825 2004-07-21 Matthias Clasen <mclasen@redhat.com>
827 Fix #132858, Sven Neumann, patch by James Henstridge:
829 * glib-gettextize.in: modify so that mkinstalldirs will
830 get installed into auxdir.
832 * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
834 2004-07-21 Matthias Clasen <mclasen@redhat.com>
836 Fix #147651, reported by Oliver Guntermann:
838 * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
839 _g_gnulib_vasprintf() in a macro, since they behave
840 differently wrt. to memory allocation.
842 * glib/gprintf.c (g_vasprintf): Instead, differentiate
843 here between the three cases: system vasprintf(),
844 _g_gnulib_vasprintf(), no vasprintf().
846 2004-07-20 Crispin Flowerday <gnome@flowerday.cx>
848 * NEWS: Fix a typo in my name
850 Tue Jul 20 04:31:40 2004 Soeren Sandmann <sandmann@daimi.au.dk>
852 * configure.in: Bump version number
854 Sun Jul 18 19:40:30 2004 Soeren Sandmann <sandmann@daimi.au.dk>
856 * === Released 2.5.0 ===
858 * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
860 Sun Jul 18 01:40:28 2004 Matthias Clasen <maclas@gmx.de>
862 * NEWS: Updates for 2.5.0
864 Mon Jul 12 00:02:40 2004 Matthias Clasen <maclas@gmx.de>
866 * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
868 2004-07-09 Matthias Clasen <mclasen@redhat.com>
870 * glib/gdir.c (g_dir_open): Convert filename to UTF-8
871 before using it in the error message. (#146054, Federico
874 Thu Jul 8 00:54:32 2004 Matthias Clasen <maclas@gmx.de>
876 * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
877 be built without anyway. (#135899, Murray Cumming)
879 Mon Jul 5 18:50:27 2004 Matthias Clasen <maclas@gmx.de>
881 * glib/gmessages.h (g_debug): Complete the g_log()
882 family. (#135730, Sven Herzberg)
884 Mon Jul 5 18:42:30 2004 Matthias Clasen <maclas@gmx.de>
886 * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to
887 make srcdir != . work. (#145166, Kaz Sasayama)
889 Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
891 * configure.in: Use a small test library instead of
892 libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
893 Julio M. Merino Vidal)
895 2004-07-02 Sebastian Wilhelmi <seppi@seppi.de>
897 * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
898 __volatile__ to make the file consistent. Spotted by Benoit
899 Carpentier <gtkool_2kx@yahoo.fr>.
901 2004-07-01 John Ehresman <jpe@wingide.com>
903 * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
904 Initialize reset_send & reset_recv fields and don't close
905 sockets unless they were created. (#145153)
907 Fri Jun 11 22:56:46 2004 Matthias Clasen <maclas@gmx.de>
909 * glib/gscanner.c (g_scanner_get_token_ll): Ignore a
910 missing newline at EOF for single line comments.
911 (#83674, Sven Neumann)
913 Thu Jun 10 23:38:02 2004 Matthias Clasen <maclas@gmx.de>
915 * tests/printf-test.c (TEST): Actually set any_failed on
916 failure. (#143552, Philippe Blain)
918 2004-06-09 Federico Mena Quintero <federico@ximian.com>
920 * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
921 for URIs that *should* have been invalid, or viceversa.
922 (from_uri_tests): Likewise.
924 2004-06-07 Federico Mena Quintero <federico@ximian.com>
928 * glib/gconvert.c (is_asciialphanum): Renamed from
929 is_escalphanum(); ensures that this is an ASCII character.
930 (is_asciiescalpha): Renamed from is_escalpha().
931 (hostname_validate): Use the two functions above.
932 (g_filename_to_uri): Don't convert the filename to UTF-8.
933 (g_filename_from_uri): Don't convert the filename from UTF-8.
935 Mon Jun 7 22:25:24 2004 Matthias Clasen <maclas@gmx.de>
937 * tests/run-markup-tests.sh: Default to silence, but support
938 a -v argument to get the old output back.
940 2004-06-06 Tor Lillqvist <tml@iki.fi>
942 * glib/gutils.c (g_get_any_init): Check home for being
943 NULL. (#143812, Ivan Wong)
945 Sun Jun 6 15:23:00 2004 Pawan Chitrakr <pawan@nplinu.org>
947 * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
949 Fri Jun 4 19:26:47 2004 Manish Singh <yosh@gimp.org>
951 * glib/galloca.h: cpp #directives should always have the "#" in the
952 first column of the the line. Do that for "#pragma alloca". Fixes
955 Wed Jun 2 00:57:16 2004 Matthias Clasen <maclas@gmx.de>
957 * glib/gtypes.h: Use higher precision for the mathematical
958 constants. (#141941, Morten Welinder)
960 Tue Jun 1 22:01:40 2004 Matthias Clasen <maclas@gmx.de>
962 * glib/gmarkup.c (advance_char): Fix an off-by-one error
963 in g_markup_parse_context_parse(). (#142794, Morten Welinder)
965 Sun May 16 23:23:29 2004 Matthias Clasen <maclas@gmx.de>
969 * glib/gcompletion.c (g_completion_add_items):
970 (g_completion_remove_items): Remove unnecessary
971 checks. (#142559, Morten Welinder)
973 2004-05-15 Tor Lillqvist <tml@iki.fi>
975 * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
976 is an absolute path and exists. (#138618)
978 2004-05-14 Tor Lillqvist <tml@iki.fi>
980 * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
981 for precision correctly. (#142400)
983 For backward compatibility with the Trio implementation, make "ll"
984 format modifer work on Win32, too. Change into "I64" before
985 passing to the system printf. (#142433)
987 * tests/printf-test.c (main): Add tests for the above.
989 2004-05-10 Matthias Clasen <mclasen@redhat.com>
993 * glib/gmain.c (block_source, unblock_source): Make these
994 static. (#142230, Morten Welinder)
996 2004-05-10 Tor Lillqvist <tml@iki.fi>
998 * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
999 lines. Thanks to BenoƮt Carpentier.
1001 Sun May 9 02:04:14 2004 Matthias Clasen <maclas@gmx.de>
1005 * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1006 memleak. (#141998, Nikolai Weibull)
1008 Sat May 8 23:02:26 2004 Matthias Clasen <maclas@gmx.de>
1012 * glib/gutils.h: Remove vestigial g_get_codeset().
1013 * glib/gutils.c (g_get_codeset): Call g_get_charset().
1014 (#137703, Owen Taylor)
1016 2004-05-06 Matthias Clasen <mclasen@redhat.com>
1018 * configure.in: Bump version number to 2.5.0.
1020 Wed May 5 23:35:44 2004 Matthias Clasen <maclas@gmx.de>
1022 * glib/gconvert.c (g_filename_from_uri): Quote the file
1023 scheme to mark it as untranslatable. String change.
1024 (#133144, Danilo Segan)
1026 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
1028 * configure.in: Added Walloon (wa) to ALL_LINGUAS
1030 Sun May 2 03:51:59 2004 Manish Singh <yosh@gimp.org>
1032 * glib/gtypes.h: check for __pentium4__ when deciding whether to
1033 use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1035 2004-05-01 Hans Breuer <hans@breuer.org>
1037 * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1038 fixes #141563, Steve Lhomme
1040 2004-04-30 Matthias Clasen <mclasen@redhat.com>
1042 * === Released 2.4.1 ===
1044 * configure.in: Version 2.4.1, interface age 1.
1048 2004-04-25 Tor Lillqvist <tml@iki.fi>
1050 * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1051 Plug memory leak. (#140770, John Ehresman)
1053 2004-04-23 Matthias Clasen <mclasen@redhat.com>
1055 * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
1056 Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1057 point. (#139134, Piotr Klaban)
1059 * glib/gconvert.c (open_converter): Don't call g_strerror() here,
1060 since it can lead to infinite recursion. (#139133, Piotr Klaban)
1062 2004-04-22 Matthias Clasen <mclasen@redhat.com>
1064 * tests/testglib.c (main): Trivial warning fix. (#140345)
1066 * tests/queue-test.c (main): Add some tests for off-by-one errors.
1068 * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one
1069 error. (#139703, Philippe Blain)
1071 * tests/testglib.c (main): Add testcases for g_message() involving
1072 non-printable and unsafe characters.
1074 * glib/gmessages.c (escape_string): Don't assume that
1075 string->str remains unchanged over g_string_insert()
1076 calls. (#139030, Christophe Saout)
1078 * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a
1079 locale-specific decimal separator directly follows a
1080 number. (#138424, Nickolay V. Shmyrev)
1082 * tests/strtod-test.c (main): Add some more testcases.
1084 * glib/gmain.c (g_main_context_query): Only set time_is_current to
1085 FALSE if context->timeout is not zero. (#137795, Christian Krause)
1087 2004-04-21 Matthias Clasen <mclasen@redhat.com>
1089 * tests/printf-test.c (main): Comment out a nonessential testcase
1090 which fails on HP-UX. (#136283, Jonas Jonsson)
1092 2004-04-15 Matthias Clasen <mclasen@redhat.com>
1094 * tests/patterntest.c (main): Add tests for the empty pattern.
1096 * glib/gpattern.c (g_pattern_spec_new): Don't read and write out
1097 of bounds when the pattern is empty. (#140032, Stanislav Brabec,
1100 2004-04-10 Tor Lillqvist <tml@iki.fi>
1102 * glib/gwin32.c (g_win32_getlocale): Add new language and
1103 sublanguage codes, from GNU gettext. (#137958)
1108 * glib/gthread.c: Decorating variable definitions with
1109 __declspec(dllexport) causes problems on Cygwin build, and isn't
1110 really needed for a native Win32 build with mingw or MSVC, so
1111 remove. (#138402, Roger Leigh)
1113 * glib/libcharset/localcharset.c: Use Win32-specific code also on
1115 * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1116 on Cygwin, either. (#138412, Roger Leigh)
1118 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
1120 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1122 2004-04-03 Tor Lillqvist <tml@iki.fi>
1124 * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1125 found on Cygwin, they don't work. (#138401, Roger Leigh)
1127 2004-03-31 Tor Lillqvist <tml@iki.fi>
1129 * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1132 * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1133 on Cygwin. (#138423, Roger Leigh)
1135 2004-03-30 Adam Weinberger <adamw@gnome.org>
1137 * configure.in: Added en_CA to ALL_LINGUAS.
1139 2004-03-21 Tor Lillqvist <tml@iki.fi>
1141 * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1142 cases where a drive letter is present. For 'a:' or 'a:foo', return
1143 'a:.'. This is mostly just for consistency with the behaviour
1144 without a drive letter. But very important is to for 'a:\foo' or
1145 'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1146 instead of backslashes.) (#137316)
1148 * tests/dirname-test.c (main): More complete testing on Win32. If
1149 a test fails, include expected and actual result in error message.
1151 Fri Mar 19 15:21:09 2004 Owen Taylor <otaylor@redhat.com>
1153 * glib/gmain.c: Fix the accidental revert of the
1154 fixes from #112222 that happened when the GChildWatch
1155 code was added. (Caught by Christian Persch)
1157 Fri Mar 19 11:07:06 2004 Owen Taylor <otaylor@redhat.com>
1159 * tests/atomic-test.c (main): Make computation
1160 of "biggest_pointer" vaguely more portable.
1161 (#137498, Jonas Jonsson)
1163 2004-03-16 Tor Lillqvist <tml@iki.fi>
1165 * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1166 on Win32) case, where the 64-bit type is called long long, but the
1167 system printf/scanf format modifier for 64-bit integers is still I64.
1169 2004-03-16 Gareth Owen <gowen72@yahoo.com>
1171 * configure.in: Added en_GB to ALL_LINGUAS