2.12.10:

2007-06-10  Kalle Vahlman  <zuh@iki.fi>

	* glib/glibmm/propertyproxy_base.cc: Move PropertyProxyConnectionNode
	out of the ifdef to avoid a linker error when disabling properties.
	The other branches already had this fix.
	Bug #441766.

2.12.9:

2007-04-30  Johannes Schmid <johannes.schmid@openismus.com>

	* tools/generate_wrap_init.pl.in:
	* tools/m4/class_gtkobject.m4:
	Use _IS_DEPRECATED instead of _CLASS_DEPRECATED because
	the latter confuses gmmproc.
	We cannot just use _DEPRECATED because it will result
	in incorrect handling of for example
	#ifndef GTKMM_DISABLE_DEPRECATED

2007-04-24  Yselkowitz <yselkowitz@users.sourceforge.net>

        * scripts/macros.m4: Check for both m4 and M4 in the GNU m4 output,
        to fix the build on some platforms.
        Bug #423990

2.12.8:

2007-04-11  Armin Burgmeier  <armin@openismus.com>

	* tools/m4/signal.m4: Ident refcomment with three spaces which is more
	adequate that no identation at all for most situations.

	* tools/pm/WrapParser.pm: Added peek_token() function which only
	returns the next token without removing it from the tokens array.
	Parse '/**' as a separate token and handle it in a special way so that
	when the final '*/' is encountered and _WRAP_SIGNAL follows, the
	comment is not terminated but continued by that automatically
	generated doxygen comment.

	* tools/pm/Output.pm: Added a merge_doxygen_comment_with_previous
	parameter in output_wrap_sig_decl(). If it is nonzero, the function
	assumes that there is already a comment open and continues to use it
	instead of opening a new comment by removing the leading '/**' from
	what get_refdoc_comment() returns. Bug #378810.

2007-04-06  Johannes Schmid <johannes.schmid@openismus.com>

	* tools/generate_wrap_init.pl.in:
	Use _CLASS_DEPRECATE instead of just _DEPRECATE to
	known whether a whole class should be avoided in wrap_init.
	Otherwise every .hg file containing deprecated methods
	might get ignored. (Fixes Gtk::TextBuffer bug in maemo)

2007-03-19  Bradley Bell  <btb@debian.org>

 	* glib/glibmm/helperlist.h: Change variable name to avoid
 	warnings about a shadowed member.
	Bug #420316.

2007-03-19  Bradley Bell  <btb@debian.org>

	* glib/glibmm/utility.h: remove g_free prototype, include gmem.h
	instead, to avoid a warning about a redundant declaration.
	Bug #420339.

2007-03-17  Armin Burgmeier  <armin@openismus.com>

	* tools/m4/signal.m4:
	* tools/m4/vfunc.m4: 
	Use static_cast in vfuncs and signal handlers to cast the
	wrapper object to ObjectBase*. This is enough to check whether the object is
	from a derived type or not. A slow dynamic_cast has only to be performed if it
	is derived, and the C++ vfunc needs to be called.
	* glib/glibmm/objectbase.h: This requires ObjectBase::is_derived_ to be public, 
	because it is called on a ObjectBase* rather than the actual type.
	This causes a slight speed up of vfuncs and default signal handler invokation.

	Also added commented-out inline versions of ObjectBase::_get_current_wrapper() and 
	ObjectBase::is_derived(), which could be used in the generated code if we find 
	that this has significant performance benefits. Note that these methods must be 
	additional to the non-inline methods, because inline methods are not usually exported in the 
	shared library. 

2.12.7:

2007-03-03  Murray Cumming  <murrayc@murrayc.com>

	* configure.in:
	* glib/glibmmconfig.h.in:
	* glib/src/date.ccg:
	* glib/src/date.hg:
	* scripts/Makefile.am:
	* scripts/c_std.m4: Added a test for the case that time_t is equivalent to 
	guint32, as seems to be the case on NetBSD-4.99.6/amd64, so we can ifdef-out 
	the (deprecated, anyway) Glib::Date::set_time(GTime) method when necessary, because 
	GTime is also equivalent to guint32.
	Bug #386990.

2.12.6:

2007-02-10  Murray Cumming  <murrayc@murrayc.com>

        * examples/options/main.cc: Use a default value, to show that it 
        can be done.
        (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)

2007-02-10  Armin Burgmeier <armin@arbur.net>

        * glib/src/optiongroup.ccg: default_c_arg(): Set the initial
        value of the C argument to the value the C++ argument has, to avoid
        that glibmm resets arguments to zero that were not given on the
        command line.
        (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)

2.12.5:

Thu, 25 Jan 2007 23:13:05 +0100 Dodji Seketeli

	* tools/m4/base.m4:
	  prefix the builting mkstemp with 'm4' because otherwise,
	  m4 1.4.8 recognizes it as a builtin macro and expands it, leading
	  to compilation errors on some distros.
	  This should fix #397167. Thanks to Daniel Elstner for spotting this.

2.12.4:

2006-11-28  Daniel Elstner  <danielk@openismus.com>

	* tools/pm/GtkDefs.pm (read_defs): Allow an empty pair of
	parentheses in the innermost match.  This fixes the problem of
	gmmproc choking on "()" in the documentation strings.  This would
	still break on unmatched parentheses, though.  Of course the
	parser should just skip over quoted strings, but I wasn't able
	to get that to work.
	* glib/src/glib_enums.defs (GNormalizeMode): Manually fix the
	improperly parsed value of G_NORMALIZE_NFD.  Fortunately this
	doesn't change anything since the "#error" token was interpreted
	as zero, which happens to be the right value.
	* glib/src/glib_functions.defs (g_iconv): Manually convert to
	a function definition, as it was improperly parsed as a method
	with a zero-length name (!) of object GIConv.  This fixes the
	annoying gmmproc warning about an allegedly unwrapped method.

2006-11-27  Daniel Elstner  <danielk@openismus.com>

	* tools/enum.pl (parse): Ignore whitespace in front of an enum
	typedef.  This fixes parsing of HildonTelephoneEditorFormat in
	hildon-libs.
	* tools/pm/Enum.pm (parse_values): Check whether the enumeration
	constants actually have a common module prefix before attempting
	to remove it.  This fixes the incorrect parsing of inconsistently
	named enums in hildon-libs.

2006-11-27  Daniel Elstner  <danielk@openismus.com>

	* tools/enum.pl (form_names): Break the loop if the length of the
	common prefix reaches zero.  This fixes the infinite loop when
	processing the inconsistently named enumeration constants of the
	Hildon libraries.

2006-11-22  Oliver Nittka  <oly@nittka.com>

        * glib/src/value_basictypes.cc.m4: When registering float parameters,
        use -G_MAXFLOAT instead of G_MINFLOAT. Since we first implemented this,
        the glib documentation has been updated to make it clearer that this is
        the real minimum and G_MINFLOAT is the minimum positive value.
        Do the same for doubles too.

2.12.3:

2006-11-10  Murray Cumming  <murrayc@murrayc.com>

	* tools/Makefile.am: Add enum.pl to the dist, so that it is in 
	tarballs. Someone saw it mentioned in the appendix, but could not 
	find it in the tarball.

2006-11-10  Murray Cumming  <murrayc@murrayc.com>

	* docs/reference/Doxyfile.in: Add PREDEFINES for the optional API, 
	so that the documentation shows the regular API.

2006-11-10  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/objectbase.cc:
	* glib/glibmm/objectbase.h: Added connect_property_changed(), 
	as an alternative to use when the property proxies are not 
	available because GLIBMM_PROPERTIES_ENABLED is not defined.
	SignalProxyProperty::connect(): Use notify::propertyname instead of 
	just notify, so do not have to check the property name later. This 
	should be more efficient (when this is used, rarely).
	* glib/glibmm/propertyproxy_base.cc:
	* glib/glibmm/propertyproxy_base.h: Move PropertyProxyConnectionNode
	into the header, so we can reuse it for connect_property_changed(). 

2006-10-01  Murray Cumming  <murrayc@murrayc.com>

	* Makefile.am:
	* docs/Makefile.am:
	* docs/Makefile_web.am_fragment:
	* docs/images/Makefile.am:
	* docs/reference/Makefile.am:
	* docs/reference/README:
	* examples/Makefile.am: Upload to the new hoster instead of to sourceforge.
	Abstracted the host and path names into docs/Makefile_web.am_fragment to 
	avoid duplication.

