[Bps-public-commit] r15832 - PerlIO-via-dynamic/trunk

clkao at bestpractical.com clkao at bestpractical.com
Mon Sep 8 07:19:36 EDT 2008


Author: clkao
Date: Mon Sep  8 07:19:35 2008
New Revision: 15832

Added:
   PerlIO-via-dynamic/trunk/SIGNATURE
Modified:
   PerlIO-via-dynamic/trunk/   (props changed)
   PerlIO-via-dynamic/trunk/CHANGES
   PerlIO-via-dynamic/trunk/MANIFEST
   PerlIO-via-dynamic/trunk/dynamic.pm

Log:
 r194 at mtl:  clkao | 2004-09-16 08:58:12 +0800
 PerlIO-via-dynamic 0.11


Modified: PerlIO-via-dynamic/trunk/CHANGES
==============================================================================
--- PerlIO-via-dynamic/trunk/CHANGES	(original)
+++ PerlIO-via-dynamic/trunk/CHANGES	Mon Sep  8 07:19:35 2008
@@ -1,3 +1,8 @@
+[Changes for 0.11 - 16 Sep, 2004]
+
+* Try harder to find space to hold reference.
+* Cleanup constructor.
+
 [Changes for 0.10 - 6 Sep, 2004]
 
 * Add use_read option to use READ instead of FILL.

Modified: PerlIO-via-dynamic/trunk/MANIFEST
==============================================================================
--- PerlIO-via-dynamic/trunk/MANIFEST	(original)
+++ PerlIO-via-dynamic/trunk/MANIFEST	Mon Sep  8 07:19:35 2008
@@ -19,3 +19,4 @@
 t/1use.t
 t/2basic.t
 t/3gc.t
+t/4gc-array.t

Added: PerlIO-via-dynamic/trunk/SIGNATURE
==============================================================================
--- (empty file)
+++ PerlIO-via-dynamic/trunk/SIGNATURE	Mon Sep  8 07:19:35 2008
@@ -0,0 +1,44 @@
+This file contains message digests of all files listed in MANIFEST,
+signed via the Module::Signature module, version 0.41.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+    % cpansign -v
+
+It would check each file's integrity, as well as the signature's
+validity.  If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+SHA1 551baccbe416592e2d8be452cad2b789aef243f4 CHANGES
+SHA1 7c9dcc9043b882825627ba20943bf8958537601d MANIFEST
+SHA1 47196876f1450b0f0e91e88c4ac636f7836b5325 META.yml
+SHA1 7068c8062c803c48b397357ba4cbbf8ca8e2d3e4 Makefile.PL
+SHA1 bfbcb8279d026bcc34978f3857c60a165eec02b0 README
+SHA1 ab1c0e7e573725c8c56d85dd386372dd15c0a95d dynamic.pm
+SHA1 127fb0a41f8433b854676941c699693abc3e85d4 inc/ExtUtils/AutoInstall.pm
+SHA1 02597776ad22aacd2c8e189594fcbf701390b606 inc/Module/Install.pm
+SHA1 53422ed14b41bbc9af3ac14a26ced3ed21dee0bc inc/Module/Install/AutoInstall.pm
+SHA1 7ca8b8f54287c2b5af8062fc9f349275a07e06f3 inc/Module/Install/Base.pm
+SHA1 b6af22816210f8eaab4c2c616e05a8892b2fcfd0 inc/Module/Install/Can.pm
+SHA1 33659c004518e95afb6ffafad41e84f2a6268412 inc/Module/Install/Fetch.pm
+SHA1 b42b4d3a89848325ae29422c72638e1571e7af1b inc/Module/Install/Include.pm
+SHA1 c4ed10cd20914c04f3fff3f8aaf8943372cec114 inc/Module/Install/Makefile.pm
+SHA1 ccf9b6267b5c9e7b35ef129f7e974255955c8867 inc/Module/Install/Metadata.pm
+SHA1 1288f4c4e4ba88e19194d7952eacbd6be2a5b916 inc/Module/Install/Win32.pm
+SHA1 1022a7ab797fc0081ea947f102650362ad925d7a inc/Module/Install/WriteAll.pm
+SHA1 9b74492a537b62db702e0168e734a1091d4d829a t/1use.t
+SHA1 ddb2d82e1d42ffe92d215827855c4884c06230fb t/2basic.t
+SHA1 5c782845392f975b9069ba51aabc4a47b1d55397 t/3gc.t
+SHA1 e44e0463f05cde23df8b345f664fd6cfe180ac73 t/4gc-array.t
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.2.4 (FreeBSD)
+
+iD8DBQFBSOTgk1XldlEkA5YRAs5EAJ0SrhdxWIG7demj+iMcJJM0JqLEtwCeJ8UR
+ASqIvx/CYGEYR8Z6Jc2fs64=
+=ELR5
+-----END PGP SIGNATURE-----

Modified: PerlIO-via-dynamic/trunk/dynamic.pm
==============================================================================
--- PerlIO-via-dynamic/trunk/dynamic.pm	(original)
+++ PerlIO-via-dynamic/trunk/dynamic.pm	Mon Sep  8 07:19:35 2008
@@ -1,6 +1,6 @@
 package PerlIO::via::dynamic;
 use strict;
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 NAME
 
@@ -116,18 +116,14 @@
 | or die $@;
 
     no strict 'refs';
-    unless ($arg{use_read}) {
-	*{"$package\::FILL"} = *PerlIO::via::dynamic::_FILL;
-    }
-    delete $arg{use_read};
-    if ($arg{no_gc}) {
-	$self->{nogc} = 1;
+    for (qw/translate untranslate/) {
+	*{"$package\::$_"} = delete $arg{$_}
+	    if exists $arg{$_}
     }
-    delete $arg{no_gc};
-    for (keys %arg) {
-	*{"$package\::$_"} = $arg{$_};
+    %$self = %arg;
+    unless ($self->{use_read}) {
+	*{"$package\::FILL"} = *PerlIO::via::dynamic::_FILL;
     }
-
     bless $self, $package;
     ${"$package\::EGO"} = $self;
     weaken ${"$package\::EGO"};
@@ -144,7 +140,13 @@
     }
     binmode ($fh, $via) or die $!;
     if (defined ${*$fh}) {
-	warn "handle $fh cannot hold references, namespace won't be cleaned";
+	if (defined @{*$fh}) {
+	    warn "handle $fh cannot hold references, namespace won't be cleaned";
+	    $self->{nogc} = 1;
+	}
+	else {
+	    ${*$fh}[0] = $self;
+	}
     }
     else {
 	${*$fh} = $self;



More information about the Bps-public-commit mailing list