;;; Compilation of /home/juergen/lisp/mevalxp/system/editor-01.lisp, ;;; by juergen on LispWorks Personal Edition 4.4.6 at 2008/05/10 19:15:16. ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on A  U SYSTEM  MAKE-SAFE-FOR-TAIL-CALLHCOMPILERNOTE-START-OF-FILEL&;%8vuU%RUNTIMEBAD-ARGS-OR-STACKHB COMMON-LISPPATHNAMEKEYWORD UNSPECIFICBCABSOLUTEhomejuergenlispmevalxpsystem>>EU% editor-01lispB;TC LISPWORKS**TOP-LEVEL-FORM>>>E%= 'wF;%8v6u1Uth(7-2?BH CHECK-GENERATIONHC DEFSTRUCTCOMMON-LISP-USERPOINT-2D CONC-NAMEPT2D-X=Y= DEFCONSTANT +NO-MARKING+= +MARKING+>B TEXTMANAGERBTM-TEXT MAKE-TEXT MARK-STATEBCARET FREEZE-PT GET-POINT OLD-CARET  MARK-STARTBB MODIF-STARTBB MODIF-ENDBB PREFERRED-X= MOVE-CODEBWINDOWBWIN-TEXTMMAKE-TEXTMANAGER UPPER-LEFT-PTBCURSOR MAKE-POINT-2D CURSOR-OLDB BPOINTBPT-LINE POS-IN-LINEFROZENBB"BLINE-PRINT-FUNCTIONLAMBDAOBJSTRNFORMATB&U# LINE-BUFFERBLINE-LENBLINE-START-VISIBLEB LINE-LINE-NUMBLINE-MARK-STARTB LINE-MARK-ENDBPREVNEXTBUFFERLEN START-VISIBLELINE-NUMBMARK-ENDBB BTXT- FIRST-LINE LAST-LINE NUM-LINESB+UP+=B+DOWN+>B+LEFT+>B+RIGHT+>B+PG-UP+>B +PG-DOWN+>B+HOME+>B+END+>B+INSERT+> B+DELETE+> B +INSERT-CR+> SETF*MAX-LINE-LEN*>dBB *PG-DOWN-CNT*>2B *PG-UP-CNT*>B *MAX-LINES*>#B *MAX-COLS*BB+ASCII-VAL-RET+> B +RET-CHAR+ CODE-CHAR> DEFUNSET-MODIF-STARTBPTIFNULLTM-MODIF-STARTBB/BBB:B SET-MODIF-ENDBB:BB TM-MODIF-ENDBB/BBB:B INIT-TEXTBB=TXT-FIRST-LINEB B= TXT-LAST-LINEB B= TXT-NUM-LINESB=BBFINIT-TEXT-LINEBBB'BBBB'BBBB'BB>BBFINIT-TEXTMANAGERBB/TM-TEXTBB@BBB/ TM-MARK-STATEBBBATM-CARETBBBB8 TM-MARK-STARTBBBB B8COPY-TO-BUFFERBBBDOI=%+B<>OR%>=BBB?BBBCHARBB1BBB=BINIT-LINE-STRING-NBBBB LINE-PREVB  LINE-NEXTB B'BB MAKE-STRINGB(BBBBBBBBBBBBCOMPUTE-START-VISIBLEBB'BB=B'BB=B'BB=BB0INIT-LINE-STRINGBBBBBBLENGTHBB *GLOBAL-STR-BUFFER*B%BB INIT-LINE-CHBCHB'B!B=BBBBP>BBB=B0 IS-EMPTY-TEXTBANDBJBBBJBBBFUPDATE-LINE-NUMBLETAKT-LINEPT-LINEBB$ AKT-LINE-NUMBBBI>BPLINEBB BBBB&BBBLBBB2BB>BINSERT-IN-TEXTBBHBBVBBBB$FOLLOWBBBB$BBB'B#BBZBB)PROGNBB$BB\BB#BBB]BBBBBUBB*MAX-COLS-EFF*%-B>BLINE-BUFFER-FULLB%=B BB(BLINE-AT-LIMIT-PBB XPOS-DISPLINE-ENDBB,BLINE-ENDS-IN-CRBEQBHBBB_BB>B.BLINE-IS-LAST-PBB4BBB0LAST-CHBBHBBB_BB>B0INSERT-IN-LINEBB OFFSETLET*BBBIPOSPT-POS-IN-LINEBBBBOBBBBBNBBB>%<=BB(BB!BB1BBBLB>BB!BBYBBBBNBBBBN>BB SHORTEN-LINEBB8BBBBBBBNBBBNBB INSERT-CH-ATBB:B BBBTBB^BBBBBB:BBDB7BB =B NOTBBBB2BBBBBHB MAKE-LINEBBAB>B$PT-NEXT LINE-DOWNBBBB@BCCBBBB>B>BB{BBBBBBBBHBB!BSHORTEN-LINE-PTB>THAW-PTBABBBBB IS-LAST-LINEBBHBBBlBBEBB IS-FIRST-LINEBBHB4BBBBBFBHBHB4BBBBBFREBALANCE-EMPTY-FIRST-LINEWINBBBHCFBBEBHB+BBPT1B BLINE1B&B%BBBBB#B4 BBBp=BB(BBBWIN-UPPER-LEFT-PTBTBBBIBB  SET-NEW-CARETBB@REBALANCE-EMPTY-LAST-LINEBK'BBHBJBBLINE-UPBBLBB%BBBBB$B3 BBBBIBB 'BlBB@REBALANCE-EMPTY-MID-LINEBK'BBHBJBB'BBPT2BBBB$B(BB%LINE2BB,BB$B3BBB#B;BBB(BBBBIBB 'LINE-ANFB@REBALANCE-EMPTYBK'B:BJBBBTBB;BFBHBHB'BBHBJBBEBHBOB'BBHBJBB'BBHBJBREBALANCE-LAST-NON-EMPTYBK'B:BJBBIBBBBBB;BBNBBB$BB2BB BABB:BBB:BN'B:BBfBBPBB9BB:BBBlBBN'B:BB@ SHIFT-LINEBDBVBBBBBBBCB=BB>JBFBBF>BBDBBB!BB1BBBxBBBB_BBvBREBALANCE-MOVE-1BB~BBBBBUFFER1B BsBBBLEN1B BrB LAST-XPOSBB=BB>XPOS=BLBBBB|BBi NEXT-XPOS-CHBBBB1BBBB1B>BG=BBF>BBBBBBBBBDBBBIBBBBBDBEBB &VB!BB1BBEBBBiBBBBB1BREBALANCE-MOVEBB:BABBBXBBLBBBB2BBV BBB:BBBlB BZ/B~B REBALANCEBK'B:BJBBBBBBDBB.=BBNB-B'B:BJBBBBBBB:BB@BBB_'B:BAB B'B{ BBIBBBPB'B:BB'B:BJBBBDELETE-IN-LINEBB9BBBBBBNBBBBOBBB)BBB>BBBBB!BB1BBB2B>BBBNBB>B DELETE-CH-ATBK'B:BbBBBB B/BB B'B:&_ INSERT-CR-ATBK'B:B9BBXBBLBB!BBBBmBB$BBBBBB:BsBBBB:BLBBBB(B>BB>BG>BBF>BBBBBBrB BBBBEB(B>BB!BBZBBBB!BEBBBB1BTM-PREFERRED-XB=B^B' LINE-TO-PTB=BBBB:BBB B' BB 'B7 *LINECNT*=B APPEND-TEXT-LINEBBB3B BBRBBB]BBBB=BB0APPEND-TEXTM-LINEBBB3B BBBeB=BBBBwBBB/BBBBB=BBRBBBBB0APPEND-TEXTM-STRINGBB'BVB$BB) IS-ASCII-CHARB"BNUMBERPBBB > BB>~B IS-VK-DOWNB"BBQUOTEDOWNBIS-VK-UPB"BBBNUPB IS-VK-LEFTB"BBBNLEFTB IS-VK-RIGHTB"BBBNRIGHTBIS-HOMEB"BBBNHOMEBIS-ENDB"BBBNENDBIS-PG-UPB"BBBNPRIORB IS-PG-DOWNB"BBBNNEXTB IS-DELETEB"BBJBBB>BIS-CARRIAGE-RETURNB"BBJBBB> B IS-BACKSPACEB"BBJBBB>BCALLBACK-EDIT-WINDOWBKEVENTBMODIFBB WIN-TEXTMBB.BS>B CONDBGBWIN-INSERT-CHARB)'BZBMBWIN-DOWNB)'BBWIN-UPB)'BBWIN-LEFTB)'BB WIN-RIGHTB)'BBWIN-HOMEB)'BBWIN-ENDB)'BB WIN-PG-UPB)'BB WIN-PG-DOWNB)'BB WIN-DELETEB)'B WIN-INSERT-CRB)'BB WIN-BACKSPACEB)'V*INST2*GET-INFO=UPDATE-DISPLAYBT'B/*INST3*=%PRINT?g+BBBhB_ PT-TO-X-YUL-PTAKT-PTB&LINE-ULBBrLINE-APBBsBLN-ULBLN-AP=BBB{BpBBBB|BBhBBgVALUESBBLY-TO-PTDYBB$PT-1BPT-OLD B BBBq=c;bBpBBB?fobj%<s=BBBtVeBBQ1Vs;tb>BB BsVrBB_oV BBs>._ B0'B^119ULP-PTB)BBy TM-OLD-CARETBe 1MULTIPLE-VALUE-BIND =DXCBBi'BHBB^=CX 2,PT2D-Xe = WIN-CURSORB%eCYnisPT2D-YBaBBiCY-NEWB B; C NEW-ULP-PTBibB B =%>BBB>B2BBBBBBBBBoBB/ BBB^VY BBBWBB BBB- BAVC BBB BPbRPOINT-EQSBOFIREDISPLAY-SELECT-PARTB'BeBBXBBe REDISPLAY-ALLB'BBBB oBB/ BBB^UVM BBBWbBAB=BBBB>B+DDYBBBB>B4BsBB>VHBBBBBBBBoBB/ BBB^CVC BBBWVBXBBeUV'BHBB'B8eREDISPLAY-MODIF-PARTBK'B/m*CX-OLD*d*CX**CY-OLD**CY*BBBBBBBBODRAW-BETWEEN-POINTSB'B=BB?BB8REDISPLAY-MOVED-CURSORBKu'B/BBBVBBBBBBBDRAW-CURSOR-ATBlB=BBB>_7 IS-MOVE-CODEBCODEBB-EKBENLBDEMBCCNBBONQB?-RRB>OBANDPBIS-MODIFY-CODEDuB=+DELETECUB;NSB BA'B;+ TM-MOVE-CODE'BT'B;EB'B'BT'B/=B=T_B'B/SBBBVBBBBBBBB*INST4*=D-FILL-BUFFER-FROM-PTBBB*INST5*=B?WBB$B_IBB' TEXTM-MOVE'ENBBB'BAW'MB-B'EBA'EKBMBR'BAP'-TLBB'UB?B.'APOB2B'UB?OB.'PBNB'BA'QBB'-BAN'RB BPN'" NEW-CARETBB`R'BU&IV'BB7BB&_B'BZBBBPBBBTBB/!'B,BBB B/BB BxBBB?B#B~&l ~ GET-NEW-CARET'B'Ba-' &:B@srtWIN-INSERT-TABBK'IB_EB'BL CARET-BEFOREBBT CARET-AFTER IBN'UBB'B/I*MoBB;B>BqBBBBI'B8RBB'B^BBSBB/V!'B-BpB'BBCUB'BBBSBB/!T'B.BpBL'BBCBBDBBBGBBBB  MAKE-POINTBA POINT-LEQBMBBLI LINE-NUM-1BBJB% LINE-NUM-2BBJB,BB)BB -BWBBBBBBBBBBB%BB,BB BBBBB POINT-COPYBB$RESBB8B10BBBFM0B0_BVBB$B0BaBBFR0=B_B4BB$D0B+a END-LINE-POSB-BBLB>BBF0BBX_NLEIN-LINEBLINE-PTB4BBB&3_BhP/TBBB B]BBBB8B1BBB'BFBB^BBBRBBfBBB=BBDBBfBB B=B IS-TAB-CHARB"BET CHAR-CODEB> BB3BB9BBXBBBBBCB=BB>BL=BBBB)BB^BBiBBBBB1BBaBBB4LL%ALIGNBBK>>BBK>BB: MOVE-POINTBBBBbBBXBBK B:BBB'B BVBBBBJBB{aBREAL-XTEXTO-PREFERRED-XBK-#B3BVBB+BBVBB/BB(B BVBBBBJBB{a8B--#B3BVBB+BBVBB/BB)BTAT-BEGINNING-OF-LINEBB$LUP-PTB,BBN;TBBVBR;/VBBoBBBVBB+BBVB/aBBVMN-ONE-CHAR-BACKBBBBoBBBB*BAT-END-OF-LINEBB$BBLD-PTBBB>-BBVB >VBBoBBBVBB+BBV/aBBV<N-ONE-CHAR-FORWARDBBBBoBBBB+BBVBTHYB1a8BN#B3BVBB/BB,N?VBVBTXB E?EBa8BEX#B3BVBB/BB-BBVB BBB=BmBB.BBVBBBBBoBBSB#B<9aPE-PREF-XB$BBBMBB^=BXPOS-OLD LLT;BLBB$BBB=BB>BB@EvBBsBAGBBiBBBBB1BB}B-aBBFBfBB >BdBB?_:aB/B B=B=BaB/B BB-BBLB>BS<PaBBFBB-BB>BBB?BaBBFBBB(B>BBE'N'BBNEW-PTB9B-oBB'B/BpB'@B_K EXTEND-MARKBOLD-PTNCBBB MOVE-CARET-UP,BB AKT-LINE-PTCBB5B$GrO NEXT-AKT-PT #HBBBMbFVGHBBEBVBHBBgBB REVERSE-MARKBLBBNFbFVB=BM>B B=BFN>BXLGBBBBI_ B(SHIFT-PRESSED-PB>BADDR-ANDBT>_IS-STATEBBBED_N%B'$BvBBPB&B.'BBdBBBf-'BPD4'B0&&ST CREATE-MARK'B&&NBfI'BE CLEAR-MARKBT'&EB7!'BB;OSINIT-WINBKB-=V=VBBByBBLINE-STRB!B SET-CHARBP=^> BmBB>PBVBBvBBBBBxB=BBBBBBBxB=BBXBBBBBxB=E B-ȮBB#aB$BBBP-VGA=B$ LASTIBB=BB>BBB&BBBBBBBBOBBBNBB>LASTJBBH=BBF>BBDBBwISET-BYTEBASE_VGACSGET-BYTEBB2BF>BHS!tS>VB3BBBETBJ1UtWY>BvBY>dBBB> VLS-tES>VlSEtS?rBFTTtB>BB>#BBH=BBF>BBD>dVBB> FVStAS>-VTSIt-S?EBBtI%*BBDB?E>>=B>BtZtBCB?B>>>_E&BFILL-BUFFER-PT-1BBB$BBXBB$JJN-MINB BB>B_B>B*XPOS-ENDBB:BBBXPOS1 BC BBHBBBBF>BVB\TNKSETQBBBBI SCREEN-OUTBB5$B`BBBBYtBK>BY>BBIA_>BBTs> BBiE_rBHH^tBF>BBDBaBB> BBaBBBPZBtBBZB?B>VBB VBtb>AbB!B BB>=_CBBB'VALBUBtFZ>HtBRB?H>Bb_HB'BBBBB]JX1BAY1BB BBETYX2 BY2 BBQBTBB BBfBBDBgBB_ BBBIBeZB):gBBUBNBBB%@[B BBVBB Bete>?B?B2 EDRRJ%D)%DJD*eQJDJD*DDTRQRRRRRVUIDi%TRI%TRI%TRI%TRI%%DJQQJIII%Q&Q&QfR$Qe%JDjRT QITDe%DYe%DDDIQRQ*E)EIT&UJIDJQ*ADJ%B)Q&EQ*AJIIQ&QD*EI)EQR$%Q)ER$Qe*E%ADeRP)QIQID*EI%QJQIDTRR%Q*Q)DAJ%UJRR*QJR%QR*EIJQD%QJDDDDTeRT*EUD)Q*Q&Q&A)EUIDQJJIII%EPJQUDD%U%QIUIUJQ%EQRJRI%UJRIQJRQJJPTJQP)QI%*EID)QJJAQ)BeRRTJTR)Q&ITR)EQQJJIJQ%AJIT%AJ%EDTAJ*UR*ED)Q*AJ% *QRJQIIIIUJQID$QRD)QJJ%ADTJQPIIDEiJTRDQDDT%A)UJ%EITE*EID)eDIDiJJ%Ed*E%T*ERJR$EIQ*ERJR$EIQ*E%JDIR$QRUDD%EPRPRPRPRPRPRPRPRPRPR)T)TTRRRQJJDQ%J%AI)QI)QRD%E)EJQDDIDI)ADD*ATJ)J%E)IDi*QJDRTQ&%E)IDiQIQERTJD&)Q%TRT%EJRQR*EIURDQ*URITRI%TRI%JD%T*EID)DRIJURT%EJRDRTRT)E%UJQIRTRRT)E%UJQIRTDDRTD)Q*Q&Q&Q&QTRTJQIR%DTJJQDDTQ*Q&U*E&E&)EIQ*JTDI*EIDI)QRIDI)QRR$AJR$AD)EIJQeDDDR$)EQR$QIDET EiRRDIT&JQITRRDTRD %T*QB%QDQRJE)E)E DIRDQJQ*J*TRTJTRPIIQ)%QRIB%E)B%E)ER%ADD*AEBTRiRIQTJ%RJDR$QQJDIiR$Qe%QeeQ)QJJIP)TJQRJERTRRR$ERDRTD)Q%A%UJTA%*Ue*ERI%QRQJID)QjJD)QjJDD)QJ*ED) QRiD)Q*AEBeRQT*E*E)AQP)URT*E  R%ERT*EDQifRDfJQDQ&*AQJI)AT*T&E)D% ERT RETIQID%*E%EEfJQ%AJTRDI%T*QRIQDTRRT *EDITOR01*U&"CB>>>E%= iCACE U BHLOAD-XREF-INFOL&;%8vuU%BHmCZ XREF-INFO()CALLSBBSETSBBmake-safe-for-tail-call-397B >> EPRR*BHCB>>>E%= O