summaryrefslogtreecommitdiff
path: root/Lib/__future__.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-08-18 20:18:49 +0000
committerTim Peters <tim.peters@gmail.com>2001-08-18 20:18:49 +0000
commite46a0b6a13ff85ec496a36db16abc1d6966add9e (patch)
tree91f9e06a09cdd7677fd858a75d19826b81262041 /Lib/__future__.py
parente07abad172f9307149c44f584ad076090c8b2a90 (diff)
downloadcpython-e46a0b6a13ff85ec496a36db16abc1d6966add9e.tar.gz
Expose the CO_xxx flags via the "new" module (re-solving a problem "the
right way"). Fiddle __future__.py to use them. Jeremy's pyassem.py may also want to use them (by-hand duplication of magic numbers is brittle), but leaving that to his judgment. Beef up __future__'s test to verify the exported feature names appear correct.
Diffstat (limited to 'Lib/__future__.py')
-rw-r--r--Lib/__future__.py15
1 files changed, 4 insertions, 11 deletions
diff --git a/Lib/__future__.py b/Lib/__future__.py
index ef9fd3607c..5a6483832e 100644
--- a/Lib/__future__.py
+++ b/Lib/__future__.py
@@ -55,14 +55,7 @@ all_feature_names = [
__all__ = ["all_feature_names"] + all_feature_names
-
-# The CO_xxx symbols are defined here under the same names used by
-# compile.h, so that an editor search will find them here. However,
-# they're not exported in __all__, because they don't really belong to
-# this module.
-CO_NESTED = 0x0010 # nested_scopes
-CO_GENERATOR_ALLOWED = 0x1000 # generators
-CO_FUTURE_DIVISION = 0x2000 # division
+import new as _new # for CO_xxx symbols
class _Feature:
def __init__(self, optionalRelease, mandatoryRelease, compiler_flag):
@@ -93,12 +86,12 @@ class _Feature:
nested_scopes = _Feature((2, 1, 0, "beta", 1),
(2, 2, 0, "alpha", 0),
- CO_NESTED)
+ _new.CO_NESTED)
generators = _Feature((2, 2, 0, "alpha", 1),
(2, 3, 0, "final", 0),
- CO_GENERATOR_ALLOWED)
+ _new.CO_GENERATOR_ALLOWED)
division = _Feature((2, 2, 0, "alpha", 2),
(3, 0, 0, "alpha", 0),
- CO_FUTURE_DIVISION)
+ _new.CO_FUTURE_DIVISION)