‡Æ
áMö9c       sw     d  Z    d k Z 	 d k Z 
 d k T d „  Z  h  Z  d „  Z   d „  Z * d „  Z 9 d „  Z	 d S(   sµ   Cache lines from files.

This is intended to read lines from modules imported -- hence if a filename
is not found, it will look down the module search path for a file by
that name.
N(   s   *c    sW     t  |  ƒ }  d | j o t | ƒ j n o  | | d Sn  d Sd  S(   Ni   s    (   s   getliness   filenames   liness   linenos   len(   s   filenames   linenos   liness&   /mit/python/lib/python2.0/linecache.pys   getline s   'c      s       h  a  d S(   s   Clear the cache entirely.N(   s   cache(    s&   /mit/python/lib/python2.0/linecache.pys
   clearcache s   c    s=     " $ t  i |  ƒ o % t  |  d Sn ' t |  ƒ Sd S(   ss   Get the lines for a file from the cache.
    Update the cache if it doesn't contain an entry for this file already.i   N(   s   caches   has_keys   filenames   updatecache(   s   filenames&   /mit/python/lib/python2.0/linecache.pys   getlines  s   c     sº   * , . xª t  i ƒ  d . r— }  / t  |  \ } } } } 0 y 1 t i | ƒ } Wn) 2 t i	 j
 o 3 t  |  =4 q n X5 | | t
 j p | | t j o 6 t  |  =n q Wd S(   sU   Discard cache entries that are out of date.
    (This is not checked upon each call!)i    N(   s   caches   keyss   filenames   sizes   mtimes   liness   fullnames   oss   stats   errors   ST_SIZEs   ST_MTIME(   s   filenames   sizes   mtimes   liness   fullnames   stats&   /mit/python/lib/python2.0/linecache.pys
   checkcache* s    	
%c 
   s¿  9 < > t  i |  ƒ o ? t  |  =n @ |  p |  d |  d d j o A g  Sn B |  } C y D t i | ƒ } Wn« E t i j
 o™ } G t i i	 |  ƒ d } H xq t i d H rZ } I t i i | | ƒ } J y K t i | ƒ } L PWn M t i j
 o
 N n Xqº WR g  Sn XS y2 T t | d ƒ } U | i ƒ  } V | i ƒ  Wn W t j
 o } Y g  Sn XZ | t | t f \ } }	 [ | |	 | | f t  |  <\ | Sd S(   s”   Update a cache entry and return its list of lines.
    If something's wrong, print a message, discard the cache entry,
    and return an empty list.i    i   s   <>s   rN(   s   caches   has_keys   filenames   fullnames   oss   stats   errors   msgs   paths   splits   basenames   syss   dirnames   joins   opens   fps	   readliness   liness   closes   IOErrors   ST_SIZEs   ST_MTIMEs   sizes   mtime(
   s   filenames   fullnames   stats   msgs   basenames   dirnames   fps   liness   sizes   mtimes&   /mit/python/lib/python2.0/linecache.pys   updatecache9 s8   %	 	(
   s   __doc__s   syss   oss   stats   getlines   caches
   clearcaches   getliness
   checkcaches   updatecache(    s&   /mit/python/lib/python2.0/linecache.pys   ? s   

	
