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