Subject: bug#17826: 24.4.50; compile.el: gcc-include is now all INFO, not WARNING

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 04 Aug 2019 14:33:42 +0200

Dima Kogan <[email-masked]> writes:

> The attached patch changes the gcc-include type of "M-x compile" to be
> INFO. Let's say I have 3 source files:
>
> a.c:
> #include "a.h"
>
> a.h:
> #include "b.h"
>
> b.h:
> asdf;
>
> Clearly trying to compile a.c fails since b.h has an error. I do M-x
> compile, and build with "gcc -c -o a.o a.c". I get a *compilation*
> buffer with
>
>  -*- mode: compilation; default-directory: "/tmp/" -*-
>  Compilation started at Sat Jun 21 01:43:01
>
>  gcc -c -o a.o a.c
>  In file included from a.h:1:0,
>                   from a.c:1:
>  b.h:1:1: warning: data definition has no type or storage class [enabled by default]
>   aadsf;
>   ^
>
>  Compilation finished at Sat Jun 21 01:43:01
>
> Prior to this patch the line that contains "from a.h:1:0," was seen as
> INFO and the line that contains "from a.c:1:" was seen as a
> WARNING. This patch makes them both INFO.

I think this makes a lot of sense, and I've tried the patch, and it
fixes this problem.  Does anybody object to making both those "included"
lines INFO instead of having one of them WARNING?

(The practical effect here is that `next-error' will skip INFO lines by
default.)

> -\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?\\(?:\\(:\\)\\|\\(,\\|$\\)\\)?"
> -     1 2 3 (4 . 5))
> +\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?\\(?:\\([:,]\\|$\\)\\)?"
> +     1 2 3 (nil . 4))

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no