TCL and Cygwin 1.7 symlinks

Jeremy Davies jeremy.davies@etherstack.com
Wed Oct 20 11:22:00 GMT 2010


  I know that Cywin TCL is not a 'real' Cygwin port, but I've noticed 
the following behaviour:

$ cd /tmp
$ mkdir x1
$ mkdir x1/foo
$ echo abc >x1/foo/bar
$ mkdir x2
$ cd x2
$ ln -s ../x1/foo
$ cat foo/bar
abc
$ tclsh
% file normalize foo
C:/Cygwin/tmp/x1/foo
% file readlink foo
could not readlink "foo": invalid argument
% exit
$ readlink foo
../x1/foo


There are three inconsistencies here:
- TCL 'file readlink' fails.  Fair enough, if the Cygwin TCL build 
doesn't understand Cygwin 1.7 symlinks (as suggested by the TCL FAQ 4.45).
- But TCL 'file normalize' is successfully resolving the symlink!
- Doublebut TCL 'file normalize' is not meant to resolve a symlink at 
the end of a path.  The normalized path should be 'C:/Cygwin/tmp/x2/foo'.

What's going on?

Jeremy



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list