diff options
author | Andrew Scheller <github@loowis.durge.org> | 2014-04-08 02:42:50 +0100 |
---|---|---|
committer | Andrew Scheller <github@loowis.durge.org> | 2014-04-08 02:42:50 +0100 |
commit | 12968fb6b24fa3e28e4b4f9cb7928579a9477318 (patch) | |
tree | 09e58e7b74e6aa25250c3463a9df3609dc7753ca | |
parent | 72d70cb0455c61ee963d9063bd42a8b0f6c80789 (diff) | |
download | micropython-12968fb6b24fa3e28e4b4f9cb7928579a9477318.tar.gz micropython-12968fb6b24fa3e28e4b4f9cb7928579a9477318.zip |
Display \r and \t escape codes in string repr
-rw-r--r-- | py/objstr.c | 5 | ||||
-rw-r--r-- | tests/basics/string-repr.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/py/objstr.c b/py/objstr.c index 4c09871b96..d2d672b983 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -63,7 +63,10 @@ void mp_str_print_quoted(void (*print)(void *env, const char *fmt, ...), void *e print(env, "%c", *s); } else if (*s == '\n') { print(env, "\\n"); - // TODO add more escape codes here if we want to match CPython + } else if (*s == '\r') { + print(env, "\\r"); + } else if (*s == '\t') { + print(env, "\\t"); } else { print(env, "\\x%02x", *s); } diff --git a/tests/basics/string-repr.py b/tests/basics/string-repr.py new file mode 100644 index 0000000000..ba8dbe6d1c --- /dev/null +++ b/tests/basics/string-repr.py @@ -0,0 +1,3 @@ +# anything above 0xa0 is printed as Unicode by CPython3.3 +for c in range(0xa1): + print("0x%02x: %s" % (c, repr(chr(c)))) |