]> granicus.if.org Git - python/commitdiff
Fixed bug #1915: Python compiles with --enable-unicode=no again. However several...
authorChristian Heimes <christian@cheimes.de>
Wed, 23 Jan 2008 14:20:50 +0000 (14:20 +0000)
committerChristian Heimes <christian@cheimes.de>
Wed, 23 Jan 2008 14:20:50 +0000 (14:20 +0000)
Lib/encodings/__init__.py
Lib/optparse.py
Misc/NEWS
Parser/tokenizer.c

index 7db44cbc4e90d5aeeb01fea71e31ac6a4405cb43..aea7c5e18385cd28bec55947f05578dfb5549007 100644 (file)
@@ -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)
index 62d2f7e034febdb39eb1b6fa686ddc71abf2a624..4fbe0947e346f43aedad6d75a875c767ede91348 100644 (file)
@@ -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:
 
index 103a353dcce2057f37e0fb1f0d5b65e464acdc8b..4c1080ae342abe4fa5d3c5c83a5a324b1c1cb24b 100644 (file)
--- 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
index 6e74c7b26b59db1b7ca04a2d4095b652eee0afb7..257ef1c87b80fec51faed22048992eefb1d17686 100644 (file)
@@ -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)
 {