diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-09-10 14:08:48 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-09-10 14:08:48 +0000 |
commit | 93cbca33f2ab8dd8ed0f8582d94ed1a65fd137a4 (patch) | |
tree | bdd0c8f060a25f4d264bbd0db694ec0e6f8b8eae /Objects/unicodectype.c | |
parent | 1009d391873b523232440856fe1e728c3c94caab (diff) | |
download | cpython-git-93cbca33f2ab8dd8ed0f8582d94ed1a65fd137a4.tar.gz |
Merged revisions 66362 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r66362 | martin.v.loewis | 2008-09-10 15:38:12 +0200 (Mi, 10 Sep 2008) | 3 lines
Issue #3811: The Unicode database was updated to 5.1.
Reviewed by Fredrik Lundh and Marc-Andre Lemburg.
........
Diffstat (limited to 'Objects/unicodectype.c')
-rw-r--r-- | Objects/unicodectype.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Objects/unicodectype.c b/Objects/unicodectype.c index 82ef886fba..40694c619c 100644 --- a/Objects/unicodectype.c +++ b/Objects/unicodectype.c @@ -22,6 +22,7 @@ #define XID_START_MASK 0x100 #define XID_CONTINUE_MASK 0x200 #define PRINTABLE_MASK 0x400 +#define NODELTA_MASK 0x800 typedef struct { const Py_UNICODE upper; @@ -85,6 +86,9 @@ Py_UNICODE _PyUnicode_ToTitlecase(register Py_UNICODE ch) else delta = ctype->upper; + if (ctype->flags & NODELTA_MASK) + return delta; + if (delta >= 32768) delta -= 65536; @@ -767,6 +771,8 @@ Py_UNICODE _PyUnicode_ToUppercase(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); int delta = ctype->upper; + if (ctype->flags & NODELTA_MASK) + return delta; if (delta >= 32768) delta -= 65536; return ch + delta; @@ -779,6 +785,8 @@ Py_UNICODE _PyUnicode_ToLowercase(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); int delta = ctype->lower; + if (ctype->flags & NODELTA_MASK) + return delta; if (delta >= 32768) delta -= 65536; return ch + delta; |