W dniu niedziela, 28 kwietnia 2013 18:42:08 UTC+2 użytkownik [email protected] napisał: > Hi, > > > > On Tue, Apr 23, 2013 at 11:52 PM, Dariusz Gadomski <[email protected]> > wrote: > > >>>> > > > >>>> > This problem is caused by the shell command line quote escape > > >>>> > character in MS-Windows. > > >>>> > I have a fix for this issue. I will update the grep plugin and release > > >>>> > a new version. > > >>>> > > > >>>> > - Yegappan > > >>>> > > >>>> I was trying to analyze this problem further and what I found out that > > >>>> actually vim calls something like this underneath: > > >>>> cmd /c (C:\msys\bin\find.exe C:\dev\<my-project> -type d ( -name .SVN ) > >>>> -prune > > >>>> -o -type f ( -name *.cpp ) -exec c:\msys\bin\grep.exe -s -n -- TODO > >>>> {} ;) > > >>>> > > >>>> When I tried to paste it directly to cmd.exe I got: > > >>>> -prune was unexpected at this time. > > >>>> So no std output was generated and the process terminated with an error > > >>>> on stderr - hence no tmp file created. > > >>>> I think those brackets around cmd /c call conflict with brackets that > >>>> make > > >>>> a part of find call itself. When I replace the outer brackets with > >>>> quotation > > >>>> marks: > > >>>> cmd /c "C:\msys\bin\find.exe C:\dev\<my-project> -type d ( -name .SVN ) > > >>>> -prune -o -type f ( -name *.cpp ) -exec c:\msys\bin\grep.exe -s -n -- > > >>>> TODO {} ;" > > >>>> I get no error and expected output is printed. > > >>>> > > >>>> So my guess is either: > > >>>> - a different method is needed in the find call to group the conditions > > >>>> (does find even allow a different way of grouping?) or > > >>>> - inner brackets need somehow be escaped in the call or > > >>>> - vim system() call needs to be fixed to handle brackets in the argument > >>>> string. > > >>>> > > >>>> Maybe is there another way to fix it or at least provide a temporary > > >>>> work-around? > > >>>> > > >>>> I would appreciate any hints that would enable me to use Rgrep until this > > >>>> problem gets fixed. > > >>>> > > >>> > > >>> The approach that works and used by the taglist plugin is to write the > > >>> command line > > >>> into a temporary .cmd file and execute it. The grep plugin also will use > >>> this > > >>> approach. > > >>> > > >> > > >> I have uploaded a new version of the grep plugin to the Vim online website. > > >> You can try using the new version and let me know if you see any issues. > > >> > > > > > > Great, the new version returns no error. Thanks! > > > > > > However, the Quickfix list contains no filenames, only line numbers, so it's > > > impossible to jump directly from the quicklist to the place that grep found. > > > Is there a "-H" flag missing to grep or does the msys version of grep behave > > > differently? > > > > > > I observe one more strange thing. If I run: > > > :Rgrep TODO > > > and give the directory to search and file extensions in subsequent prompts > > > it all works flawlessly, but if I run: > > > :Rgrep TODO *.cpp > > > the find command is expanded to: > > > (...) -type f ( -name -o -name *.cpp ) (...) > > > and returns no results. Providing more than one extension: > > > :Rgrep TODO *.cpp *.h > > > results with expanding to: > > > (...) -type f ( -name -o -name *.cpp -name *.h ) (...) > > > which still provides no results. > > > > > > Is that behavior expected or is giving file extensions inline not supported? > > > > > > > The problem in using the ":Rgrep <pattern> <filenames>" is fixed with the > > latest version (1.11) of the Vim plugin. > > > > - Yegappan
Hi, I'm encountering some similar problems as Dariusz have seen however on the 64-bit Ubuntu. Trying to run :Rgrep from VIM I get following error message : Error detected while processing function <SNR>19_RunGrepRecursive..<SNR>19_RunGrepCmd: line 20: E484: Can't open file /tmp/vAgZSwX/0 As I said I use 64-bit 13.10 Ubuntu with freshly cloned grep plugin from the : https://github.com/yegappan/grep Plugin is cloned into the bundle directory because I use pathogen plugin. I was wonder maybe you could help me with my problem, I'd really appreciate your help. -- -- 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/groups/opt_out.
