--- CGI-Persistent-0.22/lib/CGI/Persistent.pm.orig Mon Sep 27 12:58:32 2004 +++ CGI-Persistent-0.22/lib/CGI/Persistent.pm Mon Sep 27 12:58:32 2004 @@ -22,7 +22,6 @@ my ( $class, $dope, $id ) = @_ ; $dope = "." unless $dope; my $cgi = new CGI; # print $cgi->header (); - $cgi->{sessiondir} = dirname($id) if $id; my $fn = basename($cgi->param( '.id' ) || $id); unless ( $fn ) { @@ -32,8 +31,9 @@ } my $po = new Persistence::Object::Simple __Fn => - join "/", ($cgi->{sessiondir},$fn); + join "/", ($dope,$fn); $po->{ __DOPE } = undef; + $po->{sessiondir} = $dope; my @names = $cgi->param (); my $st = $cgi->param('.sailthru'); @@ -43,9 +43,11 @@ foreach $key ( keys %$po ) { $cgi->param( -name => $key, -values => $po->{$key} ) - unless ( grep /$key/, @names ) || $key eq "__Fn" + unless ( grep /$key/, @names ) || $key eq "__Fn"; } + $cgi->{sessiondir} = $po->{sessiondir}; + $po->commit (); return bless $cgi, $class;