No. Currentry, `=foo` is a just only way that can specify argument
without escaping, and can specify non-valid filename. This is usefull
to make buffer with especially name. ex: "[##My Buffer##]".
If applies wildignore or suffixes for this, we must avoid to match to
them with that backup and specify empty to wildignore like following.

:let old_wildignore = &wildignore
:set wildignore=
:so `=script_name_that_may_change_value_of_wildignore_option`
:let &wildignore = old_wildignore
" the change of wildignore is not arrlied

I think, fnameescape() is not best way to specify argument for any
commands. Because edit command treat argument as pattern.

:e [a-z]

If fnameescape() escape this,

:e \[a-z\]

When you run below on windows:

mkdir C:\[a-
mkdir C:\[a-\]

How to specify argument to edit this?



On 6/15/12, Ingo Karkat <[email protected]> wrote:
> On 15-Jun-2012 15:35:05 +0200, Ingo Karkat wrote:
>
>> The issue is that some plugin writers have used backtick expansion as
>> a workaround for the mentioned bugs in fnameescape().
>
> I think the help text could also be more clear about 'wildignore'; I only
> found
> out about this behavior by chance.
>
> -- regards, ingo
>
> diff -r ca39f14c1ec3 runtime/doc/editing.txt
> --- a/runtime/doc/editing.txt Thu Jun 14 20:59:25 2012 +0200
> +++ b/runtime/doc/editing.txt Fri Jun 15 17:05:30 2012 +0200
> @@ -377,8 +377,9 @@
>  embedded spaces must be escaped with a backslash.
>
>                                               *wildcard* *wildcards*
> -Wildcards in {file} are expanded.  Which wildcards are supported depends
> on
> -the system.  These are the common ones:
> +Wildcards in {file} are expanded, but as with file completion,
> 'wildignore'
> +and 'suffixes' apply.  Which wildcards are supported depends on the
> system.
> +These are the common ones:
>       ?       matches one character
>       *       matches anything, including nothing
>       **      matches anything, including nothing, recurses into directories
> @@ -422,9 +423,10 @@
>  external command, by using the syntax `={expr}` e.g.: >
>       :e `=tempname()`
>  The expression can contain just about anything, thus this can also be used
> to
> -avoid the special meaning of '"', '|', '%' and '#'.  Names are to be
> separated
> -with line breaks.  When the result is a |List| then each item is used as a
> -name.  Line breaks also separate names.
> +avoid the special meaning of '"', '|', '%' and '#', but 'wildignore' still
> +applies.  Use |fnameescape()| together with |:execute| to open arbitrary
> +files.  Names are to be separated with line breaks.  When the result is a
> +|List| then each item is used as a name.  Line breaks also separate names.
>
>                                                       *++opt* *[++opt]*
>  The [++opt] argument can be used to force the value of 'fileformat',
> diff -r ca39f14c1ec3 runtime/doc/options.txt
> --- a/runtime/doc/options.txt Thu Jun 14 20:59:25 2012 +0200
> +++ b/runtime/doc/options.txt Fri Jun 15 17:05:30 2012 +0200
> @@ -7841,9 +7841,9 @@
>                       {not available when compiled without the |+wildignore|
>                       feature}
>       A list of file patterns.  A file that matches with one of these
> -     patterns is ignored when completing file or directory names, and
> -     influences the result of |expand()|, |glob()| and |globpath()| unless
> -     a flag is passed to disable this.
> +     patterns is ignored when expanding |wildcards|, completing file or
> +     directory names, and influences the result of |expand()|, |glob()| and
> +     |globpath()| unless a flag is passed to disable this.
>       The pattern is used like with |:autocmd|, see |autocmd-patterns|.
>       Also see 'suffixes'.
>       Example: >
>
> --
> 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
>


-- 
- Yasuhiro Matsumoto

-- 
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