On Wed, Aug 4, 2010 at 12:46 PM, Bram Moolenaar <b...@moolenaar.net> wrote:
>
> Nazri Ramliy wrote:
>
>> On Wed, Aug 4, 2010 at 7:20 PM, Bram Moolenaar <b...@moolenaar.net> wrote:
>> > If the arguments are the same the returned values should be the same.
>> > You will need to use a debugger to find out what really happens.
>>
>> I did.  The problem is due to the static nature of "recursive" in
>> gen_expand_wildcards().
>> Please see my patches to fix this in an earlier follow-up message [1].
>
> Yeah, I included this now.  I fixed a memory leak and moved the
> concatenation of strings to a separate function.
>
>> > I noticed another problem: with 'path' set to "./**" and in an empty
>> > buffer :find completion crashes. =A0I fixed it.
>>
>> Thanks.  I'll add this check to the test script.
>>
>> > Maybe I'll have time to look at the completion code, looks like you are
>> > getting lost.
>>
>> The light bulb turned on for me when I insert a debug message to print
>> the value of "recursive" at the top of gen_expand_wildcards().
>> It revealed that when doing
>>
>>   :echo globpath("c:/src/**", "misc*")
>>
>> globpath() is called with recursive set to FALSE, while doing
>>
>>   :find misc<tab>
>>
>> globpath() is called with recursive set to TRUE, which is why it
>> doesn't work the
>> same way.
>>
>> The patch attached in [1] seems to fix that.  With that patch the find
>> completion
>> uses the same code for both windows and unix.
>
> OK.  I also set recursive back to TRUE to stay on the safe side.

Seems to work well;  the speedup is noticeable on WinXP.

Nazri, for the future, you may want to try and add path completion for :cd

Ajit

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui