Okay - its really a bug in Windows, but... Interp.pm's remove object directory method incorrectly assumes that you can rename foo to bar, where foo and bar are both existing directories. On unix, this helpfully puts foo inside of bar... On windows, it fails.

The following patch will address this issue:

*** Interp.pm   Thu Feb  2 13:01:13 2006
--- lib/HTML/Mason/Interp.pm    Tue Jan  3 12:01:00 2006
*************** sub remove_object_files
*** 553,559 ****
     my $object_dir = $self->object_dir;
     if (-d $object_dir) {
         my $temp_dir = File::Temp::tempdir(DIR => $self->data_dir);
!         rename($object_dir, File::Spec->catdir($temp_dir, "target") )
             or die "could not rename '$object_dir' to '$temp_dir': $@";
         $self->_make_object_dir();
         rmtree($temp_dir);
--- 553,559 ----
     my $object_dir = $self->object_dir;
     if (-d $object_dir) {
         my $temp_dir = File::Temp::tempdir(DIR => $self->data_dir);
!         rename($object_dir, $temp_dir)
             or die "could not rename '$object_dir' to '$temp_dir': $@";
         $self->_make_object_dir();
         rmtree($temp_dir);



--
Shane P. McCarron                          Phone: +1 763 786-8160 x120
Managing Director                            Fax: +1 763 786-8180
ApTest Minnesota                            Inet: [EMAIL PROTECTED]




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Mason-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mason-users

Reply via email to