Nazri Ramliy wrote: > On Wed, Aug 4, 2010 at 4:39 AM, Bram Moolenaar <b...@moolenaar.net> wrote: > >> Attached is the fix on top of Revision: 7d1044b27e. > > > > Thanks and sorry, I suppose I caused this problem. > > That is minuscule compared to all the problems that I have caused with > all this find-completion stuff :) > > Prove (this will show that I'm still naive at grokking vim source code): > > We shouldn't have to write window-specific code for the find completion > because apparently f_globpath() works fine on both unix and windows and > it happily uses globpath() to do its job. > > To cut a long story short, I found this out while writing a test script > for testing the find completion stuff. > > With that realization I'm going to investigate why is it that on > windows, globpath() as used in the expand_in_path() function fails to do > its jobs when it works just fine when used in f_globpath(), with the > exact same set of arguments. > > I'm attaching a patch to produce my "debug" version of eval.c and > misc1.c which will show this problem for those who would like to help in > investigating this. > > On windows, doing > > :echo globpath("c:/src/vim/**", "misc*") > > calls f_globpath(), which in turn calls globpath() with the arguments > "c:/src/vim/**", "misc*" and 0 for path, file and expand_options, > respectively and it successfully gives > > c:\src\vim\src\misc1.c > c:\src\vim\src\misc2.c > c:\src\vim\src\proto\misc1.c > c:\src\vim\src\proto\misc2.c > c:\src\vim\src\ObjC\misc1.obj > c:\src\vim\src\ObjC\misc2.obj > c:\src\vim\src\ObjG\misc1.obj > c:\src\vim\src\ObjG\misc2.obj > > while doing > > :set path=c:/src/vim/** > :find misc<tab> > > which call expand_in_path(), which in turns call globpath(), fails with > the exact same argument "c:/src/vim/**", "misc*" and 0 for path, file and > expand_options, respectively.
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 noticed another problem: with 'path' set to "./**" and in an empty buffer :find completion crashes. I fixed it. Maybe I'll have time to look at the completion code, looks like you are getting lost. -- The process for understanding customers primarily involves sitting around with other marketing people and talking about what you would to if you were dumb enough to be a customer. (Scott Adams - The Dilbert principle) /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- 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