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