diff options
author | Guilherme Polo <ggpolo@gmail.com> | 2009-08-14 15:05:30 +0000 |
---|---|---|
committer | Guilherme Polo <ggpolo@gmail.com> | 2009-08-14 15:05:30 +0000 |
commit | 1fff00832639082d2d7aa354c8e6d9110171d6bc (patch) | |
tree | 969c400d839ce118c879c0537cd93065c24fe518 /Lib/idlelib/PyShell.py | |
parent | 6837083582176067868d1cc60772ef9de6ef6bd3 (diff) | |
download | cpython-git-1fff00832639082d2d7aa354c8e6d9110171d6bc.tar.gz |
Merged revisions 74446-74449 via svnmerge from
svn+ssh://pythondev/python/trunk
........
r74446 | guilherme.polo | 2009-08-14 10:53:41 -0300 (Fri, 14 Aug 2009) | 1 line
Issue #3344: Replace itertools.count by enumerate.
........
r74447 | guilherme.polo | 2009-08-14 11:03:07 -0300 (Fri, 14 Aug 2009) | 1 line
Issue #3926: Fix the usage of the new showwarnings and formatwarning.
........
r74448 | guilherme.polo | 2009-08-14 11:36:45 -0300 (Fri, 14 Aug 2009) | 3 lines
Issue #1135: Add the XView and YView mix-ins to avoid duplicating
the xview* and yview* methods.
........
r74449 | guilherme.polo | 2009-08-14 11:43:43 -0300 (Fri, 14 Aug 2009) | 1 line
Clarifying Entry.selection_present's docstring.
........
Diffstat (limited to 'Lib/idlelib/PyShell.py')
-rw-r--r-- | Lib/idlelib/PyShell.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index 01360891c8..edc9334f9c 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -55,20 +55,21 @@ except ImportError: else: def idle_showwarning(message, category, filename, lineno, file=None, line=None): - file = warning_stream + if file is None: + file = warning_stream try: - file.write(warnings.formatwarning(message, category, filename,\ + file.write(warnings.formatwarning(message, category, filename, lineno, file=file, line=line)) except IOError: pass ## file (probably __stderr__) is invalid, warning dropped. warnings.showwarning = idle_showwarning - def idle_formatwarning(message, category, filename, lineno, - file=None, line=None): + def idle_formatwarning(message, category, filename, lineno, line=None): """Format warnings the IDLE way""" s = "\nWarning (from warnings module):\n" s += ' File \"%s\", line %s\n' % (filename, lineno) - line = linecache.getline(filename, lineno).strip() \ - if line is None else line + if line is None: + line = linecache.getline(filename, lineno) + line = line.strip() if line: s += " %s\n" % line s += "%s: %s\n>>> " % (category.__name__, message) @@ -81,18 +82,17 @@ def extended_linecache_checkcache(filename=None, Rather than repeating the linecache code, patch it to save the <pyshell#...> entries, call the original linecache.checkcache() - (which destroys them), and then restore the saved entries. + (skipping them), and then restore the saved entries. orig_checkcache is bound at definition time to the original method, allowing it to be patched. - """ cache = linecache.cache save = {} - for filename in cache: - if filename[:1] + filename[-1:] == '<>': - save[filename] = cache[filename] - orig_checkcache() + for key in list(cache): + if key[:1] + key[-1:] == '<>': + save[key] = cache.pop(key) + orig_checkcache(filename) cache.update(save) # Patch linecache.checkcache(): |