2006-10-04  Murray Cumming  <murrayc@murrayc.com>

        * glib/glibmm/class.cc:
        * glib/src/iochannel.ccg:
        * glib/src/markup.ccg: Add a silly line to avoid unused parameters
        when GLIBMM_EXCEPTION_ENABLED is not set.
        * glib/glibmm/error.h: Do not use G_GNU_NO_RETURN on the version
        of throw_exception() that returns, to avoid a warning.

2006-09-19  Ralf Stephan  <ralf@ark.in-berlin.de>

	* glib/glibmm/ustring.h: 
	ustring(const ustring& src, size_type i, size_type n=npos)
	and 
	ustring(const char* src, size_type n) constructors:
	In the reference documentation, mention explicitly that 
	n is the number of _UTF-8_ characters, rather than 
	ASCII characters (bytes).

2.12.2:

2006-09-28  Cedric Gustin  <cedric.gustin@gmail.com>
	
	* MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray from list of
	source and header files.

2006-09-26  Murray Cumming  <murrayc@murrayc.com>

        * glib/glibmmconfig.h.in: For win32, define
        GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS to 1,
        instead of just defining it to nothing.
        * scripts/reduced.m4: In the AC_ARG_ENABLE() to
        define (or not) GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS,
        use api-default-signal-handlers as the first parameter
        instead of api-exceptions (a copy/paste error), though it does
        not seem to make any difference.
        Bug #357830.

2.12.1:

2006-09-14  Johannes Schmid <jhs@gnome.org>

	* tools/m4/class_shared.m4: Change _IMPLEMENTS_INTERFACE to 
	_IMPLEMENTS_INTERFACE_CC so we can have more control over it, 
	by generating the _IMPLEMENTS_INTERFACE_CC from the WrapParser.pm.
	* tools/m4/method.m4:
	* tools/m4/signal.m4:
	* tools/m4/vfunc.m4: Added optional parameters that result in 
	#ifdefs around methods, signals, vfuncs, etc.
	* tools/pm/Output.pm: Addef ifdef() and endif().
	output_wrap_vfunc_h(), output_wrap_vfunc_cc(),
	output_wrap_default_signal_handler_h(), 
	output_wrap_default_signal_handler_cc(),
	output_wrap_meth(),
	output_wrap_create(),
	output_wrap_sig_decl(): Support optional ifdefs around  
	declarations and implementations, by calling ifdef() and endif(), 
	or by passing the extra argument to the m4 macros.
	* tools/pm/WrapParser.pm: parse_and_build_output(): 
	Parse _IMPLEMENTS_INTERFACE, and call the new on_implements_interface() 
	method, which uses the new output_implements_interface() method, 
	so it can have an optional ifdef parameter.
	on_wrap_method(), on_wrap_create(), on_wrap_vfunc(), output_wrap_signal(),
	output_wrap_vfunc(): Handle the optional ifdef (with a parameter) option 
	for the _WRAP*() macros.

	This adds support for disabling certain features by using the new
	"ifdef" argument for methods, vfuncs, signals and interfaces.

