python (3.12.0)

(root)/
lib/
python3.12/
idlelib/
__pycache__/
undo.cpython-312.pyc

̑e#+ddlZddlmZGddeZGddZGddeZGd	d
eZGddeZd
Ze	dk(r ddl
mZedddddlm
Z
e
eyy)N)	DelegatorcxeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
ddZdd
ZdZdZddZdZdZy)
UndoDelegatoricNtj||jyN)r__init__
reset_undoselfs @/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/idlelib/undo.pyrzUndoDelegator.__init__s4 c\|j3|jd|jd|jdtj|||U|j	d|j
|j	d|j|j	d|jyy)Nz<<undo>>z<<redo>>z<<dump-undo-state>>)delegateunbindrsetdelegatebind
undo_event
redo_event
dump_event)rrs  rrzUndoDelegator.setdelegates==$KK
#KK
#KK-.dH-IIj$//2IIj$//2II+T__= r
cPddlm}||jd|jtd|jdtd|jdtd|j
dtd|j
||j|jdy	)
Nr)pprintzpointer: )endzsaved:z
can_merge:zget_saved():break)rundolistpointerprintsaved	can_merge	get_saved)reventrs   rrzUndoDelegator.dump_event(sw!t}}]dll+,
j$,,C0
h

,
lDNN4
ndnn./t}}T\\]+,r
c^d|_d|_g|_d|_|j	dyNr)	was_savedrr	undoblock	set_savedr
s rr	zUndoDelegator.reset_undo2s*
qr
ch|r|j|_nd|_d|_|jy)Nr$F)rrrcheck_saved)rflags  rr(zUndoDelegator.set_saved9s*DJDJr
c4|j|jk(Sr)rrr
s rr zUndoDelegator.get_savedAszzT\\))r
Nc||_yr)saved_change_hook)rhooks  rset_saved_change_hookz#UndoDelegator.set_saved_change_hookFs
!%r
r$c|j}||jk7r%||_|jr|jyyyr)r r&r.)ris_saveds  rr*zUndoDelegator.check_savedKs@>>#t~~%%DN%%&&(&&r
c<|jt|||yr)addcmd
InsertCommand)rindexcharstagss    rinsertzUndoDelegator.insertRsM%56r
c:|jt||yr)r4
DeleteCommandrindex1index2s   rdeletezUndoDelegator.deleteUsM&&12r
ct|jdk(rt|_|jjyNr)r'CommandSequence
bump_depthr
s rundo_block_startzUndoDelegator.undo_block_startcs(>>Q,.DN!!#r
c|jjddk(rT|j}d|_t|dkDr2t|dk(r|jd}|j	|dyyyr#)r'rClengetcmdr4rcmds  rundo_block_stopzUndoDelegator.undo_block_stophsf>>$$R(A-..CDN3x!|s8q=**Q-CC#
.r
c|r|j|j|jdk7r|jj|y|jr=|j
dkDr.|j|j
dz
}|j|ry|g|j|j
d|j|j
kDrd|_|j
dz|_t|j|jkDrD|jd=|j
dz
|_|jdk\r|jdz
|_d|_|jy)Nrr%r$T)dorr'appendrrrmergerrFmax_undor*)rrIexecutelastcmds    rr4zUndoDelegator.addcmdtsFF4==!>>QNN!!#&>>dllQ.mmDLLN3G}}S!(+u

dllm$::$DJ||a't}}

-

a <<!+DLzzQ!ZZ!^
r
c|jdk(r|jy|j|jdz
}|j|j|jdz
|_d|_|j
y)Nrrr%F)rbellrundorrr*rr!rIs   rrzUndoDelegator.undo_eventsg<<1IIKmmDLL1,-||a'r
c(|jt|jk\r|jy|j|j}|j	|j
|jdz|_d|_|jy)Nrr%F)rrFrrSredorrr*rUs   rrzUndoDelegator.redo_eventsk<<3t}}--IIKmmDLL)||a'r
r)T)__name__
__module____qualname__rOrrrr	r(r r.r0r&r*r9r?rDrJr4rrr
rrrsaH	>*&I)73$

$.		r
rcBeZdZdZd
dZdZdZdZdZdZ	dZ
d	Zy)CommandNc^i|_i|_||_||_||_|r||_yyr)marks_beforemarks_afterr=r>r7r8)rr=r>r7r8s     rrzCommand.__init__s6
DIr
c|jj}|j|j|j|j
f}|j
|dd}|t
|zS)Nr$)	__class__rXr=r>r7r8repr)rsts   r__repr__zCommand.__repr__sRNN##
[[$++tzz499=99#2A47{r
cyrr[rtexts  rrLz
Command.dor
cyrr[rhs  rrWzCommand.redorjr
cyrr[rhs  rrTzCommand.undorjr
cyrAr[rHs  rrNz
Command.mergesr
cti}|jD]"}|dk7s	|dk7s|j|||<$|S)Nr9current)
mark_namesr6)rrimarksnames    r
save_markszCommand.save_markssEOO%	/DxDI$5"jj.d	/r
cX|jD]\}}|j||yr)itemsmark_set)rrirqrrr6s     r	set_markszCommand.set_markss) ;;=	'KD%MM$&	'r
r)rXrYrZr8rrfrLrWrTrNrsrwr[r
rr]r]s1D


