I am trying to match errors from the OCaml compiler. It has warnings of the format:
File "GCommProxy.ml", line 30, characters 25-29:
Warning Z: unused variable info.
and errors of the format:
File "GCommProxy.ml", line 94, characters 46-60:
This expression has type ('a * 'b) list ref but is here used with type
('a * 'b) list
As you can see there is no way to differentiate the two based on the first line. It would be nice if the regular expressions for detecting warnings/errors could support multiple lines, even if they could only support a fixed, finite number of them.
Also, the documentation for the "Extra lines regexp" field is very hard to understand. My first thought was that if it matched a line then the entire line would be added to the error message. It took me a lot of experimentation to understand that there needed to be a set of parens for it to work. It is also strange that the Extra lines regexp is ignored if the Error message field is empty. Just because there is no interesting error message on the first line doesn't mean that there isn't anything on the extra lines. At the very least this behavior should be documented.