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