Full_Name: Bill Dunlap Version: 2.3.0 OS: Windows XP Submission from: (NULL) (71.121.183.214)
If you had an Rd file called "file.Rd" and write a perl script containing print "Before Rdconv: " ; system "/usr/sbin/lsof | grep $USER | grep Rd"; Rdconv("file.Rd", "", "example, "../R-ex/file.R"); print "After Rdconv: " ; system "/usr/sbin/lsof | grep $USER | grep Rd"; you will see that file.Rd is still open after Rdconv returns. This messed up perl script on Windows where I tried to remove the directory containing the *.R files after processing them and I could not remove it because the last file processed was still open. Making the following change to RHOME/share/perl/R/Rdconv.pm seems to fix it. 77,78c77,82 < open(rdfile, "<$Rdname") or die "Rdconv(): Couldn't open '$Rdname': $!\n"; < --- > open(my $rdfile, "<$Rdname") or die "Rdconv(): Couldn't open '$Rdfile': $!\n"; > # Before we added the 'my $' in front of rdfile, > # rdfile was not getting closed. Now it will close > # when $rdfile goes out of scope. (We could have added > # a close rdfile at the end of the while(<rdfile>), but > # scoping method is more reliable. 123c127 < while(<rdfile>){ --- > while(<$rdfile>){ -Bill ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel