2018-10-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.10.1

2018-10-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tests: Catch exceptions by const ref

	To avoid "error: catching polymorphic type ‘class std::range_error’ by value"

2018-10-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Update README and .gitignore

2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>

	builds: Add README file for MSVC builds

	Let people know how Visual Studio builds can be done and the options
	that can be used for the builds.

2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>

	builds: Remove Visual Studio 2013 projects

	The NMake Makefiles superseded them, so let's just remove them.

	This will make builds with later Visual Studio versions simpler, and
	will make maintaining the Visual Studio build files easier.

2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>

	builds: Add NMake Makefiles

	This adds a set of NMake Makefiles that can be used to build
	libsigc++-2.10.x (and the later C++11 versions of libsigc++) with Visual
	Studio 2013 or later.  Building the example, the tests and the
	benchmarking programs are supported in addition to building the main
	libsigc++ DLL.

	Note that for the C++-11 releases, we name the DLLs and LIBs as
	sigc-vc140-2_0.[dll|lib] or sigc-vc140-d-2_0.[dll|lib] for Visual Studio
	2015 and 2017 builds as these builds link to the msvcp140[d].dll and
	vcruntime140[d].dll C/C++ runtime DLLs.

	This set of NMake Makefiles are now dist'ed in place of the Visual
	Studio 2013 project files.

2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>

	build: Consolidate source listing into sigc++/filelist.am

	This is for enabling the upcoming NMake Makefiles to use this file
	as well, in addition to the autotools build files, to build the
	libsigc++ DLL.

2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>

	builds: Rename MSVC_Net2013 as MSVC_NMake

	This is to prepare for the transition for the Visual Studio build
	files to NMake Makefiles.

2018-08-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	slot, signal: Avoid compiler warnings from function pointer conversions

	gcc8 -Wextra prints a warning when a single reinterpret_cast is used for
	conversion between different types of function pointers. The previous fix
	with a union in sigc::internal::bitwise_equivalent_cast<>() is not standard
	C++. Rename the function to function_pointer_cast<>(), and use two
	reinterpret_casts as recommended in gcc's documentation.

	Fixes #8

2018-08-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Update libsigcplusplus.doap

2018-08-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	configure.ac: Update home page and bug report address

2018-08-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	README: Update contact information

2018-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Qualify calls to bitwise_equivalent_cast() with namespace names

	Otherwise indirect calls from glibmm, with its own bitwise_equivalent_cast(),
	can be ambiguous due to ADL (argument-dependent lookup).

2018-07-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	slot, signal: Avoid compiler warnings from function pointer conversions

	gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
	between different types of function pointers. Avoid that by adding
	sigc::internal::bitwise_equivalent_cast<>() with a union with members of
	the two types of function pointers.

	Fixes #1

2018-07-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Revert "slot, signal: Avoid compiler warnings from function pointer conversions"

	This reverts commit c6262e0a477b35cd9a4a00c34f3f0a44dcd07210.

	This can be done in a better way by keeping the union in a template function.

2018-07-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	slot, signal: Avoid compiler warnings from function pointer conversions

	gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
	between different types of function pointers. Avoid that by instead using
	a union with members of the two types of function pointers.

	Fixes #1

2017-11-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	signal_base docs: Warn against deletion during emission

	There is no known ABI-preserving fix for a memory leak, if a signal
	is deleted during emission. Describe a workaround in the documentation.
	Bug 167714

2017-11-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	slot_base::set_parent(): Create a dummy slot_rep if necessary

	set_parent() must always store the supplied parent pointer and cleanup
	function pointer, or else there may be a memory leak. The pointers are
	stored in slot_rep. Bug 167714

2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	test_signal: Test calls to signal_base::clear()

	Call it both during signal emission and otherwise. Bug 784550

2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	signal_impl::clear(): Don't clear the slot list during signal emission

	If signal_impl::clear() is called during signal emission, don't call
	slots_.clear(). Let signal_impl::sweep() erase all slots after the signal
	emission. Bug 784550

