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