SF #737473: Show up-to-date source code in tracebacks always.
And add an optional argument 'filename' to linecache.checkcache()
to enable checking caches per-file.
diff --git a/Lib/traceback.py b/Lib/traceback.py
index cf78648..95cde2b 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -65,6 +65,7 @@
name = co.co_name
_print(file,
' File "%s", line %d, in %s' % (filename,lineno,name))
+ linecache.checkcache(filename)
line = linecache.getline(filename, lineno)
if line: _print(file, ' ' + line.strip())
tb = tb.tb_next
@@ -96,6 +97,7 @@
co = f.f_code
filename = co.co_filename
name = co.co_name
+ linecache.checkcache(filename)
line = linecache.getline(filename, lineno)
if line: line = line.strip()
else: line = None
@@ -277,6 +279,7 @@
co = f.f_code
filename = co.co_filename
name = co.co_name
+ linecache.checkcache(filename)
line = linecache.getline(filename, lineno)
if line: line = line.strip()
else: line = None