This is the mail archive of the
mailing list for the Cygwin project.
Re: Valid file-name characters
RC> Unless cygwin detects that notepad is a non cygwin program, and therefor
RC> I was just about to suggest that whatever character is used is used as
RC> an escape char rather than a literal replacement.
RC> WIN32 CYGWIN
'aux%c' ->> 'aux:'
'aux%%' ->> 'aux%'
which means that
RC> needs the on-disk name.
Even if cygwin knows that notepad is native program it can't tell for
sure if a%% is name of disk file. It may be a name of my dog to be
told from my computer speakers, for instance. An he surely won't like
if i misspell his name ;-)
'aux%' ->> 'aux:'
RC> touch $s
RC> notepad $s
RC> won't work either - unless cygwin detects that notepad...
That's exactly my point. Having some fancy rules for filename encoding
breaks interoperability with native tools. Escaping non-valid
characters like ':' is not big problem, since native tools can't use
such names anyway. But messing with valid characters like '%' is far
more dangerous and error-prone.
Yes, but what about using %CYGWINREPLACESEQUENCE_FOR_COLON% instead of ':' ?
Then touch "aux:" would generate aux: for cygwin programs and native
windows programs would see: aux%CYGWINREPLACESEQUENCE_FOR_COLON% as a filename.
The propability that someone wanted to generate a windows filename with a name
similar to a cygwin created special name is much less when we use many characters
to escape the single character ':' . For windows programs the user could
use something like:
$ touch $s
$ notepad `cygpath -w $s`
Thanks Egor. That's precisely why I have always avoided this kind
of filename munging in Cygwin.
Yes, but it would be very nice to have this functionality.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html