2015-11-13  Murray Cumming  <murrayc@murrayc.com>

	2.6.2

2015-11-12  Murray Cumming  <murrayc@murrayc.com>

	Add warnings for use with --enable-warnings=fatal

	Added use -Wsuggest-override and -Wzero-as-null-pointer-constant.

2015-11-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	trackable, slot_base, signal_base, connection: Add some noexcept specs

2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	slot and signal: Add missing move constructors and move assignments

	* sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
	* sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
	* tests/test_signal_move.cc:
	* tests/test_slot_move.cc: Test that the source objects are empty.
	Bug #756484.

2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	trackable, slot, signal: Remove noexcept specifications

	* sigc++/functors/macros/slot.h.m4:
	* sigc++/functors/slot_base.[h|cc]:
	* sigc++/signal_base.[h|cc]:
	* sigc++/trackable.[h|cc]: Remove noexcept from the move operators.
	Bug #756484.

2015-11-06  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	slot: Handle auto-disconnection when a slot contains a slot

	* sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
	for slot# and slot.
	* tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
	a slot. Bug #755003.

2015-11-06  Murray Cumming  <murrayc@murrayc.com>

	signal_impl: =delete copy and move operations.

	Prevent, copy and move constructors and assignment operators from
	being generated automatically. These are never used, but this
	will make sure of that.
	See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5

2015-11-06  Murray Cumming  <murrayc@murrayc.com>

	typed_slot_rep: =delete unimplemented copy and move operations.

	Prevent, copy assignment operator, move constructor and move
	assignment operators from being generated automatically.
	These are never used, but this will make sure of that.
	See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5

2015-11-06  Murray Cumming  <murrayc@murrayc.com>

	slot_rep: =delete copy and move operations.

	Prevent, copy and move constructors and assignment operators from
	being generated automatically. These are never used, but this
	will make sure of that.
	See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5

2015-11-06  Murray Cumming  <murrayc@murrayc.com>

	Small whitespace changes in docs comment.

2015-10-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	trackable: Add a comment

2015-10-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	slot and signal: Fix move constructors and move assignments

	* sigc++/functors/macros/slot.h.m4: Add documentation.
	* sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
	Don't move a connected slot.
	* sigc++/signal_base.cc: Fix the move assignment of signal_base.
	* tests/test_signal_move.cc:
	* tests/test_slot_move.cc: Really test move assignment. Bug #756484.

2015-10-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	More use of nullptr instead of 0

2015-10-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	slot_rep::disconnect(): Remove a comment, add a test

	* sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
	* tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.

2015-09-29  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update sigc++/.gitignore

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

	2.6.1

2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	sigc::trackable: Don't move the callback list

	* sigc++/trackable.[h|cc]: Don't move the callback list.
	* tests/test_trackable_move.cc: Remove a comment. Bug #755393.

2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Recreate adaptors/lambda files necessary not to break ABI

	* sigc++/adaptors/lambda/macros/base.h.m4:
	* sigc++/adaptors/lambda/macros/lambda.cc.m4:
	* sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
	* sigc++/Makefile.am:
	* sigc++/filelist.am: Add the recreated lambda files.
	Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
	"Remove remaining parts of the sigc::lambda API."
	Differences from an exact reversion: MSVC_Net files are not modified.
	(Probably something ought to be changed in MSVC_Net2013.)
	tests/Makefile.am is not modified-
	is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
	The extern declarations that were previously in select.h.m4 are moved to
	lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
	the .so file.
	All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
	Bug #755550.

2015-09-21  Murray Cumming  <murrayc@murrayc.com>

	2.6.0

2015-09-17  Murray Cumming  <murrayc@murrayc.com>

	C++11: deduce_result_type: Simpifying, removing use of std::is_same().

	See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9

2015-09-17  Marcin Kolny  <marcin.kolny@gmail.com>

	C++11: deduce_result_type: build fix, using SFINAE paradigm.

	Bug #753612

