I find that Sys.glob() doesn't like UNC paths where the initial slashes are backslashes.  
The help page for Sys.glob() doesn't specificly mention UNC paths, but does say: 
"File paths in Windows are interpreted with separator \ or /."  Is the failure 
to treat a path beginning with a double-backslash as a UNC network drive path the 
intended behavior?

E.g., on a Windows system where \\foo is a network drive and \\foo\bar exists, 
I see:

Sys.glob("//foo/bar")
[1] "//foo/bar"
Sys.glob("//foo\\bar")
[1] "//foo\\bar"
Sys.glob("\\\\foo/bar")
character(0)
Sys.glob("\\\\foo\\bar")

(the pattern of behavior seems to be that initial backslashes are not 
equivalent to forward slashes, but later backslashes are.)

This is not a big deal, but I noticed it because it results in Rcmd check giving a 
spurious warning when started from a cygwin shell with a working directory that is a 
network drive specified as a UNC path.  This happens because mandir in 
tools:::.writePkgIndices has the form \\foo/bar/R/packages/mypkg/man, which results in 
the false warning "there is a 'man' dir but no help pages in this package."  A 
simple workaround was to use a drive-letter mount for the network drive.

sessionInfo()
R version 2.9.1 (2009-06-26) i386-pc-mingw32
locale:
LC_COLLATE=English_United States.1252;LC_CTYPE=English_United 
States.1252;LC_MONETARY=English_United 
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252

attached base packages:
[1] stats graphics grDevices utils datasets methods base


-- Tony Plate

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to