diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CHANGES.txt | 2 | ||||
-rw-r--r-- | src/engine/SCons/Util.py | 21 |
2 files changed, 14 insertions, 9 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index dce8e34..9fa0501 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 0d64e03..fcadf48 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) |