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