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