P [0+8+FQ(+4)[1 0FO10F"G+Q1 'W+FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) /GU-oFPi]kFc+E  M ! ; l @ K Y -  sCP!! A/@ =J~  A ap^nK*)Zhjl)sJ/{ ey'."o"u& Setup LISPT Library 20*5FSQVECTORU.Z M.M& LISPT SEND TEXT TO SUPERIORU:.Z(0) M.M^R LISPT DEFUN to LISPU:.Z(1) M.M^R LISPT MACSYMA COMMANDSU:.Z(2) M.M^R LISPT CodeU:.Z(3) M.M^R LISPT RestU:.Z(4) M.M^R LISPT Buffered TextU:.Z(5) M.M^R LISPT Region DeferredU:.Z(6) M.M^R LISPT Return to DDTU:.Z(7) M.M& LISPT CommandU:.Z(8) M.M^R LISPT Region to LISPU:.Z(9) M.M^R LISPT MARK CODEU:.Z(10) M.M^R LISPT Mark DEFUNU:.Z(11) M.M^R LISPT Mark MACSYMA CommandU:.Z(12) FSBCONSU:.Z(13) 20*5FSQVECTORU:.Z(14) FSBCONSU:.Z(15) Q:.Z(14)[C-1[020<:I*U:C(%0)>]0 M.M& LISPT READ JCLU:C(1) M.M& LISPT EDIT TEXTU:C(2) M.M& LISPT Select Write BufferU:C(3) M.M& LISPT READ TEXTU:C(4) M.M& LISPT COMMAND RECEIVERFSSUPERIOR ]C M.M^R LISPT CODEU...Z M.M^R LISPT RESTU..Z M.M^R LISPT Return to DDTU._ M.M^R LISPT REGION To LISPU:.X() M.M^R LISPT MARK CODEU:.X() M.M^R LISPT Region DeferredU:.X(@) M.M^R LISPT Buffered TextU:.X(Z) Q:.B(:I**LISPT*M(M.M& Create Buffer)+4)U:.Z(13) FSXJNAME:F6[J F~JLISPT"EM(M.MLISP MODE)' "#F~JMACST"EM(M.MMACSYMA MODE)' "#F~MODEFundamental"EM(M.MLISP Mode)''' :I*[LISPT]UEDITOR TYPE QMODE[0 QBUFFER NAME1F[REREAD M(M.MSELECT BUFFER)*LISPT* M(M.M0 MODE) M(M.MSELECT BUFFER)I F]REREAD]I]0 M(M.M& SET MODE LINE) 1,M.M& EMACS LISPT SETUP HOOK[0 Q0"N0FO..QLISPT SETUP HOOK-Q0"E :I*M.VLISPT SETUP HOOK'' M(0FO..QLISPT Setup HookF"EW:I*') & LISPT Send Text to Superior&3+1[1f* fs%OPLSP"E:i*NLI Not a LISP Inferior?fserr' q1-3"e4u1' f[zf[vb fsz-qZf[vz :I*[..JFR1F? q1+100000.fsexit F+& LISPT CommandFF"E:M:.Z(3)' FF-1"EF:M:.Z(3)' FF-2"EF:M:.Z(4)' .(Jfs^RMarkWM:.Z(9))J^R LISPT Return to DDT0[0FNF+ :I*[..JFR FF"E10.'"#20.'U0 fs%OPLSP"E0U0' q0+100000.fsexit ^R LISPT Region to LISP[1[2:i*RANDOM.[P 0fo..qEditor Name"efs^Rmark'"#:',.fU2U1 q2,q1:fb*/\;\$)NIL[4 q4"eq2j0,0af;$+1"G:iAMACSYMA' "#:i*FO..QMODE[3 f~3LISP"eq3uA' "#f~3MACSYMA"eq3uA' "#:iARANDOM''' ozap' q4+4"g:iAMACSYMA'"#:iALISP'' !zap!qPjq1,q2M:.Z(0)A ^R LISPT DEFUN to LISPw.[pF[SSTRING :L.[0 -:S (()"LL' .[1FLL:L .-Q0"L:S"L0L.U1'' Q1JF"L+1'FLL .,q1f(qpj)M:.Z(F"NW6')LISP ^R LISPT Mark DEFUN1,:M:.Z(1)^R LISPT MACSYMA Commands to MACSYMA.[p:l.[0!L1! -:s*/\;\$( )+1"E-:s/*"e:i*CFE Comment Format Errorfserr' OL1' .-B"N:F[1WQ1-Q0+1"GOL1'' :L^F J .U1 !L2!,fF"e1'( ):s/*\;\$( )+1"E:s*/"e:i*CFE Comment Format Errorfserr' OL2' q1,.(qpj)fM:.Z(F"NW6')MACSYMA ^R LISPT Mark MACSYMA Commands1,:M:.Z(2)^R LISPT Code:i*FO..QMode[0 f^:M:.Z(f~0MACSYMA"N1'"#2')^R LISPT Mark Code:i*FO..QMode[0 f^:M:.Z(f~0MACSYMA"N11'"#12')^R LISPT Rest of Buffer:i*FO..QMode[0[1F[SString.[P f~0LISP"E:L.[0-:S (()"LL'.[1FLL:L .-Q0"L:S"L0L.U1'' Q1J.,Z(QPJ)M:.Z(0)LISP' f~0MACSYMA"E:L.[1!L1! -:S\;\$*/( )+3"E -:S/*"E:i*CFE Comment Format Errorfserr' OL1' :FU0WQ0-Q1+1"G.-B"NOL1'' .-B"N:L^F J' .,Z(QPJ)M:.Z(0)MACSYMA' 0L.,Z(QPJ)M:.Z(0)RANDOM ^R LISPT Buffered TextQ:.Z(13)F"N[..O' "#W]..N:I*NLB No LISPT text Bufferfserr' z-b"E]..O]..N:I*LBE LISPT Text Buffer EmptyFserr' bjz:WM:.Z(9) hk0^R LISPT Region DeferredQ:.Z(13)"E:I*NLB No LISPT Text Bufferfserr' FSRGETTY"N^FT(Text Saved)' FF-3"EF*F'"#:,.'F( Q:.Z(13)[..Ozj .-B"GI  ' )G(-FSQPSLot)0& LISPT COMMAND ReceiverQ:.Z(14)[Q /1000000.[Y qy"N4'"#&17.'[C 1:F"NU..0F[BbindG..0 BJ1F?101000.FSEXITW -FSQPunwind 100.(' )+100000.fsexit& LISPT Edit Textq:.Z(15)[..o f+ hk 0& LISPT READ JCLM(F[MODIFIED .,(FJ).FX*( F]ModifiedW)) 0& LISPT READ TEXTQ:.Z(15)[..O F[DDEV 400377.F[DFN1 0f[dfn2 erusr: *5fsifaccess FYEC 0& LISPT SELECT WRITE BUFFERq0FO..QBuffer Name"Eq:.z(15)u..Y FSBCONSU:.Z(15)0' qBuffer Name 1F[REREAD FN:I*BM(M.MSelect Buffer) F[Modified.,(FJ).FXB FQB-1"L:iBMAIN' qBM(M.MSelect Buffer) q:.b(qBuffer index+4)U:.Z(15) 100100.fsexit 0~FILENAME~LISPT~DOC~ ~FILENAME~LISPT Macros for use with TECO running as an Inferior Job to LISP. ~DOC~ & Setup LISPT LibraryS Assigns LISPT text sending macros to ^R commands. Default setups: .Z is a q-vector of macros used by LISPT & LISPT Send Text to Superior :.Z(0) ^R LISPT DEFUN to LISP :.Z(1) ^R LISPT MACSYMA Commands :.Z(2) ^R LISPT Code - Meta-Z :.Z(3) ^R LISPT Rest - C-M-Z :.Z(4) ^R LISPT Buffered Text :.Z(5) ^R LISPT Region Deferred :.Z(6) ^R LISPT Return to DDT - ^_ :.Z(7) LISPT COMMAND :.Z(8) ^R LISPT REGION TO LISP :.Z(9) ^R LISPT MARK CODE :.Z(10) ^R LISPT Mark DEFUN :.Z(11) ^R LISPT Mark MACSYMA Command :.Z(12) pointer to *LISPT* buffer :.Z(13) q-vector of macros for superior :.Z(14) pointer to current receive buf. :.Z(15) ~DOC~ & LISPT Send Text to SuperiorS Send text between arguments to superior job Text in the buffer delimited by the arguments is sent to the superior job. A string argument determines the type of text being sent. Current choices are LISP, MACSYMA, and RANDOM. Normally LISP and MACSYMA code is interpreted by a read-eval-print loop while RANDOM text is just sent as data. If no text was specified, just return to superior. ~DOC~ & LISPT CommandC Command for sending code to a MACSYMA or LISP intended to be used from plain TECO. ~DOC~ ^R LISPT Return to DDT^R Redefines the usual macro to return directly to DDT from under a superior LISP job. ~DOC~ ^R LISPT Region to LISP^R Send code or text between ., to superior. Tries to determine text type first from the contents of the buffer, then by the current editing mode. ~DOC~ ^R LISPT DEFUN to LISP^R Send DEFUN's immediately to a LISP superior job. A DEFUN is defined by CRLF ( or ( at the beginning of the buffer. )) ~DOC~ ^R LISPT Mark DEFUN^R Mark a DEFUN for deferred reading by LISP. ~DOC~ ^R LISPT MACSYMA Commands to MACSYMA^R Send MACSYMA code to a MACSYMA superior job. Sends the command being pointed at by the cursor and arg-1 subsequent commands. ~DOC~ ^R LISPT Mark MACSYMA Commands^R Mark MACSYMA commands for deferred reading. ~DOC~ ^R LISPT Code^R Send code to Superior LISP. Run ^R LISPT MACSYMA in MACSYMA mode, otherwise run ^R LISPT DEFUN. ~DOC~ ^R LISPT Mark Code^R Mark for reading, either LISP or MACSYMA expressions. ~DOC~ ^R LISPT Rest of Buffer^R Send this piece of code and the rest of the buffer. Sends it as LISP or MACSYMA code if in LISP or MACSYMA mode, otherwise as text. ~DOC~ ^R LISPT Buffered Text^R Send code buffered up to Superior. ~DOC~ ^R LISPT Region Deferred^R Save the region for sending to superior job. ~DOC~ & LISPT COMMAND Receiver}S A macro to be assigned to FS Superior, interprets requests from its superior job. An argument specifies what command the superior is requesting. If the left half of the arg is 0, the right half is a command, otherwise the left half is a count and the right half is an address in the superior to read from. Commands are invoked by indexing into a q-vector in :.Z(14). ~DOC~ & LISPT Edit TextS Handle a request by superior to edit text. Edit the last buffer selected by the superior. ~DOC~ & LISPT READ JCLS Simply read JCL and macro it, if any. By convention, not allowed to directly modify the buffer. ~DOC~ & LISPT READ TEXTS Read text from the superior. First arg is a character count, and the second arg is a word address. ~DOC~ & LISPT SELECT WRITE BUFFERS Select a buffer for receiving text from LISP. Reads JCL for the name of the buffer. ~DIRECTORY~& Setup LISPT Library & LISPT Send Text to Superior & LISPT Command ^R LISPT Return to DDT ^R LISPT Region to LISP ^R LISPT DEFUN to LISP ^R LISPT Mark DEFUN ^R LISPT MACSYMA Commands to MACSYMA ^R LISPT Mark MACSYMA Commands ^R LISPT Code ^R LISPT Mark Code ^R LISPT Rest of Buffer ^R LISPT Buffered Text ^R LISPT Region Deferred & LISPT COMMAND Receiver & LISPT Edit Text & LISPT READ JCL & LISPT READ TEXT & LISPT SELECT WRITE BUFFER ~INVERT~[1Q1