2004/02/05 21:21 (-0500) muppetman

	* Glib.pm, README: stable bugfix release 1.022

2004/02/04 23:46 (-0500) muppetman

	* GBoxed.xs, GObject.xs, GType.xs, GValue.xs, t/2.t:
	more portability fixes, backported from HEAD.  the previous fixes for
	using GUINT_TO_POINTER were a little overzealous; it's inappropriate
	for GType, which is the same size as a pointer (a gulong, not a
	guint).  also ensure that g_object_[sg]et_data and G_TYPE_POINTER
	GValues are handled properly.

2004/01/15 23:20 (-0500) muppetman

	* Glib.pm, README: stable bugfix release 1.021

	* GType.xs, gperl_marshal.h, t/7.t, t/8.t: preserve $@ across
	closure invocations.  (merged from HEAD)

	* GType.xs: fix some documentation that was woefully incorrect.

2004/01/13 23:56 (-0500) muppetman

	* GBoxed.xs, GObject.xs, GType.xs, GValue.xs: more 64-bit safety
	stuff -- use GINT_TO_POINTER and GPOINTER_TO_INT where appropriate.

2004/01/13 23:36 (-0500) muppetman

	* GObject.xs, GType.xs, Glib.xs, typemap, AUTHORS: patch
	from Jacek Konieczny fixes warnings on x86_64 platforms.

	* 9.t, a.t: work around glib bugs on x86_64 platforms.

2003/12/11 22:11 (-0500) muppetman

	* Glib.pm, README, META.yml: stable release 1.020

2003/12/04 22:28 (-0500) muppetman

	* Glib.pm, README: bump version to 1.014 for release
	* MANIFEST: t/6.t doesn't exist on this branch

2003/12/04 13:13 (-0500) rwmcfa1

	* : Merged from HEAD

	* GenPod.pm: @ARGV is now searched for disable-apidoc which, surprise,
	disables the generation of the api doc pods thus speeding up the build
	process.
	
	* GenPod.pm: put an extra \n after each of the pods to keep pod stuff
	happy

2003/12/03 23:38 (-0500) muppetman

	* Glib.pm: credit where credit is due

2003/12/02 23:49 (-0500) rwmcfa1

	* GenPod.pm: implement a sorter function that pushes GObject based pkgs
	to the front, instead of alpha. this is so that all classes will be
	instantiated by the time we do the interfaces.

2003/12/02 18:26 (-0500) muppetman

	* GParamSpec.xs: stray code in a switch statement prevented the
	successful operation of Glib::ParamSpec->object().

2003/12/01 16:21 (-0500) rwmcfa1

	* GenPod.pm: put an extra \n after each of the pods to keep pod stuff
	happy

2003/11/29 12:45 (-0500) muppetman

	* Glib.pm, README: bump version to 1.013, make release from
	rel-1-02-branch.

2003/11/29 12:23 (-0500) rwmcfa1

	* GenPod.pm: modified copyright text as list decided.

2003/11/28 22:00 (-0500) muppetman

	* GType.xs: remove unused var and code.
	* Glib.xs: apparently this bit of doc has been b0rken for a very
	long time.

2003/11/28 14:47 (-0500) rwmcfa1

	* ParseXSDoc.pm, GenPod.pm: moved inclusion processing into GenPod 
	rather that ParseXSDoc, it will need to be run later than parse.

	* MakeHelper.pm: DOC_PL_DEPENDS is now POD_DEPENDS, related to ^

2003/11/25 12:02 (-0500) muppetman

	* GType.xs: clean up some odd leaks; use proper contexts in the
	signal accumulator and custom class closure.

2003/11/25 11:39 (-0500) rwmcfa1
	
	* GType.xs, devel.pod:	link correction

	* GenPod.pm: added parents return from list ancestors. use it for 
	podify_see_alsos, which is new. and added get_copyright

	* Glib.pm: removed reference to old Glib::PkgConfig

	* MakeHelper.pm: added new DOC_PL_DEPENDS var, should prove useful 
	for includes

	* ParseXSDoc.pm: added include system =for include file, 
	=for include !cmd

2003/11/24 23:35 (-0500) rwmcfa1

	* Makefile.PL, MakeHelper.pm: clean up and resolution of issues about
	xsapi.pod.

2003/11/21 02:12 (-0500) muppetman

	* Glib.pm, README: bump version to 1.012 and release.

2003/11/21 01:00 (-0500) muppetman

	* GBoxed.xs: implement a generic Glib::Boxed::copy, and some doc

	* GBoxed.xs, GObject.xs, GType.xs, GValue.xs, typemap: replace
	SvTRUE() with SvOK() as a more efficient test for definedness.
	SvTRUE() is rather heavy, in that it evaluates to an awful lot
	of code, where what we generally need is just to see if the scalar
	is the Perl equivalent of C's NULL.

	* GParamSpec.xs: now that there's a gunichar typemap, implement
	things that were waiting on it.  not sure why you'd want a unichar
	param in perl, but the point is to make it possible.  :-)

2003/11/19 14:08 (-0500) muppetman

	cleanup for win32:

	* GType.xs: hush some warnings from msvc

	* MakeHelper.pm: if we're using cl, use its weird command switch
	to put the object files in the right place... /Fo<file>

	* Glib.exports: added some missing symbols

2003/11/18 17:21 (-0500) muppetman

	* Glib.xs: use GPerlFilename_const in the right place to hush the
	compiler.  also use the length returned from g_filename_(to|from)_utf8
	to avoid having  to call strlen() in gperl_sv_from_filename and
	gperl_filename_from_sv.

2003/11/18 01:09 (-0500) muppetman

	* GType.xs: interfaces can have signals as well; adjust logic to
	allow them through as well.  this still misses some signals because
	on 2.0.x we don't have a way to list interfaces' prerequisite types
	to ensure that they are loaded.  the beginnings of code to use
	g_type_interface_prerequisites() in 2.2.x is commented out, waiting
	for me to finish it.

	* ParseXSDoc: handle length() arguments in xsubs.  they basically
	just get stripped.

	* GenPod.pm: 'gchar_length' means 'string'.

	* typemap: a corresponding OUTPUT typemap for gunichar.

2003/11/17 22:02 (+0100) kaffeetisch

	* typemap: Implement a gunichar INPUT typemap.

2003/11/16 20:32 (-0500) muppetman

	* gperl_marshal.h: add similar macros for GPerlCallback, to make sure
	that the callback is executed by the correct interpreter.

	* GClosure.xs: use the new GPerlCallback helper macros in
	gperl_marshal.h

2003/11/16 02:44 (-0500) muppetman

	* GClosure.xs, GType.xs: clean up the stack properly after call_sv
	to stop internal bleeding.

	* TODO: updated

2003/11/14 04:31 pcg

        * Glib.pm: rework the doc for filename conversion. horribly buggy
        it still was.

2003/11/13 21:32 (-0500) muppetman

	* Glib.pm, README: bump version to 1.011 for first 1.02 beta

2003/11/13 13:23 (-0500) muppetman

	* GenPod.pm: add a sensible type name mapping for GPerlFilename;
	will show up in docs as 'localized file name'.
	Fix podify_methods to take only the package name, and remove the
	second my $package in the same scope.
	Minor re-work to logic of when to skip and when to count methods;
	intent was to support hidden xsubs, but those are caught at the parser
	level now.
	Changed the message that gets written when all methods are defined
	but missing.

	* Glib.pm: fix some typos

	* Glib.xs: hide filename_(to|from)_unicode from the docgen stuff,
	to keep from overwriting the manpage generated for Glib.pm.  these
	functions are already documented by hand in Glib.pm, anyway.

	* ParseXSDoc.pm: allow the token \b__hide__\b on the =for apidoc
	line to hide an xsub.

	* GType.xs: fix a little bug in list_values causes segfaults if you
	pass in type that's neither a flags nor enum type.

2003/11/12 20:45 pcg

	* gperl.h, typemap: Add GPerlFilename_const.
        * Glib.xs, Glib.pm: implement and document filename_to_unicode and
        filename_from_unicode.

2003/11/12 02:48 pcg

        * gperl.h, Glib.xs, typemap: Implement GPerlFilename type and
        gperl_filename_from_sv & gperl_sv_from_filename utility functions.

2003/11/11 22:25 (-0500) muppetman

	* GClosure.xs, gperl_marshal.h: yeah, that wasn't the right way to
	handle that.  i forgot the update the non-PERL_IMPLICIT_CONTEXT side
	of the #ifdef when adding the second arg.  backed out the change to
	GClosure.xs, fixed gperl_marshal.h.

2003/11/11 10:40 (-0500) rwmcfa1
	
	* GClosure.xs: if PERL_IMPLICIT_CONTEXT is not defined then the call 
	to the macro GPERL_CLOSURE_MARSHAL_INIT has the wrong number of 
	prarameters. there's probably a better way to handle this, buf for
	now this will allow things to compile.

