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