Patch by Sebastian Wilhemi to fix infinite recursion in g_atomic.
[glib.git] / ChangeLog.pre-2-12
blob324b33ead701981c1a23019e935cf6890657c0b2
1 2004-03-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3         * glib/gatomic.c: Fix infinite recursion for
4         G_MEMORY_BARRIER_NEEDED and DEFINE_WITH_MUTEXES by using a GMutex
5         instead of G_DEFINE_LOCK. The mutex is allocated by the new
6         function _g_atomic_thread_init. Fixes #136284.
8         * glib/gthreadinit.h, glib/gthread.c: Declare and call
9         _g_atomic_thread_init during thread system initialization.
11 2004-03-05  Tor Lillqvist  <tml@iki.fi>
13         * glib/glib.def: Add g_main_depth. (#136221, Cedric Gustin)
15 2004-03-04  Guntupalli Karunakar  <karunakar@freedomink.org>
17         * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
19 2004-03-04  Sebastian Wilhelmi  <seppi@seppi.de>
21         * glib/gmain.c: Use the atomic integer operations for GMainContext
22         and GMainLoop reference counting.
24         * glib/gmain.c: Hold the main_context_list lock, when iterating
25         the list. Only call g_main_context_wakeup for positive reference
26         count.
28 2004-03-03  Tor Lillqvist  <tml@iki.fi>
30         * glibconfig.h.win32.in: Update to match a configure-generated
31         glibconfig.h. Specifically: Remove G_{MIN,MAX,MAXU}INT64
32         definitions (now in gtypes.h). Remove g_once and
33         g_static_mutex_get_mutex_impl_shortcut definitions (now in
34         gthread.h).
36         * tests/child-test.c: Use a macro GPID_FORMAT for the format to
37         print GPid in (%p on Win32, %d on Unix). Maybe configure.in should
38         place that in glibconfig.h?
40         Print verbose error message if CreateProcess() fails.
42         Don't close the child handle until in the child watch callback.
44         Don't try to run /bin/true on Win32. Run ipconfig instead (just to
45         pick a program that should exist on all Window boxes).
47 2004-03-02  Sebastian Wilhelmi  <seppi@seppi.de>
49         * glib/gatomic.c: Fixed missing definition for ppc code. Fix by
50         Mark McLoughlin <mark@skynet.ie>.
52 Mon Mar  1 16:49:51 2004  Owen Taylor  <otaylor@redhat.com>
54         * === Released 2.3.5 ===
56         * configure.in: Version 2.3.5, interface ago 0.
58         * NEWS: Some further updates.
60 Mon Mar  1 15:49:09 2004  Owen Taylor  <otaylor@redhat.com>
62         * glib/gmain.c (check_for_child_exited): Don't
63         call waitpid() on a source that has already exited.
65         * glib/gmain.c (g_child_watch_check): Return TRUE
66         only if the child actually exited.
68 Mon Mar  1 15:39:57 2004  Owen Taylor  <otaylor@redhat.com>
70        Patch from J. Ali Harlow
72         * configure.in: Use void * not HANDLE for GPid on win32.
74         * glib/gspawn.[ch] glib/gspawn-win32.[ch] glib/glib.def: 
75         Add g_spawn_close_pid().
76         
77         * glib/gspawn.[ch]: Make g_spawn functions take
78         GPid * instead if int * (GPid == int on unix, will
79         produce compile warnings until fixed on Win32.)
81         * tests/child-test.c: Make the test a little more
82         inappropriately verbose.
84         * glib/gmain.c: Add some documentation warnings about
85         not closing @pid while the source is active.
87 Mon Mar  1 20:32:06 2004  Tim Janik  <timj@gtk.org>
89         * autogen.sh:
90         - exit with $? instead of 1 in case of failure
91         - exit with $? if ./configure failed
92           (that's so autogen.sh && make lines work)
93         - removed --enable-gtk-doc option
94         - added $AUTOGEN_CONFIGURE_ARGS
96 Mon Mar  1 09:17:32 2004  Owen Taylor  <otaylor@redhat.com>
98         * glib/gmain.c (g_main_depth): Clarify doc comment.
100 2004-03-01  Sebastian Wilhelmi  <seppi@seppi.de>
102         * glib/gatomic.c: Define g_atomic_(int|pointer)_get only for
103         G_ATOMIC_OP_MEMORY_BARRIER_NEEDED. Spotted by Hans Breuer.
105 Sun Feb 29 21:42:47 2004  Owen Taylor  <otaylor@redhat.com>
107         * glib/gmain.c: Fix leftover references to 
108         g_main_context_depth() in docs.
110 Sun Feb 29 21:34:34 2004  Owen Taylor  <otaylor@redhat.com>
112         * glib/gmain.[ch]: Add g_main_depth() (Request from
113         Tim Janik and Stefan Westerfeld)
115 Mon Mar  1 00:26:11 2004  Matthias Clasen  <maclas@gmx.de>
117         * NEWS: Update for 2.3.4
119 2003-02-29  Hans Breuer  <hans@breuer.org>
121         * glib/gatomic.c : added win32 api based implementation
122         for G_PLATFORM_WIN32, !__GNUC__
124         * glb/glib.def : change to g_atomi_* no _fallback
126 2004-02-29  Sebastian Wilhelmi  <seppi@seppi.de>
128         * configure.in, glib/gatomic.c, glib/gatomic.h: Moved the
129         assembler functions from gatomic.h to gatomic.c, which makes for
130         better maintainability. Also use gint instead of gint32 to be able
131         to use reference counting for ABI-fixed structures with
132         gint/guint.
134         * glib/gthread.h: Adapted accordingly.
136         * tests/atomic-test.c: Updated to test for G_MAXINT and G_MININT.
138 2003-02-28  Hans Breuer  <hans@breuer.org>
140         * glib/glib.def : updated externals, including those
141         from bug #135386
143         * glib/makefile.msc.in : build gatomic.c
145         * glibconfig.h.win32.in : removed duplicate definition
146         of G_MAXSIZE, typedef void* GPid instead of int
148         * tests/child-test.c  glib/gmain.c : 
149         applied patch from J. Ali Harlow <ali@juiblex.co.uk> to fix 
150         g_child_watch implementation on win32, bug #50296
152 Fri Feb 27 22:13:22 2004  Matthias Clasen  <maclas@gmx.de>
154         * glib/gqueue.c: Trivial doc changes.
156 Fri Feb 27 21:58:20 2004  Matthias Clasen  <maclas@gmx.de>
158         * glib/ghash.c (g_hash_table_find): Add "Since: 2.4"
160 2004-02-27  Sebastian Wilhelmi  <seppi@seppi.de>
162         * glib/gasyncqueue.c, glib/gasyncqueue.h: Use
163         g_atomic_int_(inc|dec_and_test) for reference
164         counting. g_async_queue_unref_and_unlock and
165         g_async_queue_ref_locked is deprecated, but still there to
166         preserve ABI.
168         * glib/gasyncqueue.c, glib/gasyncqueue.h: Reading access to
169         ref_count only with g_atomic_int_get().
171 Fri Feb 27 02:00:34 2004  Matthias Clasen  <maclas@gmx.de>
173         * acglib.m4: quote AC_DEFUN macro names so automake
174         1.8 won't whine at us.  (#134882)
176 Fri Feb 27 01:44:41 2004  Matthias Clasen <maclas@gmx.de>
178         * glib/gdate.c: Translate from locale era to AD in 
179         g_date_set_parse().  (#133400, Theppitak Karoonboonyanan)
181 Fri Feb 27 00:46:29 2004  Matthias Clasen  <maclas@gmx.de>
183         * glib/gstrfuncs.c (g_strerror): Don't modify errno.  (#116617, 
184         Balazs Scheidler)
186 2004-02-26  Sebastian Wilhelmi  <seppi@seppi.de>
188         * glib/gatomic.h: Fix the !G_THREADS_ENABLED case.
190         * tests/child-test.c (main): Only run, if threads are enabled.
192         * glib/gatomic.h: empty G_ATOMIC_MEMORY_BARRIER() definition for
193         !G_THREADS_ENABLED
195         * glib/gthread.h: Define g_once and
196         g_static_mutex_get_mutex_impl_shortcut in terms of
197         G_MEMORY_BARRIER, if defined and if we can inline.
199         * configure.in: Remove double checked locking feature check.
201         * configure.in, config.h.win32.in, glib/gthread.c: Removed the PID
202         niceness surrogate for thread priorities as requested by Tim. It
203         does more harm than good.
205         * glib/gatomic.c, glib/gatomic.h: New files to implement atomic
206         operations for different platforms. Fixes bug #63621.
208         * glib/glib.h: Include gatomic.h.
210         * configure.in: Add test for assembler routines for atomic operations.
212         * glib/Makefile.am: Add gatomic.c, gatomic.h.
214         * tests/Makefile.am, tests/atomic-test.c: Unit test for atomic
215         operations.
217 2003-02-26  Hans Breuer  <hans@breuer.org>
219         * glib/glib.def : added g_hash_table_find and a
220         bunch of g_queue_*
222         * glib/gmain.c : make it compile on win32, 
223         child_wake_up_pipe replaced by semaphore like it is done
224         for the other wake_up_pipe
226         * config.h.win32.in : added HAVE_INT64_AND_I64
227         * glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64,
228         and typedef for GPid
230         * test/env-test.c : don't let the local log function
231         collide in namespace with standard C
233 2004-02-25  Sebastian Wilhelmi  <seppi@seppi.de>
235         * configure.in, glib/gthread.c: For the PID thread priorities
236         surrogate use gettid instead of getpid. This also works with nptl
237         (on linux-2.6), as well as with linuxthreads (on linux-2.4).
239 2004-02-24  Sebastian Wilhelmi  <seppi@seppi.de>
241         * glib/grand.c: Add Since: 2.4, where due
243 Tue Feb 24 14:09:21 2004  Owen Taylor  <otaylor@redhat.com>
245         * === Released 2.3.3 ===
247         * configure.in: Version 2.3.3, interface age 0.
249 Mon Feb 23 22:24:00 2004  Matthias Clasen  <maclas@gmx.de>
251         * NEWS: Start of 2.3.3 section.
253 Sun Feb 22 02:32:14 2004  Matthias Clasen  <maclas@gmx.de>
255         * configure.in: Set the gmodule suffix to 'a' for aix and 
256         use the aix gmodule implementation.  (#85930, Laurent Vivier)
258 Sun Feb 22 00:47:04 2004  Matthias Clasen  <maclas@gmx.de>
260         * glib/gnode.c (g_node_copy_deep): New function to deep-copy a 
261         GNode and its children.  (#93464, James M. Cape)
263 Sat Feb 21 15:42:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
265         * glib/gqueue.c: Some documentation fixes.
267 Sat Feb 21 13:45:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
269         * glib/gqueue.[ch]: Extend GQueue API to match the GList
270         API. (#78414).
272         * tests/queue-test.c: Update test suite to cover the new API.
274 Fri Feb 20 03:02:05 2004  Tim Janik  <timj@gtk.org>
276         * glib/ghash.[hc]: applied patch from #131937 with slight
277         renames. provides g_hash_table_find().
279 Fri Feb 20 02:39:03 2004  Tim Janik  <timj@gtk.org>
281         * applied patch from David Schleef <ds@schleef.org> which implements
282         a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global
283         symbol registration.
285 Thu Feb 19 18:40:01 2004  Tim Janik  <timj@gtk.org>
287         * glib/gstring.[hc]: for G_CAN_INLINE environments, inline
288         g_string_append_c() for efficiency. (vaguely based on #118707).
290 Wed Feb 18 23:57:42 2004  Matthias Clasen  <maclas@gmx.de>
292         * glib/gmain.c: Include signal.h for SIGCHLD.  (#134622, Damien
293         Carbery)
295 2004-02-18  Sebastian Wilhelmi  <seppi@seppi.de>
297         * glib/gasyncqueue.c: Lazy creation of GCond. Only
298         signal GCond, if threads are waiting.
300         * glib/gmain.c (g_main_context_new): Set context->wake_up_pipe
301         only for G_THREADS_ENABLED.
303 Sat Feb 14 11:05:26 2004  Manish Singh  <yosh@gimp.org>
305         * configure.in: Remove unnecessary STRIP_* definitions, and GNU
306         make check. Really fixes #134102.
308 Sat Feb 14 02:11:08 2004  Matthias Clasen  <maclas@gmx.de>
310         * configure.in: Make the check for GNU make work when MAKE is a 
311         full path.  (#134102, Julio M. Merino Vidal)
313 Sat Feb 14 02:08:03 2004  Matthias Clasen  <maclas@gmx.de>
315         * configure.in: Suppress xsltproc and xmlcatalog checks
316         if enable_man=no.  (#134091, Julio M. Merino Vidal)
318 Sat Feb 14 01:21:34 2004  Matthias Clasen  <maclas@gmx.de>
320         * glib/gmain.h: 
321         * glib/gmain.c (g_child_watch_source_new): 
322         * glib/gmain.c (g_child_watch_add): 
323         * glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a
324         GSource. This is a partial implementation of the "Unix signal 
325         source".  (#50296, Jonathan R. Blandford)
327         * configure.in: Add the necessary configury to typedef GPid
328         appropriately.
330         * tests/Makefile.am:
331         * tests/child-test.c: Test child_watch sources.
333 Sat Feb  7 15:02:01 2004  Manish Singh  <yosh@gimp.org>
335         * tests/type-test.c: Fix broken test for gsize formats.
337 2004-02-05  Robert Sedak  <robert.sedak@sk.htnet.hr>
339         * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
341 Wed Feb  4 17:58:51 2004  Manish Singh  <yosh@gimp.org>
343         * glib/gcompletion.h: Add prototype for g_completion_complete_utf8().
345         * tests/completion-test.c: #include <string.h>
347 2004-02-05  Tor Lillqvist  <tml@iki.fi>
349         * glib/glib.def: Add g_completion_complete_utf8.
351 Thu Feb  5 01:19:12 2004  Matthias Clasen  <maclas@gmx.de>
353         * tests/file-test.c (test_mkstemp): Weaken an g_assert() to a 
354         g_warning(), since apparently nothing in Posix forces mkstemp()
355         to reject templates without any X's.  (#133397)
357 Thu Feb  5 00:56:28 2004  Matthias Clasen  <maclas@gmx.de>
359         * glib/gcompletion.c (g_completion_complete_utf8): New function which
360         works like g_completion_complete(), but strips a trailing incomplete
361         UTF-8 character from the prefix.  (#133313, Theppitak Karoonboonyanan)
363         * tests/completion-test.c (main): Some GCompletion tests.
365         * tests/Makefile.am: Add completion-test.
367 2004-02-01  Tor Lillqvist  <tml@iki.fi>
369         * glib/glib.def: Add g_strsplit_set.
371 Sat Jan 31 03:13:56 2004  Matthias Clasen  <maclas@gmx.de>
373         * glib/garray.c (g_byte_array_remove_range): Don't return FALSE
374         from a pointer function.  (#131472, Morten Welinder)
376 2004-01-30  Noah Levitt  <nlevitt@columbia.edu>
378         * glib/gunicomp.h:
379         * glib/gunidecomp.c:
380         * glib/gen-unicode-tables.pl: Size compose_table correctly. (#123421,
381         Simon Josefsson)
383         * glib/gen-unicode-tables.pl: Get rid of some new warnings from perl
384         5.8.1.
386 Tue Jan 27 18:45:47 2004  Manish Singh  <yosh@gimp.org>
388         * m4macros/glib-2.0.m4
389         * m4macros/glib-gettext.m4: quote AC_DEFUN macro names so automake
390         1.8 won't whine at us.
392 Wed Jan 28 01:39:21 2004  Matthias Clasen  <maclas@gmx.de>
394         * glib/gstrfuncs.h: 
395         * glib/gstrfuncs.c (g_strsplit_set): New function, a cross 
396         between g_strsplit() and strtok().  (#88329, Soeren Sandmann)
398         * tests/strfunc-test.c (main): Add g_strsplit_set() tests.
399         
400 Fri Jan 23 22:49:52 2004  Matthias Clasen  <maclas@gmx.de>
402         * glib/gutils.c (g_get_any_init): Sigh, protect against
403         pw->pw_gecos being "" as well.  (#132317, Kaj-Michael Lang)
404         
405 2004-01-23  Tor Lillqvist  <tml@iki.fi>
407         * glib/glib.def: Add new functions.
409         * glib/grand.c: Don't include <unistd.h> unless
410         HAVE_UNISTD_H. Include <process.h> on G_OS_WIN32.
411         (g_rand_new): Use getppid() only on G_OS_UNIX.
413 Thu Jan 22 15:16:11 2004  Owen Taylor  <otaylor@redhat.com>
415         * === Released 2.3.2 ===
417 Thu Jan 22 13:55:44 2004  Owen Taylor  <otaylor@redhat.com>
419         * glib/gtimer.c: Add g_timer_continue().
420         (#98536, Tim-Philipp Müller)
422         * configure.in: Version 2.3.2, interface age 0.
424         * NEWS: tweak, finish.
426 Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
428         * glib/gutils.c (g_get_any_init): Protect against
429         pw->pw_gecos being NULL.
431 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
433         * glib/gutils.c (g_get_any_init): Don't treat the Win32
434         user name like a gecos field, and when extracting a real
435         name from a gecos field, replace '&' by the capitalized
436         user name (a traditional passwd feature).  
437         (#118973, reported by Soeren Boll Overgaard)
439 Tue Jan 20 22:31:22 2004  Matthias Clasen  <maclas@gmx.de>
441         * NEWS: Start of 2.3.2 section.
443 Fri Jan 16 21:45:56 2004  Matthias Clasen  <maclas@gmx.de>
445         * glib/gstring.c (g_string_ascii_up): Forgot to fix this one.
447 Thu Jan 15 22:35:04 2004  Matthias Clasen  <maclas@gmx.de>
449         * glib/gstring.c (g_string_up): 
450         * glib/gstring.c (g_string_down): 
451         * glib/gstring.c (g_string_ascii_down): Move initialization of
452         variables after g_return_val_if_fail.  (#131564, Olivier Poncet)
454 Sun Jan 11 16:13:20 2004  Manish Singh  <yosh@gimp.org>
456         * configure.in: Add G_MAXSIZE, define in terms of G_MAXUfoo.
458         * tests/type-test.c: Add test for G_MAXSIZE.
460         * glibconfig.h.win32.in: Cleanup, add some missing bits.
462 Sun Jan 11 16:05:35 2004  Manish Singh  <yosh@gimp.org>
464         * glib/giounix.c: #define _POSIX_SOURCE for SSIZE_MAX. Fixes #128853.
466 Sat Jan 10 00:11:12 2004  Manish Singh  <yosh@gimp.org>
468         * glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness
469         fixes.
471         * docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the
472         above take gulongs now. My docs suck, someone should revisit it.
474 Fri Dec 19 11:49:21 2003  George Lebl <jirka@5z.com>
476         * glib/grand.c
477           glib/grand.h (g_rand_new) (g_rand_new_with_seed)
478           (g_rand_new_with_seed_array) (g_rand_set_seed_array):  Add
479           the init_by_array functionality from the reference implementation
480           of the mersenne twister (mt19937ar.c) and change the naming
481           to fit with the rest of the grand API.  New functions are
482           g_rand_new_with_seed_array, g_rand_set_seed_array.  This is only
483           reliable/tested for the 2.2 version of the seeding as that's what
484           the reference implementation uses.  Also modify g_rand_new to
485           get 4 longs from /dev/urandom since that will always be available
486           anyway and we get more entropy and if /dev/urandom is unavailable
487           use also 4 longs for seeding using secs, usecs, getpid and getppid.
488           For version 2.0 use only a simple seed again but be more careful
489           about seeding with secs/usecs in this case.
491         * glib/grand.c
492           glib/grand.h (g_rand_copy):  Add g_rand_copy function to copy the
493           current state of the random number generator.
495         * glib/grand.c (g_rand_new):  Add testing for EINTR when reading
496           from /dev/urandom
498         * tests/rand-test.c: add testing of the array seeding stuff against
499           the reference implementation, plus add statistical sanity check
500           to see that the values outputted are truly kind of random.  And
501           check that g_rand_copy truly copies the state by checking a few
502           terms.
504 Tue Jan  6 15:38:30 2004  Owen Taylor  <otaylor@redhat.com>
506         * glib/gutils.h: Check defined (__OPTIMIZE__) not
507         __OPTIMIZE__. (Zack Rusin)
509 2003-12-30  Murray Cumming  <murrayc@usa.net>
510   
511         * gobject/glib-mkenums.in: Added a lowercase_name option, to be used
512         next to the enum declaration, where the flag option is already used,
513         when it is not possible to guess where to put the underscores in the
514         _get_type() function name, for instance for GNOMEVFSURIHide.
516 Fri Dec 26 02:03:58 2003  Matthias Clasen  <maclas@gmx.de>
518         * glib/garray.[hc] (g_ptr_array_foreach): New function to
519         call a function for each element of a GPtrArray.  (#114790)
521         * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
523 Sun Dec 21 22:57:58 2003  Matthias Clasen  <maclas@gmx.de>
525         * m4macros/glib-gettext.m4: Quote macro names to support 
526         reading the file multiple times.  (#125537)
528 Sun Dec 21 22:42:42 2003  Matthias Clasen  <maclas@gmx.de>
530         * glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the
531         mem_chunks list.  (#127096, Balazs Scheidler)
533 2003-12-14  Hans Breuer  <hans@breuer.org>
535         * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
536         return something useful on win32, too. 
538 2003-12-13  Hans Breuer  <hans@breuer.org>
540         * glib/gconvert.c : get_filename_charset() needs to
541         return false for filenames not encoded in utf-8, 
542         which is always true on win32
544         * glibconfig.h.win32.in : (u)int64 modifier isn't the
545         gcc 'll' but always the msvcrt one 'I64'
547         * glib/glib.def : updated
549 Thu Dec 11 10:31:21 2003  Manish Singh  <yosh@gimp.org>
551         * glib/gmacros.h: change #elif with no expression to #else in
552         G_STRFUNC definition. Thanks to Damien Carbery, fixes #129101.
554 Mon Dec  8 12:02:40 2003  Owen Taylor  <otaylor@redhat.com>
556         * === Released 2.3.1 ===
558         * NEWS: Further updates for 2.3.1.
560 Fri Dec  5 12:09:13 2003  Manish Singh  <yosh@gimp.org>
562         * glib/gunidecomp.c (_g_utf8_normalize_wc): fix gint/gsize confusion.
564 2003-12-04  Noah Levitt  <nlevitt@columbia.edu>
566         * glib/gunidecomp.c: Add hangul composition and decomposition to
567         unicode normalization. (#100456)
569         * tests/unicode-normalize.c: Test hangul.
571 Tue Dec  2 02:29:41 2003  Matthias Clasen  <maclas@gmx.de>
573         Fix for #103710, Mark Jones:
574         
575         * glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}.
576         * configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h.
578 Thu Nov 27 17:04:08 2003  Tim Janik  <timj@gtk.org>
580         * glib/gstrfuncs.c (g_strconcat): handle NULL arguments
581         gracefully.
583         * glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
584         current function (since G_STRLOC and G_GNUC_*FUNCTION became
585         unusable with gcc-3.0).
587 Wed Nov 26 16:45:16 2003  Roozbeh Pournader  <roozbeh@sharif.edu>
589         * glib/gstrfuncs.c: Fixed a bad pointer comparison in
590         g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
591         Esfahbod).
593         * tests/strtod-test.c: Fixed the tests to catch the above.
595 Sat Nov 22 14:16:51.15 2003  Andrew Lanoix  <alanoix@umich.edu>
597         * glib/giowin32.c: Bind inter-thread comminication 
598                 sockets to INADDR_LOOPBACK instead of INADDR_ANY.
600 Thu Nov 20 15:09:40 2003  Manish Singh  <yosh@gimp.org>
602         * configure.in: Added G_GSIZE_FORMAT and friends
604         * tests/printf-test.c
605         * tests/testglib.c
606         * tests/type-test.c: Add tests for the above.
608 Mon Nov 17 17:28:10 2003  Manish Singh  <yosh@gimp.org>
610         * tests/thread-test.c (test_g_thread_once): Use GUINT_TO_POINTER
611         for g_thread_create data.
613 Sat Nov 15 23:00:57 2003  Matthias Clasen  <maclas@gmx.de>
615         * glib/guniprop.c (g_utf8_casefold): Add a NULL check
616         to be consistent with the other g_utf8_ functions.  (#121618,
617         Tim-Philipp Müller)
619 2003-11-15  Tor Lillqvist  <tml@iki.fi>
621         * tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use
622         correct glib libraries, with 2.0 in the names. (#126906, John
623         Ehresman)
625 Sat Nov 15 00:46:14 2003  Matthias Clasen  <maclas@gmx.de>
627         * configure.in: Don't blindly set glib_cv_long_long_format to
628         "ll" when using the included printf. As long as the native 
629         printf supports 64bit printing, use the native format.  
630         (#119525, Tor Lillqvist)
632 Fri Nov 14 00:28:46 2003  Matthias Clasen  <maclas@gmx.de>
634         * glib/gi18n.h:
635         * glib/gi18n-lib.h: Also define bind_textdomain_codeset() in
636         the #ifndef ENABLE_NLS case.
638 Wed Nov 12 15:06:27 2003  Owen Taylor  <otaylor@redhat.com>
640         * configure.in: Version 2.3.1, interface age 0.
642         * NEWS: Update for 2.3.1.
644 2003-11-07  Mark McLoughlin  <mark@skynet.ie>
646         * glib/gconvert.c: (get_filename_charset): re-work to
647         retain a copy of the cached charset rather than the
648         actual return value from g_get_charset (which may
649         change). Also, re-initialize the cache if it does
650         change. See bug #126454.
652 Thu Nov  6 00:04:46 2003  Matthias Clasen  <maclas@gmx.de>
654         * glib/gconvert.c (get_filename_charset): Replacement for
655         have_broken_filenames() which consults the environment variable
656         G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
657         * glib/gconvert.c (g_filename_from_utf8): 
658         * glib/gconvert.c (g_filename_to_utf8): 
659         * glib/gconvert.c (_g_convert_thread_init): Use
660         get_filename_charset() instead of have_broken_filenames().
662 Wed Nov  5 22:05:19 2003  Matthias Clasen  <maclas@gmx.de>
664         * glib/gi18n-lib.h: 
665         * glib/gi18n.h: New headers defining common gettext-support
666         macros.
668         * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
669         and gi18n-lib.h.
671         * glib/gstrfuncs.h: 
672         * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
673         the implementation of Q_().
675 2003-11-05  Morten Welinder  <terra@gnome.org>
677         * glib/garray.c (g_ptr_array_remove_range): Make it compile.
678         (#119337, self.)
680         * glib/gstring.c (g_string_insert_len): Handle the case where the
681         to-be-inserted string is a substring of the target string.
682         (g_string_assign): Handle "s = s;".
683         (#114260, self.)
685 Sun Nov  2 01:47:31 2003  Matthias Clasen  <maclas@gmx.de>
687         Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
688         
689         * configure.in (HAVE_INT64_AND_I64): Define for MSVC to 
690         include support for printing __int64 with format %I64 in 
691         the gnulib printf wrappers. 
692         * glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64 
693         and TYPE_UINT64.
694         * glib/gnulib/printf-args.h (struct argument): Add a_int64 and 
695         a_uint64 members.
696         * glib/gnulib/printf-args.c (printf_fetchargs): Support
697         TYPE_INT64 and TYPE_UINT64.
698         * glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
699         modifier and map formats to TYPE_INT64.
700         * glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
701         format modifier I64.
702         * glib/gnulib/README: Document the __int64 support.
703         
704 Sat Nov  1 08:45:38 2003  Owen Taylor  <otaylor@redhat.com>
706         * glib/gmain.c (g_main_context_iterate): Set the
707         return value from the result of g_main_context_check()
708         (after we poll) rather than g_main_context_prepare.
709         (#121675, Padraig O'Briain)
711 Fri Oct 31 00:13:53 2003  Matthias Clasen  <maclas@gmx.de>
713         * configure.in: Remove the semicolon from the definition of
714         g_once(), so that GPOINTER_TO_INT (g_once (...)) works.
716 Tue Oct 28 23:38:30 2003  Matthias Clasen  <maclas@gmx.de>
718         * tests/printf-test.c: Change the %e tests to not check for
719         actual string equality, but rather equality under g_ascii_strtod(),
720         since the number of leading digits in the exponent seems to 
721         be not exactly prescribed by SUS.
723 Fri Oct 24 17:09:04 2003  Owen Taylor  <otaylor@redhat.com>
725         * === Released 2.3.0 ===
727         * NEWS: Small update.
729 2003-10-24  Tor Lillqvist  <tml@iki.fi>
731         * configure.in: Force shared library (DLL) only on Windows.
732         (I don't think that is controversial?) Remove unnecessary
733         AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
734         Win32, it is not used by mingw or MSVC headers.
736         * config.h.win32.in
737         * glibconfig.h.win32.in: Match what configure produces.
738         
739         * glib/gconvert.c
740         * glib/gutils.c: Mark a couple of functions and variables that
741         aren't public as static.
743         * glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
744         it potentially differently, to silence compiler.
746         * glib/glib.def: Add some missing entries.
747         
748         * tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
749         libtestgobject.
751         * tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
752         to g_object_set() and _get().
754 Thu Oct 23 12:38:24 2003  Owen Taylor  <otaylor@redhat.com>
756         * tests/gobject/Makefile.am (dist-hook): Remove 
757         and extra backslash.
759         * tests/gobject/Makefile.am (EXTRA_DIST): Add 
760         testmarshal.list.
762         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
763         missing gunicode-private.h.
765         * tests/testglib.c (main): Fix a warning.
767         * tests/gobject/ifaceinherit.c: Remove check that
768         wasn't supposed to work (adding an interface already
769         added to the derived class to the base class), 
770         fix a bug.
772 Wed Oct 22 23:41:03 2003  Matthias Clasen  <maclas@gmx.de>
774         * NEWS: Update for 2.3.0.
776 Tue Oct 14 17:44:38 2003  Owen Taylor  <otaylor@redhat.com>
778         * tests/gobject/ifaceproperties.c: Test for interface
779         properties and GParamSpecOverride.
781 Wed Oct  8 23:40:26 2003  Matthias Clasen  <maclas@gmx.de>
783         * glib/gmarkup.c (g_markup_printf_escaped): 
784         (g_markup_vprintf_escaped): Document as 2.4 additions.
785         (unescape_text): Implement newline and whitespace normalization
786         according to the XML specification.  (#123919)
787         (g_markup_escape_text): Document whitespace (non)handling.
789 2003-10-05  Matthias Clasen  <maclas@gmx.de>
791         * configure.in: Make the various printf feature test macros
792         reflect the system printf, even when using the included printf.
793         In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h 
794         needs that test result.  (#122973)
796         * glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
797         directly check for _g_vasprintf.
799         * glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
800         if vasprintf() is available.
802         * glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
803         trailing nul to the file. (#122973)
805         * acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test 
806         detect non-C99-compliance of AIX 5.1 and Solaris 
807         vsnprintf().  (#122496)
809 Thu Oct  2 01:15:46 2003  Owen Taylor  <otaylor@redhat.com>
811         * tests/gobject/ifacecheck.c: Test case for
812         g_type_add_interface_check().
814         * tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
816 Thu Oct  2 01:11:39 2003  Owen Taylor  <otaylor@redhat.com>
818         * tests/gobject/ifaceinherit.c: Remove some tests that
819         were testing things that weren't supposed to work; add
820         a test for adding an interface first to the child class,
821         then to the parent class.
823 Thu Oct  2 00:02:55 2003  Owen Taylor  <otaylor@redhat.com>
825         * tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
826         Tests of interface inheritance and overriding.
828 2003-09-30  Tor Lillqvist  <tml@iki.fi>
830         * glib/gspawn-win32.c (do_spawn): Call protect_argv() in
831         do_spawn() instead of in do_spawn_with_pipes() so that we can use
832         the original argv[0] as the program file name parameter to
833         spawnv() in the shortcut (doing without helper process)
834         code. Fixes problem if GIMP 1.3 was installed in a path with
835         spaces in the name.
837 Tue Sep 30 15:31:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
839         * glib/guniprop.c (has_more_above): make the argument const to
840         get rid of warning
842         * glib/garray.c (g_byte_array_remove_range): insert cast to get
843         rid of warning
845 2003-09-29  Tor Lillqvist  <tml@iki.fi>
847         * tests/testglib.c (main): Use hardcoded name for DLL, as there is
848         no reliable way to determine it at compile or run time anyway. 
850 2003-09-29  Matthias Clasen  <maclas@gmx.de>
852         * glib/guniprop.c (g_unichar_get_mirror_char): Add "Since: 2.4" 
853         to docs.
855 Thu Sep 25 15:43:08 2003  Owen Taylor  <otaylor@redhat.com>
857         * tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
858         Dummy dynamic type module for testing type plugin code
859         and dynamic types.
861         * test/gobject/defaultiface.c: Test of 
862         g_type_default_interface_ref() and friends.
864 2003-09-28  Gediminas Paulauskas  <menesis@delfi.lt>
866     * configure.in: Added lt to ALL_LINGUAS.
868 2003-09-25  Tor Lillqvist  <tml@iki.fi>
870         * glib/glib.def: Remove g_bsearch_array_* entries that don't exist
871         any longer. (ABI change?)
873 Thu Sep 25 15:01:37 2003  Owen Taylor  <otaylor@redhat.com>
875         * tests/Makefile.am (SUBDIRS): Add gobject/.
877 Fri Sep 12 16:26:21 2003  Owen Taylor  <otaylor@redhat.com>
879         * tests/gobject/ configure.in: New directory, framework 
880         for automated GObject tests.
882         * tests/gobject/override.c: Move testoverride.c
883         here, automate.
885         * tests/gobject/ifaceinit.c: Move testifaceinit.c here.
887         * tests/gobject/accumulator.c: Test signal accumulators,
888         including g_signal_accumulator_true_handled.
890 2003-09-12  Noah Levitt  <nlevitt@columbia.edu>
892         * glib/gen-unicode-tables.pl: Take a directory where to look for the
893         unicode files on the command line instead of 7 individual files.
895 2003-09-12  Noah Levitt  <nlevitt@columbia.edu>
897         * glib/gen-unicode-tables.pl:
898         * glib/gunichartables.h:
899         * glib/gunicode.h:
900         * glib/guniprop.c: Add g_unichar_get_mirror_char. (#114749)
902 Thu Sep 11 20:11:05 2003  Owen Taylor  <otaylor@redhat.com>
904         * glib/gmarkup.c: Add g_markup_printf_escaped(), 
905         g_markup_vprintf_escaped().
907         * tests/markup-escape-test.c (main): Test for
908         g_markup_escape_text(), g_markup_printf_escaped().
910 2003-09-10  Noah Levitt  <nlevitt@columbia.edu>
912         * glib/gunicodeprivate.h:
913         * glib/gunicollate.c:
914         * glib/gunidecomp.c:
915         * glib/guniprop.c:
916         * tests/casemap.txt:
917         * tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681)
919         * glib/gunicodeprivate.h: Use a private header instead of extern
920         function declarations (_g_utf8_normalize_wc,
921         _g_unichar_combining_class).
923 Mon Sep  8 00:31:10 2003  Stefan Westerfeld  <stefan@space.twc.de>
925         * glib/gbsearcharray.h: inserted casts for C++.
927 2003-08-28  Matthias Clasen  <maclas@gmx.de>
929         * tests/patterntest.c (verbose): Fix a C99ism.  (#120821, Thomas 
930         Klausner)
932 2003-08-25  Tor Lillqvist  <tml@iki.fi>
934         * glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
935         section twice, which might cause a hang. (#120653)
937         * glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
938         valid file descriptor and socket.
940 Mon Aug 25 12:34:36 2003  Owen Taylor  <otaylor@redhat.com>
942         * glib/gmessages.c: Escape control characters in g_logv() output.
943         (#108287, Christian Biere)
945 Mon Aug 25 12:17:20 2003  Owen Taylor  <otaylor@redhat.com>
947         * glib/gmain.c (g_main_context_unref_and_unlock): 
948         When DISABLE_MEM_POOLS is set, loop through and free
949         the poll records explicitely, since g_mem_chunk_destroy()
950         won't do it. (#118121, Morten Welinder)
952 2003-08-22  Samúel Jón Gunnarsson  <sammi@techattack.nu>
954         * is.po: Added "is" to ALL_LINGUAS.
955         
956 2003-08-19  Tor Lillqvist  <tml@iki.fi>
958         * glib/gmessages.c (g_logv): [Win32] Make the fatal error message
959         box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
960         to get a nice stop-sign icon.
962 Tue Aug 19 09:42:06 2003  Owen Taylor  <otaylor@redhat.com>
964         * m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS
965         temporarily, not -lintl. (Problem with fix for 
966         #119171, pointed out by James Henstridge)
968 Tue Aug 19 03:55:29 2003  Tim Janik  <timj@gtk.org>
970         * glib/gbsearcharray.h: license change, no restrictions are made
971         in the new license at all, the implmentation is simply provided
972         "as is" to allow copy-pasting the code into any third-party app.
973         naturally, the implementation is self-contained within the header
974         file to allow this.
975         default to non-shrinking behaviour, allow users to request shrinking
976         via G_BSEARCH_ARRAY_AUTO_SHRINK.
977         creation, deletion functions are now named g_bsearch_array_create()
978         and g_bsearch_array_free(). 
979         fixed const in prototypes, removed cruft.
980         (g_bsearch_array_insert): take only three arguments, do nothing if the
981         node to insert is already there.
982         (g_bsearch_array_replace): insert or replace if the node is already
983         there.
984         (g_bsearch_array_remove): remove nodes by index, the index of a node
985         can be found via g_bsearch_array_get_index().
986         removed other g_bsearch_array_remove*() variants.
987         (g_bsearch_array_lookup): minor optimizations.
988         (g_bsearch_array_lookup_sibling): return nodes on mismatches.
990         * glib/gbsearcharray.c: removed.
992 2003-08-16  Tor Lillqvist  <tml@iki.fi>
994         Fix #117925 (Dov Grobgeld):
996         * glib/gutils.c (g_find_program_in_path, g_basename,
997         g_path_get_basename, g_path_is_absolute, g_path_skip_root,
998         g_path_get_dirname, g_get_any_init): On Win32, look also for
999         slashes ('/') as pathname separators.
1001         * glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
1002         contains a pathname separator, include the actual one in the error
1003         message, instead of always the canonical one.
1005         (g_build_filename): Separate implementation on Win32 that looks
1006         for either slash or backslash. Document Unix/Windows differences.
1008         * tests/testglib.c
1009         * tests/strfunc-test.c: Test above functionality on Win32.
1011 2003-08-15  Tor Lillqvist  <tml@iki.fi>
1013         * glib/gmain.c (g_poll): [Win32] Don't exceed handle array
1014         bounds. Warn if there would be too many handles to wait
1015         for. (WaitForMultipleObjects() has a relatively low limit of 64
1016         handles. The Win32 IO channel code should be fixed not to need to
1017         wait for one handle per file or socket being watched. Later.)
1019 2003-08-13  Tor Lillqvist  <tml@iki.fi>
1021         * glib/Makefile.am
1022         * gmodule/Makefile.am
1023         * gobject/Makefile.am
1024         * gthread/Makefile.am: Use srcdir also in references to the .def
1025         files. (#118885, Jeff Bonggren)
1027 2003-08-12  Tor Lillqvist  <tml@iki.fi>
1029         * glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
1030         implementation. It used WideCharToMultiByte(), which is broken as
1031         it stores unconvertable characters as fallback characters
1032         (question marks) in the destination string without being able to
1033         tell how much of the conversion succeeded. Using g_convert() like
1034         on Unix is better and simpler. (#117872)
1036         (g_locale_to_utf8): No need for the Win32-specific implementation
1037         here, either.
1039         (have_broken_filenames): Define as TRUE on Win32.
1041         (g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
1042         have_broken_filenames() now is defined TRUE on Win32, works as
1043         before.
1044         
1045 2003-08-11  Matthias Clasen  <maclas@gmx.de>
1047         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
1048         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
1049         xmlcatalog in PATH.  (#119115) 
1051 2003-08-10  Tor Lillqvist  <tml@iki.fi>
1053         * glib/gutils.c (g_getenv): Don't use a cache of variable name to
1054         value mappings on Win32, as that breaks g_setenv() and
1055         g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
1056         and in that case return a quarkified string. It is still
1057         questionable how necessary expanding embedded environment variable
1058         references is. Possibly the whole Win32-specific g_getenv()
1059         implementation could be removed. (#119520)
1061 2003-08-08  Tor Lillqvist  <tml@iki.fi>
1063         * glib/glib.def: Add g_once_impl.
1065         * glib/gutils.c (g_setenv): Fix syntax error in the !HAVE_SETENV
1066         case.
1068 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1070         * tests/env-test.c (main): Remove a test for getenv() behaviour
1071         which isn't specified by SUS and doesn't work on Solaris.
1073 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1075         * tests/env-test.c: Add tests for '=' in names and values.
1077         * glib/gutils.c (g_setenv, g_unsetenv): Check that the variable
1078         name doesn't contain '='. Add a declaration for environ.  (#119338)
1080         * acinclude.m4: Tighten the snprintf() test to check behaviour on
1081         zero-size buffers.  (#106091) 
1083         * tests/patterntest.c: Specify test strings in UTF-8, remove all
1084         charset conversion. Replace the NOISY define by a cmdline arg
1085         --noisy.   (#115757) 
1087 Thu Aug  7 15:01:09 2003  Owen Taylor  <otaylor@redhat.com>
1089         * m4macros/glib-gettext.m4: Set $LIBS to include
1090         -lintl when checking for dcgettext and 
1091         _nl_msg_cat_cntr. (Tim Mooney, #119171)
1093 Thu Aug  7 14:15:44 2003  Owen Taylor  <otaylor@redhat.com>
1095         * glib/gmain.c (g_idle_source_new): Make the default priority
1096         for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
1097         expect and document that. (#114461, reported by Andy Wingo)
1099 2003-08-06  Noah Levitt  <nlevitt@columbia.edu>
1101         * tests/casemap.txt:
1102         * tests/gen-casemap-txt.pl: Add test for special case not at inital
1103         position in the string, the bug just fixed. (#118957)
1105 2003-08-05  Noah Levitt  <nlevitt@columbia.edu>
1107         * glib/guniprop.c: Get rid of "len" parameter to output_special_case
1108         and output_marks, and make them work more like g_unichar_to_utf8,
1109         fixing a bug in the process. (#118957)
1111 2003-08-05  Hans Breuer  <hans@breuer.org>
1113         * glib/gnulib/makefile.msc : (new file) for msvc build
1115         * glib/gnulib/vasnprintf.c : use glib/galloc.h
1117         * glib/gnulib/printf.h : #include <stdio.h> for FILE*
1119         * glib/makefile.msc.in : replace trio with gnulib
1121         * glib/glib.def : updated externals
1123         * glib/guniprop.c : fix for guniprop.c(582) : error C2082: 
1124         redefinition of formal parameter 'len'
1126 2003-08-04  Noah Levitt  <nlevitt@columbia.edu>
1128         * tests/unicode-normalize.c: We do handle > BMP now, so test it.
1130 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
1132         * tests/file-test.c: s/g_read_link/g_file_read_link/ (#118727)
1134 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
1136         * tests/unicode-encoding.c: Return nonzero exit status if the test
1137         fails. (#118729) 
1139 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
1141         * tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
1142         is the last valid unicode character. Add check that U+10ffff is
1143         NOTUNICODE. (#118730)
1145 2003-07-30  Noah Levitt  <nlevitt@columbia.edu>
1147         * glib/gen-unicode-tables.pl:
1148         * glib/gunibreak.c:
1149         * glib/gunibreak.h:
1150         * glib/gunichartables.h:
1151         * glib/gunicode.h:
1152         * glib/gunicomp.h:
1153         * glib/gunidecomp.c:
1154         * glib/gunidecomp.h:
1155         * glib/guniprop.c:
1156         * tests/casefold.txt:
1157         * tests/casemap.txt:
1158         * tests/gen-casefold-txt.pl:
1159         * tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974)
1161 2003-07-31  Tor Lillqvist  <tml@iki.fi>
1163         * glib/gspawn-win32.c: When possible, manage without the helper
1164         process. (Part of the enhancements outlined in #98737.) Speeds up
1165         GIMP 1.3's first-time-run plug-in query phase a lot.
1167         Plug a file descriptor (and thus Win32 handle) leak: close the
1168         read end of the child error report pipe after use.
1170 2003-07-30  Matthias Clasen  <maclas@gmx.de>
1172         * glib/gutils.c (g_unsetenv): Use same argument name as in header,
1173         to pacify gtk-doc. 
1174         (g_getenv): Move docs inline, add comment about lifespan of return
1175         value. 
1177         * glib-2.0.pc.in (Libs): Remove forgotten @TRIO_LIBS@.  (#118616,
1178         Noah Levitt) 
1180         * glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link()
1181         to better match the remaining file utilities in the g_file_
1182         namespace and to better separate it from readlink(). This is
1183         hopefully no problem as the function is just 2 days old.
1185 2003-07-29  Matthias Clasen  <maclas@gmx.de>
1187         * glib/gqsort.[hc] (g_qsort_with_data): 
1188         * glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri): 
1189         * glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar,
1190         gint, gsize instead of char, int, size_t in the interface for
1191         consistency.  (#118567) 
1193         Replace trio printf() by gnulib vasnprintf():  (#101874)
1194         
1195         * configure.in: Define HAVE_LONG_LONG_FORMAT if system printf
1196         understands %llu; rename enable_trio to enable_included_printf;
1197         add misc. tests needed for gnulib vasnprintf(); define
1198         G_GINT{16,32,64}_MODIFIER in glibconfig.h.
1200         * acinclude.m4: Misc tests needed for gnulib vasnprintf():
1201         AC_FUNC_SNPRINTF_C99, bh_C_SIGNED, jm_AC_TYPE_LONG_LONG, 
1202         gt_TYPE_LONGDOUBLE, gt_TYPE_WCHAR_T, gt_TYPE_WINT_T,
1203         gt_AC_TYPE_INTMAX_T, jm_AC_HEADER_STDINT_H,  
1204         jm_AC_HEADER_INTTYPES_H. 
1206         * glib/Makefile.am: Replace TRIO_SUBDIR by PRINTF_SUBDIR and
1207         trio_libtrio_la by printf_la.  
1209         * glib/gprintfint.h: Include gnulib/printf.h and use _g_gnulib_
1210         functions instead of _g_trio_ functions. 
1212         * glib/trio/*: Removed
1214         * glib/gnulib/*: vasnprintf() implementation from gnulib, patched
1215         to live in the _g_gnulib namespace, use g_malloc instead of
1216         malloc, and support long long printing even if system printf
1217         doesn't. For more details, see glib/gnulib/README.
1218         
1219         * tests/printf-test.c: Add tests for 64 bit printing.
1221 2003-07-28  Matthias Clasen  <maclas@gmx.de>
1223         * glib/gfileutils.h: 
1224         * glib/gfileutils.c: New function g_read_link(). (#72545)
1226         * configure.in: Check for setenv, unsetenv, readlink and symlink.
1228         * tests/file-test.c (test_readlink): Test for g_read_link() (only
1229         on systems supporting symbolic links).
1231         * tests/env-test.c: New test for g_{get,set,unset}env().
1233         * tests/Makefile.am (test_programs): Add env-test.
1235         * glib/gutils.h: 
1236         * glib/gutils.c: New functions g_setenv() and g_unsetenv().  (#100763)
1238 2003-07-26  Matthias Clasen  <maclas@gmx.de>
1240         * tests/printf-test.c: New test, tests printf behaviour. This was
1241         already mentioned in Makefile.am by accident.
1243         * tests/file-test.c: New test, currently contains mkstemp tests
1244         copied from testglib.c. 
1246         * tests/Makefile.am (test_programs): Add file-test.
1248         * glib/gprintf.c: Fix all g_return_val_if_fail () checks to return
1249         -1 on error to match the behaviour of the stdio printf() family.
1251         * glib/garray.h: 
1252         * glib/garray.c (g_{,byte,pointer}_remove_range): New functions to
1253         remove a range of elements from an array.  (#94879, Nalin Dahyabhai)
1255         * glib/gmessages.c (g_logv): Remove the 1024 char limit in the
1256         common (non-recursive) case.
1258 2003-07-25  Matthias Clasen  <maclas@gmx.de>
1260         * glib/gwin32.c: 
1261         * glib/gutf8.c: 
1262         * glib/gunicollate.c: 
1263         * glib/gtree.c: 
1264         * glib/gspawn.c: 
1265         * glib/gmain.c: 
1266         * glib/giochannel.c: 
1267         * glib/gfileutils.c: 
1268         * glib/gerror.c: 
1269         * glib/gconvert.c: 
1270         * glib/gasyncqueue.c: 
1271         * glib/gmem.c: Remove some explicit Docbook markup which is no
1272         longer necessary since gtk-doc does the right thing.
1274         * glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity.
1276 2003-07-20  Hans Breuer  <hans@breuer.org>
1278         * glib/trio/makefile.msc : (new file) for msvc build
1280         * glib/glib.def : removed some duplicated entries
1282         * glib/gscanner.c : add same workaround for MSVC(5.0)
1283         which does not allow to cast an uint64 to float.
1284         Same as in gvaluetransform.c
1285         Also move #include <io.h> behind inclusion of "glib.h"
1286         which defines the needed G_OS_WIN32
1288         * glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
1289         as well as shell32.lib
1291         * tests/spawn-test.c : include <io.h> on win32
1293 2003-07-12  Matthias Clasen  <maclas@gmx.de>
1295         * glib/gprintf.c: Doc additions.
1297 2003-07-10  Joel Brich <joel.brich@laposte.net>
1299         * configure.in: Added "eo" to ALL_LINGUAS.
1301 Wed Jul  9 16:27:26 2003  Manish Singh  <yosh@gimp.org>
1303         * glib/gmain.c (g_main_context_unref_and_unlock): check if
1304         context->poll_chunk is set before trying to destroy it. For example,
1305         this can happen if no sources are added to a context before it is
1306         freed.
1308 2003-07-09  Morten Welinder  <terra@gnome.org>
1310         * glib/gprintf.c (g_vasprintf): Avoid var declaration after
1311         statement.
1313 2003-07-09  Matthias Clasen  <maclas@gmx.de>
1315         Support for one-time initialization functions.  (#69668, Sebastian
1316         Wilhelmi) 
1318         * configure.in: Check whether double checked locking is safe,
1319         define g_once() in glibconfig.h accordingly.
1320         * glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
1321         * glib/gthread.c (g_once_impl): Fallback implementation using a
1322         mutex if double checked locking is unsafe.
1323         * tests/thread-test.c: Add tests for g_once().
1325 2003-07-02  Matthias Clasen  <maclas@gmx.de>
1327         * glib/gstrfuncs.c (g_strfreev): Move docs inline, document behavior 
1328         for NULL. (#116439, Steve Chaplin)
1330 2003-06-25  Abigail Brady  <morwen@evilmagic.org>
1332         * glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx
1333         and \Uxxxxyyyy escapes instead for fallback instead of perl-style
1334         \X{xxxx} ones, fixing bug #114284.
1336 2003-06-25  Tor Lillqvist  <tml@iki.fi>
1338         * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
1339         &optlen to getsockopt() instead of NULL. Don't remember why I
1340         thought that NULL could be used (as we don't actually use the
1341         returned value for anything), the Platform SDK documentation
1342         doesn't imply so.
1344 2003-06-19  Matthias Clasen  <maclas@gmx.de>
1346         * glib/gutils.c (g_path_get_basename): Move the documentation
1347         inline and add details.  (#108505)
1349 2003-06-18  Matthias Clasen  <maclas@gmx.de>
1351         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
1352         macros to check for XML catalog contents and path, borrowed from
1353         gtk-doc. 
1355         * configure.in: New option --enable-man to enable regeneration of
1356         man pages from Docbook, if the necessary tools are found.
1358 2003-06-17  Matthias Clasen  <maclas@gmx.de>
1360         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
1361         macros to check for XML catalog contents and path, borrowed from
1362         gtk-doc. 
1363         
1364         * configure.in: New option --enable-man to enable regeneration of
1365         man pages from Docbook, if the necessary tools are found.
1367 2003-06-15  Tor Lillqvist  <tml@iki.fi>
1369         * glib-zip.in (DLLDIR): Test where the DLLs actually are.
1371         * README.win32: Point to FSF's binary Win32 distributions of
1372         libiconv and gettext-runtime.
1374 2003-06-11  Tor Lillqvist  <tml@iki.fi>
1376         * glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
1377         subdirectory, so get them from there.
1379         * glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
1380         same way as the po files for Serbian in Latin and Cyrillic script.
1382 2003-06-11  Sebastian Wilhelmi  <seppi@seppi.de>
1384         * configure.in: Remove false &. Spotted by Albert Chin
1385         <gtk-devel-list@thewrittenword.com>.
1387 2003-06-08  Tor Lillqvist  <tml@iki.fi>
1389         * glib/giowin32.c: Fix indentation and spacing. Use
1390         INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
1391         gethostbyaddr().
1393 Sat Jun  6 16:18:10 2003  Andrew Lanoix  <alanoix@umich.edu>
1395         * glib/giowin32.c: Resolved thread deadlocks in socket 
1396         ichannel code to support Add-Cancel-Add watch functionality 
1397         on windows. Also cleaned up socket error handling to not 
1398         segfault and do the right thing.
1399         
1400 Fri Jun  6 10:24:23 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
1402         * m4macros/glib-gettext.m4: Test for Solaris native gettext 
1403         in libc, seeing if it supports GNU catalog format (#85217).
1404         
1405 Thu Jun  5 23:40:31 2003  Owen Taylor  <otaylor@redhat.com>
1407         * glib/gmain.c: When dispatching a source that is
1408         !CAN_RECURSE, temporarily remove any file descriptors
1409         that that source has registered from the main loop, to keep
1410         recursive main loops from busy-waiting if input
1411         becomes available on one of those file descriptors.
1412         (#112222, Christian Krause)
1414         * glib/gmain.c (g_source_set_priority): Properly
1415         remove the source from the context's source list
1416         and reinsert it sorted, rather than simply setting
1417         source->next/prev to NULL! (#114274)
1419 2003-06-06  Matthias Clasen  <maclas@gmx.de>
1421         * glib/gstring.c (g_string_append_printf_internal): Use
1422         g_vasprintf() and g_string_append_len(), thus enabling embedded
1423         nuls in the result of g_string_printf().  (#92492, Owen Taylor)
1425         * tests/string-test.c: Add a test for embedded nuls in the
1426         result of g_string_printf().
1428         * glib/gprintf.[ch]: Synchronize argument names with headers and docs.
1429         (g_vasprintf): An implementation of vasprintf(), code was lifted
1430         from g_strdup_vprintf().  (#112365)
1432         * glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
1434 2003-06-05  Tor Lillqvist  <tml@iki.fi>
1436         * glib/giochannel.h
1437         * glib/gmain.h: Remove bogus (Win32-only) declaration of
1438         g_main_poll_win32_msg_add(). No such function exists.
1440         * glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
1441         better warning messages.
1443 2003-06-04  Noah Levitt  <nlevitt@columbia.edu>
1445         * glib/gunidecomp.h (combine): Fix typo (#114375). Also, make the
1446         function static.
1448 2003-06-03  Sebastian Wilhelmi  <seppi@seppi.de>
1450         * configure.in: Test for pthread_setschedparam. If not existant,
1451         disable priorities. (#104718)
1453 Mon Jun  2 14:18:21 2003  Owen Taylor  <otaylor@redhat.com>
1455         Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
1457         * glib/gspawn.c (read_data): Don't read() into '&buf', while this
1458         is technically okay - it is clearer as just 'buf'.
1459         (write_all): New helper function that handles write() interrupts.
1460         (write_err_and_exit): Use write_all() instead of write().
1461         (fork_exec_with_pipes): Same here.
1462         
1463 Sun Jun  1 09:42:36 2003  Owen Taylor  <otaylor@redhat.com>
1465         * glib/giochannel.c (g_io_error_get_from_g_error): Put 
1466         the g_return_val_if_fail() in the right place.
1468 Fri May 31 1:17:45 2003  Ray Strode  <halfline@hawaii.rr.com>
1470         * glib/giochannel.c (g_io_channel_error_from_errno):
1471         Fix typo: should be G_IO_ERROR_UNKNOWN not
1472         G_ERROR_ERROR_UNKNOWN
1474 Fri May 30 19:23:47 2003  Owen Taylor  <otaylor@redhat.com>
1476         * glib/gstrfuncs.c (g_ascii_strncasecmp)
1477         * glib/gstrfuncs.c (g_ascii_strcasecmp): Use TOLOWER()
1478         macro instead of g_ascii_tolower() (#107138)
1480 Fri May 30 19:09:25 2003  Owen Taylor  <otaylor@redhat.com>
1482         * m4macros/glib-gettext.m4: Backport better handling
1483         of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon)
1485 Fri May 30 18:46:05 2003  Owen Taylor  <otaylor@redhat.com>
1487         * m4macros/glib-gettext.m4: expand $exec_prefix as
1488         well as $prefix. (#107290, reported by Morten Welinder,
1489         patch from Raja Harinath)
1491 Fri May 30 17:24:23 2003  Owen Taylor  <otaylor@redhat.com>
1493         * glib-gettextize.in: Quote $srcdir to handle $srcdir
1494         with spaces (#107850, Evan Martin)
1496 Fri May 30 16:48:26 2003  Owen Taylor  <otaylor@redhat.com>
1498         * glib/giochannel.c (g_io_channel_error_from_errno):
1499         Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR,
1500         since close() can return EINTR. (#11842, Balazs Scheidler)
1502 Fri May 30 15:51:43 2003  Owen Taylor  <otaylor@redhat.com>
1504         * glib/giochannel.c (g_io_error_get_from_g_error): 
1505         Do a g_return_val_if_fail() on err == NULL to be a
1506         bit more robuts on buggy IO channel implementations.
1507         (#113396, Dan Winship)
1509 Tue May 27 19:56:35 2003  Owen Taylor  <otaylor@redhat.com>
1511         * glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token
1512         before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar,
1513         #113797)
1515 2003-05-28  Matthias Clasen  <maclas@gmx.de>
1517         * tests/patterntest.c: Remain silent when sucessful. 
1519         * tests/Makefile.am: Add patterntest to make check.  (113143)
1521 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1523         * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
1524         strcpy. (#106988, Christian Biere)
1526 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1528         * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
1529         strcpy. (#106988, Christian Biere)
1531 2003-05-23  Noah Levitt  <nlevitt@columbia.edu>
1533         * glib/gutf8.c: Fix typo in UNICODE_VALID (related to #107427).
1535 2003-05-23  Noah Levitt  <nlevitt@columbia.edu>
1537         * glib/guniprop.c: Remove stale comment.
1539 2003-05-22  Noah Levitt  <nlevitt@columbia.edu>
1541         * glib/guniprop.c: Update g_unichar_iswide to Unicode 4.0 (#113404).
1543 2003-05-21  Noah Levitt  <nlevitt@columbia.edu>
1545         * glib/guniprop.c: Fix obscure typo in case conversion routine
1546         (#113469).
1548 Tue May 20 14:14:55 2003  Manish Singh  <yosh@gimp.org>
1550         * configure.in: wrap 64-bit MIN/MAX limit constants in
1551         G_GINT64_CONSTANT. Fixes bug #108699.
1553 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1555         * glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should
1556         return G_UNICODE_BREAK_UNKNOWN if the character is greater than
1557         G_UNICODE_LAST_CHAR.
1559 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1561         * glib/glist.c: Remove unused function g_list_sort2 (bug #113203).
1563 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1565         * glib/gunidecomp.c: Fix off-by-one error in
1566         g_unicode_canonical_ordering (bug #113260).
1568 2003-05-19 Arafat Medini <lumina@silverpen.de>
1570         * ar.po: Added ar to ALL_LINGUAS
1572 2003-05-17  Telsa Gwynne  <hobbit@aloss.ukuu.org.uk>
1574         * configure.in: Added cy to ALL_LINGUAS
1576 2003-05-05  Matthias Clasen  <maclas@gmx.de>
1578         * glib/gstrfuncs.c (g_ascii_dtostr): 
1579         (g_ascii_formatd): 
1580         (g_ascii_strtod): Some doc fixes.  (#111805)
1582 2003-05-05  Christian Rose  <menthos@menthos.com>
1584         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
1586 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
1588         * autogen.sh (have_libtool): Accept libtool-1.5. (#111483)
1590 2003-04-09  Matthias Clasen  <maclas@gmx.de>
1592         * INSTALL: 
1593         * INSTALL.in: Remove list of configuration flags, since these 
1594         are already documented in docs/reference/glib/building.sgml.
1596 2003-04-08  Matthias Clasen  <maclas@gmx.de>
1598         * INSTALL: Move Cross-compliation information to reference manual.
1600 Mon Apr  7 13:40:28 2003  Owen Taylor  <otaylor@redhat.com>
1602         * glib/gmain.c (g_main_loop_run): When waiting for
1603         the main loop to be freed up, wait on either
1604         !loop->is_running or got_ownership, not both.
1605         (Caused gtk_dialog_run() not to work in other
1606         threads, reported by Jean-Yves Lefort)
1608 2003-04-07  Matthias Clasen  <maclas@gmx.de>
1610         * glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.
1611         (#110087) 
1613 2003-04-01  Tor Lillqvist  <tml@iki.fi>
1615         * glib/glib.def: Add g_string_chunk_insert_len.
1617 2003-04-01  Matthias Clasen  <maclas@gmx.de>
1619         * glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
1620         insert possible non-nul-terminated byte sequences into a string
1621         chunk.  (#96279)
1622         (g_string_chunk_insert): Implement in terms of
1623         g_string_chunk_insert_len() now.
1625 2003-03-30  Matthias Clasen  <maclas@gmx.de>
1627         * glib/gstring.c (g_string_new): Optimize the common cases 
1628         (init == NULL or init == "") a bit.
1629         * glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
1630         glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
1631         glib/gspawn.c, gobject/gvaluetransform.c: replace uses of 
1632         g_string_new ("") by g_string_new (NULL).  (#106973, Morten Welinder)
1634         * glib/gutf8.c (UNICODE_VALID): Update to Unicode 3.1 and optimize
1635         a bit.  (#107427, Noah Lewitt)
1637         * glib/libcharset/config.charset: Add cp1251 support for Solaris.
1638         (#104738, Hidetoshi Tajima)
1640         * glib/gconvert.c (UnsafeCharacterSet): Get rid of
1641         UNSAFE_DOS_PATH.
1642         (acceptable): Align with RFC2396.  (#59653)
1644         * tests/uri-test.c: Adjust to the changes above.
1646 2003-03-26  Christian Rose  <menthos@menthos.com>
1648         * configure.in: Added "yi" to ALL_LINGUAS.
1650 2003-03-19  Matthias Clasen  <maclas@gmx.de>
1652         * glib/giochannel.c (g_io_channel_read_to_end): Fix docs.
1654 2003-03-19  Anders Carlsson  <andersca@codefactory.se>
1656         * configure.in: Bump version to 2.3.0
1658 2003-03-14  Sebastian Wilhelmi  <seppi@seppi.de>
1660         * glib/gthread.c: Do not define function g_thread_init_glib, if
1661         not G_THREADS_ENABLED. It's not called bu g_thread_init() then,
1662         but calls other, in that case undefined functions.
1664 2003-03-06  Matthias Clasen  <maclas@gmx.de>
1666         * glib/gmain.c (g_main_context_find_source_by_id): 
1667         (g_main_context_find_source_by_funcs_user_data): Fix FALSE/NULL
1668         confusion.  (#107646, Morten Welinder)
1670 2003-03-01  James Henstridge  <james@daa.com.au>
1672         * autogen.sh: require automake 1.7.  Add calls to libtoolize and
1673         gtkdocize.  Clean up some of the error messages.
1675         * configure.in: move version declaration to the top of the file
1676         (before AC_INIT), using M4 macros.
1677         GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
1678         of M4 macro expansion in help messages instead.
1679         Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
1680         format help strings.  Use quadrigraphs to get square brackets to
1681         show correctly.
1682         Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
1683         Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
1684         glibconfig.h, so that "./config.status glibconfig.h" works.
1685         Add an extra AC_CONFIG_FILES call listing other files we want
1686         generated by config.status protected by an "if false" block.  This
1687         way automake generates the rules needed to rebuild the files for
1688         us.
1689         Add quotes in various places.
1691         * docs/reference/*/Makefile.am: convert to use the common
1692         gtk-doc.make file.  This localises the complexity to a single
1693         makefile fragment maintained with gtk-doc itself.
1695         * */Makefile.am: remove unneeded rules to build win32 files with
1696         config.status.  Automake now does this for us.
1697         Replace instances of @FOO@ with $(FOO) where appropriate -- this
1698         allows automake to do a better job checking the makefile.
1699         Add some files to DISTCLEANFILES where appropriate
1701         * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
1702         ensure that --enable-gtk-doc is passed to configure during a
1703         distcheck.  Remove the custom distcheck, since the standard one
1704         will now do.
1706         * gobject/Makefile.am: switch to BUILT_SOURCES, since that now
1707         works.
1709 2003-02-26  Matthias Clasen  <maclas@gmx.de>
1711         * glib/gstrfuncs.c (g_strdup_vprintf): Use g_strndup, not
1712         g_strdup, since we know the length in advance.
1714         * glib/gunidecomp.c (g_unicode_canonical_decomposition): Use
1715         g_malloc instead of directly using malloc.
1717 2003-02-25  Tor Lillqvist  <tml@iki.fi>
1719         * glib/glib.def: Add a couple of missing entries, thanks to Cedric
1720         Gustin. Thread initialization function changes according to
1721         Sebastian Wilhelmi's changes below (2003-02-14).
1723 2003-02-24  Matthias Clasen  <maclas@gmx.de>
1725         * glib/gdir.c (g_dir_read_name): Clarify documentation.
1727 2003-02-18  Sebastian Wilhelmi  <seppi@seppi.de>
1729         * configure.in: Make glib_thread_test not unnecessarily convert
1730         between int and void*. (#106278). Let main return int.
1732         * configure.in: Add an argument to specify the default thread
1733         attribute to glib_thread_test. Disappeared somewhere between 2.0
1734         and 2.2.
1736 2003-02-14  Sebastian Wilhelmi  <seppi@seppi.de>
1738         Fixes for #101264 and #99372:
1740         * glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
1741         glib/grand.c: Include gthreadinit.h and rename the thread
1742         initialization functions a bit and let them start with _, so that
1743         later we can stop exporting them.
1744         
1745         * glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
1746         new functions. They have to be called after setting
1747         g_threads_got_initialized to TRUE (see #101264).
1749         * glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
1750         g_thread_init_glib(). Call the thread initialization functions
1751         (which are not allowed to call g_private_new), then set
1752         g_threads_got_initialized to TRUE, then call the other thread
1753         initialization functions (which must not call anything but
1754         g_private_new()).
1755         
1756         * glib/gthreadinit.h: New private header to cleanly declare all
1757         thread initialization functions.
1759         * gthread/gthread-impl.c: Include gthreadinit.h. In
1760         g_thread_init() just call g_thread_init_glib(), which in turn calls the
1761         other functions (see #99372).
1762         
1763         * glib/Makefile.am: Added gthreadinit.h.
1765 2003-02-12  Sebastian Wilhelmi  <seppi@seppi.de>
1767         * configure.in: Make GLib recognize Tru64Unix thread system. (#103020)
1769 2003-02-11  Tor Lillqvist  <tml@iki.fi>
1771         * Makefile.am (EXTRA_DIST): Include ChangeLog.pre-2-2.
1773         * glib-zip.in: Include also the gtk-doc/html documentation in the
1774         developer package.
1776         * README.win32: Updates.
1778 2003-02-11  Sebastian Wilhelmi  <seppi@seppi.de>
1780         * AUTHORS: Changed my e-mail address.
1781         * glib/grand.c: Removed my e-mail address.
1783 2003-02-10  Mohammad DAMT  <mdamt@bisnisweb.com>
1785         * po/id.po: Added Indonesian translation
1786         * configure.in: Added "id" to ALL_LINGUAS
1788 2003-02-06  Matthias Clasen  <maclas@gmx.de>
1790         * glib/gmessages.h: 
1791         * glib/gmem.h: 
1792         * glib/ghash.h: 
1793         * glib/gasyncqueue.h: 
1794         * glib/garray.h: 
1795         * glib/ghook.h: 
1796         * glib/gtypes.h: Fix a bunch of typos in header comments.
1797         (#102422, Morten Welinder)
1799 2003-02-04  Tor Lillqvist  <tml@iki.fi>
1801         * glib/giowin32.c (g_io_channel_unix_new): Fix typo: Should be
1802         SOCKET_ERROR, not SO_ERROR. Noticed by Daniel Kaufmann.
1803         
1804         Merge from stable branch: 
1806         Fix for bug #104014, reported by Alex Shaduri:
1807         
1808         * glib/gspawn-win32.c (protect_argv): New function. Add
1809         double-quotes around argv elements that need it, and escape
1810         embedded double-quotes with backslash.
1811         (do_spawn_with_pipes) Call protect_argv().
1813         * glib/gspawn-win32-helper.c (WinMain): Call protect_argv().
1815         * glib/gspawn.c (g_spawn_async_with_pipes): Document argument
1816         vector vs. command line details on Win32.
1817         (g_spawn_command_line_sync): Improve documentation about
1818         backslashes in the command line on Windows.
1820 Thu Jan 30 16:45:13 2003  Owen Taylor  <otaylor@redhat.com>
1822         * Makefile.am: Remove references to glib.spec.
1823         (#102231)
1825         * configure.in: Don't generate glib.spec.
1827 Tue Jan 28 16:08:56 2003  Owen Taylor  <otaylor@redhat.com>
1829         * m4macros/glib-gettext.m4: If msgfmt isn't found,
1830         unset gt_cv_have_gettext. (#102552, Tim Mooney)
1832 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
1834         * autogen.sh (have_automake): Fix version in complaint
1835         message about automake. (#104366, Rich Burridge)
1837 2003-01-22  Pablo Saratxaga  <pablo@mandrakesoft.com>
1839         * configure.in: Added Bengali (bn) to ALL_LINGUAS
1841 2003-01-21  Christian Rose  <menthos@menthos.com>
1843         * configure.in: Added "mn" to ALL_LINGUAS.
1845 2003-01-20  Pablo Saratxaga  <pablo@mandrakesoft.com>
1847         * configure.in: Added Farsi (fa), Italian (it), Latvian (lv),
1848         Macedonian (mk) to ALL_LINGUAS
1850 2003-01-16  Daniel Yacob <locales@geez.org>
1852         * configure.in: added am to ALL_LINGUAS
1853         
1854 2003-01-12  Tor Lillqvist  <tml@iki.fi>
1856         * glib/glib.def: Add some missing entries. Thanks to Kenichi SUTO.
1858 2003-01-05  Tor Lillqvist  <tml@iki.fi>
1860         * README.win32: Updates.
1862         * configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
1863         libm. (Mingw has a dummy libm.a, but the .pc file should be
1864         useable by MSVC users, too.)
1866 2003-01-25  Ron Steinke  <rsteinke@w-link.net>
1868         (Ancient, binary compatible fixes found sitting in my tree)
1870         * Added early checks for count == 0 and buf == NULL in g_io_channel_read()
1872         * Better error message for EFAULT in  g_io_channel_error_from_errno()
1874 2003-01-04  Tor Lillqvist  <tml@iki.fi>
1876         * Makefile.am (BUILT_EXTRA_DIST): Don't distribute glib-zip.
1878         * {glib,gmodule,gobject,gthread}/Makefile.am:
1879         [Win32] Install also the .def files, to help users generate
1880         import libraries for other compilers. Uninstall, too.
1882         * glib-zip.in: Include .def files from above.
1884         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Don't claim
1885         broken pipes are unreadable. (Well, they are, but read() handles
1886         it, and treats it like EOF.)
1888 Thu Jan  2 16:19:15 2003  Manish Singh  <yosh@gimp.org>
1890         * configure.in: use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE for
1891         tests for inline keywords. Fixes #101976.
1893 2003-01-02  Tor Lillqvist  <tml@iki.fi>
1895         * glib/gwin32.h: Correct the comment telling what headers have
1896         the declarations of some POSIXish functions.
1898         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino:
1899         The checks for readability/writeability were backwards.
1901 2003-01-01  Tor Lillqvist  <tml@iki.fi>
1903         * glib/gmessages.c (ensure_stderr_valid): New function, parallel
1904         to ensure_stdout_valid(). #defined as empty on Unix. Move the
1905         alloc_console_called static flag inside these two functions.
1906         (ensure_stdout_valid, ensure_stderr_valid): Check the C stdout and
1907         stderr streams for validity, instead of what GetStdHandle() returns.
1908         (mklevel_prefix): Do use either stderr or stdout on Windows,
1909         too. Otherwise g_warning() messages (that are just warnings, by
1910         definition) will get mixed with proper stdout output. Noticed in
1911         GIMP's gimpconfig-dump.
1912         (strdup_convert, mklevel_prefix, g_printerr): Call
1913         ensure_stderr_valid() before trying to use stderr.
1914         (g_logv): [Win32] Convert message to current codepage before
1915         display with MessageBox().
1917 2002-12-28  Tõivo Leedjärv  <toivo@linux.ee>
1919         * configure.in: Added et to ALL_LINGUAS.