mò &U²Ic@s¶dkZdkZdkTdklZdefd„ƒYZdfd„ƒYZdefd„ƒYZd efd „ƒYZd efd „ƒYZd „Z e djo e ƒndS(N(t*(s Delegatort UndoDelegatorcBsªtZdZd„Zd„Zd„Zd„Zd„Zd„ZdZ d„Z d Z d „Z dd „Zdd „Zd „Zd„Zed„Zd„Zd„ZRS(NiècCsti|ƒ|iƒdS(N(t Delegatort__init__tselft reset_undo(R((t2/data/zmath/lib/python2.4/idlelib/UndoDelegator.pyRs cCs™|idj o+|idƒ|idƒ|idƒnti||ƒ|dj o=|id|iƒ|id|iƒ|id|i ƒndS(Ns<>s<>s<>( RtdelegatetNonetunbindRt setdelegatetbindt undo_eventt redo_eventt dump_event(RR((RR s   cCsidkl}||i|i ƒdG|iGdG|iGdG|iGdG|iƒGH||i|iƒdS(N(spprintspointer:ssaved:s can_merge:s get_saved():tbreak(tpprintRtundolisttpointertsavedt can_merget get_saved(RteventR((RR&s    cCs5d|_d|_g|_d|_|idƒdS(Niÿÿÿÿii(Rt was_savedRRt undoblockt set_saved(R((RR0s     cCs7|o|i|_n d|_t|_|iƒdS(Niÿÿÿÿ(tflagRRRtFalseRt check_saved(RR((RR7s   cCs|i|ijS(N(RRR(R((RR?scCs ||_dS(N(thookRtsaved_change_hook(RR((Rtset_saved_change_hookDsiÿÿÿÿcCsE|iƒ}||ijo%||_|io|iƒqAndS(N(RRtis_savedRR(RR ((RRIs    cCs|it|||ƒƒdS(N(Rtaddcmdt InsertCommandtindextcharsttags(RR#R$R%((RtinsertPscCs|it||ƒƒdS(N(RR!t DeleteCommandtindex1tindex2(RR(R)((RtdeleteSscCs1|idjotƒ|_n|iiƒdS(Ni(RRtCommandSequencet bump_depth(R((Rtundo_block_startascCs€|iidƒdjoc|i}d|_t|ƒdjo:t|ƒdjo|idƒ}n|i|dƒq|ndS(Niÿÿÿÿii(RRR,tcmdtlentgetcmdR!(RR.((Rtundo_block_stopfs  cCsB|o|i|iƒn|idjo|ii|ƒdSn|io@|idjo0|i |id}|i |ƒodSqn|g|i |i)|i |ijo d|_ n|id|_t |i ƒ|ijoB|i d=|id|_|i djo|i d|_ q+nt|_|iƒdS(Niiiÿÿÿÿ(texecuteR.tdoRRRtappendRRRtlastcmdtmergeRR/tmax_undotTrueR(RR.R2R5((RR!rs(    cCsm|idjo|iƒdSn|i|id}|i|iƒ|id|_t|_|i ƒdS(NiRi( RRtbellRR.tundoRRRR(RRR.((RR ‰s   cCsr|it|iƒjo|iƒdSn|i|i}|i|iƒ|id|_t|_ |i ƒdS(NRi( RRR/RR9R.tredoRRRR(RRR.((RR ”s   (t__name__t __module__R7RR RRRRRRRRRR&R*R-R1R8R!R R (((RRs$           tCommandcBsYtZdZdd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS( NcCsEh|_h|_||_||_||_|o ||_ndS(N(Rt marks_beforet marks_afterR(R)R$R%(RR(R)R$R%((RR¦s     cCsV|ii}|i|i|i|if}|idjo|d }n|t |ƒS(Niÿÿÿÿ( Rt __class__R<tsR(R)R$R%ttRtrepr(RRBRC((Rt__repr__¯s  cCsdS(N((Rttext((RR3¶scCsdS(N((RRF((RR;¹scCsdS(N((RRF((RR:¼scCsdS(Ni((RR.((RR6¿scCsRh}xE|iƒD]7}|djo$|djo|i|ƒ|| s      R"cBsUtZdd„Zd„Zd„Zd„Zd„Zei ei dZ d„Z RS(NcCsti||d||ƒdS(N(R>RRR(RR$R%(RR(R$R%((RRÒscCs°|i|ƒ|_|i|iƒ|_|i|iddƒo|idƒ|_n|i|i|i|i ƒ|id|it |iƒfƒ|_ |i|ƒ|_ dS(Nt>send-1cs%s+%dc( RRKRFR?R#R(tcompareR&R$R%R/R)R@(RRF((RR3Õs(cCsS|id|iƒ|i|i|i|iƒ|i||iƒ|i dƒdS(NR&( RFRMRR(R&R$R%RNR@tsee(RRF((RR;àscCsM|id|iƒ|i|i|iƒ|i||iƒ|idƒdS(NR&( RFRMRR(R*R)RNR?RQ(RRF((RR:çscCsÍ|i|ij otSn|i|ijotSn|i|ijotSnt|iƒdjotSn|io1|i |idƒ|i |iƒjotSn|i|_|i|i|_t S(Niiÿÿÿÿ( RRAR.RR)R(R%R/R$tclassifyR8(RR.((RR6îs3 t_cCs1||ijodSn|djodSndS(Nt alphanumerics tnewlinet punctuation(tcRRT(RRW((RRRs  ( R<R=RRR3R;R:R6tstringt ascii_letterstdigitsRTRR(((RR"Îs    R'cBs/tZdd„Zd„Zd„Zd„ZRS(NcCsti|||ddƒdS(N(R>RRR(R)R(RR(R)((RR scCsÙ|i|ƒ|_|i|iƒ|_|io|i|iƒ|_n|i|idƒ|_|i|iddƒo|idƒ|_n|i|i|iƒ|_ |i |i|iƒ|i|ƒ|_ dS(Ns +1cROsend-1c( RRKRFR?R#R(R)RPtgetR$R*R@(RRF((RR3s cCsM|id|iƒ|i|i|iƒ|i||iƒ|idƒdS(NR&( RFRMRR(R*R)RNR@RQ(RRF((RR;scCsM|id|iƒ|i|i|iƒ|i||iƒ|idƒdS(NR&( RFRMRR(R&R$RNR?RQ(RRF((RR:%s(R<R=RRR3R;R:(((RR's   R+cBsStZd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd „Z RS( NcCsg|_d|_dS(Ni(Rtcmdstdepth(R((RR1s cCsS|ii}g}x%|iD]}|id|fƒqW|ddi|ƒdS(Ns %rs( s, s )( RRAR<RBtstrsR\R.R4tjoin(RR^R.RB((RRE5s   cCs t|iƒS(N(R/RR\(R((Rt__len__<scCs|ii|ƒdS(N(RR\R4R.(RR.((RR4?scCs |i|S(N(RR\ti(RRa((RR0BscCs%x|iD]}|i|ƒq WdS(N(RR\R.R;RF(RRFR.((RR;Es cCs6|i}|iƒx|D]}|i|ƒqWdS(N(RR\treverseR.R:RF(RRFR.R\((RR:Is   icCs|i||_|iS(N(RR]tincr(RRc((RR,Os( R<R=RRER`R4R0R;R:R,(((RR+,s       cCsvdkl}tƒ}|id|iƒtƒ}|iƒ|iƒ||ƒ}t ƒ}|i |ƒ|i ƒdS(N(s PercolatortWM_DELETE_WINDOW(t PercolatortTktroott wm_protocoltquittTextRFtpackt focus_settpRtdt insertfiltertmainloop(RnReRFRmRg((RtmainSs        t__main__( tsysRXtTkinterRRR>R"R'R+RqR<( RqR+RXRsR>R'RR"R((Rt?s   .:$'