summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2008-01-23 14:20:50 (GMT)
committerChristian Heimes <christian@cheimes.de>2008-01-23 14:20:50 (GMT)
commit082c9b0267e45cdff9bb8d30a4332f63bd14c58e (patch)
tree614e442cb1dad3aad11bb9d35031d0dac4c04b07
parent964ca4274f2a1bea783b52e74c71d2dcfdb4fafc (diff)
downloadcpython-082c9b0267e45cdff9bb8d30a4332f63bd14c58e.zip
cpython-082c9b0267e45cdff9bb8d30a4332f63bd14c58e.tar.gz
cpython-082c9b0267e45cdff9bb8d30a4332f63bd14c58e.tar.bz2
Fixed bug #1915: Python compiles with --enable-unicode=no again. However several extension methods and modules do not work without unicode support.
-rw-r--r--Lib/encodings/__init__.py3
-rw-r--r--Lib/optparse.py6
-rw-r--r--Misc/NEWS4
-rw-r--r--Parser/tokenizer.c3
4 files changed, 12 insertions, 4 deletions
diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py
index 7db44cb..aea7c5e 100644
--- a/Lib/encodings/__init__.py
+++ b/Lib/encodings/__init__.py
@@ -30,6 +30,7 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
import codecs
from encodings import aliases
+import __builtin__
_cache = {}
_unknown = '--unknown--'
@@ -60,7 +61,7 @@ def normalize_encoding(encoding):
"""
# Make sure we have an 8-bit string, because .translate() works
# differently for Unicode strings.
- if isinstance(encoding, unicode):
+ if hasattr(__builtin__, "unicode") and isinstance(encoding, unicode):
# Note that .encode('latin-1') does *not* use the codec
# registry, so this call doesn't recurse. (See unicodeobject.c
# PyUnicode_AsEncodedString() for details)
diff --git a/Lib/optparse.py b/Lib/optparse.py
index 62d2f7e..4fbe094 100644
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -824,7 +824,11 @@ except NameError:
(True, False) = (1, 0)
def isbasestring(x):
- return isinstance(x, types.StringType) or isinstance(x, types.UnicodeType)
+ try:
+ return isinstance(x, basestring)
+ except:
+ return isinstance(x, types.StringType) or isinstance(x, types.UnicodeType)
+
class Values:
diff --git a/Misc/NEWS b/Misc/NEWS
index 103a353..4c1080a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,10 @@ What's New in Python 2.6 alpha 1?
Core and builtins
-----------------
+- Bug #1915: Python compiles with --enable-unicode=no again. However
+ several extension methods and modules do not work without unicode
+ support.
+
- Patch #1720595: add T_BOOL to the range of structmember types.
- Issue #1882: when compiling code from a string, encoding cookies in the
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 6e74c7b..257ef1c 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -1563,7 +1563,7 @@ PyTokenizer_Get(struct tok_state *tok, char **p_start, char **p_end)
there, as it must be empty for PGEN, and we can check for PGEN only
in this file. */
-#ifdef PGEN
+#if defined(PGEN) || !defined(Py_USING_UNICODE)
char*
PyTokenizer_RestoreEncoding(struct tok_state* tok, int len, int* offset)
{
@@ -1584,7 +1584,6 @@ dec_utf8(const char *enc, const char *text, size_t len) {
}
return ret;
}
-
char *
PyTokenizer_RestoreEncoding(struct tok_state* tok, int len, int *offset)
{