Include also <direct.h> for mkdir() prototype with MSVC. [156727, Kazuki
[platform/upstream/glib.git] / ChangeLog.pre-2-6
1 2004-10-29  Tor Lillqvist  <tml@iki.fi>
2
3         * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
4         with MSVC. [156727, Kazuki IWAMOTO]
5
6         * glib/giochannel.h (g_io_channel_new_file): Redefine also
7         g_io_channel_new_file to the UTF-8 version on Win32. [156725,
8         Kazuki IWAMOTO)
9
10 2004-10-28  Ray Strode  <rstrode@redhat.com>
11
12         * glib/gkeyfile.c
13         (find_file_in_data_dirs): clean up a leak (#156652,
14         Morten Welinder)
15         (g_key_file_load_from_fd): propagate fstat() error
16         conditions and retry read on EAGAIN (#156647, Morten
17         Welinder).  Return error if file is NOT regular, not if
18         it is regular (bug introduced from last commited bug
19         fix). 
20         (g_key_file_load_from_data_dirs): allocate enough space
21         for the terminating NULL.
22
23 2004-10-28  Ray Strode  <rstrode@redhat.com>
24
25         * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
26         Kazuki IWAMOTO)
27
28 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
29
30         * glib/gstdio.c: Include galias.h before glib.h (#156697,
31         Christophe Fergeau)
32
33         * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
34
35 2004-10-28  Tor Lillqvist  <tml@iki.fi>
36
37         * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
38         errno.h for errno.
39
40         * glib/gkeyfile.c: Include gstdio.h and use g_open().
41
42 2004-10-27  Ray Strode  <rstrode@redhat.com>
43
44         * glib/gkeyfile.c:
45          (g_key_file_load_from_fd), 
46          (g_key_file_load_from_file): 
47          Move file is regular check to load_from_file to use
48          fstat() instead of race prone g_file_test().  Don't
49          clear/init until needed. Change error messages to be
50          more consistent.
51          (g_key_file_load_from_data),
52          (g_key_file_load_from_data_dirs),
53          (g_key_file_parse_data),
54          (g_key_file_get_value),
55          (g_key_file_get_string),
56          (g_key_file_set_string),
57          (g_key_file_get_string_list),
58          (g_key_file_set_string_list),
59          (g_key_file_set_locale_string),
60          (g_key_file_get_locale_string),
61          (g_key_file_set_locale_string_list),
62          (g_key_file_get_boolean),
63          (g_key_file_set_boolean),
64          (g_key_file_get_boolean_list),
65          (g_key_file_set_boolean_list),
66          (g_key_file_get_integer),
67          (g_key_file_get_integer_list),
68          (g_key_file_set_integer_list),
69          (g_key_file_remove_key):
70          Add more g_return_*if_fail checks for public functions.
71
72 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
73
74         * configure.in: Bump version.
75
76         * === Released 2.5.4 ===
77
78 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
79
80         * glib/abicheck.sh: Strip Win32 specific defs file syntax.
81
82         * NEWS: Updates. 
83
84 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
85
86         Introduce the idea of a filename encoding, which is 
87         *literally* the filename encoding on Unix. On windows, 
88         use the Unicode name converted to UTF-8. (#101792,
89         Tor Lillqvist, Owen Taylor)
90         
91         * glib/gdir.[hc]: 
92         * glib/gconvert.[hc]: 
93         * glib/gfileutils.[hc]: 
94         * glib/gutils.[hc]: 
95         * glib/giowin32.c: On Windows, keep old ABI versions 
96         of GLib pathname api for DLL ABI stability. Use different 
97         names for the new-style UTF-8 versions. Hide this through 
98         a #define.
99
100         * glib/gstdio.[hc]: New files containing wrappers for
101         POSIX pathname api.
102
103         * glib/glib.symbols: Add new symbols.
104
105         * glib/makegalias.pl: Drop Win32 specific .def syntax,
106         include gstdio.h
107
108 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
109
110         * glib/gkeyfile.c: Fix includes. (#156500, #156499, 
111         Kazuki IWAMOTO)
112
113         * glib/Makefile.am (galias.h): Fix srcdir != builddir 
114         builds.  (#156447, Thomas Fitzsimmons)
115
116 2004-10-26  Gora Mohanty  <gmohanty@cvs.gnome.org>
117
118         * configure.in: Added 'or' to ALL_LINGUAS.
119
120 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
121
122         * glib/gkeyfile.c: Include galias.h.
123         
124         * glib/gkeyfile.c (g_key_file_parse_value_as_comment): 
125         Don't compare strings and chars.
126
127         * glib/glib.symbols: Add new symbols.
128
129         * glib/gkeyfile.c (g_key_file_new): Fix docs.
130
131         * glib/gkeyfile.h: Use the same parameter names as in
132         the implementation and the docs.
133
134         * glib/gwin32.c (g_win32_get_windows_version): Make this
135         function thread-safe in the GLib style.
136         * glib/gthreadinit.h: 
137         * glib/gwin32.c (_g_win32_thread_init): New function to
138         initialize the version.
139         * glib/gthread.c (g_thread_init_glib): Call 
140         _g_win32_thread_init() from here.
141
142 2004-10-26  Ray Strode  <rstrode@redhat.com>
143
144         * glib/gkeyfile.c: Add Matthias to "Written by" lines
145          (GKeyFileGroup): add field to hold comments about groups
146          (g_key_file_load_from_fd): return TRUE on success and
147          FALSE on failure.  Don't close fd's opened by other
148          parent function.  
149          (g_key_file_load_from_file): run FILE_IS_REGULAR test
150          before trying to open file, to save an fd from being
151          leaked (would probably be better to use fstat()). Close
152          fd when done with it. Return TRUE on success and FALSE
153          on failure.
154          (g_key_file_load_from_data): Return TRUE on success and
155          FALSE on failure.
156          (g_key_file_load_from_data_dirs): remove superfluous
157          const modifier.  Return TRUE on success and FALSE on
158          failure.  Stop trying to load files when one succeeds.
159          (g_key_file_parse_key_value_pair): don't validate input
160          for UTF-8 until users uses a getter that does
161          validation.  Don't leak copy of start_group_name.
162          (g_key_file_to_data): serialize new comment field for
163          groups.
164          (g_key_file_get_keys): Remove convenience code to let
165          NULL group mean start group.  Get rid of unneeded NULL
166          check before g_strdup.
167          (g_key_file_get_groups): Reverse groups list before
168          sending to user because it is maintained in backward
169          order internally. 
170          (g_key_file_get_value),
171          (g_key_file_set_value): add g_return checks at top of
172          public functions.
173          (g_key_file_get_string), 
174          (g_key_file_get_string_list): validate key value is UTF-8.
175          (g_key_file_[sg]et_*comment): new functions for
176          setting/getting comments
177          (g_key_file_remove_comment): new function to remove
178          comment block
179          (g_key_file_remove_key_value_pair_node): new function to
180          pull a key-value pair out of the list and free it.
181          (g_key_file_remove_group_node): call
182          g_key_file_remove_key_value_pair_node instead of 
183          freeing the list immediately to get better statistics
184          for approximate_size.
185          (g_key_file_remove_group): use lookup_group_node instead
186          of lookup_group to prevent a g_list_find call.
187          (g_key_file_add_key): report group also when unable to
188          find key.
189          (g_key_file_lookup_group_node): new function to make
190          getting the group node from a group name easier.
191          (g_key_file_lookup_group): use lookup_group_node under
192          the hood.
193          (g_key_file_lookup_key_value_pair_node): new function to
194          make getting the key-value pair from a group and key
195          name eaiser.
196          (g_key_file_parse_comment_as_value): new function to add '#' to the
197          beginning of every line.
198          (g_key_file_parse_value_as_comment): new function that
199          attempts to be the inverse of comment as value.
200
201 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
202
203         * glib/gutils.c: 
204         * glib/gkeyfile.c: Don't include ctype.h needlessly.  (#156424,
205         Morten Welinder)
206
207         * tests/strtod-test.c (test_string): Improve error reporting.
208
209 Mon Oct 25 15:05:18 2004  Manish Singh  <yosh@gimp.org>
210
211         * autogen.sh: rm autom4te.cache, since it might interfere with
212         differing autoconf versions.
213
214         * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
215         user data.
216
217         * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
218         don't redefine it here.
219
220 2004-10-24  Matthias Clasen  <mclasen@redhat.com>
221
222         * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
223         destroy the lookup map if it is NULL.
224
225 2004-10-23  Matthias Clasen  <mclasen@redhat.com>
226
227         * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c, 
228         glib/giochannel.c, glib/gmain.c, glib/gspawn.c, 
229         glib/libcharset/localcharset.c: Apply a patch to fix
230         sparse warnings. (#154696, Kjartan Maraas)
231
232         * glib/gnulib/g-gnulib.h: Undef libc functions before defining
233         them, since they may also be macros.  (#155177, Andrea Campi)
234
235         * glib/gkeyfile.h: 
236         * glib/gkeyfile.c: Add a parser for desktop entries and
237         similar files with a .ini-like syntax.  (#139974, Ray Strode)
238
239         * glib/glib.h: Include gkeyfile.h
240
241         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
242         (glibsubinclude_HEADERS): Add gkeyfile.h
243
244         * glib/gutils.c (_g_compute_locale_variants): Make this 
245         non-static and use it in gkeyfile.c
246
247 2004-10-22  Matthias Clasen  <mclasen@redhat.com>
248
249         * tests/uri-test.c (run_uri_list_tests): Add some
250         uri list tests.c.
251
252         * glib/gconvert.h:
253         * glib/gconvert.c (g_uri_list_extract_uris): New function to
254         split a text/uri-list data into individual uris and strip comments.
255
256 2004-10-20  Matthias Clasen  <mclasen@redhat.com>
257
258         * glib/goption.c (get_change): Don't return the wrong 
259         change.  (#155856, Lucas Rocha)
260
261 2004-10-17  Matthias Clasen  <mclasen@redhat.com>
262
263         * glib/gutils.h (G_IS_DIR_SEPARATOR): 
264         * glib/gutils.c: Make public.  (#155589, Tim-Philipp MĆ¼ller) 
265
266 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
267
268         * glib/gmain.c (g_child_watch_add_full): 
269         * glib/gmain.c (g_child_watch_add): Document that GLib supports only
270         a single callback per pid. (#154828, Gustavo Carneiro)
271
272 2004-10-06  Matthias Clasen  <mclasen@redhat.com>
273
274         * glib/gfileutils.c: Fix some C99isms.  (#154676, Kjartan Maraas)
275
276 2004-10-05  Anders Carlsson  <andersca@gnome.org>
277
278         * glib/goption.c: (g_option_context_parse):
279         Add check for if argc is 0.
280         
281         * tests/option-test.c: (empty_test3), (main):
282         Add test case.
283         
284 2004-10-05  Matthias Clasen  <mclasen@redhat.com>
285
286         * NEWS: Update
287
288 2004-10-04  Matthias Clasen  <mclasen@redhat.com>
289
290         * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
291         vtable is set.  (#154352, Philippe Blain)
292
293 2004-10-03  Anders Carlsson  <andersca@gnome.org>
294
295         * glib/goption.c: (parse_arg):
296         Set arg_data on filenames. (Discovered by Mats-Ola Persson).
297         
298         * tests/option-test.c: (arg_test3), (ignore_test3), (main):
299         Add test for filename args.
300         
301 2004-10-01  Tor Lillqvist  <tml@iki.fi>
302
303         * glib/goption.c (g_option_context_parse): Use
304         g_path_get_basename() instead of strrchr(), so that either slash
305         is accepted on Windows.
306
307 2004-09-30  Matthias Clasen  <mclasen@redhat.com>
308
309         * glib/gfileutils.c: Convert filenames to UTF-8 before 
310         putting them in GErrors.  (#154078, Morten Welinder)
311
312 2004-09-29  Matthias Clasen  <mclasen@redhat.com>
313
314         * glib/glib.symbols: Add g_assert_warning.
315
316         * glib/gmessages.h:
317         * glib/gmessages.c (g_assert_warning): Treat g_assert 
318         in the same way as g_return_if_fail and move the string 
319         constants into a helper function, which also takes 
320         care of removing the "IA__" prefix from internal aliases.
321
322         * glib/gmessages.h: Move the declaration of 
323         g_return_if_fail_warning() out of the ifdefs, so that
324         building with G_DISABLE_ASSERT works.
325
326 2004-09-27  Murray Cumming  <murrayc@murrayc.com>
327
328         * glib/goptions.[h|c], glib/glib.symbols: Rename 
329         g_context_option_error_quark() to g_option_error_quark(), because that 
330         is consistent with normal naming conventions, and what bindings expect.
331
332 .2004-09-26  Matthias Clasen  <mclasen@redhat.com>
333
334         Fix #153649, Hidetaka Iwai:
335         
336         * glib/goption.c (parse_long_option): Don't forget to set parsed
337         to TRUE when parsing a long ARG_NONE option. 
338         (free_changes_list): Fix the memory management for string
339         and filename arrays.
340
341 2004-09-22  Tor Lillqvist  <tml@iki.fi>
342
343         * glib/gmessages.c: [Win32] Don't ever open a console
344         window. (Which we used to do if standard output or standard error
345         are invalid, as they are for GUI applications.) These console
346         windows that open up unexpectedly have caused endless amounts of
347         confusion among end-users. (#141102, #151175)
348
349         Don't output the process id on Windows. Only output the program
350         name. If not set with g_set_prgname(), fetch the application
351         executable's name and use that.
352
353 Mon Sep 20 00:35:14 2004  Matthias Clasen  <maclas@gmx.de>
354
355         * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
356         convert UTF-16 byte stream of ambiguous endianness.  (#152954,
357         Linus Walleij)
358
359 Mon Sep 20 00:17:37 2004  Matthias Clasen  <maclas@gmx.de>
360
361         * tests/option-test.c (error_test3_post_parse): 
362         * tests/option-test.c (error_test2_post_parse): 
363         * tests/option-test.c (error_test1_post_parse): Don't call 
364         g_set_error () with a NULL format.  (#153103, Robert Ć–gren) 
365
366 Mon Sep 20 00:13:48 2004  Matthias Clasen  <maclas@gmx.de>
367
368         Make GOption remove long options completely. (#153113, Robert Ć–gren)
369
370         * glib/goption.c (parse_long_option): Fix a wrong index.
371
372         * tests/option-test.c (ignore_test3): Test handling of unknown
373         options some more.
374
375 Sun Sep 19 23:56:15 2004  Matthias Clasen  <maclas@gmx.de>
376
377         * glib/goption.c (g_option_context_parse): Call error_func
378         on error, not post_parse_func again.  (#153107, Robert Ć–gren)
379
380 Sun Sep 19 23:52:35 2004  Matthias Clasen  <maclas@gmx.de>
381
382         * glib/gmessages.c (mklevel_prefix): 
383         * glib/gmessages.c (g_logv): Fix the types of some variables
384         to be GLogLevelFlags instead of guint.  (#153042, Philippe Blain)
385
386 2004-09-18  Matthias Clasen  <mclasen@redhat.com>
387
388         * Version bump
389
390         * === Released 2.5.3 ===
391
392 2004-09-17  Matthias Clasen  <mclasen@redhat.com>
393
394         * NEWS: More updates.
395
396 Thu Sep 16 18:42:46 2004  Manish Singh  <yosh@gimp.org>
397
398         * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
399         the third field.
400
401 Thu Sep 16 18:15:32 2004  Manish Singh  <yosh@gimp.org>
402
403         * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
404         of characters, instead of a gsize. Technically this is incorrect,
405         but this makes it match the prototype, and this is a deprecated
406         function anyway.
407
408 2004-09-16  Matthias Clasen  <mclasen@redhat.com>
409
410         * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
411
412 Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>
413
414         Implement the same PLT reduction technique used in GTK+:
415         
416         * glib/glib.symbols: Master list of symbols
417
418         * glib/makegalias.pl: Perl script which creates galias.h
419
420         * glib/abicheck.sh: Compares actual exports against glib.symbols 
421
422         * glib/glib.def: Removed. This file is now generated from
423         glib.symbols
424         
425         * glib/Makefile.am: Add rules to generate galias.h and glib.def,
426         and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
427         
428         * configure.in: Add --disable-visibility to suppress the 
429         use of ELF visibility attributes.
430
431         * glib/*.c: Include galias.h
432
433 2004-09-15  Tor Lillqvist  <tml@iki.fi>
434
435         * glib/gwin32.c (g_win32_error_message): Convert message to
436         UTF-8. Technically this breaks API, but the actual use cases in
437         gdk/win32 have assumed it is UTF-8 anyway. Fix
438         documentation. (#152618, Kazuki Iwamoto)
439
440         * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
441         good idea, and it clashes with newest mingw headers, which have a
442         ftruncate implementation as an inline function. Thanks to Dominik R.
443
444         * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
445         call _chsize() in the C library.
446
447 2004-09-15  Matthias Clasen  <mclasen@redhat.com>
448
449         * NEWS: Update.
450
451 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
452
453         * glib/gmessages.c (g_return_if_fail_warning): Strip the
454         prefix "IA__" from function names, since that is what
455         GTK+ uses for the PLT-reduction aliases. 
456
457 Thu Sep  9 13:52:26 2004  Owen Taylor  <otaylor@redhat.com>
458
459         * glib/gmessages.c (g_return_if_fail_warning): 
460         Include implementation of g_return_if_fail_internal().
461
462 Thu Sep  9 10:37:41 2004  Owen Taylor  <otaylor@redhat.com>
463
464         * glib/gmessages.h (g_return_[val_]if_fail): Use
465         a helper function to reduce code size; omit FILE/LINE
466         when we have __PRETTY_FUNCTION__.
467
468 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
469
470         * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
471
472 Thu Sep  9 00:10:40 2004  Matthias Clasen  <maclas@gmx.de>
473
474         * glib/gstrfuncs.h: 
475         * glib/gstrfuncs.c (g_strv_length): Add a function to 
476         calculate the length of a NULL-terminated string 
477         array.  (#150455, Tim-Philipp MĆ¼ller)
478
479         * tests/strfunc-test.c (main): Add a test for g_strv_length().
480
481 2004-09-08  Tor Lillqvist  <tml@iki.fi>
482
483         * glib/gutils.c (guess_category_value): On Win32, as last resort
484         call g_win32_getlocale() to get the current thread locale. There
485         usually aren't any POSIXish LANG or LC_* environment variables
486         present on Windows machines.
487
488         * glib/glib.def: Add g_get_language_names.
489
490 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
491
492         * glib/gutils.h: 
493         * glib/gutils.c (g_get_language_names): Add a function to
494         return a list of applicable locale names.  (#95587, 
495         Hidetoshi Tajima)
496         (guess_category_value, compute_locale_variants):
497         (explode_locale, unalias_lang, read_aliases): Helper 
498         functions for g_get_language_names()
499
500         * tests/testglib.c (main): Show the results of 
501         g_get_language_names()
502
503 Sun Sep  5 01:46:11 2004  Matthias Clasen  <maclas@gmx.de>
504
505         * glib/glib.def: 
506         * glib/gmessages.h: 
507         * glib/gmessages.c (g_log_set_default_handler): New
508         function to install an alternate default log 
509         handler.  (#66387, Darin Adler)
510
511 2004-09-03  Tor Lillqvist  <tml@iki.fi>
512
513         * glib/glib.def: Update.
514
515 Wed Sep  1 20:22:39 2004  Matthias Clasen  <maclas@gmx.de>
516
517         * glib/gdate.h:
518         * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
519         a function to calculate the ISO 8601 week number of 
520         a date.  (#92579, Niklas Lundell)
521
522 2004-09-01  Anders Carlsson  <andersca@gnome.org>
523
524         * glib/goption.c: (g_option_context_parse):
525         Set program name before calling the pre-parse hooks.
526         
527 2004-09-01  Anders Carlsson  <andersca@gnome.org>
528
529         * glib/goption.c: (g_option_context_free), (print_help),
530         (g_option_context_parse):
531         Handle option contexts without a main group.
532         
533         * tests/option-test.c: (empty_test2), (main):
534         Add test case for that.
535         
536 2004-08-30  Anders Carlsson  <andersca@gnome.org>
537
538         * glib/goption.c: (g_option_context_parse):
539         Set prgname to <unknown> if argc and argv are NULL.
540         
541         * tests/option-test.c: (empty_test1), (main):
542         Add test case for that.
543         
544 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
545
546         * glib/ghash.c (g_hash_table_lookup): Point to 
547         g_hash_table_lookup_extended() for differentiation between
548         not-found and value-is-NULL.  (#150960, Morten Welinder)
549
550 2004-08-27  Matthias Clasen  <mclasen@redhat.com>
551
552         Fix #151193, Stepan Kasal:
553         
554         * glib/gfileutils.c (g_file_error_from_errno): 
555         * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
556
557 Fri Aug 27 00:45:41 2004  Matthias Clasen  <maclas@gmx.de>
558
559         * glib/goption.c (g_option_context_parse): Set the program name
560         from argv[0], noticed by Masatake YAMATO.
561
562 2004-08-26  Tor Lillqvist  <tml@iki.fi>
563
564         * tests/testglib.c (main): Test the new XDG basedir functions.
565
566 2004-08-25  Tor Lillqvist  <tml@iki.fi>
567
568         * glib/gwin32.c (g_win32_get_windows_version): New
569         function. Returns the Windows version code like GetVersion(),
570         except that one can pretend to be running on Win9x by setting the
571         G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
572         debugging purposed.
573
574         * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED 
575         and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
576
577 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
578
579         * configure.in: Post-release version bump.
580
581         * === Released 2.5.2 ===
582
583 Wed Aug 25 00:25:08 2004  Matthias Clasen  <maclas@gmx.de>
584
585         * NEWS: Update for 2.5.2
586
587 2004-08-25  Tor Lillqvist  <tml@iki.fi>
588
589         Win32 equivalences of the XDG folders
590         
591         * glib/gutils.c (get_special_folder): New function, calls
592         SHGetSpecialFolderLocation() to get path to places like the My
593         Documents folder.
594         (g_get_any_init): Use CSIDL_PROFILE as HOME if not
595         overridden by env vars.
596         (g_get_user_data_dir): Use CSIDL_PERSONAL.
597         (g_get_user_config_dir): Use CSIDL_APPDATA.
598         (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
599         (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
600         CSIDL_COMMON_DOCUMENTS.
601         (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
602
603         * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
604
605         * glib/glib.def: Add the new functions.
606
607 Mon Aug 23 16:16:35 2004  Manish Singh  <yosh@gimp.org>
608
609         * glib/goption.c (g_option_group_add_entries): remove unused
610         variable.
611
612 Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
613
614         * glib/gutils.c (g_get_user_cache_dir): 
615         * glib/gutils.c (g_get_user_config_dir): 
616         * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
617         while holding the g_utils_global lock, simply use g_home_dir. 
618         (#150695, Jody Goldberg)
619
620 2004-08-21  Tor Lillqvist  <tml@iki.fi>
621
622         * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
623         break out of its loop. Prevents a thread leak. (#147392, Peter
624         Zelezny)
625
626         * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
627         return value from strxfrm(). For instance Microsoft's strxfrm()
628         returns INT_MAX on errors. (#141124)
629
630 2004-08-19  Tor Lillqvist  <tml@iki.fi>
631
632         * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
633         source and destination charset parameter order in g_convert()
634         call. (#150394, possibly also #141124)
635
636 2004-08-20  Jon K Hellan  <hellan@acm.org>
637
638         * glib/goption.h: Remove trailing commas.
639
640 2004-08-17  Matthias Clasen  <mclasen@redhat.com>
641
642         * configure.in: Check for all four values of the
643         visibility attribute; gcc 2.96 seems to miss 
644         "default".  (#150379, Vincent Noel)
645
646 2004-08-16  Christian Rose  <menthos@menthos.com>
647
648         * configure.in: Added "bs" to ALL_LINGUAS.
649
650 2004-08-11  Ray Strode  <rstrode@redhat.com>
651
652         * docs/reference/glib/glib-sections.txt: 
653         * glib/gutils.[ch] (g_get_user_data_dir),
654         (g_get_user_config_dir), (g_get_user_cache_dir),
655         (g_get_system_data_dirs), (g_get_system_config_dirs): 
656         Add new XDG basedir API (bug 139973).
657
658 2004-08-10  Matthias Clasen  <mclasen@redhat.com>
659
660         * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
661         * configure.in: Check whether the visibility attribute
662         works and define G_HAVE_GNUC_VISIBILITY and 
663         G_GNUC_INTERNAL in glibconfig.h correspondingly.
664
665 Mon Aug  9 17:37:56 2004  Matthias Clasen  <maclas@gmx.de>
666
667         * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
668
669 2004-08-06  Hans Breuer  <hans@breuer.org>
670
671         * glib/makefile.msc.in glib/glib.def : updated
672
673         * glib/gutils.c : avoid 'inconsitent dll linkage' by not
674         defining extern char** environ with msvc
675
676 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
677
678         * m4macros/glib-gettext.m4: Require ngettext.  (#123847,
679         Danilo Segan)
680
681 Thu Aug  5 20:53:00 2004  Ray Strode  <rstrode@redhat.com>
682
683         * glib/gutils.h (g_get_codeset): strdup result so caller
684         doesn't free internally managed memory.
685
686 2004-08-04  Tor Lillqvist  <tml@iki.fi>
687
688         * glib/glib.def: Add glib_check_version.
689
690         * config.h.win32.in: Update to match what configure produces. Add
691         the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
692         HAVE_INT64_AND_I64 to where the configure script puts it. Add
693         HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
694
695 Tue Aug  3 16:19:44 2004  Matthias Clasen  <maclas@gmx.de>
696
697         * glib/goption.c: Mark user visible strings for translation.
698
699 Tue Aug  3 15:50:55 2004  Matthias Clasen  <maclas@gmx.de>
700
701         * glib/goption.[hc]: Pedantically use g types throughout.
702
703 Tue Aug  3 14:58:20 2004  Matthias Clasen  <maclas@gmx.de>
704
705         * glib/gutils.h: 
706         * glib/gutils.c (glib_check_version): New function to
707         check the version of GLib at runtime.  (#149175, Michael Natterer)
708
709 2004-08-03  Anders Carlsson  <andersca@gnome.org>
710
711         * glib/goption.h:
712         * glib/gtypes.h:
713         Move GTranslateFunc to gtypes.h
714         
715 2004-08-02  Anders Carlsson  <andersca@gnome.org>
716
717         * glib/Makefile.am:
718         * glib/glib.h:
719         * glib/goption.c:
720         * glib/goption.h:
721         * tests/.cvsignore:
722         * tests/Makefile.am:
723         * tests/option-test.c: 
724         Add GOption.
725
726 2004-08-02  Matthias Clasen  <mclasen@redhat.com>
727
728         * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
729         declarations as internal and avoid PLT indirections for 
730         them.  (#145465, Arjan van de Ven)
731
732         * glib/gunicodeprivate.h: 
733         * glib/gthreadinit.h: 
734         * glib/gmessages.h: 
735         * glib/gdebug.h: 
736         * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
737         _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
738         _g_messages_thread_init(), _g_convert_thread_init(), 
739         _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
740         _g_mem_thread_private_init(), _g_messages_thread_private_init(),
741         _g_utf8_normalize_wc() and _g_unichar_combining_class().
742
743         * glib/gatomic.c: Include gthreadinit.h here to see the declaration
744         for _g_atomic_thread_init().
745
746 Sun Aug  1 13:19:18 2004  Manish Singh  <yosh@gimp.org>
747
748         * tests/uri-test.c: move newline printing from run_from_uri_tests()
749         to run_roundtrip_tests().
750
751 2004-08-01 Matthias Clasen  <mclasen@redhat.com>
752
753         * Post-release version bump
754
755         * === Released 2.5.1 ===
756
757 Sat Jul 31 23:17:05 2004  Matthias Clasen  <maclas@gmx.de>
758
759         * NEWS: Updates.
760
761 Sat Jul 31 20:33:07 2004  Matthias Clasen  <maclas@gmx.de>
762
763         * tests/shell-test.c: Include a test involving consecutive
764         backslashes followed by a non-escaped doublequote.
765         
766         * glib/gshell.c (tokenize_command_line): Count consecutive
767         backslashes mod 2 to detect escaped doubleqotes.  (#127306)
768
769 2004-07-30  Matthias Clasen  <mclasen@redhat.com>
770
771         * glib/gconvert.c (g_unescape_uri_string): Don't validate
772         for UTF-8 here.  (#148420, Robert Ć–gren)
773
774         * tests/uri-test.c (run_roundtrip_tests): Add tests for 
775         roundtrip compatibility. Going from filename to uri and 
776         back should always give you the same filename back. 
777
778 2004-07-28  Matthias Clasen  <mclasen@redhat.com>
779
780         * tests/markups/valid-{9,10,11}.gmarkup: 
781         * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
782         of whitespace inside tags.
783
784         * glib/gmarkup.c (enum GMarkupParseState): Add 
785         STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
786         (g_markup_parse_context_parse): Accept whitespace between
787         attribute names, '=' and attribute values and between
788         close tag name and '>'. (#148646, Hiroyuki Ikezoe)
789
790 Tue Jul 27 02:01:31 2004  Matthias Clasen  <maclas@gmx.de>
791
792         * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
793         as well.
794
795 Sat Jul 24 17:50:07 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
796
797         * glib/gstrfuncs.c (g_strsplit_set):
798         s/g_strtokenize/g_strsplit_set/ in docs.
799
800 Fri Jul 23 10:37:50 2004  Matthias Clasen  <maclas@gmx.de>
801
802         * tests/type-test.c (main): Actually test G_MAXSIZE with
803         a gsize variable.
804
805 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
806
807         Fix #132858, Sven Neumann, patch by James Henstridge:
808         
809         * glib-gettextize.in: modify so that mkinstalldirs will 
810         get installed into auxdir.
811
812         * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
813
814 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
815
816         Fix #147651, reported by Oliver Guntermann:
817
818         * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
819         _g_gnulib_vasprintf() in a macro, since they behave 
820         differently wrt. to memory allocation.
821
822         * glib/gprintf.c (g_vasprintf): Instead, differentiate 
823         here between the three cases: system vasprintf(), 
824         _g_gnulib_vasprintf(), no vasprintf().  
825
826 2004-07-20  Crispin Flowerday  <gnome@flowerday.cx>
827
828         * NEWS: Fix a typo in my name
829
830 Tue Jul 20 04:31:40 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
831
832         * configure.in: Bump version number
833
834 Sun Jul 18 19:40:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
835
836         * === Released 2.5.0 ===
837
838         * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
839
840 Sun Jul 18 01:40:28 2004  Matthias Clasen  <maclas@gmx.de>
841
842         * NEWS: Updates for 2.5.0
843
844 Mon Jul 12 00:02:40 2004  Matthias Clasen  <maclas@gmx.de>
845
846         * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
847
848 2004-07-09  Matthias Clasen  <mclasen@redhat.com>
849
850         * glib/gdir.c (g_dir_open): Convert filename to UTF-8 
851         before using it in the error message.  (#146054, Federico
852         Mena Quintero)
853
854 Thu Jul  8 00:54:32 2004  Matthias Clasen  <maclas@gmx.de>
855
856         * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
857         be built without anyway.  (#135899, Murray Cumming)
858
859 Mon Jul  5 18:50:27 2004  Matthias Clasen  <maclas@gmx.de>
860
861         * glib/gmessages.h (g_debug): Complete the g_log() 
862         family.  (#135730, Sven Herzberg)
863
864 Mon Jul  5 18:42:30 2004  Matthias Clasen  <maclas@gmx.de>
865
866         * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to 
867         make srcdir != . work.  (#145166, Kaz Sasayama)
868
869 Sun Jul  4 01:52:18 2004  Matthias Clasen  <maclas@gmx.de>
870
871         * configure.in: Use a small test library instead of
872         libpthread.so for testing RTLD_GLOBAL brokenness.  (#139567,
873         Julio M. Merino Vidal)
874         
875 2004-07-02  Sebastian Wilhelmi  <seppi@seppi.de>
876
877         * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
878         __volatile__ to make the file consistent. Spotted by Benoit
879         Carpentier <gtkool_2kx@yahoo.fr>.
880
881 2004-07-01  John Ehresman  <jpe@wingide.com>
882
883         * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
884         Initialize reset_send & reset_recv fields and don't close
885         sockets unless they were created.  (#145153)
886
887 Fri Jun 11 22:56:46 2004  Matthias Clasen  <maclas@gmx.de>
888
889         * glib/gscanner.c (g_scanner_get_token_ll): Ignore a 
890         missing newline at EOF for single line comments.  
891         (#83674, Sven Neumann)
892
893 Thu Jun 10 23:38:02 2004  Matthias Clasen  <maclas@gmx.de>
894
895         * tests/printf-test.c (TEST): Actually set any_failed on 
896         failure.  (#143552, Philippe Blain)
897
898 2004-06-09  Federico Mena Quintero  <federico@ximian.com>
899
900         * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
901         for URIs that *should* have been invalid, or viceversa.
902         (from_uri_tests): Likewise.
903
904 2004-06-07  Federico Mena Quintero  <federico@ximian.com>
905
906         Fixes #140532.
907
908         * glib/gconvert.c (is_asciialphanum): Renamed from
909         is_escalphanum(); ensures that this is an ASCII character.
910         (is_asciiescalpha): Renamed from is_escalpha().
911         (hostname_validate): Use the two functions above.
912         (g_filename_to_uri): Don't convert the filename to UTF-8.
913         (g_filename_from_uri): Don't convert the filename from UTF-8.
914
915 Mon Jun  7 22:25:24 2004  Matthias Clasen  <maclas@gmx.de>
916
917         * tests/run-markup-tests.sh: Default to silence, but support
918         a -v argument to get the old output back. 
919
920 2004-06-06  Tor Lillqvist  <tml@iki.fi>
921
922         * glib/gutils.c (g_get_any_init): Check home for being
923         NULL. (#143812, Ivan Wong)
924
925 Sun Jun  6 15:23:00 2004  Pawan Chitrakr  <pawan@nplinu.org>
926
927         * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
928
929 Fri Jun  4 19:26:47 2004  Manish Singh  <yosh@gimp.org>
930
931         * glib/galloca.h: cpp #directives should always have the "#" in the
932         first column of the the line. Do that for "#pragma alloca". Fixes
933         bug #143744.
934
935 Wed Jun  2 00:57:16 2004  Matthias Clasen  <maclas@gmx.de>
936
937         * glib/gtypes.h: Use higher precision for the mathematical
938         constants.  (#141941, Morten Welinder)
939
940 Tue Jun  1 22:01:40 2004  Matthias Clasen  <maclas@gmx.de>
941
942         * glib/gmarkup.c (advance_char): Fix an off-by-one error 
943         in g_markup_parse_context_parse().  (#142794, Morten Welinder)
944
945 Sun May 16 23:23:29 2004  Matthias Clasen  <maclas@gmx.de>
946
947         Merged from 2.4:
948         
949         * glib/gcompletion.c (g_completion_add_items):
950         (g_completion_remove_items): Remove unnecessary 
951         checks.  (#142559, Morten Welinder)
952
953 2004-05-15  Tor Lillqvist  <tml@iki.fi>
954
955         * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
956         is an absolute path and exists. (#138618)
957
958 2004-05-14  Tor Lillqvist  <tml@iki.fi>
959
960         * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
961         for precision correctly. (#142400)
962
963         For backward compatibility with the Trio implementation, make "ll"
964         format modifer work on Win32, too. Change into "I64" before
965         passing to the system printf. (#142433)
966
967         * tests/printf-test.c (main): Add tests for the above.
968
969 2004-05-10  Matthias Clasen  <mclasen@redhat.com>
970
971         Merge from 2.4:
972         
973         * glib/gmain.c (block_source, unblock_source): Make these 
974         static.  (#142230, Morten Welinder)
975
976 2004-05-10  Tor Lillqvist  <tml@iki.fi>
977
978         * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
979         lines. Thanks to BenoĆ®t Carpentier.
980
981 Sun May  9 02:04:14 2004  Matthias Clasen  <maclas@gmx.de>
982
983         Merge from 2.4:
984         
985         * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
986         memleak.  (#141998, Nikolai Weibull)
987
988 Sat May  8 23:02:26 2004  Matthias Clasen  <maclas@gmx.de>
989
990         Merge from 2.4:
991         
992         * glib/gutils.h: Remove vestigial g_get_codeset().
993         * glib/gutils.c (g_get_codeset): Call g_get_charset().
994         (#137703, Owen Taylor)
995
996 2004-05-06  Matthias Clasen  <mclasen@redhat.com>
997
998         * configure.in: Bump version number to 2.5.0.
999
1000 Wed May  5 23:35:44 2004  Matthias Clasen  <maclas@gmx.de>
1001
1002         * glib/gconvert.c (g_filename_from_uri): Quote the file
1003         scheme to mark it as untranslatable. String change.  
1004         (#133144, Danilo Segan)
1005
1006 2004-05-03  Pablo Saratxaga  <pablo@mandrakesoft.com>
1007
1008         * configure.in: Added Walloon (wa) to ALL_LINGUAS
1009
1010 Sun May  2 03:51:59 2004  Manish Singh  <yosh@gimp.org>
1011
1012         * glib/gtypes.h: check for __pentium4__ when deciding whether to
1013         use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1014
1015 2004-05-01  Hans Breuer  <hans@breuer.org>
1016
1017         * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1018         fixes #141563, Steve Lhomme
1019
1020 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
1021
1022         * === Released 2.4.1 ===
1023
1024         * configure.in: Version 2.4.1, interface age 1. 
1025
1026         * NEWS: Updates
1027         
1028 2004-04-25  Tor Lillqvist  <tml@iki.fi>
1029
1030         * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1031         Plug memory leak. (#140770, John Ehresman)
1032
1033 2004-04-23  Matthias Clasen  <mclasen@redhat.com>
1034
1035         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): 
1036         Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1037         point.  (#139134, Piotr Klaban)
1038
1039         * glib/gconvert.c (open_converter): Don't call g_strerror() here, 
1040         since it can lead to infinite recursion.  (#139133, Piotr Klaban)
1041
1042 2004-04-22  Matthias Clasen  <mclasen@redhat.com>
1043
1044         * tests/testglib.c (main): Trivial warning fix.  (#140345)
1045
1046         * tests/queue-test.c (main): Add some tests for off-by-one errors.
1047
1048         * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one 
1049         error.  (#139703, Philippe Blain)
1050
1051         * tests/testglib.c (main): Add testcases for g_message() involving
1052         non-printable and unsafe characters.
1053
1054         * glib/gmessages.c (escape_string): Don't assume that
1055         string->str remains unchanged over g_string_insert() 
1056         calls.  (#139030, Christophe Saout)
1057
1058         * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a 
1059         locale-specific decimal separator directly follows a 
1060         number.  (#138424, Nickolay V. Shmyrev)
1061
1062         * tests/strtod-test.c (main): Add some more testcases.
1063
1064         * glib/gmain.c (g_main_context_query): Only set time_is_current to 
1065         FALSE if context->timeout is not zero.  (#137795, Christian Krause)
1066
1067 2004-04-21  Matthias Clasen  <mclasen@redhat.com>
1068
1069         * tests/printf-test.c (main): Comment out a nonessential testcase
1070         which fails on HP-UX.  (#136283, Jonas Jonsson)
1071
1072 2004-04-15  Matthias Clasen  <mclasen@redhat.com>
1073
1074         * tests/patterntest.c (main): Add tests for the empty pattern.
1075
1076         * glib/gpattern.c (g_pattern_spec_new): Don't read and write out 
1077         of bounds when the pattern is empty.  (#140032, Stanislav Brabec,
1078         Stefan Fent)
1079
1080 2004-04-10  Tor Lillqvist  <tml@iki.fi>
1081
1082         * glib/gwin32.c (g_win32_getlocale): Add new language and
1083         sublanguage codes, from GNU gettext. (#137958)
1084         
1085         * glib/giowin32.c
1086         * glib/gmain.c
1087         * glib/gstrfuncs.c
1088         * glib/gthread.c: Decorating variable definitions with
1089         __declspec(dllexport) causes problems on Cygwin build, and isn't
1090         really needed for a native Win32 build with mingw or MSVC, so
1091         remove. (#138402, Roger Leigh)
1092
1093         * glib/libcharset/localcharset.c: Use Win32-specific code also on
1094         Cygwin.
1095         * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1096         on Cygwin, either. (#138412, Roger Leigh)
1097
1098 2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>
1099
1100         * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1101
1102 2004-04-03  Tor Lillqvist  <tml@iki.fi>
1103
1104         * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1105         found on Cygwin, they don't work. (#138401, Roger Leigh)
1106
1107 2004-03-31  Tor Lillqvist  <tml@iki.fi>
1108
1109         * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1110         Leigh)
1111
1112         * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1113         on Cygwin. (#138423, Roger Leigh)
1114
1115 2004-03-30  Adam Weinberger  <adamw@gnome.org>
1116
1117         * configure.in: Added en_CA to ALL_LINGUAS.
1118
1119 2004-03-21  Tor Lillqvist  <tml@iki.fi>
1120
1121         * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1122         cases where a drive letter is present. For 'a:' or 'a:foo', return
1123         'a:.'. This is mostly just for consistency with the behaviour
1124         without a drive letter. But very important is to for 'a:\foo' or
1125         'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1126         instead of backslashes.) (#137316)
1127
1128         * tests/dirname-test.c (main): More complete testing on Win32. If
1129         a test fails, include expected and actual result in error message.
1130
1131 Fri Mar 19 15:21:09 2004  Owen Taylor  <otaylor@redhat.com>
1132
1133         * glib/gmain.c: Fix the accidental revert of the
1134         fixes from #112222 that happened when the GChildWatch
1135         code was added. (Caught by Christian Persch)
1136
1137 Fri Mar 19 11:07:06 2004  Owen Taylor  <otaylor@redhat.com>
1138
1139         * tests/atomic-test.c (main): Make computation
1140         of "biggest_pointer" vaguely more portable.
1141         (#137498, Jonas Jonsson)
1142
1143 2004-03-16  Tor Lillqvist  <tml@iki.fi>
1144
1145         * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1146         on Win32) case, where the 64-bit type is called long long, but the
1147         system printf/scanf format modifier for 64-bit integers is still I64.
1148
1149 2004-03-16  Gareth Owen  <gowen72@yahoo.com>
1150
1151         * configure.in: Added en_GB to ALL_LINGUAS
1152