'r
r]cjeZdZd	dZdZdZdZdZejejzdzZdZy)
r5Nc6tj||d||yrr]r)rr=r7r8s    rrzInsertCommand.__init__svtUD9r
c|j||_|j|j|_|j	|jddr|jd|_|j|j|j|j|jd|jt|jfz|_	|j||_
y)N>end-1cz%s+%dc)rsr_r6r=comparer9r7r8rFr>r`rhs  rrLzInsertCommand.dos OOD1jj-<<S(3**X.DKDKKTYY7jjT[[#djj/,J!JK??40r
c|jd|j|j|j|j|j|j||j|jdyNr9)rvr=r9r7r8rwr`seerhs  rrWzInsertCommand.redosP

h,DKKTYY7tT--.r
c|jd|j|j|j|j|j	||j
|j
dyr)rvr=r?r>rwr_rrhs  rrTzInsertCommand.undosJ

h,DKK-tT../r
c|j|jury|j|jk7ry|j|jk7ryt	|j
dk7ry|j
r;|j
|j
d|j
|j
k7ry|j|_|j
|j
z|_y)NFr%r$T)rbr>r=r8rFr7classifyrHs  rrNzInsertCommand.merges>>.;;#**$99 syy>Q::==B(DMM#)),DDjjZZ#))+
r
_c.||jvry|dk(ryy)Nalphanumeric
newlinepunctuation)r)rcs  rrzInsertCommand.classifys !!!!9r
r)
rXrYrZrrLrWrTrNstring
ascii_lettersdigitsrrr[r
rr5r5s;:1 ''&--7#=Lr
r5c&eZdZddZdZdZdZy)r;Nc6tj|||ddyrrzr<s   rrzDeleteCommand.__init__svvtT:r
cD|j||_|j|j|_|jr!|j|j|_n#|j|jdz|_|j|jddr|jd|_|j
|j|j|_|j|j|j|j||_	y)Nz +1cr|r})
rsr_r6r=r>r~getr7r?r`rhs  rrLzDeleteCommand.dos OOD1jj-;;**T[[1DK**T[[6%9:DK<<S(3**X.DKXXdkk4;;7
DKK-??40r
c|jd|j|j|j|j|j	||j
|j
dyr)rvr=r?r>rwr`rrhs  rrWzDeleteCommand.redosJ

h,DKK-tT--.r
c|jd|j|j|j|j|j	||j
|j
dyr)rvr=r9r7rwr_rrhs  rrTzDeleteCommand.undo$sJ

h,DKK,tT../r
r)rXrYrZrrLrWrTr[r
rr;r;s;1r
r;c>eZdZdZdZdZdZdZdZdZ	d
dZ
y	)rBc g|_d|_yrA)cmdsdepthr
s rrzCommandSequence.__init__0s	
r
c|jj}g}|jD]}|jd||dzdj	|zdzS)Nz    z(
z,
z
))rbrXrrMjoin)rrdstrsrIs    rrfzCommandSequence.__repr__4sXNN##99	(CKK$sg'	(5y5::d++e33r
c,t|jSr)rFrr
s r__len__zCommandSequence.__len__;s499~r
c:|jj|yr)rrMrHs  rrMzCommandSequence.append>s		r
c |j|Sr)r)ris  rrGzCommandSequence.getcmdAsyy|r
cH|jD]}|j|yr)rrW)rrirIs   rrWzCommandSequence.redoDs 99	CHHTN	r
cr|jdd}|j|D]}|j|yr)rreverserT)rrirrIs    rrTzCommandSequence.undoHs2yy|	CHHTN	r
cB|j|z|_|jSr)r)rincrs  rrCzCommandSequence.bump_depthNsZZ$&
zzr
N)r%)rXrYrZrrfrrMrGrWrTrCr[r
rrBrB,s*4r
rBcJ
ddlm}m}m}ddlm}||}|j
dtt|jjddd\}}|jd||dzfz||d	
}|j|j||}	t
|	j
||d
fd
}
|
jd||d
fd
}|jd||d
fd
}|jdy)Nr)ToplevelTextButton)
PercolatorzTest UndoDelegator+r%z+%d+%d
)heightUndoc&jdSr)rdsr<lambda>z!_undo_delegator.<locals>.<lambda>bq||D7Ir
)ricommandleft)sideRedoc&jdSr)rrsrrz!_undo_delegator.<locals>.<lambda>drr
Dumpc&jdSr)rrsrrz!_undo_delegator.<locals>.<lambda>frr
)tkinterrrridlelib.percolatorrtitlemapintgeometrysplitpack	focus_setrinsertfilter)parentrrrrundowinxyriprTrWdumprs             @r_undo_delegatorrSs..-vGMM&'sFOO%++C045DAqXAG,-#DIIKNN4AANN1'0IJDII6I'0IJDII6I'0IJDII6Ir
__main__)mainzidlelib.idle_test.test_undoF)	verbosityexit)run)ridlelib.delegatorrrr]r5r;rBrrXunittestridlelib.idle_test.htestrr[r
r<module>rs{
'$JIJZ*'*'Z6G6r G H$g$N,z	&!%@+r