Don't forget to initialize g_system_config_dirs. (#160213, Frederic
[platform/upstream/glib.git] / ChangeLog
1 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
2
3         * glib/gutils.c (g_get_system_config_dirs): Don't forget to 
4         initialize g_system_config_dirs.  (#160213, Frederic Crozat)
5
6 Wed Dec  1 17:04:37 2004  Manish Singh  <yosh@gimp.org>
7
8         * glib/gstring.h (g_string_append_c_inline): actually enable (and
9         fix up the length test).
10
11 2004-11-30  Tor Lillqvist  <tml@iki.fi>
12
13         * glib/Makefile.am (glib.def): gcc -E complains "linker input file
14         unused because linking not done" if told to preprocess the
15         glib.symbols file. Use '-' and redirection to pass it as standard
16         input instead.
17
18 2004-11-30  Matthias Clasen  <mclasen@redhat.com>
19
20         * NEWS: Updates
21
22 2004-11-30  Tor Lillqvist  <tml@iki.fi>
23
24         * glib/gspawn-win32-helper.c (WinMain): Also check errno to detect
25         true errors from spawn*(). (#157258, reported by Bruce Hochstetler)
26
27 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
28
29         * glib/gmacros.h (G_GNUC_MALLOC): Define empty for gcc 2.95.
30
31         * glib/gmarkup.c (unescape_text_state_after_charref_hash): 
32         Avoid a strndup() here, noticed by Morten Welinder.
33
34 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
35
36         * glib/gmarkup.c: Remove leftover noinline attributes.
37         (is_name_start_char, is_name_char): Avoid possible reads
38         beyond the end of g_ascii_table.
39
40         * glib/Makefile.am: Use the perl found by configure.  (#149826,
41         Morten Welinder)
42
43 Sun Nov 28 13:13:56 2004  Manish Singh  <yosh@gimp.org>
44
45         * glib/abicheck.sh: filter G_GNUC before PRIVATE so $ is still true.
46
47         * tests/utf8-validate.c: cast pointer math to gint for error print
48         message.
49
50 Sun Nov 28 12:07:29 2004  Manish Singh  <yosh@gimp.org>
51
52         * tests/utf8-validate.c: minor comment fix.
53
54 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
55
56         * glib/gconvert.h:
57         * glib/gkeyfile.h:
58         * glib/gmem.h: 
59         * glib/gstrfuncs.h:
60         * glib/gunicode.h:
61         * glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate.
62
63         * glib/glib.symbols: Add G_GNUC_MALLOC annotations.
64
65         * glib/gmacros.h (G_GNUC_MALLOC): Add a macro for 
66         __attribute__((__malloc__)).  (#61780)
67
68 2004-11-28  Tor Lillqvist  <tml@iki.fi>
69
70         * glib/gutils.[hc]
71         * glib/glib.symbols: [Win32] Make also g_get_user_name() and
72         g_get_real() name return UTF-8. As for the similar changes to fix
73         #101792, for DLL ABI stability we use preprocessor defines to get
74         the new UTF-8 versions, and keep the old names for versions
75         returning strings in the system codepage.
76
77         Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8
78         as was intended in the fix for bug #101792. (#159664, noticed by
79         Robert Ögren)
80
81 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
82
83         * glib/gmarkup.c: Optimizations; don't scan the entire text
84         in find_current_text_end(), split unescape_text() into multiple
85         functions.  (#159001, Havoc Pennington)
86
87 2004-11-27  Matthias Clasen  <mclasen@redhat.com>
88
89         * glib/gspawn.c (g_spawn_async_with_pipes): Update the @flags
90         documentation with references to GChildWatch and 
91         g_spawn_close_pid().  (#136255, noted by Owen Taylor)
92
93 2004-11-26  Matthias Clasen  <mclasen@redhat.com>
94
95         * glib/gkeyfile.c (g_key_file_parse_value_as_string): 
96         Don't access invalid memory address if p wasn't 
97         increased.  (#159557, Frederic Crozat)
98
99 2004-11-25  Matthias Clasen  <mclasen@redhat.com>
100
101         * tests/strtod-test.c (main): Add a testcase for the previous fix.
102
103         * glib/gstrfuncs.c (g_ascii_strtod): Make it work again for floats
104         starting with a decimal point, like .75  (#156421, Hans Breuer)
105
106 Thu Nov 25 14:02:43 2004  Manish Singh  <yosh@gimp.org>
107
108         * glib/abicheck.sh: filter out G_GNUC stuff when doing the compare.
109
110         * glib/gmessages.c (g_assert_warning): call abort() at the end, so
111         gcc doesn't warn.
112
113 2004-11-25  Kjartan Maraas  <kmaraas@gnome.org>
114
115         * configure.in: Add «nb» to ALL_LINGUAS.
116
117 2004-11-24  Tor Lillqvist  <tml@iki.fi>
118
119         * glib/gwin32.c (g_win32_error_message,
120         get_package_directory_from_module,
121         g_win32_get_package_installation_directory,
122         g_win32_get_package_installation_subdirectory): Use wide character
123         API when available. Document that string parameters and return
124         values are in UTF-8.
125
126 2004-11-24  Matthias Clasen  <mclasen@redhat.com>
127
128         * glib/gutf8.c: Replace g_utf8_validate() with an
129         optimized version, and clarify the docs a bit.  (#159131,
130         Owen Taylor)
131
132         * tests/Makefile.am (test_programs): Add utf8-validate.
133
134         * tests/utf8-validate.c: Unit tests for g_utf8_validate().
135
136 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
137
138         * glib/goption.h: Don't mark g_option_error_quark() as const,
139         to be consistent with all the other error_quark functions. 
140         (technically they are const, but since these are called only
141         in error paths, giving the compiler better optimization 
142         opportunities doesn't matter much)
143
144 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
145
146         Fix a problem with the PLT reduction changes which caused the
147         internal aliases to lose all attributes.
148         
149         * glib/glib.symbols: Add attribute annotations.
150         * glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
151         * glib/Makefile.am (glib.def): Strip attribute annotations, but keep 
152         PRIVATE.
153
154 2004-11-21  Hans Breuer  <hans@breuer.org>
155
156         * **/makefile.msc : updated
157
158 2004-11-16  Matthias Clasen  <mclasen@redhat.com>
159
160         * m4macros/glib-2.0.m4 (AM_PATH_GLIB_2_0): Support gmodule-no-export.
161
162         * Makefile.am (EXTRA_DIST): 
163         * configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in 
164
165         * gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
166         which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
167         need it.  (#125627, Owen Taylor)
168
169 2004-11-17  Matthias Clasen  <mclasen@redhat.com>
170
171         * glib/gkeyfile.c: Define S_ISREG() on windows, since it
172         is not present there.  (#158469, Kazuki IWAMOTO)
173
174 2004-11-15  Matthias Clasen  <mclasen@redhat.com>
175
176         * glib/gkeyfile.c (g_key_file_load_from_fd): Use S_ISREG(), since
177         S_IFMT and S_IFREG are apprarently missing on some systems (they 
178         are SUS, but not Posix).  (#158263)
179
180 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
181
182         * configure.in: Bump version.
183
184         * === Released 2.5.6 ===
185         
186 2004-11-11  J. Ali Harlow  <ali@juiblex.co.uk>
187
188         * gobject/Makefile.am:
189         * glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
190         escape sequence. (#157951)
191
192 2004-11-10  Tor Lillqvist  <tml@iki.fi>
193
194         * glib/gconvert.c (g_get_filename_charsets): Fix typo in doc
195         comment.
196
197 2004-11-10  Matthias Clasen  <mclasen@redhat.com>
198
199         * NEWS: Updates
200
201 Mon Nov  8 10:45:50 2004  Manish Singh  <yosh@gimp.org>
202
203         * glib/gasyncqueue.c
204         * glib/ghook.c
205         * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail
206
207         * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually
208         return the passed in pointer.
209
210 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
211
212         * glib/gnode.h (enum GTraverseFlags): Add G_TRAVERSE_LEAVES
213         and G_TRAVERSE_NON_LEAVES as alternative names for 
214         G_TRAVERSE_LEAFS and G_TRAVERSE_NON_LEAFS, which are
215         grammatically brutal.  (#138853, Morten Welinder)
216         
217         * glib/gasyncqueue.[hc]:
218         * glib/ghook.[hc]: 
219         * glib/gmain.[hc]:
220         * glib/giochannel.[hc]: Make g_io_channel_ref(), 
221         g_main_context_ref(), g_hook_ref(), g_async_queue_ref()
222         return the passed in pointer. (#151663, Manish Singh)
223
224         * glib/gmain.c: Initialize child_watch_count to 1, so 
225         that we don't miss the very first child if it exits 
226         before we set up the child watch. In that case we had 
227         previously source->count == child_watch_count == 0, 
228         causing g_child_watch_check() to skip the waitpid() 
229         call.  (#154827, Gustavo Carneiro)
230
231         * glib/gmain.c (g_child_watch_source_init_single) 
232         (g_child_watch_source_init_multi_threaded): Use sigaction()
233         instead of signal().  (#136867, Jonas Jonsson, patch by
234         Archana Shah)
235
236 2004-11-07  Matthias Clasen  <mclasen@redhat.com>
237
238         * glib/gutils.c (g_get_any_init): Work around an bug
239         in Mac OS < 10.3.  (#156446, Dave MacLachlan)
240
241 2004-11-06  Tor Lillqvist  <tml@iki.fi>
242
243         * glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL
244         define to the same place where it is in a configure-generated
245         glibconfig.h
246
247 2004-11-05  Matthias Clasen  <mclasen@redhat.com>
248
249         * tests/strtod-test.c: Portability fixes and extra sanity
250         checks.  (#157453, Morten Welinder)
251
252 2004-11-04  Matthias Clasen  <mclasen@redhat.com>
253
254         * glib/gstrfuncs.c (g_ascii_strtod): Handle numbers like
255         1e1, nan, -infinity. Also try harder to preserve errno.  
256         (#156421, Morten Welinder)
257
258         * tests/strtod-test.c: Add testcases.
259
260 2004-11-04  Tor Lillqvist  <tml@iki.fi>
261
262         * glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
263         to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.
264
265         * glib/goption.c (parse_arg): Obey the above flag.
266
267         * glib/gconvert.c (g_filename_display_name): Document that the
268         result is guaranteed to be non-NULL.
269
270         * glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
271         get_contents_posix, get_contents_win32, g_file_open_tmp,
272         g_file_read_link): Use g_filename_display_name() for error
273         messages.
274         (g_mkstemp): Document that the template should be in the GLib file
275         name encoding.
276         (g_file_open_tmp): Ditto. Also document that the actual name
277         returned is also in the GLib file name encoding.
278
279 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
280
281         * glib/gconvert.c (g_filename_display_name): New function 
282         to convert a filename to a UTF-8 string for display 
283         purposes.  (requested by Alex Larsson)
284         
285         * glib/gconvert.c (g_get_filename_charsets): New function 
286         to return the encodings which are tried when converting a 
287         filename to UTF-8. (#151465, François Gagné)
288
289 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
290
291         * configure.in: Bump version
292
293         * === Released 2.5.5 ===
294
295         * NEWS: Updates
296
297 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
298
299         * glib/glib.symbols: Add new functions.
300
301         * glib/gconvert.c: Fix doc comment for 
302         g_get_filename_charsets().
303
304         * glib/gconvert.c (g_filename_display_name): New function to
305         convert a filename to a UTF-8 string for display purposes.
306         (g_get_filename_charsets): New function to return the 
307         encodings which are tried when converting a filename to 
308         UTF-8.
309
310         * glib/goption.c (g_option_context_parse): Document that
311         this function may not return.
312
313 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
314
315         * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
316         between gchar and *.
317
318 2004-11-01  Tor Lillqvist  <tml@iki.fi>
319
320         * glib/gstdio.c (g_lstat): Implement correctly also on Unix
321         systems without lstat(). (#157038, Morten Welinder)
322
323 2004-11-01  Ray Strode <rstrode@redhat.com>
324
325         * glib/gkeyfile.c:
326         (g_key_file_get_locale_string): don't return an
327         error if we come across a value with invalid utf8 or
328         if we don't find a translated string. Just fallback
329         to the untranslated string (Mark McLoughlin, bug
330         #156790).
331         
332         * glib/gkeyfile.c:
333         (g_key_file_init), (g_key_file_clear): track the
334         actual start GKeyFileGroup rather than just its name
335         (g_key_file_parse_group): allow add_group() to
336         update the start group.
337         (g_key_file_remove_group_node): update the start
338         group if it gets removed (Mark McLoughlin, bug
339         #156790).
340
341         * glib/gkeyfile.c:
342         (g_key_file_parse_string_as_value): Don't escape
343         tabs and spaces in the middle of key values.
344
345 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
346
347         * glib/gconvert.c:
348         * glib/gdebug.h
349         * glib/gutils.c
350         * gobject/gtype.c
351         * gthread/gthread-posix.c
352         * tests/timeloop-closure.c
353         * tests/timeloop.c: Fix sparse warnings.  (#157014, Kjartan Maraas)
354
355 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
356
357         * glib/goption.c: Documentation updates.
358
359         Handle conflicts between options in different groups. (#156808)
360         
361         * glib/goption.c (g_option_context_parse): When a long option does not
362         match exactly, try to parse it as --group-option.
363         (g_option_context_add_group): Warn if a group name conflict occurs.
364
365         * glib/goption.c (print_help): Print out the effective options, ie 
366         don't print shadowed short options, and for long options print
367         --group-option instead of --option if appropriate.
368
369 2004-10-31  Matthias Clasen  <mclasen@redhat.com>
370
371         * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
372         docs.
373
374 2004-10-31  Tor Lillqvist  <tml@iki.fi>
375
376         * glib/gwin32.c: Document g_win32_get_windows_version().
377
378         * glib/gstdio.[ch]: Add g_lstat().
379
380 2004-10-29  Matthias Clasen  <mclasen@redhat.com>
381
382         * glib/goption.c: Doc additions.
383
384         * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
385         Windows.
386
387 2004-10-29  Hans Breuer  <hans@breuer.org>
388
389         * glibconfig.h */makefile.msc.in : updated [and finally fixed my
390         script to produce ready to go de-in(ed) files, w/o autotools]
391
392         * */*.rc.in : updated copyrights to 2004
393
394         * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
395         use the same fallback mecahnism as on *NIX where ever applicable
396
397 2004-10-29  Matthias Clasen  <mclasen@redhat.com>
398
399         * tests/option-test.c: Add tests for the handling of
400         non-option arguments, "--" and G_OPTION_REMAINING.
401
402         * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
403         a special long option name, which can be used for an option
404         in the main group which collects the non-option arguments.
405         It must be of type G_OPTION_ARG_STRING_ARRAY or 
406         G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
407         an option whose name is G_OPTION_REMAINING, the non-option
408         arguments are left behind in argv as before.
409
410         * glib/goption.c: Add documentation.
411
412 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
413
414         * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
415         to avoid compiler warnings.  (#156767, Owen Taylor)
416
417 2004-10-29  Tor Lillqvist  <tml@iki.fi>
418
419         * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
420         with MSVC. [156727, Kazuki IWAMOTO]
421
422         * glib/giochannel.h (g_io_channel_new_file): Redefine also
423         g_io_channel_new_file to the UTF-8 version on Win32. [156725,
424         Kazuki IWAMOTO)
425
426 2004-10-28  Ray Strode  <rstrode@redhat.com>
427
428         * glib/gkeyfile.c
429         (find_file_in_data_dirs): clean up a leak (#156652,
430         Morten Welinder)
431         (g_key_file_load_from_fd): propagate fstat() error
432         conditions and retry read on EAGAIN (#156647, Morten
433         Welinder).  Return error if file is NOT regular, not if
434         it is regular (bug introduced from last commited bug
435         fix). 
436         (g_key_file_load_from_data_dirs): allocate enough space
437         for the terminating NULL.
438
439 2004-10-28  Ray Strode  <rstrode@redhat.com>
440
441         * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
442         Kazuki IWAMOTO)
443
444 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
445
446         * glib/gstdio.c: Include galias.h before glib.h (#156697,
447         Christophe Fergeau)
448
449         * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
450
451 2004-10-28  Tor Lillqvist  <tml@iki.fi>
452
453         * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
454         errno.h for errno.
455
456         * glib/gkeyfile.c: Include gstdio.h and use g_open().
457
458 2004-10-27  Ray Strode  <rstrode@redhat.com>
459
460         * glib/gkeyfile.c:
461          (g_key_file_load_from_fd), 
462          (g_key_file_load_from_file): 
463          Move file is regular check to load_from_file to use
464          fstat() instead of race prone g_file_test().  Don't
465          clear/init until needed. Change error messages to be
466          more consistent.
467          (g_key_file_load_from_data),
468          (g_key_file_load_from_data_dirs),
469          (g_key_file_parse_data),
470          (g_key_file_get_value),
471          (g_key_file_get_string),
472          (g_key_file_set_string),
473          (g_key_file_get_string_list),
474          (g_key_file_set_string_list),
475          (g_key_file_set_locale_string),
476          (g_key_file_get_locale_string),
477          (g_key_file_set_locale_string_list),
478          (g_key_file_get_boolean),
479          (g_key_file_set_boolean),
480          (g_key_file_get_boolean_list),
481          (g_key_file_set_boolean_list),
482          (g_key_file_get_integer),
483          (g_key_file_get_integer_list),
484          (g_key_file_set_integer_list),
485          (g_key_file_remove_key):
486          Add more g_return_*if_fail checks for public functions.
487
488 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
489
490         * configure.in: Bump version.
491
492         * === Released 2.5.4 ===
493
494 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
495
496         * glib/abicheck.sh: Strip Win32 specific defs file syntax.
497
498         * NEWS: Updates. 
499
500 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
501
502         Introduce the idea of a filename encoding, which is 
503         *literally* the filename encoding on Unix. On Windows, 
504         use the Unicode name converted to UTF-8. (#101792,
505         Tor Lillqvist, Owen Taylor)
506         
507         * glib/gdir.[hc]: 
508         * glib/gconvert.[hc]: 
509         * glib/gfileutils.[hc]: 
510         * glib/gutils.[hc]: 
511         * glib/giowin32.c: On Windows, keep old ABI versions 
512         of GLib pathname api for DLL ABI stability. Use different 
513         names for the new-style UTF-8 versions. Hide this through 
514         a #define.
515
516         * glib/gstdio.[hc]: New files containing wrappers for
517         POSIX pathname api.
518
519         * glib/glib.symbols: Add new symbols.
520
521         * glib/makegalias.pl: Drop Win32 specific .def syntax,
522         include gstdio.h
523
524 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
525
526         * glib/gkeyfile.c: Fix includes. (#156500, #156499, 
527         Kazuki IWAMOTO)
528
529         * glib/Makefile.am (galias.h): Fix srcdir != builddir 
530         builds.  (#156447, Thomas Fitzsimmons)
531
532 2004-10-26  Gora Mohanty  <gmohanty@cvs.gnome.org>
533
534         * configure.in: Added 'or' to ALL_LINGUAS.
535
536 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
537
538         * glib/gkeyfile.c: Include galias.h.
539         
540         * glib/gkeyfile.c (g_key_file_parse_value_as_comment): 
541         Don't compare strings and chars.
542
543         * glib/glib.symbols: Add new symbols.
544
545         * glib/gkeyfile.c (g_key_file_new): Fix docs.
546
547         * glib/gkeyfile.h: Use the same parameter names as in
548         the implementation and the docs.
549
550         * glib/gwin32.c (g_win32_get_windows_version): Make this
551         function thread-safe in the GLib style.
552         * glib/gthreadinit.h: 
553         * glib/gwin32.c (_g_win32_thread_init): New function to
554         initialize the version.
555         * glib/gthread.c (g_thread_init_glib): Call 
556         _g_win32_thread_init() from here.
557
558 2004-10-26  Ray Strode  <rstrode@redhat.com>
559
560         * glib/gkeyfile.c: Add Matthias to "Written by" lines
561          (GKeyFileGroup): add field to hold comments about groups
562          (g_key_file_load_from_fd): return TRUE on success and
563          FALSE on failure.  Don't close fd's opened by other
564          parent function.  
565          (g_key_file_load_from_file): run FILE_IS_REGULAR test
566          before trying to open file, to save an fd from being
567          leaked (would probably be better to use fstat()). Close
568          fd when done with it. Return TRUE on success and FALSE
569          on failure.
570          (g_key_file_load_from_data): Return TRUE on success and
571          FALSE on failure.
572          (g_key_file_load_from_data_dirs): remove superfluous
573          const modifier.  Return TRUE on success and FALSE on
574          failure.  Stop trying to load files when one succeeds.
575          (g_key_file_parse_key_value_pair): don't validate input
576          for UTF-8 until users uses a getter that does
577          validation.  Don't leak copy of start_group_name.
578          (g_key_file_to_data): serialize new comment field for
579          groups.
580          (g_key_file_get_keys): Remove convenience code to let
581          NULL group mean start group.  Get rid of unneeded NULL
582          check before g_strdup.
583          (g_key_file_get_groups): Reverse groups list before
584          sending to user because it is maintained in backward
585          order internally. 
586          (g_key_file_get_value),
587          (g_key_file_set_value): add g_return checks at top of
588          public functions.
589          (g_key_file_get_string), 
590          (g_key_file_get_string_list): validate key value is UTF-8.
591          (g_key_file_[sg]et_*comment): new functions for
592          setting/getting comments
593          (g_key_file_remove_comment): new function to remove
594          comment block
595          (g_key_file_remove_key_value_pair_node): new function to
596          pull a key-value pair out of the list and free it.
597          (g_key_file_remove_group_node): call
598          g_key_file_remove_key_value_pair_node instead of 
599          freeing the list immediately to get better statistics
600          for approximate_size.
601          (g_key_file_remove_group): use lookup_group_node instead
602          of lookup_group to prevent a g_list_find call.
603          (g_key_file_add_key): report group also when unable to
604          find key.
605          (g_key_file_lookup_group_node): new function to make
606          getting the group node from a group name easier.
607          (g_key_file_lookup_group): use lookup_group_node under
608          the hood.
609          (g_key_file_lookup_key_value_pair_node): new function to
610          make getting the key-value pair from a group and key
611          name eaiser.
612          (g_key_file_parse_comment_as_value): new function to add '#' to the
613          beginning of every line.
614          (g_key_file_parse_value_as_comment): new function that
615          attempts to be the inverse of comment as value.
616
617 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
618
619         * glib/gutils.c: 
620         * glib/gkeyfile.c: Don't include ctype.h needlessly.  (#156424,
621         Morten Welinder)
622
623         * tests/strtod-test.c (test_string): Improve error reporting.
624
625 Mon Oct 25 15:05:18 2004  Manish Singh  <yosh@gimp.org>
626
627         * autogen.sh: rm autom4te.cache, since it might interfere with
628         differing autoconf versions.
629
630         * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
631         user data.
632
633         * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
634         don't redefine it here.
635
636 2004-10-24  Matthias Clasen  <mclasen@redhat.com>
637
638         * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
639         destroy the lookup map if it is NULL.
640
641 2004-10-23  Matthias Clasen  <mclasen@redhat.com>
642
643         * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c, 
644         glib/giochannel.c, glib/gmain.c, glib/gspawn.c, 
645         glib/libcharset/localcharset.c: Apply a patch to fix
646         sparse warnings. (#154696, Kjartan Maraas)
647
648         * glib/gnulib/g-gnulib.h: Undef libc functions before defining
649         them, since they may also be macros.  (#155177, Andrea Campi)
650
651         * glib/gkeyfile.h: 
652         * glib/gkeyfile.c: Add a parser for desktop entries and
653         similar files with a .ini-like syntax.  (#139974, Ray Strode)
654
655         * glib/glib.h: Include gkeyfile.h
656
657         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
658         (glibsubinclude_HEADERS): Add gkeyfile.h
659
660         * glib/gutils.c (_g_compute_locale_variants): Make this 
661         non-static and use it in gkeyfile.c
662
663 2004-10-22  Matthias Clasen  <mclasen@redhat.com>
664
665         * tests/uri-test.c (run_uri_list_tests): Add some
666         uri list tests.c.
667
668         * glib/gconvert.h:
669         * glib/gconvert.c (g_uri_list_extract_uris): New function to
670         split a text/uri-list data into individual uris and strip comments.
671
672 2004-10-20  Matthias Clasen  <mclasen@redhat.com>
673
674         * glib/goption.c (get_change): Don't return the wrong 
675         change.  (#155856, Lucas Rocha)
676
677 2004-10-17  Matthias Clasen  <mclasen@redhat.com>
678
679         * glib/gutils.h (G_IS_DIR_SEPARATOR): 
680         * glib/gutils.c: Make public.  (#155589, Tim-Philipp Müller) 
681
682 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
683
684         * glib/gmain.c (g_child_watch_add_full): 
685         * glib/gmain.c (g_child_watch_add): Document that GLib supports only
686         a single callback per pid. (#154828, Gustavo Carneiro)
687
688 2004-10-06  Matthias Clasen  <mclasen@redhat.com>
689
690         * glib/gfileutils.c: Fix some C99isms.  (#154676, Kjartan Maraas)
691
692 2004-10-05  Anders Carlsson  <andersca@gnome.org>
693
694         * glib/goption.c: (g_option_context_parse):
695         Add check for if argc is 0.
696         
697         * tests/option-test.c: (empty_test3), (main):
698         Add test case.
699         
700 2004-10-05  Matthias Clasen  <mclasen@redhat.com>
701
702         * NEWS: Update
703
704 2004-10-04  Matthias Clasen  <mclasen@redhat.com>
705
706         * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
707         vtable is set.  (#154352, Philippe Blain)
708
709 2004-10-03  Anders Carlsson  <andersca@gnome.org>
710
711         * glib/goption.c: (parse_arg):
712         Set arg_data on filenames. (Discovered by Mats-Ola Persson).
713         
714         * tests/option-test.c: (arg_test3), (ignore_test3), (main):
715         Add test for filename args.
716         
717 2004-10-01  Tor Lillqvist  <tml@iki.fi>
718
719         * glib/goption.c (g_option_context_parse): Use
720         g_path_get_basename() instead of strrchr(), so that either slash
721         is accepted on Windows.
722
723 2004-09-30  Matthias Clasen  <mclasen@redhat.com>
724
725         * glib/gfileutils.c: Convert filenames to UTF-8 before 
726         putting them in GErrors.  (#154078, Morten Welinder)
727
728 2004-09-29  Matthias Clasen  <mclasen@redhat.com>
729
730         * glib/glib.symbols: Add g_assert_warning.
731
732         * glib/gmessages.h:
733         * glib/gmessages.c (g_assert_warning): Treat g_assert 
734         in the same way as g_return_if_fail and move the string 
735         constants into a helper function, which also takes 
736         care of removing the "IA__" prefix from internal aliases.
737
738         * glib/gmessages.h: Move the declaration of 
739         g_return_if_fail_warning() out of the ifdefs, so that
740         building with G_DISABLE_ASSERT works.
741
742 2004-09-27  Murray Cumming  <murrayc@murrayc.com>
743
744         * glib/goptions.[h|c], glib/glib.symbols: Rename 
745         g_context_option_error_quark() to g_option_error_quark(), because that 
746         is consistent with normal naming conventions, and what bindings expect.
747
748 .2004-09-26  Matthias Clasen  <mclasen@redhat.com>
749
750         Fix #153649, Hidetaka Iwai:
751         
752         * glib/goption.c (parse_long_option): Don't forget to set parsed
753         to TRUE when parsing a long ARG_NONE option. 
754         (free_changes_list): Fix the memory management for string
755         and filename arrays.
756
757 2004-09-22  Tor Lillqvist  <tml@iki.fi>
758
759         * glib/gmessages.c: [Win32] Don't ever open a console
760         window. (Which we used to do if standard output or standard error
761         are invalid, as they are for GUI applications.) These console
762         windows that open up unexpectedly have caused endless amounts of
763         confusion among end-users. (#141102, #151175)
764
765         Don't output the process id on Windows. Only output the program
766         name. If not set with g_set_prgname(), fetch the application
767         executable's name and use that.
768
769 Mon Sep 20 00:35:14 2004  Matthias Clasen  <maclas@gmx.de>
770
771         * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
772         convert UTF-16 byte stream of ambiguous endianness.  (#152954,
773         Linus Walleij)
774
775 Mon Sep 20 00:17:37 2004  Matthias Clasen  <maclas@gmx.de>
776
777         * tests/option-test.c (error_test3_post_parse): 
778         * tests/option-test.c (error_test2_post_parse): 
779         * tests/option-test.c (error_test1_post_parse): Don't call 
780         g_set_error () with a NULL format.  (#153103, Robert Ögren) 
781
782 Mon Sep 20 00:13:48 2004  Matthias Clasen  <maclas@gmx.de>
783
784         Make GOption remove long options completely. (#153113, Robert Ögren)
785
786         * glib/goption.c (parse_long_option): Fix a wrong index.
787
788         * tests/option-test.c (ignore_test3): Test handling of unknown
789         options some more.
790
791 Sun Sep 19 23:56:15 2004  Matthias Clasen  <maclas@gmx.de>
792
793         * glib/goption.c (g_option_context_parse): Call error_func
794         on error, not post_parse_func again.  (#153107, Robert Ögren)
795
796 Sun Sep 19 23:52:35 2004  Matthias Clasen  <maclas@gmx.de>
797
798         * glib/gmessages.c (mklevel_prefix): 
799         * glib/gmessages.c (g_logv): Fix the types of some variables
800         to be GLogLevelFlags instead of guint.  (#153042, Philippe Blain)
801
802 2004-09-18  Matthias Clasen  <mclasen@redhat.com>
803
804         * Version bump
805
806         * === Released 2.5.3 ===
807
808 2004-09-17  Matthias Clasen  <mclasen@redhat.com>
809
810         * NEWS: More updates.
811
812 Thu Sep 16 18:42:46 2004  Manish Singh  <yosh@gimp.org>
813
814         * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
815         the third field.
816
817 Thu Sep 16 18:15:32 2004  Manish Singh  <yosh@gimp.org>
818
819         * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
820         of characters, instead of a gsize. Technically this is incorrect,
821         but this makes it match the prototype, and this is a deprecated
822         function anyway.
823
824 2004-09-16  Matthias Clasen  <mclasen@redhat.com>
825
826         * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
827
828 Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>
829
830         Implement the same PLT reduction technique used in GTK+:
831         
832         * glib/glib.symbols: Master list of symbols
833
834         * glib/makegalias.pl: Perl script which creates galias.h
835
836         * glib/abicheck.sh: Compares actual exports against glib.symbols 
837
838         * glib/glib.def: Removed. This file is now generated from
839         glib.symbols
840         
841         * glib/Makefile.am: Add rules to generate galias.h and glib.def,
842         and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
843         
844         * configure.in: Add --disable-visibility to suppress the 
845         use of ELF visibility attributes.
846
847         * glib/*.c: Include galias.h
848
849 2004-09-15  Tor Lillqvist  <tml@iki.fi>
850
851         * glib/gwin32.c (g_win32_error_message): Convert message to
852         UTF-8. Technically this breaks API, but the actual use cases in
853         gdk/win32 have assumed it is UTF-8 anyway. Fix
854         documentation. (#152618, Kazuki Iwamoto)
855
856         * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
857         good idea, and it clashes with newest mingw headers, which have a
858         ftruncate implementation as an inline function. Thanks to Dominik R.
859
860         * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
861         call _chsize() in the C library.
862
863 2004-09-15  Matthias Clasen  <mclasen@redhat.com>
864
865         * NEWS: Update.
866
867 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
868
869         * glib/gmessages.c (g_return_if_fail_warning): Strip the
870         prefix "IA__" from function names, since that is what
871         GTK+ uses for the PLT-reduction aliases. 
872
873 Thu Sep  9 13:52:26 2004  Owen Taylor  <otaylor@redhat.com>
874
875         * glib/gmessages.c (g_return_if_fail_warning): 
876         Include implementation of g_return_if_fail_internal().
877
878 Thu Sep  9 10:37:41 2004  Owen Taylor  <otaylor@redhat.com>
879
880         * glib/gmessages.h (g_return_[val_]if_fail): Use
881         a helper function to reduce code size; omit FILE/LINE
882         when we have __PRETTY_FUNCTION__.
883
884 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
885
886         * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
887
888 Thu Sep  9 00:10:40 2004  Matthias Clasen  <maclas@gmx.de>
889
890         * glib/gstrfuncs.h: 
891         * glib/gstrfuncs.c (g_strv_length): Add a function to 
892         calculate the length of a NULL-terminated string 
893         array.  (#150455, Tim-Philipp Müller)
894
895         * tests/strfunc-test.c (main): Add a test for g_strv_length().
896
897 2004-09-08  Tor Lillqvist  <tml@iki.fi>
898
899         * glib/gutils.c (guess_category_value): On Win32, as last resort
900         call g_win32_getlocale() to get the current thread locale. There
901         usually aren't any POSIXish LANG or LC_* environment variables
902         present on Windows machines.
903
904         * glib/glib.def: Add g_get_language_names.
905
906 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
907
908         * glib/gutils.h: 
909         * glib/gutils.c (g_get_language_names): Add a function to
910         return a list of applicable locale names.  (#95587, 
911         Hidetoshi Tajima)
912         (guess_category_value, compute_locale_variants):
913         (explode_locale, unalias_lang, read_aliases): Helper 
914         functions for g_get_language_names()
915
916         * tests/testglib.c (main): Show the results of 
917         g_get_language_names()
918
919 Sun Sep  5 01:46:11 2004  Matthias Clasen  <maclas@gmx.de>
920
921         * glib/glib.def: 
922         * glib/gmessages.h: 
923         * glib/gmessages.c (g_log_set_default_handler): New
924         function to install an alternate default log 
925         handler.  (#66387, Darin Adler)
926
927 2004-09-03  Tor Lillqvist  <tml@iki.fi>
928
929         * glib/glib.def: Update.
930
931 Wed Sep  1 20:22:39 2004  Matthias Clasen  <maclas@gmx.de>
932
933         * glib/gdate.h:
934         * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
935         a function to calculate the ISO 8601 week number of 
936         a date.  (#92579, Niklas Lundell)
937
938 2004-09-01  Anders Carlsson  <andersca@gnome.org>
939
940         * glib/goption.c: (g_option_context_parse):
941         Set program name before calling the pre-parse hooks.
942         
943 2004-09-01  Anders Carlsson  <andersca@gnome.org>
944
945         * glib/goption.c: (g_option_context_free), (print_help),
946         (g_option_context_parse):
947         Handle option contexts without a main group.
948         
949         * tests/option-test.c: (empty_test2), (main):
950         Add test case for that.
951         
952 2004-08-30  Anders Carlsson  <andersca@gnome.org>
953
954         * glib/goption.c: (g_option_context_parse):
955         Set prgname to <unknown> if argc and argv are NULL.
956         
957         * tests/option-test.c: (empty_test1), (main):
958         Add test case for that.
959         
960 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
961
962         * glib/ghash.c (g_hash_table_lookup): Point to 
963         g_hash_table_lookup_extended() for differentiation between
964         not-found and value-is-NULL.  (#150960, Morten Welinder)
965
966 2004-08-27  Matthias Clasen  <mclasen@redhat.com>
967
968         Fix #151193, Stepan Kasal:
969         
970         * glib/gfileutils.c (g_file_error_from_errno): 
971         * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
972
973 Fri Aug 27 00:45:41 2004  Matthias Clasen  <maclas@gmx.de>
974
975         * glib/goption.c (g_option_context_parse): Set the program name
976         from argv[0], noticed by Masatake YAMATO.
977
978 2004-08-26  Tor Lillqvist  <tml@iki.fi>
979
980         * tests/testglib.c (main): Test the new XDG basedir functions.
981
982 2004-08-25  Tor Lillqvist  <tml@iki.fi>
983
984         * glib/gwin32.c (g_win32_get_windows_version): New
985         function. Returns the Windows version code like GetVersion(),
986         except that one can pretend to be running on Win9x by setting the
987         G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
988         debugging purposed.
989
990         * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED 
991         and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
992
993 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
994
995         * configure.in: Post-release version bump.
996
997         * === Released 2.5.2 ===
998
999 Wed Aug 25 00:25:08 2004  Matthias Clasen  <maclas@gmx.de>
1000
1001         * NEWS: Update for 2.5.2
1002
1003 2004-08-25  Tor Lillqvist  <tml@iki.fi>
1004
1005         Win32 equivalences of the XDG folders
1006         
1007         * glib/gutils.c (get_special_folder): New function, calls
1008         SHGetSpecialFolderLocation() to get path to places like the My
1009         Documents folder.
1010         (g_get_any_init): Use CSIDL_PROFILE as HOME if not
1011         overridden by env vars.
1012         (g_get_user_data_dir): Use CSIDL_PERSONAL.
1013         (g_get_user_config_dir): Use CSIDL_APPDATA.
1014         (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
1015         (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
1016         CSIDL_COMMON_DOCUMENTS.
1017         (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
1018
1019         * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
1020
1021         * glib/glib.def: Add the new functions.
1022
1023 Mon Aug 23 16:16:35 2004  Manish Singh  <yosh@gimp.org>
1024
1025         * glib/goption.c (g_option_group_add_entries): remove unused
1026         variable.
1027
1028 Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
1029
1030         * glib/gutils.c (g_get_user_cache_dir): 
1031         * glib/gutils.c (g_get_user_config_dir): 
1032         * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
1033         while holding the g_utils_global lock, simply use g_home_dir. 
1034         (#150695, Jody Goldberg)
1035
1036 2004-08-21  Tor Lillqvist  <tml@iki.fi>
1037
1038         * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
1039         break out of its loop. Prevents a thread leak. (#147392, Peter
1040         Zelezny)
1041
1042         * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
1043         return value from strxfrm(). For instance Microsoft's strxfrm()
1044         returns INT_MAX on errors. (#141124)
1045
1046 2004-08-19  Tor Lillqvist  <tml@iki.fi>
1047
1048         * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
1049         source and destination charset parameter order in g_convert()
1050         call. (#150394, possibly also #141124)
1051
1052 2004-08-20  Jon K Hellan  <hellan@acm.org>
1053
1054         * glib/goption.h: Remove trailing commas.
1055
1056 2004-08-17  Matthias Clasen  <mclasen@redhat.com>
1057
1058         * configure.in: Check for all four values of the
1059         visibility attribute; gcc 2.96 seems to miss 
1060         "default".  (#150379, Vincent Noel)
1061
1062 2004-08-16  Christian Rose  <menthos@menthos.com>
1063
1064         * configure.in: Added "bs" to ALL_LINGUAS.
1065
1066 2004-08-11  Ray Strode  <rstrode@redhat.com>
1067
1068         * docs/reference/glib/glib-sections.txt: 
1069         * glib/gutils.[ch] (g_get_user_data_dir),
1070         (g_get_user_config_dir), (g_get_user_cache_dir),
1071         (g_get_system_data_dirs), (g_get_system_config_dirs): 
1072         Add new XDG basedir API (bug 139973).
1073
1074 2004-08-10  Matthias Clasen  <mclasen@redhat.com>
1075
1076         * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
1077         * configure.in: Check whether the visibility attribute
1078         works and define G_HAVE_GNUC_VISIBILITY and 
1079         G_GNUC_INTERNAL in glibconfig.h correspondingly.
1080
1081 Mon Aug  9 17:37:56 2004  Matthias Clasen  <maclas@gmx.de>
1082
1083         * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
1084
1085 2004-08-06  Hans Breuer  <hans@breuer.org>
1086
1087         * glib/makefile.msc.in glib/glib.def : updated
1088
1089         * glib/gutils.c : avoid 'inconsitent dll linkage' by not
1090         defining extern char** environ with msvc
1091
1092 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
1093
1094         * m4macros/glib-gettext.m4: Require ngettext.  (#123847,
1095         Danilo Segan)
1096
1097 Thu Aug  5 20:53:00 2004  Ray Strode  <rstrode@redhat.com>
1098
1099         * glib/gutils.h (g_get_codeset): strdup result so caller
1100         doesn't free internally managed memory.
1101
1102 2004-08-04  Tor Lillqvist  <tml@iki.fi>
1103
1104         * glib/glib.def: Add glib_check_version.
1105
1106         * config.h.win32.in: Update to match what configure produces. Add
1107         the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
1108         HAVE_INT64_AND_I64 to where the configure script puts it. Add
1109         HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
1110
1111 Tue Aug  3 16:19:44 2004  Matthias Clasen  <maclas@gmx.de>
1112
1113         * glib/goption.c: Mark user visible strings for translation.
1114
1115 Tue Aug  3 15:50:55 2004  Matthias Clasen  <maclas@gmx.de>
1116
1117         * glib/goption.[hc]: Pedantically use g types throughout.
1118
1119 Tue Aug  3 14:58:20 2004  Matthias Clasen  <maclas@gmx.de>
1120
1121         * glib/gutils.h: 
1122         * glib/gutils.c (glib_check_version): New function to
1123         check the version of GLib at runtime.  (#149175, Michael Natterer)
1124
1125 2004-08-03  Anders Carlsson  <andersca@gnome.org>
1126
1127         * glib/goption.h:
1128         * glib/gtypes.h:
1129         Move GTranslateFunc to gtypes.h
1130         
1131 2004-08-02  Anders Carlsson  <andersca@gnome.org>
1132
1133         * glib/Makefile.am:
1134         * glib/glib.h:
1135         * glib/goption.c:
1136         * glib/goption.h:
1137         * tests/.cvsignore:
1138         * tests/Makefile.am:
1139         * tests/option-test.c: 
1140         Add GOption.
1141
1142 2004-08-02  Matthias Clasen  <mclasen@redhat.com>
1143
1144         * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
1145         declarations as internal and avoid PLT indirections for 
1146         them.  (#145465, Arjan van de Ven)
1147
1148         * glib/gunicodeprivate.h: 
1149         * glib/gthreadinit.h: 
1150         * glib/gmessages.h: 
1151         * glib/gdebug.h: 
1152         * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
1153         _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
1154         _g_messages_thread_init(), _g_convert_thread_init(), 
1155         _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
1156         _g_mem_thread_private_init(), _g_messages_thread_private_init(),
1157         _g_utf8_normalize_wc() and _g_unichar_combining_class().
1158
1159         * glib/gatomic.c: Include gthreadinit.h here to see the declaration
1160         for _g_atomic_thread_init().
1161
1162 Sun Aug  1 13:19:18 2004  Manish Singh  <yosh@gimp.org>
1163
1164         * tests/uri-test.c: move newline printing from run_from_uri_tests()
1165         to run_roundtrip_tests().
1166
1167 2004-08-01 Matthias Clasen  <mclasen@redhat.com>
1168
1169         * Post-release version bump
1170
1171         * === Released 2.5.1 ===
1172
1173 Sat Jul 31 23:17:05 2004  Matthias Clasen  <maclas@gmx.de>
1174
1175         * NEWS: Updates.
1176
1177 Sat Jul 31 20:33:07 2004  Matthias Clasen  <maclas@gmx.de>
1178
1179         * tests/shell-test.c: Include a test involving consecutive
1180         backslashes followed by a non-escaped doublequote.
1181         
1182         * glib/gshell.c (tokenize_command_line): Count consecutive
1183         backslashes mod 2 to detect escaped doubleqotes.  (#127306)
1184
1185 2004-07-30  Matthias Clasen  <mclasen@redhat.com>
1186
1187         * glib/gconvert.c (g_unescape_uri_string): Don't validate
1188         for UTF-8 here.  (#148420, Robert Ögren)
1189
1190         * tests/uri-test.c (run_roundtrip_tests): Add tests for 
1191         roundtrip compatibility. Going from filename to uri and 
1192         back should always give you the same filename back. 
1193
1194 2004-07-28  Matthias Clasen  <mclasen@redhat.com>
1195
1196         * tests/markups/valid-{9,10,11}.gmarkup: 
1197         * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
1198         of whitespace inside tags.
1199
1200         * glib/gmarkup.c (enum GMarkupParseState): Add 
1201         STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
1202         (g_markup_parse_context_parse): Accept whitespace between
1203         attribute names, '=' and attribute values and between
1204         close tag name and '>'. (#148646, Hiroyuki Ikezoe)
1205
1206 Tue Jul 27 02:01:31 2004  Matthias Clasen  <maclas@gmx.de>
1207
1208         * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
1209         as well.
1210
1211 Sat Jul 24 17:50:07 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1212
1213         * glib/gstrfuncs.c (g_strsplit_set):
1214         s/g_strtokenize/g_strsplit_set/ in docs.
1215
1216 Fri Jul 23 10:37:50 2004  Matthias Clasen  <maclas@gmx.de>
1217
1218         * tests/type-test.c (main): Actually test G_MAXSIZE with
1219         a gsize variable.
1220
1221 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
1222
1223         Fix #132858, Sven Neumann, patch by James Henstridge:
1224         
1225         * glib-gettextize.in: modify so that mkinstalldirs will 
1226         get installed into auxdir.
1227
1228         * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
1229
1230 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
1231
1232         Fix #147651, reported by Oliver Guntermann:
1233
1234         * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
1235         _g_gnulib_vasprintf() in a macro, since they behave 
1236         differently wrt. to memory allocation.
1237
1238         * glib/gprintf.c (g_vasprintf): Instead, differentiate 
1239         here between the three cases: system vasprintf(), 
1240         _g_gnulib_vasprintf(), no vasprintf().  
1241
1242 2004-07-20  Crispin Flowerday  <gnome@flowerday.cx>
1243
1244         * NEWS: Fix a typo in my name
1245
1246 Tue Jul 20 04:31:40 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1247
1248         * configure.in: Bump version number
1249
1250 Sun Jul 18 19:40:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1251
1252         * === Released 2.5.0 ===
1253
1254         * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
1255
1256 Sun Jul 18 01:40:28 2004  Matthias Clasen  <maclas@gmx.de>
1257
1258         * NEWS: Updates for 2.5.0
1259
1260 Mon Jul 12 00:02:40 2004  Matthias Clasen  <maclas@gmx.de>
1261
1262         * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
1263
1264 2004-07-09  Matthias Clasen  <mclasen@redhat.com>
1265
1266         * glib/gdir.c (g_dir_open): Convert filename to UTF-8 
1267         before using it in the error message.  (#146054, Federico
1268         Mena Quintero)
1269
1270 Thu Jul  8 00:54:32 2004  Matthias Clasen  <maclas@gmx.de>
1271
1272         * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
1273         be built without anyway.  (#135899, Murray Cumming)
1274
1275 Mon Jul  5 18:50:27 2004  Matthias Clasen  <maclas@gmx.de>
1276
1277         * glib/gmessages.h (g_debug): Complete the g_log() 
1278         family.  (#135730, Sven Herzberg)
1279
1280 Mon Jul  5 18:42:30 2004  Matthias Clasen  <maclas@gmx.de>
1281
1282         * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to 
1283         make srcdir != . work.  (#145166, Kaz Sasayama)
1284
1285 Sun Jul  4 01:52:18 2004  Matthias Clasen  <maclas@gmx.de>
1286
1287         * configure.in: Use a small test library instead of
1288         libpthread.so for testing RTLD_GLOBAL brokenness.  (#139567,
1289         Julio M. Merino Vidal)
1290         
1291 2004-07-02  Sebastian Wilhelmi  <seppi@seppi.de>
1292
1293         * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
1294         __volatile__ to make the file consistent. Spotted by Benoit
1295         Carpentier <gtkool_2kx@yahoo.fr>.
1296
1297 2004-07-01  John Ehresman  <jpe@wingide.com>
1298
1299         * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1300         Initialize reset_send & reset_recv fields and don't close
1301         sockets unless they were created.  (#145153)
1302
1303 Fri Jun 11 22:56:46 2004  Matthias Clasen  <maclas@gmx.de>
1304
1305         * glib/gscanner.c (g_scanner_get_token_ll): Ignore a 
1306         missing newline at EOF for single line comments.  
1307         (#83674, Sven Neumann)
1308
1309 Thu Jun 10 23:38:02 2004  Matthias Clasen  <maclas@gmx.de>
1310
1311         * tests/printf-test.c (TEST): Actually set any_failed on 
1312         failure.  (#143552, Philippe Blain)
1313
1314 2004-06-09  Federico Mena Quintero  <federico@ximian.com>
1315
1316         * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1317         for URIs that *should* have been invalid, or viceversa.
1318         (from_uri_tests): Likewise.
1319
1320 2004-06-07  Federico Mena Quintero  <federico@ximian.com>
1321
1322         Fixes #140532.
1323
1324         * glib/gconvert.c (is_asciialphanum): Renamed from
1325         is_escalphanum(); ensures that this is an ASCII character.
1326         (is_asciiescalpha): Renamed from is_escalpha().
1327         (hostname_validate): Use the two functions above.
1328         (g_filename_to_uri): Don't convert the filename to UTF-8.
1329         (g_filename_from_uri): Don't convert the filename from UTF-8.
1330
1331 Mon Jun  7 22:25:24 2004  Matthias Clasen  <maclas@gmx.de>
1332
1333         * tests/run-markup-tests.sh: Default to silence, but support
1334         a -v argument to get the old output back. 
1335
1336 2004-06-06  Tor Lillqvist  <tml@iki.fi>
1337
1338         * glib/gutils.c (g_get_any_init): Check home for being
1339         NULL. (#143812, Ivan Wong)
1340
1341 Sun Jun  6 15:23:00 2004  Pawan Chitrakr  <pawan@nplinu.org>
1342
1343         * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1344
1345 Fri Jun  4 19:26:47 2004  Manish Singh  <yosh@gimp.org>
1346
1347         * glib/galloca.h: cpp #directives should always have the "#" in the
1348         first column of the the line. Do that for "#pragma alloca". Fixes
1349         bug #143744.
1350
1351 Wed Jun  2 00:57:16 2004  Matthias Clasen  <maclas@gmx.de>
1352
1353         * glib/gtypes.h: Use higher precision for the mathematical
1354         constants.  (#141941, Morten Welinder)
1355
1356 Tue Jun  1 22:01:40 2004  Matthias Clasen  <maclas@gmx.de>
1357
1358         * glib/gmarkup.c (advance_char): Fix an off-by-one error 
1359         in g_markup_parse_context_parse().  (#142794, Morten Welinder)
1360
1361 Sun May 16 23:23:29 2004  Matthias Clasen  <maclas@gmx.de>
1362
1363         Merged from 2.4:
1364         
1365         * glib/gcompletion.c (g_completion_add_items):
1366         (g_completion_remove_items): Remove unnecessary 
1367         checks.  (#142559, Morten Welinder)
1368
1369 2004-05-15  Tor Lillqvist  <tml@iki.fi>
1370
1371         * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1372         is an absolute path and exists. (#138618)
1373
1374 2004-05-14  Tor Lillqvist  <tml@iki.fi>
1375
1376         * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1377         for precision correctly. (#142400)
1378
1379         For backward compatibility with the Trio implementation, make "ll"
1380         format modifer work on Win32, too. Change into "I64" before
1381         passing to the system printf. (#142433)
1382
1383         * tests/printf-test.c (main): Add tests for the above.
1384
1385 2004-05-10  Matthias Clasen  <mclasen@redhat.com>
1386
1387         Merge from 2.4:
1388         
1389         * glib/gmain.c (block_source, unblock_source): Make these 
1390         static.  (#142230, Morten Welinder)
1391
1392 2004-05-10  Tor Lillqvist  <tml@iki.fi>
1393
1394         * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1395         lines. Thanks to Benoît Carpentier.
1396
1397 Sun May  9 02:04:14 2004  Matthias Clasen  <maclas@gmx.de>
1398
1399         Merge from 2.4:
1400         
1401         * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1402         memleak.  (#141998, Nikolai Weibull)
1403
1404 Sat May  8 23:02:26 2004  Matthias Clasen  <maclas@gmx.de>
1405
1406         Merge from 2.4:
1407         
1408         * glib/gutils.h: Remove vestigial g_get_codeset().
1409         * glib/gutils.c (g_get_codeset): Call g_get_charset().
1410         (#137703, Owen Taylor)
1411
1412 2004-05-06  Matthias Clasen  <mclasen@redhat.com>
1413
1414         * configure.in: Bump version number to 2.5.0.
1415
1416 Wed May  5 23:35:44 2004  Matthias Clasen  <maclas@gmx.de>
1417
1418         * glib/gconvert.c (g_filename_from_uri): Quote the file
1419         scheme to mark it as untranslatable. String change.  
1420         (#133144, Danilo Segan)
1421
1422 2004-05-03  Pablo Saratxaga  <pablo@mandrakesoft.com>
1423
1424         * configure.in: Added Walloon (wa) to ALL_LINGUAS
1425
1426 Sun May  2 03:51:59 2004  Manish Singh  <yosh@gimp.org>
1427
1428         * glib/gtypes.h: check for __pentium4__ when deciding whether to
1429         use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1430
1431 2004-05-01  Hans Breuer  <hans@breuer.org>
1432
1433         * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1434         fixes #141563, Steve Lhomme
1435
1436 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
1437
1438         * === Released 2.4.1 ===
1439
1440         * configure.in: Version 2.4.1, interface age 1. 
1441
1442         * NEWS: Updates
1443         
1444 2004-04-25  Tor Lillqvist  <tml@iki.fi>
1445
1446         * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1447         Plug memory leak. (#140770, John Ehresman)
1448
1449 2004-04-23  Matthias Clasen  <mclasen@redhat.com>
1450
1451         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): 
1452         Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1453         point.  (#139134, Piotr Klaban)
1454
1455         * glib/gconvert.c (open_converter): Don't call g_strerror() here, 
1456         since it can lead to infinite recursion.  (#139133, Piotr Klaban)
1457
1458 2004-04-22  Matthias Clasen  <mclasen@redhat.com>
1459
1460         * tests/testglib.c (main): Trivial warning fix.  (#140345)
1461
1462         * tests/queue-test.c (main): Add some tests for off-by-one errors.
1463
1464         * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one 
1465         error.  (#139703, Philippe Blain)
1466
1467         * tests/testglib.c (main): Add testcases for g_message() involving
1468         non-printable and unsafe characters.
1469
1470         * glib/gmessages.c (escape_string): Don't assume that
1471         string->str remains unchanged over g_string_insert() 
1472         calls.  (#139030, Christophe Saout)
1473
1474         * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a 
1475         locale-specific decimal separator directly follows a 
1476         number.  (#138424, Nickolay V. Shmyrev)
1477
1478         * tests/strtod-test.c (main): Add some more testcases.
1479
1480         * glib/gmain.c (g_main_context_query): Only set time_is_current to 
1481         FALSE if context->timeout is not zero.  (#137795, Christian Krause)
1482
1483 2004-04-21  Matthias Clasen  <mclasen@redhat.com>
1484
1485         * tests/printf-test.c (main): Comment out a nonessential testcase
1486         which fails on HP-UX.  (#136283, Jonas Jonsson)
1487
1488 2004-04-15  Matthias Clasen  <mclasen@redhat.com>
1489
1490         * tests/patterntest.c (main): Add tests for the empty pattern.
1491
1492         * glib/gpattern.c (g_pattern_spec_new): Don't read and write out 
1493         of bounds when the pattern is empty.  (#140032, Stanislav Brabec,
1494         Stefan Fent)
1495
1496 2004-04-10  Tor Lillqvist  <tml@iki.fi>
1497
1498         * glib/gwin32.c (g_win32_getlocale): Add new language and
1499         sublanguage codes, from GNU gettext. (#137958)
1500         
1501         * glib/giowin32.c
1502         * glib/gmain.c
1503         * glib/gstrfuncs.c
1504         * glib/gthread.c: Decorating variable definitions with
1505         __declspec(dllexport) causes problems on Cygwin build, and isn't
1506         really needed for a native Win32 build with mingw or MSVC, so
1507         remove. (#138402, Roger Leigh)
1508
1509         * glib/libcharset/localcharset.c: Use Win32-specific code also on
1510         Cygwin.
1511         * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1512         on Cygwin, either. (#138412, Roger Leigh)
1513
1514 2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>
1515
1516         * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1517
1518 2004-04-03  Tor Lillqvist  <tml@iki.fi>
1519
1520         * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1521         found on Cygwin, they don't work. (#138401, Roger Leigh)
1522
1523 2004-03-31  Tor Lillqvist  <tml@iki.fi>
1524
1525         * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1526         Leigh)
1527
1528         * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1529         on Cygwin. (#138423, Roger Leigh)
1530
1531 2004-03-30  Adam Weinberger  <adamw@gnome.org>
1532
1533         * configure.in: Added en_CA to ALL_LINGUAS.
1534
1535 2004-03-21  Tor Lillqvist  <tml@iki.fi>
1536
1537         * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1538         cases where a drive letter is present. For 'a:' or 'a:foo', return
1539         'a:.'. This is mostly just for consistency with the behaviour
1540         without a drive letter. But very important is to for 'a:\foo' or
1541         'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1542         instead of backslashes.) (#137316)
1543
1544         * tests/dirname-test.c (main): More complete testing on Win32. If
1545         a test fails, include expected and actual result in error message.
1546
1547 Fri Mar 19 15:21:09 2004  Owen Taylor  <otaylor@redhat.com>
1548
1549         * glib/gmain.c: Fix the accidental revert of the
1550         fixes from #112222 that happened when the GChildWatch
1551         code was added. (Caught by Christian Persch)
1552
1553 Fri Mar 19 11:07:06 2004  Owen Taylor  <otaylor@redhat.com>
1554
1555         * tests/atomic-test.c (main): Make computation
1556         of "biggest_pointer" vaguely more portable.
1557         (#137498, Jonas Jonsson)
1558
1559 2004-03-16  Tor Lillqvist  <tml@iki.fi>
1560
1561         * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1562         on Win32) case, where the 64-bit type is called long long, but the
1563         system printf/scanf format modifier for 64-bit integers is still I64.
1564
1565 2004-03-16  Gareth Owen  <gowen72@yahoo.com>
1566
1567         * configure.in: Added en_GB to ALL_LINGUAS
1568