<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#330033" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 9/6/2017 1:18 PM, Gregory P. Smith
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGE7PN+JwyJBMB1WdFXbyMpbDUVF0M=eU1QXguDaDDOr0i2oVA@mail.gmail.com">
      <div>I'm not concerned about moving things into a state structure
        rather than wildly scattered globals declared all over the
        place.  It is good code hygiene. It ultimately moves us closer
        (much more work to be done) to being able to actually have
        multiple independent interpreters within the same process
        (including potentially even of different Python versions).</div>
      <div><br>
      </div>
      <div>For commonly typed things that get annoying,</div>
      <div><br>
      </div>
      <div>#define _Py_grail   _PyRuntme.ceval.holy.grail</div>
      <div><br>
      </div>
      <div>within the .c source file that does a lot of grail flinging
        seems fine to me.</div>
      <div><br>
      </div>
      <div>-gps</div>
    </blockquote>
    <br>
    You just need a PEP 550 (or 555) to use instead of C globals.<br>
    <br>
    But why would you ever want multiple Python versions in one process?
    Sounds like a debug headache in the making. Name collisions would
    abound for libraries and functions even if globals were cured!<br>
  </body>
</html>