On 20-Jun-08 18:34, Ingo Karkat wrote:
> On 20-Jun-08 17:59, Ben Fritz wrote:
>> I have a script that creates files like this:
>>
>> file.ext -> file.ext.ann_out.ext
>>
>> I don't want to see these files when I do filename completion, because
>> they clutter up my wildmenu. For this reason, I put:
>>
>> set wildignore+=*.ann_out.*
>>
>> into my .vimrc.
>>
>> Now, when I do this:
>>
>> gvim --remote-tab-silent file.ext.ann_out.ext
>>
>> I get "E479: No match"
>>
>> When I just do gvim file.ext.ann_out.ext, the file opens fine.
>>
>> When I remove the setting of wildignore from my vimrc, both methods
>> work fine.
>>
>> VIM - Vi IMproved 7.1 (2007 May 12, compiled Jun 18 2008 07:22:20)
>> MS-Windows 32 bit GUI version with OLE support
>> Included patches: 1-315
>> Compiled by [EMAIL PROTECTED]
>> Big version with GUI.  Features included (+) or not (-):
>> +arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset
>> +cindent
>> +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info
>> +comments
>> +cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs -dnd -
>> ebcdic
>> +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path
>> +find_in_path
>> +folding -footer +gettext/dyn -hangul_input +iconv/dyn +insert_expand
>> +jumplist
>>  +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap
>> +menu
>> +mksession +modify_fname +mouse +mouseshape +multi_byte_ime/dyn
>> +multi_lang
>> +mzscheme/dyn +netbeans_intg +ole -osfiletype +path_extra +perl/dyn -
>> postscript
>>  +printer -profile +python/dyn +quickfix +reltime +rightleft +ruby/
>> dyn
>> +scrollbind +signs +smartindent -sniff +statusline -sun_workshop
>> +syntax
>> +tag_binary +tag_old_static -tag_any_white +tcl/dyn -tgetent -
>> termresponse
>> +textobjects +title +toolbar +user_commands +vertsplit +virtualedit
>> +visual
>> +visualextra +viminfo +vreplace +wildignore +wildmenu +windows
>> +writebackup
>> -xfontset -xim -xterm_save -xpm_w32
>>    system vimrc file: "$VIM\vimrc"
>>      user vimrc file: "$HOME\_vimrc"
>>  2nd user vimrc file: "$VIM\_vimrc"
>>       user exrc file: "$HOME\_exrc"
>>   2nd user exrc file: "$VIM\_exrc"
>>   system gvimrc file: "$VIM\gvimrc"
>>     user gvimrc file: "$HOME\_gvimrc"
>> 2nd user gvimrc file: "$VIM\_gvimrc"
>>     system menu file: "$VIMRUNTIME\menu.vim"
>> Compilation: gcc -O3 -fomit-frame-pointer -freg-struct-return -fno-
>> strength-reduce -DWIN32 -DHAVE_PATHDEF -DFEAT_BIG -DWINVER=0x0400 -
>> D_WIN32_WINNT=0x0400 -DFEAT_PERL -DDYNAMIC_PERL -
>> DDYNAMIC_PERL_DLL="perl58.dll" -DFEAT_PYTHON -DDYNAMIC_PYTHON -
>> DDYNAMIC_PYTHON_DLL="python25.dll" -DFEAT_RUBY -DDYNAMIC_RUBY -
>> DDYNAMIC_RUBY_DLL="msvcrt-ruby18.dll" -DDYNAMIC_RUBY_VER=18 -
>> DFEAT_MZSCHEME -DDYNAMIC_MZSCHEME -
>> DDYNAMIC_MZSCH_DLL="libmzsch370.dll" -
>> DDYNAMIC_MZGC_DLL="libmzgc370.dll" -DFEAT_TCL -DDYNAMIC_TCL -
>> DDYNAMIC_TCL_DLL="tcl84.dll" -DDYNAMIC_GETTEXT -DDYNAMIC_ICONV -
>> DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_CSCOPE -
>> DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 -DFEAT_CLIPBOARD -DFEAT_OLE -
>> march=i386 -Iproto -I/cygdrive/c/PERL/lib/CORE -I/cygdrive/c/PYTHON25/
>> include -I/cygdrive/c/RUBY/lib/ruby/1.8/i386-mswin32 -I/cygdrive/c/
>> PROGRA~1/MzScheme/include -I/cygdrive/c/Tcl/include -s -mno-cygwin
>> Linking: gcc -s -o gvim.exe  -luuid -lole32 /cygdrive/c/Tcl/lib/
>> tclstub84.lib -lwsock32 -mwindows -lcomctl32 -lversion -loleaut32 -
>> lstdc++
> 
> I have made an observation that may be related to this:
> The 'wildignore' option influences / filters the output of glob():
> 
> gvim -N -u NONE
> :cd $VIMRUNTIME/tools
> :echo glob("efm*")
> efm_filter.pl
> efm_filter.txt
> efm_perl.pl
> :set wildignore=*.txt
> :echo glob("efm*")
> efm_filter.pl
> efm_perl.pl
> 
> I didn't expect this. :help 'wildignore' mentions:
>     A file that matches with one of these patterns is ignored when completing
>     file or directory names.
> But it isn't obvious that glob() is doing filename completion; its documented 
> purpose is to "*expand* the file wildcards in {expr}".
> 
> So, does this work as expected, or is it a bug that the implementation of 
> glob() 
> is affected by 'wildignore'? In the first case, I would appreciate it if a 
> note 
> is added to the help texts for 'wildignore' and glob().
> 
> -- regards, ingo
> 
> PS: Sorry for potentially hijacking this thread; I don't know whether this 
> actually is related.
> 
> /^-- Ingo Karkat -- /^-- /^-- /^-- /^-- /^-- /^-- http://ingo-karkat.de/ --

Nobody has commented yet; are there any opinions? Bram?
> So, does this work as expected, or is it a bug that the implementation of
> glob() is affected by 'wildignore'?
I'd rather classify this as a bug. I had to temporarily reset 'wildignore' once 
in a script to get around this; on the other hand, if I want filtering of 
filenames, I can always filter() the glob() output.

-- regards, ingo

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui