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