2006-08-18  Cedric Gustin  <cedric.gustin@gmail.com>
	
	* MSVC_Net2003/*.vcproj: Updated for glibmm-2.12.

2.12.0:

2.11.3:

2006-04-25  Murray Cumming  <murrayc@murrayc.com>

	* configure.in:
	* glib/glibmmconfig.h.in:
	* scripts/reduced.m4: Added a --enable-api-default-signal-handlers option. This defines 
	GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED, which is used to #ifdef default signal handlers.
	This saves on library code size (less code and API symbols) and application code size and 
	loading time (less virtual methods, which must be imported and resolved at load time) and 
	per-object memory size (smaller object sizes because of less virtual methods.) 
	* tools/m4/class_interface.m4:
	* tools/m4/class_shared.m4: Put default signal handler code in #ifdefs.

2.11.2:

2006-07-17  Murray Cumming  <murrayc@murrayc.com>

	* configure.in: Reverted the previous patch slightly to unbreak glibmmconfig.h.

2.11.1:

2006-07-16  Murray Cumming  <murrayc@murrayc.com>

	* configure.in: Quote GLIBMM_*_VERSION to avoid m4 warnings. Patch from 
	Bug #347076 from Kevin McBride.
	* scripts/sun.m4: Quote GLIBMM_PROG_CXX_SUN to avoid an m4 warning. 
	Patch from Bug #347077 from Kevin McBride.  

2006-07-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* glib/src/date.ccg: fix implementation of Glib::Date::set_time_current() so
	that it doesn't set the date to Dec 31, 1969.

2006-06-19  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/object.h: Check whether DestroyNotify is defined, so we can warn about 
	including X11/Xlib.h before this header, which will break things. 
	Bug #316726 from Mert Tugcu and Javeed Shaikh.

2006-06-09  Cedric Gustin  <cedric.gustin@gmail.com>

	* glib/glibmm/objectbase.h : Inline the set_property and
	get_property methods. This is required by mingw32-gcc as
	ObjectBase is explicitly dllexported.

2006-06-05  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/convert.ccg: When using --enable-api-exception=no, only try to get the Glib::Error 
	when the GError is not null.

2006-05-18  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/method.m4: _METHOD(): When using errthrow, actually print the function call even if 
	the return type is 0.

2006-05-16  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/method.m4:  _METHOD(), _STATIC_METHOD(): Remove spaces before dnl statements, 
	to avoid unwanted indentation in .cc files.

2006-05-16  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/convert_base.m4: _CONVERT(): If the return type is void, use the unconverted 
	statement, not no statement. This prevents some void methods from being totally empty. 
	This was a (very bad) regression introduced by the optional API changed. 
	Bug #341895 from Philip Langdale.
	* tools/m4/method.m4: _METHOD(), _STATIC_METHOD(): Attempt to remove unnecessary newlines, 
	though some indenting spaces slipped in instead. Must fix that. 

2006-05-14  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/value.cc:
	* glib/glibmm/value.h: Restored the init(GValue*) method that was lost when 
	merging changes from the glibmm-2-10 branch.

2006-05-09  Murray Cumming  <murrayc@murrayc.com>
 
	* glib/glibmm/ustring.cc:
	* glib/src/date.ccg:
	* glib/src/convert.ccg:
	* glib/src/convert.hg: Added #ifdefed versions for the case that 
	exceptions are disabled.

2006-05-10  Murray Cumming  <murrayc@murrayc.com>

	* configure.in:
	* scripts/reduced.m4: Moved --enable-deprecated-api macro into scripts/reduced.m4.
	Added the --enable-api-exceptions macro that was missing from my last commit.

2006-04-05  Murray Cumming  <murrayc@murrayc.com>

	* configure.in:
	* scripts/reduced.m4: Added --enable-api-exceptions option. When this 
	is used, methods that would normally throw an exception will now take 
	an extra std::auto_ptr<Glib::Error> argument that should be checked with 
	auto_ptr::get().
	* glib/glibmmconfig.h.in: Undef the GLIBMM_EXCEPTIONS_ENABLED, 
	so it will be defined.
	* tools/m4/gerror.m4: throw_func() returns an auto_ptr of a 
	Glib::Error when exceptions are disabled.
	* tools/m4/method.m4:
	* tools/pm/Output.pm: on_wrap_method(): Added alternative API with 
	#ifdefs
	* tools/m4/signal.m4:
	* tools/m4/signalproxy_custom.m4:
	* tools/m4/vfunc.m4: Put #ifdefs around the exception re-throwing 
	try/catch blocks.
	* glib/glibmm/dispatcher.cc:
	* glib/glibmm/dispatcher.h:
	* glib/glibmm/error.cc:
	* glib/glibmm/error.h:
	* glib/glibmm/exceptionhandler.cc:
	* glib/glibmm/exceptionhandler.h:
	* glib/glibmm/main.cc:
	* glib/glibmm/signalproxy.cc:
	* glib/glibmm/streamiochannel.cc:
	* glib/glibmm/stringutils.cc:
	* glib/glibmm/threadpool.cc:
	* glib/src/iochannel.ccg:
	* glib/src/iochannel.hg:
	* glib/src/markup.ccg:
	* glib/src/spawn.ccg:
	* glib/src/thread.ccg: Put #ifdefs around try/catch blocks, and 
	use alternative API when appropriate.
	* examples/iochannel_stream/fdstream.cc:
	* examples/markup/parser.cc:
	* examples/options/main.cc: Adapted examples to 
	the alternative API, with #ifdefs
	* tools/m4/convert_base.m4: Avoid any conversion if the result is 
	void, to allow _WRAP_METHOD() to ignore bool results, so we can 
	generate some methods that are currently hand-coded.

2006-05-09  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/value.cc:
	* glib/glibmm/value.h: Added init(const GValue*), so that we can copy GValue instances 
	of any type at runtime. Needed by libgdamm, which returns const GValue* instances.

This is the HEAD branch, for API additions. See also the glibmm-2-10 branch.

2.10.1:

2006-04-12  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/signalproxy_custom.m4: Remove this file because it is not installed and 
	does not seem to be used.

2006-04-12  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/signal.m4: Mark the (private) signal info callback functions as 
	static, to save on code size. 

2006-04-12  Murray Cumming  <murrayc@murrayc.com>

	* tools/pm/WrapParser.pm: Parse a new optional constversion parameter for 
	_WRAP_METHOD(), to save on code size by just calling the non-const overload 
	instead of generating almost identical code.
 	* tools/m4/method.m4: _METHOD(): Take extra parameters for use when constversion is used.
	* tools/pm/Output.pm: Send the extra parameters to _METHOD().
	* docs/internal/using_gmmproc.txt: Documented the new constversion option.

2006-04-12  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/main.cc:
	* glib/glibmm/objectbase.cc:
	* glib/glibmm/property.cc:
	* glib/glibmm/ustring.cc:
	* glib/glibmm/value_custom.cc: 
	* glib/src/spawn.ccg: Mark private functions as 
	static, to stop them being exported in the API, to reduce the 
	library code size slightly.
	* tools/m4/signal.m4: Make generated callback functions static, for 
	the same reasons.

2006-04-07  Cedric Gustin  <cedric.gustin@gmail.com>

	* README.win32: Updated for Mingw-4.1.

2006-04-06  Cedric Gustin  <cedric.gustin@gmail.com>

	* MSVC_Net2003/*.vcproj: Embed the manifest file into executables
	in the case of the Debug target.
	* README.win32: Fixed a few typos.
	* build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to
	the extra_defines compiler flags (switch between
	dllexport/dllimport on win32).
	* glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with
	mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for
	gtkmm) active with these two platforms, as required by bug
	#309030.  
	* glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object
	and ObjectBase classes with GLIBMM_API to make Visual Studio happy.

2.10.0:

2006-02-25  Murray Cumming  <murrayc@murrayc.com>
 
	* tools/pm/DocsParser.pm: looklookup_documentation(): Put the 
	@deprecated text immediately after the main description, before 
	the parameters, so that Doxygen actually uses it.
 
2006-02-25  Murray Cumming  <murrayc@murrayc.com>
 
	* tools/pm/DocsParser.pm: looklookup_documentation(): Accept an 
	extra deprecated_documentation parameter, to be appended to the 
	Doxygen documentation.
	* tools/pm/Output.pm: output_wrap_meth(): Put the documentation 
	inside the deprecation #ifdef, for neatness.
	* tools/pm/WrapParser.pm: on_wrap_method(): Read an optional string 
	after the optional deprecated parameter, used to say why the 
	method is deprecated, in case it was not deprecated by the C API, 
	in which case it would already have documentation for this.

2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>

	* README.win32: Updated for glibmm-2.8 (MS Visual Studio 2005).
	* glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
	dllexport it on win32. Bug #332438.
	* MSVC_Net2003/*.vcproj: Updated for Visual Studio 2005. Added the
	/vd2 compiler flag (Bug #158040).
	* MSVC_Net2003/glibmm.sln: Updated for Visual Studio 2005.
	* MSVC_Net2003/gendef/gendef.cc: Redirect output of dumpbin to a
	file.
	* glib/glibmmconfig.h.in: Undefined
	GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS for MSVC.

2006-02-03  Murray Cumming  <murrayc@murrayc.com>

	* docs/internal/using_gmmproc.txt: Section about regenerating .defs:
	Repeat the hint about extra_defs_gen here.

2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>

	* glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
	dllexport it on win32. Bug #332438.

2006-02-07  Rob Page  <page.rob@gmail.com>

	* glib/glibmm/ustring.h: fix a typo in the documentation for uppercase()

2.9.1:

2006-01-28  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optiongroup.ccg: add_entry_with_wrapper(): Copy the 
	CppOptionEntry into the map _after_ setting entry_ so that we 
	really delete it in release_c_arg(), to avoid a memory leak.

2006-01-28  Rob Page <rob@gmail.com>

	* docs/reference/glibmm_header.html_fragment: Fix the link 
	to the Main page. Bug #328299.

2006-01-27  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optionentry.ccg: Constructor: Avoid memory 
	leak caused by double instantiation of gobject_.

2005-12-16  Murray Cumming <murrayc@murrayc.com>

	* glib/glibmm/object.h:
	* glib/glibmm/objectbase.h: Hide some internal stuff 
	from Doxygen. Add/Improve the Doxygen documentation.
	* glib/src/convert.hg: Correct the declaration of 
	filename_display_name() to match the implementation. 
	Previously this would have been unusable due to a linker 
	error.

2005-11-30  Murray Cumming <murrayc@murrayc.com>

	* docs/reference/Doxyfile.in: Define the @newin aliases, 
	as in gtkmm.
	* tools/pm/DocsParser.pm: Convert Since: in gtk-doc 
	text to @newin for our doxygen docs.

2005-11-29  Murray Cumming <murrayc.com>

	* build_shared/Makefile_build.am_fragment:
	* configure.in: Added --enable-use-deprecations, 
	defaulting to no (do not check for them), so that 
	the tarball will still build when newer versions 
	of glib deprecate some API. 
	* examples/Makefile.am_fragment: Use the 
	deprecation, if wanted.

2005-11-29  Murray Cumming <murrayc@murrayc.com>

	* build_shared/Makefile_build.am_fragment:
	* configure.in: Added --enable-deprecated-api 
	option. When set to disabled, it does not build 
	deprecated API. This reduces the size of the library, 
	and might be useful for embedded devices.
	* glib/src/date.ccg:
	* glib/src/date.hg: Use _DEPRECATE_IFDEF_START/END 
	around the deprecated set_time() method.

2005-11-29  Murray Cumming <murrayc@murrayc.com>

	* tools/m4/base.m4: Add 
        _DEPRECATE_IFDEF_START and _DEPRECATE_IFDEF_END 
	macros, to #ifdef-out generated methods. 
	Added _DEPRECATE_IFDEF_CLASS_START and 
	_DEPRECATE_IFDEF_CLASS_END for whole classes. 
	Put _DEPRECATE_IFDEF_CLASS* around all generated 
	code. It does nothing if the class is not deprecated.
	* tools/m4/class_gtkobject.m4: Add _DEPRECATED macro, 
	used to mark a class as deprecated.
	* tools/m4/method.m4: Take an extra parameter, to 
	optionally mark the method as deprecated, to add 
	#ifdefs around the code, with 
	_DEPRECATE_IFDEF_START/END
	* tools/pm/Output.pm: _DEPRECATE_IFDEF_START/END 
	around the declarations of deprecated methods.
	* tools/pm/WrapParser.pm: Check for an optional 
	deprecated parameter to _WRAP_METHOD(). 
	* tools/m4/member.m4: Allow optional deprecated 
	method for _MEMBER_GET/SET*() to ifdef the code 
	out.
	* tools/generate_wrap_init.pl.in: Put an #ifdef 
	around use of deprecated classes.

2005-11-23  Murray Cumming <murrayc@murrayc.com>

	* configure.in: Depend on glib 2.9, which 
	has new API.
	* glib/src/date.ccg:
	* glib/src/date.hg: Wrap glib_date_set_time_t() 
 	and glib_date_set_time_val(). Deprecate  
	set_time(GTime) in favour of the new method 
	overloads. Added set_time_current(), wrapping the 
	case that the time_t is 0.

This is the HEAD branch, for new API, targetting glib 2.9. See also the 
glibmm-2-8 branch.

2.8.2:

2005-11-23  Murray Cumming <murrayc@murrayc.com>

	* glib/glibmm/containers.h: Do not use g_assert() in 
	a header, because g++ sometimes warns that it has 
	no effect.

2005-10-29  Murray Cumming <murrayc@murrayc.com>

	* scripts/macros.m4: AL_PROG_GNU_MAKE(): 
	Use $MAKE-make instead of $ac_make, which 
	apparently fixes a build problem on some 
	Solaris systems. Thanks to Mark Rouchal in 
	bug #307480.

2.8.1:

2005-10-19  Murray Cumming  <murrayc@murrayc.com>

	* configure.in: Check for glib 2.8. Bug #317913.

2.8.0:

Updated NEWS and increased version to 2.8.0.

2.7.3:

2005-08-17  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
	* glib/src/glib_enums.defs: Regenerated with enums.pl
	* glib/src/glib_functions.defs: Regenerated with h2defs.py

2.7.2:

2005-07-16  Murray Cumming <murrayc@murrayc.com

	* glib/glibmm/miscutils.cc: Reimplemented build_filename() and 
	build_path() with the new non-vararg functions in glib 2.7, 
	instead of implementing them in gtkmm.
	* glib/src/glib_enums.defs: Regenerated with enums.pl
	* glib/src/optionentry.hg: Added FLAG_NO_ARG, FLAG_FILENAME, 
	FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.


2.7.1:

2005-06-08  Murray Cumming <murrayc@murrayc.com

	* glib/glibmm/propertyproxy.h: 
	PropertyProxy_ReadOnly<>::get_value(),
  	PropertyProxy_WriteOnly<>::set_value(): Add implementations 
	instead of casting to unrelated PropertyProxy() and calling it 
	there. The AIX compiler did not like this hack. Bug #301610

2005-06-07  Cedric Gustin <cedric.gustin@swing.be>

	* glib/glibmm/miscutils.cc: In get_home_dir, return an empty
	string when HOME is not defined (Win9x). Bug #306310 from Michael
	Hofmann.
	* glib/glibmm/miscutils.h: Updated docstring for the get_home_dir
	method.

2005-04-27  Murray Cumming <murrayc@murrayc.com>

	* examples/child_watch/main.cc:
	* examples/thread/dispatcher.cc:
	* examples/thread/thread.cc:
	* glib/glibmm/dispatcher.cc: Inherit signal handler objects from 
	sigc::trackable. This is necessary with some libsigc++ patches, 
	though not currently necessary with regular libsigc++.

2005-04-22  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/gmodule_enums.defs: Regenerate with enums.pl
	* glib/src/gmodule_functions.defs: Regenerate with h2defs.py
	This adds the BIND_LOCAL enum value. Bug #172748 from 
        Phillip Neiswanger.

2005-04-05  Murray Cumming  <murrayc@murrayc.com>

	* tool/pm/Output.pm: output_wrap_property(): Do not add the 
	const read-only method override if the property can not be read. Be 
	careful because this removes a little API from generated code. You 
	should hand-code the wrongly-generated methods and mark them as 
	deprecated.
	* glib/glibmm/refptr.h: Added cast_const<>, like the existing 
	cast_dynamic<> and cast_static.

2005-03-31  Murray Cumming <murrayc@murrayc.com>

	* glib/src/glib_functions.defs: Updated with 
	h2defs.py.

2005-03-13  Yair Hershkovitz <yairhr@gmail.com>

	* glib/glibmm/main.h,
	glib/glibmm/main.cc: Added MainContext::signal_child_watch()
	* examples/: Added child_watch/ example   
  
2005-03-11  Yair Hershkovitz <yairhr@gmail.com>

	* glib/glibmm/main.h, glib/glibmm/main.cc: 
	Add Glib::SignalChildWatch class, Glib::signal_child_watch()

This is the HEAD branch, for new API. Bug fixes that do not change or add 
API should also be applied to the glibmm-2-6 branch.

2005-03-09  Cedric Gustin <cedric.gustin@swing.be>

	* MSVC_Net2003/Makefile.am: Add blank.cpp to EXTRA_DIST.
	* MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray.cc from the
	list of source files.
	* MSVC_Net2003/examples/*/*.vcproj,
	MSVC_Net2003/tests/glibmm_value/glibmmvalue.vcproj: Change name of
	PDB file to $(OutDir)/$(TargetName).pdb. 
	
