summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2008-03-26 22:01:37 (GMT)
committerChristian Heimes <christian@cheimes.de>2008-03-26 22:01:37 (GMT)
commit3c60833e1e53f6239825b44f76fa22172feb1790 (patch)
treea8ebf8db7f226aaaa1a144e1b6361281374a169a /Include
parent0cb3e86c472828720bb36a8335f10b81389fb668 (diff)
downloadcpython-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.h1
-rw-r--r--Include/compile.h1
-rw-r--r--Include/parsetok.h8
-rw-r--r--Include/pythonrun.h3
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