2015-09-17  Murray Cumming  <murrayc@murrayc.com>

	C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.

	Bug #753612
	However, the build then fails like so:

	make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
	g++ -DHAVE_CONFIG_H   -I.. -I..  -pedantic -Wall -Wextra -Wshadow -Wformat-security -Werror -Wall -g -O0 -std=c++11 -MT hello_world.o -MD -MP -MF .deps/hello_world.Tpo -c -o hello_world.o hello_world.cc
	In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
	from ../sigc++/functors/slot.h:7,
	from ../sigc++/signal_base.h:27,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/adaptors/deduce_result_type.h: In instantiation of ‘struct sigc::deduce_result_type<sigc::pointer_functor1<const std::basic_string<char>&, void>, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void>’:
	../sigc++/adaptors/deduce_result_type.h:60:80:   required by substitution of ‘template<class T_functor, class ... T_args> using deduce_result_t = typename sigc::deduce_result_type::type [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_args = {const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void}]’
	../sigc++/adaptors/adaptor_trait.h:67:104:   required from ‘struct sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::deduce_result_type<const std::basic_string<char>&, void, void, void, void, void, void>’
	../sigc++/adaptors/adaptor_trait.h:88:3:   required by substitution of ‘template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:137:20:   required from ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:144:37:   required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
	../sigc++/functors/slot.h:529:91:   required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:1161:26:   required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	hello_world.cc:25:50:   required from here
	../sigc++/adaptors/deduce_result_type.h:56:12: error: no class template named ‘deduce_result_type’ in ‘class sigc::pointer_functor1<const std::basic_string<char>&, void>’
	>::type;
	^
	In file included from ../sigc++/signal_base.h:27:0,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/functors/slot.h: In instantiation of ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’:
	../sigc++/functors/slot.h:144:37:   required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
	../sigc++/functors/slot.h:529:91:   required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:1161:26:   required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	hello_world.cc:25:50:   required from here
	../sigc++/functors/slot.h:137:20: error: no matching function for call to ‘sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::operator()(const std::basic_string<char>&)’
	(a_1);
	^
	../sigc++/functors/slot.h:137:20: note: candidates are:
	In file included from ../sigc++/functors/slot.h:7:0,
	from ../sigc++/signal_base.h:27,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/adaptors/adaptor_trait.h:88:3: note: template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = T_arg1; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
	operator()(T_arg1 _A_arg1) const
	^
	../sigc++/adaptors/adaptor_trait.h:88:3: note:   substitution of deduced template arguments resulted in errors seen above
	../sigc++/adaptors/adaptor_trait.h:107:3: note: template<class T_arg1, class T_arg2> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1, T_arg2>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1, T_arg2) const [with T_arg1 = T_arg1; T_arg2 = T_arg2; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
	operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
	^
	../sigc++/adaptors/adaptor_trait.h:107:3: note:   template argument deduction/substitution failed:
	In file included from ../sigc++/signal_base.h:27:0,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/functors/slot.h:137:20: note:   candidate expects 2 arguments, 1 provided
	(a_1);
	^

2015-09-11  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Builds: Add "Install" Project

	This makes building the -mm stack easier by copying the headers and the
	built DLL, PDB and LIB files to a location where it can be picked up by
	the gtkmm stack automatically, when they are extracted in a common
	directory.  This is what is currently done with the GTK+ and Clutter
	stacks for Visual Studio builds.

2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Update README on Visual Studio Builds

	Since the Visual Studio project files and the related sources have been
	updated to work with Visual Studio 2013, and that the test programs do
	run well there, update the README file to let people know the situation.

	https://bugzilla.gnome.org/show_bug.cgi?id=754082

2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

	sigc++config.h.in: Allow Build for MSVC 2013

	MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
	_NOEXCEPT for MSVC 2013.  Plus, since by default MSVC 2013 does not allow
	us to re-define keywords, though they may or may not be supported, we need
	to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.

	https://bugzilla.gnome.org/show_bug.cgi?id=754082

2015-09-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update source of web page

	* docs/website/fragments/footer.html_fragment:
	* docs/website/fragments/html_declaration.html_fragment:
	* docs/website/devel.shtml:
	* docs/website/doc.shtml:
	* docs/website/index.shtml:
	* docs/website/link.shtml:
	* docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
	supported compilers. Mention that a C++11 compiler is required and that
	support for lambdas has been removed. Bug #754082.

2015-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update .gitignore

2015-09-03  Murray Cumming  <murrayc@murrayc.com>

	2.5.4

2015-09-03  Murray Cumming  <murrayc@murrayc.com>

	Update tests/.gitignore

2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Builds: Use Windows Line Endings for .sln

	The .sln files need to have Windows/DOS line endings to work properly so
	that Windows can detect the Visual Studio version of the solution file.

2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Builds: Add Forgotten Files

	The MSVC projects now use property sheets, but they were forgotten from
	dist in the previous commits.  Dist them... sorry!

2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Builds: Remove MSVC 2005 and 2008 projects

	They are now unable to build libsigc++ at all, so drop them.

	https://bugzilla.gnome.org/show_bug.cgi?id=754082

2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/

	Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
	needs to be renamed to MSVC_Net2013, so that people will not be confused on
	what MSVC version is needed to build libsigc++.  Also remove MSVC_Net2005
	and MSVC_Net2008 from the distribution, as they are no longer able to build
	libsigc++.

	https://bugzilla.gnome.org/show_bug.cgi?id=754082

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

	signal_base, trackable: Make move operations noexcept.

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

	Added test_signal_move.

	This seems to work.

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

	Added test_slot_move

	This seems to do what it should, acting much like regular slot copying.

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

	Add test_trackable_move.

	It doesn't segfault, but I'm not sure it's doing what it should.
	See the TODO.

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

	trackable: move constructor: null the src.

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

	trackable: move assignment operator: null the src.

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

	C++11: signal_base: Add move operations.

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

	trackable: Add missing operator=(&&) implementation.

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

	trackable: Add move operations.

	Also adding them to trackable_callback_list and makeing
	trackable_callback_list noncopyable, which I think is intended.

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

	C++11: slot*: Add move operations.

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

	C++11 slot_base: Add move operations.

	Improvements welcome.

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

	slot_base::operator=(const &): Copy blocked_ too.

	So, if we do
	a = b;
	then a will be blocked if b was blocked. Otherwise it depends on
	whether a was blocked, which seems odd.

	If this is not the intended behaviour then we need a comment about it
	in operator=() and a test.

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

	2.5.3

2015-08-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Projects: Overhaul The Projects

	The former MSVC 2010 (2012) projects carried over quite a bit of cruft from
	the Visual Studio 2003 days, and there are a number of items that could be
	consolidated into ptoperty sheets, so it's time that the projects get a
	clean up and overhaul.  This is not unlike what was done to the glibmm
	projects some time ago.

	Consolidate the projects all into MSVC_Net2010, without subdirectories, as
	the property sheets will separate the object files of the various projects
	into their own places.

	This will also likely enable us to support MSVC 2015 in a more efficient
	way.

	Also, move the projects configs to MSVC 2013, as that is now the minimum
	version of MSVC required to build sigc++.

2015-08-14  Murray Cumming  <murrayc@murrayc.com>

	deduce_result_t: Add initial T_return template parameter.

	To make it clearer that this is how to use it.

2015-08-14  Murray Cumming  <murrayc@murrayc.com>

	tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.

	This removes the last use of sigc::deduce_result_type<>, allowing
	us to change the implementation of sigc::deduce_result_t more easily.

2015-08-14  Murray Cumming  <murrayc@murrayc.com>

	exception_catch.h: Generate deduce_result_type for the void specializations too.

	I guess this is correct and test_exception_catch still passes.
	Without this, it's actually using, for instance:
	sigc::deduce_result_type<T_arg1, T_Arg2>
	even though sigc::deduce_result_type<> should really be called with a result type
	first, like so:
	sigc::deduce_result_type<T_return, T_arg1, T_Arg2>

	Explicitly changing it to use
	sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
	or
	sigc::deduce_result_type<T_Arg1, T_Arg2>
	instead of just
	deduce_result_type<T_Arg1, T_Arg2>
	doesn't seem to break things either, probably out of luck,
	but changing it to define a type that it actually seems to expect seems
	cleaner, and makes it easier for us to change sigc::deduce_result_type.

2015-08-13  Murray Cumming  <murrayc@murrayc.com>

	C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.

	This simplifies the code a bit, by replacing use of this:
	typename deduce_result_type<SomeType1, SomeType2>::type
	with this:
	deduce_result_t<SomeType1, SomeType2>

	Note that the alias is a C++11 variadic template.
	Bug #753580

2015-08-13  Murray Cumming  <murrayc@murrayc.com>

	type_traits.h: Remove the unused type and pointer types.

	These were apparently never used.
	Bug #753580

2015-08-13  Murray Cumming  <murrayc@murrayc.com>

	type_trait: Define and use type_trait_pass/take_t aliases.

	This simplifies the code a bit, by replacing use of this:
	typename type_trait<SomeType>::take
	with this:
	type_trait_take_t<SomeType>
	Bug #753580

2015-08-13  Murray Cumming  <murrayc@murrayc.com>

	2.5.2

2015-08-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Remove the sigc++/object.h header

	Because it now contains no API.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update sigc++/.gitignore

2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Store sigc++/slot.h in git, don't generate it from m4

	* sigc++/macros/slot.h.m4: Remove.
	* sigc++/slot.h: New in git.
	* sigc++/filelist.am: Replace sigc++/macros/slot.h.m4 by sigc++/slot.h.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

2015-08-12  Murray Cumming  <murrayc@murrayc.com>

	Remove the (generated) sigc++/hide.h header.

	Because it now contains no API.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

	The generated sigc++/hide file did not include sigc++/adaptors/hide.h
	so it did not exist as a convenience.

2015-08-12  Murray Cumming  <murrayc@murrayc.com>

	Remove the (generated) sigc++/retype.h header.

	Because it now contains no API.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

	sigc++/macros/retype_h.m4 did define some m4 macros but these were
	not actually used. The generated sigc++/retype.h file did not
	include sigc++/adaptors/retype.h so it did not exist as a convenience.

2015-08-12  Murray Cumming  <murrayc@murrayc.com>

	Remove the (generated) sigc++/object_slot.h header.

	Because it now contains no API.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

2015-08-12  Murray Cumming  <murrayc@murrayc.com>

	Remove the (generated) method_slot.h header.

	Because it now contains no API.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

2015-08-12  Murray Cumming  <murrayc@murrayc.com>

	Remove the (generated) class_slot.h header.

	Because it now contains no API.
	See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6

2015-08-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Visual Studio Builds: Move 2010 Projects to 2012

	Since the builds of the *mm stack are going to use C++11, this means that
	we can't build libsigc++ with MSVC 2005~2010 anymore, so we need to update
	the Visual Studio project files to version 2012 (11.0), so that we can
	still support building with Visual Studio, as it does support enough of
	C++11 features that is needed.

	Also clean up a little bit by dropping some of the unneeded items from the
	projects and solution files.

	These project files are clearly going to need more cleanup, and we should
	drop the MSVC_Net2005 and MSVC_Net2008 folders, and rename MSVC_Net2010 to
	MSVC_Net2012, but this commit will ensure that libsigc++ is indeed still
	buildable with Visual Studio, and we can support Visual Studio 2013 and
	2015 in a more efficient manner.

2015-08-03  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	C++11: Replace deprecated std::auto_ptr by std::unique_ptr

2015-07-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	C++11: visit_each_type<>(): Another check for the same type

	The rest of my suggested additions in bug 752560 comment 3.
	The #include <type_traits> are necessary, if header files are included
	one-by-one, and not via #include <sigc++/sigc++.h>.

2015-07-25  Murray Cumming  <murrayc@murrayc.com>

	C++11: visit_each<>: Check for the same type as well as the base.

	As suggested by Kjell Ahlstedt here:
	https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3

	This fixes the test cases.

2015-07-25  Murray Cumming  <murrayc@murrayc.com>

	C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.

	As suggested by Kjell's comment here:
	https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
	This also removes sigc::is_base_and_derived<> which should cause
	only a slight API change but no ABI change.

	Bug #752560

2015-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update README, remove TODO

	* README: Remove lambda from the list of directories.
	Remove the list of compatible compilers. It has become obsolete now that
	libsigc++ uses C++11 features.
	* TODO: Remove. It's obsolete. TODO comments are now scattered in
	the source code.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	C++11: Use of range-based for loops.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	C++11: More use of auto.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	C++11: Use auto.

	Trying to avoid using auto where its a specific type that we are
	trying to test for.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	Use -Wformat-security with --enable-warnings=fatal.

	Because we use it in glibmm already. No code changes were necessary.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	Use -Wshadow with --enable-warnings=fatal.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."

	This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
	I didn't meat to push that quite yet.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.

	As suggested by Kjell's comment here:
	https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
	This also removes sigc::is_base_and_derived<> which should cause
	only a slight API change but no ABI change.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	C++11: Use of nullptr instead of 0.

2015-07-18  Murray Cumming  <murrayc@murrayc.com>

	2.5.1

	2.5.1

2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Require mm-common 0.9.8

2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Remove remaining parts of the sigc::lambda documentation

	* docs/index.html: Remove link to group__lambdas.html.
	* sigc++/adaptors/macros/bind.h.m4:
	* sigc++/adaptors/macros/compose.h.m4:
	* sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
	* sigc++/.gitignore:
	* tests/.gitignore: Remove files that are no longer generated. Bug #672555.

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

	Remove remaining parts of the sigc::lambda API.

	The remaining API, defined in a .cc file, does not actually end up
	being used by applications, so we can safely remove it.
	See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21

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

	Remove deprecated sigc::lambda API that is only in headers.

	So this is an API removal (of deprecated API) but not an ABI change.
	The remaining deprecated API in the headers is needed by the definitions
	in lambda.cc.m4.
	Bug #672555

2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE

	* sigc++/adaptors/lambda/macros/base.h.m4:
	* sigc++/adaptors/lambda/macros/group.h.m4:
	* sigc++/adaptors/macros/track_obj.h.m4:
	* sigc++/macros/signal.h.m4: Remove all talk about
	SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
	* sigc++/functors/slot_base.h: Mentioned that
	SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
	* tests/test_cpp11_lambda.cc:
	* tests/test_track_obj.cc: Remove calls to
	SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
	* sigc++/functors/macros/functor_trait.h.m4: Add class
	can_deduce_result_type_with_decltype<>. Use it as default value for the new
	template parameter I_can_use_decltype in struct functor_trait<>.
	Bug #672555.
	Murray Cumming made the changes of all files except functor_trait.h.m4.

2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Require C++11

	* configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
	support for C++11 and use it (--std=c++11 for current versions of
	g++). Bug #672555.

2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	2.4.1

2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Docs: Update for Doxygen 1.8.9

	* docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.

2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Tests: Improve test_disconnect_during_emit

	* tests/test_disconnect_during_emit.cc: Test that the slot is really
	disconnected during signal emission.

2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	slot_base: Let the assignment operator destroy the slot

	* sigc++/functors/slot_base.cc: slot_base's assignment operator shall
	destroy the old slot_rep even if the assigned slot is empty. Bug #738602.

2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	2.4.0

2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Docs: Use doxygen-extra.css

	* configure.ac: Require mm-common 0.9.7.
	* docs/.gitignore: Ignore doxygen-extra.css.
	* docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.

2014-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	doap: Add <description>

2014-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	test_lambda: Fix for MS Visual C++ 2013

	* tests/test_lambda.cc: Don't rely on implicit conversion from std::ostream
	to bool. Instead, hide a problematic slot return type with sigc::hide_return().
	Bug #734368.

2014-08-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Add an include in limit_reference.h

	* sigc++/macros/limit_reference.h.m4: limit_reference.h must include
	visit_each.h, with the primary definition of template struct visitor.
	https://mail.gnome.org/archives/libsigc-list/2014-August/msg00001.html

2014-08-01  Andre Klapper  <a9016009@gmx.de>

	doap: add <programming-language>

2014-08-01  Olav Vitters  <olav@vitters.nl>

	doap: link tarball name and git module

2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	2.3.2

2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Remove .gitattributes

	* .gitattributes: Instructed git to use a custom merge function for
	merging ChangeLog. Might have been useful, but it's not any more.

2014-07-30  Olav Vitters  <olav@vitters.nl>

	doap category core

2014-07-29  Ryan Beasley  <rbeasley@vmware.com>

	Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later

	* tests/test_cpp11_lambda.cc:
	* tests/test_track_obj.cc: Compile C++11 lambda expressions if
	_MSC_VER >= 1700. Bug #733752.

2014-07-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Documentation: Emphasize that signals are ref counted

	* sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
	a ref counted signal_impl. Bug #611941.

2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Add test_visit_each to MSVC_Net2010

	* MSVC_Net2010/filelist.am: Add new project files.
	* MSVC_Net2010/libsigc++2.sln: Add new project.
	* MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496.

2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Tests: Add test_visit_each

	* tests/.gitignore:
	* tests/Makefile.am: Add test_visit_each.
	* tests/test_visit_each.cc: New file. Bug #724496.

2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Replace visit_each() overloads by struct visitor<>

	Note: This patch breaks API for some users, but it does not break ABI.
	Only users who have added their own visit_each() overloads are affected by
	the API break. Their programs will still compile, but there will be run-time
	errors, if they rely on auto-disconnection of slots.
	Updated instructions for users who implement their own adaptors are found in
	the description of sigc::adapts<>.

	* sigc++/adaptors/bound_argument.h:
	* sigc++/adaptors/macros/adaptor_trait.h.m4:
	* sigc++/adaptors/macros/bind.h.m4:
	* sigc++/adaptors/macros/bind_return.h.m4:
	* sigc++/adaptors/macros/compose.h.m4:
	* sigc++/adaptors/macros/exception_catch.h.m4:
	* sigc++/adaptors/macros/hide.h.m4:
	* sigc++/adaptors/macros/retype.h.m4:
	* sigc++/adaptors/macros/retype_return.h.m4:
	* sigc++/adaptors/macros/track_obj.h.m4:
	* sigc++/adaptors/lambda/macros/base.h.m4:
	* sigc++/adaptors/lambda/macros/group.h.m4:
	* sigc++/adaptors/lambda/macros/operator.h.m4:
	* sigc++/functors/macros/mem_fun.h.m4:
	* sigc++/macros/limit_reference.h.m4:
	* sigc++/visit_each.h: Replace overloads of visit_each<>() by
	specializations of struct visitor<> with a specialized member function
	do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid
	argument-dependent lookup.
	* sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type()
	with sigc:: to avoid argument-dependent lookup.
	* tests/test_functor_trait.cc: Fix the expected result now when the test
	really works.
	Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.

2014-07-25  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	signal_impl::notify(): Don't delete signal_impl during erase()

	* sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete
	signal_impl while its slot list is being manipulated. Without this fix,
	tests/test_bind_refptr crashes in MS Visual C++ in debug mode.
	The behaviour without the fix is risky, and shall be avoided. Bug #564005.

2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update the signal_impl::notify() documentation

	* sigc++/signal_base.h: Update the signal_impl::notify() documentation.
	It should have been updated when notify() was updated. Bug #167714.

2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Add a maintainer in the DOAP file

2014-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update MSVC_Net2010

	* MSVC_Net2010/filelist.am: Add new project files.
	* MSVC_Net2010/libsigc++2.sln: Add new projects.
	* MSVC_Net2010/libsigc++2.vcxproj.filters:
	* MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files.
	* MSVC_Net2010/tests/test_*/test_*.vcxproj.filters:
	* MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc].
	* MSVC_Net2010/tests/test_accum_iter/:
	* MSVC_Net2010/tests/test_bind_ref/:
	* MSVC_Net2010/tests/test_bind_refptr/:
	* MSVC_Net2010/tests/test_copy_invalid_slot/:
	* MSVC_Net2010/tests/test_cpp11_lambda/:
	* MSVC_Net2010/tests/test_custom/:
	* MSVC_Net2010/tests/test_lambda/:
	* MSVC_Net2010/tests/test_limit_reference/:
	* MSVC_Net2010/tests/test_slot_disconnect/:
	* MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496.

