diff options
author | Georg Brandl <georg@python.org> | 2008-06-04 11:41:32 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-06-04 11:41:32 +0000 |
commit | f954c4b9fb8529cc13a2e24c58137c66ac836b28 (patch) | |
tree | 91575068c14eec261bc4e2c44da9c881eda4efe1 /Objects/unicodectype.c | |
parent | e5d68aceb529934e75d505bbfaf867e02493a1bc (diff) | |
download | cpython-git-f954c4b9fb8529cc13a2e24c58137c66ac836b28.tar.gz |
Remove meaning of -ttt, but still accept -t option on cmdline for compatibility.
Diffstat (limited to 'Objects/unicodectype.c')
-rw-r--r-- | Objects/unicodectype.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Objects/unicodectype.c b/Objects/unicodectype.c index 911c53f65c..267962f319 100644 --- a/Objects/unicodectype.c +++ b/Objects/unicodectype.c @@ -21,6 +21,7 @@ #define UPPER_MASK 0x80 #define XID_START_MASK 0x100 #define XID_CONTINUE_MASK 0x200 +#define NONPRINTABLE_MASK 0x400 typedef struct { const Py_UNICODE upper; @@ -675,6 +676,26 @@ int _PyUnicode_IsNumeric(Py_UNICODE ch) return _PyUnicode_ToNumeric(ch) != -1.0; } +/* Returns 1 for Unicode characters to be hex-escaped when repr()ed, + 0 otherwise. + Characters defined in the Unicode character database as following + categories are not considered printable. + * Cc (Other, Control) + * Cf (Other, Format) + * Cs (Other, Surrogate) + * Co (Other, Private Use) + * Cn (Other, Not Assigned) + * Zl Separator, Line ('\u2028', LINE SEPARATOR) + * Zp Separator, Paragraph ('\u2029', PARAGRAPH SEPARATOR) + * Zs (Separator, Space) other than ASCII space('\x20'). +*/ +int _PyUnicode_IsPrintable(Py_UNICODE ch) +{ + const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); + + return (ctype->flags & NONPRINTABLE_MASK) == 0; +} + #ifndef WANT_WCTYPE_FUNCTIONS /* Returns 1 for Unicode characters having the bidirectional type |