Commit Graph

176 Commits

Author SHA1 Message Date
Tor Lillqvist
74b4d8c22e After being away for about five months, I'm back working on this... For
2001-08-30  Tor Lillqvist  <tml@iki.fi>

	After being away for about five months, I'm back working on
	this...  For now, still using same build setup for Win32. Probably
	will change to not including version numbers in the import library
	names, though. (But the DLL names would still include them,
	possibly even also the micro version number.) That would be more
	Unix-like. Also, will have to check out newest mingw tool versions
	to see if the build-dll script now can be retired.

	* makefile.mingw
	* makefile.msc: New files, no need to generate from .in as
	they don't contain references to automake variables.

	* makefile.mingw.in
	* makefile.msc.in: Removed.

	* glib.rc.in: Remove
	* glib/glib.rc.in: Moved here.

	* Makefile.am
	* glib/Makefile.am: Corresponding changes.

	* glib/glib.def: Fix typo, add new entries.

	* glib/gspawn-win32-helper.c: More debugging. Doesn't work
	currently (or then it never has on Win2k, which I now use?)

	* glib/gstrfuncs.c
	* glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.

	* */makefile.mingw.in: Reflect new location of glib library.
2001-08-30 05:09:11 +00:00
James Henstridge
f240813ff6 add an object member to the structure. (weak_refs_notify): pass
2001-08-17  James Henstridge  <james@daa.com.au>

	* gobject.c (WeakRefStack): add an object member to the structure.
	(weak_refs_notify): pass wstack->object as extra argument to
	notify functions.
	(g_object_weak_ref): set wstack->object when initialising
	WeakRefStack.

	* gobject.h (GWeakNotify): add second argument to prototype which
	gives the pointer to where the object that is being disposed of
	was.
2001-08-18 03:07:48 +00:00
Tim Janik
a80fc07f32 if __GNUC__ is defined, inline a test for an exact type match for
Wed Jul 18 19:42:31 2001  Tim Janik  <timj@gtk.org>

        * gtype.h: if __GNUC__ is defined, inline a test for an exact type
        match for instances and classes in G_TYPE_CHECK_INSTANCE_TYPE() and
        G_TYPE_CHECK_CLASS_TYPE() before calling g_type_instance_is_a().
2001-08-15 09:19:52 +00:00
Tim Janik
4bc2b2c3b4 fix preallocation logic, support DISABLE_MEM_POOLS properly, group value
Sun Aug 12 02:07:10 2001  Tim Janik  <timj@gtk.org>

        * gvaluearray.[hc]: fix preallocation logic, support DISABLE_MEM_POOLS
        properly, group value allocations.
        (g_value_array_new): fix semantic of n_prealloced argument, so it's
        really just about preallocation space.
2001-08-12 00:55:38 +00:00
Sven Neumann
b1d72f582b Separate out log entry for gobject changes into the correct ChangeLog. Sorry. 2001-08-06 21:30:58 +00:00
Sven Neumann
d1d623b072 added new function g_nullify_pointer().
2001-08-06  Sven Neumann  <sven@gimp.org>

	* glib/gutils.[ch]: added new function g_nullify_pointer().

	* gobject/gobject.[ch]:
	added new functions g_object_[add|remove]_weak_pointer().
2001-08-06 20:55:11 +00:00
Alexander Larsson
3339995d87 Hacky script to fix up your .msc.in files on windows. Dunno if this is a
2001-08-04  Alexander Larsson   <alexl@redhat.com>

	* win32-fixup.pl:
	Hacky script to fix up your .msc.in files on windows.
	Dunno if this is a good solution yet.

	* build/win32/module.defs:
	Back down libiconv version to 1.3, since that is what tor distributes.

	* glib/glib.def:
	Update

	* gobject/makefile.msc.in:
	build gobject-query.exe and gmarshal.strings, add libiconv dependency to linklines.

	* gobject/marshal-genstrings.pl:
	New file. perl script to generate gmarshal.strings.
2001-08-04 15:49:55 +00:00
Sven Neumann
57c5a11d7b added convenience macro g_signal_connect_after().
2001-08-01  Sven Neumann  <sven@gimp.org>

        * gsignal.h: added convenience macro g_signal_connect_after().
