kWc@s+ddlZddlZddlZddlZddlZddlTddlZddlZddlZddl m Z ddl m Z ddl m Z ddl mZddl mZddl mZdd l mZdd lmZdd l mZmZmZdd l mZd ZdejZdZedZdefdYZeZ dZ!defdYZ"dZ#dZ$ddl%Z%e%Z&[%defdYZ'dZ(idd6dd6dd 6Z)d!Z*d"Z+d#Z,e-d$kr'dd%l.m/Z/e/e!e,ndS(&iN(t*(tMultiCallCreator(tidlever(t WindowList(t SearchDialog(t GrepDialog(t ReplaceDialog(tPyParse(tidleConf(t aboutDialogttextViewt configDialog(t macosxSupportis (%s)cCstj\}}}}}d||f}|rB|d|f7}n|dkrb|d|f7}n'|dkr|d|d|f7}n|S(sYFormat sys.version_info to produce the Sphinx version string used to install the chm docss%s%ss%st candidatesrc%stfinali(tsyst version_info(tmajortminortmicrotleveltserialtrelease((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt_sphinx_versions  c CsSd}x|jdD]}|dk r5|jntj||\}}}|dtjkrgPntj||||}y |j}Wqtk rt d|j qXqW|dtjkrFt |}y |j }Wntk rqFXd}t jj|\}} | dkr'd} n|| }|dtjf}n|||fS(sCVersion of imp.find_module() that handles hierarchical module namest.isNo source for module s.pycs.pyN(tNonetsplittclosetimpt find_modulet PY_SOURCEt load_modulet__path__tAttributeErrort ImportErrort__name__t __import__t__file__tostpathtsplitext( tfullnameR'tfilettgttfilenametdescrtmoduletmtbasetext((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt _find_module's2          t HelpDialogcBs;eZdZddZdZdZddZRS(cCsd|_d|_dS(N(Rtparenttdlg(tself((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt__init__Js cCs9|jdkr|j|n|r5|j|ndS(s Display the help dialog. parent - parent widget for the help window near - a Toplevel widget (e.g. EditorWindow or PyShell) to use as a reference for placing the help window N(R5Rt show_dialogt nearwindow(R6R4tnear((s*/usr/lib/python2.7/idlelib/EditorWindow.pytdisplayNscCsr||_tjjtjjtjjtd}tj|d|dt |_ }|j d|j ddS(Nshelp.txttHelptmodals t+( R4R&R'tjointabspathtdirnameR%R t view_filetFalseR5tbindtdestroy(R6R4tfnR5((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR8[s -"cCs\|j}|jd|jdf}|j|jd||j|jdS(Ni s=+%d+%d(R5t winfo_rootxt winfo_rootytwithdrawtgeometryt deiconifytlift(R6R:R5tgeom((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR9as     cCsd|_d|_dS(N(RR5R4(R6tev((s*/usr/lib/python2.7/idlelib/EditorWindow.pyREls N(R#t __module__R7RR;R8R9RE(((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR3Hs    cCstj|dS(N(t helpDialogR8(R4((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt _help_dialogqst EditorWindowcBseZddlmZddlmZddlmZddlm Z m Z m Z ddl m Z ddlmZddlmZdZdddddZd Zd Zd Zd Zd ZddZdddddddgZejdkr dedZ<d?Z=d@Z>dAZ?dBZ@dCZAdDZBdEZCdFZDdGZEdHZFdIZGdJZHdKZIdLZJddMZKdNZLdOZMdPZNdQZOdRZPdSZQdTZRdUZSdVdWZTdXZUdVdYZVdZZWd[ZXd\ZYd]ZZd^Z[d_Z\d`Z]daZ^dbZ_dcZ`dddZadddeZbdfZcddgZdddhZediZfdjZgdkZhdlZiejdmZkdnZldoZmdpZndqZodrZpdsZqdtZrduZsdvZtdwZudxZvdyZwdzZxd{Zyd|Zzd}Z{d~Z|dZ}RS(i(t Percolator(tColorDelegator(t UndoDelegator(t IOBindingtfilesystemencodingtencoding(tBindings(tToplevel(tMultiStatusBarc Cs tjdkrvtjjtjdd}tjj drddtj d }tjj drld}q d }tjj||dd}n}tjd d krtjjtjdd t }tjj |r |}q n*tjd kr tjjtjd }ntjj|}tjj |r_|t_tjd krsdtjt_qsqvdtj d t_ntj} ||_|p|j}||_y tjWntk rdt_nXt||_tj|d|j|_} |r|j|_|j|j_ni|_i|j_tjjtjd|_t | |_!} t"| dd|_#} tj$ddddd|_%idd6dd6dd6|j%d6tj$ddd ddd 6} t&d!krd"| d#|j/d5|j?|j/d6|j@|j/d7|jA|j/d8|jB|j/d9|jC|j/d:|jD|j/d;|jE|j/d<|jF|j/d=|jG|j/d>|jH|j/d?|jI|j/d@|jJ|j/dA|jK|j/dB|jL|j/dC|jM|j/dD|jN|j/dE|jO|j/dF|jP|j/dG|jQdH|j/dI|jQdJ|j/dK|jR|j/dL|jS|j/dM|jT|r||j|<|ru||jU|>> tmenusrecent-files.lsttnametvbartmainRRtwidthttypetintttextitpadxtnonetwraptheightg!@t wordprocessorttabstyletWM_DELETE_WINDOWs<>ss<3>s<>s<>s <>s<>s<>s<>s<>s<>s!<>s<>s<>cSsdS(Ntbreak((tevent((s*/usr/lib/python2.7/idlelib/EditorWindow.pytss<>s<>s<>s<>s<>s<>s <>s <>s<>s<>s<>s<>s<>s<>s<>s<>s<>s<>s<>sisis<>s<>s<>s<>s<>s<>s<>tcommandtsidetfilltyscrollcommandtnormals font-boldtbooltboldtfonts font-sizetexpandtIndents use-spacesii2ii@KLR*tlabels Recent Filest underlinetwindowstendi(i2ii@KL(RRthelp_urlRR&R'R?RtprefixtplatformtcountRtisdirRtisfiletnormpathRt CurrentThemetflisttroottps1R!tMenutmenubarRtListedToplevelttoptvarst tkinter_varst inversedictt instance_dictt GetUserCfgDirtrecent_files_pathtFramet text_framet ScrollbarRbt GetOptionRdt TkVersionRtTextRgtfocused_widgett createmenubartapply_bindingstprotocolRRDt close_eventR tisAquaTktright_menu_eventtcuttcopytpastetcenter_insert_eventt help_dialogt python_docst about_dialogt config_dialogtconfig_extensions_dialogt open_modulet select_alltremove_selectiont find_eventtfind_again_eventtfind_in_files_eventtfind_selection_eventt replace_eventtgoto_line_eventtsmart_backspace_eventtnewline_and_indent_eventtsmart_indent_eventtindent_region_eventtdedent_region_eventtcomment_region_eventtuncomment_region_eventttabify_region_eventtuntabify_region_eventttoggle_tabs_eventtchange_indentwidth_eventtmove_at_edge_if_selectiont del_word_lefttdel_word_rightt home_callbacktdictt new_callbacktclose_all_callbacktopen_class_browsertopen_path_browsertset_status_bartyviewtpacktRIGHTtYtsettconfigtLEFTtBOTHtTOPt focus_settusetabsttabwidtht indentwidthtset_notabs_indentwidthRCtcontext_use_ps1tnum_context_linesRStperRUtundot insertfiltertundo_block_starttundo_block_stoptset_saved_change_hooktsaved_change_hookRVtiotset_filename_change_hooktfilename_change_hooktrecent_files_menutmenudicttinsert_cascadetupdate_recent_files_listtcolortexiststloadfilet set_filenametResetColorizertset_indentation_paramstispythonsourcetload_extensionstgettindext add_separatort wmenu_endtregister_callbacktpostwindowsmenut tkMessageBoxtaskyesnottkSimpleDialogt askintegert showerrort_highlight_workaround(R6RR,tkeyRtdochometpyvertbasepathtchmfilet currentThemeRRRbt text_optionsRgt fontWeightt usespacesRRRR`R((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR7sD                                           %            cstjjdsdS|jjddjddfdjdfdjdfddS( NR^s<>s s<>s csjd}|r|dkritjtjd}jd|jdjd|q|dkrjdddqndS(Ntseltoutthilitetsel_fixtins1.0R(t tag_rangesRt GetHighlightRt tag_configt tag_raisettag_addt tag_remove(tfocust sel_ranget HILITE_CONFIG(Rg(s*/usr/lib/python2.7/idlelib/EditorWindow.pyt highlight_fixps   cs dS(NR((RN(R(s*/usr/lib/python2.7/idlelib/EditorWindow.pyRq}scs dS(NR((RN(R(s*/usr/lib/python2.7/idlelib/EditorWindow.pyRqs(RRt startswithRgt event_addRD(R6((RRgs*/usr/lib/python2.7/idlelib/EditorWindow.pyRfs   cCsxt|ts| r|Sy|j|jSWnCtk rsy|j|jSWqttk ro|jdSXnXdS(s8convert filename to unicode in order to display it in Tks iso8859-1N(t isinstancetunicodetdecodeRWtUnicodeDecodeErrorRX(R6R,((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt_filename_to_unicodes  cCs)|jj\}}|jj|dS(NRo(RtdefaultfilenameRtnew(R6RpRAtbasename((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCs||jd@dkr&|jdkr&dS|jjdr|jjdddr|jjdddrt|jjdjdd }nR|jjdd}x:tt |D]}||dkrPqqWt |}t|jjd jdd }||krd}nd t |d}|jd @dkr\|jj dddn|jjds|jj dd nY|jj|jjdd|jjd r|jj ddn|jj dd|jj|}|jjd}|jj|d|r)||}}n|jj ddd|jj d|||jj d ||jjd dS(NiitHometiomarks<=sinsert lineendsinsert linestartRit s tinsertsinsert linestart+tcRs1.0Rs sel.firstt my_anchortRo(Rs (tstatetkeysymRgRtcompareRfRRtxrangetlentstrRtmark_setR tsee(R6Rptinsertpttlinetlineattdesttfirsttlast((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs>"( %  0cCs|j|j|_tjdkr@|jjdddtn|jjdddt|jjdddt|jjdtd t |j j d |j |j j d d d |j j|j dS( NR_t _padding1s RstcolumnsCol: ?R.sLn: ?Rts<>s s(R[Rt status_barRRt set_labelRRtBOTTOMtXRgRDtset_line_and_columnRt after_idle(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs  cCsS|jjtjd\}}|jjdd||jjdd|dS(NRR4sCol: %sR.sLn: %s(RgRtINSERTRR5R6(R6RpR.R4((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR9s!R*t_Fileteditt_EdittformattF_ormattrunt_Runtoptionst_OptionsR~t_Windowsthelpt_HelpR_t_WindowicCs|j}i|_}x_|jD]T\}}t|\}}t|d|||<}|jd|d|d|q Wtjrt|dd|d<}|jddd|n|j|jdj t |_ |j dS( NRaR|R`R}tapplet applicationtIDLERF( RRt menu_specstprepstrRt add_cascadeR t isCarbonTkt fill_menusRtENDtbase_helpmenu_lengthtreset_help_menu_entries(R6tmbarRRaR|R}R`((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs     cCsk|jd}|jd}|dkr1d}n||jkrZ|j|jd|ntj|dS(NR~Rii(RRRRtdeleteRtadd_windows_to_menu(R6R`R((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs   c Cs%|jjdd|j|jf|js9|jn|j}||_tjd dk}|rz|jj ddnxr|j D]g}y|\}}}Wnt k rqnX|dkrqnt ||}|j|d|qW|j|j|j|r!|jj ddndS( NR s@%d,%diR^tcursortarrowR%tibeam(RgR+txtytrmenut make_rmenuRpRRRt rmenu_specst ValueErrorRtgetattrtentryconfigurettk_popuptx_rootty_root( R6RpR\tiswintitemR|t eventnamet verify_stateR%((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs(#      tCloses<>cCst|jdd}xg|jD]\}|d|d}}|dk rq|j|d}|jd|d|q|jqW||_dS(NttearoffiicSs|j|dS(N(tevent_generate(RgRg((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRr sR|Rr(RRgR^Rt add_commandRR\(R6R\RfR|RgRr((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR]s cCs |jS(N(trmenu_check_copy(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pytrmenu_check_cut'scCs=y|jjd}Wntk r*dSX|r5dSdSdS(Ns sel.firsttdisabledRv(RgRtTclError(R6tindx((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRm*s  cCs=y |jjjd|jdWntk r4dSXdSdS(Nstk::GetSelectiont CLIPBOARDRoRv(RgttktcallRp(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pytrmenu_check_paste2s   cCstj|jddS(Ns About IDLE(R t AboutDialogR(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR:scCstj|jddS(NtSettings(R t ConfigDialogR(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR=scCstj|jdS(N(R tConfigExtensionsDialogR(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR?scCs8|jr|j}n |j}tj|d|jdS(NR:(RRRPR;(R6RpR4((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRBs   cCsytjd dkreytj|jWqutk ra}tjdddt|d|j quXnt j |jdS(NiR^ttitlesDocument Start FailuretmessageR4Ro( RRR&t startfileRt WindowsErrorRRR*Rgt webbrowsertopen(R6Rptwhy((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRIscCs|jjddS(Ns<>Ro(RgRk(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRTscCs*|jjdsdS|jjddS(NRs<>Ro(RgR Rk(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRXscCs$|jjd|jjddS(Ns <>R Ro(RgRkR,(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR_scCs=|jjddd|jjdd|jjddS(NRs1.0send-1cR Ro(RgR R+R,(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRdscCs*|jjddd|jjddS(NRs1.0RR (RgRR,(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRjscs:|jj|jjdfd}|S(sCursor move begins at start or end of selection When a left/right cursor key is pressed create and return to Tkinter a function which causes a cursor move from the associated edge of the selection. s sel.first+1cs sel.last-1ccsM|jd@dkrIyddWqItk rEqIXndS(Niis sel.firstR (R%Rp(Rp(t edge_indext edges_tabletself_text_indextself_text_mark_set(s*/usr/lib/python2.7/idlelib/EditorWindow.pyt move_at_edgeys   (s sel.first+1cs sel.last-1c(RgRR+(R6RR((RRRRs*/usr/lib/python2.7/idlelib/EditorWindow.pyRns   cCs|jjddS(Ns Ro(RgRk(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCs|jjddS(NsRo(RgRk(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCstj|jdS(NRo(RtfindRg(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCstj|jdS(NRo(Rt find_againRg(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCstj|jdS(NRo(Rtfind_selectionRg(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCs tj|j|j|jdS(NRo(RtgrepRgRR(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCstj|jdS(NRo(RtreplaceRg(R6Rp((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCsp|j}tjddd|}|dkr1dS|dkrK|jdS|jdd||jddS(NtGotosGo to line number:R4RoiR s%d.0(RgRRRtbellR+R,(R6RpRgtlineno((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs     c CsPy|jjdd}Wntk r2d}n X|j}tjddd|jd|}|ru|j}n|sdSy"t|\}}\}}}Wn9ttfk r}t j dt |d|jdSX|t j kr t j d d |d|jdS|r |jn|jr<|jj|n|jj||S( Ns sel.firstssel.lastttModulesAEnter the name of a Python module to search on sys.path and open:R4t initialvalues Import errorsUnsupported types%s is not a source module(RgRRptstripRt askstringR2t NameErrorR"RRR*RRRRRRR( R6RpRatft file_pathtsuffixtmodetmtypetmsg((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs6    "   cCs|jj}|jjdko!|sC|j}|dkrCdSntjj|\}}tjj |\}}ddl m }|j |j ||gdS(NtPyShellEditorWindowi(t ClassBrowser( RR,t __class__R#RRR&R'RR(tidlelibRR(R6RpR,theadttailR0R1R((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs   cCs$ddlm}|j|jdS(Ni(t PathBrowser(RRR(R6RpR((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRscCsl|dk rh|dkrh|jjdd||jjddd|jjddd|jndS(NiR s%d.0Rs1.0Rs insert +1l(RRgR+RR tcenter(R6R((s*/usr/lib/python2.7/idlelib/EditorWindow.pytgotolines cCs| stjj|rtStjjtjj|\}}tjj|dkr]tSy&t|}|j}|j Wnt k rt SX|j do|j ddkS(Ns.pys.pyws#!tpythoni(s.pys.pyw(R&R'RtTrueR(RtnormcaseRtreadlineRtIOErrorRCRR(R6R,R0R1RR.((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs$   cCs)|jr%|jj|d|_ndS(N(Rtunregister_maybe_terminateR(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt close_hooks cCs ||_dS(N(R(R6R((s*/usr/lib/python2.7/idlelib/EditorWindow.pytset_close_hookscCsD|jr|jj|n|j|jj||jdS(N(Rtfilename_changed_editRRtupdate_windowlist_registryR(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs   cCs}|jr dS|j|jjr4|j|_n|jry|jj|j|jj|j|jj|jndS(N( RRRR,RTRt removefilterRR(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt _addcolorizers  cCs:|js dS|jj|jj|jd|_dS(N(Rt removecolorsRRR(R6((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt _rmcolorizer s   c Cs|j|jtjddd}tj|d}tj|ddd}tj|d}|jjd |d d |d d |d |d d |d dS(sUpdate the color themeRctThemeRaRvRWtfgBgtfgRt foregroundt backgroundtinsertbackgroundtselectforegroundtselectbackgroundN(RRRRR RgR(R6tthemet normal_colorst cursor_colort select_colors((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRs      c Csnd}tjdddddr*d}n|jjdtjdddtjddd dd |fd S( s.Update the text widgets' font if it is changedRvRcRRs font-boldReRwRxRys font-sizeRfN(RRRgR(R6R((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt ResetFont#s cCstj|j_}x-|jD]\}}|jj||q#Wx\|jD]N}tj|}|rSx0|jD]\}}|jj||q{WqSqSWdS(s/Remove the keybindings before they are changed.N( RtGetCurrentKeySetRYtdefault_keydefstitemsRgt event_deletetget_standard_extension_namestGetExtensionBindings(R6tkeydefsRptkeylistt extensionNametxkeydefs((s*/usr/lib/python2.7/idlelib/EditorWindow.pytRemoveKeybindings.sc Cstj|j_}|jx9|jD]+}tj|}|r-|j|q-q-Wi}xd|jjD]V}i||d|D]3}|j|d}|j d|dd|qhWn||jd(sformatR@(srunRB(RCRD(swindowsRE(shelpRG(swindowsRH(Ris<>N(~R#ROtidlelib.PercolatorRStidlelib.ColorDelegatorRTtidlelib.UndoDelegatorRUtidlelib.IOBindingRVRWRXRRYtTkinterRZtidlelib.MultiStatusBarR[RRR7RRRRRR9RLRRRRR\RR^R]RnRmRuRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRR RRRRR R RRRRRRRR!RR%RRPR>R@R6RFRGRKRRRRRRRRfRRRRRRRRRRRR^RRS(((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRRus    )                             "         $    *                  %      0 # k      cCstt|S(N(RfR (R((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR\=scCstd}}x]|D]U}|dkr:|d}|d}q|dkre|d}||d|}qPqW||fS(NiRis ((tsRR_R`tch((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR]Es       RcBs;eZdZdZejejd dZd ZRS( cCs6||_||_d|_|_d|_|_dS(Ni(RgRRtfinishedRt blkopenlinet indentedline(R6RgR((s*/usr/lib/python2.7/idlelib/EditorWindow.pyR7]s  cCsd|jr dS|jd}|_t|d}|jj|ddrMdS|jj||dS(NRis.0s>=Rs lineend+1c(RRR&RgR'R(R6RR((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRcs tclasstdeftfortifttrytwhilec Cs^|jr nN||kr0||kr0||_n*||krZ|jrZ||_d|_ndS(Ni(RRR( R6RettokentstartRR.tINDENTtNAMEtOPENERS((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt tokeneaterls   cCsmtj}|jt_z;ytj|j|jWntjtfk rNnXWd|t_X|j|j fS(N( t _tokenizettabsizeRttokenizeRRt TokenErrort SyntaxErrorRR(R6t save_tabsize((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRAxs   (RRRRRR( R#ROR7RRRRRRA(((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRVs    cCs>|jd}|dkr4|| ||d}n||fS(NR,ii(R(RR((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRMs t[t bracketleftt]t bracketrightt/tslashcCs |j|}| s7tjr;|dddhkr;dS|d}tjdd|}tjdd |}tjd d|}tjd d |}tjd d|}tjdd|}tjdd|}tjdd|}tjdd|}|S(Ns<>s <>s<>Ris-[a-z]\bcSs|jjS(N(tgrouptupper(R/((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRqss\b\w+\bcSstj|j|jS(N(tkeynamesRR(R/((s*/usr/lib/python2.7/idlelib/EditorWindow.pyRqssKey-tCancels Ctrl-BreaksControl-sCtrl-R+R>s>>( RRtargvRR tsetupAppRRRgRDR(R4RR,R=((s*/usr/lib/python2.7/idlelib/EditorWindow.pyt_editor_windows  t__main__(RA(0RR&RRRRRRR~tidlelib.MultiCallRRRRRRRRtidlelib.configHandlerRR R R R RItpython_versionRRRR2tobjectR3RPRQRRR\R]RRRRMRRRRR#tidlelib.idle_test.htestRA(((s*/usr/lib/python2.7/idlelib/EditorWindow.pyts`          !(    2