This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Valid file-name characters
Hi!
Comments below.
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> i.e.
RC> WIN32 CYGWIN
'aux%c' ->> 'aux:'
'aux%%' ->> 'aux%'
which means that
s='a%%'
touch $s
notepad $s
won't work.
RC> Unless cygwin detects that notepad is a non cygwin program, and therefor
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 ;-)
RC> With
'aux%' ->> 'aux:'
RC> s='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:
$ s='aux:'
$ 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.
Bye
Volker
--
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/