From: stevenknight Date: Sat, 22 Feb 2003 13:17:05 +0000 (+0000) Subject: Make SCons.Util.to_String() more efficient. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=dec3c05c3710f90ba50faf83d4a3e45e017e1167;p=scons.git Make SCons.Util.to_String() more efficient. git-svn-id: http://scons.tigris.org/svn/scons/trunk@595 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- diff --git a/src/CHANGES.txt b/src/CHANGES.txt index dce8e349..9fa0501d 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -23,6 +23,8 @@ RELEASE 0.12 - XXX from source code systems. Add factory methods that create Builders to support BitKeeper, CVS, RCS, SCCS and Subversion. + - Make the internal to_String() function more efficient. + RELEASE 0.11 - Tue, 11 Feb 2003 05:24:33 -0600 diff --git a/src/engine/SCons/Util.py b/src/engine/SCons/Util.py index 0d64e038..fcadf48d 100644 --- a/src/engine/SCons/Util.py +++ b/src/engine/SCons/Util.py @@ -506,15 +506,18 @@ def is_Dict(e): def is_List(e): return type(e) is types.ListType or isinstance(e, UserList.UserList) -def to_String(s): - """Better than str() because it will preserve a unicode - object without converting it to ASCII.""" - if hasattr(types, 'UnicodeType') and \ - (type(s) is types.UnicodeType or \ - (isinstance(s, UserString) and type(s.data) is types.UnicodeType)): - return unicode(s) - else: - return str(s) +if hasattr(types, 'UnicodeType'): + def to_String(s): + if isinstance(s, UserString): + t = type(s.data) + else: + t = type(s) + if t is types.UnicodeType: + return unicode(s) + else: + return str(s) +else: + to_String = str def argmunge(arg): return Split(arg)