2014-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Fix 'make check' with clang++ and --enable-warnings=fatal

	* tests/test_cpp11_lambda.cc:
	* tests/test_deduce_result_type.cc:
	* tests/test_track_obj.cc: Don't define functions which are not used.
	The clang++ compiler considers unused functions an error, when libsigc++ is
	configured with --enable-warnings=fatal. Bug #724496.

2013-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Documentation: Talk less about std::function

	* sigc++/functors/macros/slot.h.m4:
	* sigc++/functors/slot_base.h: Remove the examples with std::function.
	Add an example with a C++11 lambda expression.
	https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html

2013-10-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update .gitignore files

	* build/.gitignore:
	* tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.

2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Documentation: Mention std::function and std::bind() in more comments

	* sigc++/functors/macros/functor_trait.h.m4: Mention that
	SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors
	with overloaded operator()().
	* sigc++/adaptors/macros/track_obj.h.m4:
	* sigc++/functors/macros/slot.h.m4:
	* sigc++/functors/slot_base.h:
	* sigc++/signal_base.h: Mention std::function as an alternative to
	sigc::slot.
	* sigc++/macros/signal.h.m4: connect(): Describe why the result of
	std::bind() can't be connected directly to a signal.

2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Fix test_cpp11_lambda for gcc 4.8

	* tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref().
	Show that std::bind() can be assigned to a slot, if it's combined with
	std::function.

