[Python-checkins] r60216 - in python/trunk: Lib/encodings/__init__.py Lib/optparse.py Misc/NEWS Parser/tokenizer.c
Nick Coghlan
ncoghlan at gmail.com
Thu Jan 24 12:34:25 CET 2008
christian.heimes wrote:
> Author: christian.heimes
> Date: Wed Jan 23 15:20:50 2008
> New Revision: 60216
>> Modified:
> python/trunk/Lib/encodings/__init__.py
> python/trunk/Lib/optparse.py
> python/trunk/Misc/NEWS
> python/trunk/Parser/tokenizer.c
> Log:
> Fixed bug #1915: Python compiles with --enable-unicode=no again. However several extension methods and modules do not work without unicode support.
>> Modified: python/trunk/Lib/encodings/__init__.py
> ==============================================================================
> --- python/trunk/Lib/encodings/__init__.py (original)
> +++ python/trunk/Lib/encodings/__init__.py Wed Jan 23 15:20:50 2008
> @@ -30,6 +30,7 @@
>> import codecs
> from encodings import aliases
> +import __builtin__
>> _cache = {}
> _unknown = '--unknown--'
> @@ -60,7 +61,7 @@
> """
> # 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)
>> Modified: python/trunk/Lib/optparse.py
> ==============================================================================
> --- python/trunk/Lib/optparse.py (original)
> +++ python/trunk/Lib/optparse.py Wed Jan 23 15:20:50 2008
> @@ -824,7 +824,11 @@
> (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)
> +
If this is trying to define isbasestring differently depending on
whether or not basestring exists, wouldn't it make more sense to put the
def statement inside the try/except statement? Something like:
try:
basestring
def isbasestring(x):
return isinstance(x, basestring)
except NameError:
def isbasestring(x):
return (isinstance(x, types.StringType)
or isinstance(x, types.UnicodeType))
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-checkins
mailing list