stat() and tilde prefix (was bad bash tab completion)

Shaddy Baddah lithium-cygwin@shaddybaddah.name
Tue Jan 15 12:33:00 GMT 2013


Hi,

On 15 Jan 2013 03:13, Corinna Vinschen wrote:
>> It seems to me then that a patch to bash may be in order? I can see how
>> the bash check is the right thing to do. It doesn't want the special
>> tilde expansion to mask and disallow referencing of real tilde prefixed
>> paths. So the stat() check is the quick win to determine that.
>>
>>  From what I make of it, there needs to be a patch that, although can
>> work generically, adds checks only required for Cygwin. And therefore
>> is specific to the Cygwin package.
>>
>> The check would be an extension of the file_exists() function, perhaps
>> called tilde_file_exists(), which determines if the tilde prefix forms
>> a directory component of the path (strchr('/')?). If it does not, the
>> file_exists() check is sufficient. If it does, then the check of if
>> that directory exists is logically and'ed to the result of
>> file_exists().
>>
>> Does that sound about right?
>
> A check like this might be a good idea.  Ultimately I would be glad to
> be able to come up with more correct code in Cygwin while not getting
> slower, of course.  But that's wishful thinking for now.

Bash, patched in the way I have described, seems to fix the tab
completion issue.

I will tidy up the work and publish the patch at some point soon. I may
have taken a naive approach, so review comments are welcome.

-- 
Regards,
Shaddy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list