<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <blockquote
cite="mid:CAKhWKDODPAV9QQb1e64mGVinxvJC-rFQRwRq1ZdC0gVYNW4i3w@mail.gmail.com"
      type="cite">
      <blockquote type="cite">
        <pre wrap="">
Thanks. But I still don't know how to do it. Obviously, I wouldn't like to
browse C source files. In fact it was about 5 years ago when I last wrote a
program in C, so even if I downloaded the sources, it wouldn't help.
</pre>
      </blockquote>
      <pre wrap="">
A quick search of the manual for regex finds
<a class="moz-txt-link-freetext" href="http://www.geany.org/manual/current/#build-settings-section">http://www.geany.org/manual/current/#build-settings-section</a> for how
the regex is used</pre>
    </blockquote>
    <br>
    I could setup Geany so that it automatically opens files referenced
    from error messages (if they are not opened yet). It can also
    navigate to the good line number. How can I use non-capturing groups
    in the error parsing regex?<br>
    <p>Here is an example. There are two kinds of error messages that I
      can get - because there can be an error in the compiler that I'm
      working on, and also there can be an error in the file that is
      being compiled:<br>
    </p>
    <tt>Error message (type one): <br>
      <br>
      File "/home/gandalf/Python/Lib/shopzeus/scripts/ssdlc.py", line
      23, in <module><br>
      <br>
      Regexp (type one):<br>
      <br>
      \s*File\s\"([^\"]+)\", line (\d+), in\s*(.*)<br>
      <br>
      <br>
      Error message (type two):<br>
      <br>
      /home/gandalf/Python/Lib/shopzeus/demos/ssdl/test/test.ssdl:53:9:Syntax
      error<br>
      <br>
      Regexp (type two):<br>
      <br>
      ([^:]+):([^:]+):[^:]+:([^:]+)<br>
    </tt>
    <p>Both of these errors can happen then I press F8, so I would like
      to capture both messages if possible.  This is what I have tried:<br>
    </p>
    <p>(?:\s*File\s\"([^\"]+)\", line (\d+),
      in\s*(.*))|(?:([^:]+):([^:]+):[^:]+:([^:]+))<br>
    </p>
    <p>But it does not capture errors in the compiler. Maybe my regular
      expression is wrong. Or maybe the non-capturing group "?:" does
      not work.<br>
    </p>
    <p>Here are some things that don't work:<br>
    </p>
    <ul>
      <li>Cannot make a difference between warnings and errors. Now I
        know that this is a limitation of Geany and I can live with it.
        It would be a good improvement though.<br>
      </li>
      <li>My compiler actually can tell the column number of the error
        too. Geany cannot interpret column numbers in error messages,
        right? This could be a good improvement too. ( Should I post
        this as a request on the dev list? )</li>
      <li>It is a bit off topic. When using GNU style error messages
        under Windows, parts of the error messages are ambiguous.
        Because the parts should be separated with colons, but under
        Windows the file names can contain colons too. I understand that
        this is a limitation of the GNU standard, not Geany. And I know
        that I could use a different error message format. But I'm
        hesitant to do it. What is better: follow the standard, or make
        it working? Is there a way to have both?</li>
    </ul>
    <p>Otherwise, I'm quite satisfied now. :-) Thank you for your help!<br>
    </p>
    <p>Best,<br>
    </p>
    <p>  Laszlo<br>
      <br>
    </p>
  </body>
</html>