From: Ezio Melotti <ezio.melotti@gmail.com> Date: Mon, 2 Aug 2010 20:26:41 +0000 (+0000) Subject: Merged revisions 79558 via svnmerge from X-Git-Tag: v2.6.6rc1~59 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b55d36805566c092c11b8e38792c759742cd6a1f;p=python Merged revisions 79558 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r79558 | florent.xicluna | 2010-04-01 21:17:09 +0300 (Thu, 01 Apr 2010) | 2 lines #7092: Fix some -3 warnings, and fix Lib/platform.py when the path contains a double-quote. ........ --- diff --git a/Lib/cgitb.py b/Lib/cgitb.py index 19b4149f9f..766d331ec6 100644 --- a/Lib/cgitb.py +++ b/Lib/cgitb.py @@ -94,10 +94,10 @@ def scanvars(reader, frame, locals): lasttoken = token return vars -def html((etype, evalue, etb), context=5): +def html(einfo, context=5): """Return a nice HTML document describing a given traceback.""" import os, types, time, traceback, linecache, inspect, pydoc - + etype, evalue, etb = einfo if type(etype) is types.ClassType: etype = etype.__name__ pyver = 'Python ' + sys.version.split()[0] + ': ' + sys.executable @@ -186,10 +186,10 @@ function calls leading up to the error, in the order they occurred.</p>''' ''' % pydoc.html.escape( ''.join(traceback.format_exception(etype, evalue, etb))) -def text((etype, evalue, etb), context=5): +def text(einfo, context=5): """Return a plain text document describing a given traceback.""" import os, types, time, traceback, linecache, inspect, pydoc - + etype, evalue, etb = einfo if type(etype) is types.ClassType: etype = etype.__name__ pyver = 'Python ' + sys.version.split()[0] + ': ' + sys.executable diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 8248089fec..aeb6b744dc 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -676,7 +676,7 @@ class build_ext (Command): # extensions in debug_mode are named 'module_d.pyd' under windows so_ext = get_config_var('SO') if os.name == 'nt' and self.debug: - return apply(os.path.join, ext_path) + '_d' + so_ext + return os.path.join(*ext_path) + '_d' + so_ext return os.path.join(*ext_path) + so_ext def get_export_symbols (self, ext): diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index c4a8711d08..90f68d8208 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -205,7 +205,7 @@ def convert_path (pathname): paths.remove('.') if not paths: return os.curdir - return apply(os.path.join, paths) + return os.path.join(*paths) # convert_path () diff --git a/Lib/idlelib/AutoCompleteWindow.py b/Lib/idlelib/AutoCompleteWindow.py index 635775d954..81eeec1bf0 100644 --- a/Lib/idlelib/AutoCompleteWindow.py +++ b/Lib/idlelib/AutoCompleteWindow.py @@ -349,10 +349,8 @@ class AutoCompleteWindow: self.lastkey_was_tab = True return - elif reduce(lambda x, y: x or y, - [keysym.find(s) != -1 for s in ("Shift", "Control", "Alt", - "Meta", "Command", "Option") - ]): + elif any(s in keysym for s in ("Shift", "Control", "Alt", + "Meta", "Command", "Option")): # A modifier key, so ignore return diff --git a/Lib/idlelib/MultiCall.py b/Lib/idlelib/MultiCall.py index b228f57fa3..e8a3191f5a 100644 --- a/Lib/idlelib/MultiCall.py +++ b/Lib/idlelib/MultiCall.py @@ -107,10 +107,9 @@ class _SimpleBinder: # a list of the states which are a subset of it. This list is ordered by the # number of modifiers is the state - the most specific state comes first. _states = range(1 << len(_modifiers)) -_state_names = [reduce(lambda x, y: x + y, - [_modifiers[i][0]+'-' for i in range(len(_modifiers)) - if (1 << i) & s], - "") +_state_names = [''.join(m[0]+'-' + for i, m in enumerate(_modifiers) + if (1 << i) & s) for s in _states] _state_subsets = map(lambda i: filter(lambda j: not (j & (~i)), _states), _states) @@ -119,11 +118,13 @@ for l in _state_subsets: range(len(_modifiers)))): nummod(b) - nummod(a)) # _state_codes gives for each state, the portable code to be passed as mc_state -_state_codes = [reduce(lambda x, y: x | y, - [_modifier_masks[i] for i in range(len(_modifiers)) - if (1 << i) & s], - 0) - for s in _states] +_state_codes = [] +for s in _states: + r = 0 + for i in range(len(_modifiers)): + if (1 << i) & s: + r |= _modifier_masks[i] + _state_codes.append(r) class _ComplexBinder: # This class binds many functions, and only unbinds them when it is deleted. diff --git a/Lib/platform.py b/Lib/platform.py index aba2c3308d..9e7ee5ffd8 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -1012,7 +1012,7 @@ def _syscmd_file(target,default=''): if sys.platform in ('dos','win32','win16','os2'): # XXX Others too ? return default - target = _follow_symlinks(target) + target = _follow_symlinks(target).replace('"', '\\"') try: f = os.popen('file "%s" 2> /dev/null' % target) except (AttributeError,os.error): @@ -1078,13 +1078,13 @@ def architecture(executable=sys.executable,bits='',linkage=''): executable == sys.executable: # "file" command did not return anything; we'll try to provide # some sensible defaults then... - if _default_architecture.has_key(sys.platform): - b,l = _default_architecture[sys.platform] + if sys.platform in _default_architecture: + b, l = _default_architecture[sys.platform] if b: bits = b if l: linkage = l - return bits,linkage + return bits, linkage # Split the output into a list of strings omitting the filename fileout = _architecture_split(output)[1:]