2003/11/11 00:36 (-0500) muppetman

	* MANIFEST, debian/*: remove the debian packaging files, since having
	them in the upstream dist makes it difficult for the maintainers

2003/11/10 13:12 (-0500) muppetman

	* gperl_marshal.h: new file
	* GClosure.xs, MANIFEST, Makefile.PL: use and install new file.
	Since client code may install custom marshallers, it is a good idea
	to provide some macros to tidy up the error-prone boilerplate that
	needs to go into each of those marshallers.  gperl_marshal.h is
	installed to the same place as gperl.h, but not #included by default,
	and should be #included whereever you implement a custom marshaller.
	it is loaded with commentary and an example marshaller skeleton.

	* GSignal.xs: update commentary on gperl_signal_set_marshaller_for()
	to pointer binding authors to gperl_marshal.h for guidance.

2003/11/10 01:54 (-0500) muppetman

	* GenPod.pm: be a little smarter about enums and flags package names.

2003/11/09 22:59 (-0500) rwmcfa1

	* GenPod.pm: improved the logic for placement of the no methods exist
	message, moved it to podify_methods.

2003/11/09 22:30 (-0500) rwmcfa1

	* ParseXSDoc.pm: allow the (Object::To::Doc) construct in =for object
	directives.

	* GenPod.pm: support the new object directive allowing files to be 
	named independantly from the objects documented in them.

2003/11/10 00:59 pcg

	* Glib.pm, GType.pm: implement == and eq for flags, the latter
        because some functions use eq as a generic comparison function.
        Also enable fallback for flags values, should work just fine.

2003/11/09 18:54 (-0500) muppetman

	writing documentation while mechagodzilla and titanosaur destroy
	tokyo... again.  http://us.imdb.com/title/tt0073373/

	* GClosure.xs, GLog.xs, GMainLoop.xs, GObject.xs, GParamSpec.xs,
	GSignal.xs GType.xs: added lots of apidoc pod.  All the packages in
	GMainLoop.xs go into Glib::MainLoop, and i reordered some of the
	xsubs in GObject.xs but changed no code.

	* GenPod.pm: pod updates, cleanup; use two =over paragraphs inside
	xsub docs to make the argument lists indent readably in the generated
	manpages.

	* Glib.pm: big updates to the SEE ALSO section.

	* Makefile.PL: even yet still more cleanup

	* ParseXSDoc.pm: pod cleanup

	* TODO: updated

2003/11/09 16:29 (-0500) rwmcfa1

	* ParseXSDoc.pm: added the method clean_out_empty_pods to prevent empty
	entries from the $data member of doc.pl. this prevents completely empty 
	pod files from being created.

	* GenPod.pm: if no methods are bound to a package then print a message
	saying it is likely that it doesn't exist in the version the module was
	compiled against. the message might could stand some improvement.

2003/11/08 12:10 pcg

	The "more evil things?" release.

        * GType.xs: Allow |, & and ^ as operators on flags, too.
	* GType.xs: GFlags are now represented as blessed IV's, which indeed
        gave a _substantial_ speed improvement at an unimportant place. But
        it also saves memory and code, and looks nice, so I just had to do it.
        * GLog.xs: simplify newSVGLogLevelFlags, as excluding single values
        should no longer be necessary.

2003/11/08 11:30 pcg

        * GType.xs: In addition to the change yesterday, make sure
        that gperl_convert_back_flags only ever returns distinct,
        non-overlapping flag values. This requires an inherent ordering
        in the flag values, but if this isn't the case we can always sort
        the values first on bit-count (doh), or use a heuristic such as
        prefering single bit values.

2003/11/08 01:03 (-0500) muppetman

	* GClosure.xs: simplify, man...  both dSP and the PERL_UNUSED_VAR()
	should've been outside the conditional.  this may need to be
	macro-ified to prevent bugs in custom marshallers.

	* Glib.xs, GType.xs, gperl.h: move private function streq_enum
	to Glib.xs as new public function gperl_str_eq(), string compare that
	considers dash and underscore equivalent.  add gperl_str_hash(), a
	hashing function that considers dash and understore equivalent.

	* Glib.exports: updated with new functions

	* GSignal.xs: use custom hash and compare functions for the signal
	marshallers hash.

	* gperl.h: add prototypes for gperl_fundamental_type_from_package()
	and gperl_fundamental_package_from_type().

	* GObject.xs: remove unused var (which was shadowing an already-defined
	var in the parent scope).

2003/11/07 20:13 pcg

        * GType.xs: test SvPOK instead of SVt_PV, as many scalars
          can be valid strings.
	* GType.xs: apply muppet's patch to bless flags, modified to
          - implement overloaded operations on flags.
          - change the flag test from "set & mask" to "set & mask == mask",
            which hopefully fixes the GdkModifier problem.
          - since the testsuites of both glib and gtk work fine, as
            well as my apps, I checked it in (low-risk-patch).
        * Glib.pm: add overload glue + documentation.
        * In a second, future step, we might want to replace GFlags by
          bless(RV(IV)) while keeping the user-api intact. This might
          break some obscure parts in Gtk2, so... this is a later step
          that can be done without user-visible-changes.

2003/11/07 12:57 (-0500) rwmcfa1

	* GenPod.pm: instead of usings methods trick, use ->can, improves 
	things quite a bit.

2003/11/06 21:29 (-0500) rwmcfa1

	* GenPod.pm: using the old methods trick i've come up with a way to 
	only have xsubs pod for package methods that are bound. so ifdef'd out
	code (stuff that's not available in the compiled against version) won't
	be put into the pods. one more doc issue down.

2003/11/06 16:53 (-0500) muppetman

	* MakeHelper.pm: make the pod index have actual links.

2003/11/06 10:30 (-0500) muppetman

	* ParseXSDoc.pm: handle IN_OUTLIST arguments, which previously got
	a type of "(!!)".  note: still does not handle IN_OUT or OUT args,
	as i don't have any of those to test.

2003/11/03 14:03 muppetman

	* GenPod.pm: use the actual instance arg name rather than cutting
	up the type name.  you'd expect the arg name to be used, anyway.

2003/11/03 12:04 muppetman

	* GType.xs: (list_interfaces) watch out for unregistered interface
	classes.  complain, but don't blow up.  also, free the returned array
	of GTypes.  thanks to Bjarne Steinsbø.
	* AUTHORS: updated contributors

2003/11/02 11:54 muppetman

	* GClosure.xs: the case of the missing ref; refcount bug in
	gperl_closure_marshal kept complex objects from finalizing properly.
	kudos and thanks to marc for finding and debugging this one.

2003/11/02 16:55 muppetman

	* ParseXSDoc.pm: match void\s* instead of just void when looking for
	methods with void return.  use scalar(localtime) instead of the
	identical strftime format.

2003/11/02 16:17 muppetman

	* Glib.pm: undo my silly "atleast" version-check import stuff, and 
	do something compatible with the version check supplied by Exporter.
	we don't use Exporter because, well, we don't export anything.

2003/11/02 02:15 muppetman

	* ParseXSDoc.pm: split_aliases wasn't properly deep-copying args
	arrays.  since that's not exactly something that you'd want to do
	unless you are going to generate docs from the parser results,
	moved the splitting of aliases from parse_file() to xsdocparse()
	as canonicalize_xsubs().

2003/11/01 01:15 muppetman

	* typemap: input (Perl-to-C) typemap for T_GPERL_GENERIC_WRAPPER
	now uses a more robust regex -- strip leading const\s+ and ensure
	that we strip the trailing \s*\* from the very end.  requested
	by kaffee.  the output typemap is unchanged.

2003/10/30 13:47 rwmcfa1

	* Glib.pm: added tie_properties stuff

	* t/b.t: initial import, test tie_properties stuff

2003/10/30 11:29 muppetman

	* GenPod.pm: make sure that all signatures get the same pod directive.
	don't add sigils to return type names.

2003/10/30 09:30 rwmcfa1
	
	* Glib/MakeHelper.pm: improved/safer rules for building the documentation

	* Glib/Makefile.PL: we have some 'special' dependancies for Glib that we need to make sure happen before xsdoc2pod can proceed

2003/10/29 02:00 muppetman

	* Glib.pm: add a version check to Glib's import.

	* GenPod.pm, MakeHelper.pm: rework package to filename handling to
	support packages with :: in the name.  use FULLEXT (makefile var that
	is the full extension path under INST_LIB) and File::Spec."

	* ParseXSDoc.pm: don't clobber package with object; store object
	separately and use it when retrieving pkgdata, but not in place of
	the package name.  this allows xsubs to be placed into a different
	package for doc, but not lose their actual package for the symname.

2003/10/28 23:18 muppetman

	* MakeHelper.pm: don't be an Exporter.  take a shift-off class arg
	on all subs.  this allows them to be overridden, and removes the
	requirement for each client package to import the symbols.
	added pod for just about everything.
	do_pod_files now returns the generated pod_files hash rather than 
	fiddling with one in main::.  it still uses the local @gend_pods,
	though.
	postamble_clean() takes an optional list of extra clean files.
	postamble_docs() takes a list of xs files instead of expecting
	to find @main:xs_files.

	* Makefile.PL: use the new semantics of the MakeHelper functions.

2003/10/28 16:47 rwmcfa1

	* Glib/GClosure.xs, Glib/GLog.xs: put things in the appropriate doc 
	object

	* Glib/GenPod.pm: eval the list_values call. make sure dir creation 
	succeeds, other cleanups

	* Glib/MANIFEST: missing files added

	* Glib/Makefile.PL: updates to new system, MakeHelper. use strict and 
	use warnings safe now

	* Glib/ParseXSDoc.pm: replace the warn handler with what was there 
	before rather than deleting

	* Glib/MakeHelper.pm: initial import

2003/10/27 29:08 muppetman

	* Makefile.PL: bad quoting kept the build from working...

2003/10/27 19:29 muppetman

	* GenPod.pm: move =for enum parsing to the parser.
	have xsdoc2pod optionally write a list of the packages it has created,
	use 'unsigned' instead of 'integer' for unsigned data types.
	fix podify_signals to print nothing if there are no signals.
	don't call Glib::Type->package_from_cname on types with :'s in
	them -- they can't be C type names anyway (shuts up about half of
	the warnings you get doing Gtk2).  watch for =arg name (__hide__),
	and don't display the arg having that keyword.

	* Makefile.PL, xsdocparse.pl(removed), ParseXSDoc.pm(new): remove the
	xsdocparse.pl script; the code in is Glib::ParseXSDoc now.  having
	xsapi.pod in %pm_files creates a circular dependency; have to take it
	out (still in man3pods, and we'll put it into blib by hand).

2003/10/27 02:42 muppetman

	* Makefile.PL: manpages have the :: in the filename
	* GParamSpec.xs, GLog.xs, GMainLoop.xs, GSignal.xs: added some apidoc;
	register enums and flags as necessary; implement g_param_spec_enum and
	g_param_spec_flags
	* GenPod.pm: pod, cleanup, lots of things.  watch for 
	=for (enums|flags) in package pod and podify their values.
	change around how we print things to make them a little more
	visually distinct.

2003/10/26 21:31 rwmcfa1
	
	* GenPod.pm: put the pod files in blib using the fully correct paths 
	and file names

	* Makefile.PL: merge bug, well that and not looking closely.

2003/10/26 17:10 rwmcfa1

	* GObject.xs: test out a blurb

	* GenPod.pm: xsdoc2pod script incorporated, will make it easier for 
	other modules to use this stuff

	* Makefile.PL: go ahead and include GenPod.pm in the scheme of things.
	use GenPod in it's current incarnation to do the api docs

2003/10/26 11:36 muppetman

	* GSignal.xs: some apidoc comments to play around with
	* GenPod.pm: sigils don't go in %basic_types, they're added by
	convert_return_type as needed.  count the number of properties we
	find that match this type, to return an empty string if this type
	has none of its own.  added some developers' pod for the various
	helper functions.  allow 'for' on signature and arg lines.  show
	default argument values in call signatures.
	* Makefile.PL: install GenPod.pm.  its manpage will be nonsense
	for now.
	* xsdoc2pod.pl: typo
	* xsdocparse.pl: split & duplicate aliased xsubs automagically.
	match up apidoc pods and xsubs.

2003/10/25 21:44 rwmcfa1

        * GType.xs: can't call newSVpv if package name is not valid, shouldn't
        happen so croak on that error. some improved error checking to make
        sure that we have a valid interface and that our class is
        instantiatable, may need to double check.

        * apidoc.pl: get rid of the groups stuff since it's not used

        * xsdocparse.pl: get rid of the groups stuff since it's not used.

        * GenPod.pm: initial import
        added blurb retrieval

	* xsdoc2pod.pl: initial import

2003/10/24 17:18 muppetman

	* xsdocparse.pl: new file.  program extracts pod and xsub signatures
	from XS files and dumps a big honkin' data structure to stdout.
	differentiates between the C section and the xsub section, and looks
	for a new set of pod directives, e.g. =for apidoc and =for object.
	this is destined to be the heart of the shiny new automatically
	generated api reference documentation.  more on this later.

	* apidoc.pl, Makefile.PL: use xsdocparse.pl instead of podselect
	to extract pod used to build xsapi.pod.

	* GType.xs: new function Glib::Type->package_from_cname() turns
	a c type name into registered Perl package name, if found.
	also added some =for apidoc pod to test out xsdocparse.pl.

2003/10/23 16:04 rwmcfa1

	* GType.xs: Glib::Type->list_ancestors, list_interfaces, and
	list_signals added. with that V commit this starts to bring together
	some petty powerful magic.

2003/10/23 15:51 muppetman

	* GType.xs: Glib::Type->list_values ($enum_or_flags_package).
	also takes a C type name, e.g., "GtkWidgetFlags", in case the type
	is registered with glib but not with the bindings.
	* GObject.xs: fix list_properties to allow package names instead
	of just objects.

2003/10/18 02:36 muppetman

	* Glib.pm: bump version for devel series
	* typemap, gperl.h: new typedef and typemaps for the much-needed
	gchar_ornull.
	* GLog.xs: use the new gchar_ornull typemap to clean things up a bit.
	* GType.xs: commentary

2003/10/12 13:42 rwmcfa1

	* (most).xs, gperl.h: UNUSED is no more, PERL_UNUSED_VAR used where 
	needed, relies on new ParseXS to prevent the other warnings that were
	its fault, we now only quite the ones that are ours

2003/10/09 22:23 muppetman

	* Glib.pm, META.yml, README, debian/changelog: 1.00

	* GType.xs: typo in the documentation.

2003/10/03 15:54 muppetman

	* Glib.pm, META.yml, README, debian/changelog: 1.00rc4

2003/10/02 03:34 rwmcfa1

	* Glib.xs: core dumps occur in gperl_croak_gerror when NULL is passed 
	for err, assertion now checks for it. only binding authors would run
	across this one, but know it will be more ovbious what they've done 
	wrong, speaking from expirence...

2003/10/02 03:13 muppetman

	* gperl.h: bad nesting of parens in a debugging macro

	* GClosure.xs: bug in error-handling code in gperl_callback_invoke
	made it a little hard to track down the fact that a callback was
	created with the wrong parameter type.

2003/10/01 11:20 rwmcfa1

	* Glib/GBoxed.xs, Glib/GLog.xs, Glib/GObject.xs, Glib/GSignal.xs,
        Glib/GType.xs, Glib/gperl.h, Gtk2/xs/GtkAccelGroup.xs,
        Gtk2/xs/GtkIconFactory.xs, Gtk2/xs/GtkListStore.xs,
        Gtk2/xs/GtkObject.xs, Gtk2/xs/GtkToolbar.xs, Gtk2/xs/GtkTreeView.xs,
        Gtk2/xs/GtkWidget.xs: // comments -> /*

2003/09/26 04:10 muppetman

	* Glib.pm, META.yml, README, debian/changelog: 1.00rc3

	* GClosure.xs: assert that we have a callback before doing anything
	to it.  Clean up a bad comment char.

2003/09/21 20:19 rwmcfa1

	* Makefile.PL: fixed bug in specfile generation

2003/09/21 15:03 rwmcfa1

	* (lots of files): license updates/additions

2003/09/19 00:21 muppetman

	* Glib.pm, META.yml, README, debian/changelog, debian/control: updated
	for 1.00rc2 release

	* Makefile.PL: there was no version 0.1 of ExtUtils::PkgConfig...

2003/09/17 10:44 rwmcfa1

	* Makefile.PL: ExtUtils::PkgConfig can now deal with version 
	requirements using pkg-config's interface, make use of it.

	* t/6.t: removed, this tested Glib::PkgConfig

2003/09/16 23:50 rwmcfa1

	* Makefile.PL, perl-*spec.in: somewhat automated versioning system 
	implemented for depenancy modules

	* PkgConfig.pm: moved to new ExtUtils::PkgConfig module

	* MANIFEST: PkgConfig.pm removed from manifest

2003/09/16 15:00 muppetman

	* GClosure.xs, gperl.h: changed type of "tag" in signature of
	gperl_remove_exception_handler() to avoid signedness warnings.
	the tag's supposed to be a guint anyway.

	* GObject.xs, GMainLoop.xs, GParamSpec.xs, GSignal.xs, GType.xs,
	GValue.xs, Glib.xs: cleanup: casting to hush pedantic compiler
	warnings; can't have UNUSED in PREINIT:, put it in CLEANUP:;
	quell no-return warnings on functions that croak.

2003/09/15 22:26 rwmcfa1

	* Makefile.PL: spec file dependancies improved

2003/09/15 17:43 muppetman

	* gperl.h, Glib.exports: add gperl_signal_set_marshaller_for and
	gperl_closure_new_with_marshaller

	* GClosure.xs: add gperl_closure_new_with_marshaller, allowing you
	to specify a custom marshaller to use for a GPerlClosure.  you can't
	just call g_closure_set_marshal again, because glib asserts that it
	hasn't been set yet.  this is used by gperl_signal_connect, as part 
	of the changes described below.  includes POD that warns you that
	you really don't want to use this function.  gperl_closure_new now
	just calls this.

	* GSignal.xs: add thread safety to the closures list.  added
	gperl_signal_set_marshaller_for, to allow client code to specify a
	special marshaller to use for all invocations of a particular named
	signal on a particular class; this is intended to allow workarounds
	for unhelpfully defined signal parameter types.

	* Glib.pm: bumped version to rc2, since we export new C-level APIs.

2003/09/11 23:33 muppetman

	* Glib.pm, MANIFEST, META.yml, README, debian/changelog: updated
	for 1.00rc1 release

2003/09/11 23:10 rwmcfa1

        * gperl.h: added UNUSED macro

        * ChangeLog, GClosure.xs, GLog.xs, GMainLoop.xs, GObject.xs,
        GParamSpec.xs, GType.xs: make use of UNUSED macro to quite warnings
        about class and/or ix being unused, other slight/small warnings fixed
        when -Wall

2003/09/11 22:30 muppetman

	* Subclass.pm: documentation about creating properties, creating
	signals, and overriding class closures.

	* gperl.h: more than one file needs gperl_type_class

	* GType.xs: unused variable

2003/09/11 21:50 muppetman

	* GSignal.xs, Glib.exports, gperl.h: implement
	g_signal_chain_from_overridden and a wrapper for GSignalFlags;
	make signal_emit actually catch return values and give them back
	to perl; add output-only wrapper for GSignalInvocationHint.

	* GType.xs, t/7.t, t/8.t: make class closures optional for new
	signals; allow the creation of signals that have return values;
	allow perl to supply custom accumulators for valued signals;
	make overriding class closures actually work.

2003/09/11 13:27 muppetman

	* t/7.t: use strict and warnings in this one, too.

2003/09/11 10:35 rwmcfa1

	* t/[1234568a].t: use strict and warnings, fixes to make doing so work.

2003/09/06 19:23 rwmcfa1

	* Makefile.PL: dist-rpms build target added

	* perl-Glib.spec.in: initial import

2003/09/05 01:50 muppetman

	* README, debian/changelog: update for 0.97 release

2003/09/05 00:51 muppetman

	* Glib.pm: more pod (too much?  should it be in a separate doc?)

	* t/a.t, Glib.exports, Glib.xs, Makefile.PL, gperl.h, MANIFEST:
	add support for routing g_log messages through perl

2003/09/01 19:52 muppetman

	* Glib.pm: don't set dl_load_flags on darwin, it generates a warning.
	also bump version so that cvs versions of Gtk2 which depend on 
	T_GPERL_GENERIC_WRAPPER will force upgrades.

	* typemap: use a new generic typemap for all the types which follow
	the SvMyType/newSVMyType naming convention.

2003/08/28 23:30 muppetman

	* gperl.h, GClosure.xs, Glib.xs: merged changes from the exceptions
	branch.  gtk2-perl now attempts to do reasonable handling of 
	exceptions in callbacks.  still needs pod for the perl-level stuff,
	but i'm not sure where to put it.

	* Glib.exports: new exportable symbols

	* GParamSpec.xs: hush uninitialized value warning (drop in the bucket)

	* Glib.pm, MANIFEST, README, debian/changelog: update for 0.96 release

2003/08/28 17:45 muppetman

	* GSignal.xs: clean up comments, bind signal_handler_is_connected

2003/08/22 01:11 muppetman

	* Glib.pm, README, META.yml, debian/changelog, MANIFEST:
	prep for 0.95 release

2003/08/19 21:11 rwmcfa1

	* Makefile.PL: added realclean removal of build dir to postamble 
	section.

2003/08/18 23:45 muppetman

	* t/7.t: test out signal stuff on a subclassed object.

2003/08/18 17:28 muppetman

	* GSignal.xs: quiet down remember_closure and forget_closure, now
	that i'm sure they work.

2003/08/16 20:53 muppetman

	* GSignal.xs: implemented wrappers for g_signal_handlers_block_by_func,
	unblock_by_func, and disconnect_by_func.  code for the _matched
	versions of these functions (the generic ones) is commented out, 
	because there is no typemap for GSignalMatchType.

2003/08/15 09:35 muppetman

	* debian/*, AUTHORS: patch from James Curbo adding maintainence
	files for debian packages.

	* MANIFEST, README, Glib.pm: updated for 0.94 release

2003/08/14 16:54 muppetman

	* apidoc.pl, Makefile.PL: use a simple perl script instead of shell
	commands in the makefile to create xsapi.pod; not all platforms have
	the shell tools, and this will let us sneak in more sophisticated
	stuff later.

	* PkgConfig.pm: portability fixes

2003/08/14 11:50 muppetman

	* devel.pod, Makefile.PL, Glib.pm: new manpage, Glib::devel, describes
	the philosphy of how the bindings are designed and how they work; an
	overview-style supplement to Glib::xsapi, which details the APIs
	themselves.

2003/08/13 23:44 muppetman

	* GObject.xs: fatalistic commentary

	* GIOChannel.xs, Glib.xs, Makefile.PL: new file GIOChannel.xs

	* GClosure.xs, GMainLoop.xs, GSignal.xs, gperl.h: closure
	correctness and simplification fixes

	* GValue.xs: reordering to assure that all the same types are
	handled in both switches; croak on unhandled types rather than
	just warn --- an unhandled type is a bug that we need to know
	about; it may require a handler registration mechanism.

	* TODO: updates

2003/08/13 18:15 muppetman

	* xsapi.pod.foot, xsapi.pod.head: new files

	* GBoxed.xs, GClosure.xs, GObject.xs, GSignal.xs, GType.xs, GValue.xs,
	Glib.xs, Makefile.PL, gperl.h: moved all the gtk-doc commentary in
	gperl.h into embedded pod in the various XS files; now we can extract
	all the pod from the XS files and convert that into an installable
	API reference document, Glib::xsapi.

2003/08/12 12:06 rwmcfa1

	* PkgConfig.pm: can now take multiple pkg name parameters, see t/6.t
	for examples of usage.

	* t/6.t: test out PkgConfig.pm some.

2003/08/09 23:57 pcg

	* gperl.h: export gperl_register_fundamental.
        * Glib.exports: add it here, too (actually, this was an anonymous
        check-in by muppetman... tsk, tsk..)

2003/08/09 02:09 muppetman

	* GBoxed.xs, t/2.t: removed a FIXME

2003/08/01 12:41 muppetman

	* MANIFEST, README, Glib.pm: updated for 0.92 release

2003/07/31 19:40 muppetman

	* Glib.exports, Makefile.PL, gperl.h: a few windows-specific things

2003/07/30 09:21 rwmcfa1

	* GBoxed.xs: bug found by matthias blasing that when getting a legal
	property off off a gobject that had no value assigned would croak with
	a NULL to boxed error.  croak changed to warn and wrapped in a NOISY. 
	returns undef from the null test

2003/07/29 14:52 rwmcfa1

	* GObject.xs: #ifdef'd out the warning when returning undef from 
	gperl_new_object, tree's can rightfully ellicit this, if you're in a
	state of heavy devel on wrappers you might want to re-enable it

2003/07/29 00:58 pcg

	* Subclass.pm: fix typoe.

2003/07/25 10:21 muppetman

	* Glib.pm, README: bump version to 0.91

2003/07/23 23:27 pcg

        * PkgConfig.pm: allow better win32 compatibility (I made a native,
        win32 build of Glib today).

2003/07/18 12:05 muppetman

	* Glib.pm, README, META.yml

2003/07/17 11:44 muppetman

	* GBoxed.xs, GObject.xs, GTypes.xs, Glib.xs, Makefile.PL: add the
	necessary locking to make the perl bindings thread-safe.  thanks go
	to Brett Kosinski for contributing the initial patch and bugging me
	about it, which he needed for work on GStreamer	bindings.

2003/07/10 09:50 muppetman

	* Glib.pm: $VERSION is actually treated as a string, write it as one
	to avoid bootstrap problems when using a locale that writes numbers
	differently.  (thanks to thierry for finding that.)

2003/07/06 16:48 muppetman

	* GSignal.xs: add g_signal_stop_emission_by_name

2003/07/05 06:37 pcg

	* typemap: add gchar_own*, for functions that return allocated
        strings and gchar_length* for functions expecting a length() input.
        * gperl.h: add gchar_own and gchar_len typedefs.

2003/07/04 13:35 muppetman

	* Makefile.PL: patch from Thierry Vignaud fixed my copy and paste
	bug which leads to errors when ExtUtils::Depends isn't present.

	* ChangeLog: bump to 0.26 for release

2003/06/28 03:16 pcg

	* GType.xs: remove superfluous gperl_object_new call.

        * GObject.xs: important bugfix: the calls with own==FALSE in
        GType.xs caused premature death of the perl wrapper. The fix
        incurs a slight performance hit, so only do it when own==TRUE, as
        this should be the only case where it is ever required.

        * t/5.t: test for this case.

2003/06/27 17:00 muppetman

	* GObject.xs: get_data and set_data work only with UVs now,
	because it's not safe to treat them as anything else, and
	since we can use hash keys they aren't needed for anything else.

2003/06/27 12:00 muppetman

	merged realobjects-branch back onto HEAD.  this was a week's worth
	of work, mostly by pcg with some help from me.  here's a summary of
	changelog items from that branch:

	* README.api-changes: clearinghouse for API gripes, please amend
	* GParamSpec.xs, Glib.xs, typemap, gperl.h, Makefile.PL: support
	for pspecs, so we can add properties to gobjects.
	* Subclass.pm, t/[345].t: extra module to ease implementation of
	subclasses, and some tests for it
	* Glib.pm: pod updates
        * GObject.xs: big change in how perl wrappers are implemented.
	the new implementation will only ever create one perl wrapper (a
	real hash, with magic containing the gobject's address) for any
	gobject. The combined perl+gobject will stay alive as long as one
	of the partners is alive. The only real changes are in
	gperl_new_object and in the DESTROY method.
        * GType.xs: rename INSTANCE_INIT to INIT_INSTANCE and make it a
        function call as opposed to a method call. Also call FINALIZE_INSTANCE
        on object finalization time.  implemented creation of properties
	for an object in Glib::Type::register, and implemented calling
	of SET_PROPERTY and GET_PROPERTY on the resultant object.

	other changes during the merge:
	* Makefile.PL: install MAN3PODS with the correct names.
	* PkgConfig.pm: add some documentation

2003/06/25 09:25 muppetman

	* GValue.xs, GClosure.xs: add a MODULE directive to appease
	ExtUtils::ParseXS

2003/06/20 11:29 muppetman

	* README, Makefile.PL: bump version number for 0.24 release

2003/06/19 00:44 pcg

	* Depends.pm: moved to ExtUtils-Depends module.
	* Makefile.PL: add ExtUtils-Depends as prerequisite, please
	install the ExtUtils::Depends module seperately from cvs.

2003/06/16 14:21 muppetman

	* GBoxed.xs, gperl.h: converted GBoxed to use vtable-based wrappers;
	this allows client code to install new wrapper classes that make
	gperl_sv_from_value and gperl_value_from_sv call the right code
	to convert boxed types in custom ways.  GPerlBoxedPackageFunc has
	disappeared and the call signature for gperl_register_boxed has
	changed (well, the meaning of that one extra parameter -- if you
	already passed NULL, there's nothing to worry about).

	* GMainLoop.xs, typemap: added support for some GMainContext and
	GMainLoop methods.

2003/06/13 14:12 muppetman

	* GObject.xs: rename Glib::Object->_new to Glib::Object->new -- it
	should be that because people expect it.  other cleanup.  NOTE: we 
	need to have object wrappers be able to override things like "take
	ownership", "wrap", "unwrap", and "destroy"... as it is, if you
	create a wrapper for a GtkObject from Glib::Object->new, the wrapper
	will be created incorrectly (gtk_object_sink will not be called).
	to do all of this correctly will also require wrapper caching, 
	which i haven't made work reliably...  but i'm working on it now.

2003/06/12 15:18 muppetman

	* GClosure.xs: protect yourself from maniacal code that passes in
	something to get a return value from closures/callbacks with no
	return value.  this makes gperl_value_from_sv stop warning about
	bad types on the activate signal for GtkEntry, for example.

2003/06/11 09:25 muppetman

	* GValue.xs: undef is also false; use SvTRUE instead of SvIV when
	evaluating an SV as a gboolean to allow undef to pass quietly.

	* GType.xs: add Glib::Double

2003/06/17 18:21 muppetman

	* gperl.h, xs/GObject.xs: move sink functions into Glib, 
	to avoid some problems in which GtkObject created via 
	Glib::Object->new don't have gtk_object_sink called on them.
	this problem is actually more generic than just GtkObject (other
	libraries do similar things).

2003/06/09 13:49 muppetman

	* gperl.h, typemap: corrected broken handling for GObject output
	typemap; now uses SvGObject/newSVGObject-style macros and the
	_ornull/_noinc variants that Gtk2 uses.

2003/06/06 23:55 muppetman

	* GObject.xs, GType.xs: copy scalars that will be stored, don't just
	mess with the reference count, for along that way lies madness.

	* MANIFEST: added some key missing files (AUTHORS, LICENSE, ChangeLog)

	* Glib.pm: bumped version number to 0.22 for public release

2003/06/01 16:16 muppetman

	applied patch from Marc Lehmann (pcg at goof dot com)

	* GObject.xs: allow $object->get and $object->set to work on
	multiple properties.

	* Glib/GClosure.xs: don't try to PERL_SET_CONTEXT on non-threaded perls

2003/05/30 23:55 muppetman (while watching zep at the albert hall)

	* GType.xs: initial values, try to avoid warnings and bugs

	* AUTHORS, GClosure.xs, gperl.h, typemap: applied more patches from
	Brett Kosinski; added typemaps for gint64 and guint64, ensure that
	closures and callbacks are executed by the interpreters that created
	them.

2003/05/29 15:51 muppetman

	* GType.xs, gperl.h: applied patch (with liberal modifications) from
	Brett Kosinski (brettk at frodo dot dyn dot gno dot org) to add 
	gperl_try_convert_flag, like the existing gperl_try_convert_enum.
	rearranged things to avoid copied code, and use the _try_ versions
	as the actual workhorses.  added a little more commentary, too.

2003/05/26 04:28 muppetman

	* Glib.pm: bumped version for development release

	* GBoxed.xs: ensure that the scalar from which we try to extract
	a boxed pointer is actually a reference.

2003/05/22 10:30 muppetman

	* AUTHORS, LICENSE every other file: in every file in the project 
	added a header pointing to the new AUTHORS and LICENSE files.
	changed the license clause in the docs from "same as perl" to GPL.

2003/05/18 14:00 muppetman

	* ChangeLog: since breaking the monolithic build into pieces, 
	ChangeLog entries for Glib will be in here.  i've included the 
	contents of the toplevel log up to this point for history.

	* MANIFEST: updated for proper make dist

	* Glib.pm: changed version number

	* README: updated

2003/05/17 09:06 rwmcfa1

	* Glade/*: first pass at GladeXML added

	* Makefile: added, see comments within

	* Makefile.PL: is no more

	* lots and lots of files: G -> Glib and other related/required changes

2003/05/16 14:55 muppetman

	* Gtk2/xs/GtkSpinButton.xs: removed get_value_as_float because it is
	deprecated (and had the wrong return type anyway).

2003/05/15 11:45 muppetman

	* G/GSignal.xs: hush unused parameter warning, more efficient 
	this way, anyway

	* Gtk2/xs/GtkContainer.xs: implemented foreach

	* Gtk2/xs/GtkIconFactory.xs: minor bugfix

	* G/GType.xs, G/GValue.xs, G/gperl.h, G/typemap,
	Gnome2/xs/GnomeProgram.xs, Gtk2/xs/GtkCombo.xs, Gtk2/xs/GtkDialog.xs,
	Gtk2/xs/GtkFrame.xs, Gtk2/xs/GtkItemFactory.xs, Gtk2/xs/GtkStock.xs,
	Gtk2/xs/GtkTextBuffer.xs, Gtk2/xs/GtkToolbar.xs,
	Gtk2/xs/GtkTooltips.xs, Gtk2/xs/GtkTreeViewColumn.xs: use newSVGChar
	and SvGChar instead of newSVpv and SvPV_nolen for gchar*, to ensure
	valid utf8 handling.  this definitely needs testing.

2003/05/06 12:56 rwmcfa1

	* Gtk2/t/1.GtkWindow.t, Gtk2/t/2.GtkButton.t: prevent windows from
	fighting over focus and thus stall tests (happends with wmaker)

	* Gtk2/t/16.GtkMenu-etc.t: we don't really know how to use 
	tearoff_state so for the time being we won't

2003/05/05 23:11 muppetman

	* G/G.pm, Gtk2/Gtk2.pm: pod updates

2003/05/05 16:35 muppetman

	* Gtk2/xs/GtkTooltips.xs: work around a (bug|feature) in the Gtk+
	C library by storing a GtkTooltips reference in the GtkWidget's user
	data.  doesn't hurt normal behavior, and prevents some hard-to-explain
	pitfall errors.

2003/05/03 11:17  joered

	* Gtk2/: Gtk2.pm, Makefile.PL, pm/Helper.pm: removed deprecated
	timeout/idle/input methods from Gtk2.pm; added Gtk2/pm/Helper.pm
	with a convenience implementation of add_watch/remove_watch

2003/05/02 18:11 muppetman

	* Gtk2/gtk-demo/apple-red.png, Gtk2/gtk-demo/background.jpg,
	Gtk2/gtk-demo/gnome-applets.png, Gtk2/gtk-demo/gnome-calendar.png,
	Gtk2/gtk-demo/gnome-foot.png, Gtk2/gtk-demo/gnome-gimp.png,
	Gtk2/gtk-demo/gnome-gmush.png, Gtk2/gtk-demo/gnome-gsame.png,
	Gtk2/gtk-demo/gnu-keys.png: images needed by Gtk2/gtk-demo/pixbufs.pl,
	directly from the gtk+-2.2.1 source distribution.

	* G/GType.xs, Gtk2/examples/histogramplot.pl: a bunch of code,
	borrowed from pygtk, to add signals to a derived class.
	altered the histogramplot example to use a new signal.

	* Gtk2/xs/GtkTooltips.xs: allow tip_private to default to NULL

2003/05/02 00:30 muppetman

	* Gtk2/Gtk2.pm, Gtk2/gtk2perl.h, Gtk2/examples/scribble.pl,
	Gtk2/gtk-demo/drawingarea.pl, Gtk2/gtk-demo/pixbufs.pl, Gtk2/xs/Gdk.xs,
	Gtk2/xs/GdkTypes.xs, Gtk2/xs/GtkCellRenderer.xs, Gtk2/xs/GtkWidget.xs:
	reverted the whole GdkRectangle mess.  it's a boxed type again.
	this clears up several bugs to do with GdkAllocation, and in fact
	makes the whole shebang more efficient because we don't just create
	an array any time the GdkRectangle is needed, in which case it is
	often thrown away or only one element is used.  added a ->values
	function, like in gtk2-perl, which returns the members in a list
	in the order you'd want for passing to several important gdk
	functions.  Gtk2::Gdk::Rectangle->new is good for creating new
	rectangles.

	* Gtk2/xs/GtkTextView.xs, Gtk2/xs/GtkTreeView.xs: implemented some
	functions found to be missing when looking for GdkRectangle returns
	that needed to be marked _copy.

2003/05/01 23:17 joered

	* Gtk2/xs/GtkCombo.xs: added GtkCombo->entry and GtkCombo->list
	returning the correspondent widgets

	* Gtk2/xs/GtkHBox.xs, Gtk2/xs/GtkVBox.xs: default homogenous is 0
	and default spacing is 5, as in gtk-perl

	* Gtk2/xs/GtkWidget.xs: widget flags can now be set with
	Widget->flag_name(1) resp. unset with Widget->flag_name(0);
	Widget->flag_name() still returns current state

2003/05/01 08:00 rwmcfa1

	* Gtk2/xs/GtkStyle.xs: removed deprecated functions, there was a lot 
	of them.

2003/04/31 01:00 muppetman

	* Gtk2/xs/GtkFrame.xs: properly allow undef in Gtk2::Frame->new (was
	adding an empty string instead of passing NULL)

	* Gtk2/xs/Gdk.xs, Gtk2/xs/GdkPixbufLoader.xs, Gtk2/xs/GdkRegion.xs,
	Gtk2/xs/PangoContext.xs, Gtk2/xs/PangoLayout.xs: newly implemented

	* Gtk2/examples/histogramplot.pl: new code to test drive drawing
	primitives, pango text handling and drawing, and subclassing.  lots
	of stuff in here; was ported from a working C class library i've
	been writing.

	* G/GType.xs, G/GObject.xs, Gtk2/xs/GtkObject.xs: support for 
	pure-perl GObject subclasses.
	  added G::Type->register to create a new GType (basically wraps
	g_type_register_static), G::Object->_new, to be called from perl
	constructors for things inheriting GObject, and Gtk2::Object->new,
	which MUST be used for things inheriting GtkObject (to handle the
	floating ref situation properly).
	  this allows the perl developer to create new widgets without writing
	C code!  adding signals and properties is currently not implemented.

	* Gtk2/CodeGen.pm: more correct handling of undef --- previous code 
	was allowing a variable containing undef to pass, which would cause
	a croak in the wrapper-reader function.

	* Gtk2/Gtk2.pm, Gtk2/xs/GdkTypes.xs: stopgap solution, simple lvalue 
	subs to get members from a rectangle list

	* Gtk2/gtk-demo/drawingarea.pl: revert to named member method syntax
	for rectangles

	* Gtk2/gtk-demo/pixbufs.pl: actually works now.  you need the images,
	which i don't think are in CVS yet.

	* Gtk2/gtk-demo/stock_browser.pl: cleanup

	* Gtk2/xs/GdkPixmap.xs: implemented create_from_xpm_d and
	colormap_create_from_xpm_d

	* Gtk2/xs/GdkWindow.xs: allow NULL for cursor in set_cursor

	* Gtk2/xs/GtkWidget.xs: implemented create_pango_layout

2003/04/29 21:55 joered

	* Gtk2/xs/GtkListStore.xs: bugfix: gtk_list_store_append and
	gtk_list_store_prepend were swapped

2003/04/29 23:44 muppetman

	*  Gtk2/xs/GdkDrawable.xs: implemented gdk_draw_polygon,
	gdk_draw_points, gdk_draw_lines, gdk_draw_segments,
	gdk_draw_layout, and gdk_draw_layout_with_colors

	* G/GObject.xs: removed some very old and very broken commented-out
	code (wrapper instance caching).  added new methods for dealing with
	foreign objects in perl: G::Object->new_from_pointer(VAL, NOINC) (a
	direct wrapper around gperl_new_object), and $object->get_pointer.

2003/04/29 18:10 muppetman

	* Gtk2/xs/GtkWindow.xs: icon list stuff

	* Gtk2/gtk-demo/images.pl, Gtk2/gtk-demo/pixbufs.pl: the last two
	pieces of gtk-demo (need some image files and such, though), and
	these two don't work correctly.

	* Gtk2/gtk-demo/appwindow.pl, Gtk2/gtk-demo/button_box.pl,
	Gtk2/gtk-demo/changedisplay.pl, Gtk2/gtk-demo/colorsel.pl,
	Gtk2/gtk-demo/dialog.pl, Gtk2/gtk-demo/editable_cells.pl,
	Gtk2/gtk-demo/item_factory.pl, Gtk2/gtk-demo/list_store.pl,
	Gtk2/gtk-demo/main.pl, Gtk2/gtk-demo/menus.pl,
	Gtk2/gtk-demo/panes.pl, Gtk2/gtk-demo/sizegroup.pl,
	Gtk2/gtk-demo/stock_browser.pl, Gtk2/gtk-demo/textview.pl,
	Gtk2/gtk-demo/tree_store.pl: gtk-demo runs!  lots of cleanup in the
	pieces, and changed each one to us a single entry point name, defined
	in a package with the same name as the file; this bit of subterfuge
	was necessary because of the differences between C and perl, and the
	fact that the app is designed as a C program.  NOTE: drawingarea.pl
	is broken, because my copy has other changes that won't work with
	the current state of CVS.

2003/04/29 16:16 rwmcfa1

	* Gtk2/xs/GdkGC.xs: impelemted gdk_gc_set_dashes

2003/04/29 15:10 muppetman

	* Gtk2/xs/GtkSizeGroup.xs: implemented size groups

	* Depends.pm, G/Depends.pm, G/Makefile.PL, Gnome2/Makefile.PL,
	GnomePrint2/Makefile.PL, Gtk2/Makefile.PL, GtkSpell/Makefile.PL,
	G/PkgConfig.pm, Gtk2/CodeGen.pm, helpers/genstuff.pl,
	helpers/genboot.pl: build system hacks.
	moved Depends.pm under G, so that G can install it.
	  made a module of some boilerplate to handle dealing with pkgconfig,
	and converted the code in helpers/genstuff.pl and helpers/genboot.pl
	into Gtk2/CodeGen.pm, stuff that can be called from Makefile.PLs.
	  hacked up a the Makefile.PLs to reflect these changes.
	  this makes it possible to use the autogen build tools outside the 
	source tree --- the first step towards breaking up the source tree 
	into separately distributable modules.

2003/04/29 11:14 muppetman

	* Gtk2/gtk-demo/sizegroup.pl: another little piece of my heart

	* Gtk2/xs/GtkDialog.xs: use alias to ensure that new_with_buttons
	exists for those who seek it.

2003/04/28 23:25 muppetman

	* Gtk2/xs/GtkListStore.xs, Gtk2/xs/GtkTreeStore.xs: work around
	bizarre stack behavior by not using a helper function.  trying to
	read the stack in a helper function called from an xsub was resulting
	in the stack showing the wrong number of items.

2003/04/28 18:00 muppetman

	* Gtk2/gtk-demo/panes.pl: another piece of the gtk-demo pie

	* G/G.pm G/GObject.xs: overload the == operator, for more natural
	object comparisons

	* Gtk2/xs/GtkPaned.xs: struct member access

	* Gtk2/Makefile.PL Gtk2/genkeysyms.pl: create a big hash of key
	symbols in Gtk2::Gdk::Keysyms, a la gtk-perl

	* Gtk2/xs/GtkRadioButton.xs, Gtk2/xs/GtkRadioMenuItem.xs,
	Gtk2/xs/GtkButton.xs, Gtk2/xs/GtkCheckButton.xs,
	Gtk2/xs/GtkCheckMenuItem.xs, Gtk2/xs/GtkImageMenuItem.xs,
	Gtk2/xs/GtkMenuItem.xs, Gtk2/xs/GtkToggleButton.xs: consolidate
	constructors with ALIAS to avoid copying code.  make sure that
	group isn't a valid SV pointing to undef

	* Gtk2/xs/GtkWidget.xs: implemented queue_draw, add_accelerator,
	remove_accelerator, and get_display

2003/04/27 08:52- rwmcfa1
	
	* Gtk2/t/16.GtkMenu-etc.t: Added a first pass at the testing of
	GtkMenu and friends.

	* Gtk2/t/15.GtkHandleBox.t: Added a decently complete test of
	GtkHandleBox

	* Gtk2/t/14.GtkToolbar.t: Added a decently complete test of GtkToolbar

	* Gtk2/xs/GtkToolbar.xs: Fixed a bug where GtkToolbarChildType was
	wrongly being used as a gtype, caused all _element functions to fail

	* Gtk2/t/13.GtkTooltips.t: Added a decently complete test of
	GtkTooltips

	* Gtk2/xs/GtkTooltips.xs: implemented an attempt at
	gtk_tooltips_data_get which returns what is in the GtkTooltipsData
	struct as a hash.

	* Gtk2/t/12.GtkDialog.t: Added a decently complete test of GtkDialog

	* Gtk2/xs/GtkDialog.xs: added gtk_dialog_add_butttons with multiple
	calls to gtk_dialog_add_button. combined the vbox and action_area get
	functions into one aliased function. also changed a char* to a gchar *

	* Gtk2/maps: hand added entry for Gtk2::Progress, removed

	* Gtk2/xs/GtkProgressBar.xs: added a BOOT section with a isa call to
	tell GtkProgressBar that it's a GtkWidget dependant.

2003/04/26 09:53- rwmcfa1

	* GtkSpell/Spell.pm: first pass of documentation

	* GtkSpell/GtkSpell.xs: gtkspell_get_from_text_view now accepts and
	ignores a class

	* Gtk2/t/10.GtkProgressBar.t, Gtk2/t/11.GtkStatusBar.t: first passes
	at testing the two modules

	* Gtk2/maps: hand added a (maybe temporary) entry for Gtk2::Progress

	* Gtk2/xs/GtkProgressBar.xs: removed a bunch of deprecated functions

	* Gtk2/xs/GtkMenuItem.xs, Gtk2/xs/GtkRadioButton.xs,
	Gtk2/xs/GtkRadioMenuItem.xs, Gtk2/xs/GtkToggleButton.xs: now new with
	string new('string') uses mnemonic instead of label. seems like a good
	idea. you can use new_with_label if you don't want this behavior. also
	impelented news with aliases for new and new_with_mnemonic (saves code
	space/copying).

	* Gtk2/xs/GtkCheckButton.xs, Gtk2/xs/GtkCheckMenuItem.xs,
	Gtk2/xs/GtkImageMenuItem.xs: same as ^ with the addition of: wrappers
	for _new_with_label were invalid they're now fixed.

2003/04/25 23:01 rwmcfa1

	* GtkSpell/: Initial import of working (for me anyway) GtkSpell
	mappings, give them a try.

2003/04/25 18:17 muppetman

	* Gtk2/gtk-demo/changedisplay.pl, Gtk2/gtk-demo/drawingarea.pl,
	Gtk2/gtk-demo/editable_cells.pl: more demo pieces.  changedisplay.pl
	is completely untested, because i do not have Gtk+ 2.2 on my
	development machine.

	* G/GClosure.xs: always copy SVs that are to be stored.  see the
	perlcall manpage.  this fixes some intermittent bugs that happen
	when reusing the same variable for various objects.

	* Gtk2/xs/GdkWindow.xs: implemented gdk_window_invalidate_rect

	* new-gtk2-perl.html, G/GBoxed.xs, helpers/genstuff.pl, G/gperl.h,
	G/GObject.xs: renamed gperl_register_class to gperl_register_object
	to be more consistent (with gperl_register_fundamental and
	gperl_register_boxed).  also added
	gperl_object_set_no_warn_unreg_subclass, made gperl_get_object
	honor it.

	* Gtk2/xs/GdkGC.xs, Gtk2/xs/GtkStyle.xs: set 'no warn for unregistered
	subclasses on GtkStyle and GdkGC.  causes the type system to stop
	spewing messages on stderr about unregistered types from theme
	engines and gdk backends.

	* Gtk2/gtk2perl.h, Gtk2/examples/scribble.pl, Gtk2/xs/GdkEvent.xs,
	Gtk2/xs/GdkTypes.xs, Gtk2/xs/GtkCellRenderer.xs: completely reworked
	the handling of GdkRectangle.  it's now treated as a perl list
	instead of an opaque type; this is consistent with gtk-perl and
	makes life easier for manipulating the rectangles in perl.

	* Gtk2/xs/GtkWidget.xs: changed handling of GtkAllocation, since
	handling of GdkRectangle changed. invisible from the perl side.
	also implemented gtk_widget_get_events.

	* Gtk2/xs/GtkImage.xs: implemented gtk_image_new_from_pixmap,
	gtk_image_set_from_pixmap, and gtk_image_get_pixmap

	* Gtk2/xs/GtkLabel.xs: allow Label->new to default to NULL for
	creating empty labels.

	* Gtk2/xs/GtkTreeModel.xs: implemented gtk_tree_path_get_indices

2003/04/25 12:40 rwmcfa1

	* Gtk2/t/1.GtkWindow.t: corrected check for gtk >= 2.2

	* Gtk2/t/5.GtkListStore-etc.t: if 2.2 then try the reorder function

	* Gtk2/xs/GtkCurve.xs: re-did set_vector to be clearer and removed a
	unused param name from prototype.

	* Gtk2/xs/GtkFileSelection.xs:  clarified the a for loop's operations
	in get_selections

	* Gtk2/xs/GtkTreeStore.xs, Gtk2/xs/GtkListStore.xs: added itital pass
	at _store_reorder

	* Gtk2/maps: added stuff new as of gtk2.2.1

	* Gtk2/xs/GtkPlug.xs Gtk2/xs/GtkWindow.xs Gtk2/xs/GdkCursor.xs
	Gtk2/xs/GdkDrawable.xs Gtk2/xs/GtkInvisible.xs Gtk2/xs/GtkMenu.xs:
	uncommented stuff new to gtk 2.2 now that maps is up to date for 2.2.1

2003/04/24 18:24 muppetman

	* Gtk2/gtk-demo/appwindow.pl, Gtk2/gtk-demo/button_box.pl,
	Gtk2/gtk-demo/colorsel.pl, Gtk2/gtk-demo/dialog.pl: more pieces of
	the demo

	* Gtk2/xs/GtkToolbar.xs: implemented all the append/prepend/insert
	functions that were left out because they require callbacks

	* Gtk2/xs/GtkStock.xs: implemented gtk_stock_add

	* G/GSignal.xs, G/gperl.h: export gperl_signal_connect, the actual
	workhorse, so other XSubs can use it

	* Gtk2/xs/GtkColorSelection.xs: fixed get_current_color and
	get_previous_color

	* Gtk2/xs/GtkColorSelectionDialog.xs: member access

	* TODO: high-level things (i forgot to commit this last week)

2003/04/24 17:55 rwmcfa1

	* Gtk2/t/5.GtkListStore-etc.t: fixed type-o, datam -> data that was
	preventing entries being made into the list

	* Gtk2/xs/GtkMessagedialog.xs: removed a TODO, it is probably better
	to just pass the message as you want it rather than use the varargs
	stuff anyway

2003/04/24 13:30 muppetman

	* Gnome2/xs/GnomeProgram.xs, Gnome2/druid.pl: implemented object
	properties on Gnome2::Program->init (was a FIXME)

	* G/GObject.xs: created alias get_property for get and set_property
	for set, since some objects mask the G::Object-level method with
	their own.  in list_properties, don't die if the descr isn't set.

2003/04/24 12:55 muppetman

	* helpers/genstuff.pl: wrap generated code in #ifdefs to support
	versioning (typemaps must be generated even if the code isn't, so
	we generate everything but only use part of it)

2003/04/23 10:44 rwmcfa1

	* Gtk2/xs/GtkHButtonBox.xs, Gtk2/xs/GtkVButtonBox.xs:
	get_spacing_defaults should accept and ignore class

	* Gtk2/gtk2perl.h: type-o newSVGdkModiferType -> newSVGdkModifierType

	* Gtk2/xs/GtkFontSelection.xs: type functions should not be in XS, it's
	all automagical

	* Gtk2/xs/GtkWindow.xs: a first pass at set_icon_list_function added

2003/04/23 10:37 muppetman

	* ChangeLog: new change log, from the cvs log on sourceforge.
	please keep it updated.

2003/04/22 muppetman

	* G/GBoxed.xs: updates to debugging output

	* G/GClosure.xs: don't keep the supplemental arguments array in
	gperl_closure_marshal --- just put mortal values on the stack and
	everything works out fine.  simplifies the code quite a bit, and
	removes some subtle and nasty bugs.

	* G/GType.xs: GPERL_TYPE_SV, a boxed wrapper for perl scalars, mapped
	to the package G::Scalar.  this is handy for storing hashes and other
	perl data structures in a TreeModel.

	* G/GValue.xs: special handling for GPERL_TYPE_SV.  implement handling
	for G_TYPE_INTERFACE.

	* Gtk2/gtk-demo/stock_browser.pl, Gtk2/xs/GtkIconFactory.xs: stock
	browser demo and some supporting code

	* Gtk2/gtk2perl.h, Gtk2/xs/GdkTypes.xs: special handling for
	GdkModifierType flags...  GDK_MODIFIER_MASK matches all of the flag
	values, and causes nasty problems when you try to convert the SV flags
	wrapper *back* to C.  so, handle it separately, and don't allow
	GDK_MODIFIER_MASK to make it into perl from C. (can still go the other
	way, though)

	* Gtk2/xs/GtkItemFactory.xs: bracket callback with ENTER/SAVETMPS &
	FREETMPS/LEAVE

	* Gtk2/xs/GtkMenu.xs: implemented gtk_menu_popup

	* Gtk2/xs/GtkTreeModel.xs: it's possible for gtk_tree_model_iter_next
	to return NULL

	* Gtk2/xs/GtkTreeView.xs: implemented
	gtk_tree_view_insert_column_with_data_func

	* Gtk2/xs/GtkTreeViewColumn.xs: implemented
	gtk_tree_view_column_set_cell_data_func

	* Gtk2/xs/GtkWidget.xs: default params on set_size_request, and
	implemented render_icon

2003/04/22 rwmcfa1

	* Gtk2/t/5.GtkListStore-etc.t, Gtk2/t/6.GtkLabel.t,
	Gtk2/t/7.GtkBoxes.t, Gtk2/t/8.GtkCombo.t: initial import

	* Gtk2/t/9.GtkRadioButton.t: test out a little more throughly

	* Gtk2/xs/GtkFileSelection.xs: first pass at
	gtk_file_selection_get_selections, needs to be utf8
	tested/implemented maybe

	* Gtk2/xs/GtkRadioButton.xs: crash bug, need to make sure that svp
	exists

	* Gtk2/xs/GtkRadioMenuItem.xs: first pass at implementing this class,
	not tested yet

2003/04/21 muppetman

	* G/G.xs, G/gperl.h: added gperl_alloc_temp

	* G/GClosure.xs: added GPerlCallback, and made some robustness fixes
	for GPerlClosure.  (there was bizarre stuff happening in the
	marshaller, wrong number of items in the supplemental arguments
	array.)

	* G/gperl.h: add GPerlCallback, with docs, and some other noise

	* Gtk2/gtk-demo/item_factory.pl: gtk-demo driver for GtkItemFactory

	* Gtk2/xs/GtkItemFactory.xs: implemented GtkItemFactory

	* Gtk2/xs/GtkWidget.xs: set_flags and unset_flags

2003/04/21 rwmcfa1

	* Gtk2/xs/GtkRadioButton.xs: implement all of the functions now with a
	first pass at how to deal with GSList/group stuff. (notice: it's
	subject to change)

2003/04/20 rwmcfa1

	* just about every file: added cvs Header: tags

	* Gtk2/xs/GtkWindow.xs: missing functions added; version 2.2 functions
	added (some commented out); decorated_window functions added, but
	commented out (how should we go about these?)

2003/04/18 gthyni

	added .cvsignore files for cleaner updates

2003/04/18 muppetman

	* Gnome2/druid.pl: add a button to test out Gnome2::About

	* Gnome2/xs/GnomeAbout.xs: patch from Chas Owens to implement the
	authors and documenters parameter lists, and allow defaults on
	parameters following authors.  (authors is required by gnome_about_new)

	* Gtk2/xs/GtkAccelGroup.xs: implemented gtk_accelerator_parse and
	gtk_accelerator_name

	* Gtk2/xs/GtkFileSelection.xs: patch from Chas Owens giving access
	to member widgets

	* Gtk2/xs/GtkImage.xs: implemented new_from_pixbuf and set_from_pixbuf

	* Gtk2/xs/GtkStock.xs: implemented some stock handling stuff, enough
	to get the stock_browser demo working

	* Gtk2/xs/GtkTreeSelection.xs: implemented
	gtk_tree_selection_get_selected

2003/04/18 rwmcfa1

	* Gtk2/xs/GtkWindow.xs: add a header tag and see if i can commit,
	header tags need to be added to everything before to long.


2003/04/17 muppetman

	massive commit of changes made by muppetman and rwmcfa1 since the
	last pre-sourceforge snapshot.

	* G/G.xs, G/gperl.h: added gperl_croak_gerror, takes care of properly
	freeing a GError before croaking with the message it contains

	* G/GObject.xs: don't allow non-RVs in gperl_get_object;
	added G::Object->eq

	* G/gperl.h: added gperl_croak_gerror, takes care of properly freeing
	a GError before croaking with the message it contains

	* Gtk2/gdk.typemap, Gtk2/gtk2perl.h: custom handling for GdkBitmap

	* Gtk2/examples/layout.pl: new example (ported from C by ross)

	* Gtk2/examples/socket.pl, Gtk2/t/0.Gtk2.t, Gtk2/t/1.GtkWindow.t,
	Gtk2/t/2.GtkButton.t, Gtk2/t/3.GtkGammaCurve.t: updates since snapshot

	* Gtk2/gtk-demo/textview.pl, Gtk2/gtk-demo/floppybuddy.gif,
	Gtk2/gtk-demo/gtk-logo-rgb.gif: another piece of gtk-demo, and
	accessories

	* Gtk2/xs/GdkPixbuf.xs: added lots of missing functionality

	* Gtk2/xs/GdkPixmap.xs: can now create GdkBitmaps.  warning, GdkBitmap
	may be in the wrong class, there are some complaints at runtime about
	it (porting C code passing a GdkBitmap where a GdkPixmap was wanted,
	i had to re-bless in perl to achieve that).

	* Gtk2/xs/Gtk2.xs: added version information functions

	* Gtk2/xs/GtkCurve.xs: work around a C bug that the Gtk+ maintainers
	say won't be fixed (because the widget is to be removed in future
	versions)

	* Gtk2/xs/GtkHScale.xs, Gtk2/xs/GtkHScrollBar.xs, Gtk2/xs/GtkVScale.xs,
	Gtk2/xs/GtkVScrollBar.xs, Gtk2/xs/GtkScrolledWindow.xs: allow default
	parameters

	* Gtk2/xs/GtkListStore.xs: place TreeModel at the beginning of ISA so
	Gtk2::TreeModel::get is found before G::Object::get.  remove some
	warn()s.

	* Gtk2/xs/GtkNotebook.xs: patch from Emmanuele Bassi, which was a
	double commit, because goran had already fixed it and i didn't
	notice in time

	* Gtk2/xs/GtkTextBuffer.xs: implemented insert_with_tags_by_name

	* Gtk2/xs/GtkTextIter.xs: allow NULL return from get_child_anchor

	* Gtk2/xs/GtkTextView.xs: oops, bad signature

	* Gtk2/xs/GtkTreeView.xs: implemented missing new_with_model

	* Gtk2/xs/GtkTreeViewColumn.xs: stack randomly had the wrong number
	of items.  converted to a macro to avoid the use of dXSARGS, and
	suddenly the list_store.pl portion of gtk-demo works.  dXSARGS is
	supposed to work anywhere; i don't understand why it didn't.

	* Gtk2/xs/GtkWidget.xs: implemented several _modify_* methods

	* Gtk2/xs/GtkWindow.xs: allow window type to default to 'toplevel'
	on ->new; all NULL for several other functions' parameters.

	* Gtk2/xs/PangoFont.xs: pango constants.


2003/04/17 gthyni

	imported 20030415 snapshot into CVS
