]> git.tdb.fi Git - ext/sigc++-2.0.git/blob - ChangeLog
Adjust the name of the library to match upstream
[ext/sigc++-2.0.git] / ChangeLog
1 2022-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
2
3   2.10.8
4
5 2022-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
6
7   meson.build: Specify 'check' option in run_command()
8
9   The default value will be changed in future Meson releases.
10   
11   Don't use deprecated python3.path() and execute(..., gui_app: ...).
12
13 2022-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
14
15   docs/reference/Doxyfile.in: Remove obsolete entry
16
17 2022-01-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
18
19   tools/tutorial-custom-cmd.py: Add comment about used stylesheet
20
21 2021-12-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
22
23   Revert "sigc++.h: Don't mention CMake"
24
25   This reverts commit 53551050c59c3a35e64816f78e555ee2e064cc31.
26   sigc++-2.0 can be used by a CMake project even though
27   sigc++-2.0 itself has not been built with CMake.
28
29 2021-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
30
31   sigc++.h: Don't mention CMake
32
33   There is no CMake support in sigc++-2.0.
34
35 2021-11-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
36
37   NMake Makefiles: Allow building with VS2022
38
39   Add checks to distnguish between VS2019 and VS2022.
40
41 2021-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
42
43   docs/manual, Meson config: Check if xmllint can be used
44
45 2021-09-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
46
47   docs/manual: Upgrade from DocBook 4.1 to DocBook 5.0
48
49 2021-08-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
50
51   meson.build: Check if Perl is required for building documentation
52
53   New versions of mm-common use the Python scripts doc_postprocess.py
54   and doc_install.py instead of the Perl scripts doc-postprocess.pl and
55   doc-install.pl when documentation is built.
56
57 2021-07-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
58
59   docs: Remove some obsolete files
60
61   Remove docs/manual/README and docs/reference/README.
62
63 2021-07-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
64
65   docs/manual: Add some formatting when html files are generated
66
67   making it slightly more similar to gtkmm-documentation and libxml++.
68   In Autotools builds, don't distribute the empty manual/README file.
69
70 2021-07-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
71
72   docs/manual/libsigc_manual.xml: Add id on <sect1> elements
73
74 2021-05-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
75
76   2.10.7
77
78 2021-05-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
79
80   Documentation: Let links point to sigc++2 and gtkmm3 versions
81
82 2021-05-18  Chun-wei Fan  <fanchunwei@src.gnome.org>
83
84   Visual Studio build files: Some cleanups
85
86   Replace /wd4530 with /EHsc, as that is the more proper CXXFlag to use for
87   Visual Studio builds for C++ projects.
88
89 2021-05-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
90
91   Add dependencies to Doxygen tag files in subprojects
92
93   Doxygen in a main project shall not be called before tag files have been
94   created or updated in subprojects.
95
96 2021-05-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
97
98   Fix build as subproject without building documentation
99
100   * meson.build: If mm-common-get is not found in maintainer-mode
101   with 'required: false', try with 'required: true'.
102   Don't try to use tag_file, if documentation is not built.
103   * docs/reference/meson.build: Don't use variables from modules
104   that don't define doxytagfile. These are subprojects that don't build
105   their documentation.
106   
107   Fixes #71
108
109 2021-05-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
110
111   Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0
112
113   * meson.build:
114   * MSVC_NMake/meson.build:
115   * docs/manual/meson.build:
116   * docs/reference/meson.build:
117   * sigc++/meson.build:
118   Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
119   * tools/handle-built-files.py:
120   * tools/tutorial-custom-cmd.py:
121   Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT.
122   It exists if meson.version() >= 0.58.0.
123
124 2021-05-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
125
126   Meson build: Make quiet installations possible
127
128   * tools/handle-built-files.py: Don't print names of installed files if
129   environment variable MESON_INSTALL_QUIET is set.
130   It is set by "meson install --quiet" in Meson 0.54.0 and newer.
131
132 2021-04-07  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
133
134   Meson build: No implicit_include_directories
135
136 2021-03-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
137
138   Meson build: Fix dependency on generated files
139
140   Add meson.build files in all subdirectories of sigc++/ where .h and/or .cc
141   files are generated. Looks like it's necessary in order to have all
142   dependent .cc files recompiled when a .h.m4 file has been changed.
143   Don't know if it has always been necessary, or if it has become necessary
144   due to changes in Meson and/or Ninja.
145
146 2021-03-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
147
148   Meson build: Make it possible to use sigc++ as a subproject
149
150   mm-common can be a subproject of sigc++.
151
152 2021-03-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
153
154   docs/reference/Doxyfile.in: Remove obsolete entries
155
156 2020-11-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
157
158   2.10.6
159
160 2020-10-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
161
162   sigc++/sigc++.h: Fix a typo
163
164 2020-10-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
165
166   sigc++/sigc++.h: Describe how to use libsigc++ with meson
167
168 2020-10-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
169
170   Docs: Change libsigc++ webpage mentions to GitHub
171
172   Change libsigc.sourceforge.net to
173   libsigcplusplus.github.io/libsigcplusplus.
174
175 2020-09-28  Tom Schoonjans  <Tom.Schoonjans@rfi.ac.uk>
176
177   Meson build: fix versioning on macOS
178
179 2020-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
180
181   2.10.4
182
183 2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>
184
185   NMake Makefiles: Use Meson-style DLL and .lib naming if requested
186
187   To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
188   is specified in the NMake command line, build the DLLs and .lib's that are
189   named like the Meson counterparts.  Binaries built with Meson+Visual Studio
190   and the ones that are built via NMake using 'USE_MESON_LIBS' are
191   interchangeable.
192
193 2020-07-22  Chun-wei Fan  <fanchunwei@src.gnome.org>
194
195   NMake Makefiles: Fix building from Meson-built tarballs
196
197   We need to look for sigc++config.h in $(srcroot)\untracked\MSVC_NMake also, and
198   make sure that we do not generate sources unnecessarily.
199   
200   Also streamline the source generating process into the 'all' target, so there
201   is no more need to run the 'prep-git-build' target.
202
203 2020-07-08  Chun-wei Fan  <fanchunwei@src.gnome.org>
204
205   NMake Makefiles: Support ARM64 Windows builds
206
207   This will make the NMake Makefiles capable of building ARM64 binaries of libsigc++,
208   which can be used on Windows 10 on ARM systems.
209
210 2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
211
212   docs/reference/: Update for Doxygen >= 1.8.16
213
214   * docs/reference/meson.build: Doxygen 1.8.16 and later does not store
215   tag file names in the html files. This requires changes in meson.build
216   and in doc-install.pl (in mm-common). Otherwise references to other modules
217   won't be updated in the html files when they are installed.
218   * docs/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH.
219   Doxygen since version 1.8.0 does not use them.
220
221 2020-06-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
222
223   docs/manual/libsigc_manual.xml: Update signal and slot syntax
224
225   Update the syntax of template parameters.
226   sigc::signal<void,int> -> sigc::signal<void(int)>. The old syntax is
227   deprecated.
228   
229   Mention lambda expressions.
230   
231   Although sigc::retype() is a template function, no template parameters
232   shall be specified when it's called.
233   
234   See #59
235
236 2020-06-18  Chun-wei Fan  <fanchunwei@src.gnome.org>
237
238   Re-work the NMake Makefiles
239
240   Do some cleanups, to improve maintainability and running speed, where:
241   
242   * Change instances of 'libsigcpp' to 'sigc'
243   * "Generate" the build rules for the test and example programs, instead
244     of hand-writing them, since they use largely similar rules.
245   * Don't use separate rules to  create intermediate directories, so that
246     we do not need to re-load the Makefiles unnecessarily
247
248 2020-06-18  Chun-wei Fan  <fanchunwei@src.gnome.org>
249
250   NMake Makefiles: Add rules to generate sources
251
252   This adds rules to use m4 to generate the headers and sources from their .m4
253   counterparts, which allows building directly from  a GIT checkout, after
254   running the 'prep-git-build' target.
255   
256   Update the README.txt file to reflect on this enhancement, and make sure the
257   generated headers are also copied when running the 'install' target
258
259 2020-06-18  Chun-wei Fan  <fanchunwei@src.gnome.org>
260
261   NMake Makefiles: Add rules to generate sigc.rc and sigc++config.h
262
263   This adds a 'prep-git-build' target which is run before building any of the
264   other targets so that this paves the first steps in making the libsigc++-2-10
265   branch buildable directly from a GIT checkout with the NMake Makefiles.
266   
267   Note that unlike the master (3.x) branch, we still need to use m4 to generate
268   some sources and headers, which will be covered in the following commit.
269
270 2020-06-18  Chun-wei Fan  <fanchunwei@src.gnome.org>
271
272   NMake Makefiles: Support Visual Studio 2019 better
273
274   Make Visual Studio 2019 builds distinct from 2017 builds.  Note that for the
275   libsigc++-2-10 branch, we do not distinguish between Visual Studio 2015, 2017
276   and 2019 in regards to the built DLL and .lib filenames, since they are
277   found to be interchangeable.
278
279 2020-06-18  Chun-wei Fan  <fanchunwei@src.gnome.org>
280
281   NMake Makefiles: Use 'md' instead of 'mkdir'
282
283   This is to avoid confusion if we have the UNIX 'mkdir' command in our PATH, such as
284   when Cygwin is installed and used.
285
286 2020-04-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
287
288   Meson build: Set default value of the 'warnings' option to 'min'
289
290   * MSVC_NMake/meson.build: Copy sigc++config.h with configure_file().
291   * Makefile.am: Remove tools/dist-cmd.py.
292   * docs/manual/meson.build:
293   * docs/reference/meson.build: Don't use tools/dist-cmd.py.
294   * sigc++/meson.build: Don't use tools/dist-cmd.py.
295   * meson.build: Use dist-warnings when a tarball is tested by
296   'ninja dist' or 'meson dist'. Check if doc-reference.py exists, if not
297   maintainer-mode. Add a better error message if mm-common-get is required
298   but not found.
299   * meson_options.txt: Set default value of the 'warnings' to 'min'.
300   Add 'dist-warnings' with default value 'fatal'.
301   * tools/dist-cmd.py: Removed file. It's not necessary in add_dist_script()
302   when the first parameter is python3.path().
303
304 2020-03-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
305
306   2.10.3
307
308 2020-03-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
309
310   README: Describe building with Meson and Autotools
311
312   and remove the description of the directory structure,
313   which is not very useful.
314
315 2020-03-10  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
316
317   examples: Disable deprecated API when building with Meson
318
319   Deprecated SIGCXX API is disabled when example programs are built
320   with Autotools. Do the same when building with Meson.
321
322 2020-01-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
323
324   README: Describe building with Meson
325
326 2020-01-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
327
328   docs/reference/meson.build: Check if perl is found
329
330   Don't use perl.path() when configuring Doxyfile, if perl is not found.
331   Perl is not required, if build-documentation=false.
332   Fixes #53
333
334 2019-12-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
335
336   meson.build: Change project name, sigc++ -> libsigc++
337
338   Autotools make tarballs called libsigc++-x.y.z.tar.xz. No reason to
339   change that. The leading "lib" is now also restored in some locations
340   in the reference documentation.
341
342 2019-12-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
343
344   Update untracked/README
345
346 2019-12-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
347
348   meson.build: Check if .git is a directory or a file
349
350   In a git worktree, .git is a regular file.
351   
352   See https://gitlab.gnome.org/GNOME/pangomm/merge_requests/8
353
354 2019-12-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
355
356   sigc++/meson.build: Library name is sigc-2.0
357
358   Pointed out by Chun-wei Fan in PR #51.
359
360 2019-12-29  Chun-wei Fan  <fanchunwei@src.gnome.org>
361
362   NMake Makefiles: Separate outdir by toolset version
363
364   This is to reduce the likelihood of accidently mixing DLLs that are
365   linked with different CRTs in the build tree.
366   
367   Also clean up rules a bit.
368
369 2019-12-29  Chun-wei Fan  <fanchunwei@src.gnome.org>
370
371   build: Support NMake builds from Meson tarballs
372
373   This adds inference rules to the NMake Makefiles to also look for the
374   sources that are in untracked/, and to ensure that the generated MSVC
375   build files (sigc++-config.h and sigc.rc) are copied into
376   untracked/MSVC_NMake, so that they can be built properly even with
377   NMake.
378
379 2019-12-29  Chun-wei Fan  <fanchunwei@src.gnome.org>
380
381   meson: Build Windows .rc files on Windows
382
383   This ensures that on Windows, the version info resources are indeed
384   linked into the libsigc++ DLL.
385
386 2019-12-29  Chun-wei Fan  <fanchunwei@src.gnome.org>
387
388   meson/Windows: Fix builds when builddir is a subdir of source tree
389
390   It appears that Meson did not construct the paths properly for
391   shutil.copy2() when building in a build directory that is a
392   subdirectory of the sources, when using meson.current_build_dir(),
393   possibly due how path separators are handled.
394   
395   Fix this by constructing the paths using project_build_root / 'MSVC_NMake'.
396
397 2019-12-29  Chun-wei Fan  <fanchunwei@src.gnome.org>
398
399   meson.build: Fix 'meson dist' on Windows
400
401   Since we are assured that we are using Python 3.x on when we run Meson, we
402   do not really need to look for the 'python3' executable, but we could
403   just use whatever Python interpreter that is used to run Meson.
404   
405   This will fix situations where it is commonly the case where we may have
406   multiple Python 3.x installations on Windows (www.python.org, and those
407   from Cygwin/mingw-w64), so that Meson really uses one and only one
408   Python installation to run everything that is Python-related, which will
409   thus fix '[meson|ninja] dist' on Visual Studio builds.
410
411 2019-12-29  Chun-wei Fan  <fanchunwei@src.gnome.org>
412
413   Meson/MSVC: Support builds directly from GIT checkouts
414
415   It appears that if one uses the m4 that is given by mingw-w64 (and
416   perhaps Cygwin), that m4 is enough to generate the sources and headers
417   that we need for the build.
418   
419   So, remove the lines saying building directly from GIT checkouts are not
420   supported.
421
422 2019-12-24  Chun-wei Fan  <fanchunwei@src.gnome.org>
423
424   meson: Ensure symbols are exported on MSVC builds
425
426   Make sure the correct build macros are specified when building
427   libsigc++, so that:
428   
429   -The symbols are properly exported
430   -We do not break builds as a result of unecesary warnings
431
432 2019-12-24  Chun-wei Fan  <fanchunwei@src.gnome.org>
433
434   meson: Relax MSVC version requirement to 2015
435
436   libsigc++ requires a C++-11-compliant compiler, so we can just make the
437   build look for Visual Studio 2015 instead of Visual Studio 2017 15.7.
438   
439   Visual Studio 2013 also works, but since it will spew out loads of
440   warnings and the latest C++-11 version of glibmm is not buildable with
441   Visual Studio 2013, let's just require Visual Studio 2015.
442
443 2019-12-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
444
445   Add support for building libsigc++-2.0 with Meson
446
447   libsigc++-2.0 can be built with either Autotools or Meson.
448
449 2019-12-10  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
450
451   Make libsigc_manual.xml valid
452
453   Fix errors reported by "xmllint --postvalid".
454
455 2019-07-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
456
457   tests/test_track_obj: Fix for clang++
458
459   clang++ complains if private members are unused, so make them protected.
460   
461   error: private field 'bar_' is not used [-Werror,-Wunused-private-field]
462
463 2019-06-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
464
465   2.10.2
466
467 2018-11-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
468
469   Create only .tar.xz tarballs
470
471   * configure.ac: This is what ftp.gnome.org wants, so this avoids
472   it doing any repackaging. This is what gtkmm does.
473
474 2018-10-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
475
476   2.10.1
477
478 2018-10-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
479
480   tests: Catch exceptions by const ref
481
482   To avoid "error: catching polymorphic type ‘class std::range_error’ by value"
483
484 2018-10-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
485
486   Update README and .gitignore
487
488 2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>
489
490   builds: Add README file for MSVC builds
491
492   Let people know how Visual Studio builds can be done and the options
493   that can be used for the builds.
494
495 2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>
496
497   builds: Remove Visual Studio 2013 projects
498
499   The NMake Makefiles superseded them, so let's just remove them.
500   
501   This will make builds with later Visual Studio versions simpler, and
502   will make maintaining the Visual Studio build files easier.
503
504 2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>
505
506   builds: Add NMake Makefiles
507
508   This adds a set of NMake Makefiles that can be used to build
509   libsigc++-2.10.x (and the later C++11 versions of libsigc++) with Visual
510   Studio 2013 or later.  Building the example, the tests and the
511   benchmarking programs are supported in addition to building the main
512   libsigc++ DLL.
513   
514   Note that for the C++-11 releases, we name the DLLs and LIBs as
515   sigc-vc140-2_0.[dll|lib] or sigc-vc140-d-2_0.[dll|lib] for Visual Studio
516   2015 and 2017 builds as these builds link to the msvcp140[d].dll and
517   vcruntime140[d].dll C/C++ runtime DLLs.
518   
519   This set of NMake Makefiles are now dist'ed in place of the Visual
520   Studio 2013 project files.
521
522 2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>
523
524   build: Consolidate source listing into sigc++/filelist.am
525
526   This is for enabling the upcoming NMake Makefiles to use this file
527   as well, in addition to the autotools build files, to build the
528   libsigc++ DLL.
529
530 2018-10-30  Chun-wei Fan  <fanchunwei@src.gnome.org>
531
532   builds: Rename MSVC_Net2013 as MSVC_NMake
533
534   This is to prepare for the transition for the Visual Studio build
535   files to NMake Makefiles.
536
537 2018-08-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
538
539   slot, signal: Avoid compiler warnings from function pointer conversions
540
541   gcc8 -Wextra prints a warning when a single reinterpret_cast is used for
542   conversion between different types of function pointers. The previous fix
543   with a union in sigc::internal::bitwise_equivalent_cast<>() is not standard
544   C++. Rename the function to function_pointer_cast<>(), and use two
545   reinterpret_casts as recommended in gcc's documentation.
546   
547   Fixes #8
548
549 2018-08-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
550
551   Update libsigcplusplus.doap
552
553 2018-08-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
554
555   configure.ac: Update home page and bug report address
556
557 2018-08-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
558
559   README: Update contact information
560
561 2018-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
562
563   Qualify calls to bitwise_equivalent_cast() with namespace names
564
565   Otherwise indirect calls from glibmm, with its own bitwise_equivalent_cast(),
566   can be ambiguous due to ADL (argument-dependent lookup).
567
568 2018-07-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
569
570   slot, signal: Avoid compiler warnings from function pointer conversions
571
572   gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
573   between different types of function pointers. Avoid that by adding
574   sigc::internal::bitwise_equivalent_cast<>() with a union with members of
575   the two types of function pointers.
576   
577   Fixes #1
578
579 2018-07-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
580
581   Revert "slot, signal: Avoid compiler warnings from function pointer conversions"
582
583   This reverts commit c6262e0a477b35cd9a4a00c34f3f0a44dcd07210.
584   
585   This can be done in a better way by keeping the union in a template function.
586
587 2018-07-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
588
589   slot, signal: Avoid compiler warnings from function pointer conversions
590
591   gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
592   between different types of function pointers. Avoid that by instead using
593   a union with members of the two types of function pointers.
594   
595   Fixes #1
596
597 2017-11-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
598
599   signal_base docs: Warn against deletion during emission
600
601   There is no known ABI-preserving fix for a memory leak, if a signal
602   is deleted during emission. Describe a workaround in the documentation.
603   Bug 167714
604
605 2017-11-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
606
607   slot_base::set_parent(): Create a dummy slot_rep if necessary
608
609   set_parent() must always store the supplied parent pointer and cleanup
610   function pointer, or else there may be a memory leak. The pointers are
611   stored in slot_rep. Bug 167714
612
613 2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
614
615   test_signal: Test calls to signal_base::clear()
616
617   Call it both during signal emission and otherwise. Bug 784550
618
619 2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
620
621   signal_impl::clear(): Don't clear the slot list during signal emission
622
623   If signal_impl::clear() is called during signal emission, don't call
624   slots_.clear(). Let signal_impl::sweep() erase all slots after the signal
625   emission. Bug 784550
626
627 2016-11-20  Christophe Lermytte  <gentoo@lermytte.be>
628
629   Make --disable-benchmark work
630
631   Currently, when calling ./configure, the possible outcomes of the
632   enable_benchmark variable are:
633   
634   ./configure                          -> ""
635   ./configure --enable-benchmark       -> "yes"
636   ./configure --enable-benchmark=yes   -> "yes"
637   ./configure --enable-benchmark=no    -> "yes"
638   ./configure --enable-benchmark=hello -> "yes"
639   ./configure --disable-benchmark      -> "yes"
640   
641   With this commit, those values become
642   
643   ./configure                          -> ""
644   ./configure --enable-benchmark       -> "yes"
645   ./configure --enable-benchmark=yes   -> "yes"
646   ./configure --enable-benchmark=no    -> "no"
647   ./configure --enable-benchmark=hello -> "hello"
648   ./configure --disable-benchmark      -> "no"
649   
650   Note that enable_benchmark is currently only being checked for
651   being "yes" or not.
652   
653   Bug #774732
654
655 2016-09-20  Murray Cumming  <murrayc@murrayc.com>
656
657   2.10.0
658
659 2016-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
660
661   Build: Fix silent builds
662
663   * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
664   Replace MM_AX_CXX_COMPILE_STDCXX_11 by MM_AX_CXX_COMPILE_STDCXX (not necessary
665   for silent builds).
666   * docs/reference/Doxyfile.in: Set QUIET=YES.
667   Update for doxygen 1.8.11 (not necessary for silent builds).
668   Bug #768797
669
670 2016-07-06  Murray Cumming  <murrayc@murrayc.com>
671
672   2.9.3
673
674 2016-07-05  Murray Cumming  <murrayc@murrayc.com>
675
676   signal: Deprecate slots().
677
678   Because we don't use it in any tests or examples and probably
679   nobody uses it. It has already been removed from libsigc++-3.0
680   (which installs in parallel):
681   https://git.gnome.org/browse/libsigcplusplus/commit/?id=fb5d1a55ddd843a1ded635b0ebce4e5b5301fc36
682   
683   Please tell us if you really need to use this.
684
685 2016-07-05  Murray Cumming  <murrayc@murrayc.com>
686
687   signal: Deprecate emit_reverse().
688
689   Because we don't use it in any tests or examples and probably nobody
690   uses it. It has already been removed from libsigc++-3.0 (which installs
691   in parallel):
692   https://git.gnome.org/browse/libsigcplusplus/commit/?id=1a4eee7e8ded2acea94e27af5c94e37dcd9cbb13
693   
694   Please tell us if you really need to use this.
695
696 2016-06-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
697
698   Update tests/.gitignore
699
700 2016-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>
701
702   Fix build of "Implement slot<R(Arg...)> with variadic template"
703
704   * sigc++/functors/macros/slot.h.m4: Fix the use of operator() in the
705   variadic templates usage in the base slot_call as the syntax differs
706   between compilers for this call.  This fixes the build of the tests and
707   any items that makes use of sigc++/functors/slot.h on non-GCC,
708   specifically Visual Studio 2013 and 2015.
709   
710   https://bugzilla.gnome.org/show_bug.cgi?id=767777
711
712 2016-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>
713
714   Visual Studio builds: Update project
715
716   Remove the sources from the projects that have been removed from the
717   source tree lately.
718
719 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
720
721   Update tests/.gitignore
722
723 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
724
725   benchmark: Use boost::timer instead of Glib::Timer.
726
727   And optionally build it, when --enable-benchmark is passed to configure.
728
729 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
730
731   benchmark: Use the newer syntax.
732
733 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
734
735   benchmark: Increase count.
736
737 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
738
739   benchmark: Make the 1000 a constant, so we can change it.
740
741 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
742
743   benchmark: Rearrange.
744
745 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
746
747   benchmark: Add copyright header.
748
749 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
750
751   benchmark: Update for the newer libsigc++ API.
752
753 2016-04-08  Murray Cumming  <murrayc@murrayc.com>
754
755   2.9.2
756
757 2016-04-02  Murray Cumming  <murrayc@murrayc.com>
758
759   C++11: signal: Use a range-based for loop.
760
761 2016-04-02  Murray Cumming  <murrayc@murrayc.com>
762
763   C++11: signal: Use auto for iterators.
764
765 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
766
767   Remove unnecessary signal.cc file.
768
769 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
770
771   Remove unnecessary slot.cc file.
772
773 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
774
775   docs: slots: Fix tiny typo.
776
777 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
778
779   docs: mem_fun: Improve the simple description.
780
781 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
782
783   docs: mem_fun: Improve the note about auto-disconnection.
784
785   Because "cleared" doesn't really tell us how this benefits us.
786
787 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
788
789   docs: slots: Mention automatic disconnection.
790
791 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
792
793   docs: slots: auto: Mention why it is bad.
794
795 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
796
797   test_mem_fun: Test auto-disconnection with trackable.
798
799   This is probably tested somewhere else already, but I like having it
800   here too because it is an important reason for slot<> to exist,
801   compared to a simple std::function.
802
803 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
804
805   test_mem_fun: Rearrange into individual test functions.
806
807 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
808
809   docs: Slots: Add section titles to break it up.
810
811 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
812
813   2.9.1
814
815 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
816
817   Update NEWS from 2.8.0
818
819 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
820
821   test_retype: Add test of R(Args...) syntax.
822
823 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
824
825   test_retype: Break into smaller tests.
826
827 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
828
829   Reference docs: Main page: Mention CMake.
830
831   And generally make this like the version in master for libsigc++-3.0.
832
833 2016-03-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
834
835   Implement slot<R(Arg...)> with variadic template
836
837   * sigc++/functors/macros/slot.h.m4: Implement the function-style slot<R<Arg...)>
838   with variadic template, as in libsigc++-3.0.
839   The primary slot_call and the slot<T_return(T_arg...)> specialization are copied
840   from libsigc++-3.0. A slot_call<T_functor, T_return> specialization is added.
841   Bug #763393
842
843 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
844
845   slot: Document older syntax as deprecated
846
847 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
848
849   signal: Document older syntax as deprecated.
850
851 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
852
853   signal: Use the slot<R(Args..)> syntax.
854
855 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
856
857   signal.h.m4: Slight reorganization of m4 code.
858
859 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
860
861   slot.h.m4: Slight reorganisation of m4 code.
862
863 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
864
865   signal: Allow sigc::signal<R(Args...)> declaration, like std::function.
866
867   By adding template specializations that repeats the signal*
868   template declarations, though it would be good to avoid the repetition.
869   
870   Bug 763393
871
872 2016-03-12  Murray Cumming  <murrayc@murrayc.com>
873
874   slot: Allow sigc::slot<R(Args...)> declaration, like std::function.
875
876   By adding a template specialization that repeats each slot*<>
877   declarartion, though it would be good to avoid the repetition.
878   
879   Bug 763393
880
881 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
882
883   2.7.2
884
885 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
886
887   test_accumulated(): Restructure this.
888
889   To make it clearer and to keep the small tests more self-contained and
890   separate.
891
892 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
893
894   test_signal: Add test_simple().
895
896 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
897
898   test_signal(): Restructure this.
899
900   To make it clearer and to keep the small tests more self-contained and
901   separate.
902
903 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
904
905   test_slot(): Restructure this.
906
907   To make it clearer and to keep the small tests more self-contained and
908   separate.
909
910 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
911
912   signal: make_slot(): Use non-deprecated constructor.
913
914 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
915
916   tests: Prefer the non-deprecated mem_fun(reference, func) form.
917
918 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
919
920   tests: Use std::ref() instead of deprecated sigc::ref().
921
922 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
923
924   examples: Don't use deprecated mem_fun(pointer, func).
925
926 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
927
928   examples build: Disable deprecated API.
929
930 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
931
932   mem_fun(): Deprecate mem_fun(pointer, func).
933
934   Leaving just mem_fun(reference, func).
935   See bug #763215
936   
937   The deprecated mem_fun() has been removed from libsigc+--3.0,
938   so this is a chance to adapt code before switching to libsigc++-3.0.
939
940 2016-03-10  Chun-wei Fan  <fanchunwei@src.gnome.org>
941
942   MSVC builds: Update sigc++ project
943
944   Add the new source files and headers from adaptors/lambda, and re-order
945   the source files list into alphabetical order.
946
947 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
948
949   Also ifdef out bound_argument<sigc::reference_wrapper>.
950
951   And add a specialization for bound_argument<std::reference_wrapper>.
952
953 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
954
955   reference_wrapper: Include <functional>.
956
957 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
958
959   Deprecate sigc::ref() in favor of std::ref().
960
961 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
962
963   .doap: Correct the web site URL.
964
965   Though we really must stop using sourceforge even for the web site.
966
967 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
968
969   Rename our .doap file.
970
971 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
972
973   Fix tiny typo in a comment.
974
975 2016-03-06  Murray Cumming  <murrayc@murrayc.com>
976
977   docs: Refer to it as libsigc++, not libsigc++2.
978
979 2016-03-06  Murray Cumming  <murrayc@murrayc.com>
980
981   website/README: Mention the new git repository.
982
983 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
984
985   SIGC_CXX_HAS_SUN_REVERSE_ITERATOR: Add std:: now that I removed the using std.
986
987   See https://bugzilla.gnome.org/show_bug.cgi?id=762065#c2
988
989 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
990
991   C++11: Make all operator bool() explicit.
992
993 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
994
995   Remove now-unnecessary SIGC_CXX_HAS_NAMESPACE_STD() configure check.
996
997   Bug #762065 (Kjell Ahlstedt)
998
999 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
1000
1001   Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
1002
1003   Bug #762065 (Kjell Ahlstedt)
1004
1005 2016-03-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1006
1007   Improve the documentation of mem_fun()
1008
1009   * sigc++/functors/macros/mem_fun.h.m4:
1010   * sigc++/functors/slot_base.h: Make it clear that mem_fun() does not return
1011   a slot, and 'auto s = sigc::mem_fun(....)' is not equivalent to
1012   'sigc::slot<....> s = sigc::mem_fun(....)'.
1013   The confusing documentation was noted by Andrejs Hanins on libsigc-list.
1014
1015 2016-03-01  Murray Cumming  <murrayc@murrayc.com>
1016
1017   Add test_bind_as_slot.
1018
1019   This tests sigc::bind()'s indirect use of adaptor_functor<>.
1020   I added this because this doesn't work yet in the variadic_bind branch.
1021
1022 2016-03-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1023
1024   2.7.1
1025
1026 2016-01-14  Murray Cumming  <murrayc@murrayc.com>
1027
1028   m4: Remove unused UPPER and LOWER functions.
1029
1030 2016-01-14  Murray Cumming  <murrayc@murrayc.com>
1031
1032   tests: Use = delete instead of private constructors.
1033
1034   To make classes non-copyable.
1035
1036 2016-01-07  Murray Cumming  <murrayc@murrayc.com>
1037
1038   functor_trait.m4: Correct the mem_functor<> declarations.
1039
1040   The first template types are T_return and T_obj, not the arguments.
1041   This doesn't seem to have been a problem. Maybe this code is not tested
1042   or used.
1043
1044 2015-12-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1045
1046   Don't use SIGC_USING_STD()
1047
1048   The SIGC_USING_STD() macro is defined as an empty string, if some standard
1049   C++ symbols are defined in namespace std. They always are.
1050   Since many years, SIGC_USING_STD() is an unnecessary macro.
1051
1052 2015-12-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1053
1054   Temporarily undefine the nil macro, if it's defined
1055
1056   * build/cxx.m4: Add SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
1057   * configure.ac: Call SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
1058   * sigc++config.h.in: Add SIGC_PRAGMA_PUSH_POP_MACRO.
1059   * sigc++/functors/macros/functor_trait.h.m4:
1060   * sigc++/adaptors/macros/bind.h.m4:
1061   * sigc++/adaptors/macros/retype.h.m4:
1062   * sigc++/functors/macros/slot.h.m4:
1063   * sigc++/macros/signal.h.m4: If nil and SIGC_PRAGMA_PUSH_POP_MACRO are
1064   defined, undefine nil temporarily in the header files.
1065   nil is a keyword in Objective-C++ and in Mac OS X C++. Bug #695235.
1066
1067 2015-12-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1068
1069   can_deduce_result_type_with_decltype: Rename the check() methods
1070
1071   * sigc++/functors/macros/functor_trait.h.m4: Rename the check() methods.
1072   check() is a preprocessor macro in Mac OS X. Bug #759315.
1073
1074 2015-12-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1075
1076   Fix some typos
1077
1078 2015-11-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1079
1080   Add a moving signal::connect() overload
1081
1082   * sigc++/macros/signal.h.m4: Add signal#::connect(slot_type&&),
1083   slot_list::insert(iterator i, slot_type&&),
1084   slot_list::push_front(slot_type&&), push_back(slot_type&&).
1085   * sigc++/signal_base.[h|cc]: Add signal_base::connect(slot_base&&),
1086   signal_base::insert(slot_base&&), signal_impl::connect(slot_base&&),
1087   signal_impl::insert(slot_base&&). Bug #756484.
1088
1089 2015-11-13  Murray Cumming  <murrayc@murrayc.com>
1090
1091   2.6.2
1092
1093 2015-11-12  Murray Cumming  <murrayc@murrayc.com>
1094
1095   Add warnings for use with --enable-warnings=fatal
1096
1097   Added use -Wsuggest-override and -Wzero-as-null-pointer-constant.
1098
1099 2015-11-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1100
1101   trackable, slot_base, signal_base, connection: Add some noexcept specs
1102
1103 2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1104
1105   slot and signal: Add missing move constructors and move assignments
1106
1107   * sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
1108   * sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
1109   * tests/test_signal_move.cc:
1110   * tests/test_slot_move.cc: Test that the source objects are empty.
1111   Bug #756484.
1112
1113 2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1114
1115   trackable, slot, signal: Remove noexcept specifications
1116
1117   * sigc++/functors/macros/slot.h.m4:
1118   * sigc++/functors/slot_base.[h|cc]:
1119   * sigc++/signal_base.[h|cc]:
1120   * sigc++/trackable.[h|cc]: Remove noexcept from the move operators.
1121   Bug #756484.
1122
1123 2015-11-06  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1124
1125   slot: Handle auto-disconnection when a slot contains a slot
1126
1127   * sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
1128   for slot# and slot.
1129   * tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
1130   a slot. Bug #755003.
1131
1132 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1133
1134   signal_impl: =delete copy and move operations.
1135
1136   Prevent, copy and move constructors and assignment operators from
1137   being generated automatically. These are never used, but this
1138   will make sure of that.
1139   See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1140
1141 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1142
1143   typed_slot_rep: =delete unimplemented copy and move operations.
1144
1145   Prevent, copy assignment operator, move constructor and move
1146   assignment operators from being generated automatically.
1147   These are never used, but this will make sure of that.
1148   See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1149
1150 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1151
1152   slot_rep: =delete copy and move operations.
1153
1154   Prevent, copy and move constructors and assignment operators from
1155   being generated automatically. These are never used, but this
1156   will make sure of that.
1157   See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1158
1159 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1160
1161   Small whitespace changes in docs comment.
1162
1163 2015-10-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1164
1165   trackable: Add a comment
1166
1167 2015-10-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1168
1169   slot and signal: Fix move constructors and move assignments
1170
1171   * sigc++/functors/macros/slot.h.m4: Add documentation.
1172   * sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
1173   Don't move a connected slot.
1174   * sigc++/signal_base.cc: Fix the move assignment of signal_base.
1175   * tests/test_signal_move.cc:
1176   * tests/test_slot_move.cc: Really test move assignment. Bug #756484.
1177
1178 2015-10-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1179
1180   More use of nullptr instead of 0
1181
1182 2015-10-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1183
1184   slot_rep::disconnect(): Remove a comment, add a test
1185
1186   * sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
1187   * tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.
1188
1189 2015-09-29  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1190
1191   Update sigc++/.gitignore
1192
1193 2015-09-27  Murray Cumming  <murrayc@murrayc.com>
1194
1195   2.6.1
1196
1197 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1198
1199   sigc::trackable: Don't move the callback list
1200
1201   * sigc++/trackable.[h|cc]: Don't move the callback list.
1202   * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
1203
1204 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1205
1206   Recreate adaptors/lambda files necessary not to break ABI
1207
1208   * sigc++/adaptors/lambda/macros/base.h.m4:
1209   * sigc++/adaptors/lambda/macros/lambda.cc.m4:
1210   * sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
1211   * sigc++/Makefile.am:
1212   * sigc++/filelist.am: Add the recreated lambda files.
1213   Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
1214   "Remove remaining parts of the sigc::lambda API."
1215   Differences from an exact reversion: MSVC_Net files are not modified.
1216   (Probably something ought to be changed in MSVC_Net2013.)
1217   tests/Makefile.am is not modified-
1218   is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
1219   The extern declarations that were previously in select.h.m4 are moved to
1220   lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
1221   the .so file.
1222   All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
1223   Bug #755550.
1224
1225 2015-09-21  Murray Cumming  <murrayc@murrayc.com>
1226
1227   2.6.0
1228
1229 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
1230
1231   C++11: deduce_result_type: Simpifying, removing use of std::is_same().
1232
1233   See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
1234
1235 2015-09-17  Marcin Kolny  <marcin.kolny@gmail.com>
1236
1237   C++11: deduce_result_type: build fix, using SFINAE paradigm.
1238
1239   Bug #753612
1240
1241 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
1242
1243   C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
1244
1245   Bug #753612
1246   However, the build then fails like so:
1247   
1248   make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
1249   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
1250   In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
1251                    from ../sigc++/functors/slot.h:7,
1252                    from ../sigc++/signal_base.h:27,
1253                    from ../sigc++/signal.h:8,
1254                    from ../sigc++/sigc++.h:86,
1255                    from hello_world.cc:10:
1256   ../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>’:
1257   ../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}]’
1258   ../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>’
1259   ../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>&]’
1260   ../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>&]’
1261   ../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*)]’
1262   ../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>&]’
1263   ../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>&]’
1264   hello_world.cc:25:50:   required from here
1265   ../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>’
1266        >::type;
1267               ^
1268   In file included from ../sigc++/signal_base.h:27:0,
1269                    from ../sigc++/signal.h:8,
1270                    from ../sigc++/sigc++.h:86,
1271                    from hello_world.cc:10:
1272   ../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>&]’:
1273   ../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*)]’
1274   ../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>&]’
1275   ../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>&]’
1276   hello_world.cc:25:50:   required from here
1277   ../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>&)’
1278                   (a_1);
1279                       ^
1280   ../sigc++/functors/slot.h:137:20: note: candidates are:
1281   In file included from ../sigc++/functors/slot.h:7:0,
1282                    from ../sigc++/signal_base.h:27,
1283                    from ../sigc++/signal.h:8,
1284                    from ../sigc++/sigc++.h:86,
1285                    from hello_world.cc:10:
1286   ../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>]
1287      operator()(T_arg1 _A_arg1) const
1288      ^
1289   ../sigc++/adaptors/adaptor_trait.h:88:3: note:   substitution of deduced template arguments resulted in errors seen above
1290   ../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>]
1291      operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
1292      ^
1293   ../sigc++/adaptors/adaptor_trait.h:107:3: note:   template argument deduction/substitution failed:
1294   In file included from ../sigc++/signal_base.h:27:0,
1295                    from ../sigc++/signal.h:8,
1296                    from ../sigc++/sigc++.h:86,
1297                    from hello_world.cc:10:
1298   ../sigc++/functors/slot.h:137:20: note:   candidate expects 2 arguments, 1 provided
1299                   (a_1);
1300                       ^
1301
1302 2015-09-11  Chun-wei Fan  <fanchunwei@src.gnome.org>
1303
1304   MSVC Builds: Add "Install" Project
1305
1306   This makes building the -mm stack easier by copying the headers and the
1307   built DLL, PDB and LIB files to a location where it can be picked up by
1308   the gtkmm stack automatically, when they are extracted in a common
1309   directory.  This is what is currently done with the GTK+ and Clutter
1310   stacks for Visual Studio builds.
1311
1312 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
1313
1314   Update README on Visual Studio Builds
1315
1316   Since the Visual Studio project files and the related sources have been
1317   updated to work with Visual Studio 2013, and that the test programs do
1318   run well there, update the README file to let people know the situation.
1319   
1320   https://bugzilla.gnome.org/show_bug.cgi?id=754082
1321
1322 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
1323
1324   sigc++config.h.in: Allow Build for MSVC 2013
1325
1326   MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
1327   _NOEXCEPT for MSVC 2013.  Plus, since by default MSVC 2013 does not allow
1328   us to re-define keywords, though they may or may not be supported, we need
1329   to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.
1330   
1331   https://bugzilla.gnome.org/show_bug.cgi?id=754082
1332
1333 2015-09-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1334
1335   Update source of web page
1336
1337   * docs/website/fragments/footer.html_fragment:
1338   * docs/website/fragments/html_declaration.html_fragment:
1339   * docs/website/devel.shtml:
1340   * docs/website/doc.shtml:
1341   * docs/website/index.shtml:
1342   * docs/website/link.shtml:
1343   * docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
1344   supported compilers. Mention that a C++11 compiler is required and that
1345   support for lambdas has been removed. Bug #754082.
1346
1347 2015-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1348
1349   Update .gitignore
1350
1351 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
1352
1353   2.5.4
1354
1355 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
1356
1357   Update tests/.gitignore
1358
1359 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1360
1361   MSVC Builds: Use Windows Line Endings for .sln
1362
1363   The .sln files need to have Windows/DOS line endings to work properly so
1364   that Windows can detect the Visual Studio version of the solution file.
1365
1366 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1367
1368   MSVC Builds: Add Forgotten Files
1369
1370   The MSVC projects now use property sheets, but they were forgotten from
1371   dist in the previous commits.  Dist them... sorry!
1372
1373 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1374
1375   MSVC Builds: Remove MSVC 2005 and 2008 projects
1376
1377   They are now unable to build libsigc++ at all, so drop them.
1378   
1379   https://bugzilla.gnome.org/show_bug.cgi?id=754082
1380
1381 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1382
1383   MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
1384
1385   Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
1386   needs to be renamed to MSVC_Net2013, so that people will not be confused on
1387   what MSVC version is needed to build libsigc++.  Also remove MSVC_Net2005
1388   and MSVC_Net2008 from the distribution, as they are no longer able to build
1389   libsigc++.
1390   
1391   https://bugzilla.gnome.org/show_bug.cgi?id=754082
1392
1393 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1394
1395   signal_base, trackable: Make move operations noexcept.
1396
1397 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1398
1399   Added test_signal_move.
1400
1401   This seems to work.
1402
1403 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1404
1405   Added test_slot_move
1406
1407   This seems to do what it should, acting much like regular slot copying.
1408
1409 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1410
1411   Add test_trackable_move.
1412
1413   It doesn't segfault, but I'm not sure it's doing what it should.
1414   See the TODO.
1415
1416 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1417
1418   trackable: move constructor: null the src.
1419
1420 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1421
1422   trackable: move assignment operator: null the src.
1423