[Python-checkins] r73785 - in python/branches/release31-maint: Include/code.h Include/pythonrun.h Lib/test/test___future__.py Misc/NEWS

benjamin.peterson python-checkins at python.org
Fri Jul 3 00:02:15 CEST 2009


Author: benjamin.peterson
Date: Fri Jul  3 00:02:15 2009
New Revision: 73785

Log:
Merged revisions 73782-73784 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r73782 | benjamin.peterson | 2009-07-02 16:44:01 -0500 (Thu, 02 Jul 2009) | 1 line
  
  the old CO_FUTURE flags can't be commented out
................
  r73783 | benjamin.peterson | 2009-07-02 16:54:36 -0500 (Thu, 02 Jul 2009) | 1 line
  
  a little more fiddling to make flags like 2.x
................
  r73784 | benjamin.peterson | 2009-07-02 16:55:39 -0500 (Thu, 02 Jul 2009) | 9 lines
  
  Merged revisions 73781 via svnmerge from 
  svn+ssh://pythondev@svn.python.org/python/trunk
  
  ........
    r73781 | benjamin.peterson | 2009-07-02 16:38:36 -0500 (Thu, 02 Jul 2009) | 1 line
    
    test that compile() accepts the future flag
  ........
................


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Include/code.h
   python/branches/release31-maint/Include/pythonrun.h
   python/branches/release31-maint/Lib/test/test___future__.py
   python/branches/release31-maint/Misc/NEWS

Modified: python/branches/release31-maint/Include/code.h
==============================================================================
--- python/branches/release31-maint/Include/code.h	(original)
+++ python/branches/release31-maint/Include/code.h	Fri Jul  3 00:02:15 2009
@@ -42,15 +42,15 @@
 */
 #define CO_NOFREE       0x0040
 
-#if 0
 /* These are no longer used. */
+#if 0
 #define CO_GENERATOR_ALLOWED    0x1000
+#endif
 #define CO_FUTURE_DIVISION    	0x2000
 #define CO_FUTURE_ABSOLUTE_IMPORT 0x4000 /* do absolute imports by default */
 #define CO_FUTURE_WITH_STATEMENT  0x8000
 #define CO_FUTURE_PRINT_FUNCTION  0x10000
 #define CO_FUTURE_UNICODE_LITERALS 0x20000
-#endif
 
 #define CO_FUTURE_BARRY_AS_BDFL  0x40000
 

Modified: python/branches/release31-maint/Include/pythonrun.h
==============================================================================
--- python/branches/release31-maint/Include/pythonrun.h	(original)
+++ python/branches/release31-maint/Include/pythonrun.h	Fri Jul  3 00:02:15 2009
@@ -7,8 +7,10 @@
 extern "C" {
 #endif
 
-#define PyCF_MASK CO_FUTURE_BARRY_AS_BDFL
-#define PyCF_MASK_OBSOLETE 0
+#define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \
+                   CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \
+                   CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL)
+#define PyCF_MASK_OBSOLETE (CO_NESTED)
 #define PyCF_SOURCE_IS_UTF8  0x0100
 #define PyCF_DONT_IMPLY_DEDENT 0x0200
 #define PyCF_ONLY_AST 0x0400

Modified: python/branches/release31-maint/Lib/test/test___future__.py
==============================================================================
--- python/branches/release31-maint/Lib/test/test___future__.py	(original)
+++ python/branches/release31-maint/Lib/test/test___future__.py	Fri Jul  3 00:02:15 2009
@@ -53,9 +53,12 @@
 
             a(hasattr(value, "compiler_flag"),
                    "feature is missing a .compiler_flag attr")
+            # Make sure the compile accepts the flag.
+            compile("", "<test>", "exec", value.compiler_flag)
             a(isinstance(getattr(value, "compiler_flag"), int),
                    ".compiler_flag isn't int")
 
+
 def test_main():
     support.run_unittest(FutureTest)
 

Modified: python/branches/release31-maint/Misc/NEWS
==============================================================================
--- python/branches/release31-maint/Misc/NEWS	(original)
+++ python/branches/release31-maint/Misc/NEWS	Fri Jul  3 00:02:15 2009
@@ -20,6 +20,11 @@
   the 'surrogateescape' error handler, a string which contains unpaired
   surrogates.
 
+C-API
+-----
+
+- The code flags for old __future__ features are now available again.
+
 Library
 -------
 


More information about the Python-checkins mailing list