2001-08-01 12:14:12 +00:00
Hans Breuer
04b78cfe4a updated externals
2001-07-29  Hans Breuer  <hans@breuer.org>

	* gobject.def : updated externals
2001-07-28 22:55:38 +00:00
Michael Natterer
9b25010f22 added a "release_check" to the OutArgument structure, which, if present,
2001-07-26  Michael Natterer  <mitch@convergence.de>

	* gobject/glib-genmarshal.c: added a "release_check" to the
	OutArgument structure, which, if present, gets integrated in the
	marshaller code and protects us from stuff like
	g_object_unref(NULL) on marshaller return values.
2001-07-26 10:36:01 +00:00
Padraig O'Briain
8caf4a8c43 fix unconditional check of first GParamSpec in
* gobject/gobjectnotifyqueue.c: fix unconditional check of
first GParamSpec in g_object_notify_queue_thaw(); prevent
property notification being lost
2001-07-23 17:08:24 +00:00
Ron Steinke
0cf2e38357 Modified to create header files which use G_[BEGIN,END]_DECLS instead of
* gobject/glib-genmarshal.c: Modified to create header files which
	use G_[BEGIN,END]_DECLS instead of #ifdef __cplusplus ...
2001-07-20 19:11:41 +00:00
Hans Breuer
87c759250a updated externals
2001-07-20  Hans Breuer  <hans@breuer.org>

	* gobject.def : updated externals

	* makefile.msc.in : reflect glib move
2001-07-20 16:58:00 +00:00
Darin Adler
624a3c9689 Add some generated files.
* .cvsignore: Add some generated files.

        * glib/gmain.c: (g_main_context_iterate): Comment out cruft
        after #endif to avoid gcc warning.
        * gmodule/gmodule.c: (g_module_set_error_unduped): Remove
        const from type to avoid gcc warning.
        * gobject/gsignal.c: (g_signal_emitv): ifdef variable used
        only if G_ENABLE_DEBUG to avoid gcc warning.
        * gobject/gtype.c: (type_iface_vtable_init_Wm),
        (type_iface_vtable_finalize_Wm): ifdef call needed only
        if !G_DISABLE_ASSERT to avoid gcc warning.
        * tests/testglib.c: (main): ifdef call needed only if
        !G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
        should make the test to #undef G_DISABLE_ASSERT.
        * tests/unicode-collate.c: Add include of <string.h> to
        avoid gcc warning.
2001-07-11 20:08:50 +00:00
Tim Janik
11b0d06eee fix negative exponent handling (numbers<0).
Fri Jul  6 00:02:41 2001  Tim Janik  <timj@gtk.org>

        * glib/gmessages.c (printf_string_upper_bound): fix negative exponent
        handling (numbers<0).

        * glib/gutils.h (g_bit_storage): take a gulong as argument.
        same for g_bit_nth_lsf() and g_bit_nth_msf() as mask.

Tue Jul 10 18:50:16 2001  Tim Janik  <timj@gtk.org>

        * gsignal.h (struct _GSignalQuery): fix misplaced comment.
2001-07-10 22:37:08 +00:00
Tim Janik
6bad2c92ce congrats tim, introducing of-by-one errors like on my very first day of C
Mon Jul  2 07:17:47 2001  Tim Janik  <timj@gtk.org>

        * gobject.c (g_object_weak_ref):
        (g_object_watch_closure): congrats tim, introducing of-by-one
        errors like on my very first day of C programming.
2001-07-02 05:15:29 +00:00
Tim Janik
69f32ba7c9 added g_list_insert_before().
Sat Jun 30 23:14:32 2001  Tim Janik  <timj@gtk.org>

        * glib/glist.[hc]: added g_list_insert_before().

        * glib/gslist.c (g_slist_insert_before): provide an implementation,
        prototype was already present...

Sat Jun 30 11:07:00 2001  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: provide weak_ref/weak_unref functions,
        invoked from ->dispose. renamed ->shutdown() to ->dispose(),
        provide "public" API entry here: g_object_run_dispose(), this
        fucntion should _only_ be called from object system implementations
        (e.g. gtkobject.c) if at all.

        * gtypemodule.c (g_type_module_dispose): s/shutdown/dispose/

        * gsignal.h: removed compat aliases.

        * gobject.c (g_object_connect): support data objects.
