Hard to explain. Easy to repro:
> mkdir foo
> touch foo.c
> dir foo.<tab>
To me this should only complete the foo.c. It should not complete the directory foo.
Of course this happens if 'foo' is a file. And there's a valid argement that 'foo.' and 'foo' are the same file.
In fact I'm pretty sure that fact will cause this no not get 'fixed' although I can not imagine anyone who ever wanted or expected it to work this way ( type 4 characters and hit tab to complete a 3 character name ).
> mkdir foo
> touch foo.c
> dir foo.<tab>
To me this should only complete the foo.c. It should not complete the directory foo.
Of course this happens if 'foo' is a file. And there's a valid argement that 'foo.' and 'foo' are the same file.
In fact I'm pretty sure that fact will cause this no not get 'fixed' although I can not imagine anyone who ever wanted or expected it to work this way ( type 4 characters and hit tab to complete a 3 character name ).