PROPOSAL: translate '::' to '.' in arguments to the man command

Danilo Turina danilo.turina@alcatel.it
Fri Jan 24 12:32:00 GMT 2003


Rafael Kitover wrote:
> I have noticed that some man pages, for example perl modules below the
> 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'.

That's not completely true: ":" is an invalid character for Windows 
filenames.

	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/



More information about the Cygwin mailing list