Thursday, June 24, 2010

Re: findfile() behaviour difference to finddir() - no path information

On 24/06/2010 1:06 PM, Erik Falor wrote:
On Thu, Jun 24, 2010 at 09:49:26AM -0400, David Fishburn wrote:   
 VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jun 22 2010 14:52:33) MS-Windows 32-bit GUI version with OLE support Included patches: 1-444  When I issue a finddir(), I get an absolute path back to the location of my file (in my particular case).  When I issue a findfile(), I get just the file, which is kind of useless since I want to edit the file.  This only tells me it found it, not where it found it.  Looking at :h finddir()          Returns the path of the first found match.  When the found         directory is below the current directory a relative path is         returned.  Otherwise a full path is returned.   :h findfile()         Just like |finddir()|, but find a file instead of a directory.  So I should be receiving either a relative path name or a fullpath. Given the finddir() returned the fullpath in this case, findfile() should also. In my case, I received just the filename even though the file was several directories deep from the initial path to search from. finddir() did the "right thing".   Could someone verify the intended behaviour?  TIA, Dave     
 I followed these steps, and did not reproduce your Vim's behavior:  1. Create file ~/test/b/bb/bbb/b.file 2. `vim -u NONE -c 'chdir ~/test'` 3. :echo findfile('b.file', './**')    Results in 'b/bb/bbb/b.file' 4. :echo finddir('bbb', './**')    Results in 'b/bb/bbb'    
...

Thanks for trying and confirming Erik.

I will have to narrow this down since it wasn't behaving this way earlier, but I had recently rebuilt with new patches.

Dave



No comments: