1 2003-11-05 Morten Welinder <terra@gnome.org>
3 * glib/garray.c (g_ptr_array_remove_range): Make it compile.
6 * glib/gstring.c (g_string_insert_len): Handle the case where the
7 to-be-inserted string is a substring of the target string.
8 (g_string_assign): Handle "s = s;".
11 Sun Nov 2 01:47:31 2003 Matthias Clasen <maclas@gmx.de>
13 Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
15 * configure.in (HAVE_INT64_AND_I64): Define for MSVC to
16 include support for printing __int64 with format %I64 in
17 the gnulib printf wrappers.
18 * glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64
20 * glib/gnulib/printf-args.h (struct argument): Add a_int64 and
22 * glib/gnulib/printf-args.c (printf_fetchargs): Support
23 TYPE_INT64 and TYPE_UINT64.
24 * glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
25 modifier and map formats to TYPE_INT64.
26 * glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
28 * glib/gnulib/README: Document the __int64 support.
30 Sat Nov 1 08:45:38 2003 Owen Taylor <otaylor@redhat.com>
32 * glib/gmain.c (g_main_context_iterate): Set the
33 return value from the result of g_main_context_check()
34 (after we poll) rather than g_main_context_prepare.
35 (#121675, Padraig O'Briain)
37 Fri Oct 31 00:13:53 2003 Matthias Clasen <maclas@gmx.de>
39 * configure.in: Remove the semicolon from the definition of
40 g_once(), so that GPOINTER_TO_INT (g_once (...)) works.
42 Tue Oct 28 23:38:30 2003 Matthias Clasen <maclas@gmx.de>
44 * tests/printf-test.c: Change the %e tests to not check for
45 actual string equality, but rather equality under g_ascii_strtod(),
46 since the number of leading digits in the exponent seems to
47 be not exactly prescribed by SUS.
49 Fri Oct 24 17:09:04 2003 Owen Taylor <otaylor@redhat.com>
51 * === Released 2.3.0 ===
55 2003-10-24 Tor Lillqvist <tml@iki.fi>
57 * configure.in: Force shared library (DLL) only on Windows.
58 (I don't think that is controversial?) Remove unnecessary
59 AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
60 Win32, it is not used by mingw or MSVC headers.
63 * glibconfig.h.win32.in: Match what configure produces.
66 * glib/gutils.c: Mark a couple of functions and variables that
67 aren't public as static.
69 * glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
70 it potentially differently, to silence compiler.
72 * glib/glib.def: Add some missing entries.
74 * tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
77 * tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
78 to g_object_set() and _get().
80 Thu Oct 23 12:38:24 2003 Owen Taylor <otaylor@redhat.com>
82 * tests/gobject/Makefile.am (dist-hook): Remove
85 * tests/gobject/Makefile.am (EXTRA_DIST): Add
88 * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
89 missing gunicode-private.h.
91 * tests/testglib.c (main): Fix a warning.
93 * tests/gobject/ifaceinherit.c: Remove check that
94 wasn't supposed to work (adding an interface already
95 added to the derived class to the base class),
98 Wed Oct 22 23:41:03 2003 Matthias Clasen <maclas@gmx.de>
100 * NEWS: Update for 2.3.0.
102 Tue Oct 14 17:44:38 2003 Owen Taylor <otaylor@redhat.com>
104 * tests/gobject/ifaceproperties.c: Test for interface
105 properties and GParamSpecOverride.
107 Wed Oct 8 23:40:26 2003 Matthias Clasen <maclas@gmx.de>
109 * glib/gmarkup.c (g_markup_printf_escaped):
110 (g_markup_vprintf_escaped): Document as 2.4 additions.
111 (unescape_text): Implement newline and whitespace normalization
112 according to the XML specification. (#123919)
113 (g_markup_escape_text): Document whitespace (non)handling.
115 2003-10-05 Matthias Clasen <maclas@gmx.de>
117 * configure.in: Make the various printf feature test macros
118 reflect the system printf, even when using the included printf.
119 In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h
120 needs that test result. (#122973)
122 * glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
123 directly check for _g_vasprintf.
125 * glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
126 if vasprintf() is available.
128 * glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
129 trailing nul to the file. (#122973)
131 * acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test
132 detect non-C99-compliance of AIX 5.1 and Solaris
133 vsnprintf(). (#122496)
135 Thu Oct 2 01:15:46 2003 Owen Taylor <otaylor@redhat.com>
137 * tests/gobject/ifacecheck.c: Test case for
138 g_type_add_interface_check().
140 * tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
142 Thu Oct 2 01:11:39 2003 Owen Taylor <otaylor@redhat.com>
144 * tests/gobject/ifaceinherit.c: Remove some tests that
145 were testing things that weren't supposed to work; add
146 a test for adding an interface first to the child class,
147 then to the parent class.
149 Thu Oct 2 00:02:55 2003 Owen Taylor <otaylor@redhat.com>
151 * tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
152 Tests of interface inheritance and overriding.
154 2003-09-30 Tor Lillqvist <tml@iki.fi>
156 * glib/gspawn-win32.c (do_spawn): Call protect_argv() in
157 do_spawn() instead of in do_spawn_with_pipes() so that we can use
158 the original argv[0] as the program file name parameter to
159 spawnv() in the shortcut (doing without helper process)
160 code. Fixes problem if GIMP 1.3 was installed in a path with
163 Tue Sep 30 15:31:16 2003 Soeren Sandmann <sandmann@daimi.au.dk>
165 * glib/guniprop.c (has_more_above): make the argument const to
168 * glib/garray.c (g_byte_array_remove_range): insert cast to get
171 2003-09-29 Tor Lillqvist <tml@iki.fi>
173 * tests/testglib.c (main): Use hardcoded name for DLL, as there is
174 no reliable way to determine it at compile or run time anyway.
176 2003-09-29 Matthias Clasen <maclas@gmx.de>
178 * glib/guniprop.c (g_unichar_get_mirror_char): Add "Since: 2.4"
181 Thu Sep 25 15:43:08 2003 Owen Taylor <otaylor@redhat.com>
183 * tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
184 Dummy dynamic type module for testing type plugin code
187 * test/gobject/defaultiface.c: Test of
188 g_type_default_interface_ref() and friends.
190 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
192 * configure.in: Added lt to ALL_LINGUAS.
194 2003-09-25 Tor Lillqvist <tml@iki.fi>
196 * glib/glib.def: Remove g_bsearch_array_* entries that don't exist
197 any longer. (ABI change?)
199 Thu Sep 25 15:01:37 2003 Owen Taylor <otaylor@redhat.com>
201 * tests/Makefile.am (SUBDIRS): Add gobject/.
203 Fri Sep 12 16:26:21 2003 Owen Taylor <otaylor@redhat.com>
205 * tests/gobject/ configure.in: New directory, framework
206 for automated GObject tests.
208 * tests/gobject/override.c: Move testoverride.c
211 * tests/gobject/ifaceinit.c: Move testifaceinit.c here.
213 * tests/gobject/accumulator.c: Test signal accumulators,
214 including g_signal_accumulator_true_handled.
216 2003-09-12 Noah Levitt <nlevitt@columbia.edu>
218 * glib/gen-unicode-tables.pl: Take a directory where to look for the
219 unicode files on the command line instead of 7 individual files.
221 2003-09-12 Noah Levitt <nlevitt@columbia.edu>
223 * glib/gen-unicode-tables.pl:
224 * glib/gunichartables.h:
226 * glib/guniprop.c: Add g_unichar_get_mirror_char. (#114749)
228 Thu Sep 11 20:11:05 2003 Owen Taylor <otaylor@redhat.com>
230 * glib/gmarkup.c: Add g_markup_printf_escaped(),
231 g_markup_vprintf_escaped().
233 * tests/markup-escape-test.c (main): Test for
234 g_markup_escape_text(), g_markup_printf_escaped().
236 2003-09-10 Noah Levitt <nlevitt@columbia.edu>
238 * glib/gunicodeprivate.h:
239 * glib/gunicollate.c:
243 * tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681)
245 * glib/gunicodeprivate.h: Use a private header instead of extern
246 function declarations (_g_utf8_normalize_wc,
247 _g_unichar_combining_class).
249 Mon Sep 8 00:31:10 2003 Stefan Westerfeld <stefan@space.twc.de>
251 * glib/gbsearcharray.h: inserted casts for C++.
253 2003-08-28 Matthias Clasen <maclas@gmx.de>
255 * tests/patterntest.c (verbose): Fix a C99ism. (#120821, Thomas
258 2003-08-25 Tor Lillqvist <tml@iki.fi>
260 * glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
261 section twice, which might cause a hang. (#120653)
263 * glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
264 valid file descriptor and socket.
266 Mon Aug 25 12:34:36 2003 Owen Taylor <otaylor@redhat.com>
268 * glib/gmessages.c: Escape control characters in g_logv() output.
269 (#108287, Christian Biere)
271 Mon Aug 25 12:17:20 2003 Owen Taylor <otaylor@redhat.com>
273 * glib/gmain.c (g_main_context_unref_and_unlock):
274 When DISABLE_MEM_POOLS is set, loop through and free
275 the poll records explicitely, since g_mem_chunk_destroy()
276 won't do it. (#118121, Morten Welinder)
278 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
280 * is.po: Added "is" to ALL_LINGUAS.
282 2003-08-19 Tor Lillqvist <tml@iki.fi>
284 * glib/gmessages.c (g_logv): [Win32] Make the fatal error message
285 box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
286 to get a nice stop-sign icon.
288 Tue Aug 19 09:42:06 2003 Owen Taylor <otaylor@redhat.com>
290 * m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS
291 temporarily, not -lintl. (Problem with fix for
292 #119171, pointed out by James Henstridge)
294 Tue Aug 19 03:55:29 2003 Tim Janik <timj@gtk.org>
296 * glib/gbsearcharray.h: license change, no restrictions are made
297 in the new license at all, the implmentation is simply provided
298 "as is" to allow copy-pasting the code into any third-party app.
299 naturally, the implementation is self-contained within the header
301 default to non-shrinking behaviour, allow users to request shrinking
302 via G_BSEARCH_ARRAY_AUTO_SHRINK.
303 creation, deletion functions are now named g_bsearch_array_create()
304 and g_bsearch_array_free().
305 fixed const in prototypes, removed cruft.
306 (g_bsearch_array_insert): take only three arguments, do nothing if the
307 node to insert is already there.
308 (g_bsearch_array_replace): insert or replace if the node is already
310 (g_bsearch_array_remove): remove nodes by index, the index of a node
311 can be found via g_bsearch_array_get_index().
312 removed other g_bsearch_array_remove*() variants.
313 (g_bsearch_array_lookup): minor optimizations.
314 (g_bsearch_array_lookup_sibling): return nodes on mismatches.
316 * glib/gbsearcharray.c: removed.
318 2003-08-16 Tor Lillqvist <tml@iki.fi>
320 Fix #117925 (Dov Grobgeld):
322 * glib/gutils.c (g_find_program_in_path, g_basename,
323 g_path_get_basename, g_path_is_absolute, g_path_skip_root,
324 g_path_get_dirname, g_get_any_init): On Win32, look also for
325 slashes ('/') as pathname separators.
327 * glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
328 contains a pathname separator, include the actual one in the error
329 message, instead of always the canonical one.
331 (g_build_filename): Separate implementation on Win32 that looks
332 for either slash or backslash. Document Unix/Windows differences.
335 * tests/strfunc-test.c: Test above functionality on Win32.
337 2003-08-15 Tor Lillqvist <tml@iki.fi>
339 * glib/gmain.c (g_poll): [Win32] Don't exceed handle array
340 bounds. Warn if there would be too many handles to wait
341 for. (WaitForMultipleObjects() has a relatively low limit of 64
342 handles. The Win32 IO channel code should be fixed not to need to
343 wait for one handle per file or socket being watched. Later.)
345 2003-08-13 Tor Lillqvist <tml@iki.fi>
348 * gmodule/Makefile.am
349 * gobject/Makefile.am
350 * gthread/Makefile.am: Use srcdir also in references to the .def
351 files. (#118885, Jeff Bonggren)
353 2003-08-12 Tor Lillqvist <tml@iki.fi>
355 * glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
356 implementation. It used WideCharToMultiByte(), which is broken as
357 it stores unconvertable characters as fallback characters
358 (question marks) in the destination string without being able to
359 tell how much of the conversion succeeded. Using g_convert() like
360 on Unix is better and simpler. (#117872)
362 (g_locale_to_utf8): No need for the Win32-specific implementation
365 (have_broken_filenames): Define as TRUE on Win32.
367 (g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
368 have_broken_filenames() now is defined TRUE on Win32, works as
371 2003-08-11 Matthias Clasen <maclas@gmx.de>
373 * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
374 JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
375 xmlcatalog in PATH. (#119115)
377 2003-08-10 Tor Lillqvist <tml@iki.fi>
379 * glib/gutils.c (g_getenv): Don't use a cache of variable name to
380 value mappings on Win32, as that breaks g_setenv() and
381 g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
382 and in that case return a quarkified string. It is still
383 questionable how necessary expanding embedded environment variable
384 references is. Possibly the whole Win32-specific g_getenv()
385 implementation could be removed. (#119520)
387 2003-08-08 Tor Lillqvist <tml@iki.fi>
389 * glib/glib.def: Add g_once_impl.
391 * glib/gutils.c (g_setenv): Fix syntax error in the !HAVE_SETENV
394 2003-08-08 Matthias Clasen <maclas@gmx.de>
396 * tests/env-test.c (main): Remove a test for getenv() behaviour
397 which isn't specified by SUS and doesn't work on Solaris.
399 2003-08-07 Matthias Clasen <maclas@gmx.de>
401 * tests/env-test.c: Add tests for '=' in names and values.
403 * glib/gutils.c (g_setenv, g_unsetenv): Check that the variable
404 name doesn't contain '='. Add a declaration for environ. (#119338)
406 * acinclude.m4: Tighten the snprintf() test to check behaviour on
407 zero-size buffers. (#106091)
409 * tests/patterntest.c: Specify test strings in UTF-8, remove all
410 charset conversion. Replace the NOISY define by a cmdline arg
413 Thu Aug 7 15:01:09 2003 Owen Taylor <otaylor@redhat.com>
415 * m4macros/glib-gettext.m4: Set $LIBS to include
416 -lintl when checking for dcgettext and
417 _nl_msg_cat_cntr. (Tim Mooney, #119171)
419 Thu Aug 7 14:15:44 2003 Owen Taylor <otaylor@redhat.com>
421 * glib/gmain.c (g_idle_source_new): Make the default priority
422 for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
423 expect and document that. (#114461, reported by Andy Wingo)
425 2003-08-06 Noah Levitt <nlevitt@columbia.edu>
428 * tests/gen-casemap-txt.pl: Add test for special case not at inital
429 position in the string, the bug just fixed. (#118957)
431 2003-08-05 Noah Levitt <nlevitt@columbia.edu>
433 * glib/guniprop.c: Get rid of "len" parameter to output_special_case
434 and output_marks, and make them work more like g_unichar_to_utf8,
435 fixing a bug in the process. (#118957)
437 2003-08-05 Hans Breuer <hans@breuer.org>
439 * glib/gnulib/makefile.msc : (new file) for msvc build
441 * glib/gnulib/vasnprintf.c : use glib/galloc.h
443 * glib/gnulib/printf.h : #include <stdio.h> for FILE*
445 * glib/makefile.msc.in : replace trio with gnulib
447 * glib/glib.def : updated externals
449 * glib/guniprop.c : fix for guniprop.c(582) : error C2082:
450 redefinition of formal parameter 'len'
452 2003-08-04 Noah Levitt <nlevitt@columbia.edu>
454 * tests/unicode-normalize.c: We do handle > BMP now, so test it.
456 2003-07-31 Noah Levitt <nlevitt@columbia.edu>
458 * tests/file-test.c: s/g_read_link/g_file_read_link/ (#118727)
460 2003-07-31 Noah Levitt <nlevitt@columbia.edu>
462 * tests/unicode-encoding.c: Return nonzero exit status if the test
465 2003-07-31 Noah Levitt <nlevitt@columbia.edu>
467 * tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
468 is the last valid unicode character. Add check that U+10ffff is
469 NOTUNICODE. (#118730)
471 2003-07-30 Noah Levitt <nlevitt@columbia.edu>
473 * glib/gen-unicode-tables.pl:
476 * glib/gunichartables.h:
482 * tests/casefold.txt:
484 * tests/gen-casefold-txt.pl:
485 * tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974)
487 2003-07-31 Tor Lillqvist <tml@iki.fi>
489 * glib/gspawn-win32.c: When possible, manage without the helper
490 process. (Part of the enhancements outlined in #98737.) Speeds up
491 GIMP 1.3's first-time-run plug-in query phase a lot.
493 Plug a file descriptor (and thus Win32 handle) leak: close the
494 read end of the child error report pipe after use.
496 2003-07-30 Matthias Clasen <maclas@gmx.de>
498 * glib/gutils.c (g_unsetenv): Use same argument name as in header,
500 (g_getenv): Move docs inline, add comment about lifespan of return
503 * glib-2.0.pc.in (Libs): Remove forgotten @TRIO_LIBS@. (#118616,
506 * glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link()
507 to better match the remaining file utilities in the g_file_
508 namespace and to better separate it from readlink(). This is
509 hopefully no problem as the function is just 2 days old.
511 2003-07-29 Matthias Clasen <maclas@gmx.de>
513 * glib/gqsort.[hc] (g_qsort_with_data):
514 * glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri):
515 * glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar,
516 gint, gsize instead of char, int, size_t in the interface for
517 consistency. (#118567)
519 Replace trio printf() by gnulib vasnprintf(): (#101874)
521 * configure.in: Define HAVE_LONG_LONG_FORMAT if system printf
522 understands %llu; rename enable_trio to enable_included_printf;
523 add misc. tests needed for gnulib vasnprintf(); define
524 G_GINT{16,32,64}_MODIFIER in glibconfig.h.
526 * acinclude.m4: Misc tests needed for gnulib vasnprintf():
527 AC_FUNC_SNPRINTF_C99, bh_C_SIGNED, jm_AC_TYPE_LONG_LONG,
528 gt_TYPE_LONGDOUBLE, gt_TYPE_WCHAR_T, gt_TYPE_WINT_T,
529 gt_AC_TYPE_INTMAX_T, jm_AC_HEADER_STDINT_H,
530 jm_AC_HEADER_INTTYPES_H.
532 * glib/Makefile.am: Replace TRIO_SUBDIR by PRINTF_SUBDIR and
533 trio_libtrio_la by printf_la.
535 * glib/gprintfint.h: Include gnulib/printf.h and use _g_gnulib_
536 functions instead of _g_trio_ functions.
538 * glib/trio/*: Removed
540 * glib/gnulib/*: vasnprintf() implementation from gnulib, patched
541 to live in the _g_gnulib namespace, use g_malloc instead of
542 malloc, and support long long printing even if system printf
543 doesn't. For more details, see glib/gnulib/README.
545 * tests/printf-test.c: Add tests for 64 bit printing.
547 2003-07-28 Matthias Clasen <maclas@gmx.de>
550 * glib/gfileutils.c: New function g_read_link(). (#72545)
552 * configure.in: Check for setenv, unsetenv, readlink and symlink.
554 * tests/file-test.c (test_readlink): Test for g_read_link() (only
555 on systems supporting symbolic links).
557 * tests/env-test.c: New test for g_{get,set,unset}env().
559 * tests/Makefile.am (test_programs): Add env-test.
562 * glib/gutils.c: New functions g_setenv() and g_unsetenv(). (#100763)
564 2003-07-26 Matthias Clasen <maclas@gmx.de>
566 * tests/printf-test.c: New test, tests printf behaviour. This was
567 already mentioned in Makefile.am by accident.
569 * tests/file-test.c: New test, currently contains mkstemp tests
570 copied from testglib.c.
572 * tests/Makefile.am (test_programs): Add file-test.
574 * glib/gprintf.c: Fix all g_return_val_if_fail () checks to return
575 -1 on error to match the behaviour of the stdio printf() family.
578 * glib/garray.c (g_{,byte,pointer}_remove_range): New functions to
579 remove a range of elements from an array. (#94879, Nalin Dahyabhai)
581 * glib/gmessages.c (g_logv): Remove the 1024 char limit in the
582 common (non-recursive) case.
584 2003-07-25 Matthias Clasen <maclas@gmx.de>
588 * glib/gunicollate.c:
596 * glib/gasyncqueue.c:
597 * glib/gmem.c: Remove some explicit Docbook markup which is no
598 longer necessary since gtk-doc does the right thing.
600 * glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity.
602 2003-07-20 Hans Breuer <hans@breuer.org>
604 * glib/trio/makefile.msc : (new file) for msvc build
606 * glib/glib.def : removed some duplicated entries
608 * glib/gscanner.c : add same workaround for MSVC(5.0)
609 which does not allow to cast an uint64 to float.
610 Same as in gvaluetransform.c
611 Also move #include <io.h> behind inclusion of "glib.h"
612 which defines the needed G_OS_WIN32
614 * glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
615 as well as shell32.lib
617 * tests/spawn-test.c : include <io.h> on win32
619 2003-07-12 Matthias Clasen <maclas@gmx.de>
621 * glib/gprintf.c: Doc additions.
623 2003-07-10 Joel Brich <joel.brich@laposte.net>
625 * configure.in: Added "eo" to ALL_LINGUAS.
627 Wed Jul 9 16:27:26 2003 Manish Singh <yosh@gimp.org>
629 * glib/gmain.c (g_main_context_unref_and_unlock): check if
630 context->poll_chunk is set before trying to destroy it. For example,
631 this can happen if no sources are added to a context before it is
634 2003-07-09 Morten Welinder <terra@gnome.org>
636 * glib/gprintf.c (g_vasprintf): Avoid var declaration after
639 2003-07-09 Matthias Clasen <maclas@gmx.de>
641 Support for one-time initialization functions. (#69668, Sebastian
644 * configure.in: Check whether double checked locking is safe,
645 define g_once() in glibconfig.h accordingly.
646 * glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
647 * glib/gthread.c (g_once_impl): Fallback implementation using a
648 mutex if double checked locking is unsafe.
649 * tests/thread-test.c: Add tests for g_once().
651 2003-07-02 Matthias Clasen <maclas@gmx.de>
653 * glib/gstrfuncs.c (g_strfreev): Move docs inline, document behavior
654 for NULL. (#116439, Steve Chaplin)
656 2003-06-25 Abigail Brady <morwen@evilmagic.org>
658 * glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx
659 and \Uxxxxyyyy escapes instead for fallback instead of perl-style
660 \X{xxxx} ones, fixing bug #114284.
662 2003-06-25 Tor Lillqvist <tml@iki.fi>
664 * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
665 &optlen to getsockopt() instead of NULL. Don't remember why I
666 thought that NULL could be used (as we don't actually use the
667 returned value for anything), the Platform SDK documentation
670 2003-06-19 Matthias Clasen <maclas@gmx.de>
672 * glib/gutils.c (g_path_get_basename): Move the documentation
673 inline and add details. (#108505)
675 2003-06-18 Matthias Clasen <maclas@gmx.de>
677 * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
678 macros to check for XML catalog contents and path, borrowed from
681 * configure.in: New option --enable-man to enable regeneration of
682 man pages from Docbook, if the necessary tools are found.
684 2003-06-17 Matthias Clasen <maclas@gmx.de>
686 * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
687 macros to check for XML catalog contents and path, borrowed from
690 * configure.in: New option --enable-man to enable regeneration of
691 man pages from Docbook, if the necessary tools are found.
693 2003-06-15 Tor Lillqvist <tml@iki.fi>
695 * glib-zip.in (DLLDIR): Test where the DLLs actually are.
697 * README.win32: Point to FSF's binary Win32 distributions of
698 libiconv and gettext-runtime.
700 2003-06-11 Tor Lillqvist <tml@iki.fi>
702 * glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
703 subdirectory, so get them from there.
705 * glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
706 same way as the po files for Serbian in Latin and Cyrillic script.
708 2003-06-11 Sebastian Wilhelmi <seppi@seppi.de>
710 * configure.in: Remove false &. Spotted by Albert Chin
711 <gtk-devel-list@thewrittenword.com>.
713 2003-06-08 Tor Lillqvist <tml@iki.fi>
715 * glib/giowin32.c: Fix indentation and spacing. Use
716 INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
719 Sat Jun 6 16:18:10 2003 Andrew Lanoix <alanoix@umich.edu>
721 * glib/giowin32.c: Resolved thread deadlocks in socket
722 ichannel code to support Add-Cancel-Add watch functionality
723 on windows. Also cleaned up socket error handling to not
724 segfault and do the right thing.
726 Fri Jun 6 10:24:23 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
728 * m4macros/glib-gettext.m4: Test for Solaris native gettext
729 in libc, seeing if it supports GNU catalog format (#85217).
731 Thu Jun 5 23:40:31 2003 Owen Taylor <otaylor@redhat.com>
733 * glib/gmain.c: When dispatching a source that is
734 !CAN_RECURSE, temporarily remove any file descriptors
735 that that source has registered from the main loop, to keep
736 recursive main loops from busy-waiting if input
737 becomes available on one of those file descriptors.
738 (#112222, Christian Krause)
740 * glib/gmain.c (g_source_set_priority): Properly
741 remove the source from the context's source list
742 and reinsert it sorted, rather than simply setting
743 source->next/prev to NULL! (#114274)
745 2003-06-06 Matthias Clasen <maclas@gmx.de>
747 * glib/gstring.c (g_string_append_printf_internal): Use
748 g_vasprintf() and g_string_append_len(), thus enabling embedded
749 nuls in the result of g_string_printf(). (#92492, Owen Taylor)
751 * tests/string-test.c: Add a test for embedded nuls in the
752 result of g_string_printf().
754 * glib/gprintf.[ch]: Synchronize argument names with headers and docs.
755 (g_vasprintf): An implementation of vasprintf(), code was lifted
756 from g_strdup_vprintf(). (#112365)
758 * glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
760 2003-06-05 Tor Lillqvist <tml@iki.fi>
763 * glib/gmain.h: Remove bogus (Win32-only) declaration of
764 g_main_poll_win32_msg_add(). No such function exists.
766 * glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
767 better warning messages.
769 2003-06-04 Noah Levitt <nlevitt@columbia.edu>
771 * glib/gunidecomp.h (combine): Fix typo (#114375). Also, make the
774 2003-06-03 Sebastian Wilhelmi <seppi@seppi.de>
776 * configure.in: Test for pthread_setschedparam. If not existant,
777 disable priorities. (#104718)
779 Mon Jun 2 14:18:21 2003 Owen Taylor <otaylor@redhat.com>
781 Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
783 * glib/gspawn.c (read_data): Don't read() into '&buf', while this
784 is technically okay - it is clearer as just 'buf'.
785 (write_all): New helper function that handles write() interrupts.
786 (write_err_and_exit): Use write_all() instead of write().
787 (fork_exec_with_pipes): Same here.
789 Sun Jun 1 09:42:36 2003 Owen Taylor <otaylor@redhat.com>
791 * glib/giochannel.c (g_io_error_get_from_g_error): Put
792 the g_return_val_if_fail() in the right place.
794 Fri May 31 1:17:45 2003 Ray Strode <halfline@hawaii.rr.com>
796 * glib/giochannel.c (g_io_channel_error_from_errno):
797 Fix typo: should be G_IO_ERROR_UNKNOWN not
798 G_ERROR_ERROR_UNKNOWN
800 Fri May 30 19:23:47 2003 Owen Taylor <otaylor@redhat.com>
802 * glib/gstrfuncs.c (g_ascii_strncasecmp)
803 * glib/gstrfuncs.c (g_ascii_strcasecmp): Use TOLOWER()
804 macro instead of g_ascii_tolower() (#107138)
806 Fri May 30 19:09:25 2003 Owen Taylor <otaylor@redhat.com>
808 * m4macros/glib-gettext.m4: Backport better handling
809 of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon)
811 Fri May 30 18:46:05 2003 Owen Taylor <otaylor@redhat.com>
813 * m4macros/glib-gettext.m4: expand $exec_prefix as
814 well as $prefix. (#107290, reported by Morten Welinder,
815 patch from Raja Harinath)
817 Fri May 30 17:24:23 2003 Owen Taylor <otaylor@redhat.com>
819 * glib-gettextize.in: Quote $srcdir to handle $srcdir
820 with spaces (#107850, Evan Martin)
822 Fri May 30 16:48:26 2003 Owen Taylor <otaylor@redhat.com>
824 * glib/giochannel.c (g_io_channel_error_from_errno):
825 Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR,
826 since close() can return EINTR. (#11842, Balazs Scheidler)
828 Fri May 30 15:51:43 2003 Owen Taylor <otaylor@redhat.com>
830 * glib/giochannel.c (g_io_error_get_from_g_error):
831 Do a g_return_val_if_fail() on err == NULL to be a
832 bit more robuts on buggy IO channel implementations.
833 (#113396, Dan Winship)
835 Tue May 27 19:56:35 2003 Owen Taylor <otaylor@redhat.com>
837 * glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token
838 before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar,
841 2003-05-28 Matthias Clasen <maclas@gmx.de>
843 * tests/patterntest.c: Remain silent when sucessful.
845 * tests/Makefile.am: Add patterntest to make check. (113143)
847 2003-05-27 Matthias Clasen <maclas@gmx.de>
849 * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
850 strcpy. (#106988, Christian Biere)
852 2003-05-27 Matthias Clasen <maclas@gmx.de>
854 * glib/gstrfuncs.c (g_strdup): Use memcpy instead of
855 strcpy. (#106988, Christian Biere)
857 2003-05-23 Noah Levitt <nlevitt@columbia.edu>
859 * glib/gutf8.c: Fix typo in UNICODE_VALID (related to #107427).
861 2003-05-23 Noah Levitt <nlevitt@columbia.edu>
863 * glib/guniprop.c: Remove stale comment.
865 2003-05-22 Noah Levitt <nlevitt@columbia.edu>
867 * glib/guniprop.c: Update g_unichar_iswide to Unicode 4.0 (#113404).
869 2003-05-21 Noah Levitt <nlevitt@columbia.edu>
871 * glib/guniprop.c: Fix obscure typo in case conversion routine
874 Tue May 20 14:14:55 2003 Manish Singh <yosh@gimp.org>
876 * configure.in: wrap 64-bit MIN/MAX limit constants in
877 G_GINT64_CONSTANT. Fixes bug #108699.
879 2003-05-19 Noah Levitt <nlevitt@columbia.edu>
881 * glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should
882 return G_UNICODE_BREAK_UNKNOWN if the character is greater than
885 2003-05-19 Noah Levitt <nlevitt@columbia.edu>
887 * glib/glist.c: Remove unused function g_list_sort2 (bug #113203).
889 2003-05-19 Noah Levitt <nlevitt@columbia.edu>
891 * glib/gunidecomp.c: Fix off-by-one error in
892 g_unicode_canonical_ordering (bug #113260).
894 2003-05-19 Arafat Medini <lumina@silverpen.de>
896 * ar.po: Added ar to ALL_LINGUAS
898 2003-05-17 Telsa Gwynne <hobbit@aloss.ukuu.org.uk>
900 * configure.in: Added cy to ALL_LINGUAS
902 2003-05-05 Matthias Clasen <maclas@gmx.de>
904 * glib/gstrfuncs.c (g_ascii_dtostr):
906 (g_ascii_strtod): Some doc fixes. (#111805)
908 2003-05-05 Christian Rose <menthos@menthos.com>
910 * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
912 Thu Apr 24 19:12:05 2003 Owen Taylor <otaylor@redhat.com>
914 * autogen.sh (have_libtool): Accept libtool-1.5. (#111483)
916 2003-04-09 Matthias Clasen <maclas@gmx.de>
919 * INSTALL.in: Remove list of configuration flags, since these
920 are already documented in docs/reference/glib/building.sgml.
922 2003-04-08 Matthias Clasen <maclas@gmx.de>
924 * INSTALL: Move Cross-compliation information to reference manual.
926 Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
928 * glib/gmain.c (g_main_loop_run): When waiting for
929 the main loop to be freed up, wait on either
930 !loop->is_running or got_ownership, not both.
931 (Caused gtk_dialog_run() not to work in other
932 threads, reported by Jean-Yves Lefort)
934 2003-04-07 Matthias Clasen <maclas@gmx.de>
936 * glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.
939 2003-04-01 Tor Lillqvist <tml@iki.fi>
941 * glib/glib.def: Add g_string_chunk_insert_len.
943 2003-04-01 Matthias Clasen <maclas@gmx.de>
945 * glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
946 insert possible non-nul-terminated byte sequences into a string
948 (g_string_chunk_insert): Implement in terms of
949 g_string_chunk_insert_len() now.
951 2003-03-30 Matthias Clasen <maclas@gmx.de>
953 * glib/gstring.c (g_string_new): Optimize the common cases
954 (init == NULL or init == "") a bit.
955 * glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
956 glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
957 glib/gspawn.c, gobject/gvaluetransform.c: replace uses of
958 g_string_new ("") by g_string_new (NULL). (#106973, Morten Welinder)
960 * glib/gutf8.c (UNICODE_VALID): Update to Unicode 3.1 and optimize
961 a bit. (#107427, Noah Lewitt)
963 * glib/libcharset/config.charset: Add cp1251 support for Solaris.
964 (#104738, Hidetoshi Tajima)
966 * glib/gconvert.c (UnsafeCharacterSet): Get rid of
968 (acceptable): Align with RFC2396. (#59653)
970 * tests/uri-test.c: Adjust to the changes above.
972 2003-03-26 Christian Rose <menthos@menthos.com>
974 * configure.in: Added "yi" to ALL_LINGUAS.
976 2003-03-19 Matthias Clasen <maclas@gmx.de>
978 * glib/giochannel.c (g_io_channel_read_to_end): Fix docs.
980 2003-03-19 Anders Carlsson <andersca@codefactory.se>
982 * configure.in: Bump version to 2.3.0
984 2003-03-14 Sebastian Wilhelmi <seppi@seppi.de>
986 * glib/gthread.c: Do not define function g_thread_init_glib, if
987 not G_THREADS_ENABLED. It's not called bu g_thread_init() then,
988 but calls other, in that case undefined functions.
990 2003-03-06 Matthias Clasen <maclas@gmx.de>
992 * glib/gmain.c (g_main_context_find_source_by_id):
993 (g_main_context_find_source_by_funcs_user_data): Fix FALSE/NULL
994 confusion. (#107646, Morten Welinder)
996 2003-03-01 James Henstridge <james@daa.com.au>
998 * autogen.sh: require automake 1.7. Add calls to libtoolize and
999 gtkdocize. Clean up some of the error messages.
1001 * configure.in: move version declaration to the top of the file
1002 (before AC_INIT), using M4 macros.
1003 GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
1004 of M4 macro expansion in help messages instead.
1005 Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
1006 format help strings. Use quadrigraphs to get square brackets to
1008 Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
1009 Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
1010 glibconfig.h, so that "./config.status glibconfig.h" works.
1011 Add an extra AC_CONFIG_FILES call listing other files we want
1012 generated by config.status protected by an "if false" block. This
1013 way automake generates the rules needed to rebuild the files for
1015 Add quotes in various places.
1017 * docs/reference/*/Makefile.am: convert to use the common
1018 gtk-doc.make file. This localises the complexity to a single
1019 makefile fragment maintained with gtk-doc itself.
1021 * */Makefile.am: remove unneeded rules to build win32 files with
1022 config.status. Automake now does this for us.
1023 Replace instances of @FOO@ with $(FOO) where appropriate -- this
1024 allows automake to do a better job checking the makefile.
1025 Add some files to DISTCLEANFILES where appropriate
1027 * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
1028 ensure that --enable-gtk-doc is passed to configure during a
1029 distcheck. Remove the custom distcheck, since the standard one
1032 * gobject/Makefile.am: switch to BUILT_SOURCES, since that now
1035 2003-02-26 Matthias Clasen <maclas@gmx.de>
1037 * glib/gstrfuncs.c (g_strdup_vprintf): Use g_strndup, not
1038 g_strdup, since we know the length in advance.
1040 * glib/gunidecomp.c (g_unicode_canonical_decomposition): Use
1041 g_malloc instead of directly using malloc.
1043 2003-02-25 Tor Lillqvist <tml@iki.fi>
1045 * glib/glib.def: Add a couple of missing entries, thanks to Cedric
1046 Gustin. Thread initialization function changes according to
1047 Sebastian Wilhelmi's changes below (2003-02-14).
1049 2003-02-24 Matthias Clasen <maclas@gmx.de>
1051 * glib/gdir.c (g_dir_read_name): Clarify documentation.
1053 2003-02-18 Sebastian Wilhelmi <seppi@seppi.de>
1055 * configure.in: Make glib_thread_test not unnecessarily convert
1056 between int and void*. (#106278). Let main return int.
1058 * configure.in: Add an argument to specify the default thread
1059 attribute to glib_thread_test. Disappeared somewhere between 2.0
1062 2003-02-14 Sebastian Wilhelmi <seppi@seppi.de>
1064 Fixes for #101264 and #99372:
1066 * glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
1067 glib/grand.c: Include gthreadinit.h and rename the thread
1068 initialization functions a bit and let them start with _, so that
1069 later we can stop exporting them.
1071 * glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
1072 new functions. They have to be called after setting
1073 g_threads_got_initialized to TRUE (see #101264).
1075 * glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
1076 g_thread_init_glib(). Call the thread initialization functions
1077 (which are not allowed to call g_private_new), then set
1078 g_threads_got_initialized to TRUE, then call the other thread
1079 initialization functions (which must not call anything but
1082 * glib/gthreadinit.h: New private header to cleanly declare all
1083 thread initialization functions.
1085 * gthread/gthread-impl.c: Include gthreadinit.h. In
1086 g_thread_init() just call g_thread_init_glib(), which in turn calls the
1087 other functions (see #99372).
1089 * glib/Makefile.am: Added gthreadinit.h.
1091 2003-02-12 Sebastian Wilhelmi <seppi@seppi.de>
1093 * configure.in: Make GLib recognize Tru64Unix thread system. (#103020)
1095 2003-02-11 Tor Lillqvist <tml@iki.fi>
1097 * Makefile.am (EXTRA_DIST): Include ChangeLog.pre-2-2.
1099 * glib-zip.in: Include also the gtk-doc/html documentation in the
1102 * README.win32: Updates.
1104 2003-02-11 Sebastian Wilhelmi <seppi@seppi.de>
1106 * AUTHORS: Changed my e-mail address.
1107 * glib/grand.c: Removed my e-mail address.
1109 2003-02-10 Mohammad DAMT <mdamt@bisnisweb.com>
1111 * po/id.po: Added Indonesian translation
1112 * configure.in: Added "id" to ALL_LINGUAS
1114 2003-02-06 Matthias Clasen <maclas@gmx.de>
1119 * glib/gasyncqueue.h:
1122 * glib/gtypes.h: Fix a bunch of typos in header comments.
1123 (#102422, Morten Welinder)
1125 2003-02-04 Tor Lillqvist <tml@iki.fi>
1127 * glib/giowin32.c (g_io_channel_unix_new): Fix typo: Should be
1128 SOCKET_ERROR, not SO_ERROR. Noticed by Daniel Kaufmann.
1130 Merge from stable branch:
1132 Fix for bug #104014, reported by Alex Shaduri:
1134 * glib/gspawn-win32.c (protect_argv): New function. Add
1135 double-quotes around argv elements that need it, and escape
1136 embedded double-quotes with backslash.
1137 (do_spawn_with_pipes) Call protect_argv().
1139 * glib/gspawn-win32-helper.c (WinMain): Call protect_argv().
1141 * glib/gspawn.c (g_spawn_async_with_pipes): Document argument
1142 vector vs. command line details on Win32.
1143 (g_spawn_command_line_sync): Improve documentation about
1144 backslashes in the command line on Windows.
1146 Thu Jan 30 16:45:13 2003 Owen Taylor <otaylor@redhat.com>
1148 * Makefile.am: Remove references to glib.spec.
1151 * configure.in: Don't generate glib.spec.
1153 Tue Jan 28 16:08:56 2003 Owen Taylor <otaylor@redhat.com>
1155 * m4macros/glib-gettext.m4: If msgfmt isn't found,
1156 unset gt_cv_have_gettext. (#102552, Tim Mooney)
1158 Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com>
1160 * autogen.sh (have_automake): Fix version in complaint
1161 message about automake. (#104366, Rich Burridge)
1163 2003-01-22 Pablo Saratxaga <pablo@mandrakesoft.com>
1165 * configure.in: Added Bengali (bn) to ALL_LINGUAS
1167 2003-01-21 Christian Rose <menthos@menthos.com>
1169 * configure.in: Added "mn" to ALL_LINGUAS.
1171 2003-01-20 Pablo Saratxaga <pablo@mandrakesoft.com>
1173 * configure.in: Added Farsi (fa), Italian (it), Latvian (lv),
1174 Macedonian (mk) to ALL_LINGUAS
1176 2003-01-16 Daniel Yacob <locales@geez.org>
1178 * configure.in: added am to ALL_LINGUAS
1180 2003-01-12 Tor Lillqvist <tml@iki.fi>
1182 * glib/glib.def: Add some missing entries. Thanks to Kenichi SUTO.
1184 2003-01-05 Tor Lillqvist <tml@iki.fi>
1186 * README.win32: Updates.
1188 * configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
1189 libm. (Mingw has a dummy libm.a, but the .pc file should be
1190 useable by MSVC users, too.)
1192 2003-01-25 Ron Steinke <rsteinke@w-link.net>
1194 (Ancient, binary compatible fixes found sitting in my tree)
1196 * Added early checks for count == 0 and buf == NULL in g_io_channel_read()
1198 * Better error message for EFAULT in g_io_channel_error_from_errno()
1200 2003-01-04 Tor Lillqvist <tml@iki.fi>
1202 * Makefile.am (BUILT_EXTRA_DIST): Don't distribute glib-zip.
1204 * {glib,gmodule,gobject,gthread}/Makefile.am:
1205 [Win32] Install also the .def files, to help users generate
1206 import libraries for other compilers. Uninstall, too.
1208 * glib-zip.in: Include .def files from above.
1210 * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Don't claim
1211 broken pipes are unreadable. (Well, they are, but read() handles
1212 it, and treats it like EOF.)
1214 Thu Jan 2 16:19:15 2003 Manish Singh <yosh@gimp.org>
1216 * configure.in: use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE for
1217 tests for inline keywords. Fixes #101976.
1219 2003-01-02 Tor Lillqvist <tml@iki.fi>
1221 * glib/gwin32.h: Correct the comment telling what headers have
1222 the declarations of some POSIXish functions.
1224 * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino:
1225 The checks for readability/writeability were backwards.
1227 2003-01-01 Tor Lillqvist <tml@iki.fi>
1229 * glib/gmessages.c (ensure_stderr_valid): New function, parallel
1230 to ensure_stdout_valid(). #defined as empty on Unix. Move the
1231 alloc_console_called static flag inside these two functions.
1232 (ensure_stdout_valid, ensure_stderr_valid): Check the C stdout and
1233 stderr streams for validity, instead of what GetStdHandle() returns.
1234 (mklevel_prefix): Do use either stderr or stdout on Windows,
1235 too. Otherwise g_warning() messages (that are just warnings, by
1236 definition) will get mixed with proper stdout output. Noticed in
1237 GIMP's gimpconfig-dump.
1238 (strdup_convert, mklevel_prefix, g_printerr): Call
1239 ensure_stderr_valid() before trying to use stderr.
1240 (g_logv): [Win32] Convert message to current codepage before
1241 display with MessageBox().
1243 2002-12-28 Tõivo Leedjärv <toivo@linux.ee>
1245 * configure.in: Added et to ALL_LINGUAS.