2.6.1:

2005-03-07  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/interface.cc: Disable the new check for pre-existing 
	interface implementations, because it checks all base gtypes and 
	not just the current gtype. Bug #169442 by Bryan Forbes.

2.6.0:

2.5.6:

2005-02-18  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/interface.cc: Interface_Class:add_interface(), used by 
	add_interface() methods of Interfaces: Do not add interfaces that 
	have been added before, to avoid the warning from glib. This 
	allows application code to be simpler.

2005-02-18  Murray Cumming  <murrayc@murrayc.com>

	* tools/pm/Output.pm: Add the documentation to the const property() 
	accessor as well as the non-const one.

2005-02-13  Murray Cumming  <murrayc@murrayc.com>

	* tools/extra_defs_gen/generate_extra_defs.cc: Use 
	g_param_spec_get_blurb() to output the documentation for the 
	properties in the .defs file.
	* tools/m4/property.m4: Take an extra docs argument, and put it in the 
	doxygen docs.
	* tools/pm/Output.pm: Add the extra docs argument when calling the 
	property m4 macro.
	* tools/pm/Property.pm: Read in the new docs part of the .defs, and 
	add a period at the end if neccessary.

2005-02-01  Murray Cumming  <murrayc@murrayc.com>

	* examples/threadpool.cc, dispatcher.cc, dispatcher2.cc: Removed the 
	#ifdef for AIX, because sigc::bind now works on AIX.

2005-01-27  Cedric Gustin <cedric.gustin@swing.be>

	* MSVC_Net2003/glibmm/glibmm.rc.in: Reverted to 2.4 for the
	library version number.

2.5.5:

2005-01-26  Cedric Gustin <cedric.gustin@swing.be>

	* MSVC_Net2003/glibmm/glibmm.vcproj: Reverted to 2.4 for the
	library version number.

