--- pylint/checkers/format.py	2012-10-15 19:15:51.000000000 +1100
+++ pylint/checkers/format.py	2012-12-24 16:46:41.000000000 +1100
@@ -391,7 +391,10 @@

     # Characters that have a special meaning after a backslash in either
     # Unicode or byte strings.
-    ESCAPE_CHARACTERS = 'abfnrtvox\n\r\t\\\'\"'
+    ESCAPE_CHARACTERS = 'abfnrtvx\n\r\t\\\'\"01234567'
+
+    # TODO(mbp): Octal characters are quite an edge case today; people may
+    # prefer a separate warning where they occur.  \0 should be allowed.

     # Characters that have a special meaning after a backslash but only in
     # Unicode strings.
--- pylint/test/input/func_excess_escapes.py	2012-09-21 17:47:54.000000000 +1000
+++ pylint/test/input/func_excess_escapes.py	2012-12-24 16:45:08.000000000 +1100
@@ -12,7 +12,10 @@
 NEWLINE = "\n"
 OLD_ESCAPES = '\a\b\f\n\t\r\v'
 HEX = '\xad\x0a\x0d'
-OCTAL = '\o123\o000'
+FALSE_OCTAL = '\o123\o000'  # Not octal in Python
+OCTAL = '\123\000'
+NOT_OCTAL = '\888\999'
+NUL = '\0'
 UNICODE = u'\u1234'
 HIGH_UNICODE = u'\U0000abcd'
 QUOTES = '\'\"'
--- pylint/test/messages/func_excess_escapes.txt	2012-09-21 17:47:54.000000000 +1000
+++ pylint/test/messages/func_excess_escapes.txt	2012-12-24 16:45:08.000000000 +1100
@@ -2,7 +2,11 @@
 W:  7: Anomalous backslash in string: '\]'. String constant might be missing an r prefix.
 W:  8: Anomalous backslash in string: '\/'. String constant might be missing an r prefix.
 W:  9: Anomalous backslash in string: '\`'. String constant might be missing an r prefix.
-W: 24: Anomalous backslash in string: '\P'. String constant might be missing an r prefix.
-W: 30: Anomalous Unicode escape in byte string: '\u'. String constant might be missing an r or u prefix.
-W: 31: Anomalous Unicode escape in byte string: '\U'. String constant might be missing an r or u prefix.
-W: 32: Anomalous Unicode escape in byte string: '\N'. String constant might be missing an r or u prefix.
+W: 15: Anomalous backslash in string: '\o'. String constant might be missing an r prefix.
+W: 15: Anomalous backslash in string: '\o'. String constant might be missing an r prefix.
+W: 17: Anomalous backslash in string: '\8'. String constant might be missing an r prefix.
+W: 17: Anomalous backslash in string: '\9'. String constant might be missing an r prefix.
+W: 27: Anomalous backslash in string: '\P'. String constant might be missing an r prefix.
+W: 33: Anomalous Unicode escape in byte string: '\u'. String constant might be missing an r or u prefix.
+W: 34: Anomalous Unicode escape in byte string: '\U'. String constant might be missing an r or u prefix.
+W: 35: Anomalous Unicode escape in byte string: '\N'. String constant might be missing an r or u prefix.