2016-11-20  Christophe Lermytte  <gentoo@lermytte.be>

	Make --disable-benchmark work

	Currently, when calling ./configure, the possible outcomes of the
	enable_benchmark variable are:

	./configure                          -> ""
	./configure --enable-benchmark       -> "yes"
	./configure --enable-benchmark=yes   -> "yes"
	./configure --enable-benchmark=no    -> "yes"
	./configure --enable-benchmark=hello -> "yes"
	./configure --disable-benchmark      -> "yes"

	With this commit, those values become

	./configure                          -> ""
	./configure --enable-benchmark       -> "yes"
	./configure --enable-benchmark=yes   -> "yes"
	./configure --enable-benchmark=no    -> "no"
	./configure --enable-benchmark=hello -> "hello"
	./configure --disable-benchmark      -> "no"

	Note that enable_benchmark is currently only being checked for
	being "yes" or not.

	Bug #774732

2016-09-20  Murray Cumming  <murrayc@murrayc.com>

	2.10.0

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

	Build: Fix silent builds

	* configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
	Replace MM_AX_CXX_COMPILE_STDCXX_11 by MM_AX_CXX_COMPILE_STDCXX (not necessary
	for silent builds).
	* docs/reference/Doxyfile.in: Set QUIET=YES.
	Update for doxygen 1.8.11 (not necessary for silent builds).
	Bug #768797

2016-07-06  Murray Cumming  <murrayc@murrayc.com>

	2.9.3

2016-07-05  Murray Cumming  <murrayc@murrayc.com>

	signal: Deprecate slots().

	Because we don't use it in any tests or examples and probably
	nobody uses it. It has already been removed from libsigc++-3.0
	(which installs in parallel):
	https://git.gnome.org/browse/libsigcplusplus/commit/?id=fb5d1a55ddd843a1ded635b0ebce4e5b5301fc36

	Please tell us if you really need to use this.

2016-07-05  Murray Cumming  <murrayc@murrayc.com>

	signal: Deprecate emit_reverse().

	Because we don't use it in any tests or examples and probably nobody
	uses it. It has already been removed from libsigc++-3.0 (which installs
	in parallel):
	https://git.gnome.org/browse/libsigcplusplus/commit/?id=1a4eee7e8ded2acea94e27af5c94e37dcd9cbb13

	Please tell us if you really need to use this.

2016-06-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update tests/.gitignore

2016-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Fix build of "Implement slot<R(Arg...)> with variadic template"

	* sigc++/functors/macros/slot.h.m4: Fix the use of operator() in the
	variadic templates usage in the base slot_call as the syntax differs
	between compilers for this call.  This fixes the build of the tests and
	any items that makes use of sigc++/functors/slot.h on non-GCC,
	specifically Visual Studio 2013 and 2015.

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

2016-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Visual Studio builds: Update project

	Remove the sources from the projects that have been removed from the
	source tree lately.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	Update tests/.gitignore

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Use boost::timer instead of Glib::Timer.

	And optionally build it, when --enable-benchmark is passed to configure.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Use the newer syntax.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Increase count.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Make the 1000 a constant, so we can change it.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Rearrange.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Add copyright header.

2016-04-20  Murray Cumming  <murrayc@murrayc.com>

	benchmark: Update for the newer libsigc++ API.

2016-04-08  Murray Cumming  <murrayc@murrayc.com>

	2.9.2

2016-04-02  Murray Cumming  <murrayc@murrayc.com>

	C++11: signal: Use a range-based for loop.

2016-04-02  Murray Cumming  <murrayc@murrayc.com>

	C++11: signal: Use auto for iterators.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	Remove unnecessary signal.cc file.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	Remove unnecessary slot.cc file.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	docs: slots: Fix tiny typo.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	docs: mem_fun: Improve the simple description.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	docs: mem_fun: Improve the note about auto-disconnection.

	Because "cleared" doesn't really tell us how this benefits us.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	docs: slots: Mention automatic disconnection.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	docs: slots: auto: Mention why it is bad.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	test_mem_fun: Test auto-disconnection with trackable.

	This is probably tested somewhere else already, but I like having it
	here too because it is an important reason for slot<> to exist,
	compared to a simple std::function.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	test_mem_fun: Rearrange into individual test functions.

