Tcl Source Code

View Ticket
Login
Ticket UUID: 6c49da8a19ab9fb07b4366fe37ebee105e96a859
Title: Edge case in [file normalize]?
Type: Bug Version: 8.4.9, 8.6.1
Submitter: dkf Created on: 2014-01-31 09:34:53
Subsystem: 36. Pathname Management Assigned To: dgp
Priority: 5 Medium Severity: Minor
Status: Open Last Modified: 2014-01-31 19:05:20
Resolution: None Closed By: nobody
    Closed on:
Description: (text/html)
As reported in <a href="http://stackoverflow.com/q/21439453/301832">this Stack Overflow question</a>, it looks like there's an evil edge case that's gone wrong in <tt>file normalize</tt>.
<p>
Directory structure setup:
<pre>
/tmp/fileA.txt
/tmp/sidedir/fileA.txt
/tmp/subdir/fileA.txt
/tmp/subdir/sidedir_link -> /tmp/sidedir
</pre>
Problem trace:
<pre>
wish% file normalize sidedir_link/fileA.txt
/tmp/sidedir/fileA.txt
wish% ::utils::realpath sidedir_link/fileA.txt
/tmp/sidedir/fileA.txt
wish% file normalize sidedir_link/../fileA.txt
/tmp/subdir/fileA.txt
wish% ::utils::realpath sidedir_link/../fileA.txt
/tmp/fileA.txt
</pre>
<blockquote>“<i>Note:</i> The difference is <tt>/tmp/subdir/fileA.txt</tt> versus <tt>/tmp/fileA.txt</tt>.”</blockquote>
It's reportedly an issue with both 8.4.9 and 8.6.1 so I expect it to be present in all other 8.4, 8.5 and 8.6 versions.
User Comments: dgp added on 2014-01-31 19:05:20:
This is probably a Dup.

Related tickets are 3577801 and 961646.

If it were easy to fix (or to define what
functioning is properly defined as "fixed"),
it would be done by now.