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