Reading access to ref_count only with g_atomic_int_get().
[glib.git] / ChangeLog
blob3eabce1528955498561a2198a076b2e08be454fa
1 2004-02-27  Sebastian Wilhelmi  <seppi@seppi.de>
3         * glib/gasyncqueue.c, glib/gasyncqueue.h: Use
4         g_atomic_int_(inc|dec_and_test) for reference
5         counting. g_async_queue_unref_and_unlock and
6         g_async_queue_ref_locked is deprecated, but still there to
7         preserve ABI.
9         * glib/gasyncqueue.c, glib/gasyncqueue.h: Reading access to
10         ref_count only with g_atomic_int_get().
12 Fri Feb 27 02:00:34 2004  Matthias Clasen  <maclas@gmx.de>
14         * acglib.m4: quote AC_DEFUN macro names so automake
15         1.8 won't whine at us.  (#134882)
17 Fri Feb 27 01:44:41 2004  Matthias Clasen <maclas@gmx.de>
19         * glib/gdate.c: Translate from locale era to AD in 
20         g_date_set_parse().  (#133400, Theppitak Karoonboonyanan)
22 Fri Feb 27 00:46:29 2004  Matthias Clasen  <maclas@gmx.de>
24         * glib/gstrfuncs.c (g_strerror): Don't modify errno.  (#116617, 
25         Balazs Scheidler)
27 2004-02-26  Sebastian Wilhelmi  <seppi@seppi.de>
29         * glib/gatomic.h: Fix the !G_THREADS_ENABLED case.
31         * tests/child-test.c (main): Only run, if threads are enabled.
33         * glib/gatomic.h: empty G_ATOMIC_MEMORY_BARRIER() definition for
34         !G_THREADS_ENABLED
36         * glib/gthread.h: Define g_once and
37         g_static_mutex_get_mutex_impl_shortcut in terms of
38         G_MEMORY_BARRIER, if defined and if we can inline.
40         * configure.in: Remove double checked locking feature check.
42         * configure.in, config.h.win32.in, glib/gthread.c: Removed the PID
43         niceness surrogate for thread priorities as requested by Tim. It
44         does more harm than good.
46         * glib/gatomic.c, glib/gatomic.h: New files to implement atomic
47         operations for different platforms. Fixes bug #63621.
49         * glib/glib.h: Include gatomic.h.
51         * configure.in: Add test for assembler routines for atomic operations.
53         * glib/Makefile.am: Add gatomic.c, gatomic.h.
55         * tests/Makefile.am, tests/atomic-test.c: Unit test for atomic
56         operations.
58 2003-02-26  Hans Breuer  <hans@breuer.org>
60         * glib/glib.def : added g_hash_table_find and a
61         bunch of g_queue_*
63         * glib/gmain.c : make it compile on win32, 
64         child_wake_up_pipe replaced by semaphore like it is done
65         for the other wake_up_pipe
67         * config.h.win32.in : added HAVE_INT64_AND_I64
68         * glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64,
69         and typedef for GPid
71         * test/env-test.c : don't let the local log function
72         collide in namespace with standard C
74 2004-02-25  Sebastian Wilhelmi  <seppi@seppi.de>
76         * configure.in, glib/gthread.c: For the PID thread priorities
77         surrogate use gettid instead of getpid. This also works with nptl
78         (on linux-2.6), as well as with linuxthreads (on linux-2.4).
80 2004-02-24  Sebastian Wilhelmi  <seppi@seppi.de>
82         * glib/grand.c: Add Since: 2.4, where due
84 Tue Feb 24 14:09:21 2004  Owen Taylor  <otaylor@redhat.com>
86         * === Released 2.3.3 ===
88         * configure.in: Version 2.3.3, interface age 0.
90 Mon Feb 23 22:24:00 2004  Matthias Clasen  <maclas@gmx.de>
92         * NEWS: Start of 2.3.3 section.
94 Sun Feb 22 02:32:14 2004  Matthias Clasen  <maclas@gmx.de>
96         * configure.in: Set the gmodule suffix to 'a' for aix and 
97         use the aix gmodule implementation.  (#85930, Laurent Vivier)
99 Sun Feb 22 00:47:04 2004  Matthias Clasen  <maclas@gmx.de>
101         * glib/gnode.c (g_node_copy_deep): New function to deep-copy a 
102         GNode and its children.  (#93464, James M. Cape)
104 Sat Feb 21 15:42:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
106         * glib/gqueue.c: Some documentation fixes.
108 Sat Feb 21 13:45:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
110         * glib/gqueue.[ch]: Extend GQueue API to match the GList
111         API. (#78414).
113         * tests/queue-test.c: Update test suite to cover the new API.
115 Fri Feb 20 03:02:05 2004  Tim Janik  <timj@gtk.org>
117         * glib/ghash.[hc]: applied patch from #131937 with slight
118         renames. provides g_hash_table_find().
120 Fri Feb 20 02:39:03 2004  Tim Janik  <timj@gtk.org>
122         * applied patch from David Schleef <ds@schleef.org> which implements
123         a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global
124         symbol registration.
126 Thu Feb 19 18:40:01 2004  Tim Janik  <timj@gtk.org>
128         * glib/gstring.[hc]: for G_CAN_INLINE environments, inline
129         g_string_append_c() for efficiency. (vaguely based on #118707).
131 Wed Feb 18 23:57:42 2004  Matthias Clasen  <maclas@gmx.de>
133         * glib/gmain.c: Include signal.h for SIGCHLD.  (#134622, Damien
134         Carbery)
136 2004-02-18  Sebastian Wilhelmi  <seppi@seppi.de>
138         * glib/gasyncqueue.c: Lazy creation of GCond. Only
139         signal GCond, if threads are waiting.
141         * glib/gmain.c (g_main_context_new): Set context->wake_up_pipe
142         only for G_THREADS_ENABLED.
144 Sat Feb 14 11:05:26 2004  Manish Singh  <yosh@gimp.org>
146         * configure.in: Remove unnecessary STRIP_* definitions, and GNU
147         make check. Really fixes #134102.
149 Sat Feb 14 02:11:08 2004  Matthias Clasen  <maclas@gmx.de>
151         * configure.in: Make the check for GNU make work when MAKE is a 
152         full path.  (#134102, Julio M. Merino Vidal)
154 Sat Feb 14 02:08:03 2004  Matthias Clasen  <maclas@gmx.de>
156         * configure.in: Suppress xsltproc and xmlcatalog checks
157         if enable_man=no.  (#134091, Julio M. Merino Vidal)
159 Sat Feb 14 01:21:34 2004  Matthias Clasen  <maclas@gmx.de>
161         * glib/gmain.h: 
162         * glib/gmain.c (g_child_watch_source_new): 
163         * glib/gmain.c (g_child_watch_add): 
164         * glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a
165         GSource. This is a partial implementation of the "Unix signal 
166         source".  (#50296, Jonathan R. Blandford)
168         * configure.in: Add the necessary configury to typedef GPid
169         appropriately.
171         * tests/Makefile.am:
172         * tests/child-test.c: Test child_watch sources.
174 Sat Feb  7 15:02:01 2004  Manish Singh  <yosh@gimp.org>
176         * tests/type-test.c: Fix broken test for gsize formats.
178 2004-02-05  Robert Sedak  <robert.sedak@sk.htnet.hr>
180         * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
182 Wed Feb  4 17:58:51 2004  Manish Singh  <yosh@gimp.org>
184         * glib/gcompletion.h: Add prototype for g_completion_complete_utf8().
186         * tests/completion-test.c: #include <string.h>
188 2004-02-05  Tor Lillqvist  <tml@iki.fi>
190         * glib/glib.def: Add g_completion_complete_utf8.
192 Thu Feb  5 01:19:12 2004  Matthias Clasen  <maclas@gmx.de>
194         * tests/file-test.c (test_mkstemp): Weaken an g_assert() to a 
195         g_warning(), since apparently nothing in Posix forces mkstemp()
196         to reject templates without any X's.  (#133397)
198 Thu Feb  5 00:56:28 2004  Matthias Clasen  <maclas@gmx.de>
200         * glib/gcompletion.c (g_completion_complete_utf8): New function which
201         works like g_completion_complete(), but strips a trailing incomplete
202         UTF-8 character from the prefix.  (#133313, Theppitak Karoonboonyanan)
204         * tests/completion-test.c (main): Some GCompletion tests.
206         * tests/Makefile.am: Add completion-test.
208 2004-02-01  Tor Lillqvist  <tml@iki.fi>
210         * glib/glib.def: Add g_strsplit_set.
212 Sat Jan 31 03:13:56 2004  Matthias Clasen  <maclas@gmx.de>
214         * glib/garray.c (g_byte_array_remove_range): Don't return FALSE
215         from a pointer function.  (#131472, Morten Welinder)
217 2004-01-30  Noah Levitt  <nlevitt@columbia.edu>
219         * glib/gunicomp.h:
220         * glib/gunidecomp.c:
221         * glib/gen-unicode-tables.pl: Size compose_table correctly. (#123421,
222         Simon Josefsson)
224         * glib/gen-unicode-tables.pl: Get rid of some new warnings from perl
225         5.8.1.
227 Tue Jan 27 18:45:47 2004  Manish Singh  <yosh@gimp.org>
229         * m4macros/glib-2.0.m4
230         * m4macros/glib-gettext.m4: quote AC_DEFUN macro names so automake
231         1.8 won't whine at us.
233 Wed Jan 28 01:39:21 2004  Matthias Clasen  <maclas@gmx.de>
235         * glib/gstrfuncs.h: 
236         * glib/gstrfuncs.c (g_strsplit_set): New function, a cross 
237         between g_strsplit() and strtok().  (#88329, Soeren Sandmann)
239         * tests/strfunc-test.c (main): Add g_strsplit_set() tests.
240         
241 Fri Jan 23 22:49:52 2004  Matthias Clasen  <maclas@gmx.de>
243         * glib/gutils.c (g_get_any_init): Sigh, protect against
244         pw->pw_gecos being "" as well.  (#132317, Kaj-Michael Lang)
245         
246 2004-01-23  Tor Lillqvist  <tml@iki.fi>
248         * glib/glib.def: Add new functions.
250         * glib/grand.c: Don't include <unistd.h> unless
251         HAVE_UNISTD_H. Include <process.h> on G_OS_WIN32.
252         (g_rand_new): Use getppid() only on G_OS_UNIX.
254 Thu Jan 22 15:16:11 2004  Owen Taylor  <otaylor@redhat.com>
256         * === Released 2.3.2 ===
258 Thu Jan 22 13:55:44 2004  Owen Taylor  <otaylor@redhat.com>
260         * glib/gtimer.c: Add g_timer_continue().
261         (#98536, Tim-Philipp Müller)
263         * configure.in: Version 2.3.2, interface age 0.
265         * NEWS: tweak, finish.
267 Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
269         * glib/gutils.c (g_get_any_init): Protect against
270         pw->pw_gecos being NULL.
272 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
274         * glib/gutils.c (g_get_any_init): Don't treat the Win32
275         user name like a gecos field, and when extracting a real
276         name from a gecos field, replace '&' by the capitalized
277         user name (a traditional passwd feature).  
278         (#118973, reported by Soeren Boll Overgaard)
280 Tue Jan 20 22:31:22 2004  Matthias Clasen  <maclas@gmx.de>
282         * NEWS: Start of 2.3.2 section.
284 Fri Jan 16 21:45:56 2004  Matthias Clasen  <maclas@gmx.de>
286         * glib/gstring.c (g_string_ascii_up): Forgot to fix this one.
288 Thu Jan 15 22:35:04 2004  Matthias Clasen  <maclas@gmx.de>
290         * glib/gstring.c (g_string_up): 
291         * glib/gstring.c (g_string_down): 
292         * glib/gstring.c (g_string_ascii_down): Move initialization of
293         variables after g_return_val_if_fail.  (#131564, Olivier Poncet)
295 Sun Jan 11 16:13:20 2004  Manish Singh  <yosh@gimp.org>
297         * configure.in: Add G_MAXSIZE, define in terms of G_MAXUfoo.
299         * tests/type-test.c: Add test for G_MAXSIZE.
301         * glibconfig.h.win32.in: Cleanup, add some missing bits.
303 Sun Jan 11 16:05:35 2004  Manish Singh  <yosh@gimp.org>
305         * glib/giounix.c: #define _POSIX_SOURCE for SSIZE_MAX. Fixes #128853.
307 Sat Jan 10 00:11:12 2004  Manish Singh  <yosh@gimp.org>
309         * glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness
310         fixes.
312         * docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the
313         above take gulongs now. My docs suck, someone should revisit it.
315 Fri Dec 19 11:49:21 2003  George Lebl <jirka@5z.com>
317         * glib/grand.c
318           glib/grand.h (g_rand_new) (g_rand_new_with_seed)
319           (g_rand_new_with_seed_array) (g_rand_set_seed_array):  Add
320           the init_by_array functionality from the reference implementation
321           of the mersenne twister (mt19937ar.c) and change the naming
322           to fit with the rest of the grand API.  New functions are
323           g_rand_new_with_seed_array, g_rand_set_seed_array.  This is only
324           reliable/tested for the 2.2 version of the seeding as that's what
325           the reference implementation uses.  Also modify g_rand_new to
326           get 4 longs from /dev/urandom since that will always be available
327           anyway and we get more entropy and if /dev/urandom is unavailable
328           use also 4 longs for seeding using secs, usecs, getpid and getppid.
329           For version 2.0 use only a simple seed again but be more careful
330           about seeding with secs/usecs in this case.
332         * glib/grand.c
333           glib/grand.h (g_rand_copy):  Add g_rand_copy function to copy the
334           current state of the random number generator.
336         * glib/grand.c (g_rand_new):  Add testing for EINTR when reading
337           from /dev/urandom
339         * tests/rand-test.c: add testing of the array seeding stuff against
340           the reference implementation, plus add statistical sanity check
341           to see that the values outputted are truly kind of random.  And
342           check that g_rand_copy truly copies the state by checking a few
343           terms.
345 Tue Jan  6 15:38:30 2004  Owen Taylor  <otaylor@redhat.com>
347         * glib/gutils.h: Check defined (__OPTIMIZE__) not
348         __OPTIMIZE__. (Zack Rusin)
350 2003-12-30  Murray Cumming  <murrayc@usa.net>
351   
352         * gobject/glib-mkenums.in: Added a lowercase_name option, to be used
353         next to the enum declaration, where the flag option is already used,
354         when it is not possible to guess where to put the underscores in the
355         _get_type() function name, for instance for GNOMEVFSURIHide.
357 Fri Dec 26 02:03:58 2003  Matthias Clasen  <maclas@gmx.de>
359         * glib/garray.[hc] (g_ptr_array_foreach): New function to
360         call a function for each element of a GPtrArray.  (#114790)
362         * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
364 Sun Dec 21 22:57:58 2003  Matthias Clasen  <maclas@gmx.de>
366         * m4macros/glib-gettext.m4: Quote macro names to support 
367         reading the file multiple times.  (#125537)
369 Sun Dec 21 22:42:42 2003  Matthias Clasen  <maclas@gmx.de>
371         * glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the
372         mem_chunks list.  (#127096, Balazs Scheidler)
374 2003-12-14  Hans Breuer  <hans@breuer.org>
376         * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
377         return something useful on win32, too. 
379 2003-12-13  Hans Breuer  <hans@breuer.org>
381         * glib/gconvert.c : get_filename_charset() needs to
382         return false for filenames not encoded in utf-8, 
383         which is always true on win32
385         * glibconfig.h.win32.in : (u)int64 modifier isn't the
386         gcc 'll' but always the msvcrt one 'I64'
388         * glib/glib.def : updated
390 Thu Dec 11 10:31:21 2003  Manish Singh  <yosh@gimp.org>
392         * glib/gmacros.h: change #elif with no expression to #else in
393         G_STRFUNC definition. Thanks to Damien Carbery, fixes #129101.
395 Mon Dec  8 12:02:40 2003  Owen Taylor  <otaylor@redhat.com>
397         * === Released 2.3.1 ===
399         * NEWS: Further updates for 2.3.1.
401 Fri Dec  5 12:09:13 2003  Manish Singh  <yosh@gimp.org>
403         * glib/gunidecomp.c (_g_utf8_normalize_wc): fix gint/gsize confusion.
405 2003-12-04  Noah Levitt  <nlevitt@columbia.edu>
407         * glib/gunidecomp.c: Add hangul composition and decomposition to
408         unicode normalization. (#100456)
410         * tests/unicode-normalize.c: Test hangul.
412 Tue Dec  2 02:29:41 2003  Matthias Clasen  <maclas@gmx.de>
414         Fix for #103710, Mark Jones:
415         
416         * glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}.
417         * configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h.
419 Thu Nov 27 17:04:08 2003  Tim Janik  <timj@gtk.org>
421         * glib/gstrfuncs.c (g_strconcat): handle NULL arguments
422         gracefully.
424         * glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
425         current function (since G_STRLOC and G_GNUC_*FUNCTION became
426         unusable with gcc-3.0).
428 Wed Nov 26 16:45:16 2003  Roozbeh Pournader  <roozbeh@sharif.edu>
430         * glib/gstrfuncs.c: Fixed a bad pointer comparison in
431         g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
432         Esfahbod).
434         * tests/strtod-test.c: Fixed the tests to catch the above.
436 Sat Nov 22 14:16:51.15 2003  Andrew Lanoix  <alanoix@umich.edu>
438         * glib/giowin32.c: Bind inter-thread comminication 
439                 sockets to INADDR_LOOPBACK instead of INADDR_ANY.
441 Thu Nov 20 15:09:40 2003  Manish Singh  <yosh@gimp.org>
443         * configure.in: Added G_GSIZE_FORMAT and friends
445         * tests/printf-test.c
446         * tests/testglib.c
447         * tests/type-test.c: Add tests for the above.
449 Mon Nov 17 17:28:10 2003  Manish Singh  <yosh@gimp.org>
451         * tests/thread-test.c (test_g_thread_once): Use GUINT_TO_POINTER
452         for g_thread_create data.
454 Sat Nov 15 23:00:57 2003  Matthias Clasen  <maclas@gmx.de>
456         * glib/guniprop.c (g_utf8_casefold): Add a NULL check
457         to be consistent with the other g_utf8_ functions.  (#121618,
458         Tim-Philipp Müller)
460 2003-11-15  Tor Lillqvist  <tml@iki.fi>
462         * tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use
463         correct glib libraries, with 2.0 in the names. (#126906, John
464         Ehresman)
466 Sat Nov 15 00:46:14 2003  Matthias Clasen  <maclas@gmx.de>
468         * configure.in: Don't blindly set glib_cv_long_long_format to
469         "ll" when using the included printf. As long as the native 
470         printf supports 64bit printing, use the native format.  
471         (#119525, Tor Lillqvist)
473 Fri Nov 14 00:28:46 2003  Matthias Clasen  <maclas@gmx.de>
475         * glib/gi18n.h:
476         * glib/gi18n-lib.h: Also define bind_textdomain_codeset() in
477         the #ifndef ENABLE_NLS case.
479 Wed Nov 12 15:06:27 2003  Owen Taylor  <otaylor@redhat.com>
481         * configure.in: Version 2.3.1, interface age 0.
483         * NEWS: Update for 2.3.1.
485 2003-11-07  Mark McLoughlin  <mark@skynet.ie>
487         * glib/gconvert.c: (get_filename_charset): re-work to
488         retain a copy of the cached charset rather than the
489         actual return value from g_get_charset (which may
490         change). Also, re-initialize the cache if it does
491         change. See bug #126454.
493 Thu Nov  6 00:04:46 2003  Matthias Clasen  <maclas@gmx.de>
495         * glib/gconvert.c (get_filename_charset): Replacement for
496         have_broken_filenames() which consults the environment variable
497         G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
498         * glib/gconvert.c (g_filename_from_utf8): 
499         * glib/gconvert.c (g_filename_to_utf8): 
500         * glib/gconvert.c (_g_convert_thread_init): Use
501         get_filename_charset() instead of have_broken_filenames().
503 Wed Nov  5 22:05:19 2003  Matthias Clasen  <maclas@gmx.de>
505         * glib/gi18n-lib.h: 
506         * glib/gi18n.h: New headers defining common gettext-support
507         macros.
509         * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
510         and gi18n-lib.h.
512         * glib/gstrfuncs.h: 
513         * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
514         the implementation of Q_().
516 2003-11-05  Morten Welinder  <terra@gnome.org>
518         * glib/garray.c (g_ptr_array_remove_range): Make it compile.
519         (#119337, self.)
521         * glib/gstring.c (g_string_insert_len): Handle the case where the
522         to-be-inserted string is a substring of the target string.
523         (g_string_assign): Handle "s = s;".
524         (#114260, self.)
526 Sun Nov  2 01:47:31 2003  Matthias Clasen  <maclas@gmx.de>
528         Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
529         
530         * configure.in (HAVE_INT64_AND_I64): Define for MSVC to 
531         include support for printing __int64 with format %I64 in 
532         the gnulib printf wrappers. 
533         * glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64 
534         and TYPE_UINT64.
535         * glib/gnulib/printf-args.h (struct argument): Add a_int64 and 
536         a_uint64 members.
537         * glib/gnulib/printf-args.c (printf_fetchargs): Support
538         TYPE_INT64 and TYPE_UINT64.
539         * glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
540         modifier and map formats to TYPE_INT64.
541         * glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
542         format modifier I64.
543         * glib/gnulib/README: Document the __int64 support.
544         
545 Sat Nov  1 08:45:38 2003  Owen Taylor  <otaylor@redhat.com>
547         * glib/gmain.c (g_main_context_iterate): Set the
548         return value from the result of g_main_context_check()
549         (after we poll) rather than g_main_context_prepare.
550         (#121675, Padraig O'Briain)
552 Fri Oct 31 00:13:53 2003  Matthias Clasen  <maclas@gmx.de>
554         * configure.in: Remove the semicolon from the definition of
555         g_once(), so that GPOINTER_TO_INT (g_once (...)) works.
557 Tue Oct 28 23:38:30 2003  Matthias Clasen  <maclas@gmx.de>
559         * tests/printf-test.c: Change the %e tests to not check for
560         actual string equality, but rather equality under g_ascii_strtod(),
561         since the number of leading digits in the exponent seems to 
562         be not exactly prescribed by SUS.
564 Fri Oct 24 17:09:04 2003  Owen Taylor  <otaylor@redhat.com>
566         * === Released 2.3.0 ===
568         * NEWS: Small update.
570 2003-10-24  Tor Lillqvist  <tml@iki.fi>
572         * configure.in: Force shared library (DLL) only on Windows.
573         (I don't think that is controversial?) Remove unnecessary
574         AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
575         Win32, it is not used by mingw or MSVC headers.
577         * config.h.win32.in
578         * glibconfig.h.win32.in: Match what configure produces.
579         
580         * glib/gconvert.c
581         * glib/gutils.c: Mark a couple of functions and variables that
582         aren't public as static.
584         * glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
585         it potentially differently, to silence compiler.
587         * glib/glib.def: Add some missing entries.
588         
589         * tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
590         libtestgobject.
592         * tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
593         to g_object_set() and _get().
595 Thu Oct 23 12:38:24 2003  Owen Taylor  <otaylor@redhat.com>
597         * tests/gobject/Makefile.am (dist-hook): Remove 
598         and extra backslash.
600         * tests/gobject/Makefile.am (EXTRA_DIST): Add 
601         testmarshal.list.
603         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
604         missing gunicode-private.h.
606         * tests/testglib.c (main): Fix a warning.
608         * tests/gobject/ifaceinherit.c: Remove check that
609         wasn't supposed to work (adding an interface already
610         added to the derived class to the base class), 
611         fix a bug.
613 Wed Oct 22 23:41:03 2003  Matthias Clasen  <maclas@gmx.de>
615         * NEWS: Update for 2.3.0.
617 Tue Oct 14 17:44:38 2003  Owen Taylor  <otaylor@redhat.com>
619         * tests/gobject/ifaceproperties.c: Test for interface
620         properties and GParamSpecOverride.
622 Wed Oct  8 23:40:26 2003  Matthias Clasen  <maclas@gmx.de>
624         * glib/gmarkup.c (g_markup_printf_escaped): 
625         (g_markup_vprintf_escaped): Document as 2.4 additions.
626         (unescape_text): Implement newline and whitespace normalization
627         according to the XML specification.  (#123919)
628         (g_markup_escape_text): Document whitespace (non)handling.
630 2003-10-05  Matthias Clasen  <maclas@gmx.de>
632         * configure.in: Make the various printf feature test macros
633         reflect the system printf, even when using the included printf.
634         In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h 
635         needs that test result.  (#122973)
637         * glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
638         directly check for _g_vasprintf.
640         * glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
641         if vasprintf() is available.
643         * glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
644         trailing nul to the file. (#122973)
646         * acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test 
647         detect non-C99-compliance of AIX 5.1 and Solaris 
648         vsnprintf().  (#122496)
650 Thu Oct  2 01:15:46 2003  Owen Taylor  <otaylor@redhat.com>
652         * tests/gobject/ifacecheck.c: Test case for
653         g_type_add_interface_check().
655         * tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
657 Thu Oct  2 01:11:39 2003  Owen Taylor  <otaylor@redhat.com>
659         * tests/gobject/ifaceinherit.c: Remove some tests that
660         were testing things that weren't supposed to work; add
661         a test for adding an interface first to the child class,
662         then to the parent class.
664 Thu Oct  2 00:02:55 2003  Owen Taylor  <otaylor@redhat.com>
666         * tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
667         Tests of interface inheritance and overriding.
669 2003-09-30  Tor Lillqvist  <tml@iki.fi>
671         * glib/gspawn-win32.c (do_spawn): Call protect_argv() in
672         do_spawn() instead of in do_spawn_with_pipes() so that we can use
673         the original argv[0] as the program file name parameter to
674         spawnv() in the shortcut (doing without helper process)
675         code. Fixes problem if GIMP 1.3 was installed in a path with
676         spaces in the name.
678 Tue Sep 30 15:31:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
680         * glib/guniprop.c (has_more_above): make the argument const to
681         get rid of warning
683         * glib/garray.c (g_byte_array_remove_range): insert cast to get
684         rid of warning
686 2003-09-29  Tor Lillqvist  <tml@iki.fi>
688         * tests/testglib.c (main): Use hardcoded name for DLL, as there is
689         no reliable way to determine it at compile or run time anyway. 
691 2003-09-29  Matthias Clasen  <maclas@gmx.de>
693         * glib/guniprop.c (g_unichar_get_mirror_char): Add "Since: 2.4" 
694         to docs.
696 Thu Sep 25 15:43:08 2003  Owen Taylor  <otaylor@redhat.com>
698         * tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
699         Dummy dynamic type module for testing type plugin code
700         and dynamic types.
702         * test/gobject/defaultiface.c: Test of 
703         g_type_default_interface_ref() and friends.
705 2003-09-28  Gediminas Paulauskas  <menesis@delfi.lt>
707     * configure.in: Added lt to ALL_LINGUAS.
709 2003-09-25  Tor Lillqvist  <tml@iki.fi>
711         * glib/glib.def: Remove g_bsearch_array_* entries that don't exist
712         any longer. (ABI change?)
714 Thu Sep 25 15:01:37 2003  Owen Taylor  <otaylor@redhat.com>
716         * tests/Makefile.am (SUBDIRS): Add gobject/.
718 Fri Sep 12 16:26:21 2003  Owen Taylor  <otaylor@redhat.com>
720         * tests/gobject/ configure.in: New directory, framework 
721         for automated GObject tests.
723         * tests/gobject/override.c: Move testoverride.c
724         here, automate.
726         * tests/gobject/ifaceinit.c: Move testifaceinit.c here.
728         * tests/gobject/accumulator.c: Test signal accumulators,
729         including g_signal_accumulator_true_handled.
731 2003-09-12  Noah Levitt  <nlevitt@columbia.edu>
733         * glib/gen-unicode-tables.pl: Take a directory where to look for the
734         unicode files on the command line instead of 7 individual files.
736 2003-09-12  Noah Levitt  <nlevitt@columbia.edu>
738         * glib/gen-unicode-tables.pl:
739         * glib/gunichartables.h:
740         * glib/gunicode.h:
741         * glib/guniprop.c: Add g_unichar_get_mirror_char. (#114749)
743 Thu Sep 11 20:11:05 2003  Owen Taylor  <otaylor@redhat.com>
745         * glib/gmarkup.c: Add g_markup_printf_escaped(), 
746         g_markup_vprintf_escaped().
748         * tests/markup-escape-test.c (main): Test for
749         g_markup_escape_text(), g_markup_printf_escaped().
751 2003-09-10  Noah Levitt  <nlevitt@columbia.edu>
753         * glib/gunicodeprivate.h:
754         * glib/gunicollate.c:
755         * glib/gunidecomp.c:
756         * glib/guniprop.c:
757         * tests/casemap.txt:
758         * tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681)
760         * glib/gunicodeprivate.h: Use a private header instead of extern
761         function declarations (_g_utf8_normalize_wc,
762         _g_unichar_combining_class).
764 Mon Sep  8 00:31:10 2003  Stefan Westerfeld  <stefan@space.twc.de>
766         * glib/gbsearcharray.h: inserted casts for C++.
768 2003-08-28  Matthias Clasen  <maclas@gmx.de>
770         * tests/patterntest.c (verbose): Fix a C99ism.  (#120821, Thomas 
771         Klausner)
773 2003-08-25  Tor Lillqvist  <tml@iki.fi>
775         * glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
776         section twice, which might cause a hang. (#120653)
778         * glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
779         valid file descriptor and socket.
781 Mon Aug 25 12:34:36 2003  Owen Taylor  <otaylor@redhat.com>
783         * glib/gmessages.c: Escape control characters in g_logv() output.
784         (#108287, Christian Biere)
786 Mon Aug 25 12:17:20 2003  Owen Taylor  <otaylor@redhat.com>
788         * glib/gmain.c (g_main_context_unref_and_unlock): 
789         When DISABLE_MEM_POOLS is set, loop through and free
790         the poll records explicitely, since g_mem_chunk_destroy()
791         won't do it. (#118121, Morten Welinder)
793 2003-08-22  Samúel Jón Gunnarsson  <sammi@techattack.nu>
795         * is.po: Added "is" to ALL_LINGUAS.
796         
797 2003-08-19  Tor Lillqvist  <tml@iki.fi>
799         * glib/gmessages.c (g_logv): [Win32] Make the fatal error message
800         box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
801         to get a nice stop-sign icon.
803 Tue Aug 19 09:42:06 2003  Owen Taylor  <otaylor@redhat.com>
805         * m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS
806         temporarily, not -lintl. (Problem with fix for 
807         #119171, pointed out by James Henstridge)
809 Tue Aug 19 03:55:29 2003  Tim Janik  <timj@gtk.org>
811         * glib/gbsearcharray.h: license change, no restrictions are made
812         in the new license at all, the implmentation is simply provided
813         "as is" to allow copy-pasting the code into any third-party app.
814         naturally, the implementation is self-contained within the header
815         file to allow this.
816         default to non-shrinking behaviour, allow users to request shrinking
817         via G_BSEARCH_ARRAY_AUTO_SHRINK.
818         creation, deletion functions are now named g_bsearch_array_create()
819         and g_bsearch_array_free(). 
820         fixed const in prototypes, removed cruft.
821         (g_bsearch_array_insert): take only three arguments, do nothing if the
822         node to insert is already there.
823         (g_bsearch_array_replace): insert or replace if the node is already
824         there.
825         (g_bsearch_array_remove): remove nodes by index, the index of a node
826         can be found via g_bsearch_array_get_index().
827         removed other g_bsearch_array_remove*() variants.
828         (g_bsearch_array_lookup): minor optimizations.
829         (g_bsearch_array_lookup_sibling): return nodes on mismatches.
831         * glib/gbsearcharray.c: removed.
833 2003-08-16  Tor Lillqvist  <tml@iki.fi>
835         Fix #117925 (Dov Grobgeld):
837         * glib/gutils.c (g_find_program_in_path, g_basename,
838         g_path_get_basename, g_path_is_absolute, g_path_skip_root,
839         g_path_get_dirname, g_get_any_init): On Win32, look also for
840         slashes ('/') as pathname separators.
842         * glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
843         contains a pathname separator, include the actual one in the error
844         message, instead of always the canonical one.
846         (g_build_filename): Separate implementation on Win32 that looks
847         for either slash or backslash. Document Unix/Windows differences.
849         * tests/testglib.c
850         * tests/strfunc-test.c: Test above functionality on Win32.
852 2003-08-15  Tor Lillqvist  <tml@iki.fi>
854         * glib/gmain.c (g_poll): [Win32] Don't exceed handle array
855         bounds. Warn if there would be too many handles to wait
856         for. (WaitForMultipleObjects() has a relatively low limit of 64
857         handles. The Win32 IO channel code should be fixed not to need to
858         wait for one handle per file or socket being watched. Later.)
860 2003-08-13  Tor Lillqvist  <tml@iki.fi>
862         * glib/Makefile.am
863         * gmodule/Makefile.am
864         * gobject/Makefile.am
865         * gthread/Makefile.am: Use srcdir also in references to the .def
866         files. (#118885, Jeff Bonggren)
868 2003-08-12  Tor Lillqvist  <tml@iki.fi>
870         * glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
871         implementation. It used WideCharToMultiByte(), which is broken as
872         it stores unconvertable characters as fallback characters
873         (question marks) in the destination string without being able to
874         tell how much of the conversion succeeded. Using g_convert() like
875         on Unix is better and simpler. (#117872)
877         (g_locale_to_utf8): No need for the Win32-specific implementation
878         here, either.
880         (have_broken_filenames): Define as TRUE on Win32.
882         (g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
883         have_broken_filenames() now is defined TRUE on Win32, works as
884         before.
885         
886 2003-08-11  Matthias Clasen  <maclas@gmx.de>
888         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
889         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
890         xmlcatalog in PATH.  (#119115) 
892 2003-08-10  Tor Lillqvist  <tml@iki.fi>
894         * glib/gutils.c (g_getenv): Don't use a cache of variable name to
895         value mappings on Win32, as that breaks g_setenv() and
896         g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
897         and in that case return a quarkified string. It is still
898         questionable how necessary expanding embedded environment variable
899         references is. Possibly the whole Win32-specific g_getenv()
900         implementation could be removed. (#119520)
902 2003-08-08  Tor Lillqvist  <tml@iki.fi>
904         * glib/glib.def: Add g_once_impl.
906         * glib/gutils.c (g_setenv): Fix syntax error in the !HAVE_SETENV
907         case.
909 2003-08-08  Matthias Clasen  <maclas@gmx.de>
911         * tests/env-test.c (main): Remove a test for getenv() behaviour
912         which isn't specified by SUS and doesn't work on Solaris.
914 2003-08-07  Matthias Clasen  <maclas@gmx.de>
916         * tests/env-test.c: Add tests for '=' in names and values.
918         * glib/gutils.c (g_setenv, g_unsetenv): Check that the variable
919         name doesn't contain '='. Add a declaration for environ.  (#119338)
921         * acinclude.m4: Tighten the snprintf() test to check behaviour on
922         zero-size buffers.  (#106091) 
924         * tests/patterntest.c: Specify test strings in UTF-8, remove all
925         charset conversion. Replace the NOISY define by a cmdline arg
926         --noisy.   (#115757) 
928 Thu Aug  7 15:01:09 2003  Owen Taylor  <otaylor@redhat.com>
930         * m4macros/glib-gettext.m4: Set $LIBS to include
931         -lintl when checking for dcgettext and 
932         _nl_msg_cat_cntr. (Tim Mooney, #119171)
934 Thu Aug  7 14:15:44 2003  Owen Taylor  <otaylor@redhat.com>
936         * glib/gmain.c (g_idle_source_new): Make the default priority
937         for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
938         expect and document that. (#114461, reported by Andy Wingo)
940 2003-08-06  Noah Levitt  <nlevitt@columbia.edu>
942         * tests/casemap.txt:
943         * tests/gen-casemap-txt.pl: Add test for special case not at inital
944         position in the string, the bug just fixed. (#118957)
946 2003-08-05  Noah Levitt  <nlevitt@columbia.edu>
948         * glib/guniprop.c: Get rid of "len" parameter to output_special_case
949         and output_marks, and make them work more like g_unichar_to_utf8,
950         fixing a bug in the process. (#118957)
952 2003-08-05  Hans Breuer  <hans@breuer.org>
954         * glib/gnulib/makefile.msc : (new file) for msvc build
956         * glib/gnulib/vasnprintf.c : use glib/galloc.h
958         * glib/gnulib/printf.h : #include <stdio.h> for FILE*
960         * glib/makefile.msc.in : replace trio with gnulib
962         * glib/glib.def : updated externals
964         * glib/guniprop.c : fix for guniprop.c(582) : error C2082: 
965         redefinition of formal parameter 'len'
967 2003-08-04  Noah Levitt  <nlevitt@columbia.edu>
969         * tests/unicode-normalize.c: We do handle > BMP now, so test it.
971 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
973         * tests/file-test.c: s/g_read_link/g_file_read_link/ (#118727)
975 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
977         * tests/unicode-encoding.c: Return nonzero exit status if the test
978         fails. (#118729) 
980 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
982         * tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
983         is the last valid unicode character. Add check that U+10ffff is
984         NOTUNICODE. (#118730)
986 2003-07-30  Noah Levitt  <nlevitt@columbia.edu>
988         * glib/gen-unicode-tables.pl:
989         * glib/gunibreak.c:
990         * glib/gunibreak.h:
991         * glib/gunichartables.h:
992         * glib/gunicode.h:
993         * glib/gunicomp.h:
994         * glib/gunidecomp.c:
995         * glib/gunidecomp.h:
996         * glib/guniprop.c:
997         * tests/casefold.txt:
998         * tests/casemap.txt:
999         * tests/gen-casefold-txt.pl:
1000         * tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974)
1002 2003-07-31  Tor Lillqvist  <tml@iki.fi>
1004         * glib/gspawn-win32.c: When possible, manage without the helper
1005         process. (Part of the enhancements outlined in #98737.) Speeds up
1006         GIMP 1.3's first-time-run plug-in query phase a lot.
1008         Plug a file descriptor (and thus Win32 handle) leak: close the
1009         read end of the child error report pipe after use.
1011 2003-07-30  Matthias Clasen  <maclas@gmx.de>
1013         * glib/gutils.c (g_unsetenv): Use same argument name as in header,
1014         to pacify gtk-doc. 
1015         (g_getenv): Move docs inline, add comment about lifespan of return
1016         value. 
1018         * glib-2.0.pc.in (Libs): Remove forgotten @TRIO_LIBS@.  (#118616,
1019         Noah Levitt) 
1021         * glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link()
1022         to better match the remaining file utilities in the g_file_
1023         namespace and to better separate it from readlink(). This is
1024         hopefully no problem as the function is just 2 days old.
1026 2003-07-29  Matthias Clasen  <maclas@gmx.de>
1028         * glib/gqsort.[hc] (g_qsort_with_data): 
1029         * glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri): 
1030         * glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar,
1031         gint, gsize instead of char, int, size_t in the interface for
1032         consistency.  (#118567) 
1034         Replace trio printf() by gnulib vasnprintf():  (#101874)
1035         
1036         * configure.in: Define HAVE_LONG_LONG_FORMAT if system printf
1037         understands %llu; rename enable_trio to enable_included_printf;
1038         add misc. tests needed for gnulib vasnprintf(); define
1039         G_GINT{16,32,64}_MODIFIER in glibconfig.h.
1041         * acinclude.m4: Misc tests needed for gnulib vasnprintf():
1042         AC_FUNC_SNPRINTF_C99, bh_C_SIGNED, jm_AC_TYPE_LONG_LONG, 
1043         gt_TYPE_LONGDOUBLE, gt_TYPE_WCHAR_T, gt_TYPE_WINT_T,
1044         gt_AC_TYPE_INTMAX_T, jm_AC_HEADER_STDINT_H,  
1045         jm_AC_HEADER_INTTYPES_H. 
1047         * glib/Makefile.am: Replace TRIO_SUBDIR by PRINTF_SUBDIR and
1048         trio_libtrio_la by printf_la.  
1050         * glib/gprintfint.h: Include gnulib/printf.h and use _g_gnulib_
1051         functions instead of _g_trio_ functions. 
1053         * glib/trio/*: Removed
1055         * glib/gnulib/*: vasnprintf() implementation from gnulib, patched
1056         to live in the _g_gnulib namespace, use g_malloc instead of
1057         malloc, and support long long printing even if system printf
1058         doesn't. For more details, see glib/gnulib/README.
1059         
1060         * tests/printf-test.c: Add tests for 64 bit printing.
1062 2003-07-28  Matthias Clasen  <maclas@gmx.de>
1064         * glib/gfileutils.h: 
1065         * glib/gfileutils.c: New function g_read_link(). (#72545)
1067         * configure.in: Check for setenv, unsetenv, readlink and symlink.
1069         * tests/file-test.c (test_readlink): Test for g_read_link() (only
1070         on systems supporting symbolic links).
1072         * tests/env-test.c: New test for g_{get,set,unset}env().
1074         * tests/Makefile.am (test_programs): Add env-test.
1076         * glib/gutils.h: 
1077         * glib/gutils.c: New functions g_setenv() and g_unsetenv().  (#100763)
1079 2003-07-26  Matthias Clasen  <maclas@gmx.de>
1081         * tests/printf-test.c: New test, tests printf behaviour. This was
1082         already mentioned in Makefile.am by accident.
1084         * tests/file-test.c: New test, currently contains mkstemp tests
1085         copied from testglib.c. 
1087         * tests/Makefile.am (test_programs): Add file-test.
1089         * glib/gprintf.c: Fix all g_return_val_if_fail () checks to return
1090         -1 on error to match the behaviour of the stdio printf() family.
1092         * glib/garray.h: 
1093         * glib/garray.c (g_{,byte,pointer}_remove_range): New functions to
1094         remove a range of elements from an array.  (#94879, Nalin Dahyabhai)
1096         * glib/gmessages.c (g_logv): Remove the 1024 char limit in the
1097         common (non-recursive) case.
1099 2003-07-25  Matthias Clasen  <maclas@gmx.de>
1101         * glib/gwin32.c: 
1102         * glib/gutf8.c: 
1103         * glib/gunicollate.c: 
1104         * glib/gtree.c: 
1105         * glib/gspawn.c: 
1106         * glib/gmain.c: 
1107         * glib/giochannel.c: 
1108         * glib/gfileutils.c: 
1109         * glib/gerror.c: 
1110         * glib/gconvert.c: 
1111         * glib/gasyncqueue.c: 
1112         * glib/gmem.c: Remove some explicit Docbook markup which is no
1113         longer necessary since gtk-doc does the right thing.
1115         * glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity.
1117 2003-07-20  Hans Breuer  <hans@breuer.org>
1119         * glib/trio/makefile.msc : (new file) for msvc build
1121         * glib/glib.def : removed some duplicated entries
1123         * glib/gscanner.c : add same workaround for MSVC(5.0)
1124         which does not allow to cast an uint64 to float.
1125         Same as in gvaluetransform.c
1126         Also move #include <io.h> behind inclusion of "glib.h"
1127         which defines the needed G_OS_WIN32
1129         * glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
1130         as well as shell32.lib
1132         * tests/spawn-test.c : include <io.h> on win32
1134 2003-07-12  Matthias Clasen  <maclas@gmx.de>
1136         * glib/gprintf.c: Doc additions.
1138 2003-07-10  Joel Brich <joel.brich@laposte.net>
1140         * configure.in: Added "eo" to ALL_LINGUAS.
1142 Wed Jul  9 16:27:26 2003  Manish Singh  <yosh@gimp.org>
1144         * glib/gmain.c (g_main_context_unref_and_unlock): check if
1145         context->poll_chunk is set before trying to destroy it. For example,
1146         this can happen if no sources are added to a context before it is
1147         freed.
1149 2003-07-09  Morten Welinder  <terra@gnome.org>
1151         * glib/gprintf.c (g_vasprintf): Avoid var declaration after
1152         statement.
1154 2003-07-09  Matthias Clasen  <maclas@gmx.de>
1156         Support for one-time initialization functions.  (#69668, Sebastian
1157         Wilhelmi) 
1159         * configure.in: Check whether double checked locking is safe,
1160         define g_once() in glibconfig.h accordingly.
1161         * glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
1162         * glib/gthread.c (g_once_impl): Fallback implementation using a
1163         mutex if double checked locking is unsafe.
1164         * tests/thread-test.c: Add tests for g_once().
1166 2003-07-02  Matthias Clasen  <maclas@gmx.de>
1168         * glib/gstrfuncs.c (g_strfreev): Move docs inline, document behavior 
1169         for NULL. (#116439, Steve Chaplin)
1171 2003-06-25  Abigail Brady  <morwen@evilmagic.org>
1173         * glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx
1174         and \Uxxxxyyyy escapes instead for fallback instead of perl-style
1175         \X{xxxx} ones, fixing bug #114284.
1177 2003-06-25  Tor Lillqvist  <tml@iki.fi>
1179         * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
1180         &optlen to getsockopt() instead of NULL. Don't remember why I
1181         thought that NULL could be used (as we don't actually use the
1182         returned value for anything), the Platform SDK documentation
1183         doesn't imply so.
1185 2003-06-19  Matthias Clasen  <maclas@gmx.de>
1187         * glib/gutils.c (g_path_get_basename): Move the documentation
1188         inline and add details.  (#108505)
1190 2003-06-18  Matthias Clasen  <maclas@gmx.de>
1192         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
1193         macros to check for XML catalog contents and path, borrowed from
1194         gtk-doc. 
1196         * configure.in: New option --enable-man to enable regeneration of
1197         man pages from Docbook, if the necessary tools are found.
1199 2003-06-17  Matthias Clasen  <maclas@gmx.de>
1201         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
1202         macros to check for XML catalog contents and path, borrowed from
1203         gtk-doc. 
1204         
1205         * configure.in: New option --enable-man to enable regeneration of
1206         man pages from Docbook, if the necessary tools are found.
1208 2003-06-15  Tor Lillqvist  <tml@iki.fi>
1210         * glib-zip.in (DLLDIR): Test where the DLLs actually are.
1212         * README.win32: Point to FSF's binary Win32 distributions of
1213         libiconv and gettext-runtime.
1215 2003-06-11  Tor Lillqvist  <tml@iki.fi>
1217         * glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
1218         subdirectory, so get them from there.
1220         * glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
1221         same way as the po files for Serbian in Latin and Cyrillic script.
1223 2003-06-11  Sebastian Wilhelmi  <seppi@seppi.de>
1225         * configure.in: Remove false &. Spotted by Albert Chin
1226         <gtk-devel-list@thewrittenword.com>.
1228 2003-06-08  Tor Lillqvist  <tml@iki.fi>
1230         * glib/giowin32.c: Fix indentation and spacing. Use
1231         INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
1232         gethostbyaddr().
1234 Sat Jun  6 16:18:10 2003  Andrew Lanoix  <alanoix@umich.edu>
1236         * glib/giowin32.c: Resolved thread deadlocks in socket 
1237         ichannel code to support Add-Cancel-Add watch functionality 
1238         on windows. Also cleaned up socket error handling to not 
1239         segfault and do the right thing.
1240         
1241 Fri Jun  6 10:24:23 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
1243         * m4macros/glib-gettext.m4: Test for Solaris native gettext 
1244         in libc, seeing if it supports GNU catalog format (#85217).
1245         
1246 Thu Jun  5 23:40:31 2003  Owen Taylor  <otaylor@redhat.com>
1248         * glib/gmain.c: When dispatching a source that is
1249         !CAN_RECURSE, temporarily remove any file descriptors
1250         that that source has registered from the main loop, to keep
1251         recursive main loops from busy-waiting if input
1252         becomes available on one of those file descriptors.
1253         (#112222, Christian Krause)
1255         * glib/gmain.c (g_source_set_priority): Properly
1256         remove the source from the context's source list
1257         and reinsert it sorted, rather than simply setting
1258         source->next/prev to NULL! (#114274)
1260 2003-06-06  Matthias Clasen  <maclas@gmx.de>
1262         * glib/gstring.c (g_string_append_printf_internal): Use
1263         g_vasprintf() and g_string_append_len(), thus enabling embedded
1264         nuls in the result of g_string_printf().  (#92492, Owen Taylor)
1266         * tests/string-test.c: Add a test for embedded nuls in the
1267         result of g_string_printf().
1269         * glib/gprintf.[ch]: Synchronize argument names with headers and docs.
1270         (g_vasprintf): An implementation of vasprintf(), code was lifted
1271         from g_strdup_vprintf().  (#112365)
1273         * glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
1275 2003-06-05  Tor Lillqvist  <tml@iki.fi>
1277         * glib/giochannel.h
1278         * glib/gmain.h: Remove bogus (Win32-only) declaration of
1279         g_main_poll_win32_msg_add(). No such function exists.
1281         * glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
1282         better warning messages.
1284 2003-06-04  Noah Levitt  <nlevitt@columbia.edu>
1286         * glib/gunidecomp.h (combine): Fix typo (#114375). Also, make the
1287         function static.
1289 2003-06-03  Sebastian Wilhelmi  <seppi@seppi.de>
1291         * configure.in: Test for pthread_setschedparam. If not existant,
1292         disable priorities. (#104718)
1294 Mon Jun  2 14:18:21 2003  Owen Taylor  <otaylor@redhat.com>
1296         Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
1298         * glib/gspawn.c (read_data): Don't read() into '&buf', while this
1299         is technically okay - it is clearer as just 'buf'.
1300         (write_all): New helper function that handles write() interrupts.
1301         (write_err_and_exit): Use write_all() instead of write().
1302         (fork_exec_with_pipes): Same here.
1303         
1304 Sun Jun  1 09:42:36 2003  Owen Taylor  <otaylor@redhat.com>
1306         * glib/giochannel.c (g_io_error_get_from_g_error): Put 
1307         the g_return_val_if_fail() in the right place.
1309 Fri May 31 1:17:45 2003  Ray Strode  <halfline@hawaii.rr.com>
1311         * glib/giochannel.c (g_io_channel_error_from_errno):
1312         Fix typo: should be G_IO_ERROR_UNKNOWN not
1313         G_ERROR_ERROR_UNKNOWN
1315 Fri May 30 19:23:47 2003  Owen Taylor  <otaylor@redhat.com>
1317         * glib/gstrfuncs.c (g_ascii_strncasecmp)
1318         * glib/gstrfuncs.c (g_ascii_strcasecmp): Use TOLOWER()
1319         macro instead of g_ascii_tolower() (#107138)
1321 Fri May 30 19:09:25 2003  Owen Taylor  <otaylor@redhat.com>
1323         * m4macros/glib-gettext.m4: Backport better handling
1324         of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon)
1326 Fri May 30 18:46:05 2003  Owen Taylor  <otaylor@redhat.com>
1328         * m4macros/glib-gettext.m4: expand $exec_prefix as
1329         well as $prefix. (#107290, reported by Morten Welinder,
1330         patch from Raja Harinath)
1332 Fri May 30 17:24:23 2003  Owen Taylor  <otaylor@redhat.com>
1334         * glib-gettextize.in: Quote $srcdir to handle $srcdir
1335         with spaces (#107850, Evan Martin)
1337 Fri May 30 16:48:26 2003  Owen Taylor  <otaylor@redhat.com>
1339         * glib/giochannel.c (g_io_channel_error_from_errno):
1340         Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR,
1341         since close() can return EINTR. (#11842, Balazs Scheidler)
1343 Fri May 30 15:51:43 2003  Owen Taylor  <otaylor@redhat.com>
1345         * glib/giochannel.c (g_io_error_get_from_g_error): 
1346         Do a g_return_val_if_fail() on err == NULL to be a
1347         bit more robuts on buggy IO channel implementations.
1348         (#113396, Dan Winship)
1350 Tue May 27 19:56:35 2003  Owen Taylor  <otaylor@redhat.com>
1352         * glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token
1353         before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar,
1354         #113797)
1356 2003-05-28  Matthias Clasen  <maclas@gmx.de>
1358         * tests/patterntest.c: Remain silent when sucessful. 
1360         * tests/Makefile.am: Add patterntest to make check.  (113143)
1362 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1364         * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
1365         strcpy. (#106988, Christian Biere)
1367 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1369         * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
1370         strcpy. (#106988, Christian Biere)
1372 2003-05-23  Noah Levitt  <nlevitt@columbia.edu>
1374         * glib/gutf8.c: Fix typo in UNICODE_VALID (related to #107427).
1376 2003-05-23  Noah Levitt  <nlevitt@columbia.edu>
1378         * glib/guniprop.c: Remove stale comment.
1380 2003-05-22  Noah Levitt  <nlevitt@columbia.edu>
1382         * glib/guniprop.c: Update g_unichar_iswide to Unicode 4.0 (#113404).
1384 2003-05-21  Noah Levitt  <nlevitt@columbia.edu>
1386         * glib/guniprop.c: Fix obscure typo in case conversion routine
1387         (#113469).
1389 Tue May 20 14:14:55 2003  Manish Singh  <yosh@gimp.org>
1391         * configure.in: wrap 64-bit MIN/MAX limit constants in
1392         G_GINT64_CONSTANT. Fixes bug #108699.
1394 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1396         * glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should
1397         return G_UNICODE_BREAK_UNKNOWN if the character is greater than
1398         G_UNICODE_LAST_CHAR.
1400 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1402         * glib/glist.c: Remove unused function g_list_sort2 (bug #113203).
1404 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1406         * glib/gunidecomp.c: Fix off-by-one error in
1407         g_unicode_canonical_ordering (bug #113260).
1409 2003-05-19 Arafat Medini <lumina@silverpen.de>
1411         * ar.po: Added ar to ALL_LINGUAS
1413 2003-05-17  Telsa Gwynne  <hobbit@aloss.ukuu.org.uk>
1415         * configure.in: Added cy to ALL_LINGUAS
1417 2003-05-05  Matthias Clasen  <maclas@gmx.de>
1419         * glib/gstrfuncs.c (g_ascii_dtostr): 
1420         (g_ascii_formatd): 
1421         (g_ascii_strtod): Some doc fixes.  (#111805)
1423 2003-05-05  Christian Rose  <menthos@menthos.com>
1425         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
1427 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
1429         * autogen.sh (have_libtool): Accept libtool-1.5. (#111483)
1431 2003-04-09  Matthias Clasen  <maclas@gmx.de>
1433         * INSTALL: 
1434         * INSTALL.in: Remove list of configuration flags, since these 
1435         are already documented in docs/reference/glib/building.sgml.
1437 2003-04-08  Matthias Clasen  <maclas@gmx.de>
1439         * INSTALL: Move Cross-compliation information to reference manual.
1441 Mon Apr  7 13:40:28 2003  Owen Taylor  <otaylor@redhat.com>
1443         * glib/gmain.c (g_main_loop_run): When waiting for
1444         the main loop to be freed up, wait on either
1445         !loop->is_running or got_ownership, not both.
1446         (Caused gtk_dialog_run() not to work in other
1447         threads, reported by Jean-Yves Lefort)
1449 2003-04-07  Matthias Clasen  <maclas@gmx.de>
1451         * glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.
1452         (#110087) 
1454 2003-04-01  Tor Lillqvist  <tml@iki.fi>
1456         * glib/glib.def: Add g_string_chunk_insert_len.
1458 2003-04-01  Matthias Clasen  <maclas@gmx.de>
1460         * glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
1461         insert possible non-nul-terminated byte sequences into a string
1462         chunk.  (#96279)
1463         (g_string_chunk_insert): Implement in terms of
1464         g_string_chunk_insert_len() now.
1466 2003-03-30  Matthias Clasen  <maclas@gmx.de>
1468         * glib/gstring.c (g_string_new): Optimize the common cases 
1469         (init == NULL or init == "") a bit.
1470         * glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
1471         glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
1472         glib/gspawn.c, gobject/gvaluetransform.c: replace uses of 
1473         g_string_new ("") by g_string_new (NULL).  (#106973, Morten Welinder)
1475         * glib/gutf8.c (UNICODE_VALID): Update to Unicode 3.1 and optimize
1476         a bit.  (#107427, Noah Lewitt)
1478         * glib/libcharset/config.charset: Add cp1251 support for Solaris.
1479         (#104738, Hidetoshi Tajima)
1481         * glib/gconvert.c (UnsafeCharacterSet): Get rid of
1482         UNSAFE_DOS_PATH.
1483         (acceptable): Align with RFC2396.  (#59653)
1485         * tests/uri-test.c: Adjust to the changes above.
1487 2003-03-26  Christian Rose  <menthos@menthos.com>
1489         * configure.in: Added "yi" to ALL_LINGUAS.
1491 2003-03-19  Matthias Clasen  <maclas@gmx.de>
1493         * glib/giochannel.c (g_io_channel_read_to_end): Fix docs.
1495 2003-03-19  Anders Carlsson  <andersca@codefactory.se>
1497         * configure.in: Bump version to 2.3.0
1499 2003-03-14  Sebastian Wilhelmi  <seppi@seppi.de>
1501         * glib/gthread.c: Do not define function g_thread_init_glib, if
1502         not G_THREADS_ENABLED. It's not called bu g_thread_init() then,
1503         but calls other, in that case undefined functions.
1505 2003-03-06  Matthias Clasen  <maclas@gmx.de>
1507         * glib/gmain.c (g_main_context_find_source_by_id): 
1508         (g_main_context_find_source_by_funcs_user_data): Fix FALSE/NULL
1509         confusion.  (#107646, Morten Welinder)
1511 2003-03-01  James Henstridge  <james@daa.com.au>
1513         * autogen.sh: require automake 1.7.  Add calls to libtoolize and
1514         gtkdocize.  Clean up some of the error messages.
1516         * configure.in: move version declaration to the top of the file
1517         (before AC_INIT), using M4 macros.
1518         GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
1519         of M4 macro expansion in help messages instead.
1520         Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
1521         format help strings.  Use quadrigraphs to get square brackets to
1522         show correctly.
1523         Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
1524         Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
1525         glibconfig.h, so that "./config.status glibconfig.h" works.
1526         Add an extra AC_CONFIG_FILES call listing other files we want
1527         generated by config.status protected by an "if false" block.  This
1528         way automake generates the rules needed to rebuild the files for
1529         us.
1530         Add quotes in various places.
1532         * docs/reference/*/Makefile.am: convert to use the common
1533         gtk-doc.make file.  This localises the complexity to a single
1534         makefile fragment maintained with gtk-doc itself.
1536         * */Makefile.am: remove unneeded rules to build win32 files with
1537         config.status.  Automake now does this for us.
1538         Replace instances of @FOO@ with $(FOO) where appropriate -- this
1539         allows automake to do a better job checking the makefile.
1540         Add some files to DISTCLEANFILES where appropriate
1542         * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
1543         ensure that --enable-gtk-doc is passed to configure during a
1544         distcheck.  Remove the custom distcheck, since the standard one
1545         will now do.
1547         * gobject/Makefile.am: switch to BUILT_SOURCES, since that now
1548         works.
1550 2003-02-26  Matthias Clasen  <maclas@gmx.de>
1552         * glib/gstrfuncs.c (g_strdup_vprintf): Use g_strndup, not
1553         g_strdup, since we know the length in advance.
1555         * glib/gunidecomp.c (g_unicode_canonical_decomposition): Use
1556         g_malloc instead of directly using malloc.
1558 2003-02-25  Tor Lillqvist  <tml@iki.fi>
1560         * glib/glib.def: Add a couple of missing entries, thanks to Cedric
1561         Gustin. Thread initialization function changes according to
1562         Sebastian Wilhelmi's changes below (2003-02-14).
1564 2003-02-24  Matthias Clasen  <maclas@gmx.de>
1566         * glib/gdir.c (g_dir_read_name): Clarify documentation.
1568 2003-02-18  Sebastian Wilhelmi  <seppi@seppi.de>
1570         * configure.in: Make glib_thread_test not unnecessarily convert
1571         between int and void*. (#106278). Let main return int.
1573         * configure.in: Add an argument to specify the default thread
1574         attribute to glib_thread_test. Disappeared somewhere between 2.0
1575         and 2.2.
1577 2003-02-14  Sebastian Wilhelmi  <seppi@seppi.de>
1579         Fixes for #101264 and #99372:
1581         * glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
1582         glib/grand.c: Include gthreadinit.h and rename the thread
1583         initialization functions a bit and let them start with _, so that
1584         later we can stop exporting them.
1585         
1586         * glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
1587         new functions. They have to be called after setting
1588         g_threads_got_initialized to TRUE (see #101264).
1590         * glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
1591         g_thread_init_glib(). Call the thread initialization functions
1592         (which are not allowed to call g_private_new), then set
1593         g_threads_got_initialized to TRUE, then call the other thread
1594         initialization functions (which must not call anything but
1595         g_private_new()).
1596         
1597         * glib/gthreadinit.h: New private header to cleanly declare all
1598         thread initialization functions.
1600         * gthread/gthread-impl.c: Include gthreadinit.h. In
1601         g_thread_init() just call g_thread_init_glib(), which in turn calls the
1602         other functions (see #99372).
1603         
1604         * glib/Makefile.am: Added gthreadinit.h.
1606 2003-02-12  Sebastian Wilhelmi  <seppi@seppi.de>
1608         * configure.in: Make GLib recognize Tru64Unix thread system. (#103020)
1610 2003-02-11  Tor Lillqvist  <tml@iki.fi>
1612         * Makefile.am (EXTRA_DIST): Include ChangeLog.pre-2-2.
1614         * glib-zip.in: Include also the gtk-doc/html documentation in the
1615         developer package.
1617         * README.win32: Updates.
1619 2003-02-11  Sebastian Wilhelmi  <seppi@seppi.de>
1621         * AUTHORS: Changed my e-mail address.
1622         * glib/grand.c: Removed my e-mail address.
1624 2003-02-10  Mohammad DAMT  <mdamt@bisnisweb.com>
1626         * po/id.po: Added Indonesian translation
1627         * configure.in: Added "id" to ALL_LINGUAS
1629 2003-02-06  Matthias Clasen  <maclas@gmx.de>
1631         * glib/gmessages.h: 
1632         * glib/gmem.h: 
1633         * glib/ghash.h: 
1634         * glib/gasyncqueue.h: 
1635         * glib/garray.h: 
1636         * glib/ghook.h: 
1637         * glib/gtypes.h: Fix a bunch of typos in header comments.
1638         (#102422, Morten Welinder)
1640 2003-02-04  Tor Lillqvist  <tml@iki.fi>
1642         * glib/giowin32.c (g_io_channel_unix_new): Fix typo: Should be
1643         SOCKET_ERROR, not SO_ERROR. Noticed by Daniel Kaufmann.
1644         
1645         Merge from stable branch: 
1647         Fix for bug #104014, reported by Alex Shaduri:
1648         
1649         * glib/gspawn-win32.c (protect_argv): New function. Add
1650         double-quotes around argv elements that need it, and escape
1651         embedded double-quotes with backslash.
1652         (do_spawn_with_pipes) Call protect_argv().
1654         * glib/gspawn-win32-helper.c (WinMain): Call protect_argv().
1656         * glib/gspawn.c (g_spawn_async_with_pipes): Document argument
1657         vector vs. command line details on Win32.
1658         (g_spawn_command_line_sync): Improve documentation about
1659         backslashes in the command line on Windows.
1661 Thu Jan 30 16:45:13 2003  Owen Taylor  <otaylor@redhat.com>
1663         * Makefile.am: Remove references to glib.spec.
1664         (#102231)
1666         * configure.in: Don't generate glib.spec.
1668 Tue Jan 28 16:08:56 2003  Owen Taylor  <otaylor@redhat.com>
1670         * m4macros/glib-gettext.m4: If msgfmt isn't found,
1671         unset gt_cv_have_gettext. (#102552, Tim Mooney)
1673 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
1675         * autogen.sh (have_automake): Fix version in complaint
1676         message about automake. (#104366, Rich Burridge)
1678 2003-01-22  Pablo Saratxaga  <pablo@mandrakesoft.com>
1680         * configure.in: Added Bengali (bn) to ALL_LINGUAS
1682 2003-01-21  Christian Rose  <menthos@menthos.com>
1684         * configure.in: Added "mn" to ALL_LINGUAS.
1686 2003-01-20  Pablo Saratxaga  <pablo@mandrakesoft.com>
1688         * configure.in: Added Farsi (fa), Italian (it), Latvian (lv),
1689         Macedonian (mk) to ALL_LINGUAS
1691 2003-01-16  Daniel Yacob <locales@geez.org>
1693         * configure.in: added am to ALL_LINGUAS
1694         
1695 2003-01-12  Tor Lillqvist  <tml@iki.fi>
1697         * glib/glib.def: Add some missing entries. Thanks to Kenichi SUTO.
1699 2003-01-05  Tor Lillqvist  <tml@iki.fi>
1701         * README.win32: Updates.
1703         * configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
1704         libm. (Mingw has a dummy libm.a, but the .pc file should be
1705         useable by MSVC users, too.)
1707 2003-01-25  Ron Steinke  <rsteinke@w-link.net>
1709         (Ancient, binary compatible fixes found sitting in my tree)
1711         * Added early checks for count == 0 and buf == NULL in g_io_channel_read()
1713         * Better error message for EFAULT in  g_io_channel_error_from_errno()
1715 2003-01-04  Tor Lillqvist  <tml@iki.fi>
1717         * Makefile.am (BUILT_EXTRA_DIST): Don't distribute glib-zip.
1719         * {glib,gmodule,gobject,gthread}/Makefile.am:
1720         [Win32] Install also the .def files, to help users generate
1721         import libraries for other compilers. Uninstall, too.
1723         * glib-zip.in: Include .def files from above.
1725         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Don't claim
1726         broken pipes are unreadable. (Well, they are, but read() handles
1727         it, and treats it like EOF.)
1729 Thu Jan  2 16:19:15 2003  Manish Singh  <yosh@gimp.org>
1731         * configure.in: use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE for
1732         tests for inline keywords. Fixes #101976.
1734 2003-01-02  Tor Lillqvist  <tml@iki.fi>
1736         * glib/gwin32.h: Correct the comment telling what headers have
1737         the declarations of some POSIXish functions.
1739         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino:
1740         The checks for readability/writeability were backwards.
1742 2003-01-01  Tor Lillqvist  <tml@iki.fi>
1744         * glib/gmessages.c (ensure_stderr_valid): New function, parallel
1745         to ensure_stdout_valid(). #defined as empty on Unix. Move the
1746         alloc_console_called static flag inside these two functions.
1747         (ensure_stdout_valid, ensure_stderr_valid): Check the C stdout and
1748         stderr streams for validity, instead of what GetStdHandle() returns.
1749         (mklevel_prefix): Do use either stderr or stdout on Windows,
1750         too. Otherwise g_warning() messages (that are just warnings, by
1751         definition) will get mixed with proper stdout output. Noticed in
1752         GIMP's gimpconfig-dump.
1753         (strdup_convert, mklevel_prefix, g_printerr): Call
1754         ensure_stderr_valid() before trying to use stderr.
1755         (g_logv): [Win32] Convert message to current codepage before
1756         display with MessageBox().
1758 2002-12-28  Tõivo Leedjärv  <toivo@linux.ee>
1760         * configure.in: Added et to ALL_LINGUAS.