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