2001-06-07 Havoc Pennington <hp@redhat.com>
* m4macros/glib-2.0.m4: subst GLIB_GENMARSHAL, GOBJECT_QUERY,
GLIB_MKENUMS variables
* gmodule-2.0.pc.in: add gmodule_supported variable
* glib-2.0.pc.in: add glib_genmarshal, gobject_query,
glib_mkenums variables
* configure.in: put G_MODULE_SUPPORTED value into
.pc files
* autogen.sh: support AUTOGEN_SUBDIR_MODE
* Makefile.am: add -uninstalled.pc.in to EXTRA_DIST
2001-06-07 Havoc Pennington <hp@redhat.com>
* pango/Makefile.am: add libpango.la to _DEPENDENCIES for the
other libs
* configure.in: use AM_PATH_GLIB_2_0
* autogen.sh: support AUTOGEN_SUBDIR_MODE
* Makefile.am: dist the .pc.in files
2001-06-07 Havoc Pennington <hp@redhat.com>
* atk/Makefile.am: use @GLIB_GENMARSHAL@ so we can use uninstalled
glib-genmarshal
* configure.in: rearrange the library checks to support
uninstalled linking
* autogen.sh: add support for AUTOGEN_SUBDIR_MODE
* atk-uninstalled.pc.in: new file, allows linking to uninstalled
ATK in giant GTK tarball
2001-06-07 Havoc Pennington <hp@redhat.com>
* tests/Makefile.am: add missing -I flag
* gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
* configure.in: use pkg-config to see if GModule is
supported; fix to properly turn on included loaders
when GModule isn't supported; don't use AC_CHECK_LIB
when libs are not installed yet
* autogen.sh: add support for AUTOGEN_SUBDIR_MODE
* Makefile.am (SUBDIRS): add m4macros subdir
* gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
dependencies also.
2001-06-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Look for nanosleep function.
* gtimer.c: Use nanosleep for g_usleep, when found.
* gtimer.c, gtimer.h: Add g_time_val_add function. Closes#54271.
* gasyncqueue.c: Documentation updates.
* gthreadpool.c: Use g_time_val_add now that we have it.
* glib/glib-sections.txt, glib/tmpl/date.sgml: Add g_time_val_add.
* glib/tmpl/threads.sgml: Updated.
2001-06-01 Jon Trowbridge <trow@gnu.org>
* gdate.c (g_date_update_julian): Changed to take a const
argument, and then to cast out const.
(g_date_update_dmy): Changed to take a const argument, and then
cast out const.
(g_date_get_weekday): Changed argument to be const.
(g_date_get_month): Changed argument to be const.
(g_date_get_year): Changed argument to be const.
(g_date_get_day): Changed argument to be const.
(g_date_get_julian): Changed argument to be const.
(g_date_get_day_of_year): Changed argument to be const.
(g_date_get_monday_week_of_year): Changed argument to be const.
(g_date_get_sunday_week_of_year): Changed argument to be const.
(g_date_compare): Changed arguments to be const.
(g_date_to_struct_tm): Changed GDate argument to be const.
(g_date_strftime): Changed GDate argument to be const.
(g_date_clamp): Added. The equivalent of the CLAMP macro for
GDates.
(g_date_order): Added. Ensure that the first GDate argument
preceeds the second, swapping them if necessary.
(g_date_days_between): Added. Computes the (signed) number of days
between two dates.
Mon Jun 4 16:02:57 2001 Owen Taylor <otaylor@redhat.com>
* gstrfuncs.c (g_strup/strdown): to match g_strcasecmp,
check if it is lower/upper before converting to upper/lower
[ not required by ISO... ] (#55682, Jon Trowbridge)
Mon Jun 4 15:59:15 2001 Owen Taylor <otaylor@redhat.com>
* gunicode.h: Make a bit more standalone by adding include
of gerror.h. #54543.
* gunicode.h: Change size_t to g_size. (Ugh)
2001-05-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in
g_random_boolean, also both functions now return 1 or 0 instead of
1<<15 or 0.
2001-05-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Remove G_HAVE_ISO_CXX_VARARGS and
G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly
guarded by #if(n)def __cplusplus.
2001-05-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* tests/Makefile.am, tests/qsort-test.c: Add test case for the
g_qsort_with_data func. It works. This fixes bug #52605.
2001-05-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* tests/Makefile.am, tests/cxx-test.C: Now that we check for a C++
compiler in configure.in anyway, I added a test, that the GLib
headers can be inclued into a C++ program. This fixes bug #52605.
2001-05-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Don't bail out, if no C++ compiler is
found. Define G_HAVE_ISO_VARARGS only if appropriate.
* gmessages.h: Thus we can revert the previous patch.
2001-05-29 James Henstridge <james@daa.com.au>
* gmessages.h: "#ifdef G_HAVE_ISO_VARARGS" will always succeed
even when we don't have ISO vararg support. Changed to
"#if G_HAVE_ISO_VARARGS".
2001-05-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Fix typo.
* gobject/Makefile.am (EXTRA_DIST): Really distribute
glib-mkenums, now that bin_SCRIPTS doesn't seem to care about
doing so anymore.
Sun May 27 05:09:18 2001 Tim Janik <timj@gtk.org>
* gmain.c (g_main_context_prepare): unlock context when bailing
out with a warning.
(g_main_context_check): same here.
* gmain.c (g_main_context_check): before returning due to
changed pollfds, unlock context.
Sun May 27 04:52:28 2001 Tim Janik <timj@gtk.org>
* gsignal.[hc] (g_signal_stop_emission_by_name): added variant
to stop signal emissions through a detailed_signal string.
* gsignal.c (signal_emit_R) (g_signal_emit_valist): account for
the fact that g_value_* functions may cause signal emissons by
unlocking the global signal system lock around g_value_* functions.
(signal_emit_unlocked_R): renamed this from signal_emit_R() to reflect
that this functions acquires the lock on its own now.
Thu May 24 21:24:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
* gmarkup.c: back out change by mitch@convergence.de and apply patch in
bug id #52067 that fixes the same problem in a more complete manner.
This fixes also a segfault for a malformed XML file and adds a new
test case.
2001-05-24 Hans Breuer <hans@breuer.org>
* grel.c : reflect renaming of g_string_sprintfa to g_string_printfa
* makefile.msc.in : create an additional static lib to be used from
(at least) glib-genmarshal
2001-05-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c (g_array_remove_index_fast): Tiny speed improvement
suggested by noon@users.sourceforge.net.
* glib/tmpl/arrays.sgml, glib/tmpl/arrays_pointers.sgml,
glib/tmpl/arrays_byte.sgml: Corrected documentation for the
..._sized_new functions. Discovered by noon@users.sourceforge.net.
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
"gthread-win32.c".
* glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
know about MSC. Define G_THREADS_IMPL_WIN32 instead of
G_THREADS_IMPL_POSIX and define the right static mutex macros and
types.
* build/win32/make.mingw (CXX): Removed PTHREAD defs. Added
-O2 -Wall to compile flags.
* gthread/gthread-impl.c (g_thread_init): Move the thread
implementation initialization to before assigning
GThreadFuncs, which now is just struct assigned and not
memcpy'ed. Completed check for zero members of GThreadFuncs.
* gthread/makefile.mingw: Don't link to pthread anymore.
* gthread/gthread-win32.c: New file for native thread support for
win32. Thanks to Hans Breuer <hans@breuer.org> to got me
kickstarted.
* gthread/Makefile.am: Also distribute gthread-win32.c.
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib.def: g_thread_create renamed to g_thread_create_full.
* gthread.c: memcpy is not necessary here. We can simply use
struct assignment.
* gmessages.c: Fix compilation error on win32. Added
GFileDescriptor, wich is gint on Unix and FILE* on win32.
Fri May 18 10:52:23 2001 Owen Taylor <otaylor@redhat.com>
* configure.in gmessages.h: Use compile checks for ISO C99 and GNU
extension varargs macros syntax and store result in glibconfig.h
(G_HAVE_ISO_VARARGS, G_HAVE_GNUC_VARARGS) rather than relying
on checking predefined macros.
2001-05-18 Michael Natterer <mitch@convergence.de>
* gmarkup.c: don't g_strdup()/g_free() all parsed attributes and
their values twice but simply copy the string pointers from the
GMarkupAttribute struct to the string arrays before passing them
to start_element().
2001-05-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Renamed g_thread_create to
g_thread_create_full and added macro g_thread_create, which omits
'stack_size', 'bound' and 'priority' parameters. Also removed
'bound' from GThread struct.
* gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above
changes. GThreadPool lost the 'priority' and 'bound'
members. g_thread_pool_new the 'stack_size', 'bound' and
'priority' parameters.
* tests/mainloop-test.c, tests/thread-test.c,
tests/threadpool-test.c: Adapted to the above changes.
2001-05-15 Havoc Pennington <hp@redhat.com>
* configure.in (AC_OUTPUT): m4macros/Makefile
* m4macros/Makefile.am, m4macros/glib-2.0.m4,
m4macros/glib-gettext.m4:
m4 files moved here on server, Makefile.am added
This is so you can aclocal -I m4macros while avoiding acinclude.m4
* Makefile.am: add m4macros subdir, remove references to glib-2.0.m4
2001-05-14 Havoc Pennington <hp@redhat.com>
* gutf8.c (g_utf8_get_char): fix docs; they said we validated
the UTF-8, but we can't possibly detect partial chars since
there's no length arg here, so trying to use this function
on invalid UTF-8 is a bad idea.
Thu May 10 23:21:30 2001 Owen Taylor <otaylor@redhat.com>
* gmessages.c (g_log_write_prefix): Avoid using stderr
to be as robust as possible in out-of-memory.
* gmessages.c (g_log_default_handler): Remove some dead
code.
* gutils.c (g_parse_debug_string): Fix to avoid mallocs.
Fri May 11 18:25:23 2001 Tim Janik <timj@gtk.org>
* gdataset.c:
(g_dataset_foreach):
(g_datalist_foreach): make these safe against removal of the
current element.
Thu May 10 15:19:01 2001 Tim Janik <timj@gtk.org>
* gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm
to generate hashes.
* gmem.c (standard_calloc): free() doesn't return a value
(Mark Murnane).
Thu May 10 14:00:48 2001 Tim Janik <timj@gtk.org>
* gparamspecs.[hc]: removed g_param_spec_stringc() in lack of
evidence of public need.
* gsignal.h: added g_signal_disconnect_by_func(),
g_signal_block_by_func() and g_signal_unblock_by_func() convenience
macros as per owen's request.
* gtype.c (SIZEOF_FUNDAMENTAL_INFO): align sizeof (GTypeFundamentalInfo)
to size of longs and pointers.
2001-04-26 Havoc Pennington <hp@redhat.com>
* configure.in: Get rid of --enable-msg-prefix
* gmessages.c: make whether to prefix the messages with
appname/pid a runtime setting, not a compile-time setting. Change
default to include prefix for debug/warning/error type messages.
2001-05-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and
'thread_func' to 'func' to make it more consistent with the rest
of GLib.
* gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public
members of GThreadPool to the private ones. Renamed 'thread_func'
to 'func' as above. Moved up 'user_data' in g_thead_pool_new
argument list and in GThreadPool struct.
2001-05-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gmain.c, gthread.c, gthread.h: Moved func and arg members from
GRealThread to GThread, such that they can be accessed by the
user.
* gthread.c, gthread.h: Due to popular demand (Tim being the
populus here ;-) threads now have a 'return value', which is
returned by g_thread_join and is either the return of the topmost
thread function or the value given to g_thread_exit.
* gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
Adapted to the above change.
2001-01-06 Hans Breuer <hans@breuer.org>
* glib.def : don't try to export g_strcpy, it is g_stpcpy;
updated and added some tweaking for functions which got
renamed recently, to avoid the update hassle if it can
simply be done compatible. Should vanish if there is a
stable version for win32.
Fri May 4 11:49:18 2001 Owen Taylor <otaylor@redhat.com>
* Released 1.3.5
* NEWS: Updated
* configure.in (GLIB_MICRO_VERSION): Up version to 1.3.5,
interface/binary age 0.
2001-05-04 Sven Neumann <sven@convergence.de>
* ghash.c: fixed a typo in a comment.
* gtree.[ch]: added new functions g_tree_new_full(), g_tree_replace(),
g_tree_steal() and g_tree_foreach() to adapt GTree to the GHashTable
API. Moved comments into the C file.
* docs/reference/glib/glib-sections.txt
* docs/reference/glib/tmpl/glib-unused.sgml
* docs/reference/glib/tmpl/hash_tables.sgml
* docs/reference/glib/tmpl/linked_lists_double.sgml
* docs/reference/glib/tmpl/linked_lists_single.sgml
* docs/reference/glib/tmpl/macros_misc.sgml
* docs/reference/glib/tmpl/trees-binary.sgml: updated documentation
Thu May 3 06:38:28 2001 Owen Taylor <otaylor@redhat.com>
* g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
foreach() safe against removal of the _current_ element. While
this could break some code, the new behavior is consistent with
the rest of GLib/GTK+ and probably is what people expect in most
cases. (Suggested by Paul Kuykendall, #50071)
Wed May 2 11:10:22 2001 Owen Taylor <otaylor@redhat.com>
* gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
(#50404, fix from Jonas Borgström)
Sun Apr 29 00:37:34 2001 Tim Janik <timj@gtk.org>
* ghook.[hc]: made hook ids a gulong.
Sat Apr 28 23:39:42 2001 Tim Janik <timj@gtk.org>
* gsignal.[hc]: made signal handler and emission hook ids gulongs.
(signal_handlers_foreach_matched_R): only invoke callback for handlers
that are not disconnected (id>0).
(signal_emit_R): prevent invocation of signal handlers during the
emission they were connected within.
* glib-mkenums: publically installed perl-script to parse C code
enums and generate descriptions thereof.
* glib-mkenums.1: assorted man page.
* configure.in: Add a check for the Darwin dynamic linker. Use
AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
"no getpwuid_r" correctly.
* testglib.c (main): Make template[] bigger to prevent an overrun.
Remove an unused variable. Initialize error to NULL.
* tests/gio-test.c (main): Add a cast to prevent a warning when
size_t is a long.
* tests/type-test.c (main): Add an #ifdef to prevent a warning
when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
2001-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
macros to ghash.h to go along the lines of the standard.
* gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
and g_scanner_thaw_symbol_table.
* gutils.c, gutils.h: Dito for g_dirname. g_basename is still
defined in gutils.c, but declared ing gutils.h only
G_DISABLE_DEPRECATED-guarded.
2001-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Removed bashism in test for the pkg-config
version.
* configure.in: Rewrote test for multithread flag. Now uses
localtime_r, which hopefully has a consistent prototype across
different platforms. Also it uses a clever double EGREP trick
instead of compiling, which could give false positives. Thanks to
Dan Winship <danw@ximian.com> for the hint.
Wed Apr 18 09:37:07 2001 Owen Taylor <otaylor@redhat.com>
* MAINTAINERS: Removed. Keeping README, README.cvs-commits
HACKING, and AUTHORS up to date is plenty without extra
random files that someone thought a module should have.
(Actually, I believe this was used for debbugs in the past.)
Tue Apr 17 10:43:36 2001 Owen Taylor <otaylor@redhat.com>
* gstrfuncs.c: Define _GNU_SOURCE for stpcpy
* tests/mainloop-test.c (main): Wait for all threads
to start before beginning tests.
2001-04-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthreadpool.c (g_thread_pool_thread_proxy): Until now every
thread pool always had at least one tread waiting to avoid
switching overhead in case a new task would be added soon after
one finished. This however means a big waste of threads, if many
mostly inactive thread pools are involved. Now such a waiting
thread will only wait for half a second (This value is of course
very randomly picked) and go to the global threadpool afterwards.
MCVS: ----------------------------------------------------------------------
Mon Apr 16 12:04:52 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Remove warnings about conflicts with the
stable version.
* glib-2.0.m4: Fix some of the error text to be halfway
up to date.
* README.in INSTALL.in: Add these to generate README, INSTAL
(as in the stable branch). Update.
* HACKING: Update.
2001-04-11 Alexander Larsson <alexl@redhat.com>
* glib-2.0.m4: Pass pkg-config options
before the other args so it works even if
POSIXLY_CORRECT is set.
Mon Apr 9 18:57:44 2001 Tim Janik <timj@gtk.org>
* configure.in: increment version to 1.3.4 (binary 0, interface 0).
Mon Apr 9 18:56:15 2001 Tim Janik <timj@gtk.org>
* gclosure.c (g_closure_invoke): only require marshal/meta_marshal if
we're valid (about to actually do marshalling).
Tue Apr 3 12:38:16 2001 Owen Taylor <otaylor@redhat.com>
* glib-config-2.0.in: Exit with an error message that you
should use pkg-config instead.
* configure.in (PACKAGE): Require pkg-config.
* tests/Makefile.am (EXTRA_DIST): Add utf8.txt.
* configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
leave interface/binary at 0.
Tue Apr 3 13:46:22 2001 Tim Janik <timj@gtk.org>
* glist.[hc]: added g_list_nth_prev() which walks ->prev instead
of ->next.
* gpattern.[hc]: added shell-style pattern matching code from beast,
derived from the gtk_pattern_*() code, but with a couple of bug fixes
and a number of optimizations.
Tue Apr 3 14:06:00 2001 Tim Janik <timj@gtk.org>
* gparam.[hc]: added g_param_spec_pool_list() to list pspecs per
owner_type. the pspecs are not referenced, so the caller is
supposed to have some idea about owner_type not randomly
nuking his pspec's. if this is going to provide problems in
the future, we can either auto-ref the pspecs, or add a
_foreach variant, though the latter would have to invoke
the callback while pspec's mutex is acquired, so i just
went for the _list variant for now.
* gclosure.h (G_CALLBACK): made GCallback a void (*) (void) fucntion.
2001-04-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthreadpool.c: Added documentation.
* gthreadpool.c: The global thread pool now also is seperated for
bound and unbound threads. Only threads with standard stack size
go to the global pool. g_thread_pool_new now protects the global
setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
2001-04-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gmain.c: Use the new GRealThread member "context" instead of a
GStaticPrivate to store the thread specific main loop context.
* gthread.c: Added "context" member to GRealThread and updated
g_thread_create, g_thread_self and g_thread_cleanup accordingly.
* gthread.c, gthread.h: Removed the functions
g_static_private_(get|set)_for_thread and adapted
g_static_private_(get|set) and g_static_private_free accordingly.
2001-03-30 Sven Neumann <sven@gimp.org>
* ghash.[ch]
* docs/reference/glib/tmpl/hash_tables.sgml: added new functions
g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
g_hash_table_foreach_steal. Moved most docs out of the template
file into the C file. Please proofread the new documentation.
Wed Mar 14 18:46:54 2001 Tim Janik <timj@gtk.org>
* gscanner.[hc]: removed archaic gpointer derived_data; relict and
added a GData member instead.
* glist.[hc]: added g_list_remove_all().
* gslist.[hc]: added g_slist_remove_all().
Sat Mar 17 23:18:36 2001 Tim Janik <timj@gtk.org>
* gobject.c (g_object_get_property): minor bug-fix.
* gbsearcharray.[hc]: provide a macro for static initialization and
functions g_bsearch_array_new() and g_bsearch_array_destroy() for
dynamic allocations.
* gboxed.c: introduce G_TYPE_GSTRING, boxed type for GString.
* gclosure.[hc]: naming corrections.
Fri Mar 9 16:42:08 2001 Tim Janik <timj@gtk.org>
* gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as
a public function (was static in gobject.c before). it's a bit odd
to have that function here, especially since it requires extra includes,
but then it doesn't very well fit somewhere else either.
* gparamspecs.c: added default/max/min checks to param spec creation
functions.
2001-03-13 Tor Lillqvist <tml@iki.fi>
From Edward M. Lee <tailbert@yahoo.com>:
* gdate.c (g_date_set_parse): add support for dates that in the
form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
2001-03-13 Tor Lillqvist <tml@iki.fi>
From Edward M. Lee <tailbert@yahoo.com>:
* gmodule-win32.c (_g_module_build_path): use (cygwin friendly) dir
separator.
Fri Mar 9 18:01:43 2001 Tim Janik <timj@gtk.org>
* gscanner.[hc]: made config arg to g_scanner_new() const.
Fri Mar 9 16:42:08 2001 Tim Janik <timj@gtk.org>
* gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as
a public function (was static in gobject.c before). it's a bit odd
to have that function here, especially since it requires extra includes,
but then it doesn't very well fit somewhere else either.
* gparamspecs.c: added default/max/min checks to param spec creation
functions.
2001-03-12 Tor Lillqvist <tml@iki.fi>
* tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
on Win32.
2001-03-12 Tor Lillqvist <tml@iki.fi>
* Makefile.am (libgplugin_a_la_LIBADD, libgplugin_b_la_LIBADD):
Link with the libgmodule la only on Win32.
2001-03-10 Tor Lillqvist <tml@iki.fi>
* */Makefile.am: Use the _LIBADD dependencies on libglib only on
Win32.
* gobject/gobject.def: Add a couple of missing entries.
2001-02-21 Tor Lillqvist <tml@iki.fi>
Cygwin support contributed by Stefan Ondrejicka
<ondrej@idata.sk>. Hopefully I got it all in while simultaneously
adding support for auto*/libtool for mingw.
* Makefile.am: Changes for auto* support on Cygwin and Win32. Do
still distribute the hand-written makefiles and *.win32.in files,
though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
Use -no-undefined. Pass -export-symbols glib.def to libtool.
* configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
calls for Cygwin and mingw support. Check for %I64u guint64
format (in MS C library). Set G_MODULE_IMPL on mingw and
Cygwin. Use ac_object and ac_exeext. Set GIO, GSPAWN, PLATFORMDEP
and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
automake conditional on Win32.
* glib.h: Include gwin32.h also on Cygwin.
* gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
Unix) for Cygwin's sake.
* gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
* gconvert.c
* gthread.c
* gutf8.c
* gutils.c: For code needed both on Cygwin and native Win32,
test for G_PLATFORM_WIN32.
* gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
in case compiling a static library on Win32 or Cygwin.
* gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
dirent emulation on Cygwin.
(get_package_directory_from_module) Convert return value from
GetModuleFileName() to POSIX path on Cygwin.
* tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
and libgmodule as appropriate. Use -no-undefined.
* gbacktrace.c: Move #ifdefs around a bit on Win32.
* gshell.c (unquote_string_inplace): Make static.
Thu Mar 8 16:23:34 2001 Tim Janik <timj@gtk.org>
* ghook.[hc]: destruction cleanup. there's one
->finalize_hook member in the hooklist now that gets
called when a hook should be destroyed, that's it.
that function is guarranteed to be called only when
all ref_counts to the hook vanished, thus also when
the hook is not in call.
Thu Mar 8 16:35:48 2001 Tim Janik <timj@gtk.org>
* gparamspecs.[hc]: s/g_param_spec_string_c/g_param_spec_stringc/.
* gsignal.[hc]: fixed accumulator invocation, implemented emission
hooks. and no, neither of these callbacks are called via a closure,
language bindings can wrap the accumulator and emission hook
interface, they already get parameters marshalled into a GValue array.
(g_signal_connect): removed this function as its C specific, doesn't
cover the swapped argument, is too close to its broken original
gtk_signal_connect() and creates demand for _swapped, _after and
_swapped_after variants <brrr>.
(g_signal_connectc): convenience macro to connect a C handler
func with data, like the old g_signal_connect() plus swapped
argument.
* gtype.h:
* gboxed.c: added G_TYPE_VALUE boxed type.
Wed Mar 7 09:36:33 2001 Tim Janik <timj@gtk.org>
* gboxed.[hc]: changed prototype of g_boxed_type_register_static()
to contain an optional init function and a hint at whether the
boxed structure uses ref counting internally.
added g_value_set_boxed_take_ownership().
made G_TYPE_BOXED an abstract value type.
* genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
types.
* glib-genmarshal.c: argument type changes, preparation for third-party
arg specification.
* gobject.[hc]: cleaned up get/set property code.
added g_strdup_value_contents() to improve warnings.
* gparam.[hc]: added g_param_value_convert(), taking over responsibility
of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
validation alterations may be valid a part of the property setting
process.
* gparamspecs.[hc]: made value comparisons stable (for sort applications).
added GParamSpecValueArray, a param spec for value arrays and
GParamSpecClosure. nuked the value exchange functions and
GParamSpecCCallback.
* gtype.[hc]: catch unintialized usages of the type system with
g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
to flag types that introduce a value table, but can't be used for
g_value_init(). cleaned up reserved type ids.
* gvalue.[hc]: code cleanups and saner checking.
nuked the value exchange API. implemented value transformations, we
can't really "convert" values, rather transforms are an anylogy to
C casts, real conversions need a param spec for validation, which is
why g_param_value_convert() does real conversions now.
* gvaluearray.[hc]: new files that implement a GValueArray, a struct
that can hold inhomogeneous arrays of value (to that extend that it
also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
this is exposed to the type system as a boxed type.
* gvaluetransform.c: new file implementing most of the former value
exchange functions as single-sided transformations.
* gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
g_value_set_string_take_ownership().
* *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.
* *.[hc]: many fixes and cleanups.
* many warning improvements.
Tue Feb 27 18:35:15 2001 Tim Janik <timj@gtk.org>
* gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
into G_VALUE_LCOPY(), this needs proper documenting.
* gparam.c: fixed G_PARAM_USER_MASK.
* gtype.c (type_data_make_W):
(type_data_last_unref_Wm): fixed invalid memory freeing.
* gobject.c (g_object_last_unref): destroy signal handlers associated
with object, right before finalization.
* gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
that don't actually support details.
* gobject.[hc]: got rid of property trailers. nuked GObject
properties "data" and the "signal" variants.
(g_object_connect): new convenience function to do multiple
signal connections at once.
(g_object_disconnect): likewise, for disconnections.
* gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.
* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
as private (the latter got renamed from g_value_get_as_pointer()).
Wed Mar 7 09:32:06 2001 Tim Janik <timj@gtk.org>
* glib-object.h: add gvaluearray.h.
* gstring.[hc]: fixup naming of g_string_sprint*.
* gtypes.h: fixed GCompareDataFunc naming.
Wed Mar 7 09:33:27 2001 Tim Janik <timj@gtk.org>
* gobject/Makefile.am: shuffled rules to avoid excessive
rebuilds.
* gobject/gobject-sections.txt: updates.
* gobject/tmpl/*: bunch of updates, added another patch
from Eric Lemings <eric.b.lemings@lmco.com>.
2001-03-01 Tor Lillqvist <tml@iki.fi>
* gutils.c(g_find_program_in_path): Implement on Win32. Append the
executable file name suffixes from PATHEXT in turn while
looking for the program.
(g_find_program_in_path): If the program we are looking for is a
relative path in a subdirectory, don't do any path search.
2001-03-01 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_path_is_absolute): (Win32) Remove test for initial
double backslash (UNC path), this will of course be matched by the
test for an initial G_DIR_SEPARATOR right up front. Silly me.
(g_find_program_in_path): Implement on Win32.
(g_get_any_init): (Win32) Also look for the USERPROFILE env var
indicating the home directory equivalent.
* testglib.c (main): Test g_find_program_in_path() on Win32 by
looking for more.com and regedit.exe.
* glib.def: Add g_find_program_in_path.
2001-02-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.h (struct _GThread): Change the order to match the order
in g_thread_create().
* gthread.c (g_static_rec_mutex_lock_full): Also do the right
thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
mutex, that is already locked.
* glib/tmpl/threads.sgml: Big update. Almost ready.
* glib/tmpl/async_queues.sgml: Typo.
* glib/glib-sections.txt: Added g_static_rec_mutex_init,
g_static_rec_mutex_free, g_static_rw_lock_init,
g_static_private_init and g_static_private_free.
* glib/glib-overrides.txt: Added g_thread_yield and g_thread_exit.
Thu Feb 22 10:31:36 2001 Owen Taylor <otaylor@redhat.com>
* gmain.c (g_source_remove_poll): Add missing implementation
ofsource->priority, g_source_remove_poll. (Pointed out by Stefan Westerfeld)