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