mò
­fIc           @   s¶   d  k  Z  d  k Z d k Td k l Z d e f d „  ƒ  YZ d f  d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d „  Z	 e
 d j o e	 ƒ  n d  S(   N(   t   *(   s	   Delegatort   UndoDelegatorc           B   sª   t  Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  Z
 d „  Z d	 Z d
 „  Z d  d „ Z d  d „ Z d „  Z d „  Z e d „ Z d „  Z d „  Z RS(   Niè  c         C   s   t  i |  ƒ |  i ƒ  d  S(   N(   t	   Delegatort   __init__t   selft
   reset_undo(   R   (    (    t2   /mit/python/lib/python2.4/idlelib/UndoDelegator.pyR      s    c         C   s™   |  i d  j	 o+ |  i d ƒ |  i d ƒ |  i d ƒ n t i |  | ƒ | d  j	 o= |  i d |  i ƒ |  i d |  i ƒ |  i d |  i	 ƒ n d  S(   Ns   <<undo>>s   <<redo>>s   <<dump-undo-state>>(
   R   t   delegatet   Nonet   unbindR   t   setdelegatet   bindt
   undo_eventt
   redo_eventt
   dump_event(   R   R   (    (    R   R
      s    c         C   si   d k  l  } | |  i |  i  ƒ d G|  i Gd G|  i Gd G|  i Gd G|  i ƒ  GH| |  i |  i ƒ d S(   N(   s   pprints   pointer:s   saved:s
   can_merge:s   get_saved():t   break(   t   pprintR   t   undolistt   pointert   savedt	   can_merget	   get_saved(   R   t   eventR   (    (    R   R   &   s    c         C   s5   d |  _ d |  _ g  |  _ d |  _ |  i d ƒ d  S(   Niÿÿÿÿi    i   (   R   t	   was_savedR   R   t	   undoblockt	   set_saved(   R   (    (    R   R   0   s
    				c         C   s7   | o |  i |  _ n
 d |  _ t |  _ |  i ƒ  d  S(   Niÿÿÿÿ(   t   flagR   R   R   t   FalseR   t   check_saved(   R   R   (    (    R   R   7   s
    		c         C   s   |  i |  i j S(   N(   R   R   R   (   R   (    (    R   R   ?   s    c         C   s   | |  _ d  S(   N(   t   hookR   t   saved_change_hook(   R   R   (    (    R   t   set_saved_change_hookD   s    iÿÿÿÿc         C   sE   |  i ƒ  } | |  i j o% | |  _ |  i o |  i ƒ  qA n d  S(   N(   R   R   t   is_savedR   R   (   R   R    (    (    R   R   I   s
    	
c         C   s   |  i t | | | ƒ ƒ d  S(   N(   R   t   addcmdt   InsertCommandt   indext   charst   tags(   R   R#   R$   R%   (    (    R   t   insertP   s    c         C   s   |  i t | | ƒ ƒ d  S(   N(   R   R!   t   DeleteCommandt   index1t   index2(   R   R(   R)   (    (    R   t   deleteS   s    c         C   s1   |  i d j o t ƒ  |  _ n |  i i ƒ  d  S(   Ni    (   R   R   t   CommandSequencet
   bump_depth(   R   (    (    R   t   undo_block_starta   s    c         C   s€   |  i i d ƒ d j oc |  i } d |  _ t | ƒ d j o: t | ƒ d j o | i d ƒ } n |  i | d ƒ q| n d  S(   Niÿÿÿÿi    i   (   R   R   R,   t   cmdt   lent   getcmdR!   (   R   R.   (    (    R   t   undo_block_stopf   s    		c         C   sB  | o | i |  i ƒ n |  i d j o |  i i | ƒ d  Sn |  i o@ |  i d j o0 |  i	 |  i d } | i | ƒ o d  Sq n | g |  i	 |  i )|  i |  i j o d |  _ n |  i d |  _ t |  i	 ƒ |  i j oB |  i	 d =|  i d |  _ |  i d j o |  i d |  _ q+n t |  _ |  i ƒ  d  S(   Ni    i   iÿÿÿÿ(   t   executeR.   t   doR   R   R   t   appendR   R   R   t   lastcmdt   mergeR   R/   t   max_undot   TrueR   (   R   R.   R2   R5   (    (    R   R!   r   s(    
	c         C   sm   |  i d j o |  i ƒ  d Sn |  i |  i d } | i |  i ƒ |  i d |  _ t |  _ |  i	 ƒ  d S(   Ni    R   i   (
   R   R   t   bellR   R.   t   undoR   R   R   R   (   R   R   R.   (    (    R   R   ‰   s    
	
c         C   sr   |  i t |  i ƒ j o |  i ƒ  d Sn |  i |  i } | i |  i ƒ |  i d |  _ t |  _	 |  i
 ƒ  d S(   NR   i   (   R   R   R/   R   R9   R.   t   redoR   R   R   R   (   R   R   R.   (    (    R   R   ”   s    
	
(   t   __name__t
   __module__R7   R   R
   R   R   R   R   R   R   R   R   R   R&   R*   R-   R1   R8   R!   R   R   (    (    (    R   R      s$   			
								t   Commandc           B   sY   t  Z d  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z RS(	   Nc         C   sE   h  |  _ h  |  _ | |  _ | |  _ | |  _ | o | |  _ n d  S(   N(   R   t   marks_beforet   marks_afterR(   R)   R$   R%   (   R   R(   R)   R$   R%   (    (    R   R   ¦   s    					c         C   sV   |  i i } |  i |  i |  i |  i f } |  i d  j o | d  } n | t
 | ƒ S(   Niÿÿÿÿ(   R   t	   __class__R<   t   sR(   R)   R$   R%   t   tR   t   repr(   R   RB   RC   (    (    R   t   __repr__¯   s
    c         C   s   d  S(   N(    (   R   t   text(    (    R   R3   ¶   s    c         C   s   d  S(   N(    (   R   RF   (    (    R   R;   ¹   s    c         C   s   d  S(   N(    (   R   RF   (    (    R   R:   ¼   s    c         C   s   d S(   Ni    (    (   R   R.   (    (    R   R6   ¿   s    c         C   sR   h  } xE | i ƒ  D]7 } | d j o$ | d j o | i | ƒ | | <q q W| S(   NR&   t   current(   t   marksRF   t
   mark_namest   nameR#   (   R   RF   RJ   RH   (    (    R   t
   save_marksÂ   s     c         C   s1   x* | i ƒ  D] \ } } | i | | ƒ q Wd  S(   N(   RH   t   itemsRJ   R#   RF   t   mark_set(   R   RF   RH   R#   RJ   (    (    R   t	   set_marksÉ   s     (   R<   R=   R   R%   R   RE   R3   R;   R:   R6   RK   RN   (    (    (    R   R>       s   							R"   c           B   sU   t  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z e i	 e i
 d Z d „  Z RS(   Nc         C   s   t  i |  | d  | | ƒ d  S(   N(   R>   R   R   R(   R   R$   R%   (   R   R(   R$   R%   (    (    R   R   Ò   s    c         C   s°   |  i | ƒ |  _ | i |  i ƒ |  _ | i |  i d d ƒ o | i d ƒ |  _ n | i |  i |  i |  i	 ƒ | i d |  i t
 |  i ƒ f ƒ |  _ |  i | ƒ |  _ d  S(   Nt   >s   end-1cs   %s+%dc(   R   RK   RF   R?   R#   R(   t   compareR&   R$   R%   R/   R)   R@   (   R   RF   (    (    R   R3   Õ   s    (c         C   sS   | i d |  i ƒ | i |  i |  i |  i ƒ |  i | |  i ƒ | i	 d ƒ d  S(   NR&   (
   RF   RM   R   R(   R&   R$   R%   RN   R@   t   see(   R   RF   (    (    R   R;   à   s    c         C   sM   | i d |  i ƒ | i |  i |  i ƒ |  i | |  i ƒ | i d ƒ d  S(   NR&   (	   RF   RM   R   R(   R*   R)   RN   R?   RQ   (   R   RF   (    (    R   R:   ç   s    c         C   sÍ   |  i | i j	 o t Sn |  i | i j o t Sn |  i | i j o t Sn t | i ƒ d j o t Sn |  i o1 |  i	 |  i d ƒ |  i	 | i ƒ j o t Sn | i |  _ |  i | i |  _ t
 S(   Ni   iÿÿÿÿ(   R   RA   R.   R   R)   R(   R%   R/   R$   t   classifyR8   (   R   R.   (    (    R   R6   î   s    3t   _c         C   s1   | |  i j o d Sn | d j o d Sn d S(   Nt   alphanumerics   
t   newlinet   punctuation(   t   cR   RT   (   R   RW   (    (    R   RR      s
    (   R<   R=   R   R   R3   R;   R:   R6   t   stringt   ascii_letterst   digitsRT   RR   (    (    (    R   R"   Î   s   				R'   c           B   s/   t  Z d  d „ Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  i |  | | d  d  ƒ d  S(   N(   R>   R   R   R(   R)   R   (   R   R(   R)   (    (    R   R     s    c         C   sÙ   |  i | ƒ |  _ | i |  i ƒ |  _ |  i o | i |  i ƒ |  _ n | i |  i d ƒ |  _ | i |  i d d ƒ o | i d ƒ |  _ n | i |  i |  i ƒ |  _	 | i
 |  i |  i ƒ |  i | ƒ |  _ d  S(   Ns    +1cRO   s   end-1c(   R   RK   RF   R?   R#   R(   R)   RP   t   getR$   R*   R@   (   R   RF   (    (    R   R3     s    
c         C   sM   | i d |  i ƒ | i |  i |  i ƒ |  i | |  i ƒ | i d ƒ d  S(   NR&   (	   RF   RM   R   R(   R*   R)   RN   R@   RQ   (   R   RF   (    (    R   R;     s    c         C   sM   | i d |  i ƒ | i |  i |  i ƒ |  i | |  i ƒ | i d ƒ d  S(   NR&   (	   RF   RM   R   R(   R&   R$   RN   R?   RQ   (   R   RF   (    (    R   R:   %  s    (   R<   R=   R   R   R3   R;   R:   (    (    (    R   R'     s   		R+   c           B   sS   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d	 „ Z	 RS(
   Nc         C   s   g  |  _ d |  _ d  S(   Ni    (   R   t   cmdst   depth(   R   (    (    R   R   1  s    	c         C   sS   |  i i } g  } x% |  i D] } | i d | f ƒ q W| d d i | ƒ d S(   Ns       %rs   (
s   ,
s   
)(	   R   RA   R<   RB   t   strsR\   R.   R4   t   join(   R   R^   R.   RB   (    (    R   RE   5  s    
 c         C   s   t  |  i ƒ S(   N(   R/   R   R\   (   R   (    (    R   t   __len__<  s    c         C   s   |  i i | ƒ d  S(   N(   R   R\   R4   R.   (   R   R.   (    (    R   R4   ?  s    c         C   s   |  i | S(   N(   R   R\   t   i(   R   Ra   (    (    R   R0   B  s    c         C   s%   x |  i D] } | i | ƒ q
 Wd  S(   N(   R   R\   R.   R;   RF   (   R   RF   R.   (    (    R   R;   E  s    
 c         C   s6   |  i } | i ƒ  x | D] } | i | ƒ q Wd  S(   N(   R   R\   t   reverseR.   R:   RF   (   R   RF   R.   R\   (    (    R   R:   I  s
    

 i   c         C   s   |  i | |  _ |  i S(   N(   R   R]   t   incr(   R   Rc   (    (    R   R,   O  s    (
   R<   R=   R   RE   R`   R4   R0   R;   R:   R,   (    (    (    R   R+   ,  s   							c          C   sv   d k  l  } t ƒ  } | i d | i ƒ t ƒ  } | i ƒ  | i ƒ  | | ƒ } t
 ƒ  }  | i |  ƒ | i ƒ  d  S(   N(   s
   Percolatort   WM_DELETE_WINDOW(   t
   Percolatort   Tkt   roott   wm_protocolt   quitt   TextRF   t   packt	   focus_sett   pR   t   dt   insertfiltert   mainloop(   Rn   Re   RF   Rm   Rg   (    (    R   t   mainS  s    		

	t   __main__(   t   sysRX   t   TkinterR   R   R>   R"   R'   R+   Rq   R<   (	   Rq   R+   RX   Rs   R>   R'   R   R"   R   (    (    R   t   ?   s   		.:$'	