2013-07-30  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	signal_base, signal_impl: Speed up disconnection of slots.

	* sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being
	disconnected. Execution time is then usually O(1) instead of O(n), where n
	is the size of the slot list. Disconnect all connected slots when a signal is
	deleted. Disconnect slots before they are erased from a signal's slot list.
	Bug #167714.

2013-07-03  José Alburquerque  <jaalburquerque@gmail.com>

	Move to a generated ChangeLog.

2013-07-02  José Alburquerque  <jaalburquerque@gmail.com>

	Auto-generate the ChangeLog from the git log for 'make dist'.

	* Makefile.am: Include the dist-changelog.am file copied in build/
	from mm-common so that the ChangeLog is automatically generated from
	the git commit messages on 'make dist'.

2013-05-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Don't use __file__ in the FIREWALL m4 macro.

	* sigc++/adaptors/lambda/macros/group.h.m4:
	* sigc++/adaptors/macros/*.h.m4:
	* sigc++/functors/macros/*.h.m4:
	* sigc++/macros/class_slot.h.m4:
	* sigc++/macros/hide.h.m4:
	* sigc++/macros/limit_reference.h.m4:
	* sigc++/macros/method_slot.h.m4:
	* sigc++/macros/retype.h.m4:
	* sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename).
	* sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL,
	taking a parameter. Don't use __file__ to generate the name of the C++
	preprocessor macro. __file__ may expand to an absolute path, containing
	almost all sorts of special characters and being excessively long.
	Bug #699168.

2013-04-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Use DOXYGEN_SHOULD_SKIP_THIS consistently.

	* docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages.
	* sigc++/sigc++.h: Mention that the reference manual contains only some of
	the template specializations.
	* sigc++/adaptors/bound_argument.h:
	* sigc++/adaptors/lambda/macros/base.h.m4:
	* sigc++/adaptors/lambda/macros/group.h.m4:
	* sigc++/adaptors/macros/adaptor_trait.h.m4:
	* sigc++/adaptors/macros/bind.h.m4:
	* sigc++/adaptors/macros/bind_return.h.m4:
	* sigc++/adaptors/macros/compose.h.m4:
	* sigc++/adaptors/macros/deduce_result_type.h.m4:
	* sigc++/adaptors/macros/exception_catch.h.m4:
	* sigc++/adaptors/macros/hide.h.m4:
	* sigc++/adaptors/macros/retype.h.m4:
	* sigc++/adaptors/macros/retype_return.h.m4:
	* sigc++/adaptors/macros/track_obj.h.m4:
	* sigc++/functors/macros/functor_trait.h.m4:
	* sigc++/functors/macros/mem_fun.h.m4:
	* sigc++/macros/limit_reference.h.m4:
	* sigc++/type_traits.h:
	* sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen
	shall not extract.
