Manuel Ortega wrote:

> On Thu, Mar 5, 2015 at 1:35 PM, Bram Moolenaar <[email protected]> wrote:
> 
> >
> > Patch 7.4.654
> > Problem:    glob() and globpath() cannot include links to non-existing
> > files.
> >             (Charles Campbell)
> > Solution:   Add an argument to include all links with glob(). (James McCoy)
> >             Also for globpath().
> > Files:      src/vim.h, src/eval.c, src/ex_getln.c
> >
> 
> There are no updates to the docs yet, so I don't know how to make use of
> this new feature.
> 
> I supposed it would be a 0-or-1 sort of thing like the other two optional
> arguments that glob() take, but experimentation on OSX 10.10.2 revealed
> that that approach did not work.  I had a non-referring link that was not
> returned in the output, no matter whether I made the new optional argument
> be 0 or 1.

I'll push the docs soon.  Here is the relevant part:

glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])              *glob()*
                Expand the file wildcards in {expr}.  See |wildcards| for the
                use of special characters.

                Unless the optional {nosuf} argument is given and is non-zero,
                the 'suffixes' and 'wildignore' options apply: Names matching
                one of the patterns in 'wildignore' will be skipped and
                'suffixes' affect the ordering of matches.
                'wildignorecase' always applies.

                When {list} is present and it is non-zero the result is a List
                with all matching files. The advantage of using a List is,
                you also get filenames containing newlines correctly.
                Otherwise the result is a String and when there are several
                matches, they are separated by <NL> characters.

                If the expansion fails, the result is an empty String or List.

                A name for a non-existing file is not included.  A symbolic
                link is only included if it points to an existing file.
                However, when the {alllinks} argument is present and it is
                non-zero then all symbolic links are included.

                For most systems backticks can be used to get files names from
                any external command.  Example: >
                        :let tagfiles = glob("`find . -name tags -print`")
                        :let &tags = substitute(tagfiles, "\n", ",", "g")
<               The result of the program inside the backticks should be one
                item per line.  Spaces inside an item are allowed.

                See |expand()| for expanding special Vim variables.  See
                |system()| for getting the raw output of an external command.

                                                                *globpath()*
globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
                Perform glob() on all directories in {path} and concatenate
                the results.  Example: >
                        :echo globpath(&rtp, "syntax/c.vim")
<
                {path} is a comma-separated list of directory names.  Each
                directory name is prepended to {expr} and expanded like with
                |glob()|.  A path separator is inserted when needed.
                To add a comma inside a directory name escape it with a
                backslash.  Note that on MS-Windows a directory may have a
                trailing backslash, remove it if you put a comma after it.
                If the expansion fails for one of the directories, there is no
                error message.

                Unless the optional {nosuf} argument is given and is non-zero,
                the 'suffixes' and 'wildignore' options apply: Names matching
                one of the patterns in 'wildignore' will be skipped and
                'suffixes' affect the ordering of matches.

                When {list} is present and it is non-zero the result is a List
                with all matching files. The advantage of using a List is, you
                also get filenames containing newlines correctly. Otherwise
                the result is a String and when there are several matches,
                they are separated by <NL> characters.  Example: >
                        :echo globpath(&rtp, "syntax/c.vim", 0, 1)
<
                {allinks} is used as with |glob()|.

                The "**" item can be used to search in a directory tree.
                For example, to find all "README.txt" files in the directories
                in 'runtimepath' and below: >
                        :echo globpath(&rtp, "**/README.txt")
<               Upwards search and limiting the depth of "**" is not
                supported, thus using 'path' will not always work properly.

-- 
       "To whoever finds this note -
       I have been imprisoned by my father who wishes me to marry
       against my will.  Please please please please come and rescue me.
       I am in the tall tower of Swamp Castle."
   SIR LAUNCELOT's eyes light up with holy inspiration.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- [email protected] -- 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_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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui