r23395 - in /trunk/libset-object-perl: Changes.pod MANIFEST META.yml Object.bs Object.c Object.xs SIGNATURE Set-Object-1.22.tar debian/changelog lib/Set/Object.pm t/misc/threads.t t/misc/undef.t
gregoa at users.alioth.debian.org
gregoa at users.alioth.debian.org
Sat Jul 19 13:09:38 UTC 2008
Author: gregoa
Date: Sat Jul 19 13:09:36 2008
New Revision: 23395
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=23395
Log:
New upstream release.
Added:
trunk/libset-object-perl/Object.bs
- copied unchanged from r23394, branches/upstream/libset-object-perl/current/Object.bs
trunk/libset-object-perl/Object.c
- copied unchanged from r23394, branches/upstream/libset-object-perl/current/Object.c
trunk/libset-object-perl/SIGNATURE
- copied unchanged from r23394, branches/upstream/libset-object-perl/current/SIGNATURE
trunk/libset-object-perl/Set-Object-1.22.tar
- copied unchanged from r23394, branches/upstream/libset-object-perl/current/Set-Object-1.22.tar
trunk/libset-object-perl/t/misc/threads.t
- copied unchanged from r23394, branches/upstream/libset-object-perl/current/t/misc/threads.t
trunk/libset-object-perl/t/misc/undef.t
- copied unchanged from r23394, branches/upstream/libset-object-perl/current/t/misc/undef.t
Modified:
trunk/libset-object-perl/Changes.pod
trunk/libset-object-perl/MANIFEST
trunk/libset-object-perl/META.yml
trunk/libset-object-perl/Object.xs
trunk/libset-object-perl/debian/changelog
trunk/libset-object-perl/lib/Set/Object.pm
Modified: trunk/libset-object-perl/Changes.pod
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libset-object-perl/Changes.pod?rev=23395&op=diff
==============================================================================
--- trunk/libset-object-perl/Changes.pod (original)
+++ trunk/libset-object-perl/Changes.pod Sat Jul 19 13:09:36 2008
@@ -2,6 +2,23 @@
=encoding utf8
=head1 REVISION HISTORY FOR Set::Object
+
+=head1 1.23, 18 Jul 2008
+
+=over
+
+=item *
+
+Make behaviour when dealing with items which were C<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.
+
+=item *
+
+Fix a minor compile problem on IRIX, reported by David Cantrell.
+
+=back
=head1 1.22, 8 Oct 2007
Modified: trunk/libset-object-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libset-object-perl/MANIFEST?rev=23395&op=diff
==============================================================================
--- trunk/libset-object-perl/MANIFEST (original)
+++ trunk/libset-object-perl/MANIFEST Sat Jul 19 13:09:36 2008
@@ -1,35 +1,46 @@
Changes.pod
-Makefile.PL
-MANIFEST
-README
-META.yml Module meta-data (added by MakeMaker)
lib/Set/Object.pm
lib/Set/Object/Weak.pm
+Makefile.PL
+MANIFEST This list of files
+META.yml
+Object.bs
+Object.c
+Object.o
Object.xs
-t/object/equal.t
+ppport.h
+README
+Set-Object-1.22.tar
+SIGNATURE
+t/ingy/arrayref.t
+t/misc/leaks.t
+t/misc/pod.t
+t/misc/pod_coverage.t
+t/misc/threads.t
+t/misc/undef.t
+t/object/abuse.t
t/object/clear.t
t/object/difference.t
+t/object/equal.t
t/object/flags.t
t/object/includes.t
t/object/insert.t
t/object/intersection.t
t/object/members.t
t/object/Person.pm
-t/object/Saint.pm
+t/object/properties.t
t/object/refcount.t
t/object/remove.t
+t/object/Saint.pm
+t/object/set_subclass.t
+t/object/SetSubClass.pm
+t/object/storable.t
t/object/subsuper.t
t/object/symmetric_difference.t
t/object/union.t
-t/object/abuse.t
-t/object/properties.t
-t/object/storable.t
t/object/weakref.t
-t/object/SetSubClass.pm
-t/object/set_subclass.t
-
+t/scalar/basic.t
t/scalar/basic_overload.t
-t/scalar/basic.t
t/scalar/boolean.t
t/scalar/clear.t
t/scalar/compare.t
@@ -45,11 +56,3 @@
t/scalar/symmdiff.t
t/scalar/union.t
t/scalar/unique.t
-
-t/ingy/arrayref.t
-
-t/misc/leaks.t
-t/misc/pod.t
-t/misc/pod_coverage.t
-
-ppport.h
Modified: trunk/libset-object-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libset-object-perl/META.yml?rev=23395&op=diff
==============================================================================
--- trunk/libset-object-perl/META.yml (original)
+++ trunk/libset-object-perl/META.yml Sat Jul 19 13:09:36 2008
@@ -1,10 +1,12 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
-name: Set-Object
-version: 1.22
-version_from: lib/Set/Object.pm
-installdirs: site
-requires:
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.30_01
+--- #YAML:1.0
+name: Set-Object
+version: 1.23
+abstract: Unordered collections (sets) of Perl Objects
+license: ~
+author: ~
+generated_by: ExtUtils::MakeMaker version 6.42
+distribution_type: module
+requires:
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.3.html
+ version: 1.3
Modified: trunk/libset-object-perl/Object.xs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libset-object-perl/Object.xs?rev=23395&op=diff
==============================================================================
--- trunk/libset-object-perl/Object.xs (original)
+++ trunk/libset-object-perl/Object.xs Sat Jul 19 13:09:36 2008
@@ -98,6 +98,9 @@
IF_INSERT_DEBUG(_warn("iset_insert_scalar(%x): creating scalar hash", s));
s->flat = newHV();
}
+
+ if (!SvOK(sv))
+ return 0;
//SvGETMAGIC(sv);
key = SvPV(sv, len);
@@ -497,7 +500,11 @@
BUCKET* bucket;
IF_DEBUG(_warn("removing scalar 0x%.8x from set 0x%.8x", el, s));
-
+
+ /* note an object being destroyed is not SvOK */
+ if (!spell_in_progress && !SvOK(el))
+ return 0;
+
if (SvOK(el) && !SvROK(el)) {
IF_DEBUG(_warn("scalar is not a ref (flags = 0x%.8x)", SvFLAGS(el)));
if (s->flat) {
@@ -712,6 +719,9 @@
SV* el = ST(item);
SV* rv;
+ if (!SvOK(el))
+ XSRETURN_NO;
+
if (!SvROK(el)) {
IF_DEBUG(_warn("includes! el = %s", SvPV_nolen(el)));
if (!iset_includes_scalar(s, el))
@@ -829,7 +839,7 @@
CODE:
ISET* s = INT2PTR(ISET*, SvIV(SvRV(self)));
- RETVAL = s->is_weak;
+ RETVAL = !!s->is_weak;
OUTPUT: RETVAL
Modified: trunk/libset-object-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libset-object-perl/debian/changelog?rev=23395&op=diff
==============================================================================
--- trunk/libset-object-perl/debian/changelog (original)
+++ trunk/libset-object-perl/debian/changelog Sat Jul 19 13:09:36 2008
@@ -1,3 +1,9 @@
+libset-object-perl (1.23-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- gregor herrmann <gregoa at debian.org> Sat, 19 Jul 2008 15:08:21 +0200
+
libset-object-perl (1.22-3) unstable; urgency=low
[ gregor herrmann ]
Modified: trunk/libset-object-perl/lib/Set/Object.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libset-object-perl/lib/Set/Object.pm?rev=23395&op=diff
==============================================================================
--- trunk/libset-object-perl/lib/Set/Object.pm (original)
+++ trunk/libset-object-perl/lib/Set/Object.pm Sat Jul 19 13:09:36 2008
@@ -99,7 +99,8 @@
Adding the same object several times is not an error, but any
C<Set::Object> will contain at most one occurence of the same object.
-Returns the number of elements that were actually added.
+Returns the number of elements that were actually added. As of
+Set::Object 1.23, C<undef> will not insert.
=head2 includes( [I<list>] )
@@ -111,6 +112,10 @@
C<Set::Object>. I<list> may be empty, in which case C<true> is
always returned.
+As of Set::Object 1.23, C<undef> will never appear to be present in
+any set (even if the set contains the empty string). Prior to 1.23,
+there would have been a run-time warning.
+
=head2 member( [I<item>] )
=head2 element( [I<item>] )
@@ -139,6 +144,10 @@
from the C<Set::Object> is not an error.
Returns the number of elements that were actually removed.
+
+As of Set::Object 1.23, removing C<undef> is safe (but having an
+C<undef> in the passed in list does not increase the return value,
+because it could never be in the set)
=head2 weaken
@@ -286,7 +295,6 @@
Allows you to define a custom stringify function. This is only a
class method. If you want anything fancier than this, you should
sub-class Set::Object.
-
=head1 FUNCTIONS
@@ -497,7 +505,7 @@
@EXPORT_OK = qw( ish_int is_int is_string is_double blessed reftype
refaddr is_overloaded is_object is_key set weak_set );
-$VERSION = '1.22';
+$VERSION = '1.23';
bootstrap Set::Object $VERSION;
More information about the Pkg-perl-cvs-commits
mailing list