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