mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
124 lines
5.3 KiB
Plaintext
124 lines
5.3 KiB
Plaintext
'<PCODE "MEND">
|
||
|
||
<PACKAGE "MEND">
|
||
|
||
<ENTRY MEND MINIT>
|
||
|
||
<USE "TTY" "EDIT">
|
||
|
||
<SETG MEND %<RSUBR!- '[ %<PCODE!- "MEND" 0> MEND #DECL ("VALUE" ANY)
|
||
INTREAD!-IEDIT PPRINT GET-NUM!-IEDIT ERR!-IEDIT ERRET FRM EDIT &1 SCML MINIT
|
||
MEND-PROCESS HALT %<RGLOC MEND-PROCESS T> #FALSE ("CANNOT START MEND FROM HERE")
|
||
%<RGLOC OUTCHAN T> NOUT "PRINT" "TTY:MEND AREA" %<RGLOC NOUT T> #FALSE (
|
||
"TTY OPENS LOST") MPBOTM MINIT %<RGLOC MPLINES T> T OUTCHAN MEND-LOOP <RESUME
|
||
"ENDING" .RES> <MEND1> MDBG "JMB;^" " >" %<RGLOC MEND2 T> RES (PROCESS) INCHAN
|
||
INTERRUPT %<RGLOC MINTS T> QUICKPRINT ('T) MPMON? %<RGLOC BREAKR!-IEDIT T> REP
|
||
%<RGLOC MREP T> %<RGLOC MPBOTM T> %<RGLOC MPTOP T> "TL" %<RGLOC BREAKR T>
|
||
THIS-LEVEL!-IEDIT "ENDING" %<RGLOC SEP-LENGTH T> "L" %<RGLOC MUDDLE T> %<RGLOC
|
||
SEP-LINE T> DO-NEXT "____" "next" "__" INVISIBLE "no" "print__" "auto__" #FALSE
|
||
(0) (REPEAT PROG) %<TYPE-W MSTACK LIST> "CHAR" %<RGLOC INCHAN T> (T REPEAT PROG
|
||
CLAUSE) LIST CLAUSE PUSH POP REPL ILLEGAL-MSTACK!-ERRORS MREPL (CHANNEL) ..& |
|
||
MSLEEP PRINT MPLNUM "LUL" %<RGLOC IPRINT-TIME T> %<RGLOC IPRINT-TIMES T>
|
||
"V" "H" (<OR 'T FALSE>) SKIP-THIS M (MSTACK) (FIX) %<RGLOC MSLEEP T> (<OR
|
||
FIX FLOAT>) NEXT-COUNT LAST-LEVEL %<RGLOC LAST-LEVEL T> REP-LOOP (ACTIVATION)
|
||
FIRST-REP QUICK-RUN!-IEDIT QUICK-RUN "MENDING" MHALT EVLIN #DISMISS T
|
||
COMMAND-LOOP <RETURN <> .COMMAND-LOOP> FINISH!-IEDIT TOP-ITEM!-IEDIT
|
||
CURSOR!-IEDIT <AGAIN .THIS-LEVEL!-IEDIT> <QUITTER !\ .INCHAN>
|
||
LERR\ !-INTERRUPTS EDIT-TABLE %<RGLOC MEDIT-TABLE T> (VECTOR) EVLOUT
|
||
LERR\ !-IEDIT QUITTER ITER!-IEDIT ITCOM!-IEDIT SEARCH+!-IEDIT SEARCH-!-IEDIT
|
||
"CANNOT USE MEND COMMANDS FROM A MACRO" "? " "READ" "MUDBUG;EDIT? MEND" "??"
|
||
"MUDBUG;EDIT?? MEND" "N " %<RGLOC JUNKSTR!-IEDIT T> "QT" "SN" "C" "SV" "SD" %<
|
||
RGLOC GOOD-CHRS!-IEDIT T> "MUST BE FIX OR FLOAT" %<RGLOC ALTSTRING!-IEDIT T>
|
||
"SF" ["PD" "PO"] "PO" "BAD LEVEL NUMBER" ["PI" "DI"] %<RGLOC MON-LIST T>
|
||
"NON-EXISTENT ITEM" "PI" "===>>" "AI" %<RGLOC EMPTY-SLOT T>
|
||
"NO ROOM FOR ANOTHER ITEM" "O " JUNK!-IEDIT NEW-ITEM!-IEDIT ["Q " !\ "OV" !\
|
||
"QM" !\] ![ON OFF PRINT GO!] ON OFF GO "**BREAK**" "= " MON-NUM %<RGLOC
|
||
SEP-LINE2 T> " = " "RENUMBERING MONITOR LIST..." #FALSE (
|
||
"DELAY-TIME CANNOT BE NEGATIVE") MPLINES #FALSE ("LAST-LEVEL MUST BE POSITIVE")
|
||
IPRINT-TIMES #FALSE ("PRINTING-FREQUENCY MUST BE POSITIVE")]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,MEND PGLUE ![715828223 -1 -1 -1 -1 -1 -1 -1 -1
|
||
-65536 0!]>>
|
||
|
||
|
||
<SETG MEND2 %<RSUBR-ENTRY '[MEND MEND2 #DECL ("VALUE" ANY 'T)] 162>>
|
||
|
||
<SETG PRINT-SEP-LINE %<RSUBR-ENTRY '[MEND PRINT-SEP-LINE #DECL ("VALUE" STRING
|
||
"OPTIONAL" <OR 'T FALSE>)] 364>>
|
||
|
||
<NEWTYPE MSTACK LIST '<<PRIMTYPE LIST> [REST <VECTOR <OR FIX <FALSE FIX>> ANY
|
||
VECTOR FIX ANY FRAME ATOM ANY FIX>]>>
|
||
|
||
<PRINTTYPE MSTACK #FUNCTION ((MS) <SET MS <3 <1 .MS>>> <CRLF> <REPEAT () <PRINC
|
||
!\<> <COND (<NOT <1 .MS>> <PRINC "TOP">) (<L=? <1 .MS> 0> <PRINC !\->) (<PRINC <
|
||
1 .MS>>)> <PRINC !\ > <&1 <2 .MS>> <PRINC !\>> <CRLF> <OR <1 .MS> <RETURN>>
|
||
<SET MS <3 .MS>>>)>
|
||
|
||
<SETG MCREATE %<RSUBR-ENTRY '[MEND MCREATE #DECL ("VALUE" MSTACK ATOM ANY FRAME)
|
||
] 501>>
|
||
|
||
<SETG MPUSH %<RSUBR-ENTRY '[MEND MPUSH #DECL ("VALUE" MSTACK ATOM ANY FRAME)]
|
||
587>>
|
||
|
||
<SETG MPOP %<RSUBR-ENTRY '[MEND MPOP #DECL ("VALUE" <OR FALSE MSTACK> ATOM)]
|
||
1127>>
|
||
|
||
<SETG MREPL %<RSUBR-ENTRY '[MEND MREPL #DECL ("VALUE" MSTACK ATOM ANY)] 1324>>
|
||
|
||
<SETG &2 %<RSUBR-ENTRY '[MEND &2 #DECL ("VALUE" ANY ANY FIX)] 1493>>
|
||
|
||
<SETG M& %<RSUBR-ENTRY '[MEND M& #DECL ("VALUE" ANY ANY <OR FIX <FALSE FIX>> FIX
|
||
)] 1528>>
|
||
|
||
<SETG MPRINT %<RSUBR-ENTRY '[MEND MPRINT #DECL ("VALUE" MSTACK MSTACK "OPTIONAL"
|
||
ATOM <OR FIX FLOAT>)] 1640>>
|
||
|
||
<SETG GOXY %<RSUBR-ENTRY '[MEND GOXY #DECL ("VALUE" CHANNEL FIX FIX)] 2052>>
|
||
|
||
<SETG REOPEN %<RSUBR-ENTRY '[MEND REOPEN #DECL ("VALUE" <OR FALSE CHANNEL>
|
||
CHANNEL <PRIMTYPE WORD>)] 2095>>
|
||
|
||
<SETG MEND1 %<RSUBR-ENTRY '[MEND MEND1 #DECL ("VALUE" FIX)] 2116>>
|
||
|
||
<SETG MHALT %<RSUBR-ENTRY '[MEND MHALT #DECL ("VALUE" DISMISS ACTIVATION)] 2742>
|
||
>
|
||
|
||
<SETG INCLEAR %<RSUBR-ENTRY '[MEND INCLEAR #DECL ("VALUE" <UVECTOR [11 LOSE]>
|
||
CHANNEL)] 2971>>
|
||
|
||
<SETG MINTS %<RSUBR-ENTRY '[MEND MINTS #DECL ("VALUE" ANY CHARACTER CHANNEL)]
|
||
3000>>
|
||
|
||
<SETG MEDIT %<RSUBR-ENTRY '[MEND MEDIT #DECL ("VALUE" ANY STRING "TUPLE" TUPLE)]
|
||
3606>>
|
||
|
||
<DEFMAC FLUSH-COM ('STR) #DECL ((VALUE) FORM (STR) ANY) <FORM AND '<CRLF> <FORM
|
||
PRINC .STR> '<CRLF> '<READSTRING ,JUNKSTR!-IEDIT .INCHAN ,ALTSTRING!-IEDIT>>>
|
||
|
||
<SETG MEDIT-TABLE <MAPF ,VECTOR #FUNCTION ((STR) <MAPRET .STR ,MEDIT>) '["? "
|
||
"??" "N " "QT" "SN" "SV" "SD" "SF" "PD" "PO" "PI" "DI" "AI" "O " "Q " "OV" "QM"]
|
||
>>
|
||
|
||
<SETG MREP %<RSUBR-ENTRY '[MEND MREP #DECL ("VALUE" ANY)] 4593>>
|
||
|
||
<SETG BREAKR %<RSUBR-ENTRY '[MEND BREAKR #DECL ("VALUE" ANY "QUOTE" ANY "ARGS"
|
||
LIST)] 4727>>
|
||
|
||
<SETG PRINT-MONS %<RSUBR-ENTRY '[MEND PRINT-MONS #DECL ("VALUE" ATOM "OPTIONAL"
|
||
<OR 'T FALSE> <OR 'T FALSE> <OR 'T FALSE>)] 4955>>
|
||
|
||
<SETG PRINT-MON %<RSUBR-ENTRY '[MEND PRINT-MON #DECL ("VALUE" <OR ATOM FIX FLOAT
|
||
> ANY)] 5051>>
|
||
|
||
<SETG MON-LIST-GC %<RSUBR-ENTRY '[MEND MON-LIST-GC #DECL ("VALUE" <OR FALSE FIX>
|
||
)] 5143>>
|
||
|
||
<GDECL (MSLEEP) <OR FIX FLOAT> (MPLINES MPTOP MPBOTM SEP-LENGTH EMPTY-SLOT
|
||
LAST-LEVEL IPRINT-TIME IPRINT-TIMES) FIX (NOUT) CHANNEL (MEND-PROCESS) PROCESS (
|
||
SEP-LINE SEP-LINE2) STRING (MON-LIST) VECTOR>
|
||
|
||
<SETG MINIT %<RSUBR-ENTRY '[MEND MINIT #DECL ("VALUE" <OR ATOM !<FALSE STRING!>>
|
||
"OPTIONAL" <OR FIX FLOAT FALSE> <OR FIX FALSE> <OR FIX FALSE> <OR FIX FALSE>)]
|
||
5256>>
|
||
|
||
<ENDPACKAGE>
|