summaryrefslogtreecommitdiffstats
path: root/Lib/linecache.py
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2008-12-14 11:30:16 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2008-12-14 11:30:16 (GMT)
commit30327242b3c83cfbedb21b5b869c52b855573221 (patch)
tree98bcb76f83d984d0fb45fcabd3dbee4d6f06ba82 /Lib/linecache.py
parentd0a70d4bab2ba95ce1d6eae73f61f1e4cdf35941 (diff)
downloadcpython-30327242b3c83cfbedb21b5b869c52b855573221.zip
cpython-30327242b3c83cfbedb21b5b869c52b855573221.tar.gz
cpython-30327242b3c83cfbedb21b5b869c52b855573221.tar.bz2
Merged revisions 67750-67751 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r67750 | nick.coghlan | 2008-12-14 20:54:50 +1000 (Sun, 14 Dec 2008) | 1 line Fix several issues relating to access to source code inside zipfiles. Initial work by Alexander Belopolsky. See Misc/NEWS in this checkin for details. ........ r67751 | nick.coghlan | 2008-12-14 21:09:40 +1000 (Sun, 14 Dec 2008) | 1 line Add file that was missed from r67750 ........
Diffstat (limited to 'Lib/linecache.py')
-rw-r--r--Lib/linecache.py29
1 files changed, 14 insertions, 15 deletions
diff --git a/Lib/linecache.py b/Lib/linecache.py
index 4838625..48f7dda 100644
--- a/Lib/linecache.py
+++ b/Lib/linecache.py
@@ -88,21 +88,20 @@ def updatecache(filename, module_globals=None):
get_source = getattr(loader, 'get_source', None)
if name and get_source:
- if basename.startswith(name.split('.')[-1]+'.'):
- try:
- data = get_source(name)
- except (ImportError, IOError):
- pass
- else:
- if data is None:
- # No luck, the PEP302 loader cannot find the source
- # for this module.
- return []
- cache[filename] = (
- len(data), None,
- [line+'\n' for line in data.splitlines()], fullname
- )
- return cache[filename][2]
+ try:
+ data = get_source(name)
+ except (ImportError, IOError):
+ pass
+ else:
+ if data is None:
+ # No luck, the PEP302 loader cannot find the source
+ # for this module.
+ return []
+ cache[filename] = (
+ len(data), None,
+ [line+'\n' for line in data.splitlines()], fullname
+ )
+ return cache[filename][2]
# Try looking through the module search path.