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