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