2004-03-10 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c
* glib/gspawn-win32-helper.c: Implement
G_SPAWN_FILE_AND_ARGV_ZERO. (#136792, Bruce Hochstetler)
* tests/spawn-test.c
* tests/spawn-test-win32-gui.c: Test it.
2004-03-09 Sebastian Wilhelmi <seppi@seppi.de>
* tests/child-test.c: Do not run the g_child_watch_* test
multi-threaded, as that doesn't work on linux prior 2.6. Fixes
#136539.
2003-03-07 Hans Breuer <hans@breuer.org>
* glib/gspawn-win32.c : (GPid)shortcut_spawn_retval which
doesn't improve the implementation at all, it just make it
compile with msvc ...
* glib/makefile.msc.in : build gatomic.c (now really:)
2004-03-06 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* configure.in
* Makefile.am
* */Makefile.am: Drop the hand-written makefile.mingw(.in)
files. They haven't been maintained in a long time. As several
people have managed to build GLib for Win32 using the
autoconfiscation mechanism, there is no real reason to even try to
maintain the hand-written mingw makefiles.
2004-03-04 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gmain.c: Use the atomic integer operations for GMainContext
and GMainLoop reference counting.
* glib/gmain.c: Hold the main_context_list lock, when iterating
the list. Only call g_main_context_wakeup for positive reference
count.
2004-03-03 Tor Lillqvist <tml@iki.fi>
* glibconfig.h.win32.in: Update to match a configure-generated
glibconfig.h. Specifically: Remove G_{MIN,MAX,MAXU}INT64
definitions (now in gtypes.h). Remove g_once and
g_static_mutex_get_mutex_impl_shortcut definitions (now in
gthread.h).
2004-03-03 Tor Lillqvist <tml@iki.fi>
* tests/child-test.c: Use a macro GPID_FORMAT for the format to
print GPid in (%p on Win32, %d on Unix). Maybe configure.in should
place that in glibconfig.h?
Print verbose error message if CreateProcess() fails.
Don't close the child handle until in the child watch callback.
Don't try to run /bin/true on Win32. Run ipconfig instead (just to
pick a program that should exist on all Window boxes).
Mon Mar 1 16:49:51 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.5 ===
* configure.in: Version 2.3.5, interface ago 0.
* NEWS: Some further updates.
Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (check_for_child_exited): Don't
call waitpid() on a source that has already exited.
* glib/gmain.c (g_child_watch_check): Return TRUE
only if the child actually exited.
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
* configure.in: Use void * not HANDLE for GPid on win32.
* glib/gspawn.[ch] glib/gspawn-win32.[ch] glib/glib.def:
Add g_spawn_close_pid().
* glib/gspawn.[ch]: Make g_spawn functions take
GPid * instead if int * (GPid == int on unix, will
produce compile warnings until fixed on Win32.)
* tests/child-test.c: Make the test a little more
inappropriately verbose.
* glib/gmain.c: Add some documentation warnings about
not closing @pid while the source is active.
Mon Mar 1 20:32:06 2004 Tim Janik <timj@gtk.org>
* autogen.sh:
- exit with $? instead of 1 in case of failure
- exit with $? if ./configure failed
(that's so autogen.sh && make lines work)
- removed --enable-gtk-doc option
- added $AUTOGEN_CONFIGURE_ARGS
2004-03-01 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.c: Define g_atomic_(int|pointer)_get only for
G_ATOMIC_OP_MEMORY_BARRIER_NEEDED. Spotted by Hans Breuer.
2003-02-29 Hans Breuer <hans@breuer.org>
* glib/gatomic.c : added win32 api based implementation
for G_PLATFORM_WIN32, !__GNUC__
* glb/glib.def : change to g_atomi_* no _fallback
2004-02-29 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in, glib/gatomic.c, glib/gatomic.h: Moved the
assembler functions from gatomic.h to gatomic.c, which makes for
better maintainability. Also use gint instead of gint32 to be able
to use reference counting for ABI-fixed structures with
gint/guint.
* glib/gthread.h: Adapted accordingly.
* tests/atomic-test.c: Updated to test for G_MAXINT and G_MININT.
* glib/glib-overrides.txt, glib/glib-sections.txt,
glib/tmpl/atomic_operations.sgml: Updated according to code changes.
2003-02-28 Hans Breuer <hans@breuer.org>
* glib/glib.def : updated externals, including those
from bug #135386
* glib/makefile.msc.in : build gatomic.c
* glibconfig.h.win32.in : removed duplicate definition
of G_MAXSIZE, typedef void* GPid instead of int
* tests/child-test.c glib/gmain.c :
applied patch from J. Ali Harlow <ali@juiblex.co.uk> to fix
g_child_watch implementation on win32, bug #50296
2004-02-27 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gasyncqueue.c, glib/gasyncqueue.h: Use
g_atomic_int_(inc|dec_and_test) for reference
counting. g_async_queue_unref_and_unlock and
g_async_queue_ref_locked is deprecated, but still there to
preserve ABI.
Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
* glib/gdate.c: Translate from locale era to AD in
g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.h: empty G_ATOMIC_MEMORY_BARRIER() definition for
!G_THREADS_ENABLED
* glib/gthread.h: Define g_once and
g_static_mutex_get_mutex_impl_shortcut in terms of
G_MEMORY_BARRIER, if defined and if we can inline.
* configure.in: Remove double checked locking feature check.
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in, config.h.win32.in, glib/gthread.c: Removed the PID
niceness surrogate for thread priorities as requested by Tim. It
does more harm than good.
* glib/tmpl/threads.sgml: Updated to reflect removal of the PID
niceness surrogate for thread priorities.
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.c, glib/gatomic.h: New files to implement atomic
operations for different platforms. Fixes bug #63621.
* glib/glib.h: Include gatomic.h.
* configure.in: Add test for assembler routines for atomic operations.
* glib/Makefile.am: Add gatomic.c, gatomic.h.
* tests/Makefile.am, tests/atomic-test.c: Unit test for atomic
operations.
* glib/glib-overrides.txt, glib/glib-sections.txt,
glib/glib-docs.sgml, glib/tmpl/atomic_operations.sgml: Add docs
for atomic operations.
2003-02-26 Hans Breuer <hans@breuer.org>
* glib/glib.def : added g_hash_table_find and a
bunch of g_queue_*
* glib/gmain.c : make it compile on win32,
child_wake_up_pipe replaced by semaphore like it is done
for the other wake_up_pipe
* config.h.win32.in : added HAVE_INT64_AND_I64
* glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64,
and typedef for GPid
* test/env-test.c : don't let the local log function
collide in namespace with standard C
2004-02-25 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in, glib/gthread.c: For the PID thread priorities
surrogate use gettid instead of getpid. This also works with nptl
(on linux-2.6), as well as with linuxthreads (on linux-2.4).
Sun Feb 22 02:28:43 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Set the gmodule suffix to 'a' for aix and
use the aix gmodule implementation. (#85930, Laurent Vivier)
Bug #85930, Laurent Vivier:
* gmodule-ar.c: Implementation of native module management for AIX.
* gmoduleconf.h.in:
* gmodule.c: Support gmodule-ar.c
Sun Feb 22 00:47:04 2004 Matthias Clasen <maclas@gmx.de>
* glib/gnode.c (g_node_copy_deep): New function to deep-copy a
GNode and its children. (#93464, James M. Cape)
Sat Feb 21 13:45:08 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* glib/gqueue.[ch]: Extend GQueue API to match the GList
API. (#118439).
* tests/queue-test.c: Update test suite to cover the new API.
Fri Feb 20 02:39:03 2004 Tim Janik <timj@gtk.org>
* applied patch from David Schleef <ds@schleef.org> which implements
a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global
symbol registration.
Thu Feb 19 18:40:01 2004 Tim Janik <timj@gtk.org>
* glib/gstring.[hc]: for G_CAN_INLINE environments, inline
g_string_append_c() for efficiency. (vaguely based on #118707).
Sat Feb 14 02:11:08 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Make the check for GNU make work when MAKE is a
full path. (#134102, Julio M. Merino Vidal)
Sat Feb 14 02:08:03 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Suppress xsltproc and xmlcatalog checks
if enable_man=no. (#134091, Julio M. Merino Vidal)
Sat Feb 14 01:21:34 2004 Matthias Clasen <maclas@gmx.de>
* glib/gmain.h:
* glib/gmain.c (g_child_watch_source_new):
* glib/gmain.c (g_child_watch_add):
* glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a
GSource. This is a partial implementation of the "Unix signal
source". (#50296, Jonathan R. Blandford)
* configure.in: Add the necessary configury to typedef GPid
appropriately.
* tests/Makefile.am:
* tests/child-test.c: Test child_watch sources.
Thu Feb 5 01:19:12 2004 Matthias Clasen <maclas@gmx.de>
* tests/file-test.c (test_mkstemp): Weaken an g_assert() to a
g_warning(), since apparently nothing in Posix forces mkstemp()
to reject templates without any X's. (#133397)
Thu Feb 5 00:56:28 2004 Matthias Clasen <maclas@gmx.de>
* glib/gcompletion.c (g_completion_complete_utf8): New function which
works like g_completion_complete(), but strips a trailing incomplete
UTF-8 character from the prefix. (#133313, Theppitak Karoonboonyanan)
* tests/completion-test.c (main): Some GCompletion tests.
* tests/Makefile.am: Add completion-test.
2004-01-30 Noah Levitt <nlevitt@columbia.edu>
* glib/gunicomp.h:
* glib/gunidecomp.c:
* glib/gen-unicode-tables.pl: Size compose_table correctly. (#123421,
Simon Josefsson)
* glib/gen-unicode-tables.pl: Get rid of some new warnings from perl
5.8.1.
2004-01-23 Tor Lillqvist <tml@iki.fi>
* glib/grand.c: Don't include <unistd.h> unless
HAVE_UNISTD_H. Include <process.h> on G_OS_WIN32.
(g_rand_new): Use getppid() only on G_OS_UNIX.
Thu Jan 22 00:41:34 2004 Matthias Clasen <maclas@gmx.de>
* glib/gutils.c (g_get_any_init): Don't treat the Win32
user name like a gecos field, and when extracting a real
name from a gecos field, replace '&' by the capitalized
user name (a traditional passwd feature).
(#118973, reported by Soeren Boll Overgaard)
Sun Jan 11 16:13:20 2004 Manish Singh <yosh@gimp.org>
* configure.in: Add G_MAXSIZE, define in terms of G_MAXUfoo.
* tests/type-test.c: Add test for G_MAXSIZE.
* glibconfig.h.win32.in: Cleanup, add some missing bits.
Sat Jan 10 00:11:12 2004 Manish Singh <yosh@gimp.org>
* glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness
fixes.
* docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the
above take gulongs now. My docs suck, someone should revisit it.
Fri Dec 19 11:49:21 2003 George Lebl <jirka@5z.com>
* glib/grand.c
glib/grand.h (g_rand_new) (g_rand_new_with_seed)
(g_rand_new_with_seed_array) (g_rand_set_seed_array): Add
the init_by_array functionality from the reference implementation
of the mersenne twister (mt19937ar.c) and change the naming
to fit with the rest of the grand API. New functions are
g_rand_new_with_seed_array, g_rand_set_seed_array. This is only
reliable/tested for the 2.2 version of the seeding as that's what
the reference implementation uses. Also modify g_rand_new to
get 4 longs from /dev/urandom since that will always be available
anyway and we get more entropy and if /dev/urandom is unavailable
use also 4 longs for seeding using secs, usecs, getpid and getppid.
For version 2.0 use only a simple seed again but be more careful
about seeding with secs/usecs in this case.
* glib/grand.c
glib/grand.h (g_rand_copy): Add g_rand_copy function to copy the
current state of the random number generator.
* glib/grand.c (g_rand_new): Add testing for EINTR when reading
from /dev/urandom
* tests/rand-test.c: add testing of the array seeding stuff against
the reference implementation, plus add statistical sanity check
to see that the values outputted are truly kind of random. And
check that g_rand_copy truly copies the state by checking a few
terms.
2003-12-30 Murray Cumming <murrayc@usa.net>
* gobject/glib-mkenums.in: Added a lowercase_name option, to be used
next to the enum declaration, where the flag option is already used,
when it is not possible to guess where to put the underscores in the
_get_type() function name, for instance for GNOMEVFSURIHide.
Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
* glib/garray.[hc] (g_ptr_array_foreach): New function to
call a function for each element of a GPtrArray. (#114790)
* tests/array-test.c (main): Add a test for g_ptr_array_foreach().
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
reading the file multiple times. (#125537)
Sun Dec 21 22:42:42 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the
mem_chunks list. (#127096, Balazs Scheidler)
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
return false for filenames not encoded in utf-8,
which is always true on win32
* glibconfig.h.win32.in : (u)int64 modifier isn't the
gcc 'll' but always the msvcrt one 'I64'
* glib/glib.def : updated
Thu Dec 11 10:31:21 2003 Manish Singh <yosh@gimp.org>
* glib/gmacros.h: change #elif with no expression to #else in
G_STRFUNC definition. Thanks to Damien Carbery, fixes#129101.
Tue Dec 2 02:29:41 2003 Matthias Clasen <maclas@gmx.de>
Fix for #103710, Mark Jones:
* glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}.
* configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h.
Thu Nov 27 17:04:08 2003 Tim Janik <timj@gtk.org>
* glib/gstrfuncs.c (g_strconcat): handle NULL arguments
gracefully.
* glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
current function (since G_STRLOC and G_GNUC_*FUNCTION became
unusable with gcc-3.0).
Wed Nov 26 16:45:16 2003 Roozbeh Pournader <roozbeh@sharif.edu>
* glib/gstrfuncs.c: Fixed a bad pointer comparison in
g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
Esfahbod).
* tests/strtod-test.c: Fixed the tests to catch the above.
Sat Nov 22 14:16:51.15 2003 Andrew Lanoix <alanoix@umich.edu>
* glib/giowin32.c: Bind inter-thread comminication
sockets to INADDR_LOOPBACK instead of INADDR_ANY.
Sat Nov 15 23:00:57 2003 Matthias Clasen <maclas@gmx.de>
* glib/guniprop.c (g_utf8_casefold): Add a NULL check
to be consistent with the other g_utf8_ functions. (#121618,
Tim-Philipp Müller)
2003-11-15 Tor Lillqvist <tml@iki.fi>
* tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use
correct glib libraries, with 2.0 in the names. (#126906, John
Ehresman)
Sat Nov 15 00:46:14 2003 Matthias Clasen <maclas@gmx.de>
* configure.in: Don't blindly set glib_cv_long_long_format to
"ll" when using the included printf. As long as the native
printf supports 64bit printing, use the native format.
(#119525, Tor Lillquist)
2003-11-07 Mark McLoughlin <mark@skynet.ie>
* glib/gconvert.c: (get_filename_charset): re-work to
retain a copy of the cached charset rather than the
actual return value from g_get_charset (which may
change). Also, re-initialize the cache if it does
change. See bug #126454.
Thu Nov 6 00:04:46 2003 Matthias Clasen <maclas@gmx.de>
* glib/gconvert.c (get_filename_charset): Replacement for
have_broken_filenames() which consults the environment variable
G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
* glib/gconvert.c (g_filename_from_utf8):
* glib/gconvert.c (g_filename_to_utf8):
* glib/gconvert.c (_g_convert_thread_init): Use
get_filename_charset() instead of have_broken_filenames().
Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
* glib/gi18n-lib.h:
* glib/gi18n.h: New headers defining common gettext-support
macros.
* glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
and gi18n-lib.h.
* glib/gstrfuncs.h:
* glib/gstrfuncs.c (g_strip_context): Auxiliary function for
the implementation of Q_().
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/gstring.c (g_string_insert_len): Handle the case where the
to-be-inserted string is a substring of the target string.
(g_string_assign): Handle "s = s;".
(#114260, self.)
Sun Nov 2 01:47:31 2003 Matthias Clasen <maclas@gmx.de>
Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
* configure.in (HAVE_INT64_AND_I64): Define for MSVC to
include support for printing __int64 with format %I64 in
the gnulib printf wrappers.
* glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64
and TYPE_UINT64.
* glib/gnulib/printf-args.h (struct argument): Add a_int64 and
a_uint64 members.
* glib/gnulib/printf-args.c (printf_fetchargs): Support
TYPE_INT64 and TYPE_UINT64.
* glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
modifier and map formats to TYPE_INT64.
* glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
format modifier I64.
* glib/gnulib/README: Document the __int64 support.
Sat Nov 1 08:45:38 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_iterate): Set the
return value from the result of g_main_context_check()
(after we poll) rather than g_main_context_prepare.
(#121675, Padraig O'Briain)
Fri Oct 31 00:13:53 2003 Matthias Clasen <maclas@gmx.de>
* configure.in: Remove the semicolon from the definition of
g_once(), so that GPOINTER_TO_INT (g_once (...)) works.
Tue Oct 28 23:38:30 2003 Matthias Clasen <maclas@gmx.de>
* tests/printf-test.c: Change the %e tests to not check for
actual string equality, but rather equality under g_ascii_strtod(),
since the number of leading digits in the exponent seems to
be not exactly prescribed by SUS.
2003-10-24 Tor Lillqvist <tml@iki.fi>
* configure.in: Force shared library (DLL) only on Windows.
(I don't think that is controversial?) Remove unnecessary
AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
Win32, it is not used by mingw or MSVC headers.
* config.h.win32.in
* glibconfig.h.win32.in: Match what configure produces.
* glib/gconvert.c
* glib/gutils.c: Mark a couple of functions and variables that
aren't public as static.
* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
it potentially differently, to silence compiler.
* glib/glib.def: Add some missing entries.
* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
libtestgobject.
* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
to g_object_set() and _get().
Thu Oct 23 12:38:24 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.0 ===
* tests/gobject/Makefile.am (dist-hook): Remove
and extra backslash.
* tests/gobject/Makefile.am (EXTRA_DIST): Add
testmarshal.list.
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add
missing gunicode-private.h.
* tests/testglib.c (main): Fix a warning.
* tests/gobject/ifaceinherit.c: Remove check that
wasn't supposed to work (adding an interface already
added to the derived class to the base class),
fix a bug.
Wed Oct 8 23:40:26 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmarkup.c (g_markup_printf_escaped):
(g_markup_vprintf_escaped): Document as 2.4 additions.
(unescape_text): Implement newline and whitespace normalization
according to the XML specification. (#123919)
(g_markup_escape_text): Document whitespace (non)handling.
2003-10-05 Matthias Clasen <maclas@gmx.de>
* configure.in: Make the various printf feature test macros
reflect the system printf, even when using the included printf.
In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h
needs that test result. (#122973)
* glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
directly check for _g_vasprintf.
* glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
if vasprintf() is available.
* glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
trailing nul to the file. (#122973)
* acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test
detect non-C99-compliance of AIX 5.1 and Solaris
vsnprintf(). (#122496)
Thu Oct 2 01:15:46 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/ifacecheck.c: Test case for
g_type_add_interface_check().
* tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
Thu Oct 2 01:11:39 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/ifaceinherit.c: Remove some tests that
were testing things that weren't supposed to work; add
a test for adding an interface first to the child class,
then to the parent class.
Thu Oct 2 00:02:55 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
Tests of interface inheritance and overriding.
2003-09-30 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c (do_spawn): Call protect_argv() in
do_spawn() instead of in do_spawn_with_pipes() so that we can use
the original argv[0] as the program file name parameter to
spawnv() in the shortcut (doing without helper process)
code. Fixes problem if GIMP 1.3 was installed in a path with
spaces in the name.
Tue Sep 30 15:31:16 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* glib/guniprop.c (has_more_above): make the argument const to
get rid of warning
* glib/garray.c (g_byte_array_remove_range): insert cast to get
rid of warning
2003-09-29 Tor Lillqvist <tml@iki.fi>
* tests/testglib.c (main): Use hardcoded name for DLL, as there is
no reliable way to determine it at compile or run time anyway.
Thu Sep 25 15:43:08 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
Dummy dynamic type module for testing type plugin code
and dynamic types.
* test/gobject/defaultiface.c: Test of g_default_interface_ref,
etc.
2003-09-12 Noah Levitt <nlevitt@columbia.edu>
* glib/gen-unicode-tables.pl: Take a directory where to look for the
unicode files on the command line instead of 7 individual files.
2003-08-25 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
section twice, which might cause a hang. (#120653)
* glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
valid file descriptor and socket.
Mon Aug 25 12:17:20 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_unref_and_unlock):
When DISABLE_MEM_POOLS is set, loop through and free
the poll records explicitely, since g_mem_chunk_destroy()
won't do it. (#118121, Morten Welinder)
2003-08-19 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c (g_logv): [Win32] Make the fatal error message
box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
to get a nice stop-sign icon.
Tue Aug 19 09:42:06 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS
temporarily, not -lintl. (Problem with fix for
#119171, pointed out by James Henstridge)
Tue Aug 19 03:55:29 2003 Tim Janik <timj@gtk.org>
* glib/gbsearcharray.h: license change, no restrictions are made
in the new license at all, the implmentation is simply provided
"as is" to allow copy-pasting the code into any third-party app.
naturally, the implementation is self-contained within the header
file to allow this.
default to non-shrinking behaviour, allow users to request shrinking
via G_BSEARCH_ARRAY_AUTO_SHRINK.
creation, deletion functions are now named g_bsearch_array_create()
and g_bsearch_array_free().
fixed const in prototypes, removed cruft.
(g_bsearch_array_insert): take only three arguments, do nothing if the
node to insert is already there.
(g_bsearch_array_replace): insert or replace if the node is already
there.
(g_bsearch_array_remove): remove nodes by index, the index of a node
can be found via g_bsearch_array_get_index().
removed other g_bsearch_array_remove*() variants.
(g_bsearch_array_lookup): minor optimizations.
(g_bsearch_array_lookup_sibling): return nodes on mismatches.
* glib/gbsearcharray.c: removed.
2003-08-16 Tor Lillqvist <tml@iki.fi>
Fix#117925 (Dov Grobgeld):
* glib/gutils.c (g_find_program_in_path, g_basename,
g_path_get_basename, g_path_is_absolute, g_path_skip_root,
g_path_get_dirname, g_get_any_init): On Win32, look also for
slashes ('/') as pathname separators.
* glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
contains a pathname separator, include the actual one in the error
message, instead of always the canonical one.
(g_build_filename): Separate implementation on Win32 that looks
for either slash or backslash. Document Unix/Windows differences.
* tests/testglib.c
* tests/strfunc-test.c: Test above functionality on Win32.
2003-08-15 Tor Lillqvist <tml@iki.fi>
* glib/gmain.c (g_poll): [Win32] Don't exceed handle array
bounds. Warn if there would be too many handles to wait
for. (WaitForMultipleObjects() has a relatively low limit of 64
handles. The Win32 IO channel code should be fixed not to need to
wait for one handle per file or socket being watched. Later.)
2003-08-13 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am
* gthread/Makefile.am: Use srcdir also in references to the .def
files. (#118885, Jeff Bonggren)
2003-08-12 Tor Lillqvist <tml@iki.fi>
* glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
implementation. It used WideCharToMultiByte(), which is broken as
it stores unconvertable characters as fallback characters
(question marks) in the destination string without being able to
tell how much of the conversion succeeded. Using g_convert() like
on Unix is better and simpler. (#117872)
(g_locale_to_utf8): No need for the Win32-specific implementation
here, either.
(have_broken_filenames): Define as TRUE on Win32.
(g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
have_broken_filenames() now is defined TRUE on Win32, works as
before.
* acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from
gtk-doc to enable configuring without xmlcatalog in PATH. (#119115)
2003-08-10 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_getenv): Don't use a cache of variable name to
value mappings on Win32, as that breaks g_setenv() and
g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
and in that case return a quarkified string. It is still
questionable how necessary expanding embedded environment variable
references is. Possibly the whole Win32-specific g_getenv()
implementation could be removed. (#119520)
2003-08-08 Matthias Clasen <maclas@gmx.de>
* tests/env-test.c (main): Remove a test for getenv() behaviour which isn't specified by SUS
and doesn't work on Solaris.
2003-08-07 Matthias Clasen <maclas@gmx.de>
* tests/env-test.c: Add tests for '=' in names and values.
* glib/gutils.c (g_setenv, g_unsetenv): Check that the variable name doesn't contain '='. Add a
declaration for environ. (#119338)
2003-08-07 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Specify test strings in UTF-8, remove all charset conversion.
Replace the NOISY define by a cmdline arg --noisy. (#115757)
Thu Aug 7 15:01:09 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: Set $LIBS to include
-lintl when checking for dcgettext and
_nl_msg_cat_cntr. (Tim Mooney, #119171)
Thu Aug 7 14:15:44 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_idle_source_new): Make the default priority
for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
expect and document that. (#114461, reported by Andy Wingo)
2003-08-06 Noah Levitt <nlevitt@columbia.edu>
* tests/casemap.txt:
* tests/gen-casemap-txt.pl: Add test for special case not at inital
position in the string, the bug just fixed. (#118957)
2003-08-05 Noah Levitt <nlevitt@columbia.edu>
* glib/guniprop.c: Get rid of "len" parameter to output_special_case
and output_marks, and make them work more like g_unichar_to_utf8,
fixing a bug in the process. (#118957)
2003-07-31 Noah Levitt <nlevitt@columbia.edu>
* tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
is the last valid unicode character. Add check that U+10ffff is
NOTUNICODE. (#118730)
2003-07-31 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c: When possible, manage without the helper
process. (Part of the enhancements outlined in #98737.) Speeds up
GIMP 1.3's first-time-run plug-in query phase a lot.
Plug a file descriptor (and thus Win32 handle) leak: close the
read end of the child error report pipe after use.
* glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link() to better match the remaining file
utilities in the g_file_ namespace and to better separate it from readlink(). This is hopefully no problem
as the function is just 2 days old.
2003-07-26 Matthias Clasen <maclas@gmx.de>
* glib/garray.h:
* glib/garray.c (g_{,byte,pointer}_remove_range): New functions to remove a range of elements
from an array. (#94879, Nalin Dahyabhai)
2003-07-20 Hans Breuer <hans@breuer.org>
* glib/trio/makefile.msc : (new file) for msvc build
* glib/glib.def : removed some duplicated entries
* glib/gscanner.c : add same workaround for MSVC(5.0)
which does not allow to cast an uint64 to float.
Same as in gvaluetransform.c
Also move #include <io.h> behind inclusion of "glib.h"
which defines the needed G_OS_WIN32
* glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
as well as shell32.lib
* tests/spawn-test.c : include <io.h> on win32
2003-07-12 Matthias Clasen <maclas@gmx.de>
* glib/gprintf.c: Doc additions.
2003-07-12 Matthias Clasen <maclas@gmx.de>
* glib/tmpl/string_utils.sgml: Add a paragraph about string precision, add links to it.
Remove markup which is now handled better by gtk-doc.
2003-07-10 Joel Brich <joel.brich@laposte.net>
* configure.in: Added "eo" to ALL_LINGUAS.
* po/eo.po: Added Esperanto translation
from Charles Voegler <cvoegler@dweasel.com>
Wed Jul 9 16:27:26 2003 Manish Singh <yosh@gimp.org>
* glib/gmain.c (g_main_context_unref_and_unlock): check if
context->poll_chunk is set before trying to destroy it. For example,
This can happen if no sources are added to a context before it is
freed.
2003-07-09 Matthias Clasen <maclas@gmx.de>
Support for one-time initialization functions. (#69668, Sebastian Wilhelmi)
* configure.in: Check whether double checked locking is safe, define g_once() in
glibconfig.h accordingly.
* glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
* glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked
locking is unsafe.
* tests/thread-test.c: Add tests for g_once().
2003-06-25 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
&optlen to getsockopt() instead of NULL. Don't remember why I
thought that NULL could be used (as we don't actually use the
returned value for anything), the Platform SDK documentation
doesn't imply so.
2003-06-17 Matthias Clasen <maclas@gmx.de>
* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
macros to check for XML catalog contents and path, borrowed from
gtk-doc.
* configure.in: New option --enable-man to enable regeneration of
man pages from Docbook, if the necessary tools are found.
* gobject/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
(content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
gobject-query.xml.
* gobject/glib-mkenums.xml:
* gobject/glib-genmarshal.xml:
* gobject/gobject-query.xml: New refentries.
* gobject/glib-mkenums.1:
* gobject/glib-genmarshal.1:
* gobject/gobject-query.1: Man pages generated from the .xml
sources.
* gobject/gobject-docs.sgml: Include glib-mkenums.xml,
glib-genmarshal.xml and gobject-query.xml.
* glib/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-gettextize.1.
(content_files): Add glib-gettextize.xml.
* glib/glib-gettextize.xml: New refentry.
* glib/glib-gettextize.1: Man page generated from the .xml source.
* glib/glib-docs.sgml: Include glib-gettextize.xml.
2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are.
* README.win32: Point to FSF's binary Win32 distributions of
libiconv and gettext-runtime.
2003-06-11 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
subdirectory, so get them from there.
* glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
same way as the po files for Serbian in Latin and Cyrillic script.
2003-06-08 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c: Fix indentation and spacing. Use
INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
gethostbyaddr().
* glib/giowin32.c: Resolved thread deadlocks in socket
ichannel code to support Add-Cancel-Add watch functionality
on windows. Also cleaned up socket error handling to not
segfault and do the right thing.
Fri Jun 6 10:24:23 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* m4macros/glib-gettext.m4: Test for Solaris native gettext
in libc, seeing if it supports GNU catalog format (#85217).
Thu Jun 5 23:40:31 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: When dispatching a source that is
!CAN_RECURSE, temporarily remove any file descriptors
that that source has registered from the main loop, to keep
recursive main loops from busy-waiting if input
becomes available on one of those file descriptors.
(#112222, Christian Krause)
* glib/gmain.c (g_source_set_priority): Properly
remove the source from the context's source list
and reinsert it sorted, rather than simply setting
source->next/prev to NULL! (#114274)
2003-06-06 Matthias Clasen <maclas@gmx.de>
* glib/gstring.c (g_string_append_printf_internal): Use
g_vasprintf() and g_string_append_len(), thus enabling embedded
nuls in the result of g_string_printf(). (#92492, Owen Taylor)
* tests/string-test.c: Add a test for embedded nuls in the
result of g_string_printf().
2003-06-06 Matthias Clasen <maclas@gmx.de>
* glib/gprintf.[ch]: Synchronize argument names with headers and docs.
(g_vasprintf): An implementation of vasprintf(), code was lifted
from g_strdup_vprintf(). (#112365)
* glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
2003-06-05 Tor Lillqvist <tml@iki.fi>
* glib/giochannel.h
* glib/gmain.h: Remove bogus (Win32-only) declaration of
g_main_poll_win32_msg_add(). No such function exists.
* glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
better warning messages.
Mon Jun 2 14:18:21 2003 Owen Taylor <otaylor@redhat.com>
Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
* glib/gspawn.c (read_data): Don't read() into '&buf', while this
is technically okay - it is clearer as just 'buf'.
(write_all): New helper function that handles write() interrupts.
(write_err_and_exit): Use write_all() instead of write().
(fork_exec_with_pipes): Same here.
Sun Jun 1 09:42:36 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_error_get_from_g_error): Put
the g_return_val_if_fail() in the right place.
Fri May 31 1:17:45 2003 Ray Strode <halfline@hawaii.rr.com>
* glib/giochannel.c (g_io_channel_error_from_errno):
Fix typo: should be G_IO_ERROR_UNKNOWN not
G_ERROR_ERROR_UNKNOWN
Fri May 30 19:09:25 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: Backport better handling
of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon)
Fri May 30 18:46:05 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: expand $exec_prefix as
well as $prefix. (#107290, reported by Morten Welinder,
patch from Raja Harinath)
Fri May 30 16:48:26 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_error_from_errno):
Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR,
since close() can return EINTR. (#11842, Balazs Scheidler)
Fri May 30 15:51:43 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_error_get_from_g_error):
Do a g_return_val_if_fail() on err == NULL to be a
bit more robuts on buggy IO channel implementations.
(#113396, Dan Winship)
Tue May 27 19:56:35 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token
before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar,
#113797)
2003-05-19 Noah Levitt <nlevitt@columbia.edu>
* glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should
return G_UNICODE_BREAK_UNKNOWN if the character is greater than
G_UNICODE_LAST_CHAR.
2003-05-05 Christian Rose <menthos@menthos.com>
* configure.in: Added sr and sr@Latn to ALL_LINGUAS.
* po/sr.po, po/sr@Latn.po: Added Serbian translation by
Danilo Šegan <dsegan@gmx.net>.
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-01 Matthias Clasen <maclas@gmx.de>
* glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
insert possible non-nul-terminated byte sequences into a string
chunk. (#96279)
(g_string_chunk_insert): Implement in terms of
g_string_chunk_insert_len() now.
2003-03-30 Matthias Clasen <maclas@gmx.de>
* glib/gconvert.c (UnsafeCharacterSet): Get rid of
UNSAFE_DOS_PATH.
(acceptable): Align with RFC2396. (#59653)
* tests/uri-test.c: Adjust to the changes above.
2003-03-26 Christian Rose <menthos@menthos.com>
* configure.in: Added "yi" to ALL_LINGUAS.
* po/yi.po: Added Yiddish translation by
Raphael Finkel <raphael@cs.uky.edu>.
2003-03-14 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gthread.c: Do not define function g_thread_init_glib, if
not G_THREADS_ENABLED. It's not called bu g_thread_init() then,
but calls other, in that case undefined functions.
2003-03-01 James Henstridge <james@daa.com.au>
* autogen.sh: require automake 1.7. Add calls to libtoolize and
gtkdocize. Clean up some of the error messages.
* configure.in: move version declaration to the top of the file
(before AC_INIT), using M4 macros.
GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
of M4 macro expansion in help messages instead.
Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
format help strings. Use quadrigraphs to get square brackets to
show correctly.
Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
glibconfig.h, so that "./config.status glibconfig.h" works.
Add an extra AC_CONFIG_FILES call listing other files we want
generated by config.status protected by an "if false" block. This
way automake generates the rules needed to rebuild the files for
us.
Add quotes in various places.
* docs/reference/*/Makefile.am: convert to use the common
gtk-doc.make file. This localises the complexity to a single
makefile fragment maintained with gtk-doc itself.
* */Makefile.am: remove unneeded rules to build win32 files with
config.status. Automake now does this for us.
Replace instances of @FOO@ with $(FOO) where appropriate -- this
allows automake to do a better job checking the makefile.
Add some files to DISTCLEANFILES where appropriate
* Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
ensure that --enable-gtk-doc is passed to configure during a
distcheck. Remove the custom distcheck, since the standard one
will now do.
* gobject/Makefile.am: switch to BUILT_SOURCES, since that now
works.