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