Imported Upstream version 2.99.2
[platform/upstream/libsigc++.git] / ChangeLog
1 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
2
3         2.99.2
4
5 2016-03-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
6
7         slot: Reinsert a comment that disappeared accidentally
8
9         The description of slot's specialization of visitor<>::do_visit_each<>()
10         disappeared by mistake when the slot# classes were removed.
11
12 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
13
14         slot: Allow only the slot<R(Args...)> syntax.
15
16 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
17
18         tests: Use the sigc::slot<R(Args...)> syntax only.
19
20 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
21
22         pointer_functor: Use the R(Args...) syntax.
23
24 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
25
26         signal: Allow only the signal<R(Args...)> syntax.
27
28 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
29
30         tests: Use sigc::signal<R(Args...)> syntax only.
31
32 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
33
34         signal: Use the slot<R(Args...)> syntax.
35
36 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
37
38         examples: Use sigc::signal<R(Args...)> syntax.
39
40 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
41
42         docs: signal_base/exception_catch: Use signal<R(Args...)> syntax.
43
44 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
45
46         docs: slot_base: Use slot<R(Args...)> syntax.
47
48 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
49
50         docs: Use signal<R(Args..)> syntax.
51
52 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
53
54         docs: mem_fun/ptr_fun: Use the sigc::slot<R(Args...)> syntax.
55
56 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
57
58         test_retype: Add test of R(Args...) syntax.
59
60 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
61
62         test_retype: Break into smaller tests.
63
64 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
65
66         Reference docs: main page: Use @c to monospace function names.
67
68 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
69
70         Reference docs: main page: Discourage multiple PKG_CHECK_MODULES() calls.
71
72         Mention that one PKG_CHECK_MODULES() call can check for all
73         pgk-config-based dependencies.
74
75 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
76
77         Reference docs: main page: Make autotools part consistent with CMake part.
78
79 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
80
81         Reference docs: main page: Mention CMake.
82
83 2016-03-13  Murray Cumming  <murrayc@murrayc.com>
84
85         Add a file about build systems.
86
87         Otherwise people will wonder whether we use autotools or CMake as our
88         main build system.
89
90 2016-03-13  Murray Cumming  <murrayc@murrayc.com>
91
92         Update README to remove mention of m4.
93
94 2016-03-13  Murray Cumming  <murrayc@murrayc.com>
95
96         test_tuple_transform_each: Comment out constexpr test that fails with g++.
97
98         Hopefully this works with newer g++ versions.
99
100 2016-03-13  Marcin Kolny  <marcin.kolny@gmail.com>
101
102         cmake: reduce required version to 3.2
103
104 2016-03-13  Marcin Kolny  <marcin.kolny@gmail.com>
105
106         cmake: add cmake files to dist package
107
108 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
109
110         cmake: fix generating cmake *Config files
111
112 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
113
114         cmake: fix library name
115
116 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
117
118         cmake: fix library output name
119
120 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
121
122         cmake: install sigc++config.h file
123
124 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
125
126         cmake: don't install uninstalled.pc file
127
128 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
129
130         cmake: add uninstall target
131
132 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
133
134         cmake: install headers from sigc++ directory
135
136 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
137
138         cmake: generate and install uninstalled.pc file
139
140 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
141
142         cmake: generate cmake *Config and *ConfigVersion files
143
144 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
145
146         cmake: add pkg-config support
147
148 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
149
150         cmake: init - add cmake files
151
152 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
153
154         signal: Allow sigc::signal<R(Args...)> declaration, like std::function.
155
156         By adding a template specialization that repeats the main
157         template declaration, though it would be good to avoid the repetition.
158
159         Bug #763393
160
161         Please enter the commit message for your changes. Lines starting
162
163 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
164
165         slot: Allow sigc::slot<R(Args...)> declaration, like std::function.
166
167         By adding a template specialization that repeats the main
168         template declaration, though it would be good to avoid the repetition.
169
170         Bug #763393
171
172 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
173
174         signal: Update and improve the doxygen comment.
175
176 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
177
178         test_accumulated(): Restructure this.
179
180         To make it clearer and to keep the small tests more self-contained and
181         separate.
182
183 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
184
185         test_signal: Add test_simple().
186
187 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
188
189         test_signal(): Restructure this.
190
191         To make it clearer and to keep the small tests more self-contained and
192         separate.
193
194 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
195
196         slot: Update the Doxygen comment.
197
198 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
199
200         slot: Correct the doxygen comment line ending.
201
202 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
203
204         test_slot(): Restructure this.
205
206         To make it clearer and to keep the small tests more self-contained and
207         separate.
208
209 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
210
211         examples build: Disable deprecated API.
212
213 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
214
215         mem_functor: Remove now-unnecessary operator()(pointer).
216
217 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
218
219         retype: Simplify by using a template template parameter.
220
221 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
222
223         mem_fun(): Remove the T_obj* overloads.
224
225         So you would, for instance, always call sigc::mem_fun(*this, ...)
226         instead of sigc::mem_fun(this, ...).
227
228         Bug #763215
229
230 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
231
232         tuple_transform_each(): Allow this to be a constexpr.
233
234 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
235
236         bind: Use of constexpr.
237
238 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
239
240         tuple_for_each(): Use of constexpr.
241
242 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
243
244         tuple_cdr(), tuple_start(), tuple_end(): Use of constexpr.
245
246 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
247
248         TupleVisitorVisitEach and TupleVisitorVisitEach: Use constexpr.
249
250         This would seem to be necessary if the tuple utils are ever fully
251         constexpr.
252
253 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
254
255         bind: Use of const.
256
257 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
258
259         Put member_method*<> in sigc::internal namespace.
260
261 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
262
263         NEWS: Mention that it needs C++14.
264
265 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
266
267         Update NEWS
268
269 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
270
271         Use mem_fun.h as a regular .h file.
272
273         Instead of generating it from an .m4 file.
274         This still has some repetition, but it is not nearly as much as before,
275         and it is the last m4 file.
276         Having all the code in normal C++ source files makes it far easier for people
277         to contribute, to actually reduce this repetition.
278
279 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
280
281         .doap: Correct the web site URL.
282
283         Though we really must stop using sourceforge even for the web site.
284
285 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
286
287         Rename our .doap file.
288
289 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
290
291         Use 2.99.1 instead of 2.9.1
292
293         This gives us more room for 2.x releases of the libsigc++-2.0 API
294         in future.
295
296 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
297
298         Rename mem_functor_base to mem_functor.
299
300         And rename bound_mem_functor_base to bound_mem_functor.
301
302 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
303
304         mem_fun.h.m4: Remove mem_functor and const_mem_functor.
305
306         They were only used in one place, internally, and did not add much clarity.
307
308 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
309
310         mem_fun.h.m4: Remove bound_const_mem_functor alias.
311
312         It was only used in one place in the code and didn't add much clarity.
313
314 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
315
316         bound_mem_functor: Remove constructor that takes pointer.
317
318         Leaving just the constructor that takes the object by reference.
319         This is not a class that application code would use directly,
320         so there seems no need for the convenience.
321
322 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
323
324         mem_functor_base: Use member_method_result<>::type.
325
326         To avoid the (apparent) need to use T_args... with std::result_of_t<>.
327
328 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
329
330         Added  member_method_result<>::type type trait.
331
332         This seems to be easier than std::result_of<>, which seems to need us to
333         explicitly specify the arguments too.
334
335 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
336
337         bound_mem_functor_base: Remove now-unnecessary T_obj template parameter.
338
339 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
340
341         mem_functor_base: Remove T_obj template parameter.
342
343         Instead using member_method_class<>::type.
344
345 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
346
347         Add member_method_class<>::type type trait.
348
349 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
350
351         Remove some now-unused tuple_type*<> type traits.
352
353         Because we now motly only need the tuple*() utilities to manipulate
354         the actual instances. Some are still need for those tuple*()
355         implementations.
356
357 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
358
359         hide_functor: Don't specify a specific specialization for operator().
360
361         It doesn't seem to be necessary now.
362
363 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
364
365         Remove unnecessary TODO comment.
366
367 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
368
369         bound_mem_functor_base: Remove now-unused T_return template parameter.
370
371 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
372
373         mem_functor_base: Remove T_return template parameter.
374
375         Instead using std::result_of<> to discover it from the T_func.
376
377 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
378
379         bound_mem_functor_base: Remove T_limit_reference template parameter.
380
381         Instead discover it via std::conditional_t and our
382         ember_method_is_const<>::value type traits.
383
384 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
385
386         use limit_reference.h as a regular .h file.
387
388         Instead of generating it.
389
390 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
391
392         Rename limit_reference_base to limit_reference.
393
394 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
395
396         Remove limit_reference_base<> aliases, such as const_limit_reference.
397
398         Because limit_reference_base<T_type> is now simple enough to just
399         use directly.
400
401 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
402
403         limit_reference.h.m4: Remove unused 2nd LIMIT_REFERENCE() parameter.
404
405 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
406
407         limit_reference_base: Rename template parameter back to T_type.
408
409         Because I think that is what this really is.
410         Now this limit_reference_base<> is again as simple as *_limit_reference
411         in libsigc++-2.0 but without the code generation and multiple classes.
412
413 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
414
415         limit_reference_base: Take just one template parameter.
416
417         And use std::remove_volatile_t<> to get the other.
418
419 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
420
421         mem_fun: Use limit_reference_base instead of aliases.
422
423         Because it is now simple enough.
424
425 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
426
427         bound_*_mem_functor: Use limit_reference_base instead of aliases.
428
429         Because it is now simple enough.
430
431 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
432
433         limit_reference_base<>: Avoid the need for the T_trackable template parameter.
434
435         By using std::conditional_t and std::is_const<>::value.
436
437 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
438
439         (bound_)mem_functor_base: Remove T_obj_with_modifier template parameter.
440
441         Remove the need for this by using std::conditional_t<> and
442         our member_method_is_const<>::value instead.
443
444 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
445
446         Add member_method_is_const<> and member_method_is_volatile.
447
448         And some tests for them.
449
450 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
451
452         mem_fun(): Use base bound_mem_functor_base instead of the aliases.
453
454         Thus making the bound_mem_functor, bound_const_mem_functor,
455         bound_const_volatile_mem_functor, etc, aliases unused.
456
457 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
458
459         mem_fun(): Use base mem_functor_base instead of the aliases.
460
461         Thus making the mem_functor, const_mem_functor, const_volatile_mem_functor,
462         etc, aliases unused.
463
464 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
465
466         limit_reference.h.m4: Make *_limit_reference template aliases of a limit_reference_base.
467
468         And have just one visitor specialization, using the base class.
469         As for *_mem_functor. This avoids the repetition.
470
471 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
472
473         A small const improvement.
474
475 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
476
477         Use retype.h as a normal .h file.
478
479         Instead of generating it.
480
481 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
482
483         retype.h.m4: Have retype() for just the 2 base *_mem_functor_base classes.
484
485         Then we don't need to generate code for this at all.
486
487 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
488
489         mem_func.h.m4: Have just one visitor specialization for bound_mem_functor_base.
490
491 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
492
493         mem_fun.h.m4: Make bound_*_mem_functor template aliases of a bound_mem_functor_base.
494
495         As for *_mem_functor. This avoids the repetition
496
497 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
498
499         mem_fun.h.m4: Make *_mem_functor template aliases of a mem_functor_base.
500
501         This avoids the repetition.
502
503 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
504
505         functor_trait.h: Do not repeat mem_functor and pointer_function declarations.
506
507         Instead just include the headers.
508         Then we can change their declarations without having to do it in two places.
509
510 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
511
512         Split functor_trait.h into functor_base.h and functor_trait.h.
513
514         So that slot_base doesn't need to include so much.
515
516 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
517
518         Don't include functor_trait.h where it is not used.
519
520 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
521
522         C++11: Change all typedefs to using.
523
524 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
525
526         bind.h.m4: Remove now-unnecessary dnls.
527
528 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
529
530         Fix a typo in a static_asser() error message.
531
532 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
533
534         bind_functor: Don't specify the operator() template specialization.
535
536         This doesn't seem to be necessary now.
537
538 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
539
540         bind_functor: Make bound_ private.
541
542 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
543
544         signal_base: clear signal_impl in its own destructor.
545
546         This deals with some TODO comments.
547         This patch is based on a suggestion from Kjell Ahlstedt:
548         See https://bugzilla.gnome.org/show_bug.cgi?id=167714#c14
549
550 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
551
552         hide_functor::operator(): Do some perfect forwarding.
553
554 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
555
556         hide_functor: Avoid using std::make_tuple().
557
558         Because it can change types, such as changing std::ref()ed T to T.
559
560 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
561
562         Update tuple-utils from murrayc-tuple-utils.
563
564         tuple_transform_each() now iterates in order, instead of in reverse,
565         though that didn't seem to matter to how we used it in libsigc++.
566
567 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
568
569         Connection::operator bool(): Make this const.
570
571 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
572
573         Remove use of removed SIGC_HAVE_SUN_REVERSE_ITERATOR
574
575 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
576
577         sigc++config.h.in: Remove unused macros.
578
579 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
580
581         slot/slot_base: Make some API private.
582
583 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
584
585         slot_rep::dup(): Take a slot_rep* instead of void*.
586
587 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
588
589         Add and use notifiable base class instead of void*.
590
591         Use notifiable as the  base class for trackable, connection, signal_impl,
592         self_and_iter and destroy_notify_struct.
593
594         Use this notifiable* instead of void* for the destroy/notify callback data.
595         This is a little more type-safe and self-documenting.
596         Bug #302152
597
598 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
599
600         Remove C++ standard library checks.
601
602         We do not actually use these, and it must have been years since
603         any compiler didn't, for instance, have the std namespace.
604
605 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
606
607         Remove nil and the associated pragma push/pop fixes for Objective C++.
608
609 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
610
611         signal: Use void instead of nil to mean no accumulator.
612
613 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
614
615         Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
616
617 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
618
619         Remove SIGC_WORKAROUND_OPERATOR_PARENTHESES, using just .template operator()<>.
620
621         We can add it back if we find that the Sun or Microsoft compilers still
622         need it, when/if they support enough C++14 anyway.
623         We can always use libsigc++-2.0 to easily discover what its configure
624         checks say about the compiler behaviour.
625
626 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
627
628         adaptor_functor: Do some perfect forwarding.
629
630 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
631
632         retype_return_functor: Do some perfect forwarding.
633
634 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
635
636         compose: Do some perfect forwarding.
637
638 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
639
640         track_obj_functor: Do some perfect forwarding.
641
642 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
643
644         bind(): Correct the static_assert().
645
646 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
647
648         bind(): Add a static_assert() for when bind<num> is passed a too-high index.
649
650 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
651
652         template.macros.m4: Remove unused m4 macros.
653
654 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
655
656         Put tuple-utils into sigc::internal namespace.
657
658         To discourage people from using libsigc++ just for the tuple utils.
659
660 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
661
662         Move all tuple_*.h files into sigc++/tuple-utils/
663
664 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
665
666         bind_functor::operator(): Do perfect forwarding.
667
668         To be consistent with the other operator().
669
670 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
671
672         Create a parallel-installable sigc++-3.0 API/ABI.
673
674 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
675
676         Add a TODO comment.
677
678 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
679
680         bind: Some perfect forwarding.
681
682 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
683
684         Avoid std::make_tuple().
685
686         To preserve std::ref()ed elements.
687
688 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
689
690         Put bind() in its own bind.h file instead of generating it.
691
692 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
693
694         bind.h.m4: Make variadic.
695
696         With a partial build fix from Marcin Kolny.
697
698 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
699
700         bind: Make the visitor<> specialization variadic.
701
702 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
703
704         bind<-1>: Store the bound args in a tuple.
705
706 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
707
708         bind<num>(): Store the single bound arg in a tuple.
709
710 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
711
712         track_obj.h: Use this as a normal .h file.
713
714         Instead of genrating it from a .h.m4 file.
715
716 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
717
718         track_obj.h.m4: Make this variadic.
719
720         This uses a tuple_for_each<>() utility taken from here:
721         https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
722         for the visit_each() specialization.
723
724 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
725
726         hide.h: Use this as a normal .h file.
727
728         Instead of generating it from an .h.m4 file.
729
730 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
731
732         hide_functor: Make this fully variadic.
733
734 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
735
736         hide.h.m4: hide_functor::operator(): Make this variadic.
737
738         This uses some tuple manipulation utilities so that the variadic parameters
739         with which we call a method can be based on the variadic parameters that the
740         caller received, but not exactly. In this case, we need to replace an element
741         in the middle of a tuple. There is probably a more efficient way to do this.
742
743         For now, this is using copies of the tuple utilities from here:
744         https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
745
746 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
747
748         Add tuple utils from murrayc-tuple-utils.
749
750 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
751
752         exception_catch_functor::operator():
753
754         Remove the unnecessary operator()() overload.
755         This did need me to change the test code so that it doesn't try to
756         provide a catch function that returns something, but that seems
757         more correct anyway.
758
759 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
760
761         Another use of decltype(auto) for a return type
762
763 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
764
765         Correct some documentation.
766
767 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
768
769         More use of decltype(auto) for return types.
770
771 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
772
773         retype: Make this variadic.
774
775         However, we still need to generate const/volatile/const_volatile/
776         bound_const/bound_volatile/bound_const_volatile versions.
777
778 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
779
780         slot.h: Remove comment about this being generated.
781
782 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
783
784         slot.h: Use this as a normal .h file.
785
786         Instead of generating it from a .h.m4 file.
787
788 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
789
790         slot: Make this fully variadic.
791
792 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
793
794         slot.h.m4: make slot_call fully variadic.
795
796 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
797
798         bind_functor::operator()(): Give this a dummy template parameter.
799
800         And remove the m4 ifelse from slot.h.m4 because we can now resolve
801         that operator() when calling it with an empty variadic parameter pack.
802
803 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
804
805         slot.h.m4: visit_each specialization: Make this variadic.
806
807 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
808
809         make_slot: Use decltype(auto) for return type.
810
811 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
812
813         Replace some uses of result_type with decltype(auto).
814
815 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
816
817         Remove code that used the SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD ifndefs.
818
819         See the previous commit.
820
821 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
822
823         test_acum_iter: Replace signal_accumulated with signal<>::accumulated.
824
825         I've never noticed this sub-template before, but this syntax is
826         arguably nicer.
827
828 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
829
830         signal.h: Use this as a normal header file.
831
832         Instead of generating it from a .h.m4 file.
833
834 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
835
836         signal: Make this fully variadic.
837
838 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
839
840         signal.h.m4: Rename signal1/2/3/etc to signal_with_accumulator.
841
842         And make it fully variadic.
843
844 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
845
846         signal1/2/3/etc: Make this variadic.
847
848         Though the separate generated signal1/2/3/etc still exist.
849
850 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
851
852         signal1/2/3: Move T_accumulator to second position.
853
854         Because it can't go at the end if we want to change the args to
855         a variadic template pack.
856
857 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
858
859         Remove useless SIGC_TYPEDEF_REDEFINE_ALLOWED
860
861 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
862
863         signal.h.m4: Make signal_emit fully variadic.
864
865 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
866
867         signal_emit1/2/3/etc: Simplify call_type typedef.
868
869 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
870
871         signal.h.m4: signal_emit1/2/3/etc: Make this variadic.
872
873         Though we still have the separate generated signal_emit1/2/3, etc.
874
875         This is the first time that we need to use a tuple, and then
876         std::index_sequence(), to call another method with the stored
877         (in a tuple) parameter pack.
878
879 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
880
881         signal.h.m4: signal_emit: Put the T_Accumulator before the args.
882
883         So the args can be variadic eventually.
884
885 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
886
887         test_disconnect: Use slot<> instead of slot1<>.
888
889         Because we are trying to remove slot1,2,3, etc.
890
891 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
892
893         slot.h.m4: Make slot1/2/3/etc variadic.
894
895         While still having slot1/2/3/ themselves. This is lets us take
896         another small step in the conversion to variadic templates.
897
898 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
899
900         test_ptr_fun: Comment out what doesn't work with g++.
901
902         We probably need to get this working, but it already works with
903         clang++ (I'm using clang++ 3.7), so I'm just doing this for now,
904         with TODO comments, so I can move forwards.
905         I'm using g++ 5.2.1 .
906
907 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
908
909         bind(): Make this variadic.
910
911         Instead of generating many versions.
912
913         bind_functor<> is not at all variadic yet.
914
915 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
916
917         bind(): Move T_functor the start.
918
919         This is different to the bind<number, ...> version but it's the only
920         way to have a parameter pack at the end.
921         Hopefully this version of bind() never needs to be called for specific
922         template types.
923
924 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
925
926         C++14: bind(): Use decltype(auto) for the return type.
927
928         This simplifies the code a bit.
929
930 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
931
932         Rename deduce_result_type.h to adaptor_base.h
933
934         Because that is all this file now contains.
935         However, I suspect that we don't need adaptor_base at all now.
936
937 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
938
939         C++14 Remove now-unused deduce_result_t.
940
941 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
942
943         C++14: compose: Remove use of deduce_result_type.
944
945         By removing use of SIGC_WORKAROUND_OPERATOR_PARENTHESES, which
946         hopefully isn't necessary any more.
947
948 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
949
950         C++14: operator(): Use decltype(auto) instead of deduce_result_type.
951
952         So we can remove all the nasty deduce_result_type code,
953         which is hard to make fully variadic in bind().
954
955 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
956
957         Use C++14.
958
959         By using the MM_AX_CXX_COMPILE_STDCXX() m4 macro that I just
960         added to mm-common.
961
962         This lets us use std::integer_sequence (and std::index_sequence) with
963         std::tuple.
964
965         We probably also want to use decltype(auto) return types for template
966         methods, as long as that doesn't slow down compile times.
967
968 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
969
970         deduce_result_type.h: Remove comment about it being generated.
971
972 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
973
974         adaptor_trait.h: Remove comment about it being generated.
975
976 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
977
978         C++11: Replace sigc::ref() with std::ref().
979
980         It seems to be remarkably similar.
981
982 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
983
984         Remove (and replace) the _R_ and _P_ m4 macros.
985
986         They just make it that little bit harder to convert the code to
987         non-generated C++.
988
989 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
990
991         Remove (previously deprecated) lambda API.
992
993 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
994
995         retype_functor: Make the slot version variadic.
996
997 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
998
999         retype_functor: Make the pointer_functor version variadic.
1000
1001 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1002
1003         exception_catch.h: Use this as a normal .h file.
1004
1005         Instead of generating it from a .h.m4 file.
1006
1007 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1008
1009         exception_catch_functor: Make this variadic.
1010
1011         Instead of generating multiple overloads of operator().
1012
1013 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1014
1015         track_obj_functor1*(): Make operator() variadic.
1016
1017         Instead of generating multiple overloads.
1018
1019 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1020
1021         retype_return.h: Use this as a normal .h file.
1022
1023         Instead of generating it from a .h.m4 file.
1024
1025 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1026
1027         retype_return_functor: Make this variadic.
1028
1029         Instead of generating 7 overloads of operator().
1030
1031 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1032
1033         compose.h: Use this as a normal .h file.
1034
1035         Instead of generating it from a .h.m4 file.
1036
1037 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1038
1039         compose1_functor, compose2_functor: Make these variadic.
1040
1041         Instead of using 7 arguments with void defaults, and instead of
1042         generating 7 overloads of operator().
1043
1044 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1045
1046         deduce_result_type.h: Use this as a regular .h file.
1047
1048         Instead of generating it from a .h.m4 file.
1049
1050 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1051
1052         bind_return.h: Use this as a normal .h file.
1053
1054         Instead of generating it from a .h.m4 file.
1055
1056 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1057
1058         bind_return_functor: operator(): Make this variadic.
1059
1060         Instead of generating multiple overloads.
1061
1062 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1063
1064         adaptor_trait.h: Use this as a regular .h file.
1065
1066         Instead of generating it from a .h.m4 file.
1067
1068 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1069
1070         adaptor_function: Make the operator() variadic.
1071
1072         Instead of generating many overloads.
1073
1074 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1075
1076         adaptor_functor: Make deduce_result_type variadic.
1077
1078         Instead of having all 7 arguments, defaulting to void.
1079
1080 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1081
1082         mem_fun.h.m4: Remove now-unnecessary LIST() calls.
1083
1084 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1085
1086         filelist.am: Mention ptr_fun.h.
1087
1088         I forgot to do this when I changed this from a a .h.m4 file to a .h file.
1089
1090 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1091
1092         functor_trait.h: Use this as a normal header, not generated.
1093
1094 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1095
1096         functor_trait.h.m4: Use a variadic template instead of generating many.
1097
1098 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1099
1100         *mem_functor(): Remove the numbered versions, leaving just variadic ones.
1101
1102         Do not generate *mem_functor0 through *mem_functor7. Instead just
1103         generate variadic *mem_functor<>.
1104         We do still generate mem_functor, const_mem_functor and
1105         const_volatile_mem_functor, which seems messy.
1106
1107 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1108
1109         ptr_fun.h: Use this as a normal header instead of generating it.
1110
1111 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1112
1113         test_ptr_fun: Fix the build, at least temporarily.
1114
1115         See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c11
1116
1117 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1118
1119         C++11: ptr_fun.h: Replace generated ptr_fun1/2/3/etc with ptr_fun<>.
1120
1121         Note that T_Return must now be the first parameter, so that the
1122         variadic template parameters may be trailing, and this means that
1123         the return type must now be specified if you specify any argument
1124         types.
1125         For instance:
1126         ptr_fun<type_arg1>(&somefunc)
1127         now becomes
1128         ptr_fun<void, type_arg2>(&somefunc)
1129
1130         and
1131         ptr_fun<type_arg1, type_return>(&somefunc)
1132         now becomes
1133         ptr_fun<type_return, type_arg1>(&somefunc)
1134
1135         which might be an annoying API change, even though most people just
1136         use ptr_fun().
1137
1138         However, this breaks the tests:
1139
1140         test_ptr_fun.cc: In function â€˜int main(int, char**)’:
1141         test_ptr_fun.cc:64:21: error: no matches converting function â€˜foo’ to type â€˜void (*)()’
1142         sigc::ptr_fun(&foo)();
1143         ^
1144         test_ptr_fun.cc:24:6: note: candidates are: void {anonymous}::foo(int)
1145         void foo(int i1)
1146         ^
1147         test_ptr_fun.cc:18:5: note:                 int {anonymous}::foo()
1148         int foo()
1149         ^
1150
1151 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1152
1153         C++11: ptr_fun.h: Replace generated pointer_functor1/2/3/etc with pointer_functor.
1154
1155         Using C++11 variadic templates arguments.
1156         Note that T_Return is now the first template parameter, so that the variadic
1157         parameters can be the trailing parameters, as in std::function.
1158
1159 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1160
1161         Fix tiny typo in a comment.
1162
1163 2016-03-06  Murray Cumming  <murrayc@murrayc.com>
1164
1165         docs: Refer to it as libsigc++, not libsigc++2.
1166
1167 2016-03-06  Murray Cumming  <murrayc@murrayc.com>
1168
1169         website/README: Mention the new git repository.
1170
1171 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
1172
1173         SIGC_CXX_HAS_SUN_REVERSE_ITERATOR: Add std:: now that I removed the using std.
1174
1175         See https://bugzilla.gnome.org/show_bug.cgi?id=762065#c2
1176
1177 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
1178
1179         C++11: Make all operator bool() explicit.
1180
1181 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
1182
1183         Remove now-unnecessary SIGC_CXX_HAS_NAMESPACE_STD() configure check.
1184
1185         Bug #762065 (Kjell Ahlstedt)
1186
1187 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
1188
1189         Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
1190
1191         Bug #762065 (Kjell Ahlstedt)
1192
1193 2016-03-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1194
1195         Improve the documentation of mem_fun()
1196
1197         * sigc++/functors/macros/mem_fun.h.m4:
1198         * sigc++/functors/slot_base.h: Make it clear that mem_fun() does not return
1199         a slot, and 'auto s = sigc::mem_fun(....)' is not equivalent to
1200         'sigc::slot<....> s = sigc::mem_fun(....)'.
1201         The confusing documentation was noted by Andrejs Hanins on libsigc-list.
1202
1203 2016-03-01  Murray Cumming  <murrayc@murrayc.com>
1204
1205         Add test_bind_as_slot.
1206
1207         This tests sigc::bind()'s indirect use of adaptor_functor<>.
1208         I added this because this doesn't work yet in the variadic_bind branch.
1209
1210 2016-03-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1211
1212         2.7.1
1213
1214 2016-01-14  Murray Cumming  <murrayc@murrayc.com>
1215
1216         m4: Remove unused UPPER and LOWER functions.
1217
1218 2016-01-14  Murray Cumming  <murrayc@murrayc.com>
1219
1220         tests: Use = delete instead of private constructors.
1221
1222         To make classes non-copyable.
1223
1224 2016-01-07  Murray Cumming  <murrayc@murrayc.com>
1225
1226         functor_trait.m4: Correct the mem_functor<> declarations.
1227
1228         The first template types are T_return and T_obj, not the arguments.
1229         This doesn't seem to have been a problem. Maybe this code is not tested
1230         or used.
1231
1232 2015-12-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1233
1234         Don't use SIGC_USING_STD()
1235
1236         The SIGC_USING_STD() macro is defined as an empty string, if some standard
1237         C++ symbols are defined in namespace std. They always are.
1238         Since many years, SIGC_USING_STD() is an unnecessary macro.
1239
1240 2015-12-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1241
1242         Temporarily undefine the nil macro, if it's defined
1243
1244         * build/cxx.m4: Add SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
1245         * configure.ac: Call SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
1246         * sigc++config.h.in: Add SIGC_PRAGMA_PUSH_POP_MACRO.
1247         * sigc++/functors/macros/functor_trait.h.m4:
1248         * sigc++/adaptors/macros/bind.h.m4:
1249         * sigc++/adaptors/macros/retype.h.m4:
1250         * sigc++/functors/macros/slot.h.m4:
1251         * sigc++/macros/signal.h.m4: If nil and SIGC_PRAGMA_PUSH_POP_MACRO are
1252         defined, undefine nil temporarily in the header files.
1253         nil is a keyword in Objective-C++ and in Mac OS X C++. Bug #695235.
1254
1255 2015-12-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1256
1257         can_deduce_result_type_with_decltype: Rename the check() methods
1258
1259         * sigc++/functors/macros/functor_trait.h.m4: Rename the check() methods.
1260         check() is a preprocessor macro in Mac OS X. Bug #759315.
1261
1262 2015-12-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1263
1264         Fix some typos
1265
1266 2015-11-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1267
1268         Add a moving signal::connect() overload
1269
1270         * sigc++/macros/signal.h.m4: Add signal#::connect(slot_type&&),
1271         slot_list::insert(iterator i, slot_type&&),
1272         slot_list::push_front(slot_type&&), push_back(slot_type&&).
1273         * sigc++/signal_base.[h|cc]: Add signal_base::connect(slot_base&&),
1274         signal_base::insert(slot_base&&), signal_impl::connect(slot_base&&),
1275         signal_impl::insert(slot_base&&). Bug #756484.
1276
1277 2015-11-13  Murray Cumming  <murrayc@murrayc.com>
1278
1279         2.6.2
1280
1281 2015-11-12  Murray Cumming  <murrayc@murrayc.com>
1282
1283         Add warnings for use with --enable-warnings=fatal
1284
1285         Added use -Wsuggest-override and -Wzero-as-null-pointer-constant.
1286
1287 2015-11-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1288
1289         trackable, slot_base, signal_base, connection: Add some noexcept specs
1290
1291 2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1292
1293         slot and signal: Add missing move constructors and move assignments
1294
1295         * sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
1296         * sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
1297         * tests/test_signal_move.cc:
1298         * tests/test_slot_move.cc: Test that the source objects are empty.
1299         Bug #756484.
1300
1301 2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1302
1303         trackable, slot, signal: Remove noexcept specifications
1304
1305         * sigc++/functors/macros/slot.h.m4:
1306         * sigc++/functors/slot_base.[h|cc]:
1307         * sigc++/signal_base.[h|cc]:
1308         * sigc++/trackable.[h|cc]: Remove noexcept from the move operators.
1309         Bug #756484.
1310
1311 2015-11-06  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1312
1313         slot: Handle auto-disconnection when a slot contains a slot
1314
1315         * sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
1316         for slot# and slot.
1317         * tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
1318         a slot. Bug #755003.
1319
1320 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1321
1322         signal_impl: =delete copy and move operations.
1323
1324         Prevent, copy and move constructors and assignment operators from
1325         being generated automatically. These are never used, but this
1326         will make sure of that.
1327         See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1328
1329 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1330
1331         typed_slot_rep: =delete unimplemented copy and move operations.
1332
1333         Prevent, copy assignment operator, move constructor and move
1334         assignment operators from being generated automatically.
1335         These are never used, but this will make sure of that.
1336         See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1337
1338 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1339
1340         slot_rep: =delete copy and move operations.
1341
1342         Prevent, copy and move constructors and assignment operators from
1343         being generated automatically. These are never used, but this
1344         will make sure of that.
1345         See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1346
1347 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
1348
1349         Small whitespace changes in docs comment.
1350
1351 2015-10-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1352
1353         trackable: Add a comment
1354
1355 2015-10-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1356
1357         slot and signal: Fix move constructors and move assignments
1358
1359         * sigc++/functors/macros/slot.h.m4: Add documentation.
1360         * sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
1361         Don't move a connected slot.
1362         * sigc++/signal_base.cc: Fix the move assignment of signal_base.
1363         * tests/test_signal_move.cc:
1364         * tests/test_slot_move.cc: Really test move assignment. Bug #756484.
1365
1366 2015-10-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1367
1368         More use of nullptr instead of 0
1369
1370 2015-10-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1371
1372         slot_rep::disconnect(): Remove a comment, add a test
1373
1374         * sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
1375         * tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.
1376
1377 2015-09-29  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1378
1379         Update sigc++/.gitignore
1380
1381 2015-09-27  Murray Cumming  <murrayc@murrayc.com>
1382
1383         2.6.1
1384
1385 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1386
1387         sigc::trackable: Don't move the callback list
1388
1389         * sigc++/trackable.[h|cc]: Don't move the callback list.
1390         * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
1391
1392 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1393
1394         Recreate adaptors/lambda files necessary not to break ABI
1395
1396         * sigc++/adaptors/lambda/macros/base.h.m4:
1397         * sigc++/adaptors/lambda/macros/lambda.cc.m4:
1398         * sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
1399         * sigc++/Makefile.am:
1400         * sigc++/filelist.am: Add the recreated lambda files.
1401         Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
1402         "Remove remaining parts of the sigc::lambda API."
1403         Differences from an exact reversion: MSVC_Net files are not modified.
1404         (Probably something ought to be changed in MSVC_Net2013.)
1405         tests/Makefile.am is not modified-
1406         is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
1407         The extern declarations that were previously in select.h.m4 are moved to
1408         lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
1409         the .so file.
1410         All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
1411         Bug #755550.
1412
1413 2015-09-21  Murray Cumming  <murrayc@murrayc.com>
1414
1415         2.6.0
1416
1417 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
1418
1419         C++11: deduce_result_type: Simpifying, removing use of std::is_same().
1420
1421         See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
1422
1423 2015-09-17  Marcin Kolny  <marcin.kolny@gmail.com>
1424
1425         C++11: deduce_result_type: build fix, using SFINAE paradigm.
1426
1427         Bug #753612
1428
1429 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
1430
1431         C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
1432
1433         Bug #753612
1434         However, the build then fails like so:
1435
1436         make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
1437         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
1438         In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
1439         from ../sigc++/functors/slot.h:7,
1440         from ../sigc++/signal_base.h:27,
1441         from ../sigc++/signal.h:8,
1442         from ../sigc++/sigc++.h:86,
1443         from hello_world.cc:10:
1444         ../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>’:
1445         ../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}]’
1446         ../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>’
1447         ../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>&]’
1448         ../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>&]’
1449         ../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*)]’
1450         ../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>&]’
1451         ../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>&]’
1452         hello_world.cc:25:50:   required from here
1453         ../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>’
1454         >::type;
1455         ^
1456         In file included from ../sigc++/signal_base.h:27:0,
1457         from ../sigc++/signal.h:8,
1458         from ../sigc++/sigc++.h:86,
1459         from hello_world.cc:10:
1460         ../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>&]’:
1461         ../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*)]’
1462         ../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>&]’
1463         ../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>&]’
1464         hello_world.cc:25:50:   required from here
1465         ../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>&)’
1466         (a_1);
1467         ^
1468         ../sigc++/functors/slot.h:137:20: note: candidates are:
1469         In file included from ../sigc++/functors/slot.h:7:0,
1470         from ../sigc++/signal_base.h:27,
1471         from ../sigc++/signal.h:8,
1472         from ../sigc++/sigc++.h:86,
1473         from hello_world.cc:10:
1474         ../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>]
1475         operator()(T_arg1 _A_arg1) const
1476         ^
1477         ../sigc++/adaptors/adaptor_trait.h:88:3: note:   substitution of deduced template arguments resulted in errors seen above
1478         ../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>]
1479         operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
1480         ^
1481         ../sigc++/adaptors/adaptor_trait.h:107:3: note:   template argument deduction/substitution failed:
1482         In file included from ../sigc++/signal_base.h:27:0,
1483         from ../sigc++/signal.h:8,
1484         from ../sigc++/sigc++.h:86,
1485         from hello_world.cc:10:
1486         ../sigc++/functors/slot.h:137:20: note:   candidate expects 2 arguments, 1 provided
1487         (a_1);
1488         ^
1489
1490 2015-09-11  Chun-wei Fan  <fanchunwei@src.gnome.org>
1491
1492         MSVC Builds: Add "Install" Project
1493
1494         This makes building the -mm stack easier by copying the headers and the
1495         built DLL, PDB and LIB files to a location where it can be picked up by
1496         the gtkmm stack automatically, when they are extracted in a common
1497         directory.  This is what is currently done with the GTK+ and Clutter
1498         stacks for Visual Studio builds.
1499
1500 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
1501
1502         Update README on Visual Studio Builds
1503
1504         Since the Visual Studio project files and the related sources have been
1505         updated to work with Visual Studio 2013, and that the test programs do
1506         run well there, update the README file to let people know the situation.
1507
1508         https://bugzilla.gnome.org/show_bug.cgi?id=754082
1509
1510 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
1511
1512         sigc++config.h.in: Allow Build for MSVC 2013
1513
1514         MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
1515         _NOEXCEPT for MSVC 2013.  Plus, since by default MSVC 2013 does not allow
1516         us to re-define keywords, though they may or may not be supported, we need
1517         to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.
1518
1519         https://bugzilla.gnome.org/show_bug.cgi?id=754082
1520
1521 2015-09-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1522
1523         Update source of web page
1524
1525         * docs/website/fragments/footer.html_fragment:
1526         * docs/website/fragments/html_declaration.html_fragment:
1527         * docs/website/devel.shtml:
1528         * docs/website/doc.shtml:
1529         * docs/website/index.shtml:
1530         * docs/website/link.shtml:
1531         * docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
1532         supported compilers. Mention that a C++11 compiler is required and that
1533         support for lambdas has been removed. Bug #754082.
1534
1535 2015-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1536
1537         Update .gitignore
1538
1539 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
1540
1541         2.5.4
1542
1543 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
1544
1545         Update tests/.gitignore
1546
1547 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1548
1549         MSVC Builds: Use Windows Line Endings for .sln
1550
1551         The .sln files need to have Windows/DOS line endings to work properly so
1552         that Windows can detect the Visual Studio version of the solution file.
1553
1554 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1555
1556         MSVC Builds: Add Forgotten Files
1557
1558         The MSVC projects now use property sheets, but they were forgotten from
1559         dist in the previous commits.  Dist them... sorry!
1560
1561 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1562
1563         MSVC Builds: Remove MSVC 2005 and 2008 projects
1564
1565         They are now unable to build libsigc++ at all, so drop them.
1566
1567         https://bugzilla.gnome.org/show_bug.cgi?id=754082
1568
1569 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
1570
1571         MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
1572
1573         Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
1574         needs to be renamed to MSVC_Net2013, so that people will not be confused on
1575         what MSVC version is needed to build libsigc++.  Also remove MSVC_Net2005
1576         and MSVC_Net2008 from the distribution, as they are no longer able to build
1577         libsigc++.
1578
1579         https://bugzilla.gnome.org/show_bug.cgi?id=754082
1580
1581 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1582
1583         signal_base, trackable: Make move operations noexcept.
1584
1585 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1586
1587         Added test_signal_move.
1588
1589         This seems to work.
1590
1591 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1592
1593         Added test_slot_move
1594
1595         This seems to do what it should, acting much like regular slot copying.
1596
1597 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1598
1599         Add test_trackable_move.
1600
1601         It doesn't segfault, but I'm not sure it's doing what it should.
1602         See the TODO.
1603
1604 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1605
1606         trackable: move constructor: null the src.
1607
1608 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1609
1610         trackable: move assignment operator: null the src.
1611
1612 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1613
1614         C++11: signal_base: Add move operations.
1615
1616 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1617
1618         trackable: Add missing operator=(&&) implementation.
1619
1620 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1621
1622         trackable: Add move operations.
1623
1624         Also adding them to trackable_callback_list and makeing
1625         trackable_callback_list noncopyable, which I think is intended.
1626
1627 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1628
1629         C++11: slot*: Add move operations.
1630
1631 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1632
1633         C++11 slot_base: Add move operations.
1634
1635         Improvements welcome.
1636
1637 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1638
1639         slot_base::operator=(const &): Copy blocked_ too.
1640
1641         So, if we do
1642         a = b;
1643         then a will be blocked if b was blocked. Otherwise it depends on
1644         whether a was blocked, which seems odd.
1645
1646         If this is not the intended behaviour then we need a comment about it
1647         in operator=() and a test.
1648
1649 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
1650
1651         2.5.3
1652
1653 2015-08-31  Chun-wei Fan  <fanchunwei@src.gnome.org>
1654
1655         MSVC Projects: Overhaul The Projects
1656
1657         The former MSVC 2010 (2012) projects carried over quite a bit of cruft from
1658         the Visual Studio 2003 days, and there are a number of items that could be
1659         consolidated into ptoperty sheets, so it's time that the projects get a
1660         clean up and overhaul.  This is not unlike what was done to the glibmm
1661         projects some time ago.
1662
1663         Consolidate the projects all into MSVC_Net2010, without subdirectories, as
1664         the property sheets will separate the object files of the various projects
1665         into their own places.
1666
1667         This will also likely enable us to support MSVC 2015 in a more efficient
1668         way.
1669
1670         Also, move the projects configs to MSVC 2013, as that is now the minimum
1671         version of MSVC required to build sigc++.
1672
1673 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
1674
1675         deduce_result_t: Add initial T_return template parameter.
1676
1677         To make it clearer that this is how to use it.
1678
1679 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
1680
1681         tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.
1682
1683         This removes the last use of sigc::deduce_result_type<>, allowing
1684         us to change the implementation of sigc::deduce_result_t more easily.
1685
1686 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
1687
1688         exception_catch.h: Generate deduce_result_type for the void specializations too.
1689
1690         I guess this is correct and test_exception_catch still passes.
1691         Without this, it's actually using, for instance:
1692         sigc::deduce_result_type<T_arg1, T_Arg2>
1693         even though sigc::deduce_result_type<> should really be called with a result type
1694         first, like so:
1695         sigc::deduce_result_type<T_return, T_arg1, T_Arg2>
1696
1697         Explicitly changing it to use
1698         sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
1699         or
1700         sigc::deduce_result_type<T_Arg1, T_Arg2>
1701         instead of just
1702         deduce_result_type<T_Arg1, T_Arg2>
1703         doesn't seem to break things either, probably out of luck,
1704         but changing it to define a type that it actually seems to expect seems
1705         cleaner, and makes it easier for us to change sigc::deduce_result_type.
1706
1707 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
1708
1709         C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.
1710
1711         This simplifies the code a bit, by replacing use of this:
1712         typename deduce_result_type<SomeType1, SomeType2>::type
1713         with this:
1714         deduce_result_t<SomeType1, SomeType2>
1715
1716         Note that the alias is a C++11 variadic template.
1717         Bug #753580
1718
1719 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
1720
1721         type_traits.h: Remove the unused type and pointer types.
1722
1723         These were apparently never used.
1724         Bug #753580
1725
1726 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
1727
1728         type_trait: Define and use type_trait_pass/take_t aliases.
1729
1730         This simplifies the code a bit, by replacing use of this:
1731         typename type_trait<SomeType>::take
1732         with this:
1733         type_trait_take_t<SomeType>
1734         Bug #753580
1735
1736 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
1737
1738         2.5.2
1739
1740 2015-08-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1741
1742         Remove the sigc++/object.h header
1743
1744         Because it now contains no API.
1745         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1746
1747 2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1748
1749         Update sigc++/.gitignore
1750
1751 2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1752
1753         Store sigc++/slot.h in git, don't generate it from m4
1754
1755         * sigc++/macros/slot.h.m4: Remove.
1756         * sigc++/slot.h: New in git.
1757         * sigc++/filelist.am: Replace sigc++/macros/slot.h.m4 by sigc++/slot.h.
1758         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1759
1760 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
1761
1762         Remove the (generated) sigc++/hide.h header.
1763
1764         Because it now contains no API.
1765         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1766
1767         The generated sigc++/hide file did not include sigc++/adaptors/hide.h
1768         so it did not exist as a convenience.
1769
1770 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
1771
1772         Remove the (generated) sigc++/retype.h header.
1773
1774         Because it now contains no API.
1775         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1776
1777         sigc++/macros/retype_h.m4 did define some m4 macros but these were
1778         not actually used. The generated sigc++/retype.h file did not
1779         include sigc++/adaptors/retype.h so it did not exist as a convenience.
1780
1781 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
1782
1783         Remove the (generated) sigc++/object_slot.h header.
1784
1785         Because it now contains no API.
1786         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1787
1788 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
1789
1790         Remove the (generated) method_slot.h header.
1791
1792         Because it now contains no API.
1793         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1794
1795 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
1796
1797         Remove the (generated) class_slot.h header.
1798
1799         Because it now contains no API.
1800         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1801
1802 2015-08-04  Chun-wei Fan  <fanchunwei@src.gnome.org>
1803
1804         Visual Studio Builds: Move 2010 Projects to 2012
1805
1806         Since the builds of the *mm stack are going to use C++11, this means that
1807         we can't build libsigc++ with MSVC 2005~2010 anymore, so we need to update
1808         the Visual Studio project files to version 2012 (11.0), so that we can
1809         still support building with Visual Studio, as it does support enough of
1810         C++11 features that is needed.
1811
1812         Also clean up a little bit by dropping some of the unneeded items from the
1813         projects and solution files.
1814
1815         These project files are clearly going to need more cleanup, and we should
1816         drop the MSVC_Net2005 and MSVC_Net2008 folders, and rename MSVC_Net2010 to
1817         MSVC_Net2012, but this commit will ensure that libsigc++ is indeed still
1818         buildable with Visual Studio, and we can support Visual Studio 2013 and
1819         2015 in a more efficient manner.
1820
1821 2015-08-03  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1822
1823         C++11: Replace deprecated std::auto_ptr by std::unique_ptr
1824
1825 2015-07-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1826
1827         C++11: visit_each_type<>(): Another check for the same type
1828
1829         The rest of my suggested additions in bug 752560 comment 3.
1830         The #include <type_traits> are necessary, if header files are included
1831         one-by-one, and not via #include <sigc++/sigc++.h>.
1832
1833 2015-07-25  Murray Cumming  <murrayc@murrayc.com>
1834
1835         C++11: visit_each<>: Check for the same type as well as the base.
1836
1837         As suggested by Kjell Ahlstedt here:
1838         https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3
1839
1840         This fixes the test cases.
1841
1842 2015-07-25  Murray Cumming  <murrayc@murrayc.com>
1843
1844         C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
1845
1846         As suggested by Kjell's comment here:
1847         https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
1848         This also removes sigc::is_base_and_derived<> which should cause
1849         only a slight API change but no ABI change.
1850
1851         Bug #752560
1852
1853 2015-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1854
1855         Update README, remove TODO
1856
1857         * README: Remove lambda from the list of directories.
1858         Remove the list of compatible compilers. It has become obsolete now that
1859         libsigc++ uses C++11 features.
1860         * TODO: Remove. It's obsolete. TODO comments are now scattered in
1861         the source code.
1862
1863 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1864
1865         C++11: Use of range-based for loops.
1866
1867 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1868
1869         C++11: More use of auto.
1870
1871 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1872
1873         C++11: Use auto.
1874
1875         Trying to avoid using auto where its a specific type that we are
1876         trying to test for.
1877
1878 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1879
1880         Use -Wformat-security with --enable-warnings=fatal.
1881
1882         Because we use it in glibmm already. No code changes were necessary.
1883
1884 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1885
1886         Use -Wshadow with --enable-warnings=fatal.
1887
1888 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1889
1890         Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."
1891
1892         This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
1893         I didn't meat to push that quite yet.
1894
1895 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1896
1897         C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
1898
1899         As suggested by Kjell's comment here:
1900         https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
1901         This also removes sigc::is_base_and_derived<> which should cause
1902         only a slight API change but no ABI change.
1903
1904 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1905
1906         C++11: Use of nullptr instead of 0.
1907
1908 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
1909
1910         2.5.1
1911
1912         2.5.1
1913
1914 2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1915
1916         Require mm-common 0.9.8
1917
1918 2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1919
1920         Remove remaining parts of the sigc::lambda documentation
1921
1922         * docs/index.html: Remove link to group__lambdas.html.
1923         * sigc++/adaptors/macros/bind.h.m4:
1924         * sigc++/adaptors/macros/compose.h.m4:
1925         * sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
1926         * sigc++/.gitignore:
1927         * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
1928
1929 2015-07-17  Murray Cumming  <murrayc@murrayc.com>
1930
1931         Remove remaining parts of the sigc::lambda API.
1932
1933         The remaining API, defined in a .cc file, does not actually end up
1934         being used by applications, so we can safely remove it.
1935         See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21
1936
1937 2015-07-17  Murray Cumming  <murrayc@murrayc.com>
1938
1939         Remove deprecated sigc::lambda API that is only in headers.
1940
1941         So this is an API removal (of deprecated API) but not an ABI change.
1942         The remaining deprecated API in the headers is needed by the definitions
1943         in lambda.cc.m4.
1944         Bug #672555
1945
1946 2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1947
1948         C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
1949
1950         * sigc++/adaptors/lambda/macros/base.h.m4:
1951         * sigc++/adaptors/lambda/macros/group.h.m4:
1952         * sigc++/adaptors/macros/track_obj.h.m4:
1953         * sigc++/macros/signal.h.m4: Remove all talk about
1954         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
1955         * sigc++/functors/slot_base.h: Mentioned that
1956         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
1957         * tests/test_cpp11_lambda.cc:
1958         * tests/test_track_obj.cc: Remove calls to
1959         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
1960         * sigc++/functors/macros/functor_trait.h.m4: Add class
1961         can_deduce_result_type_with_decltype<>. Use it as default value for the new
1962         template parameter I_can_use_decltype in struct functor_trait<>.
1963         Bug #672555.
1964         Murray Cumming made the changes of all files except functor_trait.h.m4.
1965
1966 2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1967
1968         Require C++11
1969
1970         * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
1971         support for C++11 and use it (--std=c++11 for current versions of
1972         g++). Bug #672555.
1973
1974 2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1975
1976         2.4.1
1977
1978 2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1979
1980         Docs: Update for Doxygen 1.8.9
1981
1982         * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.
1983
1984 2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1985
1986         Tests: Improve test_disconnect_during_emit
1987
1988         * tests/test_disconnect_during_emit.cc: Test that the slot is really
1989         disconnected during signal emission.
1990
1991 2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1992
1993         slot_base: Let the assignment operator destroy the slot
1994
1995         * sigc++/functors/slot_base.cc: slot_base's assignment operator shall
1996         destroy the old slot_rep even if the assigned slot is empty. Bug #738602.
1997
1998 2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1999
2000         2.4.0
2001
2002 2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2003
2004         Docs: Use doxygen-extra.css
2005
2006         * configure.ac: Require mm-common 0.9.7.
2007         * docs/.gitignore: Ignore doxygen-extra.css.
2008         * docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.
2009
2010 2014-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2011
2012         doap: Add <description>
2013
2014 2014-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2015
2016         test_lambda: Fix for MS Visual C++ 2013
2017
2018         * tests/test_lambda.cc: Don't rely on implicit conversion from std::ostream
2019         to bool. Instead, hide a problematic slot return type with sigc::hide_return().
2020         Bug #734368.
2021
2022 2014-08-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2023
2024         Add an include in limit_reference.h
2025
2026         * sigc++/macros/limit_reference.h.m4: limit_reference.h must include
2027         visit_each.h, with the primary definition of template struct visitor.
2028         https://mail.gnome.org/archives/libsigc-list/2014-August/msg00001.html
2029
2030 2014-08-01  Andre Klapper  <a9016009@gmx.de>
2031
2032         doap: add <programming-language>
2033
2034 2014-08-01  Olav Vitters  <olav@vitters.nl>
2035
2036         doap: link tarball name and git module
2037
2038 2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2039
2040         2.3.2
2041
2042 2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2043
2044         Remove .gitattributes
2045
2046         * .gitattributes: Instructed git to use a custom merge function for
2047         merging ChangeLog. Might have been useful, but it's not any more.
2048
2049 2014-07-30  Olav Vitters  <olav@vitters.nl>
2050
2051         doap category core
2052
2053 2014-07-29  Ryan Beasley  <rbeasley@vmware.com>
2054
2055         Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later
2056
2057         * tests/test_cpp11_lambda.cc:
2058         * tests/test_track_obj.cc: Compile C++11 lambda expressions if
2059         _MSC_VER >= 1700. Bug #733752.
2060
2061 2014-07-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2062
2063         Documentation: Emphasize that signals are ref counted
2064
2065         * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
2066         a ref counted signal_impl. Bug #611941.
2067
2068 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2069
2070         Add test_visit_each to MSVC_Net2010
2071
2072         * MSVC_Net2010/filelist.am: Add new project files.
2073         * MSVC_Net2010/libsigc++2.sln: Add new project.
2074         * MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496.
2075
2076 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2077
2078         Tests: Add test_visit_each
2079
2080         * tests/.gitignore:
2081         * tests/Makefile.am: Add test_visit_each.
2082         * tests/test_visit_each.cc: New file. Bug #724496.
2083
2084 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2085
2086         Replace visit_each() overloads by struct visitor<>
2087
2088         Note: This patch breaks API for some users, but it does not break ABI.
2089         Only users who have added their own visit_each() overloads are affected by
2090         the API break. Their programs will still compile, but there will be run-time
2091         errors, if they rely on auto-disconnection of slots.
2092         Updated instructions for users who implement their own adaptors are found in
2093         the description of sigc::adapts<>.
2094
2095         * sigc++/adaptors/bound_argument.h:
2096         * sigc++/adaptors/macros/adaptor_trait.h.m4:
2097         * sigc++/adaptors/macros/bind.h.m4:
2098         * sigc++/adaptors/macros/bind_return.h.m4:
2099         * sigc++/adaptors/macros/compose.h.m4:
2100         * sigc++/adaptors/macros/exception_catch.h.m4:
2101         * sigc++/adaptors/macros/hide.h.m4:
2102         * sigc++/adaptors/macros/retype.h.m4:
2103         * sigc++/adaptors/macros/retype_return.h.m4:
2104         * sigc++/adaptors/macros/track_obj.h.m4:
2105         * sigc++/adaptors/lambda/macros/base.h.m4:
2106         * sigc++/adaptors/lambda/macros/group.h.m4:
2107         * sigc++/adaptors/lambda/macros/operator.h.m4:
2108         * sigc++/functors/macros/mem_fun.h.m4:
2109         * sigc++/macros/limit_reference.h.m4:
2110         * sigc++/visit_each.h: Replace overloads of visit_each<>() by
2111         specializations of struct visitor<> with a specialized member function
2112         do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid
2113         argument-dependent lookup.
2114         * sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type()
2115         with sigc:: to avoid argument-dependent lookup.
2116         * tests/test_functor_trait.cc: Fix the expected result now when the test
2117         really works.
2118         Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.
2119
2120 2014-07-25  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2121
2122         signal_impl::notify(): Don't delete signal_impl during erase()
2123
2124         * sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete
2125         signal_impl while its slot list is being manipulated. Without this fix,
2126         tests/test_bind_refptr crashes in MS Visual C++ in debug mode.
2127         The behaviour without the fix is risky, and shall be avoided. Bug #564005.
2128
2129 2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2130
2131         Update the signal_impl::notify() documentation
2132
2133         * sigc++/signal_base.h: Update the signal_impl::notify() documentation.
2134         It should have been updated when notify() was updated. Bug #167714.
2135
2136 2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2137
2138         Add a maintainer in the DOAP file
2139
2140 2014-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2141
2142         Update MSVC_Net2010
2143
2144         * MSVC_Net2010/filelist.am: Add new project files.
2145         * MSVC_Net2010/libsigc++2.sln: Add new projects.
2146         * MSVC_Net2010/libsigc++2.vcxproj.filters:
2147         * MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files.
2148         * MSVC_Net2010/tests/test_*/test_*.vcxproj.filters:
2149         * MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc].
2150         * MSVC_Net2010/tests/test_accum_iter/:
2151         * MSVC_Net2010/tests/test_bind_ref/:
2152         * MSVC_Net2010/tests/test_bind_refptr/:
2153         * MSVC_Net2010/tests/test_copy_invalid_slot/:
2154         * MSVC_Net2010/tests/test_cpp11_lambda/:
2155         * MSVC_Net2010/tests/test_custom/:
2156         * MSVC_Net2010/tests/test_lambda/:
2157         * MSVC_Net2010/tests/test_limit_reference/:
2158         * MSVC_Net2010/tests/test_slot_disconnect/:
2159         * MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496.
2160
2161 2014-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2162
2163         Fix 'make check' with clang++ and --enable-warnings=fatal
2164
2165         * tests/test_cpp11_lambda.cc:
2166         * tests/test_deduce_result_type.cc:
2167         * tests/test_track_obj.cc: Don't define functions which are not used.
2168         The clang++ compiler considers unused functions an error, when libsigc++ is
2169         configured with --enable-warnings=fatal. Bug #724496.
2170
2171 2013-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2172
2173         Documentation: Talk less about std::function
2174
2175         * sigc++/functors/macros/slot.h.m4:
2176         * sigc++/functors/slot_base.h: Remove the examples with std::function.
2177         Add an example with a C++11 lambda expression.
2178         https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html
2179
2180 2013-10-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2181
2182         Update .gitignore files
2183
2184         * build/.gitignore:
2185         * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.
2186
2187 2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2188
2189         Documentation: Mention std::function and std::bind() in more comments
2190
2191         * sigc++/functors/macros/functor_trait.h.m4: Mention that
2192         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors
2193         with overloaded operator()().
2194         * sigc++/adaptors/macros/track_obj.h.m4:
2195         * sigc++/functors/macros/slot.h.m4:
2196         * sigc++/functors/slot_base.h:
2197         * sigc++/signal_base.h: Mention std::function as an alternative to
2198         sigc::slot.
2199         * sigc++/macros/signal.h.m4: connect(): Describe why the result of
2200         std::bind() can't be connected directly to a signal.
2201
2202 2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2203
2204         Fix test_cpp11_lambda for gcc 4.8
2205
2206         * tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref().
2207         Show that std::bind() can be assigned to a slot, if it's combined with
2208         std::function.
2209
2210 2013-07-30  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2211
2212         signal_base, signal_impl: Speed up disconnection of slots.
2213
2214         * sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being
2215         disconnected. Execution time is then usually O(1) instead of O(n), where n
2216         is the size of the slot list. Disconnect all connected slots when a signal is
2217         deleted. Disconnect slots before they are erased from a signal's slot list.
2218         Bug #167714.
2219
2220 2013-07-03  José Alburquerque  <jaalburquerque@gmail.com>
2221
2222         Move to a generated ChangeLog.
2223
2224 2013-07-02  José Alburquerque  <jaalburquerque@gmail.com>
2225
2226         Auto-generate the ChangeLog from the git log for 'make dist'.
2227
2228         * Makefile.am: Include the dist-changelog.am file copied in build/
2229         from mm-common so that the ChangeLog is automatically generated from
2230         the git commit messages on 'make dist'.
2231
2232 2013-05-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2233
2234         Don't use __file__ in the FIREWALL m4 macro.
2235
2236         * sigc++/adaptors/lambda/macros/group.h.m4:
2237         * sigc++/adaptors/macros/*.h.m4:
2238         * sigc++/functors/macros/*.h.m4:
2239         * sigc++/macros/class_slot.h.m4:
2240         * sigc++/macros/hide.h.m4:
2241         * sigc++/macros/limit_reference.h.m4:
2242         * sigc++/macros/method_slot.h.m4:
2243         * sigc++/macros/retype.h.m4:
2244         * sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename).
2245         * sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL,
2246         taking a parameter. Don't use __file__ to generate the name of the C++
2247         preprocessor macro. __file__ may expand to an absolute path, containing
2248         almost all sorts of special characters and being excessively long.
2249         Bug #699168.
2250
2251 2013-04-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2252
2253         Use DOXYGEN_SHOULD_SKIP_THIS consistently.
2254
2255         * docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages.
2256         * sigc++/sigc++.h: Mention that the reference manual contains only some of
2257         the template specializations.
2258         * sigc++/adaptors/bound_argument.h:
2259         * sigc++/adaptors/lambda/macros/base.h.m4:
2260         * sigc++/adaptors/lambda/macros/group.h.m4:
2261         * sigc++/adaptors/macros/adaptor_trait.h.m4:
2262         * sigc++/adaptors/macros/bind.h.m4:
2263         * sigc++/adaptors/macros/bind_return.h.m4:
2264         * sigc++/adaptors/macros/compose.h.m4:
2265         * sigc++/adaptors/macros/deduce_result_type.h.m4:
2266         * sigc++/adaptors/macros/exception_catch.h.m4:
2267         * sigc++/adaptors/macros/hide.h.m4:
2268         * sigc++/adaptors/macros/retype.h.m4:
2269         * sigc++/adaptors/macros/retype_return.h.m4:
2270         * sigc++/adaptors/macros/track_obj.h.m4:
2271         * sigc++/functors/macros/functor_trait.h.m4:
2272         * sigc++/functors/macros/mem_fun.h.m4:
2273         * sigc++/macros/limit_reference.h.m4:
2274         * sigc++/type_traits.h:
2275         * sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen
2276         shall not extract.
2277
2278 2013-03-20  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2279
2280         Suppress erroneous links in documentation.
2281
2282         * sigc++/adaptors/lambda/macros/base.h.m4:
2283         * sigc++/adaptors/lambda/macros/group.h.m4:
2284         * sigc++/adaptors/lambda/macros/select.h.m4: Doxygen links std::bind to
2285         sigc::bind. Suppress these links. No link is better than the wrong link.
2286
2287 2013-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2288
2289         Deprecate libsigc++ lambdas, sigc::group(), sigc::var().
2290
2291         * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API(SIGCXX).
2292         * sigc++/adaptors/lambda/macros/base.h.m4:
2293         * sigc++/adaptors/lambda/macros/group.h.m4:
2294         * sigc++/adaptors/lambda/macros/lambda.cc.m4:
2295         * sigc++/adaptors/lambda/macros/operator.h.m4:
2296         * sigc++/adaptors/lambda/macros/select.h.m4: Deprecate everything.
2297         * sigc++/macros/template.macros.m4: Add deprecation macros.
2298         * sigc++config.h.in: Add #undef SIGCXX_DISABLE_DEPRECATED.
2299         * tests/test_lambda.cc: Skip test if SIGCXX_DISABLE_DEPRECATED is defined.
2300         Bug #672555.
2301
2302 2013-02-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2303
2304         Add track_obj() and test_track_obj.
2305
2306         * sigc++/.gitignore: Add adaptors/track_obj.h.
2307         * sigc++/adaptors/adaptors.h: Add sigc++/adaptors/track_obj.h.
2308         * sigc++/adaptors/lambda/macros/group.h.m4:
2309         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention track_obj() in the
2310         documentation.
2311         * sigc++/adaptors/macros/track_obj.h.m4: New file.
2312         * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h.
2313         * tests/.gitignore:
2314         * tests/Makefile.am: Add test_track_obj.
2315         * tests/test_cpp11_lambda.cc: Use track_obj() to test auto-disconnection.
2316         * tests/test_track_obj.cc: New test case.
2317         Bug #672555.
2318
2319 2013-01-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2320
2321         Documentation: Fix many warnings from Doxygen.
2322
2323         * configure.ac: Require mm-common 0.9.6 or later.
2324         * docs/reference/Doxyfile.in: Don't warn for undocumented classes and structs.
2325         * sigc++/adaptors/macros/bind.h.m4:
2326         * sigc++/adaptors/macros/bind_return.h.m4:
2327         * sigc++/adaptors/macros/compose.h.m4:
2328         * sigc++/adaptors/macros/hide.h.m4:
2329         * sigc++/connection.h:
2330         * sigc++/macros/limit_reference.h.m4: Make all parameter names in @param
2331         commands equal to the corresponding names in the function declarations.
2332         * sigc++/signal_base.h: Remove an extraneous period that confuses Doxygen.
2333         * sigc++/type_traits.h: Add a missing @code/@endcode pair.
2334
2335 2012-10-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2336
2337         Test cases: Report pass/fail with exit status.
2338
2339         * tests/testutilities.[h|cc]: New files. Code common to all test cases.
2340         * tests/*.cc: Use class TestUtilities. Don't print anything
2341         if the test passes. Return EXIT_FAILURE if the test fails.
2342         * tests/Makefile.am: Add testutilities.[h|cc] to all test cases.
2343         Bug #684956.
2344
2345 2012-10-18  Murray Cumming  <murrayc@murrayc.com>
2346
2347         2.3.1
2348
2349 2012-10-18  Murray Cumming  <murrayc@murrayc.com>
2350
2351         Update the Doxyfile.in syntax.
2352
2353         * docs/reference/Doxyfile.in: By running doxygen -u
2354         on it.
2355
2356 2012-10-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2357
2358         Add some missing newin{}.
2359
2360         * docs/reference/Doxyfile.in: Add ALIASES newin.
2361         * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to
2362         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
2363         * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and
2364         signal_base::blocked(), block(), unblock(). Bug #153780.
2365
2366 2012-10-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2367
2368         signal_base: Add blocked(), block(), unblock().
2369
2370         * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
2371         signal_base::blocked(), block(), unblock(). Bug #153780.
2372
2373 2012-09-23  Murray Cumming  <murrayc@murrayc.com>
2374
2375         2.2.11
2376
2377 2012-09-20  Andris Pavenis  <andris.pavenis@iki.fi>
2378
2379         Fix comma operator in lambda expressions.
2380
2381         * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<>
2382         specialization for comma operator (operator,()).
2383         * tests/test_cpp11_lambda.cc:
2384         * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911.
2385
2386 2012-09-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2387
2388         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
2389
2390         * sigc++/adaptors/lambda/macros/base.h.m4:
2391         * sigc++/adaptors/lambda/macros/group.h.m4:
2392         * sigc++/functors/macros/functor_trait.h.m4:
2393         * tests/test_cpp11_lambda.cc: Replace the preprocessor macro
2394         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with
2395         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555.
2396
2397 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2398
2399         Correct a bug number in ChangeLog.
2400
2401 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2402
2403         Use std::size_t and std::ptrdiff_t.
2404
2405         * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead
2406         of ::size_t and ::ptrdiff_t. Only the std versions are required to be
2407         declared in <cstddef>.
2408         * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change
2409         MSVC++-only code in this file and other files.)
2410
2411 2012-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2412
2413         Fix 'make check' with gcc 4.7.
2414
2415         * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value()
2416         before it's used in sigc::lambda::operator[]() and operator=().
2417         * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the
2418         documentation as in test_cpp11_lambda.cc.
2419         * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration
2420         shall be captured in C++11 lambda expressions.
2421
2422 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2423
2424         Update .gitignore and tests/.gitignore
2425
2426         * .gitignore: Add *~ (gedit's backup files).
2427         * tests/.gitignore: Add missing executable test files.
2428
2429 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2430
2431         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
2432
2433         * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro
2434         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to
2435         assign C++11 lambda expressions with any return type to slots.
2436         Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
2437         * sigc++/adaptors/lambda/macros/base.h.m4:
2438         * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda
2439         expressions to the documentation of lambda expressions and sigc::group().
2440         * tests/Makefile.am: Add test_cpp11_lambda.cc.
2441         * tests/test_cpp11_lambda.cc: New test case, showing that most uses of
2442         libsigc++'s lambda expressions can be replaced by standard C++11 lambda
2443         expressions. Bug #672555.
2444
2445 2012-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2446
2447         Enable test_lambda in 'make check'.
2448
2449         * tests/Makefile.am: Enable test_lambda in 'make check'.
2450         * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda
2451         functions' parameter lists. See Bug #669128.
2452
2453 2012-02-29  Andre Klapper  <ak-47@gmx.net>
2454
2455         Add missing bug-database entry to DOAP file
2456
2457 2011-09-22  Krzesimir Nowak  <qdlacz@gmail.com>
2458
2459         Don't use obsolete macros.
2460
2461         * autogen.sh: Warn about everything during autoreconf.
2462         * build/cxx.m4:
2463         * build/cxx_std.m4: Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE.
2464         * configure.ac: Use LT_INIT.
2465
2466 2011-07-25  Murray Cumming  <murrayc@murrayc.com>
2467
2468         2.2.10
2469
2470 2011-07-21  Thomas Rydzynski  <qsorix@rydznet.pl>
2471
2472         Mention visit_each() in the documentation of sigc::adapts.
2473
2474         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied
2475         adaptor must be accompanied by a specialization of template function
2476         visit_each(). Correct some minor errors in the example of a user-supplied
2477         adaptor. Bug #486373.
2478
2479 2011-07-20  Murray Cumming  <murrayc@murrayc.com>
2480
2481         Missing changes from the previous commit.
2482
2483 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2484
2485         Add a test case for the previous commit.
2486
2487         * tests/Makefile.am:
2488         * tests/test_bind_refptr.cc: A version of this test is also in glibmm.
2489         Note that this includes a copy/paste of RefPtr.
2490         See Bug #564005#14
2491
2492 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2493
2494         slot_rep: Avoid access to deleted object in notify().
2495
2496         * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before
2497         destroy(). If disconnect() has deleted the slot_rep object, destroy() is not
2498         called. Bug #564005.
2499
2500 2011-05-24  Olav Vitters  <olav@vitters.nl>
2501
2502         Use tar-ustar instead of tar-pax to ensure OpenBSD compatibility
2503
2504 2011-03-08  Murray Cumming  <murrayc@murrayc.com>
2505
2506         2.2.9
2507
2508 2011-02-22  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2509
2510         trackable: Avoid calling the same callback function twice
2511
2512         * sigc++/trackable.cc: Invalidate a callback function entry in
2513         trackable_callback_list::remove_callback() when the list is being cleared.
2514         Bug 589202.
2515
2516 2011-02-04  Kalev Lember  <kalev@smartlink.ee>
2517
2518         Fix the build with GCC 4.6
2519
2520         * sigc++/signal_base.h: Include <cstddef> for size_t.
2521
2522 2010-10-12  David King  <davidk@openismus.com>
2523
2524         Update .gitignore and tests/.gitignore
2525
2526 2010-10-12  David King  <davidk@openismus.com>
2527
2528         Documentation changes
2529
2530         * *.h.m4: Minor changes to documentation to fix up code example
2531         formatting, by removing the additional two spaces of indentation.
2532         Additionally, fix some spelling and grammar mistakes and typos.
2533
2534 2010-09-26  Armin Burgmeier  <armin@arbur.net>
2535
2536         Add support for 64 bit to MSVC project files
2537
2538 2010-09-27  Armin Burgmeier  <armin@arbur.net>
2539
2540         * MSVC_Net2005/libsigc++2.sln:
2541         * MSVC_Net2005/libsigc++2.vcproj:
2542         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
2543         * MSVC_Net2005/tests/test_bind/test_bind.vcproj:
2544         * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj:
2545         * MSVC_Net2005/tests/test_compose/test_compose.vcproj:
2546         * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
2547         * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj:
2548         * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
2549         * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj:
2550         * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj:
2551         * MSVC_Net2005/tests/test_hide/test_hide.vcproj:
2552         * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj:
2553         * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj:
2554         * MSVC_Net2005/tests/test_retype/test_retype.vcproj:
2555         * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj:
2556         * MSVC_Net2005/tests/test_signal/test_signal.vcproj:
2557         * MSVC_Net2005/tests/test_size/test_size.vcproj:
2558         * MSVC_Net2005/tests/test_slot/test_slot.vcproj:
2559         * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj:
2560         * MSVC_Net2008/libsigc++2.sln:
2561         * MSVC_Net2008/libsigc++2.vcproj:
2562         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj:
2563         * MSVC_Net2008/tests/test_bind/test_bind.vcproj:
2564         * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj:
2565         * MSVC_Net2008/tests/test_compose/test_compose.vcproj:
2566         * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
2567         * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj:
2568         * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
2569         * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj:
2570         * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj:
2571         * MSVC_Net2008/tests/test_hide/test_hide.vcproj:
2572         * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj:
2573         * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj:
2574         * MSVC_Net2008/tests/test_retype/test_retype.vcproj:
2575         * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj:
2576         * MSVC_Net2008/tests/test_signal/test_signal.vcproj:
2577         * MSVC_Net2008/tests/test_size/test_size.vcproj:
2578         * MSVC_Net2008/tests/test_slot/test_slot.vcproj:
2579         * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj:
2580         * MSVC_Net2010/libsigc++2.vcxproj:
2581         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
2582         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
2583         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
2584         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
2585         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
2586         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
2587         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
2588
2589 2010-09-26  Armin Burgmeier  <armin@arbur.net>
2590
2591         Add test_accumulated to the MSVC projects
2592
2593 2010-09-27  Armin Burgmeier  <armin@arbur.net>
2594
2595         * MSVC_Net2005/libsigc++2.sln:
2596         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
2597         * MSVC_Net2008/libsigc++2.sln:
2598         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add
2599         test_accumulated to the MSVC projects.
2600
2601 2010-09-20  Armin Burgmeier  <armin@arbur.net>
2602
2603         Added MSVC 2010 project files
2604
2605 2010-09-19  Armin Burgmeier  <armin@arbur.net>
2606
2607         * MSVC_Net2010/filelist.am:
2608         * MSVC_Net2010/libsigc++2.sln:
2609         * MSVC_Net2010/libsigc++2.vcxproj:
2610         * MSVC_Net2010/libsigc++2.vcxproj.filters:
2611         * MSVC_Net2010/sigc.rc.in:
2612         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
2613         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters:
2614         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
2615         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters:
2616         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
2617         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters:
2618         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
2619         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters:
2620         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
2621         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters:
2622         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
2623         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters:
2624         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
2625         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters:
2626         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
2627         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters:
2628         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
2629         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters:
2630         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
2631         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters:
2632         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
2633         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters:
2634         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
2635         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters:
2636         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
2637         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters:
2638         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
2639         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters:
2640         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
2641         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters:
2642         * MSVC_Net2010/tests/test_size/test_size.vcxproj:
2643         * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters:
2644         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
2645         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters:
2646         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj:
2647         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters:
2648
2649         * Makefile.am:
2650         * configure.ac: Added project files for Visual Studio 2010.
2651
2652 2010-06-05  David King  <davidk@openismus.com>
2653
2654         Small website updates
2655
2656         * docs/index.html: Remove broken namespace links.
2657         * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
2658         reference.
2659
2660 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
2661
2662         2.2.8
2663
2664 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
2665
2666         Manual: Add an id=index attribute in case that helps library.gnome.org.
2667
2668         * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
2669
2670 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
2671
2672         2.2.7
2673
2674 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
2675
2676         Documentation improvements.
2677
2678         * docs/manual/libsigc_manual.xml: Remove Marshallers section because
2679         it is apparently outdated and there is no example code to test it.
2680         This fixes bug #417924 (Michael Ekstrand)
2681         Also changed LibSigC++ to libsigc++ for consistency.
2682         * sigc++/sigc++.h: Main page text: Rearranged slightly.
2683
2684 2010-04-27  David King  <davidk@openismus.com>
2685
2686         Improvements to main page documentation
2687
2688         * sigc++/sigc++.h: Minor improvements.
2689
2690 2010-04-23  David King  <davidk@openismus.com>
2691
2692         Add main page to Doxygen documentation
2693
2694         * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
2695         * sigc++/sigc++.h: Add main page to Doxygen documentation.
2696
2697 2010-04-23  David King  <davidk@openismus.com>
2698
2699         Fix the functors Doxygen group in the m4 files
2700
2701         * sigc++/functors/macros/functor_trait.h.m4:
2702         * sigc++/functors/macros/mem_fun.h.m4:
2703         * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to
2704         sigcfunctors.
2705
2706 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
2707
2708         2.2.6
2709
2710 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
2711
2712         Docs: Fix the functors group and the link from the overview.
2713
2714         * docs/website/doc.shtml: Revert this to point to the overview page at
2715         docs/indeex.html, which I have manually uploaded to the website, until
2716         we add this overview to the doxygen-generated documentation itself.
2717         * sigc++/functors/slot_base.h:
2718         * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors,
2719         because doxygen seems to confuse it with the one in libstdc++.
2720         * docs/index.html: Update the links.
2721
2722 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
2723
2724         Website: Fix the Makefile so upload works with sourceforge again.
2725
2726 2010-04-06  Murray Cumming  <murrayc@murrayc.com>
2727
2728         Website: Update the reference API link.
2729
2730         * docs/website/doc.shtml: Update the reference API link to use
2731         library.gnome.org. We should make sure that the tutorial docbook is there
2732         too.
2733         * docs/website/devel.shtml: Remove CVS-specific instructions, quickly
2734         mentioning the git module instead.
2735         However, the Makefile must be updated to cope with sourceforge's changes.
2736         I was not able to upload this yet.
2737
2738 2010-03-29  Murray Cumming  <murrayc@murrayc.com>
2739
2740         2.2.5
2741
2742 2010-01-06  Daniel Elstner  <daniel.kitta@gmail.com>
2743
2744         Use non-blurry font for dot graph labels
2745
2746         * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable.
2747         (SHOW_USED_FILES): Disable.
2748         (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the
2749         former appears to be rather bad.
2750         (TEMPLATE_RELATIONS): Disable to reduce noise.
2751
2752 2009-12-29  Murray Cumming  <murrayc@murrayc.com>
2753
2754         Accumulators: Allow return types that are different to the signal's.
2755
2756         * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type
2757         and slot_reverse_iterator_buf_type typedefs to allow accumulators with
2758         return types that are different to the signal's return type.
2759         * tests/Makefile.am: Reenable test_accumulated, so we can test the fix.
2760         It should be manually disabled if building on AIX (if the AIX problem cannot
2761         be fixed properly).
2762         * tests/test_accumulated.cc: Add an accumulator with a return type that is
2763         different to the signal's return type. In this case it's a vector listing
2764         all results.
2765         Bug #586436.
2766
2767 2009-12-27  Daniel Elstner  <daniel.kitta@gmail.com>
2768
2769         Disable collaboration graphs in documentation
2770
2771         * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable.  Contrary to
2772         what the Doxygen documentation says, no dot class inheritance graphs
2773         will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are
2774         set to NO.
2775         (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
2776         reduce the noise.
2777
2778 2009-10-26  Armin Burgmeier  <armin@arbur.net>
2779
2780         Fix build with MSVC
2781
2782 2009-10-26  Armin Burgmeier  <armin@arbur.net>
2783
2784         * sigc++config.h: Move the first five definitions to the !SIGC_MSC
2785         ifdef block, so MSVC does not see them and only uses the definitions
2786         from the SIGC_MSC block. This fixes the build with MSVC.
2787
2788 2009-09-19  Daniel Elstner  <daniel.kitta@gmail.com>
2789
2790         Support Automake silent rules
2791
2792         * configure.ac: Call the AM_SILENT_RULES macro if it is defined.
2793         * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of
2794         custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support
2795         the silent rules feature of Automake.
2796
2797 2009-09-18  Michael Hasselmann  <michaelh@openismus.com>
2798
2799         Documentation cleanup: sigc::hide() always only hides one signal argument
2800
2801         * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide()
2802         could discard multiple signal arguments when in fact the whole API only allows
2803         control over one (dummy) signal argument at a time. The  "multiple argument
2804         hiding" example lives in it own section now to make it clearer you have to nest
2805         sigc::hide() for that.
2806
2807 2009-09-13  Daniel Elstner  <daniel.kitta@gmail.com>
2808
2809         Enable verbose output of autoreconf
2810
2811         * autogen.sh: Pass --verbose option to autoreconf.
2812
2813 2009-09-07  Daniel Elstner  <danielk@openismus.com>
2814
2815         Delete obsolete MAINTAINERS file
2816
2817 2009-09-02  Daniel Elstner  <danielk@openismus.com>
2818
2819         Bump version to 2.2.4.2 and update NEWS
2820
2821         * configure.ac (AC_INIT): Increment version number to 2.2.4.2.
2822         (MM_PREREQ): Require mm-common 0.7.2.
2823         * NEWS: Write news entry for libsigc++ 2.2.4.2.
2824
2825 2009-09-02  Daniel Elstner  <danielk@openismus.com>
2826
2827         Document namespace sigc briefly
2828
2829         * sigc++/signal_base.h (sigc): Prepend documentation comment to
2830         provide a brief description of namespace sigc, so that Doxygen
2831         will recognize the namespace as documented.
2832
2833 2009-08-31  Daniel Elstner  <danielk@openismus.com>
2834
2835         Update Doxygen configuration for Doxygen 1.6.1
2836
2837         * docs/reference/Doxyfile.in: Update configuration template using
2838         Doxygen 1.6.1.
2839         (SORT_MEMBERS_CTORS_1ST): Enable.
2840
2841 2009-08-31  Daniel Elstner  <danielk@openismus.com>
2842
2843         Protect space after comma in M4 output
2844
2845         * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the
2846         list separator in this hairy construct, since the macro definition
2847         itself is not quoted at all and the space after the comma got lost
2848         in the output.  This, in turn, produced overlong lines in the HTML
2849         reference documentation.
2850
2851 2009-08-28  Daniel Elstner  <danielk@openismus.com>
2852
2853         Update news entry for libsigc++ 2.2.4.1 release
2854
2855         * NEWS: Update top entry for release 2.2.4.1 of libsigc++.
2856         (2.2.4): Correct spelling of Frédéric Péters' name.
2857
2858 2009-08-27  Daniel Elstner  <danielk@openismus.com>
2859
2860         Use shared mm-common Doxygen style sheet
2861
2862         * configure.ac (MM_PREREQ): Require mm-common 0.7.
2863         * docs/Makefile.am (dist_noinst_DATA): List doxygen.css.
2864         * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path
2865         to the shared doxygen.css provided by mm-common.
2866
2867 2009-08-27  Daniel Elstner  <danielk@openismus.com>
2868
2869         Remove header and footer HTML fragments
2870
2871         * docs/reference/libsigc_{header,footer}.html_fragment: Delete
2872         files.  These custom fragments were an unnecessary maintenance
2873         hassle.  Also, the files were out of date with respect to the
2874         encoding and CSS classes used by Doxygen.
2875         * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set
2876         to the empty string.
2877         (PROJECT_NAME): Substitute @PACKAGE_NAME@.
2878         (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@.  It does look
2879         nicer in the generated HTML pages, and is probably also less
2880         confusing.
2881         (SORT_GROUP_NAMES): Enable for predictability.
2882
2883 2009-08-27  Daniel Elstner  <danielk@openismus.com>
2884
2885         Change version of upcoming release to 2.2.4.1
2886
2887         * configure.ac (AC_INIT): Adjust version number to 2.2.4.1.
2888         * NEWS: Correct version of top news entry to 2.2.4.1.
2889
2890 2009-08-26  Daniel Elstner  <danielk@openismus.com>
2891
2892         Bump version to 2.2.5 and update NEWS
2893
2894         * configure.ac (AC_INIT): Increment version number to 2.2.5.
2895         * NEWS: Write news entry for libsigc++ 2.2.5.
2896
2897 2009-08-26  Daniel Elstner  <danielk@openismus.com>
2898
2899         Reenable hierarchy graphs for each class
2900
2901         * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
2902         to YES to enable the per-class inheritance graphs.
2903
2904 2009-08-25  Daniel Elstner  <danielk@openismus.com>
2905
2906         Have Automake check NEWS and use bzip2
2907
2908         * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
2909         dist-bzip2.
2910
2911 2009-08-25  Daniel Elstner  <danielk@openismus.com>
2912
2913         Update NEWS for libsigc++ 2.2.4 release
2914
2915 2009-08-25  Daniel Elstner  <danielk@openismus.com>
2916
2917         Bump version to 2.2.4 and require mm-common 0.6.1
2918
2919         * configure.ac (AC_INIT): Increase version number to 2.2.4.
2920         (MM_PREREQ): Require mm-common 0.6.1 for the updated default
2921         location of the reference documentation.
2922
2923 2009-08-25  Daniel Elstner  <danielk@openismus.com>
2924
2925         Change documentation host to library.gnome.org
2926
2927         * README, docs/manual/libsigc_manual.xml: Adjust links to the
2928         reference documentation in the text.
2929         * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override
2930         and use the updated mm-common default values.
2931         * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link.
2932
2933 2009-08-24  Daniel Elstner  <danielk@openismus.com>
2934
2935         Add id="content" element to documentation index
2936
2937         * docs/reference/libsigc_header.html_fragment: Start <div> element
2938         with attribute id="content" to match the other C++ binding modules.
2939         * docs/reference/libsigc_footer.html_fragment: Close <div> element.
2940
2941 2009-08-20  Daniel Elstner  <danielk@openismus.com>
2942
2943         Use new version component substitutions
2944
2945         * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined
2946         @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@
2947         substitutions for the version number components.  These are
2948         defined by MM_INIT_MODULE() from mm-common.
2949
2950 2009-08-20  Daniel Elstner  <danielk@openismus.com>
2951
2952         Substitute API version in filenames dynamically
2953
2954         * sigc++.pc.in: Rename file from sigc++-2.0.pc.in.
2955         * sigc++-uninstalled.pc.in: Rename file from
2956         sigc++-2.0-uninstalled.pc.in.
2957         * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in
2958         and use @SIGCXX_API_VERSION@ substitution for the API version.
2959         Also replace @VERSION@ with @PACKAGE_VERSION@.
2960         * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from
2961         the project name and filenames.
2962         * MSVC_Net200[58]/filelist.am: Remove version from filenames.
2963         * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME}
2964         into output filenames and remove the version from the input
2965         filenames.
2966         * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file
2967         names instead of hard-coding the API version.
2968         * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding
2969         the libtool archive name, substitute @SIGCXX_API_VERSION@ into
2970         it, as well as into the derived variable names.
2971
2972 2009-08-17  Daniel Elstner  <danielk@openismus.com>
2973
2974         Set libtool version information
2975
2976         * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
2977         -version-info 0:0:0 to specify the version information explicitly.
2978
2979 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
2980
2981         Remove unused parameter names for correctness
2982
2983         * tests/test_copy_invalid_slot.cc, tests/test_custom.cc,
2984         tests/test_deduce_result_type.cc, tests/test_functor_trait.cc,
2985         tests/test_limit_reference.cc: Remove the names of unused function
2986         parameters from the prototype, in order to get libsigc++ to build
2987         with fatal compiler warnings.
2988
2989 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
2990
2991         Rename scripts/ to build/ for consistency
2992
2993         * build/: Rename directory from scripts/ for consistency with most
2994         of the other modules that switched to the new build infrastructure.
2995         * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory.
2996         * README: Adjust a reference to scripts/ in the text.
2997         * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/.
2998         (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/.
2999         * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am.
3000
3001 2009-08-16  Daniel Elstner  <danielk@openismus.com>
3002
3003         Copy log entry into legacy ChangeLog file
3004
3005 2009-08-16  Daniel Elstner  <danielk@openismus.com>
3006
3007         Update for latest mm-common 0.4
3008
3009         * configure.ac (MM_PREREQ): Require mm-common 0.4.
3010         (MM_INIT_MODULE): Omit now optional version number argument.
3011         (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/
3012         instead of scripts/.
3013         * Makefile.am (dist_noinst_DATA): Remove documentation utilities.
3014         * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash.
3015         * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto,
3016         * docs/Makefile.am (htmlrefpub): ditto.
3017         (doc_input): Perform a VPATH search for each input file, to correctly
3018         handle the case of rebuilding the documentation of a tarball release
3019         which includes the generated sources.
3020         (dist_noinst_DATA): List documentation utilities.
3021
3022 2009-08-11  Daniel Elstner  <danielk@openismus.com>
3023
3024         Do not recurse into MSVC subdirectories
3025
3026         * MSVC_Net200[58]/filelist.am: New Automake include files, defining
3027         the lists of files to ship from the MSVC project directories.
3028         * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files.
3029         * Makefile.am: Include MSVC_Net200[58]/filelist.am.
3030         (dist_noinst_DATA): Distribute MSVC project files.
3031         (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories.
3032         * configure.ac (AC_CONFIG_FILES): Remove the output files
3033         MSVC_Net200[58]/Makefile.am from the list.
3034         (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project
3035         directories at the end of config.status.
3036
3037 2009-08-11  Daniel Elstner  <danielk@openismus.com>
3038
3039         Remove now superfluous doctool overrides
3040
3041         * docs/Makefile.am: Remove overrides for the documentation
3042         utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care
3043         of setting MMDOCTOOLDIR to the local directory.
3044         * sigc++-2.0.pc.in (datadir): Substitute value, just in case.
3045
3046 2009-08-10  Daniel Elstner  <danielk@openismus.com>
3047
3048         List mm-common files in scripts/.gitignore
3049
3050 2009-08-10  Daniel Elstner  <danielk@openismus.com>
3051
3052         Have mm-common-prepare install the doc utils
3053
3054         * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set
3055         up the destination directory for mm-common-prepare to copy
3056         the documentation utilities to.
3057         * scripts/doc-install.pl: Delete file.
3058         * scripts/doc-postprocess.pl: ditto,
3059         * scripts/tagfile-to-devhelp2.xsl: ditto.
3060
3061 2009-08-09  Daniel Elstner  <danielk@openismus.com>
3062
3063         Refresh doc-install and doc-postprocess copies
3064
3065         * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy
3066         latest versions from the mm-common module.
3067         * docs/Makefile.am (doc_install), (doc_postprocess): Include
3068         $(PERL) interpreter command in front of the script name.
3069
3070 2009-08-08  Daniel Elstner  <danielk@openismus.com>
3071
3072         Disable extraction of undocumented identifiers
3073
3074         * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to
3075         NO, and adapt a number of related options accordingly.  The
3076         result is a net loss of about 300 generated .html files.  The
3077         roughly 450 files which remain now are still an insanely high
3078         number, though.
3079         (PREDEFINED): Predefine the Autoconf configuration defines to
3080         nudge Doxygen towards documenting the canonical code paths.
3081
3082 2009-08-07  Daniel Elstner  <danielk@openismus.com>
3083
3084         Use #error explicitly instead of broken code
3085
3086         * sigc++config.h.in: Do use the #error preprocessor directive,
3087         instead of an errornous piece of code.  This code does not need
3088         the same level of obfuscation as an Autoconf feature test.
3089
3090 2009-08-07  Daniel Elstner  <danielk@openismus.com>
3091
3092         Change bug report URL to point to Bugzilla
3093
3094         * configure.ac (AC_INIT): Change the bug-report argument to the
3095         URL for filing a new libsigc++ bug on bugzilla.gnome.org.  Also
3096         name the website URL as fifth argument.  It will simply be ignored
3097         if the installed Autoconf does not support this new feature.
3098
3099 2009-08-07  Daniel Elstner  <danielk@openismus.com>
3100
3101         Do not enable -pedantic mode by default
3102
3103         * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
3104         list of compiler flags to use at warning level "min" (the default).
3105
3106 2009-08-07  Daniel Elstner  <danielk@openismus.com>
3107
3108         Correct M4 forbidden tokens pattern
3109
3110         * configure.ac (m4_pattern_forbid): Take into account that the
3111         pattern is applied to tokens, not lines.  Also catch unexpanded
3112         calls to underscore-prefixed private macros.
3113
3114 2009-08-06  Daniel Elstner  <danielk@openismus.com>
3115
3116         Transition to new mm-common build infrastructure
3117
3118         * autogen.sh: Replace with a minimal script that simply executes
3119         mm-common-prepare, autoreconf and configure.
3120         * configure.ac: Get rid of an enormous amount of old cruft.  Use
3121         macros from the new mm-common module to set up Doxygen for building
3122         the documentation.  Add option to enable more compiler warnings.
3123         * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
3124         linking to an uninstalled libsigc++.
3125         * sigc++-2.0.pc.in: Modernize.  Provide the location of the
3126         installed reference documentation and the Doxygen tag file.
3127         * sigc++config.h.in: Modernize and update for new build
3128         infrastructure.
3129         * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
3130         binding build infrastructure in the mm-common module.
3131         * sigc++/filelist.am: New Automake include file.  Defines lists
3132         of C++ and M4 source files.
3133         * docs/Makefile.am: Rewrite using doc-reference.am from the
3134         mm-common module.
3135         * docs/doc-manual.am: New Automake include file for building the
3136         libsigc++ Docbook manual.
3137         * docs/images/Makefile.am: Remove file.
3138         * docs/manual/Makefile.am: ditto,
3139         * docs/reference/Makefile.am: ditto.
3140         * docs/Makefile_web.am_fragment: Remove for now, to be taken care
3141         of later.
3142         * docs/reference/Doxyfile.in: Modernize and adapt to new build
3143         infrastructure.
3144         * docs/reference/beautify_docs.pl: Remove and use the more recent
3145         scripts/doc-postprocess.pl instead.
3146         * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
3147         complains.
3148         * scripts/Makefile.am: Remove file.  Distribute the files from the
3149         toplevel Makefile.am instead.
3150         * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
3151         * scripts/doc-install.pl: New file, copied from mm-common.
3152         * scripts/doc-postprocess.pl: ditto,
3153         * scripts/tagfile-to-devhelp2.xsl: ditto.
3154
3155 2009-06-24  Daniel Elstner  <danielk@openismus.com>
3156
3157         Add Description of a Project (DOAP) file
3158
3159 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
3160
3161         Correct the download link so it shows all versions, not just 2.0.
3162
3163 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
3164
3165         * docs/website/stable.shtml: Correct the download link so it shows all 
3166         versions, not just 2.0.
3167
3168         svn path=/trunk/; revision=302
3169
3170 2008-10-15  Murray Cumming  <murrayc@src.gnome.org>
3171
3172         Increased version
3173
3174         svn path=/trunk/; revision=301
3175
3176 2008-10-08  Armin Burgmeier  <armin@arbur.net>
3177
3178         Changed output name to match the new naming convention.
3179
3180 2008-10-08  Armin Burgmeier  <armin@arbur.net>
3181
3182         * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
3183         naming convention.
3184
3185         * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
3186         the same as for MSVC 2005, but converted to MSVC 2008 projects.
3187
3188         * configure.ac:
3189         * Makefile.am: Added the new files to the build.
3190
3191         svn path=/trunk/; revision=300
3192
3193 2008-08-08  Armin Burgmeier  <armin@arbur.net>
3194
3195         Enable the disconnect_during_emit test by default.
3196
3197 2008-08-08  Armin Burgmeier  <armin@arbur.net>
3198
3199         * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
3200         by default.
3201
3202         * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
3203         file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
3204         wrapper libraries.
3205
3206         svn path=/trunk/; revision=299
3207
3208 2008-08-08  Armin Burgmeier  <armin@arbur.net>
3209
3210         Moved from MSVC_Net2003.
3211
3212 2008-08-08  Armin Burgmeier  <armin@arbur.net>
3213
3214         * MSVC_Net2005/: Moved from MSVC_Net2003.
3215
3216         * MSVC_Net2005/libsigc++2.sln:
3217         * MSVC_Net2005/libsigc++2.vcproj:
3218         * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
3219         project files to 2005 ones.
3220
3221         * MSVC_Net2005/Makefile.am:
3222         * Makefile.am:
3223         * configure.ac: Adapted build files accordingly.
3224
3225         svn path=/trunk/; revision=298
3226
3227 2008-04-06  Cedric Gustin  <cedric.gustin@gmail.com>
3228
3229         Removed ATL/MFC header files dependency as afxres.h is not part of the
3230
3231         2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
3232
3233         * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files 
3234         dependency as afxres.h is not part of the Microsoft Platform
3235         SDK provided with Visual C++ Express 2008.
3236         Bug #503933.
3237
3238         svn path=/trunk/; revision=297
3239
3240 2008-03-10  Murray Cumming  <murrayc@src.gnome.org>
3241
3242         Increased version
3243
3244         svn path=/trunk/; revision=296
3245
3246 2008-02-28  Murray Cumming  <murrayc@src.gnome.org>
3247
3248         Increased version
3249
3250         svn path=/trunk/; revision=295
3251
3252 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
3253
3254         Add ifdefs around uses of reverse_iterator to really fix the build with
3255
3256 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
3257
3258         * sigc++/macros/signal.h.m4:
3259         * tests/test_accum_iter.cc: Add ifdefs around uses of 
3260         reverse_iterator to really fix the build with recent 
3261         versions of Sun CC.
3262         Bug #302098.
3263
3264         svn path=/trunk/; revision=294
3265
3266 2008-02-22  Murray Cumming  <murrayc@src.gnome.org>
3267
3268         Increased version
3269
3270         svn path=/trunk/; revision=293
3271
3272 2008-01-01  Ryan Hill  <dirtyepic@gentoo>
3273
3274         Include the cstdlib and cstring headers to fix the build with the gcc 4.3
3275
3276 2008-01-01  Ryan Hill  <dirtyepic@gentoo.>
3277
3278         * tests/test_copy_invalid_slot.cc: Include the cstdlib 
3279         and cstring headers to fix the build with the gcc 4.3 
3280         pre-release. Bug #454882.
3281
3282         svn path=/trunk/; revision=292
3283
3284 2007-12-09  Murray Cumming  <murrayc@murrayc.com>
3285
3286         Added some includes to fix the build in some environments, such as when
3287
3288 2007-08-31  Murray Cumming  <murrayc@murrayc.com>
3289
3290         * tests/test_copy_invalid_slot.cc: Added some includes to 
3291         fix the build in some environments, such as when using Sun CC.
3292         Thanks to Vladimir Marek in bug #469872.
3293
3294         svn path=/trunk/; revision=291
3295
3296 2007-09-10  Murray Cumming  <murrayc@src.gnome.org>
3297
3298         Mark version in ChangeLog
3299
3300         svn path=/trunk/; revision=290
3301
3302 2007-09-10  Murray Cumming  <murrayc@src.gnome.org>
3303
3304         Added MAINTAINERS file
3305
3306         svn path=/trunk/; revision=288
3307
3308 2007-08-14  Murray Cumming  <murrayc@src.gnome.org>
3309
3310         Increase version
3311
3312         svn path=/trunk/; revision=286
3313
3314 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
3315
3316         Removed this header.
3317
3318 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
3319
3320         * sigc++/Makefile.am:
3321         * sigc++/compatibility.h: Removed this header.
3322         * sigc++/bind.h:
3323         * sigc++/bind_return.h:
3324         * sigc++/connection.h:
3325         * sigc++/macros/class_slot.h.m4:
3326         * sigc++/macros/hide.h.m4:
3327         * sigc++/macros/method_slot.h.m4:
3328         * sigc++/macros/object_slot.h.m4:
3329         * sigc++/macros/retype.h.m4:
3330         * sigc++/macros/signal.h.m4:
3331         * sigc++/macros/slot.h.m4:
3332         * sigc++/object.h:
3333         * sigc++/retype_return.h: Removed deprecated 
3334         compatibility API, to probably fix the build with 
3335         some compilers, such as some versions of the Sun Forte C++ 
3336         CC compiler. This API has been deprecated April 2004, and 
3337         is not widely used, so it seems safe to do this now.
3338
3339         * tests/Makefile.am:
3340         * tests/test_compatibility.cc: Removed this test.
3341
3342         svn path=/trunk/; revision=285
3343
3344 2007-07-28  Michael Elkstrand  <michael@elehack.net>
3345
3346         slot_iterator_buf, slot_reverse_iterator_buf: Added typedefs for
3347
3348 2007-07-28  Michael Elkstrand  <michael@elehack.net>
3349
3350         * sigc++/macros/signal.h.m4: slot_iterator_buf, 
3351         slot_reverse_iterator_buf: Added typedefs for 
3352         value_type, reference, and pointer, so that these 
3353         iterators are more like standard C++ iterators, so they can 
3354         be used with standard C++ algorithms.  
3355         * tests/Makefile.am:
3356         * tests/test_accum_iter.cc: Added a test for this.
3357         Bug #417926.
3358
3359         svn path=/trunk/; revision=284
3360
3361 2006-11-14  Daniel Elstner  <daniel@src.gnome.org>
3362
3363         Wholly replace this script with a critter from one of my personal
3364
3365         * autogen.sh: Wholly replace this script with a critter from one
3366         of my personal projects, with slight modifications.  This one does
3367         some sophisticated stuff like probing version numbers of available
3368         automake and aclocal executables, in order to choose the right one
3369         accordingly.  All this is necessary to make the build system work
3370         robustly in custom environments such as Maemo where automake-1.9
3371         doesn't come preinstalled.
3372
3373 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
3374
3375         Revert the previous changes, because none is used in the exported symbol
3376
3377 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
3378
3379         * sigc++/adaptors/macros/bind.h.m4:
3380         * sigc++/adaptors/macros/retype.h.m4:
3381         * sigc++/functors/macros/functor_trait.h.m4:
3382         * sigc++/functors/macros/slot.h.m4:
3383         * sigc++/macros/retype.h.m4:
3384         * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
3385         used in the exported symbol names from gtkmm, so this would break the ABI
3386         of gtkmm.
3387
3388 2006-06-06  Régis Duchesne  <hpreg@vmware.com>
3389
3390         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile the
3391
3392         2006-05-26  Régis Duchesne <hpreg@vmware.com>
3393
3394         * sigc++/adaptors/macros/bind.h.m4:
3395         * sigc++/adaptors/macros/retype.h.m4:
3396         * sigc++/functors/macros/functor_trait.h.m4:
3397         * sigc++/functors/macros/slot.h.m4:
3398         * sigc++/macros/retype.h.m4:
3399         * sigc++/macros/signal.h.m4:
3400         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
3401         the library header files.
3402
3403 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
3404
3405         Make remaining reverse_iterator_buf operator--() methods return by
3406
3407 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
3408
3409         * sigc++/macros/signal.h.m4: Make remaining
3410         reverse_iterator_buf operator--() methods
3411         return by reference, like the operator++() methods.
3412         Bug #304402 from John Profic.
3413
3414 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
3415
3416         Make all operator--() methods return by reference, like the operator++()
3417
3418 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
3419
3420         * sigc++/macros/signal.h.m4: Make all operator--() methods
3421         return by reference, like the operator++() methods.
3422         Bug #304402 from John Profic.
3423
3424 2005-12-14  John Profic  <profic@kursknet.ru>
3425
3426         Fix compilation problem in the last patch.
3427
3428         2005-12-14  John Profic <profic@kursknet.ru>
3429
3430         * sigc++/macros/signal.h.m4: Fix compilation problem in
3431         the last patch.
3432
3433 2005-12-14  John Profic  <profic@kursknet.ru>
3434
3435         Added emit_reverse().
3436
3437         2005-12-14  John Profic <profic@kursknet.ru>
3438
3439         * sigc++/macros/signal.h.m4: Added emit_reverse().
3440
3441 2005-12-14  Murray Cumming  <murrayc@src.gnome.org>
3442
3443         mark branch in ChangeLog
3444
3445 2005-12-01  Murray Cumming  <murrayc@murrayc.com>
3446
3447         slot_base::disconnect(): Set call_ to 0, to invalidate the slot, even if
3448
3449         2005-12-01  Murray Cumming <murrayc@murrayc.com>
3450
3451         * sigc++/functors/slot_base.cc:
3452         slot_base::disconnect(): Set call_ to 0,
3453         to invalidate the slot, even if parent_ is 0.
3454         I think parent_ is, for instance, a signal, but
3455         disconnect should still work on a slot that is not
3456         connected to a signal, because a slot can be invoked
3457         directly.
3458         Fixes bug #311057 from James Lin.
3459
3460 2005-12-01  Murray Cumming  <murrayc@murrayc.com>
3461
3462         Added test case from bug #311057.
3463
3464         2005-12-01  Murray Cumming <murrayc@murrayc.com>
3465
3466         * tests/Makefile.am:
3467         * tests/test_slot_disconnect.cc: Added test
3468         case from bug #311057.
3469
3470 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
3471
3472         Make member exception_catch_functor<T_functor, T_catcher, void>::catcher_
3473
3474 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
3475
3476         * sigc++/adaptors/macros/exception_catch.h.m4: Make member
3477         exception_catch_functor<T_functor, T_catcher, void>::catcher_
3478         public so that it can be accessed by visit_each()
3479         (bug fixed for generalization on 2004-11-06)
3480         ~
3481
3482 2005-08-17  Murray Cumming  <murrayc@src.gnome.org>
3483
3484         Increased version. Forgot to commit this a few days ago.
3485
3486 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
3487
3488         Updated the documentation for temp_slot_list as requested in bug #303896.
3489
3490 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
3491
3492         * sigc++/signal_base.h: Updated the documentation for temp_slot_list
3493         as requested in bug #303896.
3494
3495 2005-08-01  Murray Cumming  <murrayc@murrayc.com>
3496
3497         Added missing ) in call to sun_forte_workaround(), fixing build on SUN
3498
3499 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
3500
3501         * sigc++/adaptors/hide.h.m4: Added missing
3502         ) in call to sun_forte_workaround(), fixing
3503         build on SUN Forte 5.5. Bug #312020.
3504
3505 2005-08-01  Bruno Martinez  <brunom@fing.edu.uy>
3506
3507         Renamed ::sigc::is_base_and_derived::internal to
3508
3509         2005-08-19  Bruno Martinez <brunom@fing.edu.uy>
3510
3511         * sigc++/type_traits.h: Renamed
3512         ::sigc::is_base_and_derived::internal to
3513         ::sigc::is_base_and_derived::internal_class
3514         in order to avoid conflict with
3515         namespace internal.
3516
3517 2005-07-13  Murray Cumming  <murrayc@src.gnome.org>
3518
3519         fix typo.
3520
3521 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
3522
3523         Correct mentions of 1.2 stuff instead of 2.0. Patch in bug #310213 from
3524
3525 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
3526
3527         * docs/manual/libsigc_manual.xml: Correct mentions of
3528         1.2 stuff instead of 2.0. Patch in bug #310213 from
3529         pebble.org.uk.
3530
3531 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
3532
3533         Fixed typo found by Antonio Coralles.
3534
3535 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
3536
3537         * docs/manual/libsigc_manual.xml: Fixed typo
3538         found by Antonio Coralles.
3539
3540 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
3541
3542         Did the same (see last commit) for slot_const_iterator and
3543
3544 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
3545
3546         * sigc++/macros/signal.h.m4: Did the same (see
3547         last commit) for slot_const_iterator and
3548         slot_iterator_buf.
3549
3550 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
3551
3552         slot_iterator: operator--() now returns value, not reference, like
3553
3554 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
3555
3556         * sigc++/macros/signal.h.m4: slot_iterator:
3557         operator--() now returns value, not reference, like
3558         operator++() already did. This caused crashes when
3559         using --no-inline with g++. Bug #308651 by
3560         Michael Andres.
3561
3562 2005-07-04  Murray Cumming  <murrayc@src.gnome.org>
3563
3564         Increased version
3565
3566 2005-07-04  Philip Langdale  <plangdale@vmware.com>
3567
3568         Add a setter typedef to compose*_functor and use it instead of the
3569
3570 2005-07-04  Philip Langdale  <plangdale@vmware.com>
3571
3572         * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
3573         compose*_functor and use it instead of the (incorrect) getter
3574         typedef in the compose* specialization of visit_each<>().
3575         This corrects the lifetime management of slots created with
3576         compose(). Bug #308433.
3577
3578 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
3579
3580         Specify int return type for main(), to be more ISO C++ compliant. Bug
3581
3582 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
3583
3584         * tests/test_deduce_result_type.cc: Specify int return type
3585         for main(), to be more ISO C++ compliant. Bug #307478.
3586
3587 2005-06-13  Andris Pavenis  <pavenis@latnet.lv>
3588
3589         sigc++/adaptors/lambda/macros/select.h.m4 Specify only a type (not a
3590
3591         2005-06-11  Andris Pavenis <pavenis@latnet.lv>
3592
3593         * sigc++/adaptors/lambda/macros/base.h.m4:
3594         * sigc++/adaptors/lambda/macros/select.h.m4
3595         * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
3596         parameter name) for unused member function parameters
3597
3598 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
3599
3600         Add test for whether the compiler allows referencing to member functions
3601
3602 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
3603
3604         * configure.ac:
3605         * scripts/cxx.m4:
3606         * sigc++config.h.in: Add test for whether the compiler allows
3607         referencing to member functions of the class/structure being
3608         declared from a definition of a static member variable.
3609         Supposedly a generic solution for GCC 3.2 compilation problems.
3610
3611         * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
3612         results of the above test.
3613         (struct is_base_and_derived): Wrap up is_base_class_() functions
3614         in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
3615
3616 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
3617
3618         Use CALL_SIZE instead of hard-coded 7s and 6s.
3619
3620 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
3621
3622         * sigc++/adaptors/macros/bind.h.m4:
3623         * sigc++/functors/macros/slot.h.m4:
3624         * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
3625         hard-coded 7s and 6s.
3626
3627 2005-06-10  Murray Cumming  <murrayc@src.gnome.org>
3628
3629         Increased version
3630
3631 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
3632
3633         Make the limit_derived_target::with_type inner class an outer class, to
3634
3635 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
3636
3637         * sigc++/visit_each.h: Make the
3638         limit_derived_target::with_type inner class an outer class,
3639         to satisfy the SUN CC 5.7 compiler, though I think it is a
3640         compiler bug. Bug #302098 has the test case.
3641
3642 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
3643
3644         Make the limit_derived_target::with_type inner class an outer class, to
3645
3646 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
3647
3648         * sigc++/visit_each.h: Make the
3649         limit_derived_target::with_type inner class an outer class,
3650         to satisfy the SUN CC 5.7 compiler, though I think it is a
3651         compiler bug. Bug #302098 has the test case.
3652
3653 2005-06-09  Murray Cumming  <murrayc@src.gnome.org>
3654
3655         Increased version
3656
3657 2005-06-07  Murray Cumming  <murrayc@src.gnome.org>
3658
3659         Removed missing call to missing macro from configure.in
3660
3661 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
3662
3663         Specify the actual class when using test_int(), instead of the derived
3664
3665         2005-06-07  Murray Cumming <murrayc@murrayc.com>
3666
3667         * tests/test_compatibility.cc: Specify the actual class when
3668         using test_int(), instead of the derived class, to fix the build
3669         on SUN Forte CC 5.5. Patch from Friedemann Kleint in
3670         Bug #305647
3671
3672 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
3673
3674         signal_emit::emit(): Use scope to ensure a certain order of destruction of
3675
3676         2005-06-07  Murray Cumming <murrayc@murrayc.com>
3677
3678         * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
3679         ensure a certain order of destruction of the member variables, to
3680         avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
3681
3682 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
3683
3684         Added comments about commenting-out SIGC_TYPEDEF_REDEFINE_ALLOWED when
3685
3686         2005-06-07  Murray Cumming <murrayc@murrayc.com>
3687
3688         * sigc++/macros/signal.h.m4: Added comments about commenting-out
3689         SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
3690         because I can not seem to create a test for it.
3691
3692 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
3693
3694         Added check for the non-standard SUN Forte reverse_iterator<>, and used
3695
3696         2005-06-07  Murray Cumming <murrayc@murrayc.com>
3697
3698         * configure.ac:
3699         * scripts/cxx_std.m4:
3700         * sigc++/macros/signal.h.m4:
3701         * sigc++config.h.in: Added check for
3702         the non-standard SUN Forte reverse_iterator<>,
3703         and used it. This is based on the same stuff in
3704         gtkmm.
3705
3706 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
3707
3708         limit_derived_target(): Just some whitespace changes.
3709
3710         2005-06-07  Murray Cumming <murrayc@murrayc.com>
3711
3712         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
3713         changes.
3714
3715 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
3716
3717         limit_derived_target(): Just some whitespace changes.
3718
3719         2005-06-07  Murray Cumming <murrayc@murrayc.com>
3720
3721         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
3722         changes.
3723
3724 2005-06-04  Neal E. Coombes  <nealc@trdlnk.com>
3725
3726         Modified temp_slot_list to be a temporary view into a slot list. Instead
3727
3728 2005-05-16  Neal E. Coombes  <nealc@trdlnk.com>
3729
3730         * sigc++/signal_base.h:  Modified temp_slot_list to be a temporary view
3731         into a slot list.  Instead of emptying the original it now simply tacks
3732         a placeholder to the end of the original.  It then uses this as it's
3733         'end' iterator.  This should allow for conscious recursiveness, as well
3734         as inserting a slot to any position in the slot list during emittion.
3735         See bug #303896.
3736
3737 2005-06-04  Friedemann Kleint  <kleint@bifab.de>
3738
3739         visit_each() template specializations: Mention the bool
3740
3741         2005-06-04  Friedemann Kleint <kleint@bifab.de>
3742
3743         * sigc++/macros/limit_reference.h.m4:
3744         visit_each() template specializations:
3745         Mention the bool I_derives_trackable
3746         template type, to fix the build on Solaris
3747         Forte 5.5.
3748
3749 2005-05-10  Murray Cumming  <murrayc@src.gnome.org>
3750
3751         Increased version
3752
3753 2005-05-10  Murray Cumming  <murrayc@src.gnome.org>
3754
3755         Added missing include
3756
3757 2005-05-10  Régis Duchesne  <hpreg@vmware.com>
3758
3759         New class that just stores a reference, and makes sure that if the
3760
3761         2005-05-06  Régis Duchesne <hpreg@vmware.com>
3762
3763         * sigc++/macros/limit_reference.h.m4 (added):
3764         * sigc++/Makefile.am:
3765         New class that just stores a reference, and makes sure that if the
3766         reference derives from trackable, then the trackable reference will be
3767         used instead of the derived reference in visit_each().
3768         * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
3769         Régis Duchesne and Christian Hammond, based on the new limit_reference
3770         class.
3771         * sigc++/adaptors/bound_argument.h (added): New class (built upon the
3772         new limit_reference class) that handles all 3 kinds of bound arguments:
3773         by value, by reference, and by constant reference. References are
3774         unwrapped in the bound_argument's constructor.
3775         * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
3776         Duchesne. Bound arguments now need to know whether they are passed by
3777         reference or not. So bind() now builds bind_functor instances using
3778         'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
3779         bind_functor code is modified to compensate.
3780         * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
3781         bug (unfiled) with bound return arguments.
3782         * sigc++/reference_wrapper.h:
3783         * sigc++/type_traits.h:
3784         The reference_wrapper class is only used in bound_argument.h. Put
3785         correct but unused code under #if 0.
3786         * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
3787         but was incorrectly relying on type_traits.h to include it.
3788         * tests/Makefile.am:
3789         * tests/test_virtualbase_delete.cc (deleted):
3790         * tests/test_virtualbase_delete_ref_param.cc (deleted):
3791         * tests/test_limit_reference.cc (added):
3792         Replaced test_virtualbase_delete*.cc with a simpler
3793         test_limit_reference.cc which checks for all 3 aspects of the same bug
3794         in one file.
3795         * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
3796         this broken usage worked before this change. The change in
3797         type_traits.h made this bug obvious, by preventing the code to compile.
3798         * tests/test_bind_return.cc: After my change, bind() and bind_return()
3799         must use 'reference_wrapper<Foo>' types.
3800         * tests/test_custom.cc: Made this test a no-op (so it does not perturb
3801         'make check' on released versions of the library) and made it a
3802         template ready to be modified by hackers.
3803
3804 2005-05-04  Murray Cumming  <murrayc@src.gnome.org>
3805
3806         Added missing file
3807
3808 2005-05-01  Murray Cumming  <murrayc@src.gnome.org>
3809
3810         Added test case
3811
3812 2005-05-01  Murray Cumming  <murrayc@murrayc.com>
3813
3814         slot_base::slot_base(src): If the source slot_base has a null rep->call_,
3815
3816         2005-05-01  Murray Cumming <murrayc@murrayc.com>
3817
3818         * sigc++/functors/slot_base.cc:
3819         slot_base::slot_base(src): If the source
3820         slot_base has a null rep->call_, meaning that the
3821         slot is invalid, just return a default-constructed
3822         slot, to prevent the crash shown in
3823         tests/tests_copy_invalid_slot.cc. Bug #302515 by
3824         Régis Duchesne.
3825
3826 2005-05-01  Murray Cumming  <murrayc@src.gnome.org>
3827
3828         Added test
3829
3830 2005-05-01  Murray Cumming  <murrayc@murrayc.com>
3831
3832         bound_*<>: Add a new is_base_and_derived<sigc::trackable> parameter to the
3833
3834         2005-05-01  Murray Cumming <murrayc@murrayc.com>
3835
3836         * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
3837         Add a new is_base_and_derived<sigc::trackable>
3838         parameter to the template and thereby provide a
3839         specialization for T_Obj types that derive from
3840         sigc::trackable. This prevents a crash when casting
3841         from the derived type to sigc::trackable after the
3842         derived destructor has run. This cast can sometimes
3843         fail when using multiple inheritance, at least with
3844         g++. Bug #169225 by Régis Duchesne and Christian
3845         Hammond.
3846         * sigc++/type_traits.h: Add documenation for
3847         the internal is_base_and_derived<> template, which
3848         allows us to specialize other templates for certain
3849         template types.
3850
3851 2005-04-28  Murray Cumming  <murrayc@murrayc.com>
3852
3853         Added comments for users of g++ 3.2.
3854
3855         2005-04-28  Murray Cumming <murrayc@murrayc.com>
3856
3857         * sigc++/type_traits.h: Added comments for users of
3858         g++ 3.2.
3859
3860 2005-04-28  Murray Cumming  <murrayc@murrayc.com>
3861
3862         Added simplified test case from bug #169225. We have a patch to make this
3863
3864         2005-04-28  Murray Cumming <murrayc@murrayc.com>
3865
3866         * tests/Makefile.am:
3867         * tests/test_virtualbase_delete.cc: Added
3868         simplified test case from bug #169225. We have a patch
3869         to make this succeed but I am not ready to commit it
3870         just yet.
3871
3872 2005-04-27  Murray Cumming  <murrayc@murrayc.com>
3873
3874         Added a place to put extra test code, so I don't have to keep installing
3875
3876         2005-04-27  Murray Cumming <murrayc@murrayc.com>
3877
3878         * tests/Makefile.am:
3879         * tests/test_custom.cc:
3880         Added a place to put extra test code, so I don't have
3881         to keep installing my crazy libsigc++ versions.
3882
3883 2005-04-27  Murray Cumming  <murrayc@murrayc.com>
3884
3885         Revert back to the non-explicit template call, because we can not specify
3886
3887         2005-04-27  Murray Cumming <murrayc@murrayc.com>
3888
3889         * sigc++/visit_each.h: Revert back to the non-explicit
3890         template call, because we can not specify the
3891         template specialization so easily, because the
3892         specializations have different numbers of types.
3893         * tests/Makefile/am:
3894         * tests/test_bind_ref.cc: Add a simple test only for
3895         sigc::ref disconnection.
3896
3897 2005-04-26  Murray Cumming  <murrayc@murrayc.com>
3898
3899         Use the explicit template specialization, needed for Tru64 and AIX
3900
3901         2005-04-26  Murray Cumming <murrayc@murrayc.com>
3902
3903         * sigc++/visit_each.h: Use the explicit template
3904         specialization, needed for Tru64 and AIX compilers.
3905         This causes a crash in some uses of sigc::ref()
3906         (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
3907         seems to fix a crash in some uses of multiple inheritance
3908         (bug #169225).
3909         * tests/test_bind.cc: Comment out the crashing (not with
3910         g++ 3.4) use of sigc::ref() with an explanatory comment.
3911
3912 2005-04-25  Murray Cumming  <murrayc@src.gnome.org>
3913
3914         tiny comment change
3915
3916 2005-03-31  Murray Cumming  <murrayc@src.gnome.org>
3917
3918         Increased version
3919
3920 2005-03-18  Murray Cumming  <murrayc@murrayc.com>
3921
3922         Updated the list of supported compilers.
3923
3924         2005-03-18  Murray Cumming <murrayc@murrayc.com>
3925
3926         * index.shtml: Updated the list of supported
3927         compilers.
3928
3929 2005-03-18  Murray Cumming  <murrayc@murrayc.com>
3930
3931         Remove links to the sourceforge download page, because we do not use it.
3932
3933         2005-03-18  Murray Cumming <murrayc@murrayc.com>
3934
3935         * fragments/footer.html_fragment:
3936         * fragments/html_declaration.html_fragment:
3937         * link.shtml: Remove links to the sourceforge
3938         download page, because we do not use it.
3939         * notes.shtml: Removed this. It is not linked
3940         from anywhere anyway.
3941
3942 2005-03-09  Cedric Gustin  <cedric.gustin@swing.be>
3943
3944         Fixed typo in today's date.
3945
3946         2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
3947
3948         * ChangeLog: Fixed typo in today's date.
3949
3950 2005-03-09  Cedric Gustin  <cedric.gustin@swing.be>
3951
3952         Moved MSVC_Net2003 directory to SUBDIRS. Added blank.cpp to EXTRA_DIST.
3953
3954         2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
3955
3956         * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
3957         * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
3958         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
3959         test_accumulated and test_lambda projects as the tests are
3960         disabled in the standard, configure-based build.
3961         * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
3962         Generate a PDB file in the Debug target.
3963
3964 2005-03-04  Murray Cumming  <murrayc@murrayc.com>
3965
3966         Mention actual supported compilers. Removed broken examples links. Change
3967
3968 2005-03-05  Murray Cumming  <murrayc@murrayc.com>
3969
3970         * docs/website/stable.html: Mention actual supported compilers.
3971         * docs/website/docs.html: Removed broken examples links. Change
3972         reference link to the reference overview page.
3973
3974 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
3975
3976         Make slot_base::operator=() public, to fix the build with SUN Forte C++
3977
3978 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
3979
3980         * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
3981         fix the build with SUN Forte C++ 5.5 and Tru64.
3982
3983 2005-02-22  Murray Cumming  <murrayc@src.gnome.org>
3984
3985         Increased version
3986
3987 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
3988
3989         #included <new> to avoid an unresolved symbol error with the Tru64
3990
3991 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
3992
3993         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
3994         an unresolved symbol error with the Tru64 compiler. Solutio found by
3995         Tim Mooney in bug #161503.
3996
3997 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
3998
3999         #included <new> to avoid an unresolved symbol error with the Tru64
4000
4001 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
4002
4003         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
4004         an unresolved symbol error with the Tru64 compiler. Solutio found by
4005         Tim Mooney in bug #161503.
4006
4007 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
4008
4009         Add some documentation.
4010
4011 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
4012
4013         * sigc++/signal_base.h: Add some documentation.
4014
4015 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
4016
4017         Reset deferred_ flag to false in signal_impl::sweep() (Neal E. Coombes).
4018
4019 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
4020
4021         * sigc++/signal_base.cc: Reset deferred_ flag to false in
4022         signal_impl::sweep() (Neal E. Coombes). Partly fixes bug
4023         #167714.
4024
4025 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
4026
4027         Set the correct group in post-html.
4028
4029 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
4030
4031         * docs/manual/Makefile.am: Set the correct group in post-html.
4032
4033 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
4034
4035         Fix typo in url for reference docs. Found by James Lin.
4036
4037 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
4038
4039         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
4040         James Lin.
4041
4042 2005-02-11  Murray Cumming  <murrayc@src.gnome.org>
4043
4044         reverted stuff I did not mean to commit
4045
4046 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
4047
4048         Fix typo in url for reference docs. Found by James Lin.
4049
4050 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
4051
4052         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
4053         James Lin.
4054
4055 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
4056
4057         temp_slot_list::begin(), end(): Actually return the iterators.
4058
4059 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
4060
4061         * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
4062         return the iterators.
4063
4064 2005-02-04  Neal E. Coombes  <nealc@trdlnk.com>
4065
4066         Add temp_slot_list struct to facilitate allowing new connections to a
4067
4068         2005-02-03  Neal E. Coombes <nealc@trdlnk.com>
4069
4070         * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
4071         allowing new connections to a signal during an emittion without
4072         affecting that emittion.
4073         * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list
4074         to
4075         prevent connections made during an emittion from being called in
4076         the
4077         same emittion (which has the potential of causing things like
4078         infinite loops).  This guarantees an emittion will be finite, as
4079         well
4080         as maintaining any order of emittion guarantees that may have
4081         already
4082         been in place.
4083
4084 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
4085
4086         Updated NEWS
4087
4088 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
4089
4090         Increase version
4091
4092 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
4093
4094         Reenabled tests
4095
4096 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4097
4098         Add sigc::var<>() documentation, from Roger Ferrer Ibáñez in bug
4099
4100 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4101
4102         * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
4103         from Roger Ferrer Ibáñez in bug #149483.
4104
4105 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4106
4107         In the template specializations of visit_each(): As before, specify the
4108
4109 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4110
4111         * sigc++/adaptors/macros/compose.h.m4: In the template specializations
4112         of visit_each(): As before, specify the specific other template
4113         specializations of visit_each that we use. Needed by AIX.
4114         * tests/Makefile.am: Reenabled most tests, because AIX can now
4115         build them.
4116
4117 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4118
4119         [murrayc@localhost libsigc++2]$ more ChangeLog 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4120
4121         * sigc++/visit_each.h: visit_each_type(): Specify the specific
4122         template specialization of visit_each<>() to use. The AIX compiler,
4123         and possibly the Tru64 compiler, need this extra hint.
4124
4125 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4126
4127         Define bind_functor::operator() inline because the AIX compiler/linker
4128
4129 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4130
4131         * bind.h.m4: Define bind_functor::operator() inline because the AIX
4132         compiler/linker sometimes fails to find it when it is defined
4133         outside of the class.
4134
4135 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
4136
4137         2.0.8:
4138
4139 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
4140
4141         * sigc++/type_traits.h: is_base_and_derived: Added
4142         avoid_gcc3_warning_(), to avoid an incorrect warning when using
4143         g++ 3.3.5
4144
4145 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
4146
4147         is_base_and_derived: Added avoid_gcc3_warning_(), to avoid an incorrect
4148
4149 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
4150
4151         * sigc++/type_traits.h: is_base_and_derived: Added
4152         avoid_gcc3_warning_(), to avoid an incorrect warning when using
4153         g++ 3.3.5
4154
4155 2005-01-30  Liza Klerck  <liza@trdlnk.com>
4156
4157         Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
4158
4159 2005-01-28  Liza Klerck   <liza@trdlnk.com>
4160
4161         * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
4162         prefix to the nested use of visit_each(), to avoid ambiguity when
4163         using 2 versions of the libsigc++ API inside different namespace.
4164
4165 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
4166
4167         Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
4168
4169 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
4170
4171         * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
4172         prefix to the nested use of visit_each(), to avoid ambiguity when
4173         using 2 versions of the libsigc++ API inside different namespace,
4174         which is not very advisable anyway. Bug #165222 from
4175         liza at trdlnk.com.
4176
4177 2005-01-26  Murray Cumming  <murrayc@src.gnome.org>
4178
4179         Increased version
4180
4181 2005-01-25  Murray Cumming  <murrayc@src.gnome.org>
4182
4183         Updated NEWS
4184
4185 2005-01-24  Cedric Gustin  <cedric.gustin@swing.be>
4186
4187         Moved the SIGC_USING_STD macro definition out of the SIGC_CONFIGURE
4188
4189         2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
4190
4191         * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
4192         out of the SIGC_CONFIGURE section. We also need it for MSVC.
4193         * MSVC_Net2003/.cvsignore : Added .def and .aps files
4194         * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
4195         sigc++config.h (required for 'make distcheck').
4196         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
4197         test_disconnect_during_emit tests.
4198         * MSVC_Net2003/tests/test_disconnect_during_emit/*,
4199         MSVC_Net2003/tests/test_retype/*: Initial commit.
4200
4201 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4202
4203         Disabled the test_accumulator, test_bind, and test_compose tests, and part
4204
4205 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4206
4207         * tests/: Disabled the test_accumulator, test_bind, and test_compose
4208         tests, and part of test_mem_fun because the AIX xlC compiler can not
4209         build them, but it can still do most things, including the examples.
4210         See the comments in tests/Makefile.am.
4211
4212 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4213
4214         non-member operator()(): Specify the extra nil arguments in the templated
4215
4216 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4217
4218         * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
4219         extra nil arguments in the templated class name prefix. Oddly, the
4220         AIX xlC compiler says that the type of the first parameter does not
4221         match the template if you don't do this.
4222
4223 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4224
4225         is_base_and_derived struct: Move the is_base_class_() functions out of the
4226
4227 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4228
4229         * sigc++/type_traits.h: is_base_and_derived struct: Move the
4230         is_base_class_() functions out of the inner class, because the AIX
4231         xlC compiler does not like that - see the comments in the code.
4232         * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
4233         the template specializations, as in slot and signal.
4234
4235 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4236
4237         slot and signal template specialization for various numbers of template
4238
4239 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
4240
4241         * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
4242         slot and signal template specialization for
4243         various numbers of template args: In the class slot line, specify
4244         all the remaining template types as null, instead of expecting the
4245         compiler to guess them in itself. This partly fixes the build on
4246         AIX with the xlC compiler. Bug #164685.
4247
4248 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4249
4250         struct is_base_and_derived: Make the test inner struct a friend, so that
4251
4252 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4253
4254         * sigc++/type_traits: struct is_base_and_derived: Make the test inner
4255         struct a friend, so that it can use the big inner struct. This is
4256         required by the Tru64 compiler.
4257         * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
4258         definitions at the top, because Tru64 (understandably) needs them to
4259         be declared before use.
4260
4261 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4262
4263         Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
4264
4265 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4266
4267         * scripts/: Added cxx_std.m4, with a test copied from
4268         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
4269         namespace.
4270         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
4271         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
4272         is not there already,
4273         * configure.in: Used the new test.
4274         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
4275         This is needed by the Tru64 and HP-UX compilers when using their
4276         defaults.
4277
4278 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4279
4280         Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
4281
4282 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4283
4284         * scripts/: Added cxx_std.m4, with a test copied from
4285         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
4286         namespace.
4287         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
4288         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
4289         is not there already,
4290         * configure.in: Used the new test.
4291         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
4292         This is needed by the Tru64 and HP-UX compilers when using their
4293         defaults.
4294
4295 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4296
4297         AC_INIT(): Provide the extra tarball name parameter, so that it does not
4298
4299 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4300
4301         * configure.in: AC_INIT(): Provide the extra tarball name parameter,
4302         so that it does not create a libsigc--- tarball.
4303
4304 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4305
4306         AC_INT(): Use libsigc++ instead of sigc++, attempting to get the correct
4307
4308 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
4309
4310         * configure.in: AC_INT(): Use libsigc++ instead of sigc++, attempting
4311         to get the correct tarball name.
4312
4313 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
4314
4315         Used the autoconf 2.93 and AM_INIT_AUTOMAKE() technique to specify ustar
4316
4317 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
4318
4319         * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
4320         technique to specify ustar format for the tarball, to prevent files
4321         with long file names from appearing at the top of the tarball.
4322         Based on the same fix in gtkmm 2.6.
4323
4324 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
4325
4326         Specify the base class when using the rep_ member variable. This stops the
4327
4328 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
4329
4330         * sigc++/functors/macros/slot_h.m4: Specify the base class when
4331         using the rep_ member variable. This stops the HP-UX aCC compiler
4332         from saying that a Nonstatic member  is referenced in a nested class,
4333         local class or static member initializer. Bug #150719.
4334
4335 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
4336
4337         Bug #159597 - patch from e97_far at e.kth.se to replace C-style casts with
4338
4339 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
4340
4341         * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
4342         casts with reinterpret_cast<> and static_cast<> to avoid warnings.
4343
4344 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
4345
4346         Specifying html/index.html instead of just the html directory as a target
4347
4348 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
4349
4350         * docs/manual/Makefile.am: Specifying html/index.html instead of
4351         just the html directory as a target seems to fix distcheck problems.
4352         I can also now confirm that the install works on solaris, when using
4353         gmake, though not when using make.
4354
4355 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
4356
4357         Add built files to DISTCLEANFILES to fix the distcheck. Specify in paths,
4358
4359 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
4360
4361         * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
4362         the distcheck.
4363         * docs/reference/Makefile.am, manual/Makefile.am: Specify  in
4364         paths, to fix distcheck of the manual, and maybe fix install problems
4365         on Solaris.
4366
4367 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
4368
4369         Updated the text about binary packages. Link to the 2.0 documentation
4370
4371 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
4372
4373         * docs/website/stable.html: Updated the text about binary packages.
4374         * docs/website/docs.html: Link to the 2.0 documentation instead of the
4375         1.2 documentation.
4376
4377 2005-01-11  GregSchussman  <schussman@slac.stanford.edu>
4378
4379         Clean up punctuation, make definitions complete sentences, and add
4380
4381 2004-12-17  GregSchussman  <schussman@slac.stanford.edu>
4382
4383         * glossary.shtml: Clean up punctuation, make definitions complete
4384         sentences, and add clarifications for certain definitions according to
4385         what Murray Cumming's suggestions and answers to my questions.
4386         Bug #161580.
4387
4388 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
4389
4390         Added manual, copied from the libsigc++-1.2 cvs module, and updated it for
4391
4392 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
4393
4394         * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
4395         and updated it for the new 2.0 API.
4396
4397 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
4398
4399         Added website, copied from the libsigc++-1.2 cvs module. We will use it
4400
4401 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
4402
4403         * docs/: Added website, copied from the libsigc++-1.2 cvs module.
4404         We will use it from here from now on.
4405
4406 2004-12-12  Cedric Gustin  <cedric.gustin@swing.be>
4407
4408         parse version tags at configure time (for sigc-2.0.rc). New resource file.
4409
4410         2004-12-11  Cedric Gustin <cedric.gustin@swing.be>
4411
4412         * configure.ac : parse version tags at configure time (for
4413         sigc-2.0.rc).
4414         * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
4415         * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
4416
4417 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
4418
4419         get sigc++config.h from $(top_builddir) instead of $(top_srcdir).
4420
4421         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
4422
4423         * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
4424         instead of $(top_srcdir).
4425
4426 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
4427
4428         copy sigc++config.h from $(top_srcdir) at build time. sigc++config.h
4429
4430         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
4431
4432         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
4433         at build time. sigc++config.h removed from CVS.
4434
4435 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
4436
4437         Renamed libsigc++ target to sigc-2.0d.dll (Debug) and sigc-2.0.dll
4438
4439         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
4440
4441         * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
4442         sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
4443         $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
4444         Directories" in tests projects.
4445         * sigc++config.h.in: Rewrote dllexport/dllimport macros for
4446         MSVC, for better consistency with glibmm/gtkmm.
4447         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
4448         at build time.
4449
4450 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
4451
4452         Revert the AC_PROG_LIBTOOL change, so that this builds with actually
4453
4454 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
4455
4456         * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
4457         with actually released libtool versions, and in jhbuild, so that it
4458         gets testing.
4459
4460 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
4461
4462         Make catcher_ member public so that it can be accessed by visit_each()
4463
4464 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
4465
4466         * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_
4467         member
4468         public so that it can be accessed by visit_each() (bug reported
4469         on
4470         ml by Philip Langdale <plangdale@vmware.com>).
4471
4472 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
4473
4474         Link with the "multithreaded DLL" runtime libraries and enable RTTI for
4475
4476 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
4477
4478         *
4479         MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL"
4480         runtime
4481         libraries and enable RTTI for the MSVC build
4482         (patch from Timothy M. Shead <tshead@k-3d.com>).
4483         * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
4484         (patch from Timothy M. Shead <tshead@k-3d.com>).
4485
4486 2004-10-12  Martin Schulze  <mschulze@src.gnome.org>
4487
4488         Update ChangeLog (add '2.0.6:').
4489
4490 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
4491
4492         Fix project files to compile out-of-the-box and add dummy file so that .cc
4493
4494 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
4495
4496         * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project
4497         files
4498         to compile out-of-the-box and add dummy file so that .cc files
4499         get
4500         recognized as c++ code files (patch from Timothy M. Shead).
4501
4502 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
4503
4504         If SIGC_NEW_DELETE_IN_LIBRARY_ONLY is defined, implement
4505
4506         2004-10-10  Martin Schulze <mschulze@cvs.gnome.org>
4507
4508         * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
4509         sigc++/functors/macros/slot.h.m4: If
4510         SIGC_NEW_DELETE_IN_LIBRARY_ONLY
4511         is defined, implement signal_base::operator new/delete and
4512         slot_rep::operator new/delete (suggested by Timothy M. Shead).
4513         Remove old work-around from 2004-10-02 since it didn't work.
4514
4515 2004-10-07  Martin Schulze  <mschulze@cvs.gnome.org>
4516
4517         Update for libtool 1.5a (with support for Intel C++). Remove bogus
4518
4519         2004-10-07  Martin Schulze <mschulze@cvs.gnome.org>
4520
4521         * configure.ac: Update for libtool 1.5a (with support for Intel C++).
4522         * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
4523         (reported by Timothy M. Shead <tshead@k-3d.com>).
4524
4525 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
4526
4527         Bump version number to 2.0.6. Add ChangeLog summary for version 2.0.6.
4528
4529         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
4530
4531         * configure.ac: Bump version number to 2.0.6.
4532         * NEWS: Add ChangeLog summary for version 2.0.6.
4533
4534 2004-10-02  Martin Schulze  <mschulze@src.gnome.org>
4535
4536         Update tests/.cvsignore (Martin)
4537
4538 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
4539
4540         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. Call the
4541
4542         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
4543
4544         * sigc++/functors/slot_base.{h,cc},
4545         sigc++/functors/macros/slot.h.m4:
4546         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
4547         Call the dtor of the functor stored in typed_slot_rep from
4548         destroy().
4549         A cleaner solution would be to add an additional "virtual"
4550         function
4551         that calls 'delete' or a real virtual dtor. However, this would
4552         be
4553         less efficient and might break the ABI. (Fixes #152323.)
4554
4555 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
4556
4557         Define and use new macro SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly
4558
4559         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
4560
4561         * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
4562         sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
4563         sigc++/functors/macros/slot.h.m4: Define and use new macro
4564         SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
4565         all calls to new and delete into non-inline library code.
4566
4567 2004-09-26  Martin Schulze  <mschulze@cvs.gnome.org>
4568
4569         Add a missing template keyword in the definition of
4570
4571         2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
4572
4573         * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
4574         template keyword in the definition of deduce_result_type::type
4575         (hopefully fixes #152327).
4576
4577 2004-09-26  Martin Schulze  <mschulze@cvs.gnome.org>
4578
4579         Use correct bound_mem_functor variants for const (volatile) methods (fixes
4580
4581         2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
4582
4583         * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
4584         variants for const (volatile) methods (fixes #148744).
4585
4586 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
4587
4588         Correct link to lambda module.
4589
4590         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
4591
4592         * docs/index.html: Correct link to lambda module.
4593
4594 2004-09-01  Martin Schulze  <mschulze@src.gnome.org>
4595
4596         update .cvsignore
4597
4598 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
4599
4600         Update compatibility section.
4601
4602         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
4603
4604         * README: Update compatibility section.
4605
4606 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
4607
4608         2.0.5:
4609
4610         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
4611
4612         * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
4613         * configure.ac: Bump version number to 2.0.5.
4614         * NEWS: Add ChangeLog summary for version 2.0.5.
4615
4616 2004-08-21  Martin Schulze  <mschulze@cvs.gnome.org>
4617
4618         Use sigc::var("\n") instead of sigc::ref("\n"). Comment out the affected
4619
4620         2004-08-21  Martin Schulze <mschulze@cvs.gnome.org>
4621
4622         * tests/test_lambda.cc: Use sigc::var("\n") instead of
4623         sigc::ref("\n").
4624         Comment out the affected lines, nevertheless.
4625         Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
4626         sigc::var("\n"). I see more chances fixing sigc::var("\n").
4627         * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
4628         possible work around for sigc::var("\n") compiler problems.
4629         * tests/test_compatibility.cc: Remove a 'const' keyword that
4630         prevents
4631         the test case from compiling with the Sun FORTE.
4632         * tests/test_trackable.cc: Remove a 'virtual' keyword and an
4633         unused
4634         variable to avoid compiler warnings.
4635         * NEWS: Add ChangeLog summary for version 2.0.4.
4636
4637 2004-08-09  Murray Cumming  <murrayc@src.gnome.org>
4638
4639         tiny ChangeLog fix
4640
4641 2004-08-04  James Lin  <slimjimmy@mail.com>
4642
4643         Added SIGC_API qualifier to all externally-visible non-template
4644
4645         2004-08-03  James Lin <slimjimmy@mail.com>
4646
4647         * Added SIGC_API qualifier to all externally-visible
4648         non-template
4649         classes/structs.
4650         * Added #include <sigc++config.h> to the files that use
4651         SIGC_API.
4652         * Added empty SIGC_API definition to sigc++config.h.in for
4653         non-MSVC
4654         compilers.  I'm not sure if this is the right place to put this
4655         (probably not).
4656         * Added MSVC-specific sigc++config.h to the MSVC project
4657         directory.
4658         (The comment in it probably should be edited.)
4659         * Changed MSVC project settings to output a multi-threaded DLL,
4660         set
4661         the include paths to work (hopefully) out-of-the-box.  Disabled
4662         precompiled headers, since they just complicate things and
4663         shouldn't be necessary for such a relatively project.
4664
4665 2004-08-03  James Lin  <slimjimmy@mail.com>
4666
4667         Added SIGC_API qualifier to all externally-visible non-template
4668
4669         2004-08-03  James Lin <slimjimmy@mail.com>
4670
4671         * Added SIGC_API qualifier to all externally-visible
4672         non-template
4673         classes/structs.
4674         * Added #include <sigc++config.h> to the files that use
4675         SIGC_API.
4676         * Added empty SIGC_API definition to sigc++config.h.in for
4677         non-MSVC
4678         compilers.  I'm not sure if this is the right place to put this
4679         (probably not).
4680         * Added MSVC-specific sigc++config.h to the MSVC project
4681         directory.
4682         (The comment in it probably should be edited.)
4683         * Changed MSVC project settings to output a multi-threaded DLL,
4684         set
4685         the include paths to work (hopefully) out-of-the-box.  Disabled
4686         precompiled headers, since they just complicate things and
4687         shouldn't be necessary for such a relatively project.
4688
4689 2004-08-01  Martin Schulze  <mschulze@cvs.gnome.org>
4690
4691         Remove type_trait<>::instance() (was unimplemented and unused; caused
4692
4693         2004-08-01  Martin Schulze <mschulze@cvs.gnome.org>
4694
4695         * sigc++/type_traits.h: Remove type_trait<>::instance()
4696         (was unimplemented and unused; caused problems with the MSVC).
4697
4698 2004-07-23  Martin Schulze  <mschulze@cvs.gnome.org>
4699
4700         Fix typo concerning distribution of libsigc++-2.0.spec. Mention our
4701
4702         2004-07-23  Martin Schulze <mschulze@cvs.gnome.org>
4703
4704         * Makefile.am: Fix typo concerning distribution of
4705         libsigc++-2.0.spec.
4706         * AUTHORS: Mention our contributors for platforms Sun FORTE and
4707         Intel C++.
4708
4709 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
4710
4711         Don't call operator()() in sun_forte_workaround(); rather copy
4712
4713         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
4714
4715         * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
4716         operator()(). Calling operator()() makes a copy of the arguments causing
4717         wrong results if an argument type is a reference. Hopefully fixes #147311.
4718
4719 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
4720
4721         Break "std::cout << [expr] << a << std::endl;" into "std::cout << [expr];
4722
4723         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
4724
4725         * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
4726         into "std::cout << [expr]; std::cout << a << std::endl;".
4727         I hope this fixes #147313 where the right values for "[expr]" but wrong
4728         values for "a" were written to std::cout for some compiler with optimizations
4729         turned off.
4730
4731 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
4732
4733         Correct return type deduction of lambda expressions in
4734
4735         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
4736
4737         * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
4738         of lambda expressions in lambda_operator*::operator()(). Might be related to
4739         bug #147313.
4740         * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
4741
4742 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
4743
4744         Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
4745
4746         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
4747
4748         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
4749         sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
4750         Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
4751         compiler problem (bug #147391). Use it to decide whether the lambda
4752         action operators may be overloaded (not doing so restricts the API slightly).
4753         * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
4754         and remove attic code.
4755         * sigc++/adaptors/lambda/macros/base.h.m4:
4756         Add templates unwrap_lambda_type and unwrap_lambda_value() to support
4757         the non-overloaded lambda action operators. Also add some doxygen comments
4758         and remove attic code.
4759         * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
4760         gargabe values being passed on to the functor contained in the group adaptor
4761         (partly fixes #147313).
4762
4763 2004-07-11  Martin Schulze  <mschulze@cvs.gnome.org>
4764
4765         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD into
4766
4767         2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
4768
4769         * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
4770         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
4771         into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
4772         and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
4773         Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
4774         SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure
4775         checks.
4776         Should fix the compiler problems with MSVC.
4777
4778 2004-07-11  Martin Schulze  <mschulze@cvs.gnome.org>
4779
4780         Use sigc::ptr_fun instead of std::ptr_fun. (fixes bug #144846)
4781
4782         2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
4783
4784         * examples/hello_world.cc: Use sigc::ptr_fun instead of
4785         std::ptr_fun.
4786         (fixes bug #144846)
4787
4788 2004-07-11  Eric Bourque  <ericb@computer.org>
4789
4790         new file patched generate spec file ignore generated file (Martin Schulze)
4791
4792         2004-07-11  Eric Bourque <ericb@computer.org>
4793
4794         * libsigc++-2.0.spec.in: new file
4795         * configure.ac : patched generate spec file
4796         * .cvsignore: ignore generated file (Martin Schulze)
4797         * Makefile.am: distribute spec file (Martin Schulze)
4798
4799 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
4800
4801         Added some comments. operator=(): Check for self-asignment, though I do
4802
4803 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
4804
4805         * sigc++/connection.cc: Added some comments.
4806         * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
4807         do not know of any actual bug that this fixes. Added some comments.
4808         * sigc++/trackable.h Added some doxygen documentation.
4809
4810 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
4811
4812         Added test_disconnect_during_emit.cc, to prove that this works.
4813
4814 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
4815
4816         * tests/: Added test_disconnect_during_emit.cc, to prove that this
4817         works.
4818
4819 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
4820
4821         foo::operator(int): return a value. The SUN Forte 5.5 compiler complains
4822
4823 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
4824
4825         * sigc++/tests/test_retype_return.cc: foo::operator(int): return a
4826         value. The SUN Forte 5.5 compiler complains about this, as it should.
4827
4828 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
4829
4830         class signal*: Rename the slot_list typedef to slot_list_type, because
4831
4832 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
4833
4834         * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
4835         typedef to slot_list_type, because there is already a template class
4836         called slot_type. SUN Forte 5.5 seems to complain about this and I am
4837         not surprised. The old typdef is still there for backwards
4838         compatibility, except when building with SUN Forte.
4839
4840 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
4841
4842         SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): Don't define the
4843
4844 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
4845
4846         * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
4847         Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
4848         macro at all if the test fails. This might fix the build on SUN Forte.
4849         * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
4850         the func_ptr_ member variable. I have no evidence that this solves any
4851         problems, but it worried me.
4852         * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
4853         to use @code instead of <code>
4854         * sigc++/macros/signal.h.m4: Remove the documentation for the
4855         parameters named first and last, because they do not exist.
4856
4857 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
4858
4859         Add '--force'-flag to the 'libtoolize'-command (bug #143425).
4860
4861 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
4862
4863         * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
4864
4865 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
4866
4867         Bump version number to 2.0.3. Add ChangeLog summary for version 2.0.3. Fix
4868
4869 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
4870
4871         * configure.ac: Bump version number to 2.0.3.
4872         * NEWS: Add ChangeLog summary for version 2.0.3.
4873         * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected sig
4874         nal.
4875         * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected sign
4876         al.
4877         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
4878         dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
4879
4880 2004-05-23  Martin Schulze  <mschulze@cvs.gnome.org>
4881
4882         Bump version number to 2.0.2. Add ChangeLog summary for version 2.0.2.
4883
4884 2004-05-22  Martin Schulze  <mschulze@cvs.gnome.org>
4885
4886         * configure.ac: Bump version number to 2.0.2.
4887         * NEWS: Add ChangeLog summary for version 2.0.2.
4888
4889 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
4890
4891         If a custom accumulator is specified invoke it on signal emission even if
4892
4893 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
4894
4895         * sigc++/macros/signal.h.m4: If a custom accumulator is specified
4896         invoke it on signal emission even if the signal's slot list is empty.
4897         (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
4898
4899 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
4900
4901         Suppress compiler warning at dynamic_cast<>-test (suggested by Timothy M.
4902
4903 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
4904
4905         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
4906         dynamic_cast<>-test (suggested by Timothy M. Shead).
4907
4908 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
4909
4910         Updated for libsigc++-2.0.
4911
4912 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
4913
4914         * README: Updated for libsigc++-2.0.
4915
4916 2004-04-28  Martin Schulze  <mschulze@cvs.gnome.org>
4917
4918         Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.
4919
4920 2004-04-27  Martin Schulze  <mschulze@cvs.gnome.org>
4921
4922         * configure.ac: Bump version number to 2.0.1.
4923         * NEWS: Add ChangeLog summary for version 2.0.1.
4924         * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
4925         * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
4926         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
4927         sigc++/adaptors/macros/bind.h.m4: Removed configure     check. It
4928         showed that the Apple gcc can also compile the sophisticated version
4929         of the work-around.
4930
4931 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
4932
4933         Modified test for SigC::Object inheritance so that it also works if
4934
4935 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
4936
4937         * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
4938         inheritance so that it also works if SigC::Object is virtual base.
4939         (Fixes bug 141094 reported by Jonathan Brandmeyer)
4940
4941 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
4942
4943         Updated the configure check. It would probably have succeeded on the
4944
4945 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
4946
4947         * scripts/cxx.m4: Updated the configure check. It would probably
4948         have succeeded on the Apple.
4949
4950 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
4951
4952         Add work-arounds for bind<-1>::deduce_result_type compilation error on
4953
4954 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
4955
4956         * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
4957         bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
4958         * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
4959         check for the compilation error above.
4960         * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
4961         _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
4962         (fixes bug #10444 reported by Spundun Bhatt)
4963
4964 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
4965
4966         Fixed serious bug in signal_base::impl(): Only reference a newly created
4967
4968 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
4969
4970         * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
4971         Only reference a newly created object (initial reference).
4972         (This fixes bug #140269 reported by Andris.)
4973
4974 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
4975
4976         Updated the operator() template check, because it failed with gcc 3.4
4977
4978 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
4979
4980         * scripts/cxx.m4: Updated the operator() template check, because it
4981         failed with gcc 3.4 (from cvs). Apparently the template keyword can
4982         only be used from another template.
4983
4984 2004-04-12  Martin Schulze  <mschulze@cvs.gnome.org>
4985
4986         Bump version number to 2.0.0. Add ChangeLog summary for version 2.0.0.
4987
4988 2004-04-06  Martin Schulze  <mschulze@cvs.gnome.org>
4989
4990         * configure.ac: Bump version number to 2.0.0.
4991         * NEWS: Add ChangeLog summary for version 2.0.0.
4992         * TODO, AUTHORS: Bring up to date.
4993         * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
4994         * Added more documentation.
4995
4996 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
4997
4998         Implement blocked() to avoid undefined symbol linker error.
4999
5000 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
5001
5002         * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
5003         symbol linker error.
5004
5005 2004-04-07  Murray Cumming  <murrayc@murrayc.com>
5006
5007         dist the scripts directory.
5008
5009 2004-04-08  Murray Cumming  <murrayc@murrayc.com>
5010
5011         * dist the scripts directory.
5012
5013 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
5014
5015         Bump version number to 1.9.16. Add ChangeLog summary for version 1.9.16.
5016
5017 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
5018
5019         * configure.ac: Bump version number to 1.9.16.
5020         * NEWS: Add ChangeLog summary for version 1.9.16.
5021
5022 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
5023
5024         Make block() and unblock() always return a value, to fix compiler
5025
5026 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
5027
5028         * sigc++/connection.cc: Make block() and unblock() always return a
5029         value, to fix compiler warnings. Patch from bug #138620 by
5030         Alexander Nedotsukov.
5031
5032 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
5033
5034         * Fix the compile of examples/member_method.cc. Bug #131701 from
5035         Kirill Smelkov. I also made the examples build as part of the regular
5036         build.
5037
5038 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
5039
5040         Remove every undef apart from the one we need, to avoid clashes, because
5041
5042 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
5043
5044         * sigc++config.h.m4: Remove every undef apart from the one we need, to
5045         avoid clashes, because we #include this in a public header.
5046
5047 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
5048
5049         Rename the template_keyword check to template_specialization, because the
5050
5051 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
5052
5053         * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
5054         template_keyword check to template_specialization, because the problem
5055         is with or without the keyword.
5056         * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
5057         SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
5058         sun_forte_workaround() depending on the result of the compiler test.
5059         * many .m4 files: Add sun_forte_workaround methods that call the
5060         operator() methods. Put them in #ifdefs so that only SUN Forte C++
5061         sees them.
5062
5063 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
5064
5065         Fix the sigc++config.h.in disting, to fix make distcheck.
5066
5067 2004-03-22  Murray Cumming  <murrayc@murrayc.com>
5068
5069         * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
5070         to fix make distcheck.
5071
5072 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
5073
5074         Rename config.h.in to sigc++config.h.in so that gtkmm does not include
5075
5076 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
5077
5078         * Rename config.h.in to sigc++config.h.in so that gtkmm does not
5079         include some other config.h at strange times - fixes a problem in
5080         the gtkmm demos. This should really be in the sigc++ directory, but
5081         that seems to add that as an include path, which causes the STL
5082         headers to include sigc++/signal.h instead of some STL signal.h header.
5083
5084 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
5085
5086         Install the config.h platform-specific header. Report the include path for
5087
5088 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
5089
5090         * Makefile.am: Install the config.h platform-specific header.
5091         * sigc++-2.0.pc.in: Report the include path for config.h
5092
5093 2004-03-19  Murray Cumming  <murrayc@murrayc.com>
5094
5095         Added config.h.in, using autoheader, from which config.h will be
5096
5097 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
5098
5099         * Added config.h.in, using autoheader, from which config.h will be
5100         generated, so we can detect compiler features.
5101         * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
5102         from config.h.in.
5103         * scripts/cxx.m4: Added this directory and file, with a
5104         SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
5105         the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
5106         * autogen.sh: Added -I scripts to the aclocal call, so that it finds
5107         the m4 macro for configure.ac.
5108         * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
5109         use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
5110
5111 2004-03-17  Martin Schulze  <mschulze@cvs.gnome.org>
5112
5113         Don't test making functors from overloaded methods with partial template
5114
5115 2004-03-18  Martin Schulze  <mschulze@cvs.gnome.org>
5116
5117         * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
5118         making functors from overloaded methods with partial template
5119         specialization. Not portable among different compilers (SUN FORTE).
5120         * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
5121         notation A.template operator()<...>(...) => adapt preprocessor check
5122         for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
5123
5124 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
5125
5126         slot_iterator_buf::operator*(): Use blocked() and empty() instead of
5127
5128 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
5129
5130         * g++ 3.4 (pre-release) build fixes:
5131         * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
5132         Use blocked() and empty() instead of non-existant blocked_and_empty().
5133         * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
5134         Use this->func_ptr_ instead of just func_ptr_.
5135         * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
5136         T_functor::template deduce_result_type<> instead of just
5137         T_functor::deduce_result_type<>.
5138         * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
5139         Use template keyword again. operator[](): Use this->value_ instead of
5140         just value_.
5141         * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
5142         this-> again.
5143         * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
5144         exception_catch.h.m4:
5145         rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
5146
5147 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
5148
5149         Bump version number to 1.9.15. Add ChangeLog summary for version 1.9.15.
5150
5151 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
5152
5153         * configure.ac: Bump version number to 1.9.15.
5154         * NEWS: Add ChangeLog summary for version 1.9.15.
5155
5156 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
5157
5158         Make the unnumbered slot templates' copy ctors use the copy ctors of the
5159
5160 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
5161
5162         * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
5163         copy ctors use the copy ctors of the base class. Fixes bug #24698.
5164         * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
5165
5166 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
5167
5168         Bring it up-to-date (use sigc::ref). Make it work with the SUN Forte.
5169
5170 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
5171
5172         * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
5173         Make it work with the SUN Forte.
5174
5175 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
5176
5177         Make is_base_and_derived<> work with the SUN Forte.
5178
5179 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
5180
5181         * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
5182
5183 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
5184
5185         Make is_base_and_derived<> platform independant. Make lambda_core<> ctors
5186
5187 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
5188
5189         * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
5190         * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
5191         explicit. Remove an unused ctor from lambda_core<T_type, true>.
5192
5193 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
5194
5195         Move some documentation to slot_base.h. Move some documentation to
5196
5197 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
5198
5199         * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
5200         Move some documentation to slot_base.h.
5201         * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
5202         Move some documentation to signal_base.h.
5203
5204         API addition:
5205         * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
5206         Make unnumbered slot templates inherit from slot#.
5207
5208         API change:
5209         * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
5210         base types to be passed into sigc::mem_fun(). (Used to be the case in
5211         libsigc++-1.2).
5212
5213 2004-02-13  Murray Cumming  <murrayc@usa.net>
5214
5215         Create and use a typedef for the destroy_notify callback functions, to
5216
5217 2004-02-13  Murray Cumming  <murrayc@usa.net>
5218
5219         * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
5220         and use a typedef for the destroy_notify callback functions, to avoid
5221         confusion function pointer declaration syntax in the API.
5222
5223 2004-02-13  Murray Cumming  <murrayc@murrayc.com>
5224
5225         * Moved implementation to .cc files:
5226         * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
5227         code that was previsouly in the generated functors/slot.h and
5228         non-generated slot.cc files. All non-inline implementation is now in
5229         the .cc file.
5230         * sigc++/functors/macros/slot.m4: Removed the code that has been moved
5231         to slot_base.[h|cc].
5232         * sigc++/: Added signal_base.[h|cc] which contains non-template code
5233         that was previously in the generated signal.h and non-generated
5234         signal.cc file. All non-inline implementation is now in the .cc file.
5235         * sigc++/macros/signal.m4: Removed the code that ahs been moved to
5236         signal.cc
5237         * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
5238
5239 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
5240
5241         Bump version number to 1.9.14. Add ChangeLog summary for version 1.9.14.
5242
5243 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
5244
5245         * configure.ac: Bump version number to 1.9.14.
5246         * NEWS: Add ChangeLog summary for version 1.9.14.
5247
5248 2004-02-10  Murray Cumming  <murrayc@usa.net>
5249
5250         slot_base: Added operator bool(), needed to check for a slot that is
5251
5252 2004-02-09  Murray Cumming  <murrayc@usa.net>
5253
5254         * sigc++/macros/slot.h.m4: slot_base: Added operator bool(), needed to
5255         check for a slot that is created with the default constructor. This was
5256         present in libsigc++ 1.2 also.
5257
5258 2004-02-06  Murray Cumming  <murrayc@usa.net>
5259
5260         Build the docs directory, by adding it to SUBDIRS. Updated to be more
5261
5262 2004-02-06  Murray Cumming  <murrayc@usa.net>
5263
5264         * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
5265         * docs/Doxyfile.in: Updated to be more glibmm-like.
5266         * Added some @deprecated doxygen bits.
5267         * sigc++/macros/signal.h.m4: Call base constructor from signal_base
5268         constructor - this is an error-as-warning when building gtkmm.
5269
5270 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
5271
5272         Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
5273
5274 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
5275
5276         * configure.ac: Bump version number to 1.9.13.
5277         * NEWS: Add ChangeLog summary for version 1.9.13.
5278         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
5279         Distribute MS .Net project files.
5280         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
5281         documentation. Make hide_functor ctor explicit.
5282
5283 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
5284
5285         Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
5286
5287 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
5288
5289         * configure.ac: Bump version number to 1.9.13.
5290         * NEWS: Add ChangeLog summary for version 1.9.13.
5291         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
5292         Distribute MS .Net project files.
5293         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
5294         documentation. Make hide_functor ctor explicit.
5295
5296 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
5297
5298         Change to zero-based argument index in numbered bind() and hide() overload
5299
5300 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
5301
5302         * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
5303         argument index in numbered bind() and hide() overload
5304         (Agreement on the mailing list).
5305         Support binding up to CALL_SIZE arguments with one bind adaptor.
5306         (Requested by joey yandle and others).
5307         Only support binding of multiple arguments in unnumberd overloads
5308         to keep the API simple (Requested by Murray Cumming).
5309         * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
5310         Reflect API changes in compatibility module and test cases.
5311
5312 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
5313
5314         Add unnumbered bind() and hide() overloads to make specifying the argument
5315
5316 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
5317
5318         * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
5319         bind() and hide() overloads to make specifying the argument
5320         position optional (Proposed by Jeff Franks).
5321         * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
5322         * sigc++/adaptors/macros/adaptor_trait.h.m4:
5323         Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
5324
5325 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
5326
5327         Change functor type in typed_slot_rep to
5328
5329 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
5330
5331         * sigc++/functors/macros/slot.h.m4: Change functor type in
5332         typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
5333         and use explicit function template instantiation in
5334         internal::slot_call::call_it(). Avoids copying of arguments
5335         in call_it() and enables binding of object instances
5336         to class methods through bind() (Reported by Jeff Franks).
5337         * tests/test_bind.cc: Test binding object instances to
5338         class methods through bind().
5339         * sigc++/adaptors/adaptors.h: Include retype[_result].h.
5340         * sigc++/adaptors/macros/adaptor_trait.h.m4:
5341         - Add documentation.
5342         - Mark some c-tors as explicit.
5343         - Remove ununsed operator T_functor&() from adaptor_functor.
5344         * sigc++/adaptors/macros/deduce_result_type.h.m4:
5345         Rewrite parts of the documentation.
5346         * sigc++/adaptors/macros/bind.h.m4: Add documentation.
5347         * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
5348         explicit markers. Minor fixes to documentation.
5349         * sigc++/functors/macros/functor_trait.h.m4:
5350         Minor fixes to documentation.
5351
5352 2003-11-04  Martin Schulze  <teebaum@cvs.gnome.org>
5353
5354         Bump version number to 1.9.12. Add ChangeLog summary for version 1.9.12.
5355
5356 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
5357
5358         * configure.ac: Bump version number to 1.9.12.
5359         * NEWS: Add ChangeLog summary for version 1.9.12.
5360
5361 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
5362
5363         Document accumulators. Move slot_iterator_buf into namespace internal.
5364
5365 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
5366
5367         * sigc++/macros/signal.h.m4: Document accumulators.
5368         Move slot_iterator_buf into namespace internal. Since
5369         accumulators have the iterator type as a template argument
5370         there is no need to expose this very internal type.
5371         * sigc++/functors/macros/*.m4: Regroup documentation.
5372         Documentation of the core parts of the library should be
5373         complete by now.
5374
5375 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5376
5377         Improve documentation of the core parts of the library. Test ptr_fun()
5378
5379 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5380
5381         * Improve documentation of the core parts of the library.
5382         * tests/test_ptr_fun.cc: Test ptr_fun() with static
5383         member functions.
5384
5385 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5386
5387         Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
5388
5389 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5390
5391         * Move all .m4 files into new subdirectories
5392         sigc++/[...]/macros. Install the .m4 files on
5393         "make install" (Reported by Ron Steinke).
5394
5395 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5396
5397         Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
5398
5399 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5400
5401         * Move all .m4 files into new subdirectories
5402         sigc++/[...]/macros. Install the .m4 files on
5403         "make install" (Reported by Ron Steinke).
5404
5405 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
5406
5407         Include sigc++/functors/mem_fun.h (Reported by Ron Steinke).
5408
5409 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5410
5411         * sigc++/[class,method,object]_slot.h.m4: Include
5412         sigc++/functors/mem_fun.h (Reported by Ron Steinke).
5413
5414 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5415
5416         Add negation operator I have completely overlooked until now. Test
5417
5418 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5419
5420         * sigc++/adaptors/lambda/operator.h.m4: Add negation
5421         operator I have completely overlooked until now.
5422         * sigc++/tests/test_lambda.cc: Test negation operator.
5423
5424 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5425
5426         - Use a shorter notation for ..._mem_function variants. - Change order of
5427
5428 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5429
5430         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
5431         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
5432         - Use a shorter notation for ..._mem_function variants.
5433         - Change order of mem_funcotr<>'s template arguments to
5434         match std::mem_fun_t and to be more consistent with adaptors.
5435         - Use ::sigc::slot's implicit ctor in compatibility module.
5436         * sigc++/adaptors/lambda/operator.h.m4: Change some
5437         lambda action names to match action names in std.
5438
5439         API addition:
5440         * sigc++/adaptors/retype.h.m4: New file adding
5441         adaptor retype.
5442         * sigc++/Makefile.am: Build and distribute new file.
5443         * tests/test_retype.cc: New file testing adaptor retype.
5444         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
5445         tests/Makefile.am: Build and distribute new test case.
5446
5447 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5448
5449         - Use a shorter notation for ..._mem_function variants. - Change order of
5450
5451 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5452
5453         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
5454         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
5455         - Use a shorter notation for ..._mem_function variants.
5456         - Change order of mem_funcotr<>'s template arguments to
5457         match std::mem_fun_t and to be more consistent with adaptors.
5458         - Use ::sigc::slot's implicit ctor in compatibility module.
5459         * sigc++/adaptors/lambda/operator.h.m4: Change some
5460         lambda action names to match action names in std.
5461
5462         API addition:
5463         * sigc++/adaptors/retype_return.h.m4: New file adding
5464         adaptor retype.
5465         * sigc++/Makefile.am: Build and distribute new file.
5466         * tests/test_retype.cc: New file testing adaptor retype.
5467         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
5468         tests/Makefile.am: Build and distribute new test case.
5469
5470 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5471
5472         New directory containing project files for Visual Studio .Net 2003.
5473
5474 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5475
5476         * MSVC_Net2003: New directory containing project
5477         files for Visual Studio .Net 2003.
5478         Credits to Roel Vanhout <roel@riks.nl>!
5479
5480 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5481
5482         Use LIBSIGC_TEMPLATE_PREFIX in explicit function template instantiations.
5483
5484 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
5485
5486         * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
5487         in explicit function template instantiations.
5488         * sigc++/type_traits.h: Add template specialization
5489         for arrays (T_type[N]) to disable non-working member
5490         type_trait<T_type[N]>::instance().
5491         * sigc++/visit_each.h: Remove more disturbing
5492         limit_derived_target<>::operator() overloads.
5493         (Should have noticed earlier that they are unnecessary.)
5494         * sigc++/adaptors/deduce_result_type.h.m4,
5495         sigc++/adaptors/lambda/operator.h.m4,
5496         sigc++/functors/functor_trait.h.m4,
5497         tests/test_[bind,compose,exception_catch,hide,lambda].cc:
5498         Completely removed support for typeof(). We don't need
5499         it any more and it is completely non-standard!
5500
5501 2003-10-31  Cedric Gustin  <cedric.gustin@swing.be>
5502
5503         Added test of win32 platform. Commented out AM_DISABLE_SHARED (DLLs are
5504
5505         2003-10-30  Cedric Gustin <cedric.gustin@swing.be>
5506
5507         * configure.ac: Added test of win32 platform. Commented
5508         out AM_DISABLE_SHARED (DLLs are shared libraries).
5509         * sigc++/Makefile.am: added a few LDFLAGS for win32
5510         DLLs.
5511
5512 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
5513
5514         Add SigC::Signal#<>::slot(). Comment out make_slot() work-around. Remove
5515
5516 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
5517
5518         * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
5519         * sigc++/slot.h.m4: Comment out make_slot() work-around.
5520         * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
5521         in template argument lists. They are confusing MSVC.
5522         * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
5523         Use LIBSIGC_TEMPLATE_PREFIX in explicit function
5524         template instantiations.
5525         * sigc++/tests/test_*.cc:
5526         - Include <string> where std::string is used.
5527         - Use double instead of float.
5528
5529 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
5530
5531         Cleanup. Bring it up to date.
5532
5533 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
5534
5535         * sigc++/retype.h.m4: Cleanup.
5536         * TODO: Bring it up to date.
5537
5538 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
5539
5540         Bump version number to 1.9.11. Add ChangeLog summary for version 1.9.11.
5541
5542 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
5543
5544         * configure.ac: Bump version number to 1.9.11.
5545         * NEWS: Add ChangeLog summary for version 1.9.11.
5546
5547 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
5548
5549         Compatiblity module: Move definition of compatiblity classes SigC::SignalN
5550
5551 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
5552
5553         Compatiblity module:
5554         * sigc++/signal.h.m4: Move definition of compatiblity
5555         classes SigC::SignalN to here.
5556         * sigc++/connection.h:
5557         - Add connection::connected().
5558         - Add compatibility typedef SigC::Connection.
5559         * sigc++/bind.h, sigc++/bind_return.h,
5560         sigc++/class_slot.h.m4, sigc++/hide.h.m4,
5561         sigc++/method_slot.h.m4, sigc++/object.h,
5562         sigc++/object_slot.h.m4, sigc++/retype.h.m4,
5563         sigc++/retype_return.h sigc++/slot.h.m4,
5564         sigc++/compatibility.h:
5565         New files to complete compatibility module.
5566         Split content of compatibility.h.m4 among the new files.
5567         * sigc++/compatibility.h.m4: Removed.
5568         * Makefile.am: Build and distribute new files.
5569         * tests/test_compatibility.cc: Test new stuff.
5570
5571         Fixes:
5572         * sigc++/functors/slot.h.m4: Fix copy constructor and
5573         operator=() of slot template.
5574         * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
5575         template specializations. bind<0>() probably compiles
5576         with gcc-3.3, now.
5577
5578 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
5579
5580         Fixes:
5581
5582 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
5583
5584         Fixes:
5585         * sigc++/functors/slot.{cc,h.m4}:
5586         - Fix notification process: don't defer detaching of a
5587         slot from all referred trackables during signal emission!
5588         - Size optimization: replace virtual functions from
5589         struct typed_slot_rep with function pointers in slot_rep
5590         (reduces size of a typical typed_slot_rep instantiation
5591         by 30% !!!).
5592         * tests/test_slot.cc: Test sigc::slot more thoroughly.
5593         * sigc++/functors/mem_fun.h.m4: Fix visit_each().
5594         * sigc++/adaptos/bind_return.h.m4: Add support for
5595         sigc::ref().
5596         * tests/test_bind_return.cc: Use sigc::ref().
5597         * sigc++/signal.h.m4: Avoid compiler warning about
5598         uninitialized variable r_ in emit().
5599         * sigc++/visit_each.h: Cleanup.
5600
5601         API additions:
5602         * sigc++/adpators/lambda/operators.h.m4: Add
5603         lambda actions sigc::{reinterpret,static,dynamic}_cast_
5604         to support explicit parameter conversion.
5605         * tests/test_lambda.cc: Test sigc::static_cast_.
5606         * sigc++/adaptors/retype_return.h.m4: New file adding
5607         adaptor retype_return (and hide_return).
5608         * sigc++/Makefile.am: Build and distribute new file.
5609         * tests/test_retype_return.cc: New file testing
5610         adaptor retype_return (and hide_return).
5611         * tests/Makefile.am: Build and distribute new test case.
5612
5613 2003-10-24  Martin Schulze  <teebaum@src.gnome.org>
5614
5615         update .cvsignore files
5616
5617 2003-10-24  Martin Schulze  <teebaum@cvs.gnome.org>
5618
5619         Remove disturbing limit_derived_target<>::operator() overloads. Add
5620
5621 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
5622
5623         * sigc++/visit_each.h: Remove disturbing
5624         limit_derived_target<>::operator() overloads.
5625         * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
5626         * tests/test_bind.cc: Test sigc::ref().
5627         * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
5628         - Move support for sigc::ref() from lambda_core<> into
5629         lambda operator and lambda group creator functions.
5630         - Add missing visit_each() overload for lambda<> template.
5631         * tests/test_lambda.cc: Test auto-disconnection.
5632         TODO: Fix a strange bug that leads to "Bus error"
5633         during auto-disconnection.
5634
5635 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5636
5637         Bump version number to 1.9.10. Add ChangeLog summary for version 1.9.10.
5638
5639 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5640
5641         * configure.ac: Bump version number to 1.9.10.
5642         * NEWS: Add ChangeLog summary for version 1.9.10.
5643
5644 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5645
5646         Move definition of struct nil into functor_trait.h.
5647
5648 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5649
5650         * sigc++/functors/{functor_trait,slot}.h.m4:
5651         Move definition of struct nil into functor_trait.h.
5652
5653 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5654
5655         Move definition of struct nil into functor_trait.h.
5656
5657 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5658
5659         * sigc++/functors/{functor_trait,slot}.h.m4:
5660         Move definition of struct nil into functor_trait.h.
5661
5662 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5663
5664         Disable typeof() compiler checks. Remove unnecessary deduce_result_type<>
5665
5666 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
5667
5668         * configure.ac: Disable typeof() compiler checks.
5669         * sigc++/adaptors/bind.h.m4: Remove unnecessary
5670         deduce_result_type<> template specializations.
5671
5672 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
5673
5674         Correct order of typedefs for good. (Patch from Jeff Franks.)
5675
5676 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
5677
5678         * sigc++/adaptors/compose.h.m4:
5679         Correct order of typedefs for good. (Patch from Jeff Franks.)
5680
5681 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
5682
5683         Add constructor that takes a sigc::slot_base& to support 3rd-party slot
5684
5685 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
5686
5687         * sigc++/connection.h: Add constructor that takes
5688         a sigc::slot_base& to support 3rd-party slot lists
5689         like they are used in glibmm/gtkmm.
5690         * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
5691         (Fixes compile problems reported by Jeff Franks.)
5692         * sig++/type_traits.h: Don't use long long in
5693         sigc::is_base_and_derived.
5694         (Fixes compile problems reported by Jeff Franks.)
5695         * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
5696         Correct order of typedefs. (Repoted by Jeff Franks.)
5697         * configure.ac: Bump version number to 1.9.9.
5698         * NEWS: Add ChangeLog summary for version 1.9.9.
5699
5700 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
5701
5702         Define doxygen group functors. Bump version number to 1.9.8. Add ChangeLog
5703
5704 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
5705
5706         * sigc++/functors/slot.h.m4: Define doxygen group functors.
5707         * configure.ac: Bump version number to 1.9.8.
5708         * NEWS: Add ChangeLog summary for version 1.9.8.
5709
5710 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
5711
5712         Add announces of versions 1.9.6 and 1.9.7. New file. Defines namespace
5713
5714 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
5715
5716         * NEWS: Add announces of versions 1.9.6 and 1.9.7.
5717         * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
5718         namespace SigC should be API compatible to libsigc++-1.2.
5719         * sigc++/Makefile.am: Build compatibility.h.
5720         * tests/test_compatibility.cc, tests/Makefile.am:
5721         Add test case for compatibility module.
5722         * docs/index.html: Change group names.
5723         * sigc++/sigc++.h: Include connection.h.
5724         * sigc++/connection.{cc,h}:
5725         - Rename dependency to destroy_notify_callback.
5726         - Change parameter name in set_slot() from d to data.
5727         - Fix operator=(): Add "return *this;"
5728         - Get rid of namespace functor.
5729         - Corrections in documentation.
5730         * sigc++/signal.{cc,h.m4}:
5731         - Add reference counter to signal_impl. Replaces "bool destroy_".
5732         - Move signal_base, slot_iterator[_buf], slot_list out of
5733         namespace internal. They are part of the public API.
5734         - Add convenience function signal#::make_slot().
5735         - Get rid of namespace functor.
5736         - Corrections in documentation.
5737         * sigc++/trackable.{cc,h}:
5738         - Rename dependency to destroy_notify_callback.
5739         - Rename trackable::clear() to trackable::notify_callbacks().
5740         - Corrections in documentation.
5741         * sigc++/type_traits.h: Add documentation.
5742         * sigc++/visit_each.h:
5743         - Get rid of namespace functor.
5744         - Add documentation.
5745         * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
5746         * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
5747         - Get rid of namespace functor.
5748         - Corrections in documentation / add documentation.
5749         * sigc++/functors/slot.{cc,h.m4}:
5750         - Move slot_base out of namespace internal. It's public API.
5751         - Get rid of one-letter-parameter-names.
5752         - Get rid of namespace functor.
5753         - Corrections in documentation.
5754         * tests/*.cc: Get rid of "using namespace ...".
5755
5756 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
5757
5758         Add subscript ([]) and assign (=) operator. I think there are now enough
5759
5760 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
5761
5762         * sigc++/adaptors/lambda/{base,operators}.h.m4:
5763         Add subscript ([]) and assign (=) operator. I think there are now
5764         enough operators available to make any future power user happy.
5765         The only one missing is the comma operator and if we added it
5766         the logical consequence would be to also add if(), switch(), do(),
5767         etc. lambda expressions which are really out of place in libsigc++.
5768         * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
5769         * tests/test_lambda.cc: Test new operators.
5770
5771 2003-09-04  Martin Schulze  <teebaum@cvs.gnome.org>
5772
5773         Bump version number to 1.9.7.
5774
5775 2003-09-05  Martin Schulze  <teebaum@cvs.gnome.org>
5776
5777         * configure.ac: Bump version number to 1.9.7.
5778
5779 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
5780
5781         - Restructure so that the size of the generated source file stays
5782
5783 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
5784
5785         * sigc++/adaptors/lambda/operator.h.m4:
5786         - Restructure so that the size of the generated source file stays
5787         reasonable for 34 operators: There are only two lambda templates
5788         lambda_operator and lambda_operator_unary. The action is an additional
5789         template parameter. A small template lambda_action[_unary] is specialized
5790         for all actions.
5791         - Add most operators that boost::lambda supports. Missing operators are
5792         "=", "[]", "," and support for pointer arithmetic. I don't know if it's
5793         worth adding these. In libsigc++, the purpose of lambda operators is to
5794         provide some extra functionality for the group adaptor.
5795         * tests/test_lambda.cc:
5796         Test pre-increment, address and dereference operator.
5797
5798 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
5799
5800         New file reference_wrapper.h provides ref() to specify that
5801
5802 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
5803
5804         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
5805         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
5806         should take a reference to the object passed into ref() instead of a copy.
5807
5808 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
5809
5810         New file reference_wrapper.h provides ref() to specify that
5811
5812 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
5813
5814         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
5815         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
5816         should take a reference to the object passed into ref() instead of a copy.
5817         * tests/test_lambda.cc:
5818         - Test group() with mem_fun().
5819         - Use ref() where lambdas should store references to objects.
5820         - Test var() and constant().
5821         * sigc++/adaptors/lambda/base.h.m4:
5822         - Support ref() in return type deduction.
5823         - Add var() and constant() which create lambdas for usage with lambda operators.
5824         * sigc++/adaptors/lambda/operator.h.m4:
5825         - Fix return type deduction.
5826         - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
5827         * sigc++/adaptors/lambda/group.h.m4,
5828         sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
5829         sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
5830         Fix return type deduction.
5831
5832 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
5833
5834         Add more tests. Make _1, _2, ... constant. Add operator{+,-,*,...}
5835
5836 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
5837
5838         * tests/test_lambda.cc: Add more tests.
5839         * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
5840         Make _1, _2, ... constant.
5841         * sigc++/adaptors/lambda/operator.h.m4:
5842         Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
5843         Store references to non-const objects rather than copies.
5844         This allows expressions like e.g. std::cout << _1.
5845         * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
5846         Remove void specializations. Functors returning void are tested and work fine.
5847
5848 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
5849
5850         Rename, correct and improve this test case. Build and run
5851
5852 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
5853
5854         * tests/test_callof.cc, tests/test_deduce_result_type.cc:
5855         Rename, correct and improve this test case.
5856         * tests/Makefile.am: Build and run test_deduce_result_type
5857         instead of test_callof.
5858
5859 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
5860
5861         Update TODO.
5862
5863 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
5864
5865         * Update TODO.
5866
5867 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
5868
5869         Remove usage of callof_ignore_arg<>. Remove the first and move
5870
5871 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
5872
5873         * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
5874         * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
5875         sigc++/functors/functor_trait.h.m4:
5876         Remove the first and move deduce_result_type templates from
5877         functor_trait.h.m4 into new file deduce_result_type.h.m4.
5878         * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
5879         Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
5880         * sigc++/functors/slot.h.m4: Document struct nil.
5881
5882 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
5883
5884         * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
5885         macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
5886         namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
5887
5888 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
5889
5890         Merge adaptor return type deduction and typeof() into
5891
5892 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
5893
5894         * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
5895         Merge adaptor return type deduction and typeof() into
5896         sigc::functor::deduce_result_type. Use it for all adaptors.
5897         * tests/test_compose.cc: Only test multi-type get-functor if
5898         typeof() if supported.
5899
5900 2003-08-23  Martin Schulze  <teebaum@cvs.gnome.org>
5901
5902         - Remove unnecessary void specializations. In fact, only the one for
5903
5904 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
5905
5906         * sigc++/adaptors[/lambda]/*.h.m4:
5907         - Remove unnecessary void specializations. In fact, only the one
5908         for sigc::functor::exception_catch<> is needed and I don't really
5909         understand why. For the lambda stuff the void specializatoins are
5910         just commented out at the moment.
5911         - Make typeof() optional. Surprisingly, I got the lambda stuff working
5912         without typeof()! The test suite doesn't catch all cases yet, so maybe
5913         some thing are still not working.
5914         TODO: Implement configure check.
5915         * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
5916         tests/test_hide.cc, tests/test_lambda.cc:
5917         Only test multiple functor return types if typeof() is supported.
5918
5919 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
5920
5921         Add function trackable::clear().
5922
5923 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
5924
5925         * sigc++/trackable.{cc,h}: Add function trackable::clear().
5926
5927 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
5928
5929         Minor tweaks.
5930
5931         * TODO: Minor tweaks.
5932
5933 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
5934
5935         Minor tweaks.
5936
5937 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
5938
5939         Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
5940
5941         * docs/reference/Doxyfile.in: Use these variables.
5942         * docs/reference/Makefile.am (html/index.html): Provide doxygen
5943         with SRCDIR and TOP_SRCDIR environment variables.
5944
5945         * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
5946         this fixes a g++ 3.3 error in signal.h.
5947
5948         * sigc++/signal.h.m4: Make the signal::accumulated class public;
5949         this fixes a g++ 3.3 error in test_accumulated.cc.
5950
5951 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
5952
5953         Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
5954
5955         * docs/reference/Doxyfile.in: Use these variables.
5956         * docs/reference/Makefile.am (html/index.html): Provide doxygen
5957         with SRCDIR and TOP_SRCDIR environment variables.
5958
5959 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
5960
5961         Make slot::call_type typedef public; this fixes a g++ 3.3 error in signal.h.
5962
5963 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
5964
5965         Make the signal::accumulated class public; this fixes a g++ 3.3 error in test_accumulated.cc.
5966
5967 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
5968
5969         Added comment author annotation.
5970
5971 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
5972
5973         .cvignore additions.
5974
5975 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
5976
5977         Correct typing error in docs. Document the whole thing.
5978
5979 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
5980
5981         * sigc++/functor/slot.h.m4: Correct typing error in docs.
5982         * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
5983
5984 2003-05-31  Murray Cumming  <murrayc@usa.net>
5985
5986         Rearranged the groups to make it all a bit more like the libsigc++ 1.2
5987
5988 2003-05-31  Murray Cumming  <murrayc@usa.net>
5989
5990         * Reference documentation: Rearranged the groups to make it all
5991         a bit more like the libsigc++ 1.2 reference documentation.
5992         Corrected some spelling and grammar too.
5993         This needs a lot of work. The text is very hard to read and it's
5994         generally not appropriate for a user of the code who doesn't
5995         care about the internals. But it's not impossible - our examples
5996         should show us what we need to say in the documentation.
5997         We probably need some more groups for the extra stuff, like we do
5998         in libsigc++ 1.2.
5999
6000 2003-05-30  Martin Schulze  <martin-ml@hippogriff.de>
6001
6002         Fix documentation. Document the whole thing.
6003
6004 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
6005
6006         * sigc++/signal.h.m4: Fix documentation.
6007         * sigc++/connection.h, sigc++/functor/slot.h.m4:
6008         Document the whole thing.
6009
6010 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
6011
6012         - Remove bogus operator() from unnumbered signal<> and
6013
6014 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
6015
6016         * sigc++/signal.h.m4:
6017         - Remove bogus operator() from unnumbered signal<> and
6018         signal<>::accumulated templates.
6019         - Document the whole thing.
6020
6021         * docs/index.html: Fix some links.
6022
6023 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
6024
6025         Add Doxygen framework.
6026
6027 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
6028
6029         * TODO, configure.ac, Makefile.am, docs/*:
6030         Add Doxygen framework.
6031
6032 2003-04-05  Martin Schulze  <MHL.Schulze@t-online.de>
6033
6034         Move sigc::callof<> to sigc::functor::internal::callof<>.
6035
6036 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
6037
6038         * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
6039         Move sigc::callof<> to sigc::functor::internal::callof<>.
6040
6041         * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
6042         Add new types [bound_][const_]volatile_mem_functor, visit_each()
6043         and mem_fun() overloads for volatile qualifier.
6044         Add ctor overloads in bound_*mem_functor and mem_fun() overloads
6045         that take reference instead of pointer.
6046
6047 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
6048
6049         Change "closure" to "slot" throughout sigc++2 (file names, class names,
6050
6051 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
6052
6053         * Change "closure" to "slot" throughout sigc++2 (file names,
6054         class names, member variables, documentation, etc.).
6055
6056 2003-03-25  Martin Schulze  <MHL.Schulze@t-online.de>
6057
6058         Rewrite to reflect recent changes as well as recent discussions.
6059
6060 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
6061
6062         * TODO: Rewrite to reflect recent changes as well as recent discussions.
6063
6064 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
6065
6066         Make the adaptor's data member public so that visit_each() can access it.
6067
6068 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
6069
6070         * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
6071         public so that visit_each() can access it.
6072
6073         * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
6074         malfunctioning typeof() (probably compiler bug in gcc-3.2).
6075
6076         * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
6077
6078 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
6079
6080         Move detection of function and member method pointers' return types from
6081
6082 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
6083
6084         * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
6085         sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
6086         and member method pointers' return types from adaptor_trait into
6087         functor_trait. (We'll use functor_trait rather than adaptor_trait for
6088         our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
6089
6090         * sigc++/functors/functor_trait.h.m4: Add convenience macros:
6091         - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
6092         T_functor::result_type should be assumed for all unknown functors.
6093         - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
6094         result type of a functor.
6095         ("typename functor_trait<T_functor>::result_type") is used to
6096         determine the return type of our adaptors' operator()() overloads.
6097
6098         * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
6099         operator()() overloads to make these operator()() overloads usable.
6100         Most of them were just commented out before. Some adaptor types also
6101         have void specializations, now.
6102
6103         * sigc++/adaptors/lambda/group.h.m4: Change syntax from
6104         "[some_functor] % grp([args])" to "group([some_functor], [args])"
6105         like we agreed on the ml some time ago.
6106
6107         * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
6108         before.
6109
6110 2003-03-22  Murray Cumming  <murrayc@usa.net>
6111
6112         Added pgk-config file, from a mystery person in bug #108857
6113
6114 2003-03-22  Murray Cumming  <murrayc@usa.net>
6115
6116         * Added pgk-config file, from a mystery person in bug #108857
6117
6118 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
6119
6120         Test and show how to use functor_trait for user defined or 3rd-party
6121
6122 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
6123
6124         * tests/test_bind.cc: Test and show how to use functor_trait
6125         for user defined or 3rd-party functors so that a
6126         bind<0>([functor],[arg1])() call with no arguments can return a value.
6127
6128 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
6129
6130         Add explanations. Comment in / create templates callof_safe[#].
6131
6132 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
6133
6134         * sigc++/callof.h.m4: Add explanations. Comment in / create templates
6135         callof_safe[#]. Unfortunately they don't work for functors with overloaded
6136         operator() so we don't use it for now. At least everything is documented.
6137
6138         * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
6139         functor_base compiler hint. We're using it now in adaptor_functor<>.
6140
6141         * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
6142         with no arguments return the result of the functor invocation.
6143         Fix multiple bind<0>().
6144         * tests/test_bind.cc: Test the stuff that's working now.
6145
6146 2003-03-16  Murray Cumming  <murrayc@usa.net>
6147
6148         Added sigc++/sigc++.h, like in libsigc++ 1.2 Added member_method example,
6149
6150 2003-03-16  Murray Cumming  <murrayc@usa.net>
6151
6152         * Added sigc++/sigc++.h, like in libsigc++ 1.2
6153         * examples: Added member_method example, which uses a class method
6154         and which demonstrates disconnection.
6155
6156 2003-03-13  Martin Schulze  <teebaum@src.gnome.org>
6157
6158         Bump version to 1.9.6.
6159
6160 2003-03-11  Andreas Rottmann  <rotty@src.gnome.org>
6161
6162         Use substitution references instead of $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball bug.
6163
6164 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6165
6166         Add block() capability.
6167
6168 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6169
6170         * sigc++/connection.h: Add block() capability.
6171
6172 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6173
6174         Add flag signal_impl::destroy_ and function signal_impl::destroy(). Use
6175
6176 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6177
6178         * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
6179         and function signal_impl::destroy(). Use them to defer
6180         the destruction of the signal_impl object during signal
6181         emission.
6182
6183         * tests/test_disconnect.cc: Add tests for the connection
6184         class and for deleting signals during emission.
6185
6186 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6187
6188         - New files that add a connection class. Objects of this class are
6189
6190 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6191
6192         * sigc++/connection.{cc,h}, sigc++/Makefile.am:
6193         - New files that add a connection class. Objects of this
6194         class are constructed from closure list iterators and can
6195         be used to disconnect the refered closure. As opposed to
6196         iterators they stay valid beyond the lifetime of the closure.
6197
6198 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6199
6200         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - Make
6201
6202 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
6203
6204         * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
6205         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
6206         - Make closure_rep inherit trackable. This allows for
6207         connection objects that stay valid beyond the life time
6208         of the refered closure.
6209         - Make some one-line-functions inline again.
6210
6211 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
6212
6213         BUGFIX in trackable_dep_list::clear()
6214
6215 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
6216
6217         * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
6218
6219 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
6220
6221         Ignore `make dist' tarballs.
6222
6223 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
6224
6225         The "The New Build System" changes.
6226
6227 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
6228
6229         Re-included lambda test.
6230
6231 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
6232
6233         Removed. Removed. Removed. Remove the above Makefiles.
6234
6235         * sigc++/functors/Makfile.am: Removed.
6236         * sigc++/adaptors/Makefile.am: Removed.
6237         * sigc++/adaptors/lambda/Makefile.am: Removed.
6238         * configure.ac (AC_OUTPUT): Remove the above Makefiles.
6239
6240 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
6241
6242         Rewritten so we can build lambda cleanly. Removed.
6243
6244         * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
6245         * sigc++/Makefile.am_fragment: Removed.
6246
6247 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
6248
6249         Typo fix.
6250
6251 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
6252
6253         - signal_emit#<>: New templates replacing signal#<>::caller. The purpose
6254
6255 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
6256
6257         * sigc++/signal.{cc,h.m4}:
6258         - signal_emit#<>: New templates replacing signal#<>::caller.
6259         The purpose of these templates is implementing the emit
6260         function and optimizing signal emission for the case that
6261         no accumulator is used via template specializations.
6262         - default_accumulator<>: Removed. The default for T_accumulator
6263         in signal#<> now is nil. An example how to use accumulators
6264         is available in tests/test_accumulator.cc.
6265         - signal_{base,impl}: Move the implementation of signal_base's
6266         interface to signal_impl. An object of this class is
6267         dynamically allocated when first connecting a closure to
6268         the signal. This drastically reduces the size of empty signals
6269         and allows for future addition of a reference counter to make
6270         it safe to delete a signal during emission.
6271         - Directly work on closure_rep during signal emission. This
6272         seems to be quicker than using the closure templates.
6273         - Document the classes. Restructure the header file a bit.
6274
6275         * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
6276         member public, so that signal emission can directly work on it.
6277
6278         * tests/test_size.cc: Add an entry for signal_impl.
6279
6280 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
6281
6282         - closure_base: BUGFIXES in ~closure_base() and operator=(). - Mark some
6283
6284 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
6285
6286         * sigc++/closure.{cc,h.m4}:
6287         - closure_base: BUGFIXES in ~closure_base() and operator=().
6288         - Mark some functions with the inline keyword. This seems to
6289         help gcc 3.2 to optimize signal emission and (dis)connection.
6290         - Document the classes. Restructure the header file a bit.
6291
6292 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
6293
6294         Make trackable allocate a trackable_dep_list object dynamically when
6295
6296 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
6297
6298         * sigc++/trackable.{cc,h}: Make trackable allocate a
6299         trackable_dep_list object dynamically when adding the first
6300         dependency. (This reduces the size of objects, that are not
6301         refered by a closure by 4 bytes (50%) and increases the size
6302         of objects that are refered by a closure by 4 bytes (50%)
6303         on a 32 bit architecture => This reduces total memory use
6304         when >50% of the trackables are not refered by a closure.)
6305         Document the classes.
6306
6307 2003-03-06  Andreas Rottmann  <rotty@src.gnome.org>
6308
6309         Added new test executables.
6310
6311 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
6312
6313         Add two test cases. test_size is showing the size of public and internal
6314
6315 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
6316
6317         * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
6318         Add two test cases. test_size is showing the size of  public and
6319         internal structures. (Which apart from empty signals are smaller
6320         than the sizes of the equivalent libsigc++-1.2 structures.)
6321         test_accumulated is a test for the template signal<>::accumulated<>
6322         at the same time showing the use of accumulators in libsigc++2.
6323
6324 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
6325
6326         BUGFIX in template specialization
6327
6328 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
6329
6330         * sigc++/visit_each.h: BUGFIX in template specialization
6331         limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
6332         Add non-const overloads for static void execute_() avoiding
6333         compile time errors.
6334
6335 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
6336
6337         Martin Schulze's disonnect changes.
6338
6339 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
6340
6341         Ignore some more auto*-stuff.
6342
6343 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
6344
6345         Ignore new diconnect test executable.
6346
6347 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
6348
6349         Add testcase with a mixed connection & disconnection sequence.
6350
6351 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
6352
6353         Bugfix in signal_base::insert(): Set notification function in the newly created copy of slot_ rather than in slot_ itself.
6354
6355 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
6356
6357         Comment in typedefs for iterator types in the signal#<> class template. Make signal#<>::connect() return an iterator for convenience.
6358
6359 2003-01-23  Murray Cumming  <murrayc@usa.net>
6360
6361         sigc++/adaptors/lambda is disable temporarily (not built and not
6362
6363 2003-01-23  Murray Cumming  <murrayc@usa.net>
6364
6365         * sigc++/adaptors/lambda is disable temporarily (not built and
6366         not distributed) because it gets built before its parent
6367         directory, but #includes generated sources in the parent directory.
6368
6369 2003-01-22  Murray Cumming  <murrayc@usa.net>
6370
6371         Added Andreas Rottman's example.
6372
6373 2003-01-22  Murray Cumming  <murrayc@usa.net>
6374
6375         * Added Andreas Rottman's example.
6376
6377 2003-01-22  Murray Cumming  <murrayc@usa.net>
6378
6379         Applied Andreas Rottman's make dist fixes.
6380
6381 2003-01-22  Murray Cumming  <murrayc@usa.net>
6382
6383         * Applied Andreas Rottman's make dist fixes.
6384
6385 2003-01-22  Murray Cumming  <murrayc@src.gnome.org>
6386
6387         Added examples directory
6388
6389 2003-01-15  Murray Cumming  <murrayc@src.gnome.org>
6390
6391         Added missing files.
6392
6393 2003-01-14  Murray Cumming  <murrayc@usa.net>
6394
6395         Added whitespace to make the code more readable.
6396
6397 2003-01-14  Murray Cumming  <murrayc@usa.net>
6398
6399         * Added whitespace to make the code more readable.
6400
6401 2003-01-14  Murray Cumming  <murrayc@src.gnome.org>
6402
6403         Changed copyrights.
6404
6405 2003-01-13  Murray Cumming  <murrayc@src.gnome.org>
6406
6407         No more use of the scripts directory.
6408
6409 2003-01-13  Murray Cumming  <murrayc@src.gnome.org>
6410
6411         initial import
6412