Only set time_is_current to FALSE if context->timeout is not zero.
[glib.git] / ChangeLog.pre-2-4
blobd5feb1e1551072d22f8f494d0bbe8da4ad003c51
1 2004-04-22  Matthias Clasen  <mclasen@redhat.com>
3         * glib/gmain.c (g_main_context_query): Only set time_is_current to 
4         FALSE if context->timeout is not zero.  (#137795, Christian Krause)
6 2004-04-21  Matthias Clasen  <mclasen@redhat.com>
8         * tests/printf-test.c (main): Comment out a nonessential testcase
9         which fails on HP-UX.  (#136283, Jonas Jonsson)
11 2004-04-15  Matthias Clasen  <mclasen@redhat.com>
13         * tests/patterntest.c (main): Add tests for the empty pattern.
15         * glib/gpattern.c (g_pattern_spec_new): Don't read and write out 
16         of bounds when the pattern is empty.  (#140032, Stanislav Brabec,
17         Stefan Fent)
19 2004-04-10  Tor Lillqvist  <tml@iki.fi>
21         * glib/gwin32.c (g_win32_getlocale): Add new language and
22         sublanguage codes, from GNU gettext. (#137958)
23         
24         * glib/giowin32.c
25         * glib/gmain.c
26         * glib/gstrfuncs.c
27         * glib/gthread.c: Decorating variable definitions with
28         __declspec(dllexport) causes problems on Cygwin build, and isn't
29         really needed for a native Win32 build with mingw or MSVC, so
30         remove. (#138402, Roger Leigh)
32         * glib/libcharset/localcharset.c: Use Win32-specific code also on
33         Cygwin.
34         * tests/uri-test.c: Don't assume that local filenames are in UTF-8
35         on Cygwin, either. (#138412, Roger Leigh)
37 2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>
39         * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
41 2004-04-03  Tor Lillqvist  <tml@iki.fi>
43         * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
44         found on Cygwin, they don't work. (#138401, Roger Leigh)
46 2004-03-31  Tor Lillqvist  <tml@iki.fi>
48         * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
49         Leigh)
51         * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
52         on Cygwin. (#138423, Roger Leigh)
54 2004-03-30  Adam Weinberger  <adamw@gnome.org>
56         * configure.in: Added en_CA to ALL_LINGUAS.
58 2004-03-21  Tor Lillqvist  <tml@iki.fi>
60         * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
61         cases where a drive letter is present. For 'a:' or 'a:foo', return
62         'a:.'. This is mostly just for consistency with the behaviour
63         without a drive letter. But very important is to for 'a:\foo' or
64         'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
65         instead of backslashes.) (#137316)
67         * tests/dirname-test.c (main): More complete testing on Win32. If
68         a test fails, include expected and actual result in error message.
70 Fri Mar 19 15:21:09 2004  Owen Taylor  <otaylor@redhat.com>
72         * glib/gmain.c: Fix the accidental revert of the
73         fixes from #112222 that happened when the GChildWatch
74         code was added. (Caught by Christian Persch)
76 Fri Mar 19 11:07:06 2004  Owen Taylor  <otaylor@redhat.com>
78         * tests/atomic-test.c (main): Make computation
79         of "biggest_pointer" vaguely more portable.
80         (#137498, Jonas Jonsson)
82 2004-03-16  Tor Lillqvist  <tml@iki.fi>
84         * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
85         on Win32) case, where the 64-bit type is called long long, but the
86         system printf/scanf format modifier for 64-bit integers is still I64.
88 2004-03-16  Gareth Owen  <gowen72@yahoo.com>
90         * configure.in: Added en_GB to ALL_LINGUAS
92 Tue Mar 16 11:50:56 2004  Owen Taylor  <otaylor@redhat.com>
94         * === Released 2.4.0 ===
96         * configure.in: Version 2.4.0, interface age 0.
98         * README.in: Updates
100         * NEWS: Updates
102 Sun Mar 14 13:56:48 2004  Owen Taylor  <otaylor@redhat.com>
104         * glib/gmessages.c (escape_string): Handle invalid
105         UTF-8. (#131218, patch from Matthias Clasen)
107 Sun Mar 14 13:23:36 2004  Owen Taylor  <otaylor@redhat.com>
109         * glib/gspawn.c: Use fork1() not fork for 
110         G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
112 Sun Mar 14 12:58:30 2004  Owen Taylor  <otaylor@redhat.com>
114         * glib/gmain.c: if _POLL_EMUL_H is defined, undefine
115         HAVE_POLL to prefer our own poll() emulation to the
116         lame OS/X one. (#136956, Manish Singh)
118 Sat Mar 13 23:30:53 2004  Owen Taylor  <otaylor@redhat.com>
120         * glib/gmacros.h (G_STMT_START): Add __extension__
121         to G_STMT_START to quite gcc -pedantic. (#131899,
122         Olivier Biot)
124 Sat Mar 13 23:18:45 2004  Owen Taylor  <otaylor@redhat.com>
126         * tests/env-test.c (main): Remove critical log handler;
127         we can't trigger g_return_if_fails() in our test suite
128         even silently, because the user could have compiled
129         with --disable-debug. #if 0 the tests for
130         g_setenv/g_unsetenv with a "foo=bar" variable name.
131         (#136709, reported by Frédéric L. W. Meunier)
133 Sat Mar 13 23:10:35 2004  Owen Taylor  <otaylor@redhat.com>
135         Some warning fixes for the Sun compiler (Reported by 
136         David L. Cooper II, #136401)
138         * glib/giochannel.c (g_io_channel_read): Return
139         G_IO_ERROR_NONE, not G_IO_STATUS_NORMAL, since hte
140         function returns a GIOError.
142         * glib/guniprop.c: Fix some guchar/gchar confusion
143         with special_case_table.
145 Fri Mar 12 15:30:58 2004  Manish Singh  <yosh@gimp.org>
147         * glib/gbacktrace.h: ia32's G_BREAKPOINT() implementation works on
148         amd64 too. Enable it.
150 Fri Mar 12 15:21:22 2004  Manish Singh  <yosh@gimp.org>
152         * glib/gatomic.c: Non-optimizing compile fails for two asm
153         statements on PowerPC. Use generic implementaton for those
154         cases. Spotted by Christof Petig <christof@petig-baender.de>,
155         fix by Sebastian Wilhelmi. Bug #137006 has a possible alternate
156         solution, but we'll be conservative for now.
158 Thu Mar 11 02:05:13 2004  Matthias Clasen  <maclas@gmx.de>
160         * glib/gmain.c (g_main_depth): Remove an extra semicolon.
161         Spotted by Kjartan Maraas.
163 2004-03-10  Tor Lillqvist  <tml@iki.fi>
165         * glib/gspawn-win32.c
166         * glib/gspawn-win32-helper.c: Implement
167         G_SPAWN_FILE_AND_ARGV_ZERO. (#136792, Bruce Hochstetler)
169         * tests/spawn-test.c
170         * tests/spawn-test-win32-gui.c: Test it.
172 Tue Mar  9 09:16:11 2004  Owen Taylor  <otaylor@redhat.com>
174         * === Released 2.3.6 ===
176         * configure.in: Version 2.3.6, interface age 1.
178         * NEWS: Updates
180 2004-03-09  Sebastian Wilhelmi  <seppi@seppi.de>
182         * tests/child-test.c: Do not run the g_child_watch_* test
183         multi-threaded, as that doesn't work on linux prior 2.6. Fixes
184         #136539.
186 2004-03-08 Alastair McKinstry <mckinstry@computer.org>
188         * configure.in: Added "ga" (Irish) to ALL_LINGUAS.
190 2004-03-07  Danilo Šegan  <dsegan@gmx.net>
192         * configure.in: Added "sr@ije" to ALL_LINGUAS.
194 2003-03-07  Hans Breuer  <hans@breuer.org>
196         * glib/gspawn-win32.c : (GPid)shortcut_spawn_retval which
197         doesn't improve the implementation at all, it just make it 
198         compile with msvc ...
200         * glib/makefile.msc.in : build gatomic.c (now really:)
201         
202 2004-03-06  Tor Lillqvist  <tml@iki.fi>
204         * README.win32: Update.
206         * configure.in
207         * Makefile.am
208         * */Makefile.am: Drop the hand-written makefile.mingw(.in)
209         files. They haven't been maintained in a long time. As several
210         people have managed to build GLib for Win32 using the
211         autoconfiscation mechanism, there is no real reason to even try to
212         maintain the hand-written mingw makefiles.
214 2004-03-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
216         * glib/gatomic.c: Fix infinite recursion for
217         G_MEMORY_BARRIER_NEEDED and DEFINE_WITH_MUTEXES by using a GMutex
218         instead of G_DEFINE_LOCK. The mutex is allocated by the new
219         function _g_atomic_thread_init. Fixes #136284.
221         * glib/gthreadinit.h, glib/gthread.c: Declare and call
222         _g_atomic_thread_init during thread system initialization.
224 2004-03-05  Tor Lillqvist  <tml@iki.fi>
226         * glib/glib.def: Add g_main_depth. (#136221, Cedric Gustin)
228 2004-03-04  Guntupalli Karunakar  <karunakar@freedomink.org>
230         * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
232 2004-03-04  Sebastian Wilhelmi  <seppi@seppi.de>
234         * glib/gmain.c: Use the atomic integer operations for GMainContext
235         and GMainLoop reference counting.
237         * glib/gmain.c: Hold the main_context_list lock, when iterating
238         the list. Only call g_main_context_wakeup for positive reference
239         count.
241 2004-03-03  Tor Lillqvist  <tml@iki.fi>
243         * glibconfig.h.win32.in: Update to match a configure-generated
244         glibconfig.h. Specifically: Remove G_{MIN,MAX,MAXU}INT64
245         definitions (now in gtypes.h). Remove g_once and
246         g_static_mutex_get_mutex_impl_shortcut definitions (now in
247         gthread.h).
249         * tests/child-test.c: Use a macro GPID_FORMAT for the format to
250         print GPid in (%p on Win32, %d on Unix). Maybe configure.in should
251         place that in glibconfig.h?
253         Print verbose error message if CreateProcess() fails.
255         Don't close the child handle until in the child watch callback.
257         Don't try to run /bin/true on Win32. Run ipconfig instead (just to
258         pick a program that should exist on all Window boxes).
260 2004-03-02  Sebastian Wilhelmi  <seppi@seppi.de>
262         * glib/gatomic.c: Fixed missing definition for ppc code. Fix by
263         Mark McLoughlin <mark@skynet.ie>.
265 Mon Mar  1 16:49:51 2004  Owen Taylor  <otaylor@redhat.com>
267         * === Released 2.3.5 ===
269         * configure.in: Version 2.3.5, interface ago 0.
271         * NEWS: Some further updates.
273 Mon Mar  1 15:49:09 2004  Owen Taylor  <otaylor@redhat.com>
275         * glib/gmain.c (check_for_child_exited): Don't
276         call waitpid() on a source that has already exited.
278         * glib/gmain.c (g_child_watch_check): Return TRUE
279         only if the child actually exited.
281 Mon Mar  1 15:39:57 2004  Owen Taylor  <otaylor@redhat.com>
283        Patch from J. Ali Harlow
285         * configure.in: Use void * not HANDLE for GPid on win32.
287         * glib/gspawn.[ch] glib/gspawn-win32.[ch] glib/glib.def: 
288         Add g_spawn_close_pid().
289         
290         * glib/gspawn.[ch]: Make g_spawn functions take
291         GPid * instead if int * (GPid == int on unix, will
292         produce compile warnings until fixed on Win32.)
294         * tests/child-test.c: Make the test a little more
295         inappropriately verbose.
297         * glib/gmain.c: Add some documentation warnings about
298         not closing @pid while the source is active.
300 Mon Mar  1 20:32:06 2004  Tim Janik  <timj@gtk.org>
302         * autogen.sh:
303         - exit with $? instead of 1 in case of failure
304         - exit with $? if ./configure failed
305           (that's so autogen.sh && make lines work)
306         - removed --enable-gtk-doc option
307         - added $AUTOGEN_CONFIGURE_ARGS
309 Mon Mar  1 09:17:32 2004  Owen Taylor  <otaylor@redhat.com>
311         * glib/gmain.c (g_main_depth): Clarify doc comment.
313 2004-03-01  Sebastian Wilhelmi  <seppi@seppi.de>
315         * glib/gatomic.c: Define g_atomic_(int|pointer)_get only for
316         G_ATOMIC_OP_MEMORY_BARRIER_NEEDED. Spotted by Hans Breuer.
318 Sun Feb 29 21:42:47 2004  Owen Taylor  <otaylor@redhat.com>
320         * glib/gmain.c: Fix leftover references to 
321         g_main_context_depth() in docs.
323 Sun Feb 29 21:34:34 2004  Owen Taylor  <otaylor@redhat.com>
325         * glib/gmain.[ch]: Add g_main_depth() (Request from
326         Tim Janik and Stefan Westerfeld)
328 Mon Mar  1 00:26:11 2004  Matthias Clasen  <maclas@gmx.de>
330         * NEWS: Update for 2.3.4
332 2003-02-29  Hans Breuer  <hans@breuer.org>
334         * glib/gatomic.c : added win32 api based implementation
335         for G_PLATFORM_WIN32, !__GNUC__
337         * glb/glib.def : change to g_atomi_* no _fallback
339 2004-02-29  Sebastian Wilhelmi  <seppi@seppi.de>
341         * configure.in, glib/gatomic.c, glib/gatomic.h: Moved the
342         assembler functions from gatomic.h to gatomic.c, which makes for
343         better maintainability. Also use gint instead of gint32 to be able
344         to use reference counting for ABI-fixed structures with
345         gint/guint.
347         * glib/gthread.h: Adapted accordingly.
349         * tests/atomic-test.c: Updated to test for G_MAXINT and G_MININT.
351 2003-02-28  Hans Breuer  <hans@breuer.org>
353         * glib/glib.def : updated externals, including those
354         from bug #135386
356         * glib/makefile.msc.in : build gatomic.c
358         * glibconfig.h.win32.in : removed duplicate definition
359         of G_MAXSIZE, typedef void* GPid instead of int
361         * tests/child-test.c  glib/gmain.c : 
362         applied patch from J. Ali Harlow <ali@juiblex.co.uk> to fix 
363         g_child_watch implementation on win32, bug #50296
365 Fri Feb 27 22:13:22 2004  Matthias Clasen  <maclas@gmx.de>
367         * glib/gqueue.c: Trivial doc changes.
369 Fri Feb 27 21:58:20 2004  Matthias Clasen  <maclas@gmx.de>
371         * glib/ghash.c (g_hash_table_find): Add "Since: 2.4"
373 2004-02-27  Sebastian Wilhelmi  <seppi@seppi.de>
375         * glib/gasyncqueue.c, glib/gasyncqueue.h: Use
376         g_atomic_int_(inc|dec_and_test) for reference
377         counting. g_async_queue_unref_and_unlock and
378         g_async_queue_ref_locked is deprecated, but still there to
379         preserve ABI.
381         * glib/gasyncqueue.c, glib/gasyncqueue.h: Reading access to
382         ref_count only with g_atomic_int_get().
384 Fri Feb 27 02:00:34 2004  Matthias Clasen  <maclas@gmx.de>
386         * acglib.m4: quote AC_DEFUN macro names so automake
387         1.8 won't whine at us.  (#134882)
389 Fri Feb 27 01:44:41 2004  Matthias Clasen <maclas@gmx.de>
391         * glib/gdate.c: Translate from locale era to AD in 
392         g_date_set_parse().  (#133400, Theppitak Karoonboonyanan)
394 Fri Feb 27 00:46:29 2004  Matthias Clasen  <maclas@gmx.de>
396         * glib/gstrfuncs.c (g_strerror): Don't modify errno.  (#116617, 
397         Balazs Scheidler)
399 2004-02-26  Sebastian Wilhelmi  <seppi@seppi.de>
401         * glib/gatomic.h: Fix the !G_THREADS_ENABLED case.
403         * tests/child-test.c (main): Only run, if threads are enabled.
405         * glib/gatomic.h: empty G_ATOMIC_MEMORY_BARRIER() definition for
406         !G_THREADS_ENABLED
408         * glib/gthread.h: Define g_once and
409         g_static_mutex_get_mutex_impl_shortcut in terms of
410         G_MEMORY_BARRIER, if defined and if we can inline.
412         * configure.in: Remove double checked locking feature check.
414         * configure.in, config.h.win32.in, glib/gthread.c: Removed the PID
415         niceness surrogate for thread priorities as requested by Tim. It
416         does more harm than good.
418         * glib/gatomic.c, glib/gatomic.h: New files to implement atomic
419         operations for different platforms. Fixes bug #63621.
421         * glib/glib.h: Include gatomic.h.
423         * configure.in: Add test for assembler routines for atomic operations.
425         * glib/Makefile.am: Add gatomic.c, gatomic.h.
427         * tests/Makefile.am, tests/atomic-test.c: Unit test for atomic
428         operations.
430 2003-02-26  Hans Breuer  <hans@breuer.org>
432         * glib/glib.def : added g_hash_table_find and a
433         bunch of g_queue_*
435         * glib/gmain.c : make it compile on win32, 
436         child_wake_up_pipe replaced by semaphore like it is done
437         for the other wake_up_pipe
439         * config.h.win32.in : added HAVE_INT64_AND_I64
440         * glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64,
441         and typedef for GPid
443         * test/env-test.c : don't let the local log function
444         collide in namespace with standard C
446 2004-02-25  Sebastian Wilhelmi  <seppi@seppi.de>
448         * configure.in, glib/gthread.c: For the PID thread priorities
449         surrogate use gettid instead of getpid. This also works with nptl
450         (on linux-2.6), as well as with linuxthreads (on linux-2.4).
452 2004-02-24  Sebastian Wilhelmi  <seppi@seppi.de>
454         * glib/grand.c: Add Since: 2.4, where due
456 Tue Feb 24 14:09:21 2004  Owen Taylor  <otaylor@redhat.com>
458         * === Released 2.3.3 ===
460         * configure.in: Version 2.3.3, interface age 0.
462 Mon Feb 23 22:24:00 2004  Matthias Clasen  <maclas@gmx.de>
464         * NEWS: Start of 2.3.3 section.
466 Sun Feb 22 02:32:14 2004  Matthias Clasen  <maclas@gmx.de>
468         * configure.in: Set the gmodule suffix to 'a' for aix and 
469         use the aix gmodule implementation.  (#85930, Laurent Vivier)
471 Sun Feb 22 00:47:04 2004  Matthias Clasen  <maclas@gmx.de>
473         * glib/gnode.c (g_node_copy_deep): New function to deep-copy a 
474         GNode and its children.  (#93464, James M. Cape)
476 Sat Feb 21 15:42:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
478         * glib/gqueue.c: Some documentation fixes.
480 Sat Feb 21 13:45:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
482         * glib/gqueue.[ch]: Extend GQueue API to match the GList
483         API. (#78414).
485         * tests/queue-test.c: Update test suite to cover the new API.
487 Fri Feb 20 03:02:05 2004  Tim Janik  <timj@gtk.org>
489         * glib/ghash.[hc]: applied patch from #131937 with slight
490         renames. provides g_hash_table_find().
492 Fri Feb 20 02:39:03 2004  Tim Janik  <timj@gtk.org>
494         * applied patch from David Schleef <ds@schleef.org> which implements
495         a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global
496         symbol registration.
498 Thu Feb 19 18:40:01 2004  Tim Janik  <timj@gtk.org>
500         * glib/gstring.[hc]: for G_CAN_INLINE environments, inline
501         g_string_append_c() for efficiency. (vaguely based on #118707).
503 Wed Feb 18 23:57:42 2004  Matthias Clasen  <maclas@gmx.de>
505         * glib/gmain.c: Include signal.h for SIGCHLD.  (#134622, Damien
506         Carbery)
508 2004-02-18  Sebastian Wilhelmi  <seppi@seppi.de>
510         * glib/gasyncqueue.c: Lazy creation of GCond. Only
511         signal GCond, if threads are waiting.
513         * glib/gmain.c (g_main_context_new): Set context->wake_up_pipe
514         only for G_THREADS_ENABLED.
516 Sat Feb 14 11:05:26 2004  Manish Singh  <yosh@gimp.org>
518         * configure.in: Remove unnecessary STRIP_* definitions, and GNU
519         make check. Really fixes #134102.
521 Sat Feb 14 02:11:08 2004  Matthias Clasen  <maclas@gmx.de>
523         * configure.in: Make the check for GNU make work when MAKE is a 
524         full path.  (#134102, Julio M. Merino Vidal)
526 Sat Feb 14 02:08:03 2004  Matthias Clasen  <maclas@gmx.de>
528         * configure.in: Suppress xsltproc and xmlcatalog checks
529         if enable_man=no.  (#134091, Julio M. Merino Vidal)
531 Sat Feb 14 01:21:34 2004  Matthias Clasen  <maclas@gmx.de>
533         * glib/gmain.h: 
534         * glib/gmain.c (g_child_watch_source_new): 
535         * glib/gmain.c (g_child_watch_add): 
536         * glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a
537         GSource. This is a partial implementation of the "Unix signal 
538         source".  (#50296, Jonathan R. Blandford)
540         * configure.in: Add the necessary configury to typedef GPid
541         appropriately.
543         * tests/Makefile.am:
544         * tests/child-test.c: Test child_watch sources.
546 Sat Feb  7 15:02:01 2004  Manish Singh  <yosh@gimp.org>
548         * tests/type-test.c: Fix broken test for gsize formats.
550 2004-02-05  Robert Sedak  <robert.sedak@sk.htnet.hr>
552         * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
554 Wed Feb  4 17:58:51 2004  Manish Singh  <yosh@gimp.org>
556         * glib/gcompletion.h: Add prototype for g_completion_complete_utf8().
558         * tests/completion-test.c: #include <string.h>
560 2004-02-05  Tor Lillqvist  <tml@iki.fi>
562         * glib/glib.def: Add g_completion_complete_utf8.
564 Thu Feb  5 01:19:12 2004  Matthias Clasen  <maclas@gmx.de>
566         * tests/file-test.c (test_mkstemp): Weaken an g_assert() to a 
567         g_warning(), since apparently nothing in Posix forces mkstemp()
568         to reject templates without any X's.  (#133397)
570 Thu Feb  5 00:56:28 2004  Matthias Clasen  <maclas@gmx.de>
572         * glib/gcompletion.c (g_completion_complete_utf8): New function which
573         works like g_completion_complete(), but strips a trailing incomplete
574         UTF-8 character from the prefix.  (#133313, Theppitak Karoonboonyanan)
576         * tests/completion-test.c (main): Some GCompletion tests.
578         * tests/Makefile.am: Add completion-test.
580 2004-02-01  Tor Lillqvist  <tml@iki.fi>
582         * glib/glib.def: Add g_strsplit_set.
584 Sat Jan 31 03:13:56 2004  Matthias Clasen  <maclas@gmx.de>
586         * glib/garray.c (g_byte_array_remove_range): Don't return FALSE
587         from a pointer function.  (#131472, Morten Welinder)
589 2004-01-30  Noah Levitt  <nlevitt@columbia.edu>
591         * glib/gunicomp.h:
592         * glib/gunidecomp.c:
593         * glib/gen-unicode-tables.pl: Size compose_table correctly. (#123421,
594         Simon Josefsson)
596         * glib/gen-unicode-tables.pl: Get rid of some new warnings from perl
597         5.8.1.
599 Tue Jan 27 18:45:47 2004  Manish Singh  <yosh@gimp.org>
601         * m4macros/glib-2.0.m4
602         * m4macros/glib-gettext.m4: quote AC_DEFUN macro names so automake
603         1.8 won't whine at us.
605 Wed Jan 28 01:39:21 2004  Matthias Clasen  <maclas@gmx.de>
607         * glib/gstrfuncs.h: 
608         * glib/gstrfuncs.c (g_strsplit_set): New function, a cross 
609         between g_strsplit() and strtok().  (#88329, Soeren Sandmann)
611         * tests/strfunc-test.c (main): Add g_strsplit_set() tests.
612         
613 Fri Jan 23 22:49:52 2004  Matthias Clasen  <maclas@gmx.de>
615         * glib/gutils.c (g_get_any_init): Sigh, protect against
616         pw->pw_gecos being "" as well.  (#132317, Kaj-Michael Lang)
617         
618 2004-01-23  Tor Lillqvist  <tml@iki.fi>
620         * glib/glib.def: Add new functions.
622         * glib/grand.c: Don't include <unistd.h> unless
623         HAVE_UNISTD_H. Include <process.h> on G_OS_WIN32.
624         (g_rand_new): Use getppid() only on G_OS_UNIX.
626 Thu Jan 22 15:16:11 2004  Owen Taylor  <otaylor@redhat.com>
628         * === Released 2.3.2 ===
630 Thu Jan 22 13:55:44 2004  Owen Taylor  <otaylor@redhat.com>
632         * glib/gtimer.c: Add g_timer_continue().
633         (#98536, Tim-Philipp Müller)
635         * configure.in: Version 2.3.2, interface age 0.
637         * NEWS: tweak, finish.
639 Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
641         * glib/gutils.c (g_get_any_init): Protect against
642         pw->pw_gecos being NULL.
644 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
646         * glib/gutils.c (g_get_any_init): Don't treat the Win32
647         user name like a gecos field, and when extracting a real
648         name from a gecos field, replace '&' by the capitalized
649         user name (a traditional passwd feature).  
650         (#118973, reported by Soeren Boll Overgaard)
652 Tue Jan 20 22:31:22 2004  Matthias Clasen  <maclas@gmx.de>
654         * NEWS: Start of 2.3.2 section.
656 Fri Jan 16 21:45:56 2004  Matthias Clasen  <maclas@gmx.de>
658         * glib/gstring.c (g_string_ascii_up): Forgot to fix this one.
660 Thu Jan 15 22:35:04 2004  Matthias Clasen  <maclas@gmx.de>
662         * glib/gstring.c (g_string_up): 
663         * glib/gstring.c (g_string_down): 
664         * glib/gstring.c (g_string_ascii_down): Move initialization of
665         variables after g_return_val_if_fail.  (#131564, Olivier Poncet)
667 Sun Jan 11 16:13:20 2004  Manish Singh  <yosh@gimp.org>
669         * configure.in: Add G_MAXSIZE, define in terms of G_MAXUfoo.
671         * tests/type-test.c: Add test for G_MAXSIZE.
673         * glibconfig.h.win32.in: Cleanup, add some missing bits.
675 Sun Jan 11 16:05:35 2004  Manish Singh  <yosh@gimp.org>
677         * glib/giounix.c: #define _POSIX_SOURCE for SSIZE_MAX. Fixes #128853.
679 Sat Jan 10 00:11:12 2004  Manish Singh  <yosh@gimp.org>
681         * glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness
682         fixes.
684         * docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the
685         above take gulongs now. My docs suck, someone should revisit it.
687 Fri Dec 19 11:49:21 2003  George Lebl <jirka@5z.com>
689         * glib/grand.c
690           glib/grand.h (g_rand_new) (g_rand_new_with_seed)
691           (g_rand_new_with_seed_array) (g_rand_set_seed_array):  Add
692           the init_by_array functionality from the reference implementation
693           of the mersenne twister (mt19937ar.c) and change the naming
694           to fit with the rest of the grand API.  New functions are
695           g_rand_new_with_seed_array, g_rand_set_seed_array.  This is only
696           reliable/tested for the 2.2 version of the seeding as that's what
697           the reference implementation uses.  Also modify g_rand_new to
698           get 4 longs from /dev/urandom since that will always be available
699           anyway and we get more entropy and if /dev/urandom is unavailable
700           use also 4 longs for seeding using secs, usecs, getpid and getppid.
701           For version 2.0 use only a simple seed again but be more careful
702           about seeding with secs/usecs in this case.
704         * glib/grand.c
705           glib/grand.h (g_rand_copy):  Add g_rand_copy function to copy the
706           current state of the random number generator.
708         * glib/grand.c (g_rand_new):  Add testing for EINTR when reading
709           from /dev/urandom
711         * tests/rand-test.c: add testing of the array seeding stuff against
712           the reference implementation, plus add statistical sanity check
713           to see that the values outputted are truly kind of random.  And
714           check that g_rand_copy truly copies the state by checking a few
715           terms.
717 Tue Jan  6 15:38:30 2004  Owen Taylor  <otaylor@redhat.com>
719         * glib/gutils.h: Check defined (__OPTIMIZE__) not
720         __OPTIMIZE__. (Zack Rusin)
722 2003-12-30  Murray Cumming  <murrayc@usa.net>
723   
724         * gobject/glib-mkenums.in: Added a lowercase_name option, to be used
725         next to the enum declaration, where the flag option is already used,
726         when it is not possible to guess where to put the underscores in the
727         _get_type() function name, for instance for GNOMEVFSURIHide.
729 Fri Dec 26 02:03:58 2003  Matthias Clasen  <maclas@gmx.de>
731         * glib/garray.[hc] (g_ptr_array_foreach): New function to
732         call a function for each element of a GPtrArray.  (#114790)
734         * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
736 Sun Dec 21 22:57:58 2003  Matthias Clasen  <maclas@gmx.de>
738         * m4macros/glib-gettext.m4: Quote macro names to support 
739         reading the file multiple times.  (#125537)
741 Sun Dec 21 22:42:42 2003  Matthias Clasen  <maclas@gmx.de>
743         * glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the
744         mem_chunks list.  (#127096, Balazs Scheidler)
746 2003-12-14  Hans Breuer  <hans@breuer.org>
748         * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
749         return something useful on win32, too. 
751 2003-12-13  Hans Breuer  <hans@breuer.org>
753         * glib/gconvert.c : get_filename_charset() needs to
754         return false for filenames not encoded in utf-8, 
755         which is always true on win32
757         * glibconfig.h.win32.in : (u)int64 modifier isn't the
758         gcc 'll' but always the msvcrt one 'I64'
760         * glib/glib.def : updated
762 Thu Dec 11 10:31:21 2003  Manish Singh  <yosh@gimp.org>
764         * glib/gmacros.h: change #elif with no expression to #else in
765         G_STRFUNC definition. Thanks to Damien Carbery, fixes #129101.
767 Mon Dec  8 12:02:40 2003  Owen Taylor  <otaylor@redhat.com>
769         * === Released 2.3.1 ===
771         * NEWS: Further updates for 2.3.1.
773 Fri Dec  5 12:09:13 2003  Manish Singh  <yosh@gimp.org>
775         * glib/gunidecomp.c (_g_utf8_normalize_wc): fix gint/gsize confusion.
777 2003-12-04  Noah Levitt  <nlevitt@columbia.edu>
779         * glib/gunidecomp.c: Add hangul composition and decomposition to
780         unicode normalization. (#100456)
782         * tests/unicode-normalize.c: Test hangul.
784 Tue Dec  2 02:29:41 2003  Matthias Clasen  <maclas@gmx.de>
786         Fix for #103710, Mark Jones:
787         
788         * glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}.
789         * configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h.
791 Thu Nov 27 17:04:08 2003  Tim Janik  <timj@gtk.org>
793         * glib/gstrfuncs.c (g_strconcat): handle NULL arguments
794         gracefully.
796         * glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
797         current function (since G_STRLOC and G_GNUC_*FUNCTION became
798         unusable with gcc-3.0).
800 Wed Nov 26 16:45:16 2003  Roozbeh Pournader  <roozbeh@sharif.edu>
802         * glib/gstrfuncs.c: Fixed a bad pointer comparison in
803         g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
804         Esfahbod).
806         * tests/strtod-test.c: Fixed the tests to catch the above.
808 Sat Nov 22 14:16:51.15 2003  Andrew Lanoix  <alanoix@umich.edu>
810         * glib/giowin32.c: Bind inter-thread comminication 
811                 sockets to INADDR_LOOPBACK instead of INADDR_ANY.
813 Thu Nov 20 15:09:40 2003  Manish Singh  <yosh@gimp.org>
815         * configure.in: Added G_GSIZE_FORMAT and friends
817         * tests/printf-test.c
818         * tests/testglib.c
819         * tests/type-test.c: Add tests for the above.
821 Mon Nov 17 17:28:10 2003  Manish Singh  <yosh@gimp.org>
823         * tests/thread-test.c (test_g_thread_once): Use GUINT_TO_POINTER
824         for g_thread_create data.
826 Sat Nov 15 23:00:57 2003  Matthias Clasen  <maclas@gmx.de>
828         * glib/guniprop.c (g_utf8_casefold): Add a NULL check
829         to be consistent with the other g_utf8_ functions.  (#121618,
830         Tim-Philipp Müller)
832 2003-11-15  Tor Lillqvist  <tml@iki.fi>
834         * tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use
835         correct glib libraries, with 2.0 in the names. (#126906, John
836         Ehresman)
838 Sat Nov 15 00:46:14 2003  Matthias Clasen  <maclas@gmx.de>
840         * configure.in: Don't blindly set glib_cv_long_long_format to
841         "ll" when using the included printf. As long as the native 
842         printf supports 64bit printing, use the native format.  
843         (#119525, Tor Lillqvist)
845 Fri Nov 14 00:28:46 2003  Matthias Clasen  <maclas@gmx.de>
847         * glib/gi18n.h:
848         * glib/gi18n-lib.h: Also define bind_textdomain_codeset() in
849         the #ifndef ENABLE_NLS case.
851 Wed Nov 12 15:06:27 2003  Owen Taylor  <otaylor@redhat.com>
853         * configure.in: Version 2.3.1, interface age 0.
855         * NEWS: Update for 2.3.1.
857 2003-11-07  Mark McLoughlin  <mark@skynet.ie>
859         * glib/gconvert.c: (get_filename_charset): re-work to
860         retain a copy of the cached charset rather than the
861         actual return value from g_get_charset (which may
862         change). Also, re-initialize the cache if it does
863         change. See bug #126454.
865 Thu Nov  6 00:04:46 2003  Matthias Clasen  <maclas@gmx.de>
867         * glib/gconvert.c (get_filename_charset): Replacement for
868         have_broken_filenames() which consults the environment variable
869         G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
870         * glib/gconvert.c (g_filename_from_utf8): 
871         * glib/gconvert.c (g_filename_to_utf8): 
872         * glib/gconvert.c (_g_convert_thread_init): Use
873         get_filename_charset() instead of have_broken_filenames().
875 Wed Nov  5 22:05:19 2003  Matthias Clasen  <maclas@gmx.de>
877         * glib/gi18n-lib.h: 
878         * glib/gi18n.h: New headers defining common gettext-support
879         macros.
881         * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
882         and gi18n-lib.h.
884         * glib/gstrfuncs.h: 
885         * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
886         the implementation of Q_().
888 2003-11-05  Morten Welinder  <terra@gnome.org>
890         * glib/garray.c (g_ptr_array_remove_range): Make it compile.
891         (#119337, self.)
893         * glib/gstring.c (g_string_insert_len): Handle the case where the
894         to-be-inserted string is a substring of the target string.
895         (g_string_assign): Handle "s = s;".
896         (#114260, self.)
898 Sun Nov  2 01:47:31 2003  Matthias Clasen  <maclas@gmx.de>
900         Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
901         
902         * configure.in (HAVE_INT64_AND_I64): Define for MSVC to 
903         include support for printing __int64 with format %I64 in 
904         the gnulib printf wrappers. 
905         * glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64 
906         and TYPE_UINT64.
907         * glib/gnulib/printf-args.h (struct argument): Add a_int64 and 
908         a_uint64 members.
909         * glib/gnulib/printf-args.c (printf_fetchargs): Support
910         TYPE_INT64 and TYPE_UINT64.
911         * glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
912         modifier and map formats to TYPE_INT64.
913         * glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
914         format modifier I64.
915         * glib/gnulib/README: Document the __int64 support.
916         
917 Sat Nov  1 08:45:38 2003  Owen Taylor  <otaylor@redhat.com>
919         * glib/gmain.c (g_main_context_iterate): Set the
920         return value from the result of g_main_context_check()
921         (after we poll) rather than g_main_context_prepare.
922         (#121675, Padraig O'Briain)
924 Fri Oct 31 00:13:53 2003  Matthias Clasen  <maclas@gmx.de>
926         * configure.in: Remove the semicolon from the definition of
927         g_once(), so that GPOINTER_TO_INT (g_once (...)) works.
929 Tue Oct 28 23:38:30 2003  Matthias Clasen  <maclas@gmx.de>
931         * tests/printf-test.c: Change the %e tests to not check for
932         actual string equality, but rather equality under g_ascii_strtod(),
933         since the number of leading digits in the exponent seems to 
934         be not exactly prescribed by SUS.
936 Fri Oct 24 17:09:04 2003  Owen Taylor  <otaylor@redhat.com>
938         * === Released 2.3.0 ===
940         * NEWS: Small update.
942 2003-10-24  Tor Lillqvist  <tml@iki.fi>
944         * configure.in: Force shared library (DLL) only on Windows.
945         (I don't think that is controversial?) Remove unnecessary
946         AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
947         Win32, it is not used by mingw or MSVC headers.
949         * config.h.win32.in
950         * glibconfig.h.win32.in: Match what configure produces.
951         
952         * glib/gconvert.c
953         * glib/gutils.c: Mark a couple of functions and variables that
954         aren't public as static.
956         * glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
957         it potentially differently, to silence compiler.
959         * glib/glib.def: Add some missing entries.
960         
961         * tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
962         libtestgobject.
964         * tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
965         to g_object_set() and _get().
967 Thu Oct 23 12:38:24 2003  Owen Taylor  <otaylor@redhat.com>
969         * tests/gobject/Makefile.am (dist-hook): Remove 
970         and extra backslash.
972         * tests/gobject/Makefile.am (EXTRA_DIST): Add 
973         testmarshal.list.
975         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
976         missing gunicode-private.h.
978         * tests/testglib.c (main): Fix a warning.
980         * tests/gobject/ifaceinherit.c: Remove check that
981         wasn't supposed to work (adding an interface already
982         added to the derived class to the base class), 
983         fix a bug.
985 Wed Oct 22 23:41:03 2003  Matthias Clasen  <maclas@gmx.de>
987         * NEWS: Update for 2.3.0.
989 Tue Oct 14 17:44:38 2003  Owen Taylor  <otaylor@redhat.com>
991         * tests/gobject/ifaceproperties.c: Test for interface
992         properties and GParamSpecOverride.
994 Wed Oct  8 23:40:26 2003  Matthias Clasen  <maclas@gmx.de>
996         * glib/gmarkup.c (g_markup_printf_escaped): 
997         (g_markup_vprintf_escaped): Document as 2.4 additions.
998         (unescape_text): Implement newline and whitespace normalization
999         according to the XML specification.  (#123919)
1000         (g_markup_escape_text): Document whitespace (non)handling.
1002 2003-10-05  Matthias Clasen  <maclas@gmx.de>
1004         * configure.in: Make the various printf feature test macros
1005         reflect the system printf, even when using the included printf.
1006         In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h 
1007         needs that test result.  (#122973)
1009         * glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
1010         directly check for _g_vasprintf.
1012         * glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
1013         if vasprintf() is available.
1015         * glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
1016         trailing nul to the file. (#122973)
1018         * acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test 
1019         detect non-C99-compliance of AIX 5.1 and Solaris 
1020         vsnprintf().  (#122496)
1022 Thu Oct  2 01:15:46 2003  Owen Taylor  <otaylor@redhat.com>
1024         * tests/gobject/ifacecheck.c: Test case for
1025         g_type_add_interface_check().
1027         * tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
1029 Thu Oct  2 01:11:39 2003  Owen Taylor  <otaylor@redhat.com>
1031         * tests/gobject/ifaceinherit.c: Remove some tests that
1032         were testing things that weren't supposed to work; add
1033         a test for adding an interface first to the child class,
1034         then to the parent class.
1036 Thu Oct  2 00:02:55 2003  Owen Taylor  <otaylor@redhat.com>
1038         * tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
1039         Tests of interface inheritance and overriding.
1041 2003-09-30  Tor Lillqvist  <tml@iki.fi>
1043         * glib/gspawn-win32.c (do_spawn): Call protect_argv() in
1044         do_spawn() instead of in do_spawn_with_pipes() so that we can use
1045         the original argv[0] as the program file name parameter to
1046         spawnv() in the shortcut (doing without helper process)
1047         code. Fixes problem if GIMP 1.3 was installed in a path with
1048         spaces in the name.
1050 Tue Sep 30 15:31:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1052         * glib/guniprop.c (has_more_above): make the argument const to
1053         get rid of warning
1055         * glib/garray.c (g_byte_array_remove_range): insert cast to get
1056         rid of warning
1058 2003-09-29  Tor Lillqvist  <tml@iki.fi>
1060         * tests/testglib.c (main): Use hardcoded name for DLL, as there is
1061         no reliable way to determine it at compile or run time anyway. 
1063 2003-09-29  Matthias Clasen  <maclas@gmx.de>
1065         * glib/guniprop.c (g_unichar_get_mirror_char): Add "Since: 2.4" 
1066         to docs.
1068 Thu Sep 25 15:43:08 2003  Owen Taylor  <otaylor@redhat.com>
1070         * tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
1071         Dummy dynamic type module for testing type plugin code
1072         and dynamic types.
1074         * test/gobject/defaultiface.c: Test of 
1075         g_type_default_interface_ref() and friends.
1077 2003-09-28  Gediminas Paulauskas  <menesis@delfi.lt>
1079     * configure.in: Added lt to ALL_LINGUAS.
1081 2003-09-25  Tor Lillqvist  <tml@iki.fi>
1083         * glib/glib.def: Remove g_bsearch_array_* entries that don't exist
1084         any longer. (ABI change?)
1086 Thu Sep 25 15:01:37 2003  Owen Taylor  <otaylor@redhat.com>
1088         * tests/Makefile.am (SUBDIRS): Add gobject/.
1090 Fri Sep 12 16:26:21 2003  Owen Taylor  <otaylor@redhat.com>
1092         * tests/gobject/ configure.in: New directory, framework 
1093         for automated GObject tests.
1095         * tests/gobject/override.c: Move testoverride.c
1096         here, automate.
1098         * tests/gobject/ifaceinit.c: Move testifaceinit.c here.
1100         * tests/gobject/accumulator.c: Test signal accumulators,
1101         including g_signal_accumulator_true_handled.
1103 2003-09-12  Noah Levitt  <nlevitt@columbia.edu>
1105         * glib/gen-unicode-tables.pl: Take a directory where to look for the
1106         unicode files on the command line instead of 7 individual files.
1108 2003-09-12  Noah Levitt  <nlevitt@columbia.edu>
1110         * glib/gen-unicode-tables.pl:
1111         * glib/gunichartables.h:
1112         * glib/gunicode.h:
1113         * glib/guniprop.c: Add g_unichar_get_mirror_char. (#114749)
1115 Thu Sep 11 20:11:05 2003  Owen Taylor  <otaylor@redhat.com>
1117         * glib/gmarkup.c: Add g_markup_printf_escaped(), 
1118         g_markup_vprintf_escaped().
1120         * tests/markup-escape-test.c (main): Test for
1121         g_markup_escape_text(), g_markup_printf_escaped().
1123 2003-09-10  Noah Levitt  <nlevitt@columbia.edu>
1125         * glib/gunicodeprivate.h:
1126         * glib/gunicollate.c:
1127         * glib/gunidecomp.c:
1128         * glib/guniprop.c:
1129         * tests/casemap.txt:
1130         * tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681)
1132         * glib/gunicodeprivate.h: Use a private header instead of extern
1133         function declarations (_g_utf8_normalize_wc,
1134         _g_unichar_combining_class).
1136 Mon Sep  8 00:31:10 2003  Stefan Westerfeld  <stefan@space.twc.de>
1138         * glib/gbsearcharray.h: inserted casts for C++.
1140 2003-08-28  Matthias Clasen  <maclas@gmx.de>
1142         * tests/patterntest.c (verbose): Fix a C99ism.  (#120821, Thomas 
1143         Klausner)
1145 2003-08-25  Tor Lillqvist  <tml@iki.fi>
1147         * glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
1148         section twice, which might cause a hang. (#120653)
1150         * glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
1151         valid file descriptor and socket.
1153 Mon Aug 25 12:34:36 2003  Owen Taylor  <otaylor@redhat.com>
1155         * glib/gmessages.c: Escape control characters in g_logv() output.
1156         (#108287, Christian Biere)
1158 Mon Aug 25 12:17:20 2003  Owen Taylor  <otaylor@redhat.com>
1160         * glib/gmain.c (g_main_context_unref_and_unlock): 
1161         When DISABLE_MEM_POOLS is set, loop through and free
1162         the poll records explicitely, since g_mem_chunk_destroy()
1163         won't do it. (#118121, Morten Welinder)
1165 2003-08-22  Samúel Jón Gunnarsson  <sammi@techattack.nu>
1167         * is.po: Added "is" to ALL_LINGUAS.
1168         
1169 2003-08-19  Tor Lillqvist  <tml@iki.fi>
1171         * glib/gmessages.c (g_logv): [Win32] Make the fatal error message
1172         box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
1173         to get a nice stop-sign icon.
1175 Tue Aug 19 09:42:06 2003  Owen Taylor  <otaylor@redhat.com>
1177         * m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS
1178         temporarily, not -lintl. (Problem with fix for 
1179         #119171, pointed out by James Henstridge)
1181 Tue Aug 19 03:55:29 2003  Tim Janik  <timj@gtk.org>
1183         * glib/gbsearcharray.h: license change, no restrictions are made
1184         in the new license at all, the implmentation is simply provided
1185         "as is" to allow copy-pasting the code into any third-party app.
1186         naturally, the implementation is self-contained within the header
1187         file to allow this.
1188         default to non-shrinking behaviour, allow users to request shrinking
1189         via G_BSEARCH_ARRAY_AUTO_SHRINK.
1190         creation, deletion functions are now named g_bsearch_array_create()
1191         and g_bsearch_array_free(). 
1192         fixed const in prototypes, removed cruft.
1193         (g_bsearch_array_insert): take only three arguments, do nothing if the
1194         node to insert is already there.
1195         (g_bsearch_array_replace): insert or replace if the node is already
1196         there.
1197         (g_bsearch_array_remove): remove nodes by index, the index of a node
1198         can be found via g_bsearch_array_get_index().
1199         removed other g_bsearch_array_remove*() variants.
1200         (g_bsearch_array_lookup): minor optimizations.
1201         (g_bsearch_array_lookup_sibling): return nodes on mismatches.
1203         * glib/gbsearcharray.c: removed.
1205 2003-08-16  Tor Lillqvist  <tml@iki.fi>
1207         Fix #117925 (Dov Grobgeld):
1209         * glib/gutils.c (g_find_program_in_path, g_basename,
1210         g_path_get_basename, g_path_is_absolute, g_path_skip_root,
1211         g_path_get_dirname, g_get_any_init): On Win32, look also for
1212         slashes ('/') as pathname separators.
1214         * glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
1215         contains a pathname separator, include the actual one in the error
1216         message, instead of always the canonical one.
1218         (g_build_filename): Separate implementation on Win32 that looks
1219         for either slash or backslash. Document Unix/Windows differences.
1221         * tests/testglib.c
1222         * tests/strfunc-test.c: Test above functionality on Win32.
1224 2003-08-15  Tor Lillqvist  <tml@iki.fi>
1226         * glib/gmain.c (g_poll): [Win32] Don't exceed handle array
1227         bounds. Warn if there would be too many handles to wait
1228         for. (WaitForMultipleObjects() has a relatively low limit of 64
1229         handles. The Win32 IO channel code should be fixed not to need to
1230         wait for one handle per file or socket being watched. Later.)
1232 2003-08-13  Tor Lillqvist  <tml@iki.fi>
1234         * glib/Makefile.am
1235         * gmodule/Makefile.am
1236         * gobject/Makefile.am
1237         * gthread/Makefile.am: Use srcdir also in references to the .def
1238         files. (#118885, Jeff Bonggren)
1240 2003-08-12  Tor Lillqvist  <tml@iki.fi>
1242         * glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
1243         implementation. It used WideCharToMultiByte(), which is broken as
1244         it stores unconvertable characters as fallback characters
1245         (question marks) in the destination string without being able to
1246         tell how much of the conversion succeeded. Using g_convert() like
1247         on Unix is better and simpler. (#117872)
1249         (g_locale_to_utf8): No need for the Win32-specific implementation
1250         here, either.
1252         (have_broken_filenames): Define as TRUE on Win32.
1254         (g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
1255         have_broken_filenames() now is defined TRUE on Win32, works as
1256         before.
1257         
1258 2003-08-11  Matthias Clasen  <maclas@gmx.de>
1260         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
1261         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
1262         xmlcatalog in PATH.  (#119115) 
1264 2003-08-10  Tor Lillqvist  <tml@iki.fi>
1266         * glib/gutils.c (g_getenv): Don't use a cache of variable name to
1267         value mappings on Win32, as that breaks g_setenv() and
1268         g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
1269         and in that case return a quarkified string. It is still
1270         questionable how necessary expanding embedded environment variable
1271         references is. Possibly the whole Win32-specific g_getenv()
1272         implementation could be removed. (#119520)
1274 2003-08-08  Tor Lillqvist  <tml@iki.fi>
1276         * glib/glib.def: Add g_once_impl.
1278         * glib/gutils.c (g_setenv): Fix syntax error in the !HAVE_SETENV
1279         case.
1281 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1283         * tests/env-test.c (main): Remove a test for getenv() behaviour
1284         which isn't specified by SUS and doesn't work on Solaris.
1286 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1288         * tests/env-test.c: Add tests for '=' in names and values.
1290         * glib/gutils.c (g_setenv, g_unsetenv): Check that the variable
1291         name doesn't contain '='. Add a declaration for environ.  (#119338)
1293         * acinclude.m4: Tighten the snprintf() test to check behaviour on
1294         zero-size buffers.  (#106091) 
1296         * tests/patterntest.c: Specify test strings in UTF-8, remove all
1297         charset conversion. Replace the NOISY define by a cmdline arg
1298         --noisy.   (#115757) 
1300 Thu Aug  7 15:01:09 2003  Owen Taylor  <otaylor@redhat.com>
1302         * m4macros/glib-gettext.m4: Set $LIBS to include
1303         -lintl when checking for dcgettext and 
1304         _nl_msg_cat_cntr. (Tim Mooney, #119171)
1306 Thu Aug  7 14:15:44 2003  Owen Taylor  <otaylor@redhat.com>
1308         * glib/gmain.c (g_idle_source_new): Make the default priority
1309         for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
1310         expect and document that. (#114461, reported by Andy Wingo)
1312 2003-08-06  Noah Levitt  <nlevitt@columbia.edu>
1314         * tests/casemap.txt:
1315         * tests/gen-casemap-txt.pl: Add test for special case not at inital
1316         position in the string, the bug just fixed. (#118957)
1318 2003-08-05  Noah Levitt  <nlevitt@columbia.edu>
1320         * glib/guniprop.c: Get rid of "len" parameter to output_special_case
1321         and output_marks, and make them work more like g_unichar_to_utf8,
1322         fixing a bug in the process. (#118957)
1324 2003-08-05  Hans Breuer  <hans@breuer.org>
1326         * glib/gnulib/makefile.msc : (new file) for msvc build
1328         * glib/gnulib/vasnprintf.c : use glib/galloc.h
1330         * glib/gnulib/printf.h : #include <stdio.h> for FILE*
1332         * glib/makefile.msc.in : replace trio with gnulib
1334         * glib/glib.def : updated externals
1336         * glib/guniprop.c : fix for guniprop.c(582) : error C2082: 
1337         redefinition of formal parameter 'len'
1339 2003-08-04  Noah Levitt  <nlevitt@columbia.edu>
1341         * tests/unicode-normalize.c: We do handle > BMP now, so test it.
1343 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
1345         * tests/file-test.c: s/g_read_link/g_file_read_link/ (#118727)
1347 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
1349         * tests/unicode-encoding.c: Return nonzero exit status if the test
1350         fails. (#118729) 
1352 2003-07-31  Noah Levitt  <nlevitt@columbia.edu>
1354         * tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
1355         is the last valid unicode character. Add check that U+10ffff is
1356         NOTUNICODE. (#118730)
1358 2003-07-30  Noah Levitt  <nlevitt@columbia.edu>
1360         * glib/gen-unicode-tables.pl:
1361         * glib/gunibreak.c:
1362         * glib/gunibreak.h:
1363         * glib/gunichartables.h:
1364         * glib/gunicode.h:
1365         * glib/gunicomp.h:
1366         * glib/gunidecomp.c:
1367         * glib/gunidecomp.h:
1368         * glib/guniprop.c:
1369         * tests/casefold.txt:
1370         * tests/casemap.txt:
1371         * tests/gen-casefold-txt.pl:
1372         * tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974)
1374 2003-07-31  Tor Lillqvist  <tml@iki.fi>
1376         * glib/gspawn-win32.c: When possible, manage without the helper
1377         process. (Part of the enhancements outlined in #98737.) Speeds up
1378         GIMP 1.3's first-time-run plug-in query phase a lot.
1380         Plug a file descriptor (and thus Win32 handle) leak: close the
1381         read end of the child error report pipe after use.
1383 2003-07-30  Matthias Clasen  <maclas@gmx.de>
1385         * glib/gutils.c (g_unsetenv): Use same argument name as in header,
1386         to pacify gtk-doc. 
1387         (g_getenv): Move docs inline, add comment about lifespan of return
1388         value. 
1390         * glib-2.0.pc.in (Libs): Remove forgotten @TRIO_LIBS@.  (#118616,
1391         Noah Levitt) 
1393         * glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link()
1394         to better match the remaining file utilities in the g_file_
1395         namespace and to better separate it from readlink(). This is
1396         hopefully no problem as the function is just 2 days old.
1398 2003-07-29  Matthias Clasen  <maclas@gmx.de>
1400         * glib/gqsort.[hc] (g_qsort_with_data): 
1401         * glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri): 
1402         * glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar,
1403         gint, gsize instead of char, int, size_t in the interface for
1404         consistency.  (#118567) 
1406         Replace trio printf() by gnulib vasnprintf():  (#101874)
1407         
1408         * configure.in: Define HAVE_LONG_LONG_FORMAT if system printf
1409         understands %llu; rename enable_trio to enable_included_printf;
1410         add misc. tests needed for gnulib vasnprintf(); define
1411         G_GINT{16,32,64}_MODIFIER in glibconfig.h.
1413         * acinclude.m4: Misc tests needed for gnulib vasnprintf():
1414         AC_FUNC_SNPRINTF_C99, bh_C_SIGNED, jm_AC_TYPE_LONG_LONG, 
1415         gt_TYPE_LONGDOUBLE, gt_TYPE_WCHAR_T, gt_TYPE_WINT_T,
1416         gt_AC_TYPE_INTMAX_T, jm_AC_HEADER_STDINT_H,  
1417         jm_AC_HEADER_INTTYPES_H. 
1419         * glib/Makefile.am: Replace TRIO_SUBDIR by PRINTF_SUBDIR and
1420         trio_libtrio_la by printf_la.  
1422         * glib/gprintfint.h: Include gnulib/printf.h and use _g_gnulib_
1423         functions instead of _g_trio_ functions. 
1425         * glib/trio/*: Removed
1427         * glib/gnulib/*: vasnprintf() implementation from gnulib, patched
1428         to live in the _g_gnulib namespace, use g_malloc instead of
1429         malloc, and support long long printing even if system printf
1430         doesn't. For more details, see glib/gnulib/README.
1431         
1432         * tests/printf-test.c: Add tests for 64 bit printing.
1434 2003-07-28  Matthias Clasen  <maclas@gmx.de>
1436         * glib/gfileutils.h: 
1437         * glib/gfileutils.c: New function g_read_link(). (#72545)
1439         * configure.in: Check for setenv, unsetenv, readlink and symlink.
1441         * tests/file-test.c (test_readlink): Test for g_read_link() (only
1442         on systems supporting symbolic links).
1444         * tests/env-test.c: New test for g_{get,set,unset}env().
1446         * tests/Makefile.am (test_programs): Add env-test.
1448         * glib/gutils.h: 
1449         * glib/gutils.c: New functions g_setenv() and g_unsetenv().  (#100763)
1451 2003-07-26  Matthias Clasen  <maclas@gmx.de>
1453         * tests/printf-test.c: New test, tests printf behaviour. This was
1454         already mentioned in Makefile.am by accident.
1456         * tests/file-test.c: New test, currently contains mkstemp tests
1457         copied from testglib.c. 
1459         * tests/Makefile.am (test_programs): Add file-test.
1461         * glib/gprintf.c: Fix all g_return_val_if_fail () checks to return
1462         -1 on error to match the behaviour of the stdio printf() family.
1464         * glib/garray.h: 
1465         * glib/garray.c (g_{,byte,pointer}_remove_range): New functions to
1466         remove a range of elements from an array.  (#94879, Nalin Dahyabhai)
1468         * glib/gmessages.c (g_logv): Remove the 1024 char limit in the
1469         common (non-recursive) case.
1471 2003-07-25  Matthias Clasen  <maclas@gmx.de>
1473         * glib/gwin32.c: 
1474         * glib/gutf8.c: 
1475         * glib/gunicollate.c: 
1476         * glib/gtree.c: 
1477         * glib/gspawn.c: 
1478         * glib/gmain.c: 
1479         * glib/giochannel.c: 
1480         * glib/gfileutils.c: 
1481         * glib/gerror.c: 
1482         * glib/gconvert.c: 
1483         * glib/gasyncqueue.c: 
1484         * glib/gmem.c: Remove some explicit Docbook markup which is no
1485         longer necessary since gtk-doc does the right thing.
1487         * glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity.
1489 2003-07-20  Hans Breuer  <hans@breuer.org>
1491         * glib/trio/makefile.msc : (new file) for msvc build
1493         * glib/glib.def : removed some duplicated entries
1495         * glib/gscanner.c : add same workaround for MSVC(5.0)
1496         which does not allow to cast an uint64 to float.
1497         Same as in gvaluetransform.c
1498         Also move #include <io.h> behind inclusion of "glib.h"
1499         which defines the needed G_OS_WIN32
1501         * glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
1502         as well as shell32.lib
1504         * tests/spawn-test.c : include <io.h> on win32
1506 2003-07-12  Matthias Clasen  <maclas@gmx.de>
1508         * glib/gprintf.c: Doc additions.
1510 2003-07-10  Joel Brich <joel.brich@laposte.net>
1512         * configure.in: Added "eo" to ALL_LINGUAS.
1514 Wed Jul  9 16:27:26 2003  Manish Singh  <yosh@gimp.org>
1516         * glib/gmain.c (g_main_context_unref_and_unlock): check if
1517         context->poll_chunk is set before trying to destroy it. For example,
1518         this can happen if no sources are added to a context before it is
1519         freed.
1521 2003-07-09  Morten Welinder  <terra@gnome.org>
1523         * glib/gprintf.c (g_vasprintf): Avoid var declaration after
1524         statement.
1526 2003-07-09  Matthias Clasen  <maclas@gmx.de>
1528         Support for one-time initialization functions.  (#69668, Sebastian
1529         Wilhelmi) 
1531         * configure.in: Check whether double checked locking is safe,
1532         define g_once() in glibconfig.h accordingly.
1533         * glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
1534         * glib/gthread.c (g_once_impl): Fallback implementation using a
1535         mutex if double checked locking is unsafe.
1536         * tests/thread-test.c: Add tests for g_once().
1538 2003-07-02  Matthias Clasen  <maclas@gmx.de>
1540         * glib/gstrfuncs.c (g_strfreev): Move docs inline, document behavior 
1541         for NULL. (#116439, Steve Chaplin)
1543 2003-06-25  Abigail Brady  <morwen@evilmagic.org>
1545         * glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx
1546         and \Uxxxxyyyy escapes instead for fallback instead of perl-style
1547         \X{xxxx} ones, fixing bug #114284.
1549 2003-06-25  Tor Lillqvist  <tml@iki.fi>
1551         * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
1552         &optlen to getsockopt() instead of NULL. Don't remember why I
1553         thought that NULL could be used (as we don't actually use the
1554         returned value for anything), the Platform SDK documentation
1555         doesn't imply so.
1557 2003-06-19  Matthias Clasen  <maclas@gmx.de>
1559         * glib/gutils.c (g_path_get_basename): Move the documentation
1560         inline and add details.  (#108505)
1562 2003-06-18  Matthias Clasen  <maclas@gmx.de>
1564         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
1565         macros to check for XML catalog contents and path, borrowed from
1566         gtk-doc. 
1568         * configure.in: New option --enable-man to enable regeneration of
1569         man pages from Docbook, if the necessary tools are found.
1571 2003-06-17  Matthias Clasen  <maclas@gmx.de>
1573         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
1574         macros to check for XML catalog contents and path, borrowed from
1575         gtk-doc. 
1576         
1577         * configure.in: New option --enable-man to enable regeneration of
1578         man pages from Docbook, if the necessary tools are found.
1580 2003-06-15  Tor Lillqvist  <tml@iki.fi>
1582         * glib-zip.in (DLLDIR): Test where the DLLs actually are.
1584         * README.win32: Point to FSF's binary Win32 distributions of
1585         libiconv and gettext-runtime.
1587 2003-06-11  Tor Lillqvist  <tml@iki.fi>
1589         * glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
1590         subdirectory, so get them from there.
1592         * glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
1593         same way as the po files for Serbian in Latin and Cyrillic script.
1595 2003-06-11  Sebastian Wilhelmi  <seppi@seppi.de>
1597         * configure.in: Remove false &. Spotted by Albert Chin
1598         <gtk-devel-list@thewrittenword.com>.
1600 2003-06-08  Tor Lillqvist  <tml@iki.fi>
1602         * glib/giowin32.c: Fix indentation and spacing. Use
1603         INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
1604         gethostbyaddr().
1606 Sat Jun  6 16:18:10 2003  Andrew Lanoix  <alanoix@umich.edu>
1608         * glib/giowin32.c: Resolved thread deadlocks in socket 
1609         ichannel code to support Add-Cancel-Add watch functionality 
1610         on windows. Also cleaned up socket error handling to not 
1611         segfault and do the right thing.
1612         
1613 Fri Jun  6 10:24:23 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
1615         * m4macros/glib-gettext.m4: Test for Solaris native gettext 
1616         in libc, seeing if it supports GNU catalog format (#85217).
1617         
1618 Thu Jun  5 23:40:31 2003  Owen Taylor  <otaylor@redhat.com>
1620         * glib/gmain.c: When dispatching a source that is
1621         !CAN_RECURSE, temporarily remove any file descriptors
1622         that that source has registered from the main loop, to keep
1623         recursive main loops from busy-waiting if input
1624         becomes available on one of those file descriptors.
1625         (#112222, Christian Krause)
1627         * glib/gmain.c (g_source_set_priority): Properly
1628         remove the source from the context's source list
1629         and reinsert it sorted, rather than simply setting
1630         source->next/prev to NULL! (#114274)
1632 2003-06-06  Matthias Clasen  <maclas@gmx.de>
1634         * glib/gstring.c (g_string_append_printf_internal): Use
1635         g_vasprintf() and g_string_append_len(), thus enabling embedded
1636         nuls in the result of g_string_printf().  (#92492, Owen Taylor)
1638         * tests/string-test.c: Add a test for embedded nuls in the
1639         result of g_string_printf().
1641         * glib/gprintf.[ch]: Synchronize argument names with headers and docs.
1642         (g_vasprintf): An implementation of vasprintf(), code was lifted
1643         from g_strdup_vprintf().  (#112365)
1645         * glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
1647 2003-06-05  Tor Lillqvist  <tml@iki.fi>
1649         * glib/giochannel.h
1650         * glib/gmain.h: Remove bogus (Win32-only) declaration of
1651         g_main_poll_win32_msg_add(). No such function exists.
1653         * glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
1654         better warning messages.
1656 2003-06-04  Noah Levitt  <nlevitt@columbia.edu>
1658         * glib/gunidecomp.h (combine): Fix typo (#114375). Also, make the
1659         function static.
1661 2003-06-03  Sebastian Wilhelmi  <seppi@seppi.de>
1663         * configure.in: Test for pthread_setschedparam. If not existant,
1664         disable priorities. (#104718)
1666 Mon Jun  2 14:18:21 2003  Owen Taylor  <otaylor@redhat.com>
1668         Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
1670         * glib/gspawn.c (read_data): Don't read() into '&buf', while this
1671         is technically okay - it is clearer as just 'buf'.
1672         (write_all): New helper function that handles write() interrupts.
1673         (write_err_and_exit): Use write_all() instead of write().
1674         (fork_exec_with_pipes): Same here.
1675         
1676 Sun Jun  1 09:42:36 2003  Owen Taylor  <otaylor@redhat.com>
1678         * glib/giochannel.c (g_io_error_get_from_g_error): Put 
1679         the g_return_val_if_fail() in the right place.
1681 Fri May 31 1:17:45 2003  Ray Strode  <halfline@hawaii.rr.com>
1683         * glib/giochannel.c (g_io_channel_error_from_errno):
1684         Fix typo: should be G_IO_ERROR_UNKNOWN not
1685         G_ERROR_ERROR_UNKNOWN
1687 Fri May 30 19:23:47 2003  Owen Taylor  <otaylor@redhat.com>
1689         * glib/gstrfuncs.c (g_ascii_strncasecmp)
1690         * glib/gstrfuncs.c (g_ascii_strcasecmp): Use TOLOWER()
1691         macro instead of g_ascii_tolower() (#107138)
1693 Fri May 30 19:09:25 2003  Owen Taylor  <otaylor@redhat.com>
1695         * m4macros/glib-gettext.m4: Backport better handling
1696         of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon)
1698 Fri May 30 18:46:05 2003  Owen Taylor  <otaylor@redhat.com>
1700         * m4macros/glib-gettext.m4: expand $exec_prefix as
1701         well as $prefix. (#107290, reported by Morten Welinder,
1702         patch from Raja Harinath)
1704 Fri May 30 17:24:23 2003  Owen Taylor  <otaylor@redhat.com>
1706         * glib-gettextize.in: Quote $srcdir to handle $srcdir
1707         with spaces (#107850, Evan Martin)
1709 Fri May 30 16:48:26 2003  Owen Taylor  <otaylor@redhat.com>
1711         * glib/giochannel.c (g_io_channel_error_from_errno):
1712         Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR,
1713         since close() can return EINTR. (#11842, Balazs Scheidler)
1715 Fri May 30 15:51:43 2003  Owen Taylor  <otaylor@redhat.com>
1717         * glib/giochannel.c (g_io_error_get_from_g_error): 
1718         Do a g_return_val_if_fail() on err == NULL to be a
1719         bit more robuts on buggy IO channel implementations.
1720         (#113396, Dan Winship)
1722 Tue May 27 19:56:35 2003  Owen Taylor  <otaylor@redhat.com>
1724         * glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token
1725         before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar,
1726         #113797)
1728 2003-05-28  Matthias Clasen  <maclas@gmx.de>
1730         * tests/patterntest.c: Remain silent when sucessful. 
1732         * tests/Makefile.am: Add patterntest to make check.  (113143)
1734 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1736         * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
1737         strcpy. (#106988, Christian Biere)
1739 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1741         * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
1742         strcpy. (#106988, Christian Biere)
1744 2003-05-23  Noah Levitt  <nlevitt@columbia.edu>
1746         * glib/gutf8.c: Fix typo in UNICODE_VALID (related to #107427).
1748 2003-05-23  Noah Levitt  <nlevitt@columbia.edu>
1750         * glib/guniprop.c: Remove stale comment.
1752 2003-05-22  Noah Levitt  <nlevitt@columbia.edu>
1754         * glib/guniprop.c: Update g_unichar_iswide to Unicode 4.0 (#113404).
1756 2003-05-21  Noah Levitt  <nlevitt@columbia.edu>
1758         * glib/guniprop.c: Fix obscure typo in case conversion routine
1759         (#113469).
1761 Tue May 20 14:14:55 2003  Manish Singh  <yosh@gimp.org>
1763         * configure.in: wrap 64-bit MIN/MAX limit constants in
1764         G_GINT64_CONSTANT. Fixes bug #108699.
1766 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1768         * glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should
1769         return G_UNICODE_BREAK_UNKNOWN if the character is greater than
1770         G_UNICODE_LAST_CHAR.
1772 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1774         * glib/glist.c: Remove unused function g_list_sort2 (bug #113203).
1776 2003-05-19  Noah Levitt  <nlevitt@columbia.edu>
1778         * glib/gunidecomp.c: Fix off-by-one error in
1779         g_unicode_canonical_ordering (bug #113260).
1781 2003-05-19 Arafat Medini <lumina@silverpen.de>
1783         * ar.po: Added ar to ALL_LINGUAS
1785 2003-05-17  Telsa Gwynne  <hobbit@aloss.ukuu.org.uk>
1787         * configure.in: Added cy to ALL_LINGUAS
1789 2003-05-05  Matthias Clasen  <maclas@gmx.de>
1791         * glib/gstrfuncs.c (g_ascii_dtostr): 
1792         (g_ascii_formatd): 
1793         (g_ascii_strtod): Some doc fixes.  (#111805)
1795 2003-05-05  Christian Rose  <menthos@menthos.com>
1797         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
1799 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
1801         * autogen.sh (have_libtool): Accept libtool-1.5. (#111483)
1803 2003-04-09  Matthias Clasen  <maclas@gmx.de>
1805         * INSTALL: 
1806         * INSTALL.in: Remove list of configuration flags, since these 
1807         are already documented in docs/reference/glib/building.sgml.
1809 2003-04-08  Matthias Clasen  <maclas@gmx.de>
1811         * INSTALL: Move Cross-compliation information to reference manual.
1813 Mon Apr  7 13:40:28 2003  Owen Taylor  <otaylor@redhat.com>
1815         * glib/gmain.c (g_main_loop_run): When waiting for
1816         the main loop to be freed up, wait on either
1817         !loop->is_running or got_ownership, not both.
1818         (Caused gtk_dialog_run() not to work in other
1819         threads, reported by Jean-Yves Lefort)
1821 2003-04-07  Matthias Clasen  <maclas@gmx.de>
1823         * glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.
1824         (#110087) 
1826 2003-04-01  Tor Lillqvist  <tml@iki.fi>
1828         * glib/glib.def: Add g_string_chunk_insert_len.
1830 2003-04-01  Matthias Clasen  <maclas@gmx.de>
1832         * glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
1833         insert possible non-nul-terminated byte sequences into a string
1834         chunk.  (#96279)
1835         (g_string_chunk_insert): Implement in terms of
1836         g_string_chunk_insert_len() now.
1838 2003-03-30  Matthias Clasen  <maclas@gmx.de>
1840         * glib/gstring.c (g_string_new): Optimize the common cases 
1841         (init == NULL or init == "") a bit.
1842         * glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
1843         glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
1844         glib/gspawn.c, gobject/gvaluetransform.c: replace uses of 
1845         g_string_new ("") by g_string_new (NULL).  (#106973, Morten Welinder)
1847         * glib/gutf8.c (UNICODE_VALID): Update to Unicode 3.1 and optimize
1848         a bit.  (#107427, Noah Lewitt)
1850         * glib/libcharset/config.charset: Add cp1251 support for Solaris.
1851         (#104738, Hidetoshi Tajima)
1853         * glib/gconvert.c (UnsafeCharacterSet): Get rid of
1854         UNSAFE_DOS_PATH.
1855         (acceptable): Align with RFC2396.  (#59653)
1857         * tests/uri-test.c: Adjust to the changes above.
1859 2003-03-26  Christian Rose  <menthos@menthos.com>
1861         * configure.in: Added "yi" to ALL_LINGUAS.
1863 2003-03-19  Matthias Clasen  <maclas@gmx.de>
1865         * glib/giochannel.c (g_io_channel_read_to_end): Fix docs.
1867 2003-03-19  Anders Carlsson  <andersca@codefactory.se>
1869         * configure.in: Bump version to 2.3.0
1871 2003-03-14  Sebastian Wilhelmi  <seppi@seppi.de>
1873         * glib/gthread.c: Do not define function g_thread_init_glib, if
1874         not G_THREADS_ENABLED. It's not called bu g_thread_init() then,
1875         but calls other, in that case undefined functions.
1877 2003-03-06  Matthias Clasen  <maclas@gmx.de>
1879         * glib/gmain.c (g_main_context_find_source_by_id): 
1880         (g_main_context_find_source_by_funcs_user_data): Fix FALSE/NULL
1881         confusion.  (#107646, Morten Welinder)
1883 2003-03-01  James Henstridge  <james@daa.com.au>
1885         * autogen.sh: require automake 1.7.  Add calls to libtoolize and
1886         gtkdocize.  Clean up some of the error messages.
1888         * configure.in: move version declaration to the top of the file
1889         (before AC_INIT), using M4 macros.
1890         GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
1891         of M4 macro expansion in help messages instead.
1892         Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
1893         format help strings.  Use quadrigraphs to get square brackets to
1894         show correctly.
1895         Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
1896         Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
1897         glibconfig.h, so that "./config.status glibconfig.h" works.
1898         Add an extra AC_CONFIG_FILES call listing other files we want
1899         generated by config.status protected by an "if false" block.  This
1900         way automake generates the rules needed to rebuild the files for
1901         us.
1902         Add quotes in various places.
1904         * docs/reference/*/Makefile.am: convert to use the common
1905         gtk-doc.make file.  This localises the complexity to a single
1906         makefile fragment maintained with gtk-doc itself.
1908         * */Makefile.am: remove unneeded rules to build win32 files with
1909         config.status.  Automake now does this for us.
1910         Replace instances of @FOO@ with $(FOO) where appropriate -- this
1911         allows automake to do a better job checking the makefile.
1912         Add some files to DISTCLEANFILES where appropriate
1914         * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
1915         ensure that --enable-gtk-doc is passed to configure during a
1916         distcheck.  Remove the custom distcheck, since the standard one
1917         will now do.
1919         * gobject/Makefile.am: switch to BUILT_SOURCES, since that now
1920         works.
1922 2003-02-26  Matthias Clasen  <maclas@gmx.de>
1924         * glib/gstrfuncs.c (g_strdup_vprintf): Use g_strndup, not
1925         g_strdup, since we know the length in advance.
1927         * glib/gunidecomp.c (g_unicode_canonical_decomposition): Use
1928         g_malloc instead of directly using malloc.
1930 2003-02-25  Tor Lillqvist  <tml@iki.fi>
1932         * glib/glib.def: Add a couple of missing entries, thanks to Cedric
1933         Gustin. Thread initialization function changes according to
1934         Sebastian Wilhelmi's changes below (2003-02-14).
1936 2003-02-24  Matthias Clasen  <maclas@gmx.de>
1938         * glib/gdir.c (g_dir_read_name): Clarify documentation.
1940 2003-02-18  Sebastian Wilhelmi  <seppi@seppi.de>
1942         * configure.in: Make glib_thread_test not unnecessarily convert
1943         between int and void*. (#106278). Let main return int.
1945         * configure.in: Add an argument to specify the default thread
1946         attribute to glib_thread_test. Disappeared somewhere between 2.0
1947         and 2.2.
1949 2003-02-14  Sebastian Wilhelmi  <seppi@seppi.de>
1951         Fixes for #101264 and #99372:
1953         * glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
1954         glib/grand.c: Include gthreadinit.h and rename the thread
1955         initialization functions a bit and let them start with _, so that
1956         later we can stop exporting them.
1957         
1958         * glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
1959         new functions. They have to be called after setting
1960         g_threads_got_initialized to TRUE (see #101264).
1962         * glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
1963         g_thread_init_glib(). Call the thread initialization functions
1964         (which are not allowed to call g_private_new), then set
1965         g_threads_got_initialized to TRUE, then call the other thread
1966         initialization functions (which must not call anything but
1967         g_private_new()).
1968         
1969         * glib/gthreadinit.h: New private header to cleanly declare all
1970         thread initialization functions.
1972         * gthread/gthread-impl.c: Include gthreadinit.h. In
1973         g_thread_init() just call g_thread_init_glib(), which in turn calls the
1974         other functions (see #99372).
1975         
1976         * glib/Makefile.am: Added gthreadinit.h.
1978 2003-02-12  Sebastian Wilhelmi  <seppi@seppi.de>
1980         * configure.in: Make GLib recognize Tru64Unix thread system. (#103020)
1982 2003-02-11  Tor Lillqvist  <tml@iki.fi>
1984         * Makefile.am (EXTRA_DIST): Include ChangeLog.pre-2-2.
1986         * glib-zip.in: Include also the gtk-doc/html documentation in the
1987         developer package.
1989         * README.win32: Updates.
1991 2003-02-11  Sebastian Wilhelmi  <seppi@seppi.de>
1993         * AUTHORS: Changed my e-mail address.
1994         * glib/grand.c: Removed my e-mail address.
1996 2003-02-10  Mohammad DAMT  <mdamt@bisnisweb.com>
1998         * po/id.po: Added Indonesian translation
1999         * configure.in: Added "id" to ALL_LINGUAS
2001 2003-02-06  Matthias Clasen  <maclas@gmx.de>
2003         * glib/gmessages.h: 
2004         * glib/gmem.h: 
2005         * glib/ghash.h: 
2006         * glib/gasyncqueue.h: 
2007         * glib/garray.h: 
2008         * glib/ghook.h: 
2009         * glib/gtypes.h: Fix a bunch of typos in header comments.
2010         (#102422, Morten Welinder)
2012 2003-02-04  Tor Lillqvist  <tml@iki.fi>
2014         * glib/giowin32.c (g_io_channel_unix_new): Fix typo: Should be
2015         SOCKET_ERROR, not SO_ERROR. Noticed by Daniel Kaufmann.
2016         
2017         Merge from stable branch: 
2019         Fix for bug #104014, reported by Alex Shaduri:
2020         
2021         * glib/gspawn-win32.c (protect_argv): New function. Add
2022         double-quotes around argv elements that need it, and escape
2023         embedded double-quotes with backslash.
2024         (do_spawn_with_pipes) Call protect_argv().
2026         * glib/gspawn-win32-helper.c (WinMain): Call protect_argv().
2028         * glib/gspawn.c (g_spawn_async_with_pipes): Document argument
2029         vector vs. command line details on Win32.
2030         (g_spawn_command_line_sync): Improve documentation about
2031         backslashes in the command line on Windows.
2033 Thu Jan 30 16:45:13 2003  Owen Taylor  <otaylor@redhat.com>
2035         * Makefile.am: Remove references to glib.spec.
2036         (#102231)
2038         * configure.in: Don't generate glib.spec.
2040 Tue Jan 28 16:08:56 2003  Owen Taylor  <otaylor@redhat.com>
2042         * m4macros/glib-gettext.m4: If msgfmt isn't found,
2043         unset gt_cv_have_gettext. (#102552, Tim Mooney)
2045 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
2047         * autogen.sh (have_automake): Fix version in complaint
2048         message about automake. (#104366, Rich Burridge)
2050 2003-01-22  Pablo Saratxaga  <pablo@mandrakesoft.com>
2052         * configure.in: Added Bengali (bn) to ALL_LINGUAS
2054 2003-01-21  Christian Rose  <menthos@menthos.com>
2056         * configure.in: Added "mn" to ALL_LINGUAS.
2058 2003-01-20  Pablo Saratxaga  <pablo@mandrakesoft.com>
2060         * configure.in: Added Farsi (fa), Italian (it), Latvian (lv),
2061         Macedonian (mk) to ALL_LINGUAS
2063 2003-01-16  Daniel Yacob <locales@geez.org>
2065         * configure.in: added am to ALL_LINGUAS
2066         
2067 2003-01-12  Tor Lillqvist  <tml@iki.fi>
2069         * glib/glib.def: Add some missing entries. Thanks to Kenichi SUTO.
2071 2003-01-05  Tor Lillqvist  <tml@iki.fi>
2073         * README.win32: Updates.
2075         * configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
2076         libm. (Mingw has a dummy libm.a, but the .pc file should be
2077         useable by MSVC users, too.)
2079 2003-01-25  Ron Steinke  <rsteinke@w-link.net>
2081         (Ancient, binary compatible fixes found sitting in my tree)
2083         * Added early checks for count == 0 and buf == NULL in g_io_channel_read()
2085         * Better error message for EFAULT in  g_io_channel_error_from_errno()
2087 2003-01-04  Tor Lillqvist  <tml@iki.fi>
2089         * Makefile.am (BUILT_EXTRA_DIST): Don't distribute glib-zip.
2091         * {glib,gmodule,gobject,gthread}/Makefile.am:
2092         [Win32] Install also the .def files, to help users generate
2093         import libraries for other compilers. Uninstall, too.
2095         * glib-zip.in: Include .def files from above.
2097         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Don't claim
2098         broken pipes are unreadable. (Well, they are, but read() handles
2099         it, and treats it like EOF.)
2101 Thu Jan  2 16:19:15 2003  Manish Singh  <yosh@gimp.org>
2103         * configure.in: use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE for
2104         tests for inline keywords. Fixes #101976.
2106 2003-01-02  Tor Lillqvist  <tml@iki.fi>
2108         * glib/gwin32.h: Correct the comment telling what headers have
2109         the declarations of some POSIXish functions.
2111         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino:
2112         The checks for readability/writeability were backwards.
2114 2003-01-01  Tor Lillqvist  <tml@iki.fi>
2116         * glib/gmessages.c (ensure_stderr_valid): New function, parallel
2117         to ensure_stdout_valid(). #defined as empty on Unix. Move the
2118         alloc_console_called static flag inside these two functions.
2119         (ensure_stdout_valid, ensure_stderr_valid): Check the C stdout and
2120         stderr streams for validity, instead of what GetStdHandle() returns.
2121         (mklevel_prefix): Do use either stderr or stdout on Windows,
2122         too. Otherwise g_warning() messages (that are just warnings, by
2123         definition) will get mixed with proper stdout output. Noticed in
2124         GIMP's gimpconfig-dump.
2125         (strdup_convert, mklevel_prefix, g_printerr): Call
2126         ensure_stderr_valid() before trying to use stderr.
2127         (g_logv): [Win32] Convert message to current codepage before
2128         display with MessageBox().
2130 2002-12-28  Tõivo Leedjärv  <toivo@linux.ee>
2132         * configure.in: Added et to ALL_LINGUAS.