diff options
-rwxr-xr-x | Lib/platform.py | 16 | ||||
-rw-r--r-- | Misc/NEWS | 5 |
2 files changed, 12 insertions, 9 deletions
diff --git a/Lib/platform.py b/Lib/platform.py index 389e50c..7015044 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -1135,8 +1135,8 @@ def python_compiler(): ### The Opus Magnum of platform strings :-) -_platform_cache = None -_platform_aliased_cache = None +_platform_cache = {True:None, False:None} +_platform_aliased_cache = {True:None, False:None} def platform(aliased=0, terse=0): @@ -1159,10 +1159,10 @@ def platform(aliased=0, terse=0): """ global _platform_cache,_platform_aliased_cache - if not aliased and (_platform_cache is not None): - return _platform_cache - elif _platform_aliased_cache is not None: - return _platform_aliased_cache + if not aliased and (_platform_cache[bool(terse)] is not None): + return _platform_cache[bool(terse)] + elif _platform_aliased_cache[bool(terse)] is not None: + return _platform_aliased_cache[bool(terse)] # Get uname information and then apply platform specific cosmetics # to it... @@ -1219,11 +1219,11 @@ def platform(aliased=0, terse=0): platform = _platform(system,release,machine,processor,bits,linkage) if aliased: - _platform_aliased_cache = platform + _platform_aliased_cache[bool(terse)] = platform elif terse: pass else: - _platform_cache = platform + _platform_cache[bool(terse)] = platform return platform ### Command line interface @@ -283,7 +283,7 @@ Extension modules into groups sharing the same key (as determined by a key function). It offers some of functionality of SQL's groupby keyword and of the Unix uniq filter. - + - itertools now has a new function, tee() which produces two independent iterators from a single iterable. @@ -296,6 +296,9 @@ Extension modules Library ------- +- Fixed a caching bug in platform.platform() where the argument of 'terse' was + not taken into consideration when caching value. + - Added two new command-line arguments for profile (output file and default sort). |