2016-04-01  Murray Cumming  <murrayc@murrayc.com>

	docs: Slots: Add section titles to break it up.

2016-03-16  Murray Cumming  <murrayc@murrayc.com>

	2.9.1

2016-03-16  Murray Cumming  <murrayc@murrayc.com>

	Update NEWS from 2.8.0

2016-03-16  Murray Cumming  <murrayc@murrayc.com>

	test_retype: Add test of R(Args...) syntax.

2016-03-16  Murray Cumming  <murrayc@murrayc.com>

	test_retype: Break into smaller tests.

2016-03-16  Murray Cumming  <murrayc@murrayc.com>

	Reference docs: Main page: Mention CMake.

	And generally make this like the version in master for libsigc++-3.0.

2016-03-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Implement slot<R(Arg...)> with variadic template

	* sigc++/functors/macros/slot.h.m4: Implement the function-style slot<R<Arg...)>
	with variadic template, as in libsigc++-3.0.
	The primary slot_call and the slot<T_return(T_arg...)> specialization are copied
	from libsigc++-3.0. A slot_call<T_functor, T_return> specialization is added.
	Bug #763393

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	slot: Document older syntax as deprecated

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	signal: Document older syntax as deprecated.

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	signal: Use the slot<R(Args..)> syntax.

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	signal.h.m4: Slight reorganization of m4 code.

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	slot.h.m4: Slight reorganisation of m4 code.

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	signal: Allow sigc::signal<R(Args...)> declaration, like std::function.

	By adding template specializations that repeats the signal*
	template declarations, though it would be good to avoid the repetition.

	Bug 763393

2016-03-12  Murray Cumming  <murrayc@murrayc.com>

	slot: Allow sigc::slot<R(Args...)> declaration, like std::function.

	By adding a template specialization that repeats each slot*<>
	declarartion, though it would be good to avoid the repetition.

	Bug 763393

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

	2.7.2

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

	test_accumulated(): Restructure this.

	To make it clearer and to keep the small tests more self-contained and
	separate.

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

	test_signal: Add test_simple().

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

	test_signal(): Restructure this.

	To make it clearer and to keep the small tests more self-contained and
	separate.

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

	test_slot(): Restructure this.

	To make it clearer and to keep the small tests more self-contained and
	separate.

2016-03-10  Murray Cumming  <murrayc@murrayc.com>

	signal: make_slot(): Use non-deprecated constructor.

2016-03-10  Murray Cumming  <murrayc@murrayc.com>

	tests: Prefer the non-deprecated mem_fun(reference, func) form.

2016-03-10  Murray Cumming  <murrayc@murrayc.com>

	tests: Use std::ref() instead of deprecated sigc::ref().

2016-03-10  Murray Cumming  <murrayc@murrayc.com>

	examples: Don't use deprecated mem_fun(pointer, func).

2016-03-10  Murray Cumming  <murrayc@murrayc.com>

	examples build: Disable deprecated API.

2016-03-10  Murray Cumming  <murrayc@murrayc.com>

	mem_fun(): Deprecate mem_fun(pointer, func).

	Leaving just mem_fun(reference, func).
	See bug #763215

	The deprecated mem_fun() has been removed from libsigc+--3.0,
	so this is a chance to adapt code before switching to libsigc++-3.0.

2016-03-10  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC builds: Update sigc++ project

	Add the new source files and headers from adaptors/lambda, and re-order
	the source files list into alphabetical order.

2016-03-08  Murray Cumming  <murrayc@murrayc.com>

	Also ifdef out bound_argument<sigc::reference_wrapper>.

	And add a specialization for bound_argument<std::reference_wrapper>.

2016-03-08  Murray Cumming  <murrayc@murrayc.com>

	reference_wrapper: Include <functional>.

