Re: [PATCH] makeprg for gcc

2013-07-24 Fir de Conversatie Bram Moolenaar

Dimitar Dimitrov wrote:

> 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.0 +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,

I don't really like that solution, because one of many makeprg values
could be right.  For example, bcc.vim sets it to "make".  That makes
sense for gcc.vim as well.

Can we make ther perl compiler plugin restore makeprg?
Like we have undo_ftplugin for filetype plugins.


-- 
hundred-and-one symptoms of being an internet addict:
15. Your heart races faster and beats irregularly each time you see a new WWW
site address in print or on TV, even though you've never had heart
problems before.

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

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




Re: [PATCH] makeprg for gcc

2013-07-23 Fir de Conversatie Gary Johnson
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.vim2013-07-23 12:32:14.0 +0100
> > > --- /tmp/gcc.vim2013-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.




Re: [PATCH] makeprg for gcc

2013-07-23 Fir de Conversatie Dimitar DIMITROV
> > 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.0 +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?

> Regards,
> Gary

 
Dimitar


---
GPG Key: 2048R/160C6FA8 2012-10-11 Dimitar Dimitrov (kurkale6ka) 


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




Re: [PATCH] makeprg for gcc

2013-07-23 Fir de Conversatie Gary Johnson
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.vim2013-07-23 12:32:14.0 +0100
> --- /tmp/gcc.vim2013-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.

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.