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