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