[Python-Dev] Re: Stability and change

Barry A. Warsaw barry@zope.com
Mon, 8 Apr 2002 03:20:09 -0400

>>>>> "AM" == Alex Martelli <aleax@aleax.it> writes:

    AM> How does this amount of effort (keeping two CVS repositories
    AM> in sync) compare to maintaining just one tree but with
    AM> "feature-test macros" as one might try to do in C?  In other
    AM> words, how much help would it be if (for example) Python's
    AM> compiler optimized away tests of the form, e.g., if
    AM> __version__ > ( 2, 2 ) : as it does now with -O for "if
    AM> __debug__:" but even more deeply (so even some "syntax errors"
    AM> in the optimized-away conditional would be OK -- catering for
    AM> future syntax changes at the add-a-keyword level, e.g.)?

    AM> Maybe the obfuscated-with-version-tests merged source would be
    AM> too hard to maintain -- and maybe not, so I'm quite curious
    AM> about what your experience suggests here.  Intuitively, it
    AM> might seem a version test could perhaps help two or more
    AM> versions be alive at the same time, but I know of so much
    AM> controversy over C's #if (mostly, IMHO, because of its
    AM> over-use) that I wonder.

Part of the problem is implementation details (i.e. avoiding the use
of Python 2.2 features in standalone, but not in the Python cvs
tree).  Part of it is due to the nature of distutils package layout
(i.e. you need to put setup.py, README, etc. someplace, and distutils
seems to strongly discourage it being in th epackage).  Part of it's
also that I feel I have more leeway to change things in the standalone

But at some point it will stop making sense to distribute a separate