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