On 2013-07-23, Dimitar DIMITROV wrote:
> > > Hi,
> > >
> > > Found that many default compiler plugins lacked the makeprg setting.
> > > I basically opened a perl file, then a c file and tried to compile it with
> :mak
> > > and it tried to use perl -c
> > > this patch fixes it for gcc:
> > >
> > > *** gcc.vim    2013-07-23 12:32:14.000000000 +0100
> > > --- /tmp/gcc.vim    2013-07-23 12:32:08.453563055 +0100
> > > ***************
> > > *** 11,16 ****
> > > --- 11,17 ----
> > >  let s:cpo_save = &cpo
> > >  set cpo&vim
> > >
> > > + CompilerSet makeprg=gcc\ %\ $*
> > >  CompilerSet errorformat=
> > >        \%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
> > >        \%*[^\"]\"%f\"%*\\D%l:\ %m,
> >
> > For C programs, 'makeprg' should not be gcc, it should be make.  The
> > makefile specifies the compiler and how it is to compile the
> > program.
> 
> Ok, I realize it now. I should have used a Makefile. Also the message states
> it.
> But in fact there is still an issue. If you fist open a perl file (as an
> example)
> and right after you open a c file, makeprg is not updated. Is this intentional
> and the user is supposed to run :comp gcc?

The user is apparently supposed to execute the :compiler command
for each buffer.  I looked in $VIMRUNTIME/ftplugin and did not
see any plugins that automatically set the compiler.

Compiler plugins are supposed to use CompilerSet which should
normally set 'makeprg' and/or 'errorformat' to be local to the
buffer.  So when you open a Perl file, 'makeprg' should initially
be "make".  After executing ":compiler perl", 'makeprg' should be
"perl -Wc %".  But if you then open a C file, 'makeprg' should
revert to "make".  It does for me, running Vim 7.4a.9.

Regards,
Gary

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui