Build with --disable-unicode again. Fixes #1158607.
Will backport to 2.4.
diff --git a/Lib/codecs.py b/Lib/codecs.py
index b283925..b4103fb 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -720,11 +720,19 @@
### error handlers
-strict_errors = lookup_error("strict")
-ignore_errors = lookup_error("ignore")
-replace_errors = lookup_error("replace")
-xmlcharrefreplace_errors = lookup_error("xmlcharrefreplace")
-backslashreplace_errors = lookup_error("backslashreplace")
+try:
+ strict_errors = lookup_error("strict")
+ ignore_errors = lookup_error("ignore")
+ replace_errors = lookup_error("replace")
+ xmlcharrefreplace_errors = lookup_error("xmlcharrefreplace")
+ backslashreplace_errors = lookup_error("backslashreplace")
+except LookupError:
+ # In --disable-unicode builds, these error handler are missing
+ strict_errors = None
+ ignore_errors = None
+ replace_errors = None
+ xmlcharrefreplace_errors = None
+ backslashreplace_errors = None
# Tell modulefinder that using codecs probably needs the encodings
# package
diff --git a/Lib/copy.py b/Lib/copy.py
index b216beb..dbfe2f5 100644
--- a/Lib/copy.py
+++ b/Lib/copy.py
@@ -202,12 +202,12 @@
d[bool] = _deepcopy_atomic
try:
d[complex] = _deepcopy_atomic
-except AttributeError:
+except NameError:
pass
d[str] = _deepcopy_atomic
try:
d[unicode] = _deepcopy_atomic
-except AttributeError:
+except NameError:
pass
try:
d[types.CodeType] = _deepcopy_atomic
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 485e9e0..a296caf 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -144,7 +144,7 @@
TESTFN_UNICODE_UNENCODEABLE = None
else:
# Japanese characters (I think - from bug 846133)
- TESTFN_UNICODE_UNENCODEABLE = u"@test-\u5171\u6709\u3055\u308c\u308b"
+ TESTFN_UNICODE_UNENCODEABLE = eval('u"@test-\u5171\u6709\u3055\u308c\u308b"')
try:
# XXX - Note - should be using TESTFN_ENCODING here - but for
# Windows, "mbcs" currently always operates as if in