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