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