Ingo Karkat wrote:
> On 24-Jun-08 12:07, Bram Moolenaar wrote: > > > > Ingo Karkat wrote: > > > >> 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. > > > > Glob() has always worked this way, changing it might break something. > > So let's document it. Perhaps an extra option to glob() and globpath > > can be used to, ehm, ignore 'wildignore'. > > You're right on, Bram, expand() already has this extra option. Please see > attached patch 'wildignore.diff', which adds this optional flag to glob() and > globpath(), too. (Additionally, I've renamed the local variable 'flag' to > 'expand_options' in f_expand() for consistency, fixed a wrong comment > statement > about 'suffixes' in there, and added the missing optional expand({expr} [, > {flag}]) argument in the :help functions documentation.) > > In case you don't want to introduce this change in VIM 7.2 any more, > I've done a documentation-only update in 'wildignore_doconly.diff', > which mentions the glob()-connection at :help 'wildignore' and > clarifies the effects of 'wildignore' and 'suffixes' at :help glob() > and :help globpath(). Thanks for the patch. I'll add a remark in the todo list. I don't think this will be included for 7.2. -- >From "know your smileys": :-{} Too much lipstick /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---