2.28.1:

2011-06-13  Kalev Lember  <kalev@smartlink.ee>

	Removed doctooldir variable from pkgconfig files

	* glib/glibmm{,-uninstalled}.pc.in: Removed doctooldir variable now
	that the scripts are in mm-common.
	https://bugzilla.redhat.com/show_bug.cgi?id=712474
	Bug #652461

2011-06-13  José Alburquerque  <jaalburqu@svn.gnome.org>

	m4 Macros: _INITIALZE: Modify so that $1 substitutes C++ type w/o &.

	* tools/m4/convert_base.m4 (_INITIALIZE): Changed the macro so that $1
	substitutes the C++ type without the final ampersand (&) for
	convenience.

2011-06-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: Use '.' instead of '-' in parameter reordering.

	* tools/pm/Function.pm (parse_param): Use a '.' instead of a '-' to
	signify that the C++ parameter name should be used as the C parameter
	name to map the current C++ parameter to.

2011-06-09  José Alburquerque  <jaalburqu@svn.gnome.org>

	Gio::DBus::Connection::emit_signal(): Say why convert empty strings.

	* gio/src/dbusconnection.ccg (emit_signal): Explain why empty strings
	are converted to NULL when passed to the C API.

2011-06-08  José Alburquerque  <jaalburqu@svn.gnome.org>

	Gio::DBus::Connection::emit_signal(): Replace empty strings with NULL.

	* gio/src/dbusconnection.ccg (emit_signal): Pass NULL to the C
	function call where strings are empty allowing emitting signals to all
	listeners.

	Bug #645072 (Yannick Guesnet).

2011-06-07  José Alburquerque  <jaalburqu@svn.gnome.org>

	M4 Macros: Rename the _INITIALIZER macro to _INITIALIZATION.

	* tools/m4/convert_base.m4 (_INITIALIZER): Rename the macro to
	_INITIALIZATION to be more consistent with the _CONVERSION macro.

2011-06-07  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: _WRAP_METHOD: Add the possibility of an output parameter.

	* tools/pm/Output.pm (output_wrap_meth): Modified to test if there is
	a parameter mapping in the current C++ function from the hypothetical
	C name 'RET' to a C++ parameter index.  If so, that parameter is
	treated as an output parameter.  This allows wrap statements such as:
	
	_WRAP_METHOD(static void get_finish(Glib::RefPtr<Connection>&
	  conn{RET}, const Glib::RefPtr<AsyncResult>& res), g_bus_get_finish,
	  errthrow
	)

	Where the 'conn' parameter is an output parameter.  The output
	parameter name and type are passed to the _STATIC_METHOD and _METHOD
	macros (along with the wrap line number).

	(convert_args_cpp_to_c): Modified to process the C++ parameters
	dealing with the possibility of an output parameter.

	* tools/pm/Function.pm: Typo.

	* tools/m4/method.m4 (_METHOD):
	(_STATIC_METHOD): Both modified to accept an optional output parameter
	name, type and wrap line number and if they exist to ensure that the
	output parameter is correctly set to the return of the C function.  To
	do that it uses the new _INITIALIZE macro.

	* tools/m4/convert_base.m4 (_INITIALIZER):
	(_INITIALIZE):  Add macros (similar to the _CONVERSION/_CONVERT
	macros) used to record how to initialize a C++ type from a C type and
	later to initialize an output parameter of the C++ type.  The
	_INITIALIZER macro has much the same syntax as the _CONVERSION macro.
	For example:

	  _INITIALIZER(`Glib::RefPtr<Connection>&',`GDBusConnection*',
	    `$3 = Glib::wrap($4)')

	Describes how to initialize a C++ reference to a Glib::RefPtr that
	contains a Gio::DBus::Connection from its corresponding C type.  $3
	represents the output parameter name and $4 represents the C return.

	The _INITIALIZE macro can then be appropriately used by the _METHOD
	and _STATIC_METHOD macros to initialize the output parameters passed
	to them by gmmproc.

2011-06-06  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Support parameter reordering.

	* tools/pm/Function.pm (param_mappings): Add a new hash member mapping
	C parameter names to C++ parameter indices.  The map is specified by
	appending a {name[?]} to the desired C++ parameter name in the C++
	method declaration.  A '-' in place of a C parameter name means to use
	the C++ parameter name.
	(parse_param): Modified to detect parameter mappings and set the
	appropriate mapping in the above new member.  No mappings occur if
	none are specified.
	* tools/pm/Output.pm (convert_args_cpp_to_c):
	(get_ctor_properties): Modified to use the new C param names to C++
	param indices mappings member above to allow reordering of parameters
	in the C++ method declaration.

2011-06-05  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: Do not use NULL for optional parameters or properties.

	* tools/pm/Output.pm (convert_args_cpp_to_c):
	(get_ctor_properties): Substitute 0 instead of NULL for optional
	parameters or properties.

2011-06-04  Murray Cumming  <murrayc@murrayc.com>

	Fix the build with --enable-warnings=fatal.

	* tests/glibmm_nodetree/main.cc: Comment out a set-but-not-used 
	variable.

2011-06-01  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: Use NULL for optional properties.

	* tools/pm/Output.pm(get_ctor_properties): Use NULL instead of
	static_cast<char*>(0) for properties that are optional as is done in
	convert_args_cpp_to_c().

2011-06-01  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: _WRAP_[CREATE|CTOR]: Add optional parameter functionality.

	* tools/pm/Function.pm (new_ctor): Modified to initialize the new
	param_optional and possible_args_list members.
	* tools/pm/FunctionBase.pm (args_names_only): Typo.
	(get_declaration): Make sure that spacing is correct if the
	declaration is a constructor's declaration.
	* tools/pm/Output.pm (output_wrap_meth): Store the number of possible
	declarations instead of computing it each time in the for loop.
	(output_wrap_ctor):
	(output_wrap_create): Modified as output_wrap_meth() to loop through
	the list of the possible combination of arguments to output
	convenience overloads for the constructors and create() methods.
	(get_ctor_properties): Modified as convert_args_cpp_to_c() to accept
	an optional index specifying which argument list out of the possible
	ones to use and to insert a static_cast<char*>(0) for optional
	parameters not in the specified argument list.
	* tools/m4/class_gobject.m4: Added a blank line after the create()
	methods definitions.

2011-05-31  José Alburquerque  <jaalburqu@svn.gnome.org>

	gmmproc: _WRAP_METHOD: Add optional parameter functionality.

	* tools/pm/Function.pm (param_optional): Add new member bool array to
	represent which parameters are optional.
	(possible_args_list): Add new member string array containing a list of
	the possible argument combination based on existing optional
	parameters.
	(possible_args_list): Added recursive function to generate the list of
	possible parameter combinations.  The first in the list (the zeroth
	element) always includes all the paramters.
	(new): Modified to initialize the new members above.
	(parse_param): Modified to see if parameters are optional by checking
	if the name ends with '{?}'.
	* tools/pm/FunctionBase.pm (args_names_only):
	(args_types_and_names):
	(args_types_and_names_with_default_values): Modified to accept an
	optional index representing the desired argument list to use out of
	the possible combinations.
	(get_declaration): New subroutine returning any of the possible
	declarations based on optional arguments.
	(get_num_possible_args_list): New subroutine returning the number of
	possible combination of arguments.
	* tools/pm/Output.pm (output_wrap_meth): Modified to loop through the
	possible arguments list and generate a _METHOD or _STATIC_METHOD for
	all the possible combination of arguments.
	(convert_args_cpp_to_c): Modified as above to accept an optional index
	parameter representing the argument list for which to generate
	_CONVERT macros.  For optional arguments a NULL is placed in the C
	function call.

2011-05-27  Kjell Ahlstedt  <kjellahl@src.gnome.org>

	gmmproc: Protect documentation with m4 quotes.

	* tools/pm/DocsParser.pm:
	* tools/pm/Output.pm: Method documentation read from xxx_docs.xml, and
	property documentation read from xxx_signals.defs are better protected with
	m4 quotes and __BT__ and __FT__ macros in the input to the m4 macro
	processor. Bug #603930