[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling in C mode and the compilation buffer

From: Shug Boabie
Subject: Re: compiling in C mode and the compilation buffer
Date: Wed, 28 Jul 2004 20:29:29 +0000 (UTC)

Benjamin Rutt wrote:
> Shug Boabie <address@hidden> writes:
> >> excellent, however i would still like the window to remain open upon
> >> detection of warnings as well [in order to force me to write ISO C99
> >code> :-)]. i use the compile command exclusively for C code, so a grep
> >for> "warning:" should be sufficient. however, my attempts to customise
> >your> function have failed. any further hints?
> >
> > for the record, here is what i have been trying to do, but it is not
> > working:
> >
> > (defun sam-compile (buf str)
> >   (when (string-match "*compilation.*" (buffer-name buf))
> >     (if (string-match "exited abnormally" str)
> >     (progn
> >           (message "compilation errors, press C-x ` to view"))
> >       (if (string-match "warning:" str)
> >           (progn
> >             (message "compilation warnings, press C-x ` to view"))
> >         (run-at-time 0.5 nil 'delete-windows-on buf)
> >         (message "no compile errors or warnings")))))
> This won't work because the `str' variable above only gets the last
> line output by emacs during a compilation.  It will either look like
> "Compilation exited abnormally" or "Compilation finished".

aah, i thought that might have been the case. cheers.

> I suggest if you really want to treat warnings as errors, you can tell
> your compiler to do so.  Under gcc, you would pass the -Werror flag
> during compilation.

yeah... i've been doing that as a workaround, but it would be nice to be
able to have it detect warnings.

if this function were made more advanced... like parsing the whole output,
it would allow warning detection AND also auto jump-to the first line of
warnings/errors that the compile command produces. but thats an exercise
for the more confident elisp user :-)

thanks for the function... it basically does what i wanted :-)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]