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