This patch uses font-lock-mode's syntactic keyword feature to ensure that triple quoted strings are displayed correctly. In particular, it defines a font-lock-syntactic-keywords table that finds any quote marks that should not be considered string delimiters because they occur inside triple-quoted strings, and sets their syntactic designation to "normal punctuation" (the same designation used for e.g. operators).
This is a more principled approach than my previous attempt to fix python-mode's handling of triple-quoted strings , and as a result the patch is about a third as big, and should never incur any serious overhead.
This patch has been tested successfully on the following emacs variants:
XEmacs 21.4 (patch 13) (i386-redhat-linux)
XEmacs 21.4 (patch 17) (i386-debian-linux)
GNU Emacs 21.3.1 (i386-wingw-nt5.1.2600)
GNU Emacs 21.3.1 (i386-redhat-linux-gnu)
GNU Emacs 126.96.36.199 (powerpc-apple-darwin8.3.0)
I am also including the file test-triple-strings.py, which contains a bunch of test cases to make sure the mode is working correctly. This file is *not* intended to be run -- it is intended to be opened in python-mode, and examined by hand to verify that the correct faces are used. I included test cases for every corner case that I thought of (e.g. interactions between backslashes and quotes, and cases with more than 3 quotes in a row).
The new behavior can be turned off using the customization constant "py-syntactic-triple-quoted-strings" (default=t), but I don't expect that to ever be necessary.
I am retiring my previous patch with the same goal  -- this patch supsercedes it.
If this patch looks acceptable, let me know, and I can commit it. (Or feel free to commit it yourself.) It might be good to include the test file, possibly in a "tests/" subdirectory.