<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/04/2012 01:49 PM, Chris Angelico
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAPTjJmo1EOLWHn1RijtdBCWO1ZD9hUBvvSg0DV0y+aeNG5N4pw@mail.gmail.com"
      type="cite">
      <pre wrap="">One thing I'm not entirely clear on. Do you run Clinic on a source
file and it edits that file, or is it a step in the build process?
Your description of a preprocessor makes me think the latter, but the
style of code (eg the checksum) suggests the former.
</pre>
    </blockquote>
    <br>
    You run Clinic on a source file and it edits that file in-place
    (unless you use -o).  It's not currently integrated into the build
    process.  At what time Clinic gets run--manually or
    automatically--is TBD.<br>
    <br>
    Here's my blue-sky probably-overengineered proposal: we (and when I
    say "we" I mean "I") write a cross-platform C program that could be
    harmlessly but usefully integrated into the build process.  First,
    we add a checksum for the *input* into the Clinic output.  Next,
    when you run this program, you give it a C file as an argument. 
    First it tries to find a working Python on your path.  If it finds
    one, it uses that Python to run Clinic on the file, propagating any
    error code outward.  If it doesn't find one, it understands enough
    of the Clinic format to scan the C file looking for Clinic blocks. 
    If it finds one where the checksum doesn't match (for input or
    output!) it complains loudly and exits with an error code, hopefully
    bringing the build to a screeching halt.  This would integrate
    Clinic into the build process without making the build reliant on
    having a Python interpreter available.<br>
    <br>
    I get the sneaking suspicion that I'm going to rewrite Clinic to run
    under either Python 2.7 or 3,<br>
    <br>
    <br>
    <i>/arry</i><br>
  </body>
</html>