glib/glib.symbols Implement DLL ABI stability also for
[platform/upstream/glib.git] / ChangeLog.pre-2-6
1 2004-12-05  Tor Lillqvist  <tml@iki.fi>
2
3         * glib/glib.symbols
4         * glib/gwin32.[hc]: Implement DLL ABI stability also for
5         g_win32_get_package_installation_directory()) and
6         g_win32_get_package_installation_subdirectory().
7
8         * glib/Makefile.am (install-libtool-import-lib): Remove the DLL
9         binary compatibilty entries from the import library. They aren't
10         used by newly compiled code, so no need to have them in the import
11         library. (The "PRIVATE" keyword in the .def file is supposed to do
12         this, but not implemented in the GNU linker yet.)
13
14 2004-12-04  Matthias Clasen  <mclasen@redhat.com>
15
16         * glib/gqueue.c (g_queue_link_index): Return -1 if queue is 
17         NULL.  (#159530, Philippe Blain)
18
19 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
20
21         * configure.in: Bump version.
22
23         * === Released 2.5.7 ===
24         
25 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
26
27         * glib/glib.symbols: Protect the the various push/pop allocator
28         functions by #ifndef DISABLE_MEM_POOLS.  (#160215, Frederic Crozat)
29
30         * glib/makegalias.pl: Support #ifndef'ed sections.
31
32         * glib/gutils.c (g_get_system_config_dirs): Don't forget to 
33         initialize g_system_config_dirs.  (#160213, Frederic Crozat)
34
35 Wed Dec  1 17:04:37 2004  Manish Singh  <yosh@gimp.org>
36
37         * glib/gstring.h (g_string_append_c_inline): actually enable (and
38         fix up the length test).
39
40 2004-11-30  Tor Lillqvist  <tml@iki.fi>
41
42         * glib/Makefile.am (glib.def): gcc -E complains "linker input file
43         unused because linking not done" if told to preprocess the
44         glib.symbols file. Use '-' and redirection to pass it as standard
45         input instead.
46
47 2004-11-30  Matthias Clasen  <mclasen@redhat.com>
48
49         * NEWS: Updates
50
51 2004-11-30  Tor Lillqvist  <tml@iki.fi>
52
53         * glib/gspawn-win32-helper.c (WinMain): Also check errno to detect
54         true errors from spawn*(). (#157258, reported by Bruce Hochstetler)
55
56 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
57
58         * glib/gmacros.h (G_GNUC_MALLOC): Define empty for gcc 2.95.
59
60         * glib/gmarkup.c (unescape_text_state_after_charref_hash): 
61         Avoid a strndup() here, noticed by Morten Welinder.
62
63 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
64
65         * glib/gmarkup.c: Remove leftover noinline attributes.
66         (is_name_start_char, is_name_char): Avoid possible reads
67         beyond the end of g_ascii_table.
68
69         * glib/Makefile.am: Use the perl found by configure.  (#149826,
70         Morten Welinder)
71
72 Sun Nov 28 13:13:56 2004  Manish Singh  <yosh@gimp.org>
73
74         * glib/abicheck.sh: filter G_GNUC before PRIVATE so $ is still true.
75
76         * tests/utf8-validate.c: cast pointer math to gint for error print
77         message.
78
79 Sun Nov 28 12:07:29 2004  Manish Singh  <yosh@gimp.org>
80
81         * tests/utf8-validate.c: minor comment fix.
82
83 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
84
85         * glib/gconvert.h:
86         * glib/gkeyfile.h:
87         * glib/gmem.h: 
88         * glib/gstrfuncs.h:
89         * glib/gunicode.h:
90         * glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate.
91
92         * glib/glib.symbols: Add G_GNUC_MALLOC annotations.
93
94         * glib/gmacros.h (G_GNUC_MALLOC): Add a macro for 
95         __attribute__((__malloc__)).  (#61780)
96
97 2004-11-28  Tor Lillqvist  <tml@iki.fi>
98
99         * glib/gutils.[hc]
100         * glib/glib.symbols: [Win32] Make also g_get_user_name() and
101         g_get_real() name return UTF-8. As for the similar changes to fix
102         #101792, for DLL ABI stability we use preprocessor defines to get
103         the new UTF-8 versions, and keep the old names for versions
104         returning strings in the system codepage.
105
106         Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8
107         as was intended in the fix for bug #101792. (#159664, noticed by
108         Robert Ögren)
109
110 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
111
112         * glib/gmarkup.c: Optimizations; don't scan the entire text
113         in find_current_text_end(), split unescape_text() into multiple
114         functions.  (#159001, Havoc Pennington)
115
116 2004-11-27  Matthias Clasen  <mclasen@redhat.com>
117
118         * glib/gspawn.c (g_spawn_async_with_pipes): Update the @flags
119         documentation with references to GChildWatch and 
120         g_spawn_close_pid().  (#136255, noted by Owen Taylor)
121
122 2004-11-26  Matthias Clasen  <mclasen@redhat.com>
123
124         * glib/gkeyfile.c (g_key_file_parse_value_as_string): 
125         Don't access invalid memory address if p wasn't 
126         increased.  (#159557, Frederic Crozat)
127
128 2004-11-25  Matthias Clasen  <mclasen@redhat.com>
129
130         * tests/strtod-test.c (main): Add a testcase for the previous fix.
131
132         * glib/gstrfuncs.c (g_ascii_strtod): Make it work again for floats
133         starting with a decimal point, like .75  (#156421, Hans Breuer)
134
135 Thu Nov 25 14:02:43 2004  Manish Singh  <yosh@gimp.org>
136
137         * glib/abicheck.sh: filter out G_GNUC stuff when doing the compare.
138
139         * glib/gmessages.c (g_assert_warning): call abort() at the end, so
140         gcc doesn't warn.
141
142 2004-11-25  Kjartan Maraas  <kmaraas@gnome.org>
143
144         * configure.in: Add «nb» to ALL_LINGUAS.
145
146 2004-11-24  Tor Lillqvist  <tml@iki.fi>
147
148         * glib/gwin32.c (g_win32_error_message,
149         get_package_directory_from_module,
150         g_win32_get_package_installation_directory,
151         g_win32_get_package_installation_subdirectory): Use wide character
152         API when available. Document that string parameters and return
153         values are in UTF-8.
154
155 2004-11-24  Matthias Clasen  <mclasen@redhat.com>
156
157         * glib/gutf8.c: Replace g_utf8_validate() with an
158         optimized version, and clarify the docs a bit.  (#159131,
159         Owen Taylor)
160
161         * tests/Makefile.am (test_programs): Add utf8-validate.
162
163         * tests/utf8-validate.c: Unit tests for g_utf8_validate().
164
165 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
166
167         * glib/goption.h: Don't mark g_option_error_quark() as const,
168         to be consistent with all the other error_quark functions. 
169         (technically they are const, but since these are called only
170         in error paths, giving the compiler better optimization 
171         opportunities doesn't matter much)
172
173 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
174
175         Fix a problem with the PLT reduction changes which caused the
176         internal aliases to lose all attributes.
177         
178         * glib/glib.symbols: Add attribute annotations.
179         * glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
180         * glib/Makefile.am (glib.def): Strip attribute annotations, but keep 
181         PRIVATE.
182
183 2004-11-21  Hans Breuer  <hans@breuer.org>
184
185         * **/makefile.msc : updated
186
187 2004-11-16  Matthias Clasen  <mclasen@redhat.com>
188
189         * m4macros/glib-2.0.m4 (AM_PATH_GLIB_2_0): Support gmodule-no-export.
190
191         * Makefile.am (EXTRA_DIST): 
192         * configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in 
193
194         * gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
195         which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
196         need it.  (#125627, Owen Taylor)
197
198 2004-11-17  Matthias Clasen  <mclasen@redhat.com>
199
200         * glib/gkeyfile.c: Define S_ISREG() on windows, since it
201         is not present there.  (#158469, Kazuki IWAMOTO)
202
203 2004-11-15  Matthias Clasen  <mclasen@redhat.com>
204
205         * glib/gkeyfile.c (g_key_file_load_from_fd): Use S_ISREG(), since
206         S_IFMT and S_IFREG are apprarently missing on some systems (they 
207         are SUS, but not Posix).  (#158263)
208
209 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
210
211         * configure.in: Bump version.
212
213         * === Released 2.5.6 ===
214         
215 2004-11-11  J. Ali Harlow  <ali@juiblex.co.uk>
216
217         * gobject/Makefile.am:
218         * glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
219         escape sequence. (#157951)
220
221 2004-11-10  Tor Lillqvist  <tml@iki.fi>
222
223         * glib/gconvert.c (g_get_filename_charsets): Fix typo in doc
224         comment.
225
226 2004-11-10  Matthias Clasen  <mclasen@redhat.com>
227
228         * NEWS: Updates
229
230 Mon Nov  8 10:45:50 2004  Manish Singh  <yosh@gimp.org>
231
232         * glib/gasyncqueue.c
233         * glib/ghook.c
234         * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail
235
236         * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually
237         return the passed in pointer.
238
239 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
240
241         * glib/gnode.h (enum GTraverseFlags): Add G_TRAVERSE_LEAVES
242         and G_TRAVERSE_NON_LEAVES as alternative names for 
243         G_TRAVERSE_LEAFS and G_TRAVERSE_NON_LEAFS, which are
244         grammatically brutal.  (#138853, Morten Welinder)
245         
246         * glib/gasyncqueue.[hc]:
247         * glib/ghook.[hc]: 
248         * glib/gmain.[hc]:
249         * glib/giochannel.[hc]: Make g_io_channel_ref(), 
250         g_main_context_ref(), g_hook_ref(), g_async_queue_ref()
251         return the passed in pointer. (#151663, Manish Singh)
252
253         * glib/gmain.c: Initialize child_watch_count to 1, so 
254         that we don't miss the very first child if it exits 
255         before we set up the child watch. In that case we had 
256         previously source->count == child_watch_count == 0, 
257         causing g_child_watch_check() to skip the waitpid() 
258         call.  (#154827, Gustavo Carneiro)
259
260         * glib/gmain.c (g_child_watch_source_init_single) 
261         (g_child_watch_source_init_multi_threaded): Use sigaction()
262         instead of signal().  (#136867, Jonas Jonsson, patch by
263         Archana Shah)
264
265 2004-11-07  Matthias Clasen  <mclasen@redhat.com>
266
267         * glib/gutils.c (g_get_any_init): Work around an bug
268         in Mac OS < 10.3.  (#156446, Dave MacLachlan)
269
270 2004-11-06  Tor Lillqvist  <tml@iki.fi>
271
272         * glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL
273         define to the same place where it is in a configure-generated
274         glibconfig.h
275
276 2004-11-05  Matthias Clasen  <mclasen@redhat.com>
277
278         * tests/strtod-test.c: Portability fixes and extra sanity
279         checks.  (#157453, Morten Welinder)
280
281 2004-11-04  Matthias Clasen  <mclasen@redhat.com>
282
283         * glib/gstrfuncs.c (g_ascii_strtod): Handle numbers like
284         1e1, nan, -infinity. Also try harder to preserve errno.  
285         (#156421, Morten Welinder)
286
287         * tests/strtod-test.c: Add testcases.
288
289 2004-11-04  Tor Lillqvist  <tml@iki.fi>
290
291         * glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
292         to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.
293
294         * glib/goption.c (parse_arg): Obey the above flag.
295
296         * glib/gconvert.c (g_filename_display_name): Document that the
297         result is guaranteed to be non-NULL.
298
299         * glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
300         get_contents_posix, get_contents_win32, g_file_open_tmp,
301         g_file_read_link): Use g_filename_display_name() for error
302         messages.
303         (g_mkstemp): Document that the template should be in the GLib file
304         name encoding.
305         (g_file_open_tmp): Ditto. Also document that the actual name
306         returned is also in the GLib file name encoding.
307
308 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
309
310         * glib/gconvert.c (g_filename_display_name): New function 
311         to convert a filename to a UTF-8 string for display 
312         purposes.  (requested by Alex Larsson)
313         
314         * glib/gconvert.c (g_get_filename_charsets): New function 
315         to return the encodings which are tried when converting a 
316         filename to UTF-8. (#151465, François Gagné)
317
318 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
319
320         * configure.in: Bump version
321
322         * === Released 2.5.5 ===
323
324         * NEWS: Updates
325
326 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
327
328         * glib/glib.symbols: Add new functions.
329
330         * glib/gconvert.c: Fix doc comment for 
331         g_get_filename_charsets().
332
333         * glib/gconvert.c (g_filename_display_name): New function to
334         convert a filename to a UTF-8 string for display purposes.
335         (g_get_filename_charsets): New function to return the 
336         encodings which are tried when converting a filename to 
337         UTF-8.
338
339         * glib/goption.c (g_option_context_parse): Document that
340         this function may not return.
341
342 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
343
344         * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
345         between gchar and *.
346
347 2004-11-01  Tor Lillqvist  <tml@iki.fi>
348
349         * glib/gstdio.c (g_lstat): Implement correctly also on Unix
350         systems without lstat(). (#157038, Morten Welinder)
351
352 2004-11-01  Ray Strode <rstrode@redhat.com>
353
354         * glib/gkeyfile.c:
355         (g_key_file_get_locale_string): don't return an
356         error if we come across a value with invalid utf8 or
357         if we don't find a translated string. Just fallback
358         to the untranslated string (Mark McLoughlin, bug
359         #156790).
360         
361         * glib/gkeyfile.c:
362         (g_key_file_init), (g_key_file_clear): track the
363         actual start GKeyFileGroup rather than just its name
364         (g_key_file_parse_group): allow add_group() to
365         update the start group.
366         (g_key_file_remove_group_node): update the start
367         group if it gets removed (Mark McLoughlin, bug
368         #156790).
369
370         * glib/gkeyfile.c:
371         (g_key_file_parse_string_as_value): Don't escape
372         tabs and spaces in the middle of key values.
373
374 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
375
376         * glib/gconvert.c:
377         * glib/gdebug.h
378         * glib/gutils.c
379         * gobject/gtype.c
380         * gthread/gthread-posix.c
381         * tests/timeloop-closure.c
382         * tests/timeloop.c: Fix sparse warnings.  (#157014, Kjartan Maraas)
383
384 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
385
386         * glib/goption.c: Documentation updates.
387
388         Handle conflicts between options in different groups. (#156808)
389         
390         * glib/goption.c (g_option_context_parse): When a long option does not
391         match exactly, try to parse it as --group-option.
392         (g_option_context_add_group): Warn if a group name conflict occurs.
393
394         * glib/goption.c (print_help): Print out the effective options, ie 
395         don't print shadowed short options, and for long options print
396         --group-option instead of --option if appropriate.
397
398 2004-10-31  Matthias Clasen  <mclasen@redhat.com>
399
400         * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
401         docs.
402
403 2004-10-31  Tor Lillqvist  <tml@iki.fi>
404
405         * glib/gwin32.c: Document g_win32_get_windows_version().
406
407         * glib/gstdio.[ch]: Add g_lstat().
408
409 2004-10-29  Matthias Clasen  <mclasen@redhat.com>
410
411         * glib/goption.c: Doc additions.
412
413         * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
414         Windows.
415
416 2004-10-29  Hans Breuer  <hans@breuer.org>
417
418         * glibconfig.h */makefile.msc.in : updated [and finally fixed my
419         script to produce ready to go de-in(ed) files, w/o autotools]
420
421         * */*.rc.in : updated copyrights to 2004
422
423         * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
424         use the same fallback mecahnism as on *NIX where ever applicable
425
426 2004-10-29  Matthias Clasen  <mclasen@redhat.com>
427
428         * tests/option-test.c: Add tests for the handling of
429         non-option arguments, "--" and G_OPTION_REMAINING.
430
431         * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
432         a special long option name, which can be used for an option
433         in the main group which collects the non-option arguments.
434         It must be of type G_OPTION_ARG_STRING_ARRAY or 
435         G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
436         an option whose name is G_OPTION_REMAINING, the non-option
437         arguments are left behind in argv as before.
438
439         * glib/goption.c: Add documentation.
440
441 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
442
443         * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
444         to avoid compiler warnings.  (#156767, Owen Taylor)
445
446 2004-10-29  Tor Lillqvist  <tml@iki.fi>
447
448         * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
449         with MSVC. [156727, Kazuki IWAMOTO]
450
451         * glib/giochannel.h (g_io_channel_new_file): Redefine also
452         g_io_channel_new_file to the UTF-8 version on Win32. [156725,
453         Kazuki IWAMOTO)
454
455 2004-10-28  Ray Strode  <rstrode@redhat.com>
456
457         * glib/gkeyfile.c
458         (find_file_in_data_dirs): clean up a leak (#156652,
459         Morten Welinder)
460         (g_key_file_load_from_fd): propagate fstat() error
461         conditions and retry read on EAGAIN (#156647, Morten
462         Welinder).  Return error if file is NOT regular, not if
463         it is regular (bug introduced from last commited bug
464         fix). 
465         (g_key_file_load_from_data_dirs): allocate enough space
466         for the terminating NULL.
467
468 2004-10-28  Ray Strode  <rstrode@redhat.com>
469
470         * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
471         Kazuki IWAMOTO)
472
473 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
474
475         * glib/gstdio.c: Include galias.h before glib.h (#156697,
476         Christophe Fergeau)
477
478         * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
479
480 2004-10-28  Tor Lillqvist  <tml@iki.fi>
481
482         * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
483         errno.h for errno.
484
485         * glib/gkeyfile.c: Include gstdio.h and use g_open().
486
487 2004-10-27  Ray Strode  <rstrode@redhat.com>
488
489         * glib/gkeyfile.c:
490          (g_key_file_load_from_fd), 
491          (g_key_file_load_from_file): 
492          Move file is regular check to load_from_file to use
493          fstat() instead of race prone g_file_test().  Don't
494          clear/init until needed. Change error messages to be
495          more consistent.
496          (g_key_file_load_from_data),
497          (g_key_file_load_from_data_dirs),
498          (g_key_file_parse_data),
499          (g_key_file_get_value),
500          (g_key_file_get_string),
501          (g_key_file_set_string),
502          (g_key_file_get_string_list),
503          (g_key_file_set_string_list),
504          (g_key_file_set_locale_string),
505          (g_key_file_get_locale_string),
506          (g_key_file_set_locale_string_list),
507          (g_key_file_get_boolean),
508          (g_key_file_set_boolean),
509          (g_key_file_get_boolean_list),
510          (g_key_file_set_boolean_list),
511          (g_key_file_get_integer),
512          (g_key_file_get_integer_list),
513          (g_key_file_set_integer_list),
514          (g_key_file_remove_key):
515          Add more g_return_*if_fail checks for public functions.
516
517 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
518
519         * configure.in: Bump version.
520
521         * === Released 2.5.4 ===
522
523 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
524
525         * glib/abicheck.sh: Strip Win32 specific defs file syntax.
526
527         * NEWS: Updates. 
528
529 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
530
531         Introduce the idea of a filename encoding, which is 
532         *literally* the filename encoding on Unix. On Windows, 
533         use the Unicode name converted to UTF-8. (#101792,
534         Tor Lillqvist, Owen Taylor)
535         
536         * glib/gdir.[hc]: 
537         * glib/gconvert.[hc]: 
538         * glib/gfileutils.[hc]: 
539         * glib/gutils.[hc]: 
540         * glib/giowin32.c: On Windows, keep old ABI versions 
541         of GLib pathname api for DLL ABI stability. Use different 
542         names for the new-style UTF-8 versions. Hide this through 
543         a #define.
544
545         * glib/gstdio.[hc]: New files containing wrappers for
546         POSIX pathname api.
547
548         * glib/glib.symbols: Add new symbols.
549
550         * glib/makegalias.pl: Drop Win32 specific .def syntax,
551         include gstdio.h
552
553 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
554
555         * glib/gkeyfile.c: Fix includes. (#156500, #156499, 
556         Kazuki IWAMOTO)
557
558         * glib/Makefile.am (galias.h): Fix srcdir != builddir 
559         builds.  (#156447, Thomas Fitzsimmons)
560
561 2004-10-26  Gora Mohanty  <gmohanty@cvs.gnome.org>
562
563         * configure.in: Added 'or' to ALL_LINGUAS.
564
565 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
566
567         * glib/gkeyfile.c: Include galias.h.
568         
569         * glib/gkeyfile.c (g_key_file_parse_value_as_comment): 
570         Don't compare strings and chars.
571
572         * glib/glib.symbols: Add new symbols.
573
574         * glib/gkeyfile.c (g_key_file_new): Fix docs.
575
576         * glib/gkeyfile.h: Use the same parameter names as in
577         the implementation and the docs.
578
579         * glib/gwin32.c (g_win32_get_windows_version): Make this
580         function thread-safe in the GLib style.
581         * glib/gthreadinit.h: 
582         * glib/gwin32.c (_g_win32_thread_init): New function to
583         initialize the version.
584         * glib/gthread.c (g_thread_init_glib): Call 
585         _g_win32_thread_init() from here.
586
587 2004-10-26  Ray Strode  <rstrode@redhat.com>
588
589         * glib/gkeyfile.c: Add Matthias to "Written by" lines
590          (GKeyFileGroup): add field to hold comments about groups
591          (g_key_file_load_from_fd): return TRUE on success and
592          FALSE on failure.  Don't close fd's opened by other
593          parent function.  
594          (g_key_file_load_from_file): run FILE_IS_REGULAR test
595          before trying to open file, to save an fd from being
596          leaked (would probably be better to use fstat()). Close
597          fd when done with it. Return TRUE on success and FALSE
598          on failure.
599          (g_key_file_load_from_data): Return TRUE on success and
600          FALSE on failure.
601          (g_key_file_load_from_data_dirs): remove superfluous
602          const modifier.  Return TRUE on success and FALSE on
603          failure.  Stop trying to load files when one succeeds.
604          (g_key_file_parse_key_value_pair): don't validate input
605          for UTF-8 until users uses a getter that does
606          validation.  Don't leak copy of start_group_name.
607          (g_key_file_to_data): serialize new comment field for
608          groups.
609          (g_key_file_get_keys): Remove convenience code to let
610          NULL group mean start group.  Get rid of unneeded NULL
611          check before g_strdup.
612          (g_key_file_get_groups): Reverse groups list before
613          sending to user because it is maintained in backward
614          order internally. 
615          (g_key_file_get_value),
616          (g_key_file_set_value): add g_return checks at top of
617          public functions.
618          (g_key_file_get_string), 
619          (g_key_file_get_string_list): validate key value is UTF-8.
620          (g_key_file_[sg]et_*comment): new functions for
621          setting/getting comments
622          (g_key_file_remove_comment): new function to remove
623          comment block
624          (g_key_file_remove_key_value_pair_node): new function to
625          pull a key-value pair out of the list and free it.
626          (g_key_file_remove_group_node): call
627          g_key_file_remove_key_value_pair_node instead of 
628          freeing the list immediately to get better statistics
629          for approximate_size.
630          (g_key_file_remove_group): use lookup_group_node instead
631          of lookup_group to prevent a g_list_find call.
632          (g_key_file_add_key): report group also when unable to
633          find key.
634          (g_key_file_lookup_group_node): new function to make
635          getting the group node from a group name easier.
636          (g_key_file_lookup_group): use lookup_group_node under
637          the hood.
638          (g_key_file_lookup_key_value_pair_node): new function to
639          make getting the key-value pair from a group and key
640          name eaiser.
641          (g_key_file_parse_comment_as_value): new function to add '#' to the
642          beginning of every line.
643          (g_key_file_parse_value_as_comment): new function that
644          attempts to be the inverse of comment as value.
645
646 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
647
648         * glib/gutils.c: 
649         * glib/gkeyfile.c: Don't include ctype.h needlessly.  (#156424,
650         Morten Welinder)
651
652         * tests/strtod-test.c (test_string): Improve error reporting.
653
654 Mon Oct 25 15:05:18 2004  Manish Singh  <yosh@gimp.org>
655
656         * autogen.sh: rm autom4te.cache, since it might interfere with
657         differing autoconf versions.
658
659         * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
660         user data.
661
662         * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
663         don't redefine it here.
664
665 2004-10-24  Matthias Clasen  <mclasen@redhat.com>
666
667         * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
668         destroy the lookup map if it is NULL.
669
670 2004-10-23  Matthias Clasen  <mclasen@redhat.com>
671
672         * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c, 
673         glib/giochannel.c, glib/gmain.c, glib/gspawn.c, 
674         glib/libcharset/localcharset.c: Apply a patch to fix
675         sparse warnings. (#154696, Kjartan Maraas)
676
677         * glib/gnulib/g-gnulib.h: Undef libc functions before defining
678         them, since they may also be macros.  (#155177, Andrea Campi)
679
680         * glib/gkeyfile.h: 
681         * glib/gkeyfile.c: Add a parser for desktop entries and
682         similar files with a .ini-like syntax.  (#139974, Ray Strode)
683
684         * glib/glib.h: Include gkeyfile.h
685
686         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
687         (glibsubinclude_HEADERS): Add gkeyfile.h
688
689         * glib/gutils.c (_g_compute_locale_variants): Make this 
690         non-static and use it in gkeyfile.c
691
692 2004-10-22  Matthias Clasen  <mclasen@redhat.com>
693
694         * tests/uri-test.c (run_uri_list_tests): Add some
695         uri list tests.c.
696
697         * glib/gconvert.h:
698         * glib/gconvert.c (g_uri_list_extract_uris): New function to
699         split a text/uri-list data into individual uris and strip comments.
700
701 2004-10-20  Matthias Clasen  <mclasen@redhat.com>
702
703         * glib/goption.c (get_change): Don't return the wrong 
704         change.  (#155856, Lucas Rocha)
705
706 2004-10-17  Matthias Clasen  <mclasen@redhat.com>
707
708         * glib/gutils.h (G_IS_DIR_SEPARATOR): 
709         * glib/gutils.c: Make public.  (#155589, Tim-Philipp Müller) 
710
711 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
712
713         * glib/gmain.c (g_child_watch_add_full): 
714         * glib/gmain.c (g_child_watch_add): Document that GLib supports only
715         a single callback per pid. (#154828, Gustavo Carneiro)
716
717 2004-10-06  Matthias Clasen  <mclasen@redhat.com>
718
719         * glib/gfileutils.c: Fix some C99isms.  (#154676, Kjartan Maraas)
720
721 2004-10-05  Anders Carlsson  <andersca@gnome.org>
722
723         * glib/goption.c: (g_option_context_parse):
724         Add check for if argc is 0.
725         
726         * tests/option-test.c: (empty_test3), (main):
727         Add test case.
728         
729 2004-10-05  Matthias Clasen  <mclasen@redhat.com>
730
731         * NEWS: Update
732
733 2004-10-04  Matthias Clasen  <mclasen@redhat.com>
734
735         * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
736         vtable is set.  (#154352, Philippe Blain)
737
738 2004-10-03  Anders Carlsson  <andersca@gnome.org>
739
740         * glib/goption.c: (parse_arg):
741         Set arg_data on filenames. (Discovered by Mats-Ola Persson).
742         
743         * tests/option-test.c: (arg_test3), (ignore_test3), (main):
744         Add test for filename args.
745         
746 2004-10-01  Tor Lillqvist  <tml@iki.fi>
747
748         * glib/goption.c (g_option_context_parse): Use
749         g_path_get_basename() instead of strrchr(), so that either slash
750         is accepted on Windows.
751
752 2004-09-30  Matthias Clasen  <mclasen@redhat.com>
753
754         * glib/gfileutils.c: Convert filenames to UTF-8 before 
755         putting them in GErrors.  (#154078, Morten Welinder)
756
757 2004-09-29  Matthias Clasen  <mclasen@redhat.com>
758
759         * glib/glib.symbols: Add g_assert_warning.
760
761         * glib/gmessages.h:
762         * glib/gmessages.c (g_assert_warning): Treat g_assert 
763         in the same way as g_return_if_fail and move the string 
764         constants into a helper function, which also takes 
765         care of removing the "IA__" prefix from internal aliases.
766
767         * glib/gmessages.h: Move the declaration of 
768         g_return_if_fail_warning() out of the ifdefs, so that
769         building with G_DISABLE_ASSERT works.
770
771 2004-09-27  Murray Cumming  <murrayc@murrayc.com>
772
773         * glib/goptions.[h|c], glib/glib.symbols: Rename 
774         g_context_option_error_quark() to g_option_error_quark(), because that 
775         is consistent with normal naming conventions, and what bindings expect.
776
777 .2004-09-26  Matthias Clasen  <mclasen@redhat.com>
778
779         Fix #153649, Hidetaka Iwai:
780         
781         * glib/goption.c (parse_long_option): Don't forget to set parsed
782         to TRUE when parsing a long ARG_NONE option. 
783         (free_changes_list): Fix the memory management for string
784         and filename arrays.
785
786 2004-09-22  Tor Lillqvist  <tml@iki.fi>
787
788         * glib/gmessages.c: [Win32] Don't ever open a console
789         window. (Which we used to do if standard output or standard error
790         are invalid, as they are for GUI applications.) These console
791         windows that open up unexpectedly have caused endless amounts of
792         confusion among end-users. (#141102, #151175)
793
794         Don't output the process id on Windows. Only output the program
795         name. If not set with g_set_prgname(), fetch the application
796         executable's name and use that.
797
798 Mon Sep 20 00:35:14 2004  Matthias Clasen  <maclas@gmx.de>
799
800         * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
801         convert UTF-16 byte stream of ambiguous endianness.  (#152954,
802         Linus Walleij)
803
804 Mon Sep 20 00:17:37 2004  Matthias Clasen  <maclas@gmx.de>
805
806         * tests/option-test.c (error_test3_post_parse): 
807         * tests/option-test.c (error_test2_post_parse): 
808         * tests/option-test.c (error_test1_post_parse): Don't call 
809         g_set_error () with a NULL format.  (#153103, Robert Ögren) 
810
811 Mon Sep 20 00:13:48 2004  Matthias Clasen  <maclas@gmx.de>
812
813         Make GOption remove long options completely. (#153113, Robert Ögren)
814
815         * glib/goption.c (parse_long_option): Fix a wrong index.
816
817         * tests/option-test.c (ignore_test3): Test handling of unknown
818         options some more.
819
820 Sun Sep 19 23:56:15 2004  Matthias Clasen  <maclas@gmx.de>
821
822         * glib/goption.c (g_option_context_parse): Call error_func
823         on error, not post_parse_func again.  (#153107, Robert Ögren)
824
825 Sun Sep 19 23:52:35 2004  Matthias Clasen  <maclas@gmx.de>
826
827         * glib/gmessages.c (mklevel_prefix): 
828         * glib/gmessages.c (g_logv): Fix the types of some variables
829         to be GLogLevelFlags instead of guint.  (#153042, Philippe Blain)
830
831 2004-09-18  Matthias Clasen  <mclasen@redhat.com>
832
833         * Version bump
834
835         * === Released 2.5.3 ===
836
837 2004-09-17  Matthias Clasen  <mclasen@redhat.com>
838
839         * NEWS: More updates.
840
841 Thu Sep 16 18:42:46 2004  Manish Singh  <yosh@gimp.org>
842
843         * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
844         the third field.
845
846 Thu Sep 16 18:15:32 2004  Manish Singh  <yosh@gimp.org>
847
848         * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
849         of characters, instead of a gsize. Technically this is incorrect,
850         but this makes it match the prototype, and this is a deprecated
851         function anyway.
852
853 2004-09-16  Matthias Clasen  <mclasen@redhat.com>
854
855         * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
856
857 Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>
858
859         Implement the same PLT reduction technique used in GTK+:
860         
861         * glib/glib.symbols: Master list of symbols
862
863         * glib/makegalias.pl: Perl script which creates galias.h
864
865         * glib/abicheck.sh: Compares actual exports against glib.symbols 
866
867         * glib/glib.def: Removed. This file is now generated from
868         glib.symbols
869         
870         * glib/Makefile.am: Add rules to generate galias.h and glib.def,
871         and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
872         
873         * configure.in: Add --disable-visibility to suppress the 
874         use of ELF visibility attributes.
875
876         * glib/*.c: Include galias.h
877
878 2004-09-15  Tor Lillqvist  <tml@iki.fi>
879
880         * glib/gwin32.c (g_win32_error_message): Convert message to
881         UTF-8. Technically this breaks API, but the actual use cases in
882         gdk/win32 have assumed it is UTF-8 anyway. Fix
883         documentation. (#152618, Kazuki Iwamoto)
884
885         * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
886         good idea, and it clashes with newest mingw headers, which have a
887         ftruncate implementation as an inline function. Thanks to Dominik R.
888
889         * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
890         call _chsize() in the C library.
891
892 2004-09-15  Matthias Clasen  <mclasen@redhat.com>
893
894         * NEWS: Update.
895
896 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
897
898         * glib/gmessages.c (g_return_if_fail_warning): Strip the
899         prefix "IA__" from function names, since that is what
900         GTK+ uses for the PLT-reduction aliases. 
901
902 Thu Sep  9 13:52:26 2004  Owen Taylor  <otaylor@redhat.com>
903
904         * glib/gmessages.c (g_return_if_fail_warning): 
905         Include implementation of g_return_if_fail_internal().
906
907 Thu Sep  9 10:37:41 2004  Owen Taylor  <otaylor@redhat.com>
908
909         * glib/gmessages.h (g_return_[val_]if_fail): Use
910         a helper function to reduce code size; omit FILE/LINE
911         when we have __PRETTY_FUNCTION__.
912
913 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
914
915         * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
916
917 Thu Sep  9 00:10:40 2004  Matthias Clasen  <maclas@gmx.de>
918
919         * glib/gstrfuncs.h: 
920         * glib/gstrfuncs.c (g_strv_length): Add a function to 
921         calculate the length of a NULL-terminated string 
922         array.  (#150455, Tim-Philipp Müller)
923
924         * tests/strfunc-test.c (main): Add a test for g_strv_length().
925
926 2004-09-08  Tor Lillqvist  <tml@iki.fi>
927
928         * glib/gutils.c (guess_category_value): On Win32, as last resort
929         call g_win32_getlocale() to get the current thread locale. There
930         usually aren't any POSIXish LANG or LC_* environment variables
931         present on Windows machines.
932
933         * glib/glib.def: Add g_get_language_names.
934
935 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
936
937         * glib/gutils.h: 
938         * glib/gutils.c (g_get_language_names): Add a function to
939         return a list of applicable locale names.  (#95587, 
940         Hidetoshi Tajima)
941         (guess_category_value, compute_locale_variants):
942         (explode_locale, unalias_lang, read_aliases): Helper 
943         functions for g_get_language_names()
944
945         * tests/testglib.c (main): Show the results of 
946         g_get_language_names()
947
948 Sun Sep  5 01:46:11 2004  Matthias Clasen  <maclas@gmx.de>
949
950         * glib/glib.def: 
951         * glib/gmessages.h: 
952         * glib/gmessages.c (g_log_set_default_handler): New
953         function to install an alternate default log 
954         handler.  (#66387, Darin Adler)
955
956 2004-09-03  Tor Lillqvist  <tml@iki.fi>
957
958         * glib/glib.def: Update.
959
960 Wed Sep  1 20:22:39 2004  Matthias Clasen  <maclas@gmx.de>
961
962         * glib/gdate.h:
963         * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
964         a function to calculate the ISO 8601 week number of 
965         a date.  (#92579, Niklas Lundell)
966
967 2004-09-01  Anders Carlsson  <andersca@gnome.org>
968
969         * glib/goption.c: (g_option_context_parse):
970         Set program name before calling the pre-parse hooks.
971         
972 2004-09-01  Anders Carlsson  <andersca@gnome.org>
973
974         * glib/goption.c: (g_option_context_free), (print_help),
975         (g_option_context_parse):
976         Handle option contexts without a main group.
977         
978         * tests/option-test.c: (empty_test2), (main):
979         Add test case for that.
980         
981 2004-08-30  Anders Carlsson  <andersca@gnome.org>
982
983         * glib/goption.c: (g_option_context_parse):
984         Set prgname to <unknown> if argc and argv are NULL.
985         
986         * tests/option-test.c: (empty_test1), (main):
987         Add test case for that.
988         
989 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
990
991         * glib/ghash.c (g_hash_table_lookup): Point to 
992         g_hash_table_lookup_extended() for differentiation between
993         not-found and value-is-NULL.  (#150960, Morten Welinder)
994
995 2004-08-27  Matthias Clasen  <mclasen@redhat.com>
996
997         Fix #151193, Stepan Kasal:
998         
999         * glib/gfileutils.c (g_file_error_from_errno): 
1000         * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
1001
1002 Fri Aug 27 00:45:41 2004  Matthias Clasen  <maclas@gmx.de>
1003
1004         * glib/goption.c (g_option_context_parse): Set the program name
1005         from argv[0], noticed by Masatake YAMATO.
1006
1007 2004-08-26  Tor Lillqvist  <tml@iki.fi>
1008
1009         * tests/testglib.c (main): Test the new XDG basedir functions.
1010
1011 2004-08-25  Tor Lillqvist  <tml@iki.fi>
1012
1013         * glib/gwin32.c (g_win32_get_windows_version): New
1014         function. Returns the Windows version code like GetVersion(),
1015         except that one can pretend to be running on Win9x by setting the
1016         G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
1017         debugging purposed.
1018
1019         * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED 
1020         and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
1021
1022 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
1023
1024         * configure.in: Post-release version bump.
1025
1026         * === Released 2.5.2 ===
1027
1028 Wed Aug 25 00:25:08 2004  Matthias Clasen  <maclas@gmx.de>
1029
1030         * NEWS: Update for 2.5.2
1031
1032 2004-08-25  Tor Lillqvist  <tml@iki.fi>
1033
1034         Win32 equivalences of the XDG folders
1035         
1036         * glib/gutils.c (get_special_folder): New function, calls
1037         SHGetSpecialFolderLocation() to get path to places like the My
1038         Documents folder.
1039         (g_get_any_init): Use CSIDL_PROFILE as HOME if not
1040         overridden by env vars.
1041         (g_get_user_data_dir): Use CSIDL_PERSONAL.
1042         (g_get_user_config_dir): Use CSIDL_APPDATA.
1043         (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
1044         (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
1045         CSIDL_COMMON_DOCUMENTS.
1046         (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
1047
1048         * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
1049
1050         * glib/glib.def: Add the new functions.
1051
1052 Mon Aug 23 16:16:35 2004  Manish Singh  <yosh@gimp.org>
1053
1054         * glib/goption.c (g_option_group_add_entries): remove unused
1055         variable.
1056
1057 Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
1058
1059         * glib/gutils.c (g_get_user_cache_dir): 
1060         * glib/gutils.c (g_get_user_config_dir): 
1061         * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
1062         while holding the g_utils_global lock, simply use g_home_dir. 
1063         (#150695, Jody Goldberg)
1064
1065 2004-08-21  Tor Lillqvist  <tml@iki.fi>
1066
1067         * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
1068         break out of its loop. Prevents a thread leak. (#147392, Peter
1069         Zelezny)
1070
1071         * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
1072         return value from strxfrm(). For instance Microsoft's strxfrm()
1073         returns INT_MAX on errors. (#141124)
1074
1075 2004-08-19  Tor Lillqvist  <tml@iki.fi>
1076
1077         * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
1078         source and destination charset parameter order in g_convert()
1079         call. (#150394, possibly also #141124)
1080
1081 2004-08-20  Jon K Hellan  <hellan@acm.org>
1082
1083         * glib/goption.h: Remove trailing commas.
1084
1085 2004-08-17  Matthias Clasen  <mclasen@redhat.com>
1086
1087         * configure.in: Check for all four values of the
1088         visibility attribute; gcc 2.96 seems to miss 
1089         "default".  (#150379, Vincent Noel)
1090
1091 2004-08-16  Christian Rose  <menthos@menthos.com>
1092
1093         * configure.in: Added "bs" to ALL_LINGUAS.
1094
1095 2004-08-11  Ray Strode  <rstrode@redhat.com>
1096
1097         * docs/reference/glib/glib-sections.txt: 
1098         * glib/gutils.[ch] (g_get_user_data_dir),
1099         (g_get_user_config_dir), (g_get_user_cache_dir),
1100         (g_get_system_data_dirs), (g_get_system_config_dirs): 
1101         Add new XDG basedir API (bug 139973).
1102
1103 2004-08-10  Matthias Clasen  <mclasen@redhat.com>
1104
1105         * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
1106         * configure.in: Check whether the visibility attribute
1107         works and define G_HAVE_GNUC_VISIBILITY and 
1108         G_GNUC_INTERNAL in glibconfig.h correspondingly.
1109
1110 Mon Aug  9 17:37:56 2004  Matthias Clasen  <maclas@gmx.de>
1111
1112         * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
1113
1114 2004-08-06  Hans Breuer  <hans@breuer.org>
1115
1116         * glib/makefile.msc.in glib/glib.def : updated
1117
1118         * glib/gutils.c : avoid 'inconsitent dll linkage' by not
1119         defining extern char** environ with msvc
1120
1121 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
1122
1123         * m4macros/glib-gettext.m4: Require ngettext.  (#123847,
1124         Danilo Segan)
1125
1126 Thu Aug  5 20:53:00 2004  Ray Strode  <rstrode@redhat.com>
1127
1128         * glib/gutils.h (g_get_codeset): strdup result so caller
1129         doesn't free internally managed memory.
1130
1131 2004-08-04  Tor Lillqvist  <tml@iki.fi>
1132
1133         * glib/glib.def: Add glib_check_version.
1134
1135         * config.h.win32.in: Update to match what configure produces. Add
1136         the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
1137         HAVE_INT64_AND_I64 to where the configure script puts it. Add
1138         HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
1139
1140 Tue Aug  3 16:19:44 2004  Matthias Clasen  <maclas@gmx.de>
1141
1142         * glib/goption.c: Mark user visible strings for translation.
1143
1144 Tue Aug  3 15:50:55 2004  Matthias Clasen  <maclas@gmx.de>
1145
1146         * glib/goption.[hc]: Pedantically use g types throughout.
1147
1148 Tue Aug  3 14:58:20 2004  Matthias Clasen  <maclas@gmx.de>
1149
1150         * glib/gutils.h: 
1151         * glib/gutils.c (glib_check_version): New function to
1152         check the version of GLib at runtime.  (#149175, Michael Natterer)
1153
1154 2004-08-03  Anders Carlsson  <andersca@gnome.org>
1155
1156         * glib/goption.h:
1157         * glib/gtypes.h:
1158         Move GTranslateFunc to gtypes.h
1159         
1160 2004-08-02  Anders Carlsson  <andersca@gnome.org>
1161
1162         * glib/Makefile.am:
1163         * glib/glib.h:
1164         * glib/goption.c:
1165         * glib/goption.h:
1166         * tests/.cvsignore:
1167         * tests/Makefile.am:
1168         * tests/option-test.c: 
1169         Add GOption.
1170
1171 2004-08-02  Matthias Clasen  <mclasen@redhat.com>
1172
1173         * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
1174         declarations as internal and avoid PLT indirections for 
1175         them.  (#145465, Arjan van de Ven)
1176
1177         * glib/gunicodeprivate.h: 
1178         * glib/gthreadinit.h: 
1179         * glib/gmessages.h: 
1180         * glib/gdebug.h: 
1181         * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
1182         _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
1183         _g_messages_thread_init(), _g_convert_thread_init(), 
1184         _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
1185         _g_mem_thread_private_init(), _g_messages_thread_private_init(),
1186         _g_utf8_normalize_wc() and _g_unichar_combining_class().
1187
1188         * glib/gatomic.c: Include gthreadinit.h here to see the declaration
1189         for _g_atomic_thread_init().
1190
1191 Sun Aug  1 13:19:18 2004  Manish Singh  <yosh@gimp.org>
1192
1193         * tests/uri-test.c: move newline printing from run_from_uri_tests()
1194         to run_roundtrip_tests().
1195
1196 2004-08-01 Matthias Clasen  <mclasen@redhat.com>
1197
1198         * Post-release version bump
1199
1200         * === Released 2.5.1 ===
1201
1202 Sat Jul 31 23:17:05 2004  Matthias Clasen  <maclas@gmx.de>
1203
1204         * NEWS: Updates.
1205
1206 Sat Jul 31 20:33:07 2004  Matthias Clasen  <maclas@gmx.de>
1207
1208         * tests/shell-test.c: Include a test involving consecutive
1209         backslashes followed by a non-escaped doublequote.
1210         
1211         * glib/gshell.c (tokenize_command_line): Count consecutive
1212         backslashes mod 2 to detect escaped doubleqotes.  (#127306)
1213
1214 2004-07-30  Matthias Clasen  <mclasen@redhat.com>
1215
1216         * glib/gconvert.c (g_unescape_uri_string): Don't validate
1217         for UTF-8 here.  (#148420, Robert Ögren)
1218
1219         * tests/uri-test.c (run_roundtrip_tests): Add tests for 
1220         roundtrip compatibility. Going from filename to uri and 
1221         back should always give you the same filename back. 
1222
1223 2004-07-28  Matthias Clasen  <mclasen@redhat.com>
1224
1225         * tests/markups/valid-{9,10,11}.gmarkup: 
1226         * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
1227         of whitespace inside tags.
1228
1229         * glib/gmarkup.c (enum GMarkupParseState): Add 
1230         STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
1231         (g_markup_parse_context_parse): Accept whitespace between
1232         attribute names, '=' and attribute values and between
1233         close tag name and '>'. (#148646, Hiroyuki Ikezoe)
1234
1235 Tue Jul 27 02:01:31 2004  Matthias Clasen  <maclas@gmx.de>
1236
1237         * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
1238         as well.
1239
1240 Sat Jul 24 17:50:07 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1241
1242         * glib/gstrfuncs.c (g_strsplit_set):
1243         s/g_strtokenize/g_strsplit_set/ in docs.
1244
1245 Fri Jul 23 10:37:50 2004  Matthias Clasen  <maclas@gmx.de>
1246
1247         * tests/type-test.c (main): Actually test G_MAXSIZE with
1248         a gsize variable.
1249
1250 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
1251
1252         Fix #132858, Sven Neumann, patch by James Henstridge:
1253         
1254         * glib-gettextize.in: modify so that mkinstalldirs will 
1255         get installed into auxdir.
1256
1257         * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
1258
1259 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
1260
1261         Fix #147651, reported by Oliver Guntermann:
1262
1263         * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
1264         _g_gnulib_vasprintf() in a macro, since they behave 
1265         differently wrt. to memory allocation.
1266
1267         * glib/gprintf.c (g_vasprintf): Instead, differentiate 
1268         here between the three cases: system vasprintf(), 
1269         _g_gnulib_vasprintf(), no vasprintf().  
1270
1271 2004-07-20  Crispin Flowerday  <gnome@flowerday.cx>
1272
1273         * NEWS: Fix a typo in my name
1274
1275 Tue Jul 20 04:31:40 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1276
1277         * configure.in: Bump version number
1278
1279 Sun Jul 18 19:40:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1280
1281         * === Released 2.5.0 ===
1282
1283         * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
1284
1285 Sun Jul 18 01:40:28 2004  Matthias Clasen  <maclas@gmx.de>
1286
1287         * NEWS: Updates for 2.5.0
1288
1289 Mon Jul 12 00:02:40 2004  Matthias Clasen  <maclas@gmx.de>
1290
1291         * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
1292
1293 2004-07-09  Matthias Clasen  <mclasen@redhat.com>
1294
1295         * glib/gdir.c (g_dir_open): Convert filename to UTF-8 
1296         before using it in the error message.  (#146054, Federico
1297         Mena Quintero)
1298
1299 Thu Jul  8 00:54:32 2004  Matthias Clasen  <maclas@gmx.de>
1300
1301         * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
1302         be built without anyway.  (#135899, Murray Cumming)
1303
1304 Mon Jul  5 18:50:27 2004  Matthias Clasen  <maclas@gmx.de>
1305
1306         * glib/gmessages.h (g_debug): Complete the g_log() 
1307         family.  (#135730, Sven Herzberg)
1308
1309 Mon Jul  5 18:42:30 2004  Matthias Clasen  <maclas@gmx.de>
1310
1311         * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to 
1312         make srcdir != . work.  (#145166, Kaz Sasayama)
1313
1314 Sun Jul  4 01:52:18 2004  Matthias Clasen  <maclas@gmx.de>
1315
1316         * configure.in: Use a small test library instead of
1317         libpthread.so for testing RTLD_GLOBAL brokenness.  (#139567,
1318         Julio M. Merino Vidal)
1319         
1320 2004-07-02  Sebastian Wilhelmi  <seppi@seppi.de>
1321
1322         * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
1323         __volatile__ to make the file consistent. Spotted by Benoit
1324         Carpentier <gtkool_2kx@yahoo.fr>.
1325
1326 2004-07-01  John Ehresman  <jpe@wingide.com>
1327
1328         * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1329         Initialize reset_send & reset_recv fields and don't close
1330         sockets unless they were created.  (#145153)
1331
1332 Fri Jun 11 22:56:46 2004  Matthias Clasen  <maclas@gmx.de>
1333
1334         * glib/gscanner.c (g_scanner_get_token_ll): Ignore a 
1335         missing newline at EOF for single line comments.  
1336         (#83674, Sven Neumann)
1337
1338 Thu Jun 10 23:38:02 2004  Matthias Clasen  <maclas@gmx.de>
1339
1340         * tests/printf-test.c (TEST): Actually set any_failed on 
1341         failure.  (#143552, Philippe Blain)
1342
1343 2004-06-09  Federico Mena Quintero  <federico@ximian.com>
1344
1345         * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1346         for URIs that *should* have been invalid, or viceversa.
1347         (from_uri_tests): Likewise.
1348
1349 2004-06-07  Federico Mena Quintero  <federico@ximian.com>
1350
1351         Fixes #140532.
1352
1353         * glib/gconvert.c (is_asciialphanum): Renamed from
1354         is_escalphanum(); ensures that this is an ASCII character.
1355         (is_asciiescalpha): Renamed from is_escalpha().
1356         (hostname_validate): Use the two functions above.
1357         (g_filename_to_uri): Don't convert the filename to UTF-8.
1358         (g_filename_from_uri): Don't convert the filename from UTF-8.
1359
1360 Mon Jun  7 22:25:24 2004  Matthias Clasen  <maclas@gmx.de>
1361
1362         * tests/run-markup-tests.sh: Default to silence, but support
1363         a -v argument to get the old output back. 
1364
1365 2004-06-06  Tor Lillqvist  <tml@iki.fi>
1366
1367         * glib/gutils.c (g_get_any_init): Check home for being
1368         NULL. (#143812, Ivan Wong)
1369
1370 Sun Jun  6 15:23:00 2004  Pawan Chitrakr  <pawan@nplinu.org>
1371
1372         * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1373
1374 Fri Jun  4 19:26:47 2004  Manish Singh  <yosh@gimp.org>
1375
1376         * glib/galloca.h: cpp #directives should always have the "#" in the
1377         first column of the the line. Do that for "#pragma alloca". Fixes
1378         bug #143744.
1379
1380 Wed Jun  2 00:57:16 2004  Matthias Clasen  <maclas@gmx.de>
1381
1382         * glib/gtypes.h: Use higher precision for the mathematical
1383         constants.  (#141941, Morten Welinder)
1384
1385 Tue Jun  1 22:01:40 2004  Matthias Clasen  <maclas@gmx.de>
1386
1387         * glib/gmarkup.c (advance_char): Fix an off-by-one error 
1388         in g_markup_parse_context_parse().  (#142794, Morten Welinder)
1389
1390 Sun May 16 23:23:29 2004  Matthias Clasen  <maclas@gmx.de>
1391
1392         Merged from 2.4:
1393         
1394         * glib/gcompletion.c (g_completion_add_items):
1395         (g_completion_remove_items): Remove unnecessary 
1396         checks.  (#142559, Morten Welinder)
1397
1398 2004-05-15  Tor Lillqvist  <tml@iki.fi>
1399
1400         * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1401         is an absolute path and exists. (#138618)
1402
1403 2004-05-14  Tor Lillqvist  <tml@iki.fi>
1404
1405         * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1406         for precision correctly. (#142400)
1407
1408         For backward compatibility with the Trio implementation, make "ll"
1409         format modifer work on Win32, too. Change into "I64" before
1410         passing to the system printf. (#142433)
1411
1412         * tests/printf-test.c (main): Add tests for the above.
1413
1414 2004-05-10  Matthias Clasen  <mclasen@redhat.com>
1415
1416         Merge from 2.4:
1417         
1418         * glib/gmain.c (block_source, unblock_source): Make these 
1419         static.  (#142230, Morten Welinder)
1420
1421 2004-05-10  Tor Lillqvist  <tml@iki.fi>
1422
1423         * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1424         lines. Thanks to Benoît Carpentier.
1425
1426 Sun May  9 02:04:14 2004  Matthias Clasen  <maclas@gmx.de>
1427
1428         Merge from 2.4:
1429         
1430         * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1431         memleak.  (#141998, Nikolai Weibull)
1432
1433 Sat May  8 23:02:26 2004  Matthias Clasen  <maclas@gmx.de>
1434
1435         Merge from 2.4:
1436         
1437         * glib/gutils.h: Remove vestigial g_get_codeset().
1438         * glib/gutils.c (g_get_codeset): Call g_get_charset().
1439         (#137703, Owen Taylor)
1440
1441 2004-05-06  Matthias Clasen  <mclasen@redhat.com>
1442
1443         * configure.in: Bump version number to 2.5.0.
1444
1445 Wed May  5 23:35:44 2004  Matthias Clasen  <maclas@gmx.de>
1446
1447         * glib/gconvert.c (g_filename_from_uri): Quote the file
1448         scheme to mark it as untranslatable. String change.  
1449         (#133144, Danilo Segan)
1450
1451 2004-05-03  Pablo Saratxaga  <pablo@mandrakesoft.com>
1452
1453         * configure.in: Added Walloon (wa) to ALL_LINGUAS
1454
1455 Sun May  2 03:51:59 2004  Manish Singh  <yosh@gimp.org>
1456
1457         * glib/gtypes.h: check for __pentium4__ when deciding whether to
1458         use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1459
1460 2004-05-01  Hans Breuer  <hans@breuer.org>
1461
1462         * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1463         fixes #141563, Steve Lhomme
1464
1465 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
1466
1467         * === Released 2.4.1 ===
1468
1469         * configure.in: Version 2.4.1, interface age 1. 
1470
1471         * NEWS: Updates
1472         
1473 2004-04-25  Tor Lillqvist  <tml@iki.fi>
1474
1475         * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1476         Plug memory leak. (#140770, John Ehresman)
1477
1478 2004-04-23  Matthias Clasen  <mclasen@redhat.com>
1479
1480         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): 
1481         Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1482         point.  (#139134, Piotr Klaban)
1483
1484         * glib/gconvert.c (open_converter): Don't call g_strerror() here, 
1485         since it can lead to infinite recursion.  (#139133, Piotr Klaban)
1486
1487 2004-04-22  Matthias Clasen  <mclasen@redhat.com>
1488
1489         * tests/testglib.c (main): Trivial warning fix.  (#140345)
1490
1491         * tests/queue-test.c (main): Add some tests for off-by-one errors.
1492
1493         * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one 
1494         error.  (#139703, Philippe Blain)
1495
1496         * tests/testglib.c (main): Add testcases for g_message() involving
1497         non-printable and unsafe characters.
1498
1499         * glib/gmessages.c (escape_string): Don't assume that
1500         string->str remains unchanged over g_string_insert() 
1501         calls.  (#139030, Christophe Saout)
1502
1503         * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a 
1504         locale-specific decimal separator directly follows a 
1505         number.  (#138424, Nickolay V. Shmyrev)
1506
1507         * tests/strtod-test.c (main): Add some more testcases.
1508
1509         * glib/gmain.c (g_main_context_query): Only set time_is_current to 
1510         FALSE if context->timeout is not zero.  (#137795, Christian Krause)
1511
1512 2004-04-21  Matthias Clasen  <mclasen@redhat.com>
1513
1514         * tests/printf-test.c (main): Comment out a nonessential testcase
1515         which fails on HP-UX.  (#136283, Jonas Jonsson)
1516
1517 2004-04-15  Matthias Clasen  <mclasen@redhat.com>
1518
1519         * tests/patterntest.c (main): Add tests for the empty pattern.
1520
1521         * glib/gpattern.c (g_pattern_spec_new): Don't read and write out 
1522         of bounds when the pattern is empty.  (#140032, Stanislav Brabec,
1523         Stefan Fent)
1524
1525 2004-04-10  Tor Lillqvist  <tml@iki.fi>
1526
1527         * glib/gwin32.c (g_win32_getlocale): Add new language and
1528         sublanguage codes, from GNU gettext. (#137958)
1529         
1530         * glib/giowin32.c
1531         * glib/gmain.c
1532         * glib/gstrfuncs.c
1533         * glib/gthread.c: Decorating variable definitions with
1534         __declspec(dllexport) causes problems on Cygwin build, and isn't
1535         really needed for a native Win32 build with mingw or MSVC, so
1536         remove. (#138402, Roger Leigh)
1537
1538         * glib/libcharset/localcharset.c: Use Win32-specific code also on
1539         Cygwin.
1540         * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1541         on Cygwin, either. (#138412, Roger Leigh)
1542
1543 2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>
1544
1545         * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1546
1547 2004-04-03  Tor Lillqvist  <tml@iki.fi>
1548
1549         * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1550         found on Cygwin, they don't work. (#138401, Roger Leigh)
1551
1552 2004-03-31  Tor Lillqvist  <tml@iki.fi>
1553
1554         * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1555         Leigh)
1556
1557         * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1558         on Cygwin. (#138423, Roger Leigh)
1559
1560 2004-03-30  Adam Weinberger  <adamw@gnome.org>
1561
1562         * configure.in: Added en_CA to ALL_LINGUAS.
1563
1564 2004-03-21  Tor Lillqvist  <tml@iki.fi>
1565
1566         * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1567         cases where a drive letter is present. For 'a:' or 'a:foo', return
1568         'a:.'. This is mostly just for consistency with the behaviour
1569         without a drive letter. But very important is to for 'a:\foo' or
1570         'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1571         instead of backslashes.) (#137316)
1572
1573         * tests/dirname-test.c (main): More complete testing on Win32. If
1574         a test fails, include expected and actual result in error message.
1575
1576 Fri Mar 19 15:21:09 2004  Owen Taylor  <otaylor@redhat.com>
1577
1578         * glib/gmain.c: Fix the accidental revert of the
1579         fixes from #112222 that happened when the GChildWatch
1580         code was added. (Caught by Christian Persch)
1581
1582 Fri Mar 19 11:07:06 2004  Owen Taylor  <otaylor@redhat.com>
1583
1584         * tests/atomic-test.c (main): Make computation
1585         of "biggest_pointer" vaguely more portable.
1586         (#137498, Jonas Jonsson)
1587
1588 2004-03-16  Tor Lillqvist  <tml@iki.fi>
1589
1590         * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1591         on Win32) case, where the 64-bit type is called long long, but the
1592         system printf/scanf format modifier for 64-bit integers is still I64.
1593
1594 2004-03-16  Gareth Owen  <gowen72@yahoo.com>
1595
1596         * configure.in: Added en_GB to ALL_LINGUAS
1597