Rafael Kitover wrote:
I have noticed that some man pages, for example perl modules below theThat's not completely true: ":" is an invalid character for Windows filenames.
root namespace, are installed as Foo.Bar instead of Foo::Bar because
apparently windows file names cannot contain "::". Eg.
$ touch 'Foo::Bar' touch: creating `Foo::Bar': Invalid argument
This is sufficiently different from UNIX to trip most people up,
especially those working with Perl. Further, filenames with one colon do
work, e.g. Touch 'Foo:Bar'.
touch "Foo:Bar"
does not returns an error but does not create a file called "Foo:Bar", instead it creates a file called "Foo" and associate to it a NTFS stream (I think this is the correct name) to it.
If you try an ls you'll see that your directory contains a file called "Foo". But try, for example:
echo Hello >> Foo
echo Good morning >> "Foo:Bar"
$ cat Foo
Hello
$ cat "Foo:Bar"
Good morning
$ rm Foo
$ cat "Foo:Bar"
cat: Foo:Bar: No such file or directory
For this reason I propose changing the "man" command in Cygwin to take the special case of "::" into account and convert it to a ".", iff the file containing "::" does not exist (might be supported in the future.)If this is considered a good idea I'll be happy to make the patch. Cheers,
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/