Menu

#2983 handling of ~ in variables used as file names

obsolete: 8.4.6
closed-fixed
5
2004-12-02
2004-11-28
Ralf Fassel
No

Preparation: create a file starting with tilde
$ touch ./~foo

$ tclsh8.4
% info patchlevel
8.4.6

Setting and using a regular string variable with that
file name fails:
% set file ~foo
~foo
% file tail $file
user "foo" doesn't exist

Using the result of glob succeeds though:
% set file2 [lindex [glob *foo] 0]
~foo
% file tail $file2
./~foo

The variables file and file2 compare equal, but file
tail gives different results:
% string equal $file $file2
1
% file tail $file2
./~foo
% file tail $file
user "foo" doesn't exist

When the glob-variable is manipulated in any way, the
file command fails, too:
% append file2 {}
~foo
% file tail $file2
user "foo" doesn't exist

I would have expected to get consistent results in all
cases, regardless of whether the variable was the
result of a glob or not.

R'

Discussion

  • Donal K. Fellows

    • labels: 105657 --> 37. File System
    • milestone: --> obsolete: 8.4.6
    • assigned_to: dkf --> vincentdarley
     
  • Vince Darley

    Vince Darley - 2004-12-02
    • status: open --> closed-fixed
     
  • Vince Darley

    Vince Darley - 2004-12-02

    Logged In: YES
    user_id=32170

    Fixed (in 8.4 and 8.5) -- thanks!

     
MongoDB Logo MongoDB