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