Saturday, June 22, 2013

Re: Not working wildcards in findfile()

Christian Brabandt wrote:

> On Fr, 21 Jun 2013, Christian Brabandt wrote:
> > On Do, 20 Jun 2013, Markus Braun wrote:
> >
> > > I have a question about using wildcards in the path argument to findfile()
> > > function. When running these commands
> > >
> > > mkdir -p "test/dir-1/" && touch "test/dir-1/foo"
> > > mkdir -p "test/dir-2/" && touch "test/dir-2/foo"
> > > mkdir -p "test/dir-3/" && touch "test/dir-3/foo"
> > > vim -u NONE -c "echo string(findfile('foo', 'test/*', -1))|call input('press ENTER to exit')|q"
> > > vim -u NONE -c "echo string(findfile('foo', 'test/dir-*', -1))|call input('press ENTER to exit')|q"
> > >
> > > I would expect vim to output both times the same output of
> > >
> > > ['test/dir-1/foo', 'test/dir-2/foo', 'test/dir-3/foo']
> > >
> > > but the second vim instance only gives
> > >
> > > []
> > >
> > > I don't understand this behavior. What am I doing wrong here?
> >
> > Looks like a bug. I almost have a working patch. I need to test it some
> > more...
>
> Bram,
> here is a patch, that makes findfile() behave as expected. Problem is,
> findfile() currently expects wildcards to be only after a valid
> directory name and for cases like findfile('test19.in', 'src/test*') (in
> Vim source directory), it tries to find a file 'test19.in' in a
> directory vim/src/test/ which doesn't exists and therefore fails.
>
> Patch contains a test.

Thanks!

--
Edison's greatest achievement came in 1879, when he invented the
electric company. Edison's design was a brilliant adaptation of the
simple electrical circuit: the electric company sends electricity
through a wire to a customer, then immediately gets the electricity
back through another wire

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
You received this message from the "vim_use" 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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: