diff options
author | Kurt B. Kaiser <kbk@shore.net> | 2004-11-13 21:05:58 (GMT) |
---|---|---|
committer | Kurt B. Kaiser <kbk@shore.net> | 2004-11-13 21:05:58 (GMT) |
commit | f7a8899f33fb0a1efe6cb57fc1b712fa1059d0a6 (patch) | |
tree | 6a0ab84dde5560accfe488cb0be387cc77fe2220 /Lib/idlelib/PyShell.py | |
parent | 1681b622515e2c174d59e79746579e71339adc04 (diff) | |
download | cpython-f7a8899f33fb0a1efe6cb57fc1b712fa1059d0a6.zip cpython-f7a8899f33fb0a1efe6cb57fc1b712fa1059d0a6.tar.gz cpython-f7a8899f33fb0a1efe6cb57fc1b712fa1059d0a6.tar.bz2 |
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 313c95d..887d638 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 |