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