diff options
author | Christian Heimes <christian@cheimes.de> | 2008-03-26 22:01:37 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2008-03-26 22:01:37 (GMT) |
commit | 3c60833e1e53f6239825b44f76fa22172feb1790 (patch) | |
tree | a8ebf8db7f226aaaa1a144e1b6361281374a169a /Include | |
parent | 0cb3e86c472828720bb36a8335f10b81389fb668 (diff) | |
download | cpython-3c60833e1e53f6239825b44f76fa22172feb1790.zip cpython-3c60833e1e53f6239825b44f76fa22172feb1790.tar.gz cpython-3c60833e1e53f6239825b44f76fa22172feb1790.tar.bz2 |
Patch #2477: Added from __future__ import unicode_literals
The new PyParser_*Ex() functions are based on Neal's suggestion and initial patch. The new __future__ feature makes all '' and r'' unicode strings. b'' and br'' stay (byte) strings.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/code.h | 1 | ||||
-rw-r--r-- | Include/compile.h | 1 | ||||
-rw-r--r-- | Include/parsetok.h | 8 | ||||
-rw-r--r-- | Include/pythonrun.h | 3 |
4 files changed, 12 insertions, 1 deletions
diff --git a/Include/code.h b/Include/code.h index 0e89b88..8c00700 100644 --- a/Include/code.h +++ b/Include/code.h @@ -49,6 +49,7 @@ typedef struct { #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 /* This should be defined if a future statement modifies the syntax. For example, when a keyword is added. diff --git a/Include/compile.h b/Include/compile.h index d703edb..43a470d 100644 --- a/Include/compile.h +++ b/Include/compile.h @@ -25,6 +25,7 @@ typedef struct { #define FUTURE_ABSOLUTE_IMPORT "absolute_import" #define FUTURE_WITH_STATEMENT "with_statement" #define FUTURE_PRINT_FUNCTION "print_function" +#define FUTURE_UNICODE_LITERALS "unicode_literals" struct _mod; /* Declare the existence of this type */ diff --git a/Include/parsetok.h b/Include/parsetok.h index 808c72c..ec1eb6f 100644 --- a/Include/parsetok.h +++ b/Include/parsetok.h @@ -28,6 +28,7 @@ typedef struct { #endif #define PyPARSE_PRINT_IS_FUNCTION 0x0004 +#define PyPARSE_UNICODE_LITERALS 0x0008 @@ -41,11 +42,18 @@ PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int, PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *, int, char *, char *, perrdetail *, int); +PyAPI_FUNC(node *) PyParser_ParseFileFlagsEx(FILE *, const char *, grammar *, + int, char *, char *, + perrdetail *, int *); PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *, const char *, grammar *, int, perrdetail *, int); +PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilenameEx(const char *, + const char *, + grammar *, int, + perrdetail *, int *); /* Note that he following function is defined in pythonrun.c not parsetok.c. */ PyAPI_FUNC(void) PyParser_SetError(perrdetail *); diff --git a/Include/pythonrun.h b/Include/pythonrun.h index a4dd914..7dfff28 100644 --- a/Include/pythonrun.h +++ b/Include/pythonrun.h @@ -8,7 +8,8 @@ extern "C" { #endif #define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \ - CO_FUTURE_WITH_STATEMENT|CO_FUTURE_PRINT_FUNCTION) + CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \ + CO_FUTURE_UNICODE_LITERALS) #define PyCF_MASK_OBSOLETE (CO_NESTED) #define PyCF_SOURCE_IS_UTF8 0x0100 #define PyCF_DONT_IMPLY_DEDENT 0x0200 |