When [glob]bing a filesystem, it is the
[matchindirectory] command of a tclvfs
driver that does the work.
The matchindirectory commands of
ftpvfs, mk4vfs, tarvfs, webdavvfs, and
zipvfs all build up their return lists by
[lappend]ing the return of a
[file join $actualpath <something>].
If <something> begins with ~ then the
behavior of [file join] will result in the
$actualpath prefix part getting discarded,
and what gets returned will be a string
that refers to the home directory of
some users, likely not existent, and not
the name of the file found in the vfs directory
I hope from that description those who are
more expert in such things can actually
construct test cases.
I speculate that an effective fix would be
to not use [file join] and to instead [lappend]
Log in to post a comment.