2001-07-02 05:02:13 +00:00
Owen Taylor
1d1c8ef0a3 g_signal_newc() => g_signal_new().
Sat Jun 30 13:17:12 2001  Owen Taylor  <otaylor@redhat.com>

	* testgruntime.c (test_object_class_init)
          gobject.c (g_object_do_class_init):
          g_signal_newc() => g_signal_new().
2001-06-30 17:17:41 +00:00
Owen Taylor
f571f74616 Remove debug flag argument to g_type_init() and add
Thu Jun 28 22:49:40 2001  Owen Taylor  <otaylor@redhat.com>

	* gtype.[ch] gobject-query.c testgruntime.c: Remove
	debug flag argument to g_type_init() and add
	g_type_init_with_debug_flags().
2001-06-29 02:50:46 +00:00
Tim Janik
fd860cb987 up version number to 1.3.7, interface age 0, binary age 0.
Thu Jun 28 16:57:44 2001  Tim Janik  <timj@gtk.org>

        * configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
        interface age 0, binary age 0.

Thu Jun 28 16:42:49 2001  Tim Janik  <timj@gtk.org>

        * gsignal.c (g_signal_lookup):
        (g_signal_list_ids): give elaborate warnings about invalid types,
        non-instantiatable types and unloaded types that we can't operate on.

        * gparam.[hc]: g_param_spec_pool_belongings() ->
        g_param_spec_pool_list_owned().

        * gsignal.[hc]: renamed:
        g_signal_newc -> g_signal_new
        g_signal_disconnect_by_func -> g_signal_handlers_disconnect_by_func
        g_signal_block_by_func -> g_signal_handlers_block_by_func
        g_signal_unblock_by_func -> g_signal_handlers_unblock_by_func
        added GConnectType to simplify (..gboolean swapped, gboolean after)
        args.

        * gobject.[hc]: changed prototypes accordingly.
2001-06-28 17:05:12 +00:00
Owen Taylor
2fd6b001fb Move glib library into a subdirectory, make all GLib include files include
Tue Jun 26 11:43:46 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
	Move glib library into a subdirectory, make all GLib include
	files include as <glib/glist.h>

	* tests/testglib.c tests/testgdate.c tests/testgdateparser.c
	  tests/timeloop.c tests/timeloop-basic.c: Move all tests into
	the tests/ subdirectory.
2001-06-26 16:01:21 +00:00
Hans Breuer
ef8daf9297 updated externals
2001-06-22  Hans Breuer  <hans@breuer.org>

	* gobject.def : updated externals

	* gobjectnotifyqueue.c : include <string.h> for memset ()
2001-06-22 14:10:33 +00:00
Tim Janik
bfe64c7c38 s/long/int/ for default_value in enum and flags pspecs.
Thu Jun 21 02:43:10 2001  Tim Janik  <timj@gtk.org>

        * gparamspecs.h: s/long/int/ for default_value in enum and flags
        pspecs.
2001-06-21 00:41:55 +00:00
Tim Janik
52479107a6 added debugging variants g_type_name_from_class(),
Wed Jun 20 03:59:42 2001  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: added debugging variants g_type_name_from_class(),
        g_type_name_from_instance().
