diff options
| author | Kurt B. Kaiser <kbk@shore.net> | 2004-11-13 21:05:58 +0000 | 
|---|---|---|
| committer | Kurt B. Kaiser <kbk@shore.net> | 2004-11-13 21:05:58 +0000 | 
| commit | f7a8899f33fb0a1efe6cb57fc1b712fa1059d0a6 (patch) | |
| tree | 6a0ab84dde5560accfe488cb0be387cc77fe2220 /Lib/idlelib/PyShell.py | |
| parent | 1681b622515e2c174d59e79746579e71339adc04 (diff) | |
| download | cpython-git-f7a8899f33fb0a1efe6cb57fc1b712fa1059d0a6.tar.gz | |
The change in the linecache.checkcache() signature at rev 1.13 caused IDLE to exit
when an exception was raised while running w/o the subprocess.  Python Bug 1063840
M NEWS.txt
M PyShell.py
Diffstat (limited to 'Lib/idlelib/PyShell.py')
| -rw-r--r-- | Lib/idlelib/PyShell.py | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index 313c95d1ba..887d63804c 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -73,14 +73,16 @@ else:          return s      warnings.formatwarning = idle_formatwarning -def extended_linecache_checkcache(orig_checkcache=linecache.checkcache): +def extended_linecache_checkcache(filename=None, +                                  orig_checkcache=linecache.checkcache):      """Extend linecache.checkcache to preserve the <pyshell#...> entries -    Rather than repeating the linecache code, patch it to save the pyshell# -    entries, call the original linecache.checkcache(), and then restore the -    saved entries.  Assigning the orig_checkcache keyword arg freezes its value -    at definition time to the (original) method linecache.checkcache(), i.e. -    makes orig_checkcache lexical. +    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. + +    orig_checkcache is bound at definition time to the original +    method, allowing it to be patched.      """      cache = linecache.cache | 
