diff -rcN Lib/linecache.py.orig Lib/linecache.py *** Lib/linecache.py.orig Wed May 14 14:22:05 2003 --- Lib/linecache.py Wed May 14 14:22:22 2003 *************** *** 40,50 **** return updatecache(filename) ! def checkcache(): """Discard cache entries that are out of date. (This is not checked upon each call!)""" ! for filename in cache.keys(): size, mtime, lines, fullname = cache[filename] try: stat = os.stat(fullname) --- 40,58 ---- return updatecache(filename) ! def checkcache(filename=None): """Discard cache entries that are out of date. (This is not checked upon each call!)""" ! if filename is None: ! filenames = cache.keys() ! else: ! if filename in cache: ! filenames = [filename] ! else: ! return ! ! for filename in filenames: size, mtime, lines, fullname = cache[filename] try: stat = os.stat(fullname) diff -rcN Lib/traceback.py.orig Lib/traceback.py *** Lib/traceback.py.orig Wed May 14 14:22:05 2003 --- Lib/traceback.py Wed May 14 14:22:54 2003 *************** *** 65,70 **** --- 65,71 ---- 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,101 **** --- 97,103 ---- 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 *************** *** 267,272 **** --- 269,275 ---- 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 *** Doc/lib/liblinecache.tex.orig Wed May 14 14:25:34 2003 --- Doc/lib/liblinecache.tex Wed May 14 14:34:07 2003 *************** *** 31,39 **** files previously read using \function{getline()}. \end{funcdesc} ! \begin{funcdesc}{checkcache}{} Check the cache for validity. Use this function if files in the cache ! may have changed on disk, and you require the updated version. \end{funcdesc} Example: --- 31,40 ---- files previously read using \function{getline()}. \end{funcdesc} ! \begin{funcdesc}{checkcache}{\optional{filename}} Check the cache for validity. Use this function if files in the cache ! may have changed on disk, and you require the updated version. If ! \var{filename} is omitted, it will check the whole cache entries. \end{funcdesc} Example: