- assigned_to: nobody --> splicednetworks
Currently, yafc does not deal correctly with filenames
containing glob characters. As an example, try GETting
a file named "foo[bar]baz.txt". Yafc will tab complete
the file to "foo\[bar\]baz.txt", but the attempt to get
the file will fail will fail with a "no matches" error.
This is because the escaped string passes through the
bash unescape code (resulting in "foo[bar]baz.txt"
without the quotes) and is then handed to the glob
matching code, which treats the brackets as metacharacters.
I suspect that the proper fix is to have the tab
completion code, upon filename expansion first escape
all glob metacharacters ("*", "?", "[", and "]"), then
do its normal bash quoting. Thus, the tab completion
would produce "foo\\\[bar\\\]baz.txt".
Note that this problem does *not* affect the put
command -- just the get and ls commands. I can put
"foo\*bar" (without the quotes) with no problems, but
get and ls both spit out errors (thus a patch to fix
this problem should not affect put).