diff to 1.05
diff /usr/local/lib/perl/5.18.2/Tcl.pm.bak /usr/local/lib/perl/5.18.2/
+Tcl.pm
384a385
> use Scalar::Util qw(weaken);
560a562,567
> # this kills the weakened tclname ref leaveng the strong current_r r
+ef (like before)
>
> if (exists($anon_refs{$current_r})){
> anon_kill($anon_refs{$current_r}[2]);
> }
>
594a602,607
> # kill an anon_refs name
> sub anon_kill {
> my $anonname=shift;
> delete $anon_refs{$anonname};
> }
>
618c631,639
< $anon_refs{$rname} = bless [\$sub, $interp], 'Tcl::Code';
---
> # $anon_refs{$rname} = bless [\$sub, $interp], 'Tcl::Code';
> my $isnew=0;
> unless (exists $anon_refs{$tclname}) {
> $anon_refs{$tclname} = bless [\$sub, $interp, $tclname], 'Tcl:
+:Code';
> $isnew=1;
> }
> $anon_refs{$rname} = $anon_refs{$tclname};
> weaken($anon_refs{$tclname}) if ($isnew);
>
652a674
> my $anonname = $_[0]->[2];
655a678
> Tcl::anon_kill($anonname);
Now to try to make a "bug report" via bug-Tcl
[at] rt.cpan.org.