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