Fixes for 5.16 and newer - RT#83426 Sort by member names,
not the refs.
Fix wrong weak test with globals.
Changed to lexicals and use strict/warnings.
check SvMAGICAL before doing mg_find
Fixed wrong C format types in warnings and SET_OBJECT_MAGIC_backref.
make Test::LeakTrace and Moose an optional dependency for t/misc/more_leaks.t
Improve thread-safety (forbid concurrent writes),
but still dealing with Attempt to free non-existent shared string and Unbalanced string table refcount: (1) for "8" during global destruction.
- RT #22760
Methods which destroyed $@ due to internal use of eval now properly call local($@) (Yuval)
Fix a leak and a corner case with weak set magic,
and squash some warnings (Yuval)
Define behaviour when dealing with return values from operations on weak sets.
No longer hard-coded "Set::Object" - may affect Set::Object sub-classes (Sam).
(post-release changelog entry) related to the previous change,
Set::Object::Weak::set did not use to shift the invocant off the stack,
which caused result sets to have the inserted sets as members.
It now does,
fixing this bug.
Make behaviour when dealing with items which were undef defined.
Previously it might segfault (or Bus Error on Mac OS X) on some operations and Perl versions,
or result in an empty string being inserted.
Fix a minor compile problem on IRIX,
reported by David Cantrell.
another segfault bites the dust; this time,
avoids a segfault when taking a difference between sets of exactly 31 and 0 size.
Same root fault as the previous bug,
this time I have a test case for it,
added various functions similar to some found in Scalar::Util,
but with an extra one that performs a function that lays some groundwork for Container::Object (ish_int).
Some of these functions were in the XS code anyway,
and they are extremely small,
so I didn't see a problem with duplicating them - saves an extra dependency.
Graham Barr won't let me put ish_int or is_key in his module.
Knowing that they are available will also assist in fixing some longer standing bugs in Tangram (eg,
using $obj + 0 to get a unique ID when refaddr($obj) would be better)
lots more input marshalling; if you ever end up doing funny things to a Set::Object,
then at least now you'll get a clearer error message.
more tests; Devel::Cover test coverage now at 91% (stmt),
erroneously putting scalars into Set::Objects now no longer dumps core.
serialisation of Set::Object objects is now possible via the Storable module (Data::Dumper still does the wrong thing,
but there is nothing I can do about that).
Revision history for Perl extension Set::Object.
0.01 Sat Jun 6 13:36:56 1998
- original version; created by h2xs 1.18
0.02 Sun Jul 12 1998
- fixed refcount bug that leaked object when hash was
- ensured compatibility with Perl 5.004_71
- fixed some bug (related to subsets?)
- first mature release
1.01 8 Nov 1999
- no longer use Perl arrays internally, now compatible with
1.02 8 May 08 2000
- fixed bug that miscomputed new bucket while reindexing