Prof Brian Ripley writes:
On Mon, 24 Nov 2003, Duncan Murdoch wrote:
Duncan Murdoch <dmurdoch@pair.com> writes:
Gabor Grothendieck pointed out a bug to me in list.files(...,
full.name=TRUE), that essentially comes down to the fact that in
Windows it's not always valid to add a path separator (slash or
backslash) between a path specifier and a filename. For example,
c:foo
is different from
c:\foo
and there are other examples.
I've committed a change to r-patched to fix this in Windows only.
Sounds like it's not an issue elsewhere.
I think there are some potential issues with doubling separators and
final separators on dirs. On Unix file systems /part1//part2 and
/path/to/dir/ are valid. However, file systems on Unix may not be
Unix file systems: examples are earlier MacOS systems on MacOS X and
mounted Windows and Novell systems on Linux. I would not want to
assume that all of these combinations worked.
Gabor also suggested an option to use shell globbing instead of
regular expressions to select the files in the list, e.g.
list.files(dir="/", pattern="a*.dat", glob=T)
This would be easy to do in Windows, but from the little I know about
Unix programming, would not be so easy there, so I haven't done
anything about it.
It would be shell-dependent and OS-dependent as well as a retrograde
step, as those who wanted to use regular expressions no longer would
be able to.