2005-01-24  Cedric Gustin <cedric.gustin@swing.be>

	* Makefile.am, configure.in: Added MSVC_Net2003 directory.
	* config.h.in: Added mkfifo #define (for mingw32).
	* glib/glibmmconfig.h.in: Added new #define's to MSVC section.
	* examples/iochannel_stream/Makefile.am: Do not build on win32
	with mingw32 (mkfifo not available).
	* scripts/cxx_std.m4: Fixed typo in AC_DEFINE macros.
	* build_shared/Makefile_build.am_fragment: Removed
	$(sublib_name)_COMPILATION variable (is useless now on
	cygwin/mingw as all symbols are dll exported).
	* MSVC_Net2003/*: Initial commit imported from glibmm-2-4 branch.
	* MSVC_Net2003/glibmm/Makefile.am: Rewrote rule for local copy of
	glibmmconfig.h (required for 'make distcheck').

2005-01-21  Murray Cumming  <murrayc@murrayc.com>

	* configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new 
	compiler tests to see whether extern "C" functions are put in the 
	global namespace, even when we use extern "C" inside a namespace 
	declaration. The AIX xlC compiler does this, but allows us to 
	redeclare the namespace inside the extern "C" block.
	* glib/glibmm/property.h: Use the new 
	#ifdef GLIBMM_MUST_REDECLARE_NAMESPACES_INSIDE_EXTERNC and redeclare 
	the namespace when necessary.
	* examples/thread/dispatcher.cc, dispatcher2.cc: Use sigc::bind<1> 
	instead of just sigc::bind<> because the AIX xlC compiler needs the 
	extra hint. However, the linker then fails, so the use of sigc::bind 
	is ifdefed out for _AIX. See the comments in the code.
	
2005-01-21  Murray Cumming  <murrayc@murrayc.com>

	* configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new 
	compiler tests.
	1. To see whether it allows use of non extern C functions 
	as extern C callbacks, because the Tru64 compiler does not 
	allow this, when using strict_ansi. We do not actually use this yet.
	2. To see whether it allows us to define a template that uses an 
	undefined type, even if we do not use it before defining the type. 
	Tru64 does not allow this. That's probably correct. 
	* glib/glibmm/container.h: #ifdef out a dynamic_cast that Tru64
	does not allow, and which I can not think of a better place to put.
	See the comment in the code.
	* glib/glibmm/containerhandler_helpers.h: When the compiler does not 
	alllow the GObject and GtkObject (dynamic_cast of) specializations 
	here, then put them in glib/glibmm/object.h and 
	gtkmm/gtk/src/object.hg instead.- needed by Tru64 compiler.
	* glib/glibmm/value.h, value_custom.[h|cc]: Conditionally moved 
	the RefPtr Value specialization into object.h, as above.
	* glib/src/ optiongroup.ccg, spawn.ccg, thread.ccg: Make C callacks 
	separate extern "C".
	* glib/src/optiongroup.ccg: Do not use the StringArrayHandle, 
	because the Tru64 compiler has problems with it - see comments 
	in code.
	* glib/src/optionentry.hg: Remove the include of value.h, because 
	it is not used and it causes a Tru64 compile error in 
	optioncontext.cc because its templates are included before the 
	types that the template uses.

2005-01-19  Murray Cumming  <murrayc@murrayc.com>

	* configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added a 
	compiler test, because the IRIX MipsPro compiler does not allow the 
	inline initialization of ustring::npos.
	* glib/glibmm/ustring.[h|cc]: When the compiler does not support the 
	inline initialization of npos, initialize it in the .cc file.
	Declare partial specializations of the SequenceString inner class 
	inside the class - needed by IRIX MipsPro compiler. 

2005-01-18  Murray Cumming  <murrayc@murrayc.com>

	* glibmm/src/optiongroup.[hg|ccg]: CppOptionEntry::convert_c_to_cpp(): 
	Copy the strings to the vector in a loop, instead of using the 
	ArrayHandle constructor, because that does not seem to work with the 
	SUN Forte compiler.

2.5.4:

2005-01-10  Murray Cumming  <murrayc@murrayc.com>

	* glibmm/src/optiongroup.[hg|ccg]: Added a castitem constructor 
	that always takes ownership, needed by Gtk::Main. Added the new 
	FLAG_REVERSE flag value. Added reference documentation.

2.5.3:

2005-01-09  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/misc_utils.[h|cc]: Added setenv() and unsetenv(), 
	wrapping new functions added in glib 2.4.
	* glib/src/convert.[hg|ccg]: Added filename_display_name() and 
	filename_display_basename().

2005-01-09  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optionentry.ccg: Copy constructor: Copy the short name 
	form the src, not from itself. Bug #16331 from Daniel Holbach.

2005-01-09  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optionentry.[hg|cc]: Add add_entry(entry, bool&), to wrap 
	use of G_OPTION_ARG_NONE. Bug #163325 from Daniel Holbach.
	* examples/options/main.cc: Use the new add_entry() overload.

2005-01-06  Benoît Dejean  <TazForEver@dlfp.org>

	* glib/glibmm/dispatcher.cc:
	* glib/glibmm/error.cc:
	* glib/glibmm/exceptionhandler.cc:
	* glib/glibmm/main.cc:
	* glib/glibmm/threadpool.cc:
	* glib/glibmm/ustring.cc:
	* glib/glibmm/wrap.cc: Don't export private API.
	Closes #163031.

2005-01-04  Chris Vine <chris@cvine.freeserve.co.uk>
	
	* examples/iochannel_stream/: Provide a means of obtaining
	Glib::IOChannel error information from the streambuffer.  Remove
	the code conversion option from the fdstream/fdstreambuf
	constructors and add comments in fdstream.h about code conversion
	and other matters.  Add a detach() function and a destructor to
	fdstreambuf.  Correct an error in fdstreambuf::xsgetn().  Include
	missing <string> header file in main.cc.

2.5.2:

2004-12-19  Murray Cumming  <murrayc@murrayc.com>

	* examples/: Adapted and added iochannel_stream example from 
	Chris Vine in bug #138259.

2004-12-19  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/: Added glib_docs.xml, generated with docsextract_to_xml.py 
	and glib_docs_override.xml, to generate some API reference from 
	the C docs.
	* glib/src/Makefile.am: Mention the new files.

2004-12-19  Murray Cumming  <murrayc@murrayc.com>

	* docs/reference/: Added a copy of the libstdc++ doxygen tags file, 
	but it still does not seem to work, for example with std::vector<> 
	and std::string.

2004-12-19  Murray Cumming  <murrayc@murrayc.com>

	* docs/reference/Doxyfile.in: Use the libstdc++ TAG files, so that 
	references to std:: classes take people to their docs.
	* glib/src/: Added glib_docs.xml and glib_docs_override.xml, and 
	mentioned them in Makefile.am.

2004-12-19  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/date.hg, glib/glibmm/main.h, 
	glib/glibmm/signalproxy_connectionnode.h: Deal with some doxygen 
	warnings about undocumented parameters.
	* glib/glibmm/ustring.h: Added documentation for the size() and 
	bytes() methods. 

2004-11-21  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optionentry.[hg|ccg]: Removed OptionEntry enum and 
	set_arg_data(), because they are not needed any more.

2.5.1:

2004-11-01  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optiongroup.[hg|ccg]: Added add_entry() for vector<ustring> 
	and add_entry_filename() for std::string and vector<std::string>.
	* examples/options/main.cc: Test these new methods.

2004-10-30  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optiongroup.[hg|ccg]: Added gobj_give_ownership().
	* glib/src/optioncontext.[hg|ccg]: add_group(), set_main_group(): Use 
	gobj_give_ownership() because GOptionContext deletes the GOptionGroups 
	that we give it.

2004-10-26  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optionentry.hg: Remove accessors for arg and arg_data.
	* glib/src/optiongroup.[hg|ccg]: add_entry(): Remove arg_type parameter
	and instead add overrides which take specific C++ value types. 
	Add CppOptionEntry inner class to hold information about each entry 
	and its dynamically allocated C value.
	Add map_entries_ map to store them, so we can iterate over them during 
	post_parse.

2004-10-21  Murray Cumming  <murrayc@murrayc.com>

	* build_shared/Makefile_build.am_fragment: Patch from Roger Leigh in 
	bug # 15589 to use PLATFORM_WIN32 rather than OS_WIN32 to enable 
	-no-undefined. This allows glibmm to build in a cgwin environment, 
	apparently.

2.5.0:

2004-10-17  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/optioncontext.[hg|ccg]: add_entry(): Fixed crash by 
	creating a temporary array, with a nulled last item, which is what the 
	C function wants. In callbacks, ignore the group parameter because our 
	option group in the data parameter is the same, and does not require 
	construction of a second C++ wrapper instance for the same C instance.
	* glib/src/optiongroup.[hg|ccg]: Removed the cast constructor, because 
	it is not needed anymore, and there is no clear way to implement it.

2004-10-14  Murray Cumming  <murrayc@murrayc.com>
 
 	* tools/pm/WrapParser.pm: on_wrap_property(): Convert property name to 
 	canonical form, so that we can recognise notifications of property 
 	value changes. Bug #152764.

2004-10-07  Philip Langdale  <plangdale@vmware.com>

	* glib/glibmm/signalproxy_connectionnode.cc: Remove unnecessary warning
	when notify() is called after destroy_notify_handler(). (bug #154498)

2004-10-01  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/option*.[hg|ccg], examples/options/main.cc: Rethought the 
	structure now that I see how the parts work together. Rearranged the 
	example to show how the parsing can fill values in member variables 
	of a derived OptionGroup class. However, 1. it crashes now, 2. we need 
	extra code to map the GOption C types to suitable C++ types, probably 
	by doing pre and post parsing to create temporary C types for the C++ 
	types.

2004-09-27  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/option*.[hg|ccg]: Wrapped more methods, but I have still not
	finished.
	* examples/options/: Started an example.

2004-09-26  Murray Cumming  <murrayc@murrayc.com>

	* glib/src/glib_functions.defs: Regenerated with h2defs.py
	* glib/src/: Added optionentry.[hg|ccg], optiongroup.[hg|ccg], 
	optioncontext.[hg|ccg].

2004-09-19  Murray Cumming  <murrayc@murrayc.com>

	* This is the HEAD branch.

2004-09-13  Cedric Gustin <cedric.gustin@swing.be>

	* examples/thread/dispatcher.cc: Fixed a race condition on win32
	that involved the combined use of auto_ptr and multithreading (bug
	#109966). 

2.4.4:

2004-07-23  Martin Schulze  <mschulze@cvs.gnome.org>

	* glib/glibmm/main.cc: Move deletion of SourceConnectionNode object
	into destroy_notify_callback() exclusively; do not delete from 
	notify().
	(bug #144420)

2004-07-10  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/signalproxy_connectionnode.cc: notify(): Do not delete 
	the connection after disconnecting it, because disconnecting it 
	always causes disconnect_notify to be called, so just delete it there.
	This prevents double deletes and reading of deleting memory, found in 
	bug #145571.

2004-07-09  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/signalproxy.h.m4: Added some documentation.

2004-06-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/objectbase.cc: Spring cleaning.
	* glib/glibmm/object.cc: ditto.

2.4.3:

2004-06-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/macros.m4 (GTKMM_ARG_ENABLE_WARNINGS): Add
	-Wno-long-long to the list of tried warning flags.

2004-06-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.cc (DispatchNotifier::create_pipe): There
	is no point in calling g_file_error_from_errno() on win32 since we
	have no real errno.  Also fix the error text to say "event" rather
	than "pipe".

2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/cxx.m4: Add a couple of casts to void in order to suppress
	warnings about unused variables.  I still have no idea as to why the
	hardcore warning flags are remembered when running make distcheck...

2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher.cc: Explicitely join all threads.
	Hopefully that'll fix the crash on win32 (see bug #109966).

2004-06-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher*.cc (main): Remove unused parameter
	names to fix building with -Werror.

2004-06-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in (GTKMM_ENABLE_DEBUG_REFCOUNTING): s/^GTK/GLIB/

2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* build_shared/Makefile_build.am_fragment (all_includes): Remove
	left-over include paths for pango, atk, gdk and gtk.

2004-06-07  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/stringutils.h: Replace a couple of double quotes with
	&quot; to prevent doxygen from escaping the enclosed HTML entities.

2004-06-04  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Use /*! instead of /** to introduce
	doxygen comments in order to avoid cluttering the long method list
	of class Glib::ustring.  Replace a few double quotes with &quot;
	to prevent doxygen from escaping the enclosed HTML entities.

2.4.2:

2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/Makefile.am (EXTRA_DIST): Remove mkinstalldirs, because
	automake-1.8 doesn't use it anymore and prior versions should pick
	it up automatically anyway.

2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.cc: Complete overhaul of the Win32
	implementation of Glib::Dispatcher.  That is, mutex locking is
	done correctly now and dynamic memory allocation is no longer
	used, plus a few other cleanups.  See reopened bug #109966.

2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/signalproxy_connectionnode.cc
	(SignalProxyConnectionNode::SignalProxyConnectionNode):
	Reorder the initializer list to match the declaration order.

	(SignalProxyConnectionNode::notify): Add missing return 0.

2004-05-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.{cc,h}: Globally apply some minor code
	cleanup and optimization tweaks.

	(get_unichar_from_std_iterator): Replace implementation with a
	hand-optimized and profiled variant that has been lurking in my
	local tree for quite some time, thus should be well tested.
	Also add the G_GNUC_PURE() attribute.

	(operator+): Explicitely instantiate and return a temporary string,
	instead of accessing the reference ustring::operator+=() returns.
	This quite often allows the compiler to eliminate the additional
	copy constructor invocation.

2004-05-25  Murray Cumming  <murrayc@murrayc.com>

	* configure.in, Makefile.am: Removed the glibmm.spec files, because
	it is broken and nobody has volunteered to fix it.

2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher.cc: Revert last commit because it's
	silly.  To make the code truly exception-safe it would be necessary
	to either join all threads or to notify them, which is way beyond
	the scope of this example.

2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher.cc: Set a good example and
	be paranoid about possible memory leaks due to exeptions.

2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher.cc: Code cleanup.  Most importantly,
	get rid of the locking around std::cout since it obfuscates the
	purpose of using Glib::Dispatcher.

2004-05-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/object.{cc,h} (ConstructParams::ConstructParams):
	Implement the copy constructor in a way that actually works if used.
	Relying on the compiler to optimize it away is a bad idea. (#132300)

2004-05-04  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/ustring.h: Documented the constructors, based on
	the libstdc++ documentation, to make it clear that sizes are in 
	characters rather than bytes.

2004-05-01  Murray Cumming  <murrayc@murrayc.com>

	* configure.in: Increase glib dependency to 2.4.0.

2004-04-30  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/gobject.m4: Allow use of _CUSTOM_DTOR(), needed by
	Gnome::Gda::Connection.

2.4.1:

2004-04-17  Murray Cumming  <murrayc@murrayc.com>

	* docs/reference/Makefile.am: Make the generated html depend on the
	beautify_docs.pl.in source instead of the generated beautify_docs.pl,
	so that the html is not rebuilt from tarballs.

2004-04-17  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/container_handle.h: Reimplemented more of the 
	to_cpp_type() methods without using dependent methods, so that they 
	work with g++ 3.4 (cvs versions).

2.4.0:

2004-04-11  Murray Cumming  <murrayc@murrayc.com>

	* tools/pm/WrapParser.pm, Output.pm, m4/signal.m4: Allow _WRAP_SIGNAL()
	to take an refreturn argument, so that Gtk::Widget::on_get_accessible()
	can do an extra ref before returning the Atk::Object. 

2004-04-09  Murray Cumming  <murrayc@murrayc.com>

	* tools/pm/Output.pm: output_wrap_property(): Provide the actual
	property name as well as one with - replace with _, so we can 
	test for the correct value in notification signal handler.
	* tools/m4/property.m4: Use the actual property name when calling
	C functions.

2.3.8:

2004-03-24  Murray Cumming  <murrayc@murrayc.com>

	* scripts/cxx.m4: Corrected parentheses, which cause the docs to be 
	written into config.h. Thanks to Alexander Nedotsukov.

2004-03-23  Murray Cumming  <murrayc@murrayc.com>

	* scripts/cxx.m4: Corrected the ambiguous const template test, which
	failed on all platforms because it generated bad code.

2004-03-20  Martin Schulze  <mschulze@cvs.gnome.org>

	* glibmm/main.cc: Bug fix in SourceConnectionNode::notify() (#137030).

2004-03-18  Murray Cumming  <murrayc@murrayc.com>
 
 	* tools/generate_wrap_init.pl: Change a regex so that files are
 	included without full path. Apparently this helps when building outside
 	of the source directory, though I'm sceptical. By Victor Zverovich in 
 	bug #137530.

2.3.7:

2004-03-14  Murray Cumming  <murrayc@murrayc.com>
                                                                         
        * scripts/sun.m4: Set the correct variable, so it is actually set in 
	glibmmconfig.

2004-03-14  Murray Cumming  <murrayc@murrayc.com>                                                                                       
        * glib/glibmm/containerhandle_shared.h value.h: Used ifdef 
        GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS to avoid 
	problems with the SUN Forte compiler.

2004-03-14  Murray Cumming  <murrayc@murrayc.com>

	* scripts/cxx.m4: Added CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS
	m4 macro to use in configure.in, to check for the SUN Forte problem -
	see the comments in cxx.m4.
	* scripts/sun.m4: Moved some brackets around to make the define
	actually work.

2004-03-13  Murray Cumming  <murrayc@murrayc.com>

	* glib/glibmm/containerhandle_shared.h: TypeTraits to_cpp_type() 
	specializations: Use wrap_auto() directly instead of a specific
	wrap() overload that would be dependent. Needed for g++ 3.4.
	* glib/glibmm/containers.h: Same again.

2004-03-13  Murray Cumming  <murrayc@murrayc.com>

	* tools/m4/class_shared.m4: Remove the parent get_type() call from
	the Class::init() function, because it is optimised away, and g++ 3.4
	actually complains that it does nothing.
	* glib/glibmm/object.[h|cc]: Add a public ConstructParams copy 
	constructor, needed by g++ 3.4. See comments in the code.
	* tests/glibmm_value/glibmm_value.cc: Instantiate instances of 
	value types, to fix the g++ 3.4 build. I don't know what the code
	was meant to do before anyway.

2004-03-11  Murray Cumming  <murrayc@murrayc.com>

	* scripts/: Added sun.m4, copied from libsigc++-1.2/scripts and 
	modified, so we can detect the SUN Forte compiler.
	* configure.in: Used the m4 macro.
	* glibmm/glibmm-config.h: Undef the GLIBMM_COMPILER_SUN_FORTE macro
	so that it will be defined if configure sets it.

2004-03-09  Murray Cumming  <murrayc@murrayc.com>
 
 	* Some, but not all, SUN Forte build fixes: 
 	* tools/m4/convert_gdk.m4, convert_glib.m4: Use existing
 	sun-specific conversion when converting from any 
 	RefPtr<const Something> to *Something.

2004-04-08  Hagen Moebius  <hagen.moebius@starschiffchen.de>

        * tools/pm/DocsParser.pm: Another change to give better warnings and
        errors at gmmproc-runtime. Further improvment of parsing parameter names
        to strip traling underscres. This not only for reference text, but for
        the parameter list also.

2004-04-07  Hagen Moebius  <hagen.moebius@starschiffchen.de>

	* tools/pm/DocsParser.pm: Allow overrides to only override
	part of the docs. Add a <mapping> tag to associate non-prefixed
	functions with classes. Improve parsing of parameter names so they
	can now have numbers in the names.

2.3.6:

2004-03-03  Murray Cumming  <murrayc@murrayc.com>

	* Added glib/glibmm/i18n.h and i18n-lib.h which defines _() and friends
	for internationalization. See the comments in the header - you must
	include things in the right order.
	* glib/src/spawn.[hg|ccg]: Added spawn_close_id() as wrapper for
	g_spawn_close_id().
	* glib/glibmm/main.[h|cc]: Added MainLoop::depth() as wrapper for
	g_main_depth().

 2004-03-02  Murray Cumming  <murrayc@murrayc.com>

	* tools/pm/Function.pm: parse_param(): Only parse const as an 
	individual part of the type name if it is followed by a space, so 
	that we can have const const_iterator& types.

2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>

  * CHANGES: Fix typo reported by Chris Vine.

2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>

	* documentation fixes and corrections in the comments reflecting
	the shift to libsigc++ 2.
	* make all source files in example thread use libsigc++ 2 instead
	of libsigc++ 1.2.

2.3.5:

2004-02-10  Murray Cumming  <murrayc@usa.net>

	* glibmm now uses libsigc++ 2 instead of libsigc++ 1.2. See bug
	#125061 for more details. We must update CHANGES later.

2.3.4:

2004-02-02  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/containerhandle_shared.h: Traits<const T*>: Added
	const_cast, needed by TreeView::get_columns() const: bug #126721.

2004-01-29  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Parser.pm, Output.pm, tools/m4/signal.m4: Add an optional
	custom_c_callback parameter to _WRAP_SIGNAL to allow special code
	for the SelectionData& output parameter in Gtk::Widget signals.
	Hopefully we won't need too many more of these hacks - the m4 is 
	becoming very hard to read, with all these nested ifelse() statements.

2004-01-27  Cedric Gustin  <cedric.gustin@swing.be>

	* build_shared/Makefile_build.am_fragment: Added win32-specific
	--export-all-symbols to linker flags. This is backported from 
	gtkmm-2.2.
	* README.win32: Updated text for glibmm-2.4. 
	* tools/generate_wrap_init.pl.in: Replaced GTKMM_WIN32 by the 
	standard G_OS_WIN32.

2.3.3:

2004-01-22  Murray Cumming  <murrayc@usa.net>

	* glib/date.[hg|ccg]: Added clamp_min() and clamp_max() to wrap the
	case where g_date_clamp() takes null values.

2004-01-18  Alberto Paro  <alberto@paro.homeunxi.org>

	* glib/src/date.hg: documentated Glib::Date functions.
	* glib/glibmm/main.h: documentated Glib::MainLoop,Glib::MainContext
	and Glib::Source  functions.

2004-01-18  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Output.pm, tools/m4/property.m4: When the property is not
	read-only, add a second read-only propertyproxy for the same property,
	with a const accessor. This allows setting of properties in const
	methods. Make all read-only propertyproxies have const accessors.
	* glib/glibmm/propertyproxy.h: Added class documentation.
	* tools/pm/Output.pm: Declare _vfuncs as virtual methods - fixing
	an error in my last change.

2004-01-16  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Output.pm, tools/m4/vfunc.m4:
	- Generate const vfuncs when requested with _WRAP_VFUNC().
	- Put the *_vfunc() decleraration directly into the header, where 
	the _WRAP_VFUNC() macro appears, instead of in a separate section.
	This allows us to add doxygen documentation before the _WRAP_VFUNC()
	in the .hg file. However, we must check that all of our _WRAP_VFUNC()
	macros are in protected: sections.

2004-01-12  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/object.cc: Object::Object() default constructor. 
	Remove the warning because we really need this to implement a custom
	TreeModel. Derive a new GType, as in the 
	Object::Object(ConstructParams) constructor. Like that constructor, 
	the default one also assumes that you have called a suitable 
	ObjectBase constructor, such as ObejctBase(typeid(MyCustomClass)).

2004-01-09  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Output.pm: output_wrap_property(): Allow construct-only
	properties to be wrapped, as read-only properties.

2004-01-03  Murray Cumming  <murrayc@usa.net>

	* tools/gmmproc.in, pm/WrapParser.pm, DocsParser.pm: Removed the 
	mergecdocs option - because we always want to merge C docs, to avoid
	accidental upload of half-complete docs.

2003-12-29  Murray Cumming  <murrayc@usa.net>

	* Makefile.am: Add scripts and tests directories to SUBDIRS instead of 
	DIST_SUBDIRS, so that their Makefile.am files are actually used.
	* scripts/macros.m4: renamed GTKMM_CHECK_PERL() to GLIBMM_CHECK_PERL()
	and install it as glibmm_check_perl.m4, so that other *mm projects
	can use it. They need the PERL_PATH for Doxygen.

2003-12-22  Murray Cumming  <murrayc@usa.net>

	* docs/reference: generate beautify_docs.pl from beautify_docs.pl.in,
	so it can have the perl path in it. Install it, so other *mm 
	modules can use it.

2003-12-13  Murray Cumming  <murrayc@usa.net>

	* tools/m4/*.m4: Added fuller Doxygen documentation to all gobj() and 
	wrap() methods. Doxygen should not emit warnings about these now.

2.3.2:

2003-11-29  Murray Cumming  <murrayc@usa.net>

	* tools/m4/signal.m4: Add spaces inside signal_proxy template types,
	to avoid << and >> when using templated types.

2003-11-27  Murray Cumming  <murrayc@usa.net>

	* tools/pm/WrapParser.pm, Output.pm: Added WRAP_METHOD_DOCS_ONLY()
	macro.
	* docs/internal/using_gmmproc.txt: Explained the new macro.
	
2003-11-02  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/: Added init.[h|cc] with Glib::init() so that the 
	gnomemm init() methods do not need to initialize gtkmm.
	* tools/m4/class_gobject.m4, class_gtkobject.m4: Added 
	_GMMPROC_PROTECTED_GCLASS macro, needed by libgnomecanvasmm. This
	was not previously properly merged from gtkmm2.
	* tools/m4/property.m4: Re-added PropertyProxy reference documentation
	that did not survive a previous merge from gtkmm2.

2003-11-01  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/propertyproxy.h, propertyproxy_base.[h|cc]: Now uses
	ObjectBase instead of Object, because glib can now have properties
	on interfaces. This is needed, for instance, by the GtkFileChooser
	interface wrapper in gtkmm.
	* glib/glibmm/object.h: Moved get/set_property() methods into 
	ObjectBase, for the same reason.
	* tools/pm/WrapParser.pm, Output.pm: Added optional no_default_handler
	parameter to gmmproc _WRAP_SIGNAL() macro, for signals whose 
	default signal handler is not in the klass struct and therefore
	can not be overridden.

2003-10-31  Murray Cumming  <murrayc@usa.net>

	* docs/Makefile_web.am_fragment: Corrected install location,
	so that links from the gtkmm docs work when they are installed.

2003-10-30  Murray Cumming  <murrayc@usa.net>

	* docs: Added images directory, copied from gtkmm, for the reference
	html docs.
	* configure.in: Mention docs/images/Makefile.
	* docs/reference/Doxyfile.in: Genereate glibmm_doxygen_tags instead
	of gtkmm_doxygen_tags.
	* docs/reference/Makefile.am: dist glibmm_doxygen_tags.
	* docs/reference: gtkmm*.html_fragment are now glibmm*.html_fragment.

2.3.1:
	
2003-10-23  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Output.pm: output_wrap_create(): Used
	args_types_and_names_with_default_values() intead of 
	args_types_and_names(), so that create() functions .in .h files have 
	the default values as specified in _WRAP_CREATE() in .hg files.
	* tools/pm/WrapParser.pm: on_ignore_signals(): Strip the quotes, to
  make _IGNORE_SIGNAL() really work in .hg files.

2003-10-02  J. Abelardo Gutierrez <jabelardo@cantv.net>

	* examples/threads/dispatcher.cc
	  examples/threads/dispatcher2.cc: fixed to cast out all gktmm code,
	now they only need glimm.
	* configure.in: Added examples/threads because they don't use gtkmm
	anymore.  Now all examples/threads compiles and run just fine.

2.3.0:

2003-09-30  Murray Cumming  <murrayc@usa.net>

	* configure.in: Removed examples/threads because we don't build or
	distribute it, because it doesn't build, because it uses gtkmm.

2003-09-30  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/object_base.h: ObjectBase inherits virtually from
	Sigc::Object. See bug #116280.

2003-09-27  Cedric Gustin  <cedric.gustin@swing.be>
 
 	* glib/glibmm/threadpool.cc: Removed
 	_GTKMMPROC_SIGNAL_H_AND_CC(#ifndef G_OS_WIN32) restrictions. These
 	functions are now implemented in the latest (2.2.4) GTK+ on win32.
 	* README.win32 : Updated list of unsupported functions. 
 
2003-08-20  Frank Naumann  <fnaumann@freemint.de>
  
  	* glib/src/thread.hg,
  	  glib/src/unicode.hg: Warning bugfix for VisualStudio .NET 2003;
  	made wrapper functions returning bool from glib functions
  	returning int (C lacks builtin type bool) explicit by adding 
  	an != 0 check. Otherwise VisualStudio .NET warn about implicit
  	int -> bool cast. 

2003-07-26  Murray Cumming  <murrayc@usa.net>
 
 	* glib/glibmm/dispatcher.cc: Added #include <algorithm>, needed
 	by MSVC++, as suggested by Frank Naumann in bug #118215.

2003-05-31  Murray Cumming  <murrayc@usa.net>

	* tools/gmmproc.in: Corrected location of installed .pm files. They
	are now in a glibmm-2.3 folder instead of a glibmm-2.4 folder.

2003-05-14  Murray Cumming  <murrayc@usa.net>

	* Applied some of MSVC++ .NET 2003 changes from jburris. For instance,
	use of Gtk:: prefix with manage, because MSVC++ can not guess it. Also
	corrected the out-of-sync protected/private modifiers in the private
	gtype classes and their prototypes.

2003-05-09  Cedric Gustin  <cedric.gustin@swing.be>

        * glib/glibmm/dispatcher.cc: small typo in G_OS_WIN32 condition.
	
2003-05-07  Murray Cumming  <murrayc@usa.net>

	* scripts/macros.m4: Made the --enable-debug-refcounting configure
	option set GLIBMM_* instead of GTKMM_*.

2003-05-02  Murray Cumming  <murrayc@usa.net>
 
 	* tools/m4/*.m4: Added doxygen comments to gobj() methods.
 	* examples/markup/parser.cc: Commented-out a std::right that gcc 2.93
 	does not like.

2003-04-23  Andrew Makeev
 
	* glib/glibmm/dispatcher.cc: Added some #ifdefed code to implement
 	Glib::Dispatcher on WIN32. See comments with the code.

2003-04-22  Murray Cumming  <murrayc@usa.net>

	* Install headers in a glibmm-2.3 directory instead of glibmm-2.4,
	to be consistent with gtkmm 2.4.

2003-04-21  Murray Cumming  <murrayc@usa.net>

	* arrayhandle.h, listhandle, slisthandle.h:
	Glib::ListHandle, Glib::ListHandle, Glib::SListHandle: Added 
	reference docs explaining that people can use STL containers.
	
2003-04-21  Murray Cumming  <murrayc@usa.net>

	* Removed examples/idle: It's now updated and in gtkmm/examples/book.

2003-04-19  Murray Cumming  <murrayc@usa.net>

	* tools/pm/GtkDefs.pm: get_unwrapped(): Changed some & to && to 
	avoid warnings and because that is probably what they should be.

	* tools/m4/extra_defs_gen/generate_defs_glib.cc: Removed parameter
	names from main(), because they are not used. Avoid warning.

2003-03-26  Ross Burton  <ross@burtonini.com>

	* glib/src/module.hg: Added API documentation.

2003-03-18  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>
	
	* scripts/*.m4, configure.in:
          Added description to several AC_DEFINE statements to make 'autoheader'
          happy
        * Makefile.am:
          Added ACLOCAL_AMFLAGS to make 'autoreconf' work
	
2003-03-18  Cedric Gustin  <cgustin@ibelgique.com>
 
  	* Makefile.am : removed examples from DIST_SUBDIRS

2003-03-18  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>

	* examples/Makefile.am_fragment:  Added DESTDIR-support.
	
2003-03-14  Cedric Gustin  <cgustin@ibelgique.com>

	* Install examples. The are built by default too. Patch adapted for
	glibmm 2.4 by Murray Cumming.

2003-03-04  Cedric Gustin  <cgustin@ibelgique.com>

 	* configure.in : Removed libstdc++ in LDFLAGS on win32. Latest
 	libtool is taking care of it.
	* build_shared/Makefile_build.am_fragment,
	tools/extra_defs_gen/Makefile.am : Added
	--export-all-symbols linker flag on win32 (required by latest
 	libtool to build DLLs).
 	* build_shared/Makefile_gensrc.am_fragment : Modifiy rule that
 	builds wrap_init.cc. wrap_init.cc now contains reference to all
 	objects, event on win32. #ifdefs are included when needed.
	* README.win32 : updated for version 2.2. Added list of missing
 	methods and signals on win32
	* tools/m4/base.m4 : Added _GTKMMPROC_SIGNAL_H_AND_CC macro.
	

2003-03-14  Martin Schulze  <MHL.Schulze@t-online.de>

	* docs/internal/using_gtkmmproc.txt: Correct name of
	[...]signals.defs generation utiliy.

2003-01-30  Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>

	* glib/src/thread.hg Cond: Add documentation

2003-01-27  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/refptr.h: Removed RefPtr<>::is_null() to encourage use
	of more pointer-like operator bool() instead. Wanted to remove clear()
	too, but there is no =0 equivalent yet.
	* tools/gmmproc.in: Change harcoded gtkmm-2.0/m4 path to glibmm-2.4/m4.

2003-01-22  Murray Cumming  <murrayc@usa.net>

	* GTKMM_ m4 tests and #defines are now prefixed with GLIBMM_

2003-01-21  Murray Cumming  <murrayc@usa.net>

	* tests/Makefile.am_fragment, examples/Makefile.am_fragment: 
	Corrected LIBS and CFLAGS. Not all of these build because they
	use gtkmm stuff too. They need to be reduced to glibmm-only code.

2003-01-21  Murray Cumming <murrayc@usa.net>

	* glib/Makefile.am, glib/glibmm/Makefile.am: Install headers in
	glibmm-2.4 directory rather than gtkmm-2.4

2003-01-21  Murray Cumming  <murrayc@usa.net>

	* configure.in: Use GLIBMM_* instead of GTKMM_* to avoid config.h 
	clashes with gtkmm 2.4.
	* glib/glibmm-2.4.pc.in: Correct cflags - report 2.4 instead of 2.0.

2003-01-21  Murray Cumming  <murrayc@usa.net>

	* tools/extra_defs_gen/Makefile.am: Changed extra_defs library name
	from 2.4 to 2.3, so it can be unstable.

2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/utility.h (GLIBMM_INITIALIZE_STRUCT): Replace
	__builtin_bzero() with __builtin_memset() because the former is
	deprecated.  Also, it looks like GCC is able to optimize the 0 case
	so we don't lose anything here.

2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.cc (Glib::build_path): Reserve 256 bytes
	in advance to improve performance.

2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.{cc,h} (Glib::build_path): Fix to make it
	behave exactly like g_build_path().  (#102885, Jarek Dukat)

	(Glib::build_filename(const std::string&, const std::string&)):
	Implement in terms of Glib::build_path().
	
2003-01-21  Murray Cumming  <murrayc@usa.net>

	* Renamed gtkmmproc to gmmproc.

2003-01-08  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/refptr.h: Removed the operator=(CppObject*), as
	suggested in the TODO comment.

2003-01-08  Murray Cumming  <murrayc@usa.net>

	* make distcheck works.

2003-01-08  Murray Cumming  <murrayc@usa.net>

	* It now builds, though I haven' tried installing it. The
	library names and header directories should now all have 2.4
	instead of 2.0 in their name.

glibmm was previously part of gtkmm2.

