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