2001-06-20 02:32:10 +00:00
Tim Janik
3b346e3581 remove left-over usages of an anonymous GBoxed typedef.
Mon Jun 11 17:07:06 2001  Tim Janik  <timj@gtk.org>

        * gboxed.[hc]: remove left-over usages of an anonymous GBoxed typedef.

        * gobjectnotifyqueue.c: moved property notify queue implementation
        bits into this function.

        * gparam.[hc]: added g_param_spec_pool_belongings(), completed
        g_param_spec_pool_list(). added GParameter for _setv() functions.

        * gobject.[hc]: use gobjectnotifyqueue.h implementation now.
        got rid of properties_changed signal.
        new functions g_object_newv(), g_object_class_list_properties().
        removed "properties_changed" signal.

        * gtype.[hc]: added g_type_depth() to figure number of parent
        types + 1 for a type.

        * gsignal.h: add g_signal_connect() (as per owen's request) and
        g_signal_connect_swapped().
2001-06-19 12:13:22 +00:00
Havoc Pennington
9ba71698c0 link to ./libgobject-1.3.la since an installed libgobject was somehow
2001-06-13  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (progs_LDADD): link to ./libgobject-1.3.la
	since an installed libgobject was somehow being found; think
	it's a libtool bug, but this workaround should do for now.
2001-06-13 16:57:53 +00:00
Havoc Pennington
7ab9d6380d updated
2001-06-11  Havoc Pennington  <hp@redhat.com>

	* NEWS: updated

	* configure.in (GLIB_MICRO_VERSION): increment version to 1.3.6

2001-06-12  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (glib-mkenums): don't put $(srcdir)/glib-mkenums in
	bin_SCRIPTS, that breaks make install. Instead put 'glib-mkenums'
	in bin_SCRIPTS and cp it into builddir
2001-06-12 20:05:43 +00:00
Owen Taylor
1fb8a98a89 Fix mispelling in help output. (#53952, Skip Montanaro)
Thu May 31 17:56:47 2001  Owen Taylor  <otaylor@redhat.com>

	* gobject-query.c: Fix mispelling in help output.
	(#53952, Skip Montanaro)
2001-05-31 21:57:35 +00:00
Sebastian Wilhelmi
4d8aba8947 Fix typo.
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.
2001-05-28 11:16:33 +00:00
Tim Janik
9369e1e022 fixed bad faux-pass, forgot to release signal lock when restarting
Mon May 28 06:51:24 2001  Tim Janik  <timj@gtk.org>

        * gsignal.c (signal_emit_unlocked_R): fixed bad faux-pass, forgot
        to release signal lock when restarting emissions.
2001-05-28 04:57:07 +00:00
Tim Janik
e28e398eb0 unlock context when bailing out with a warning. (g_main_context_check):
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.
2001-05-27 18:28:58 +00:00
Hans Breuer
c990a0c4c6 changed depndencies to build glib-genmarshal first and statically linked
2001-05-24  Hans Breuer  <hans@breuer.org>

	* makefile.msc.in : changed depndencies to build glib-genmarshal
	first and statically linked with glib, which makes it independent
	from the installed glib version. Added new object files to build.

	* gobject.def : updated
2001-05-24 16:36:02 +00:00
Owen Taylor
e181176f90 gpointer, not gpointer *.
Thu May 24 08:52:02 2001  Owen Taylor  <otaylor@redhat.com>

	* gobject.[ch] (g_value_set_object): gpointer, not
        gpointer *.
2001-05-24 12:52:39 +00:00
Sebastian Wilhelmi
475193bda8 made 'make distcheck' happy.
2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * Makefile.am (bin_SCRIPTS): made 'make distcheck' happy.
2001-05-22 14:31:26 +00:00
Sebastian Wilhelmi
673e99b7f3 Removed g_param_spec_stringc.
2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gobject.def: Removed g_param_spec_stringc.
2001-05-22 12:12:06 +00:00
Tim Janik
fbb5eebbad make g_value_set_object() take a gpointer v_object so people don't need to
Tue May 22 02:46:13 2001  Tim Janik  <timj@gtk.org>

        * gobject.c (g_value_set_object): make g_value_set_object()
        take a gpointer v_object so people don't need to G_OBJECT()
        cast NULL pointers (C code convenience).
2001-05-22 00:48:06 +00:00
Owen Taylor
33888fc0c8 Add inter-library dependencies.
Sun May 13 10:31:17 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/Makefile.am gobject/Makefile.am gmodule/Makefile.am:
	Add inter-library dependencies.

	* acinclude.m4: Remove libtool macros.

	* autogen.sh: Require libtool-1.4, automake-1.4p1.
2001-05-16 18:35:39 +00:00
Tim Janik
72df5e6cab new function to check whether a handler is still connected to an instance
Mon May 14 01:49:01 2001  Tim Janik  <timj@gtk.org>

        * gsignal.[hc] (g_signal_handler_is_connected): new function
        to check whether a handler is still connected to an instance
        (by handler id).
2001-05-14 13:55:51 +00:00
Tim Janik
a5947b9df8 use g_str_hash() algorithm to generate hashes.
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-05-10 13:58:40 +00:00
James Henstridge
af170c2d8c glib-mkenums is not a compiled program, so shouldn't be in the
2001-05-05  James Henstridge  <james@daa.com.au>

        * Makefile.am: glib-mkenums is not a compiled program, so shouldn't
        be in the bin_PROGRAMS primary.  Put it in bin_SCRIPTS instead, and
        removed the glib_mkenums_SOURCES var.
2001-05-05 08:38:35 +00:00
Owen Taylor
39f526ef20 Make types of ternary operator correspond. (Fixes compilation errors with
Thu May  3 06:10:23 2001  Owen Taylor  <otaylor@redhat.com>

	* gobject.c (g_object_set_[q]data_full): Make types of ternary
        operator correspond. (Fixes compilation errors with Sun CC,
	#52230)
2001-05-03 10:12:46 +00:00
Tim Janik
1ffd953c39 removed \v escaping, newer perl versions don't support this, and it'S
Mon Apr 30 20:03:56 2001  Tim Janik  <timj@gtk.org>

        * glib-mkenums (usage): removed \v escaping, newer perl versions don't
        support this, and it'S probably useless anyways.
2001-04-30 17:59:47 +00:00
Tim Janik
abc5cbbe3e made hook ids a gulong.
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.
2001-04-29 03:04:27 +00:00
Havoc Pennington
a786a9a020 We were returning junk memory here, because we didn't copy the value
2001-04-19  Havoc Pennington  <hp@redhat.com>

	* gobject.c (g_object_get_valist): We were returning junk memory
	here, because we didn't copy the value (G_VALUE_NOCOPY_CONTENTS
	passed to G_VALUE_LCOPY) and then we freed the GValue immediately
	after. Removed G_VALUE_NOCOPY_CONTENTS from here; need a
	G_VALUE_STEAL_CONTENTS or the like if we want this optimization.
2001-04-19 21:48:21 +00:00
Owen Taylor
9abb307200 Change C++ comments for FIXME's to C comments. (Patch from Andres Salomon)
Wed Apr 18 09:46:56 2001  Owen Taylor  <otaylor@redhat.com>

	* gobject.c gsignal.c:	Change C++ comments for FIXME's	to
        C comments. (Patch from Andres Salomon)
2001-04-18 13:47:59 +00:00
Hans Breuer
1d81d2d282 updated
2001-04-14  Hans Breuer  <hans@breuer.org>

	* gobject.def : updated
2001-04-13 23:40:39 +00:00
Tim Janik
58bfca360d increment version to 1.3.4 (binary 0, interface 0).
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).
2001-04-09 17:03:55 +00:00
Tim Janik
a14df7b98a updates.
Tue Apr  3 20:22:59 2001  Tim Janik  <timj@gtk.org>

        * NEWS: updates.

        * NEWS.pre-1-3: take over old news.

Tue Apr  3 20:23:24 2001  Tim Janik  <timj@gtk.org>

        * NEWS: updates.
2001-04-03 19:22:44 +00:00
Tim Janik
bdd9b28b5b added g_list_nth_prev() which walks ->prev instead of ->next.
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 13:15:41 +00:00
Tim Janik
743f49cec9 applied patch from owen to implement GParamSpecUnichar.
Sat Mar 31 23:55:58 2001  Tim Janik  <timj@gtk.org>

        * gtype.h:
        * gparamspecs.[hc]: applied patch from owen to implement
        GParamSpecUnichar.

Fri Mar 30 07:34:02 2001  Tim Janik  <timj@gtk.org>

        * gtype.c (type_iface_retrive_holder_info_Wm):
        * gtypeplugin.c (g_type_plugin_complete_interface_info):
        * gtypemodule.c (g_type_module_complete_interface_info):
        change order of instance_type and interface_type so they match
        the g_type_add_interface_*() API.

        * gsignal.c (g_signal_emit_valist): always assign C return value
        location, people depending on unaltered return values after emissions
        that had no handlers to run need to use g_signal_emitv().

        * gtype.[hc] (g_type_query): new function to allow querying of
        class and object size (semantics like g_signal_query()).
        currently the implementation is better held conservative so as to
        only support types that are classed and static.
2001-04-01 04:04:46 +00:00