Why yet another text editor History of TED (edrt) for RSTS, RSX11M, VMS (compatibility mode) and RT11 Anyone who has been using RSTS for several years will no doubt recall that the old $EDIT was the only editor available for some time (RSTS v5 and 6A). It was thus decided that something better had to be put out for most of the users, and the old BASIC+ version of TED resulted. This version was strictly a line editor, have only a few simple commands, like INSERT, CHANGE, REPLACE ,SEARCH and END. User acceptance was quite good, and resulted in efforts to improve the editor, adding character functions and better file i/o. Note that from the start it was a random access type of editor, always creating a linked list temporary file copy of the input file. This was done to avoid the restrictions inherrent in a stream editor like $EDIT. As it grew in power, it also of course grew in size and usage. When BASIC+2 version 1.0 came out, it was natural that TED should be compiled under it, and also linked to it's own run time system of BP2 ots code instead of using BP2COM. This was fine for a while until the usage got so high that TED was a drain on the system. At that point (about mid 1979) the old one was scrapped, and a completely new one was started, written in MACRO-11. In retrospect, I now would write it in PASCAL, using the features available in NBS Pascal, since at some point it will have to be running under VMS. At any rate, the new macro version of TED grew, starting out as a 6KW hiseg which has now (May 1981) grown to 17KW. The usage now has reached 160,000 accesses per quarter, a number that would be devastating if everyone used EDT. Finally, as a word of note, as of 30-Nov-81 TED runs under RSTS v7.1, RSX11M3.2, VAX/VMS under the Application Migration Executive and also under RT11 version 4. As in: Small Large Jobs Hung TTY's Errors 96 1 58/63 0 12 Run-Time Systems: Name Ext Size Users Comments BAS4F BAC 16(16)K 23 Perm, Addr:42, KBM, CSZ EDRT EDI 18(12)K 24 Perm, Addr:132, KBM SYSMV8 SM 4(28)K 1 Perm, Addr:121, R/W RT11 SAV 4(28)K 5 Perm, Addr:128, KBM, NER, CSZ, EMT:255 RSX TSK 3(28)K 0 Perm, Addr:125, KBM BAS2F BAC 15(16)K 0 Non-Res, KBM, CSZ TECO TEC 8(24)K 0 Non-Res, NER, Rem XRSX TSK 3(28)K 0 Non-Res, KBM Resident Libraries: Name Prot Acct Size Users Comments BASICS < 42> [ 0,1 ] 8K 3 Temp, Addr:149, Rem Page 2 RMSRES < 42> [ 0,1 ] 23K 0 Non-Res, Addr:157, Rem 80ASM < 42> [ 0,1 ] 12K 0 Non-Res, Addr:756, Rem Page 3 Enough of the history. The real question is why use it when you can use EDT or TECO ? Nothing can replace TECO, anything can replace EDT. Teco is undoubtably the most versatile text editor available, and is the only editor around to do a number of things. The macro capability is superb, and enables many useful teco programs to be written, like LOCAL.TEC and others. However, TECO is slow, sequential and to much to learn for a lot of people. Thus something else should be available, and that something else is NOT EDT. Only one person on campus uses EDT and that is only because it is available on his system at work. We all know (at heart at least) that VTEDIT kills your system and that EDT character mode is not so quick either. Then what about TED ? TED (edrt.rts) was written with performance in mind. It uses very large disk buffers for file input and output, and internally caches it's temporary file in 1024 byte pages to reduce disk overhead. The imple- mentation language is MACRO-11, resulting (with careful work) in a much smaller and faster editor. TED also now has a full screen editor built into it (the SCOPE command) which you will find to be fairly complete and very fast. Any size file (up to 30000 lines or about 3000 blocks) can be edited, with TED dynamically expanding as needed up to a 12KW lowseg. A smaller version (EDR16K.RTS) will allow the lowseg to grow to 16KW. Features: Written in macro-11, all code is sharable and in the run time system. Runs under RSTS V7, RSX11M v4.0 and VAX/VMS compatibility mode, with all editing functions available under all of these systems, including full screen editing. Random access to any part of the file since the file is loaded into a temp file at startup. The temp file is internally cached in four 1024 byte pages, using a LRU algorithm. Can insert files, list out to files, search and list to a file, among other things. Can accept wildcard filenames for the input file for both RSTS and RSX11M Contains a screen editor. Temp file can be placed on other disk drive via the EDRT: logical and temporary privs. Large (1024 and 2048 byte) buffers are used for all file i/o. Page 4 The RSTS and RSX versions includes a useful temporary escape feature which creates another job under a psuedo keyboard. Page 5 Line editor Commands Add [/f] Insert [l/f] RULe APPend [l,h/d/i] LENgth [l,h] SAVe ASCii [l,h] List [l,h/f] SHOw Backup LOCk [l,h] Search [l,h:t/f] CASe LPAge %Searc [l,h:t/f] CDElet [l,h] MOVe [l,h:t] TAB Change [l,h/f] Number [l,h]/f TER [/vt5/vt1/m/s] COPy [l,h:t] PAGe [l,h] Time Delete [l,h/f] Place [l,h] TYPe /f End Quit Verify [l] File REFresh Xchang [l] FSEarc [l,h:t/f] Replace [l,h] XLAte Help [/command] %Replac [l,h] ZAP [/f] SCOpe [/VT52/VT100/LIN/NOL/PAG:l/KED/PDEL/FIL:value where: 'l' is the low linenumber 'h' is the high linenumber 't' is target linenumber 'f' is a optional diskfile arguments within '[ ]' are optional input switches: /CAS/XLA/TAB/CRE/DEV:devname Not shown above is the '$' command, which calls a PK driver to allow the user to temporarily escape TED, do something else and then come back by typing a control D, as in: EDIT>$pip *.pas/l:s EDIT>$ pip/l sy/b ^D EDIT> Page 6 Keypad screen editor GOLD A Set leftmargin ----------------------------------------- GOLD F Exit | PF1 | PF2 | PF3 | PF4 | GOLD G Insert disk file | GOLD | PAGE | FNDNEXT | DELLINE | GOLD M Enter setup menu | | LASTPAG | FIND | UNDELL | GOLD P Fill paragraph ----------------------------------------- GOLD R Reverse line | "7" | "8" | "9" | "-" | GOLD S Save file | FINDLAST| SWAPCHR | APPEND | DELWORD | GOLD W Write select | SEARCHB | SWAPLIN | SPCINS | UNDELW | CTRL/A Exit ----------------------------------------- CTRL/D Delete line | "4" | "5" | "6" | "," | CTRL/E Execute macro | BOTTOM | TOP | PASTE | DELCHAR | CTRL/F Next word | FILL | CENTER | ZAPSEL | UNDELC | CTRL/G Unsave line ----------------------------------------- CTRL/P Reprint page | "1" | "2" | "3" | "ENTER" | CTRL/U Erase line | WORD | EOL | CUT | | CTRL/V Set parameters | LSTWORD | DELEOL | CHCASE | | CTRL/W Save line -------------------------------- | CTRL/X Read macro | NEXTLINE | SELECT | REPLACE | CTRL/Y Reprint line | BREAKLINE | INSOFF | SETPAT | BACKSP Eol/start of line ----------------------------------------- VT100 Keypad layout +---------+---------+---------+---------+ ! ^ ! ! ! ! ! ! ! ! ! ! <---- ! ----> ! ! ! ! V ! ! ! !cursor up!cursor dn! left ! right ! ! pagetop ! pageend ! !sentence ! +---------+---------+---------+---------+ see SC.RNO for complete information, in particular about macros and special match control patterns.