2016-03-08  Murray Cumming  <murrayc@murrayc.com>

	Deprecate sigc::ref() in favor of std::ref().

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

	.doap: Correct the web site URL.

	Though we really must stop using sourceforge even for the web site.

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

	Rename our .doap file.

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

	Fix tiny typo in a comment.

2016-03-06  Murray Cumming  <murrayc@murrayc.com>

	docs: Refer to it as libsigc++, not libsigc++2.

2016-03-06  Murray Cumming  <murrayc@murrayc.com>

	website/README: Mention the new git repository.

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

	SIGC_CXX_HAS_SUN_REVERSE_ITERATOR: Add std:: now that I removed the using std.

	See https://bugzilla.gnome.org/show_bug.cgi?id=762065#c2

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

	C++11: Make all operator bool() explicit.

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

	Remove now-unnecessary SIGC_CXX_HAS_NAMESPACE_STD() configure check.

	Bug #762065 (Kjell Ahlstedt)

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

	Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.

	Bug #762065 (Kjell Ahlstedt)

2016-03-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Improve the documentation of mem_fun()

	* sigc++/functors/macros/mem_fun.h.m4:
	* sigc++/functors/slot_base.h: Make it clear that mem_fun() does not return
	a slot, and 'auto s = sigc::mem_fun(....)' is not equivalent to
	'sigc::slot<....> s = sigc::mem_fun(....)'.
	The confusing documentation was noted by Andrejs Hanins on libsigc-list.

2016-03-01  Murray Cumming  <murrayc@murrayc.com>

	Add test_bind_as_slot.

	This tests sigc::bind()'s indirect use of adaptor_functor<>.
	I added this because this doesn't work yet in the variadic_bind branch.

2016-03-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	2.7.1

2016-01-14  Murray Cumming  <murrayc@murrayc.com>

	m4: Remove unused UPPER and LOWER functions.

2016-01-14  Murray Cumming  <murrayc@murrayc.com>

	tests: Use = delete instead of private constructors.

	To make classes non-copyable.

2016-01-07  Murray Cumming  <murrayc@murrayc.com>

	functor_trait.m4: Correct the mem_functor<> declarations.

	The first template types are T_return and T_obj, not the arguments.
	This doesn't seem to have been a problem. Maybe this code is not tested
	or used.

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

	Don't use SIGC_USING_STD()

	The SIGC_USING_STD() macro is defined as an empty string, if some standard
	C++ symbols are defined in namespace std. They always are.
	Since many years, SIGC_USING_STD() is an unnecessary macro.

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

	Temporarily undefine the nil macro, if it's defined

	* build/cxx.m4: Add SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
	* configure.ac: Call SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
	* sigc++config.h.in: Add SIGC_PRAGMA_PUSH_POP_MACRO.
	* sigc++/functors/macros/functor_trait.h.m4:
	* sigc++/adaptors/macros/bind.h.m4:
	* sigc++/adaptors/macros/retype.h.m4:
	* sigc++/functors/macros/slot.h.m4:
	* sigc++/macros/signal.h.m4: If nil and SIGC_PRAGMA_PUSH_POP_MACRO are
	defined, undefine nil temporarily in the header files.
	nil is a keyword in Objective-C++ and in Mac OS X C++. Bug #695235.

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

	can_deduce_result_type_with_decltype: Rename the check() methods

	* sigc++/functors/macros/functor_trait.h.m4: Rename the check() methods.
	check() is a preprocessor macro in Mac OS X. Bug #759315.

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

	Fix some typos

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

	Add a moving signal::connect() overload

	* sigc++/macros/signal.h.m4: Add signal#::connect(slot_type&&),
	slot_list::insert(iterator i, slot_type&&),
	slot_list::push_front(slot_type&&), push_back(slot_type&&).
	* sigc++/signal_base.[h|cc]: Add signal_base::connect(slot_base&&),
	signal_base::insert(slot_base&&), signal_impl::connect(slot_base&&),
	signal_impl::insert(slot_base&&). Bug #756484.

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.
