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