Digital PDFs
Documents
Guest
Register
Log In
AV-D53GA-TK
March 1979
55 pages
Original
3.3MB
view
download
Document:
TECO SIG Moby Munger 2 197903
Order Number:
AV-D53GA-TK
Revision:
000
Pages:
55
Original Filename:
http://bitsavers.org/pdf/dec/teco/TECO_SIG_Moby_Munger_2_197903.pdf
OCR Text
. · . . . . . Mo MUNGER 11·~ the ." . : itt. L .i.' ··.:. l he. o 6 6.{.C..-laf VJr.f}a» o fi .the TECO Spec.Lai 1nte.Jt.e..6t G Jtou.p 'i:l'"lm'WIX- -• March 1979 Issue #2 Contributions and correspondence should be sent to the editor: · Stanley Rabinowit~ 6 Country Club Lane Merrimack, NH 03054 or to TECO SIG c/o DECUS, MR2-3/E55 One Iron Way Marlboro, MA 01752 Camera ready copy is preferred but scribblings on the side of a napkin will be accepted. Ready-to-use material should be prepared on 8 1/2 x 11 inch white bond paper. A one inch margin should be maintained on both sides, on the top and on the bottom. Material should be reasonably clean, legible, sufficiently dark copy for printing. Material prepared on electrostatic printers (e.g. Versatec printers, Xerox machines, etc.) are often unsuitable for photographic reproduction. · Readers ar~ urged to submit articles, techniques, not~s, hacks, ideas, comments, and bug reports to the Moby Munger for publication. This publication will publish on a more regular basis if more readers will submit material. The newsletter editor prefers camera ready copy, but he will ictype material submitted that is not in the appropriate form if it is worthy enough. Machine-readable copy is also acceptable if the margins are the right size. TECO programs considerably over 100 characters in length should be sent in machine-readable form (if riot camera-ready) ii1 order to preserve accuracy during the publication cycle. © 1979, DECUS It is a~sumed that all articles s.ubmittf.id to the wirnr of this n{'JIWslett~r are with the authors' permission to publish in lllny DECUS publication. Th1t articles are the responsibility of thi! ;:.uthor11 and, therefor01, DECUS, Digital Equipment Corporation, and tho editor iinumt no responsibility or liability for articl1rs or information app~rin.g in the dowmant. - Page 2 TABLE OF CONTENTS Page SIG News Notes from RT-11 Note on·vT52 Support Notes from V.AX Problem with CTRL/C Problem with TECO.TEC Notes from OS/8 Index to published patches Known restrictions .Corrections to OS/8 Handbook update WILD.TEC · New TECO for OS/8 Preview of VTEDIT Notes from TOPS-1~ Index to TECO revisions Miscellaneous TECO bugs Notes from RSX Fixing RUNOFF files Bug with P and full buffer Notes from RSTS/E Problem of the Month Comments on *Z Beginner's Column Differences between TEC0-11 V29 and V28 Differences between TEC0-11 V3~ and V29 Differences between TOPS-1~ TECO V24 and V23B TECO documentation available from DEC Errors in TECO reference card Editorial - TECO vs. TV . Historical Department Differences between TOPS-1~ TECO V23B ' V23A Differences between TOPS-1~ TECO V23A & V23 Oif ferences between TEC0-11 V27 and V24 Relative advantages and disadvantages of KED/TECO Survey of TECOs c;.··· ~· Harvard TECO BB&N TECO CCA TECO WPI TECO TECA -Stevens TECO Stevens/Texas TECO Questions and Answers A note on the EN command Macro of the Month Compatibility Corner Issues 1-3~ Future issues TECO Techniques TECO related DECUS submissions TECOs available from DECUS Bugs in-TEC0-11 VTEDIT for TEC0-11 Keypad layout 3 4 4 4 4 4 5 5 6 7 7 9 9 l~ l~ 12 13 13 13 14 15 16 16 17 18 19 2~ 2~ 21 22 22 22 22 23 27 27 29 3~ 31 32 33 35 36 37 39 4~ 4~ 52 52 53 54 54 54 Page 3 SIG NEWS The TECO SIG (Special Interest Group) has been quite active during the last year. Perhaps our best accomplishment was the breation of a TECO reference card. This pocket guide is in three colors and covers all TECO's available from DEC. The reference card is now available from the SDC (Software Distribution Center) . Its order number is AV-D53,0A-TK. We have held sessions at each MINI/MIDI DECUS symposium since the SIG's creation. Our TECO Tutorials (held at each 'symposium) have always greeted large audiences (standing room only). · At the Spring '79 Symposium, we hope to bring down several new versions of TECO for distribution. (Media will most likely be MAGtape and DECtape.) It is hoped that we will have TECO~ll ·version 34 available for RSX, VAX, and RSTS. Two new TECO's, one for OS/8 and one for TOPS-1,0 will be available (hopefully). These versions have been written at the prompting of the SIG and should be compatible with TEC0-11. · Mo~e news about these versions of TECO will be given in the next issue of the Moby Munger. There will be at least one TECO paper ·given at the Spring .Symposium. There is also a Birds of a Feather Session scheduled, so users are urged to prepare small talk~ to b"e given there. If you are not already a member of the TECO SIG, send your request for membership (it's free) to DECUS MR2-3/E55 One Iron Way Marlboro, Ml\ 01752 The Moby Munger is published sporadically by the TECO SIG. Articles are needed. We especially need macros of interest. Also, anyone interested in helping out with SIG administrative work should write to the TECO SIG, c/o DECUS at the above address. We need someone to help catalog and solicit and review TECO submissions to the DECUS program library and we need someone to help organiz~ activities at and solicit papers for DECOS symposia. The SIG would also appreciate hearing information about other versions of TECO available. Also, we coordinate bug reporting and bug fixing for various versions of TECO that are not off icially supported by DEC. Send all bug reports and other conunents or suggestions to the TECO. SIG, c/o DECUS or to the editor. NOTES FROM RT-11 RT-ll.V3B included TEC0-11 (version 28) as an unsupported product. Users of that v~rsion of TECO should be warned that later versions of TEC0-11 have made some ~hanges that may affect existing macros. The CTRL/W window command was changed to W and the Qq command no longer throws away any numeric argument. Users should plan ahead to the time that a later version of TEC0-11 is available for RT-11. (Some users may have received version 29 at a DECUS symposium.) · Current plans are that version 34 of TEC0-11 will be released with version 4 of RT-11. That release is currently scheduled for early in 198~. The delay ~s because the TECO maintainers are too ·busy with the RT-11 release to find time to upgrade TECO. If any reader who is a user of RT-11 would like to volunteer to upgrade TEC0-11 for RT-11, send your name and qualifications in to the TECO SIG (c/o DECUS) . The lucky winner will receive the source of the RT-11 TECO I/O module along with the new I/O interface spec and an OBJ of the main TECO kernel. NOTE ON VT52 SUPPORT Users trying to use the VT52 support macro under CTS-3~~ or the FB version of .Rr-11 must be aware that they must first issue the command SET TT: NOCRLF to the operating system. NOTES FROM VAX Version 29 of TEC0-11 was included with the first VAX-11/780 release as an unsupported product. The manual is available from DECUS (DECUS-11-35~) . We have been using versiQ~ 33 .in-house at DEC for quite a while now and it seems v~ry solid. We hope to be able to submit this version to the DECUS library very shortly. PROBLEM WITH CTRL/C The CTRL/C immediate action command (in VAX TECO v29) does not properly get you out of TECO. Temporarily, you can use the CTRL/Y command to abort TECO, but this alternative has the disadvantage that you.may be left with an unwanted ~-length file if you had a file open when you aborted. The way you can avoid this is to type EK$$ before doing the CTRL/Y, or by using the tztztz command. CTRL/C has been fixed in v33. PROBLEM WITH TECO.TEC TECO.TEC will not work properly if you are using subdirectories under VAX. This problem has been fixed and a new TECO.TEC has been created and tested and hopefully will shortly be available from the DECUS program library. Page 5 NOTES FROM OS/8 TECO is a supported product running under the OS/8 operating system. Version 5 was released with OS/8 V3D (as part of the exten~ion kit). This version will also run under OS/78, although it will not run properly while a symbiont is running; The PDP-8 group at DEC has no plans to re-release TECO in the near future. INDEX TO PUBLISHED PATCHES: seq. Number DSN issue Title/Description 31.2,0.,0'1 Mar 78 CHANGING 'fHE DEFAULT EU VALUE Gives an optional patch to change the initial value of the EU flag. 31. 2,0' ~ ,0'2 ·Mar 7 8 CHANGING THE DEFAUL'r EH VALUE Gives an optional patch to change the initial value of the EH- flag. 31.2,0' . .03 Mar 78 REMOVING YANK PRO'I1ECTION Gives an optional patch for users who don't like Yank protection. This ·causes the Y and . commands to always work. 31.2,0 . .04 Mar 78 SCOPE SUPPORT FOR VT~S USERS Gives an optional pate~ to allow command line scope editing to work from VT,05 terminals. 31.2,0.,05 Mar 78 PROBLEM WITH AY COMMAND Fixes bug: Y command sometimes aborts ·with ?NYA error (such as after an A command) even though no numeriq argument is specified. 31.2.0 . .06 Mar 78 CONDITIONALS INSIDE ITERATIONS Fixes bug having to do with nesting of conditionals and iterations. 31.2,0 . .07 Mar 78 ECHOING OF WARNING BELLS Fixes TECO so that the warning you get when about to run out of command line space consists only of a bell ring and no accompanying ""'G" (Caret-G) typeout. 31.2,0.,08 May 78 CTRL/U SOMETIMES FAILS AFTER * Fixes many bugs having to do with scope editing and typing rubouts and CTRL/U's after a * has been entered into corrunand string. 31.2.0.1.0 May 78 MULTIPLYING BY .0 IN TECO Fixes bug: n*.0 didn't always return ,0. 31.2,0.11 May 78 Q-REGISTERS DON'T WORK IN BK Fixes bug. Enable·s Q-Register commands to work properly on 8K machines~ Seq. Number DSN issue Title/Description 31 .. 2,0.12 May 78 CAN'T SKIP OVER A "W" Fixes bug: While scanning for a ', TECO would blow up if it encounters a W command or a PW command. 31.2,0.13 Jul 78 UNSPECIFIED ITERATIONS AFTER INSERTS Fixes bug. An iteration with an unspecified iteration count would sometimes act as if the iteratiori count was ,0 (thereby skipping the iteration) . For example, IA$< .•. > exhibits this behavior. 31.2,0.14 Aug/Sep 78 21.,03.,01 ·May 78 NEW FEATURES IN TECO VS Describes the complete set of differences between TECO V4 and VS. DEFAULT EXTENSIONS TO TECO Gives an optional patch to V3D CCL to cause the TECO and MAKE commands to use .MAC as the default estension rather than .PAL KNOWN RESTRICTIONS: The follQwing bugs are known to exist in OS/8 TECO and should be considered to be permanent restrictions . . Ther~ are no plans now or i·n the future to fix these bugs.1. No error message is given· if the nI command is not followed by an ALTMODE. Use of such a construct inside a conditional will cause unpredictable results. Way aftound: alway-0 6ollow nI c.ommand by an altmode. 2. If an ALTMODE is typed into TECO in response to a·tT command, TECO will return the ASCII code for a dollar sign (decimal 36) rather than the correct decimal 27. Way a1tound: Tu1tn ec.ho w el6 when ec.ho ).,,6 o 66. on 6 6,{,Jt-6t. Thl-6 bug doeo not man).,6eot 3. A large T or X command will abort with the ?FUL error if the output device is nearly full. Way Mound: ,{,,6).)ue_ T oft X c.ommand in !.lmail.e!t p).,ec.eo oft ex.A.;t TECO, 6ftee up -6pac.e on output dev).,c.e and then Jteowne ecli;t)_ng. 4. The CTRL/S special command· (freezes type-out) turns off the window display on a PDP-12. Way aJwund: AfiteJt typ).,ng CTRL/Q, the w).,ndow fuplay Jteowneo. S. Typing CTRL/C while I/O is going on to a non-system device may cause TECO to return to dot rather than to prompt. Way aJLound: Avo).,d typing CTRL/C whJ...R..e J.>uc.h I/0 ).,,6 ).,n p1wg1teoJ.>. 6. TECO will die if while running under BATCH in 12K or 16K machines, TECO attempts to read from BAT: . Way aftound: Avo).,d uJ.>e 06 BAT: handle.ft on J.>uc.h c.on.6).,guJtat).,onJ.>. Page 7 CORRECTIONS TO OS/8 HANDBOOK UPDATE.. . The OS/8 Handbook Update (D~C-Sff-OSHBA-A-DN4) contains much new information about TECO. New features of TECO' version 5 are reported. There are a number of errors in table 2-45 (on page 24) which describes TECO's error messages. Specifically, the one-line error message for some errors is incorrect. The error code and corrected message appear below: Error Message ?BNI > not in iteration ?FUL Output command would have overflowed output device ?NFO No File for Output "?SNI ; Not in an Iteration '?XAB Execution Aborted by CTRL/C Also, it should be· noted that each occurrence of X* in the error message listing should really be "x" . This represents the fact that TECO will substitute the character in error for "x". For example, the command FA will produce the error message: ?IFC Illegal Character "1\" after F . WILD.'rEC The ·program WILD.TEC was di~tributed with the OS/8 TECO ·material that was handed out at the last DECUS meeting. For those of you who did not get it, it is reprinted on the following page. It is useful only with the new CCL that is distributed with the latest version of OS/78. (That is the CCL that allows multiple-character switches.) That CCL will 'run under OS/8 as well as OS/78 and is highly recomm~nded for use by all OS/8 users. It has the special feature that if a COMPILE, PAL, MACRO, or EXECUTE command is issued with a · filespec that contains wildcards, then SYS:TECO.TEC is invoked passing it the user's command string in the text buffer. WILD.TEC parses the command and creates the appropriate BATCH stream to properly execute the command. Thus, -you ca.n .type .MAC *.MAC and OS/8 will assemble all files with a .MA extension on DSK:. Similarly, the co11U11and .COMPILE ABC???.FT will assemble all FORTRAN programs whose names begin with the letters ABC. If you don't have the new CCL, the above command can be issue by typing MUNG WILD,COMPILE ABC???.FT Page 8 SYSTEM MACRO TO ~A~DLE 0AU9 Qq .. •""' '' "N . . ·•·r·"E J D HT WILD CARDSl !Get first character i~ bufferl 1If it is AT, type messaQe.fo11owing1 11o11owed by a CR/LF! !ar"'ld e>citl lif first character is not ~T or "11 ltnen assume a com~and li~el lia fn tke buffer,l !Store tho verb in Q•reg A1 JI <J Ls ... $ , ,, • 1u1sAs$ <JL.S/!, ,! -1u 1 s·s$ L. ZR 0XB 0LK $ $ 1Surrou~d the fi1esoecs by CR/L.Fsl RQ1,.x1 Qt,,K 0L2RG1> lMove all • switches to front! R Q 1 , • x 1 Q 1 , K P,I L 2RG1 > 1 M0 v e a 1 , I 8 w~ t.e hes t 0 f r 0 n t ' !Get all switches into Q•reg 81 lj !JOB IR. W.IL.D, DI<S ICreete BATCH Pr.efeeel 2R I/F=1 JNG WILD,"$ GA I"$ GB SEND PW EF HK SUBMIT WILD.TM/T/H$ ' ~ILD,TMP$ 11••n "E ) FS" $ $ ' 0K HXf.3. t-.K OLD,DI$Y ZJ •3K ~·ANo , !Create BATCH eniloql !Put created BATCH J~b i~ WILD.TMP! lEKeeute t~e BATCH Job1 !If the first character is a " 1 lthen de1ete it & change matching " to soeee1 IPlace pre•text ;~ Q•reg A and post•text iM Bl !Read in direeto~v 11sti~g of f~les thet matchedl !delete garbage at beginn;ng a~d eMdl such files 2R 0XC GB 0L I.$ GA .I,MUNG WI~D,.T$ GC I 1Give error message if no files remaining! lRemov•s soeees from files~eesl !Create COMPILE FILE comma~dl LCreate TYPE co~mandl lRePeet, for eGeh file~Peel ~JOB ING WIL.o,··r$GAI1 rI,R FOTP :LO,DI,WILD.TM,W!LD,bI/D lD illD,BI$ PW EF HK :usMIT WILD/T/H$ !Put BATCH template erou~d commands! !Create second BATCH Jobi !Execute it1 Page 9 NEW TECO FOR OS/8 A new TECO for OS/8 will shortly be submitted to the DECUS program library. It is called TEC0-8 and .is based on DEC's OS/8 TECO VS. It was written by Stan Rabinowitz and is upward compatible with DEC's TECO. It is written in MACREL and contains many new extensions to DEC's TECO, mostly compatible with TEC0-11. Copies will be available at the next symposium. Of most interest is the fact that it contains VT support (written by Jim Roth) . This support is compatible with TECO-ll's VT support and allows maintaining a window into the text buffer.on the- screen of a VT~5, VT52, or VTl~~Also of interest is TECO.IN! and TECO.TEC support, read with no wait, CTRL/C trapping, War and Peace Error Message Mode (3EH), type~ahead, V, "A and "D, and much much more. More details will appear in the next Moby Munger. An advance articl~ appears on pages 7-1~ of the January 1979 issue of The 12-Bi~ SIG Newsletter (issue #32). PREVIEW OF VTEDIT With the .above-planned release of TEC0-8 will be a macro called VTEDIT.TEC • It is compatible with TECO-ll's VTEDIT that is a superset 6f the VT52.TEC ma9ro. This macro turns TECO into a true scope editor. The buffer is permanently displayed on the scope of the CRT. Typing a character immed;i.ately enters it into the buffer and.updates the screen. Typing special keys and keys on the VT52 keypad cause special actions to occur. A summary of the keypad layout follows: (See page 54 for corresponding layout for the -11 version) BLUE Save Text• RED GREY A TECO command* Paste text Upln column• v Down In column• 7 8 9 Open Line• Page• Quote• 4 Up Line• 1 Top of page• " 5 6 Delete char• Delete te>ct "C. "D. "K . . "U. "Z ~ . . BKSP . . DELETE . ESCESC. • 2 3 Bottom of page St~1rt Curaor of llne l&ft* Down llne• ABC, MH3, HJ, JR - • Curo or right* . Search again"' ENTER Search arg• PK. SR OOll>il08"H Return to TECO Kill rest of line• Kill line"' Kill start of line Return to TECO Go to end of line* Delete previous character"' Repeat RED-ke:y command"' All •commands take an optional argument as: ESC number Page 1,0 NOTES FROM TOPS-10 TECO is a supported product running under the TOPS-1~ operating system. The latest release is version 24(2¢2) which was released in March of 1977. This version of TECO is pretty solid, however it does not contain any scope support, nor has this TECO kept pace with the other TECO's around DEC. For these reasons, mahy DECSYSTEM-1¢ users are running version~ of TECO written at places other than DEC. The TECO SIG hopes to remedy this situation shortly by submit~ing to DECUS a new version of TECO for TOPS-1,0 that will be compatible with TECO~ll and will have scope support. ·This version is being worked on by Andy Nourse and we hope to have it available from the DECUS program library very shortly now. Copies should be available by the next -1¢ DECUS symposium. Bug reports for DEC's TECO should be submitted on SPRs in the usual manner. Fixes are published perioaically in the Software Dispatch. Following is a complete summary of all published corrections to TECO since the release of version 24 (edit 2¢2): Index to TECO Revisions Edit SPR-no./ date 2¢3 1,0-23364 PCO-no. -¢51 TECO does not generate correct line sequence numbers when the /GENLSN switch is given as part of an EB command -¢52 TECO generates erroneous errors such as ?FNF if the trace feature (? command) is turned on. -,053 A ?NNQ error is given when t~ying to access a Q-register with a Q command after an illegal argument to a U command has been given. -,054 Successful searches within iterations do not return a value of -1. EdUotcial note: TOPS-10 W.,Vl.J.> Me ln ·6ofL a big J.>lwc.k when they in6ta.£1. thi-6 6ix. TECO hM been WofLking 'inc.oMec:tly' fio!L the 7 yea!L-6 that I have been w.,ing it and a.Lt TECO p!LogfLa.mmeM know that -6 eMc..he-6 do not ILUWl.n value..-6 unfeM they afte c.oton morif._6,[ed. The p!Lobfc.m L6 th.at the doc.wnenta.tion ha.-6 been WfLong a.Lt the..-6 e yea!L-6. · TEC0-11 made the above c.ha.nge -6 eveJr.a.f veJr-OioM ago and immediately got £.o:t6 o ~ 6£.ac.I<. 6Jwm a.Lt thei!L U.6eM, J. >o they c.ha.n.ged bac.k. The algo!Lithm 6oun.d moJ.>t w.,e_t)uf i-6 that a J..>eMc.h in an U:Vtation ac.;t).) M i6 it wvie c.olon modiQied i6 -lt L6 inime.d-La-tely 6oUowed by a .6em,i.c.ofon. l~-Aug-77 2~4 1¢-235¢8 14-Sep-77 2¢5 1,0-21631 15-Sep-77 21~ 1,0-21632 14-0ct-77 Description of bug fixed Page 11 Index to TECO Revisions (canto) Ed1' t SPR-no./ date PCO-no. 2%6 none -,055 17-0ct-77 2%7 none Des9r1p~1on ' t' o-f b ug f'ixe d MACRO version 53 gives an· error when TECO is compiled. -,056· TECO gets an illegal memory reference if it is loaded with DDT and a command line of 9,0 characters is entered. -,057 28-0ct-77 TECO gets an illegal memory reference when doing an nXq command if .. > 262114~ 212 lS-21417 -.058 ,08-Nov-77 The *q every once in a while puts garbage in Q-register q. 213 1%-21561 -%59 29-Nov-77 The tEL match control construct fails to recognize end-of-buffer as a match. 214 1,0-22762 -~6,0 TECO is not able to find th~ file that is to be edited when FTSFD is turned off. -,061 Successive searches forget exact case specifications. For example, the command SatVB$ causes the search to proceed using exact case mode since case control constructs are present. A subsequent 8$ conunand uses the preceding search argument, but forgets to use exact case mode. This patch causes the exact mode internal flag to be reset only when an explicit search string is given. -,062 If the Blst character of a search pattern specification is a CTRI,/Q or CTRL/R, the first word of the Q-Register stack gets wiped. -~63 Standard page marks are not 9iven in line sequence mode. 17-0ct-77 211 1,0-22148 15-Dec-77 215 1,0-24918 17-Feb-78 216 1,0-25563 19-Apr-78 22,0 1,0-25665 ,01-May-78 221 1,0-25395 -,064 ,02-Jun-78 TECO gets confused by garbage after a filespec when processing CCL. 222 1,0-25659 17-Jul-78 No error is given if the match control construct CTRL/t occurs at the end of a search string. This patch creates the new error message ?MCO (Missing Character Operand) . 223 1,0-25648 -,066 ·18-Jul-78 StE[A,tES] will match A and any tabs or spaces following A. 224 none -,067 ,05-Sep-78 This edit improves the.comments in the source of TECO. -,065 Page 12 Index to TECO Revisions (cont.) Edit SPR-no./ date PCO-no. Description of bug fixed 22~3 1,0-26761 -,068 The commands MAKE FILE.EXT and TECO FILE.EXT lose the third character of the extension. (Edit 221 broke the conunand scanner.) 12-0ct-78 226 1,0-26914 -,069 2,0-0ct-78 TECO high segment is too big. 227 1,0-27219 ? sometimes doesn't work after an erroneous *q cornmand. Rubout doesn't work after a *q and *q goes into affect after a single ALTmode instead of after two ALTMODEs. EcU:tofi.la..l c.omme.n..t: I be.Lle.ve. that. *q -l6 an -,07,0 14-Dec-78 imme.cUa..te. ac..:tfon c.ommand and J.>hot.Ltd go in.to .at)fie.c.t with.ou;t. any altmode.J.> being ne.c.e.J.>.oaJr.y. Note: I have not been able to determine the content 6r purpose of edit 217 to TECO. Miscellaneous TECO bugs: The following bugs were reported to me by a person who wishes to remain anonymous. He reported them to DEC in November of 1977 but·DEC refused to answer his SPRs since he was a DEC employee and not a customer. These bugs apply to v24 of DEC's TOPS-1,0 TECO: 1. A Fails if buffer is full. If a file is open for input and you fill up the text buffer to capacity and then issue an A cornmand, TECO properly issues the message ?COR - Storage Capacity Exceeded, and then proceeds to wipe out the text buffer (sets Z=,0) . 2. Excessive Pops bomb TECO. If a large number of successive pop commands is given, for example 5,0,0,0<]q> , TECO aborts with an illegal memory reference. TECO ought to give a message such as ?CPQ Can't Pop Q-register if the.Q-register push down stack is empty and a ]q cornmand is issued. 3. Push Down List overflow is fatal to TECO. The command !A!<OA$$ aborts TECO with a ?PDL OV error message. TECO ought to be smart enough to catch this error andgive an error message such as ?PDO. 4. Literal-typeout-mode too General If the lET command is issued to put TECO into literaltypcout-mode, then many TECO features act strangely. For example, while editing a conunand string, if you try to rubout a CTRL/A, TECO retypes the deleted character by sending a true CTRL/A (rather than an uparrow-A) to the terminal. Also, the Bell-space immediate action command retypes the line literally, and error messages such as ?IFC report erroneous characters literally. This is wrong. Only TECO typeout should be affected by literal mode (see section 3.6.4 of the TECO manual). Page 13 5. TECO fails to recognize ta • Erroneous results can occur if the CTRL/A command is used in its uparrow mode within an unsatisfied conditional and ·the "a" following the uparrow is in lower case. For ex~mple, the command ~"N<~"Nta text @ ' > ' $$ produces the ?MAP error message incorrectly. The above command works if ta is replaced by tA . 6. Null FS·replacements abort command. The command IABCD$JFSB$tV$T$$ doesn't execute the final T command since TECO thinks it has seen a double ALTMODE and· consequently aborts the execution of the conunand .string after replacing B by the null string. 7. @-modifier to tab confuses TECO. The TECO documentation fails to specify that the tab and tI commands may be @-si9n modified. Such commands appear to work. For example, both @+/text/ and @tI/text/ insert +text into the buffer. (+denotes a tab character.) However, if an @-sign modified tab command appears within an unsatisfied conditional, TECO gets confused. For example, the command 2"E@tI/L/'$$ works while the command 2"E@-+/L/' $$ fails giving a ?MP.. P error. ·suggestion: TECO ought to treat @+ as an error. NOTES FROM RSX Version 28 of TEC0-11·was released (as an unsupported product) with versions 3 and 3.1 of RSX-11/M. Version 28 is also in the DECOS program library. The order number for the RSX-11/M version is DECUS-11-333 and the ·order number for the RSX-11/D version is. DECUS-11-334. It is expected that TEC0-11 version 34 will shortly be submitted to the DECUS library. The DECUS order number for the manual is DECUS-11-35~. ~ Fixing RUNOFF files Output from RSX RUNOFF is in a very strange ASCII format, so that RUNOFF output can not be conveniently input to SRCCOM. These problems can be fixed up by passing the .funny file throguh TECO twice as follows: TECO f ile/-CR *EX$$ TECO file *EX$$ Bug with P and full buffer If the t~xt buffer is full and does not end with a line-terminator, and if the form feed flag is not set, and a P command is issued, TECO will inscr~ an erroneous carriage-reLurn / line-feed at the ;end of the buffer. This bug is due to inherent RMS problems and there is no plan to fix this bug in future TEC0-11 releases. Page 14 NOTES FROM RSTS/E TECO was relea~ed with RSTS V6C as an unsupported product. It has also been distributed at recent DECUS symposia. A new version will shortly be put into the DECUS program library. NEW FEATURES FOR V29: The following new features are part of the version 29 release and apply only to RSTS: 1. A bug which prev_ented reading of certain RMS files has been fixed. 2. The EG command has been changed. EGcommand$ or The new format is @EG/command/ This command is the same as EC, however control returns to RSTS·and the CCL command specified after the EG corrmand is. ex~cuted by RSTS. 3. Several new file switches are permitted on file specifications in the ER, EW, and EB commands. /B+ is the same as the / (with no switch) and means that you are editing a BASIC PLUS file. /B2. is a new switch and means that you are editing a BASIC PLUS 2 file. It is the same as the /72 command (see below). /n where n is a decimal number. On input, this causes the trailing &'s (along with all preceding spaces and tabs) to be·discarded. On output, if a line is terminated by a carriage-return I line-feed sequence and the next line does not begin with a digit, then enough tabs and/or spaces are appended to the line followed by an & to cause that & to go into column n of the line. If this is not possible, then a single space followed by an & is appended. 4. The new CCL command TECO f ile2=f ilel has been implemented. It reads filel and creates file2. It is equivalent to the TECO command ERfilel$EWfile2$Y 5. The TECO start-up file, TECO.TEC, has been modified. Users who have their own private copies of TECO.TEC should be aware that it will be invoked with a -1 in Q-register 1. See elsewhere in this issue for general features of TECO v29 that apply to all TEC0-11 implementations. Pag·e 15 PROBLEM OF THE MONTH This column will present interesting and/or unusual problems for the reader to solve. Problem 1: Write a TECO macro, which, when executed, types out the upper case letters A to z (in o~der) on the terminal. Restrictions: (a) There must be no other type-out by this macro. (b) The macro must contain only distinct characters. That is, ·no character may be.repeated. (An upper case character is to be considered different from its lower case counterpart.) (c) The macro must be as short as possible. For example, the macro . iABCDEFGHIJKLMNOPQRSTUVWXYZ$ht is a 3~ character solution to the problem. It is far from minimal. Can you ·cut it down to 15 characters or less? Solutions should be sent to the e:ditor and must be postmarked by June 15, 1979. There are two.classes of competition: CLASS A: Macro is written in machine-independent (DEC) TECOt and will run correctly under OS/8, RT-11, RSX-11, RSTS/E, or TOPS~l~. CLASS B: Macro is machine dependent. it will run. · Specify on which TECO Macios will be tested by effectively putting them in a file called MACRO.TEC, invoking TECO, and executing the command string ERMACRO.TEC$YHXMHKMM$$ Winners names will be printed in the first issue of the Moby Munger following the conclusion of this contest. Solutions and proble~ proposals for future columns should be sent to the editor: Stanley Rabinowitz, 6 Country Club Lane, Merrimack, NH 03054. t Consult TECO reference card for system compatible commands. page 16 COMMENT_S ON * Z by Eric 'l~he Osman *Z command in TEC0-11 is a real crock because 1) Typing a non-* and then DELETE and then *Z loses. 2) Sometimes you do a long command string, then a few short command strings later (things like HT, etc.) you realize the long command string wasn't quite right and you want it back. *Z is useless at this point. My suggestion for definition of *Z command, where "Z" is any legal Q-register name is: The *Z command takes the last command string that was long~r than 15 characters and stores it in Q-register z. Notes-: a) The number 15 is arbitrary, but has proven in other TECO's. con~en~ent b) This definition solves both problems listed above. c) No conflict with multiplication because * seen with no pr~ceeding argument means "save last long command string". BEGINNER'S COLUMN by Stan Rabinowitz Selectively making changes to a file A common editing problem is to change all occurrences of one string to another in a file. Although the command <FNstringl$string2$;> is usually good enough to do this, this command has the problem that there might be an unusual occurrence of the stringl that shouldn't be changed. The following technique is a typical way of avoiding this problem. This conunand string searches for the given stringl and types out the line containing this string on the terminal. It then waits for the user .to type a character on the terminal, if he types "Y", then that means that the stringl should be replaced by string2. Typing any other character means that the stringl should not be replaced in this case. <Nstringl$; !Search for string, exit if not found! 1-A tA ,0TT !Return the carriage! !Type the current line! tA Change? tA tT-ttY"E-7Distring2$' > !Prompt for decision! !If yes, replace string! !a.nd continue! Page 17 DIFFERENCES BETWEEN TEC0-11 V29 AND V2B: 1. The ntUq$ command was implemented. It inserts the character whose ASCII code is n into Q-register q. The command may be @-sign modified and colon modified (colon means character append~ to end of Q-register· text) . 2. F 3. Several commands were changed to prevent conflicting with _DEC's TOPS-1,0 TECO. tw was changed to W (Window command) . tv (version number) was changed to EO. · 4. The tR (Replace) command was eliminated. to FS. was put back in. It is identical (The above :two Ue.m~ WeJte nec.u-6Lta;ted by the 6ad tha;t the VEC-6y-6tem10 g!Loup upgitaded the.AA TECO to ve'.!Lf.>-lon 22 wUhout c.on-6uLUng wha;t the PDP-8 and PDP-11 g!Loup~ We/Le do-lng.) 5. Vertical tab is now an error (it used to be ignored). 6. The tv and tw string build constructs_ and the tEV and tEW match constructs were implemented to be compatible with DEC's TOPS-1,0 TECO version 23. Also, a bug involving the "V and "W conditionals was fixed. 7. ·The tt string build construct was eliminated. Its functionality can be accomplished by the new tv construct. 8. Some error codes were changed for compatibility reasons. ?ICC became ?IQC and ?IQR became ?IQN. 9. The :A (append single line to text buffer) command was implemented. 1,0. An error message is generated if a Y command has a numeric argument. (T~ )_/._, a good p!Lo.tec.tlon 6ea.tWLe~ and ,lf) c_ompa.:t-lble w,Uh OS/ 8 TECO. ) 11. The bits in the EH flag were shuffled so as not to conflict with TOPS-1,0 TECO. The old 3EH is now 4EH. 12. The bits in the ED flag were shuffled around so that now the flag is bit-encoded~ -lED is now 2ED. 13 .. The <bell><space> and <bell>* commands were modified so that the first line of the co~nand string will be preceded by an asterisk (representing TECOv.s prompt). Now, if you are on a scope terminal and rub out a multiline command string back to the first line, the * prompt that was ~n the screen does not disappear. Version 29 of TEC0-11 is the version that is documented in the TECO Reference card available from the SDC. The PDP-11 implementors must be congratulated for their.part in ironing out incompatibilites between the various TECOs at DEC. The only item above that may be of some concern· to users is the change in the window command. Anyone who wrote scope editing macros.under v28 should change all CTRL/W's to W's in their macros. Page 18 DIFFERENCES BETWEEN TEC0-11 y29 and V3~: TEC0-11 has the following new features that were not in V29: 1. The Qq command may now take an argument. nQq returns the value of the (n+l)th character in Q-register q. The argument n must be between~ and the Q-register's size - 1 . If n is out of range, then a value of -1 is returned. (~Qq returns the first character, etc.) (Wa1tnlng - thJA new c.ommand c.aMU many ewting macJwJ.> to bJteak., bec.auoe many mac.Jto.o Welte a.1.>-6unilng that the. Q c.ommand would fuc.a1td any aJtgu.ment. It would be a wLo e p1tog1tamming pJtac.tic.e to alway'-> fuc.a.Jtd an unneeded value by t)oUowing it wJ..:th an ALTlltOVE, a c.omma.nd whic.h Lo gua.Jtanteed to dUc.a.Jtd any aJLgument.) 2. The 0 command can now build the tag to go to using the same constructs as the Search and E commands. Specifically, the tEQq construct can be used. 3. The EJ command has been implemented. ~EJ returns your job number and lEJ returns your console keyboard number. (~ is returned o~ single-user systems~) (_AdclULona.l EJ c.ommand-6 have been implemented in late.Jt ve.MioM a 6 TEC0-11; thue will be ducJU.bed in the nex;t L6J.>ue 06 the Mo by MungeJt.) 4. Conditionals now allow an IF-THEN-ELSE construct. In addition to the usual form of a conditional, you now have the new form: n"X <then-commands> I <else-commands> If the condition (denoted above by X) is satisfied, then ·the then-commands are executed. If the condition is not satisfied, then the else-commands are executed. (A Jte.a.l advan.c.e in J.>.:tJtuc.tUJted pJtogJtammin.g in. TECO! ThJA c.omman.d Lo amazingly uJ.> e6ul. AdclULona.l c.ommand-6 tha,t will mak.e. TECO p!togJtamm,i.ng moJte. f.>Vwc.tUJted eute. planned 6oJt the. ne.a.Jt 6utUJte. ll6eJt c.ommenu and J.>uggu.tionJ.> a.Jte alway}., we.R..c.ome.. ) 5. The ~:W :w· command can be used to return scope characteristics. returns your scope type. ~ means VT52, 2 means VTl~~' 4 means VT~S with fill, and 6 means VT05 without fill . . l:W returns the scope's horizontal size. 2:W returns the scope's vertical size. n,m:W is used to set the m:W information to n. (Tw la.1.>,t t)ea.:tUJte '-> eemf.> to be a LL:tfte. inC:on.J.,Lote.nt with the. fLUt 06 the lan.gu0-ge. ) This version of TEC0-11 has been in use in-house at DEC for quite a while, so it has gotten extensive testing. However, it has not yet been made publicly available. Version 34 of TEC0-11 .will shortly be submitted to DECUS. Watch for more information. The next issue of the Moby M will contain details about version 32, 33, and 34. You can lobk forward to.such obscure cornmands as F',. F<, F>, and hexadecimal radix mode! .page 19 DIFFERENCES BETWEEN TOPS-1~ TECO V24 and V23B: DEC's TOPS-1~ TECO version 24 (edit 2~2) has the following new features that were not in version 23B ·(edit 162): 1. TECO now allows editing of files protected via the File Daemon. The File Daemon bit (4~~) of the file protection is preserved in the new files created. 2. TECO will now allow ERSATZ devices and SFD~s in arguments to the MAKE, TECO, ER, EW, and EB commands, as well as the 11 [ - ] " and· 11 [ , ] 11 constructions. 3... On. an EB or 'l1ECO command,. TECO will now always put the new source file where the conunand string specified. (In version 23B, the new file always went into the user's area.) 4. Any time that TECO finds a file on an area other than the one explicitly specified i.n the command string (because of scanning up directory paths) , the warning message %File found in [path] is printed. 5. The command MAKE A=B is now pe!rmitted. It is equivalent to invoking TECO and giving it the initial command ERB$EWA$Y$$ An equal sign in a TECO command will be ignored. Thus TECO A=B is equivalent to TECO A . Thus, if a MAKE A=B command i~; followed by a TECO <crlf > , the right thing will happen (the system will remember the previous argument, and file A will be edited). (Onc.e. again the -10 woh.ld wen:t and implemen:ted a fieo.X.U!Le wUhoCLt .6eung how othe.Jt VEC ope.Jtating .6tJf.>te..m-0 handle the fieatuJLe. OS/8 · ..6olved thl6 pJc..oble,m .6e.veJc..al yeaM pJuoJc.. :t.o :t.he -10 '.6 ).mplemen:tat..lon by mak.ing the TECO A=B c.ommand ed,[:t. B ~n:to A and only Jc..eme.mbvr. :t.he aJc..gumen:t up :t.o and no:t. ~nc.lu~ng th'~ "=" -6...lgn. ) The following d~ficiencies in V23B were not corrected in V24: (a) CTRL/C REENTER or EX$$ REENTER sometimes resui ts~· in lost editing or address checks. (b) Changing the size of the push down list causes a garbage collect error (?GCE). (c) The.value output in the [nK COREl message is not always correct for KI processors. Presumably, the following bugs in V23B were fixed: (i) TECO couldn't handle magtape with non-standard block size. (ii) ?FUL was incorrectly generated if a file on a DECtape was open for both input ~nd output. (iii) Output to device NUL: resulted in a superseding warning. (iv) ?COS error was not detected for EB conunands. Page 2,0 TECO DOCUMENTATION AVAILABLE.FROM DEC Since the last issue of the Moby Munger, the following new TECO documents have become available from DEC: Order Number Description DEC-11-UTECA-A-DNl UPDATE NOTICE No .. 1 to TEC0-11 User's Guide This is an update to the July 1977 copy of the TEC0-11 User's Guide (DEC-lL-UTECA-A-D) . It upgrades appendix F (The index to TECO commands and special characters) . The original index had the wrong page numbers. This document is also a useful.summary of TEC0-11 commands (version 28). AV-D53,0A-TK TECO POCKET GUIDE . This is a pocket reference card that covers OS/8 TECO version 5, TEC0-11 version 29, and TOPS-1,0 TECO version 24. It is extremely detailed. Commands peculiar to specific implementations are easy distinguished by a color coding. ERRORS IN TECO REFERENCE CARD A few errors have been noticed in the TECO Pocket Guide (AV-D53,0A-TK) . These are described below: l·.. several commands are in black and imply that they exist in all 3 flavors of rrECO i however, these commands are not implemented in TEC0-8. 'rhey are: (a) (page 1,0) [q is not in TEC0-8 (b) (page 11) nES is not in TEC0-8 ( c") (page 12) tEA is not in TEC0-8 2. Page 16, the graphic for the character whose octal ASCII code is 174 is vertical bar <I) not close square bracket. 3. Page 17, note [11] should say "Not in RSTS or RSX . . . . " 4. Page 17, note [25] should say "TEC0-1,0 allow·s begin of buffer to match and does not allow., $, or% to match" . Readers discovering other errors in the card are urged to write in and inform us so that these errors can be fixed on the next printing. Page 21 EDITORIAL TECO vs. TV by the Editor As the reader of this newsletter may noticie - TECO runs on most DEC operating systems: OS/8, RT-11, RSX-11/D, RSX-11/M, IAS, VAX, TOPS-1,0, and RSTS/E. A glance at the larg~ number of black entries in the TECO Reference Card shows that these TECO's are largely compatible too. Of notable absence is the DECSYSTEM-2,0. Why doesn't TECO run on this machine too? Well, in fact it does. Since TECO runs under TOPS-1,0, that v~rsion of TECO will run on the·-2,0 too in -1,0 mode. However, running TOPS-1,0 TECO v24 on a .-2,0 is not very convenient because TOPS-1,0 TECO does not support scope terminals and TOPS-·2,0 does. How to get around this problem? Since most of the TOPS-2,0 developers were heavy TECO users from -1,0 land anyhow, it seemed obvious to upgrade TECO to run on the DEC-2,0 and to support scopes. This in fact they did - sort of. Instead of starting with .DEC's. TECO for TOPS-1,0, they started with BB&N 1 s TENEX TECO (see page 29). After considerable modification and improvement, they wound up with a program called TV. TV supports many CRTs and looks very similar to TECO. It is currently being used quite heavily within DEC by the DEC-2,0 implementors. Unfortunately, since.it was not based on DEC's TECO, it has a few features that are incompatible with TOPS-1,0 TECO and TEC0-11. As of the last information that I have (which is about a year old), TV contains 61 commands that are exactly the. same as TECO commands; it contains 19 commands that are extensions to 'l1ECO; and it contains 1,0 commands tha.t are either slightly different than their TECO counterparts or have different names. Clearly, only a little bit of effort co~ld have made TV completely compatible with TECO. Right now, TV is a very fine editor. However, there are a few commands that 'i:t'has that would 'wipe out' experienced TECO users. For example, the R command in 'I'V is what the FS command was in TECO. I agree that R consists of fewer keystrokes than FS, but for the sake of only one extra keystroke, I ~ould rither see a compatible TECO on the DEC-2,0. Unless a lot more incompatiblities have been added since my last information, the following changes, if made to TV, would make it compatible with TECO: Change names of ;R , ;W , ;X , and ;C commands to ER, EW, EX, and EC respectively. Change ;-space to ; command. Change ;F to , change F to N, and change R to FS. Change the X command so that it does not delete the characters extracted and change the tA command so that the syntax is tAtexttA rather. than tAtcxt$ . Rename E command to something else. It seems to me that ER is just as easy to type as ;R, so I don't understand why this conuna.nd was changed. Just a small amount of work could turn TV into a beautiful editor compatible with TECO, yet still keep it~· extensions. Why doesn't someone do this? Replies to this editorial are actively solicited. Page 22 HISTORICAL DEPARTMENT DIFFERENCES BETWEEN TOPS-1,0 TECO V23B and V23A: 1. Lower case FS and FN commands now accepted. 2. ts can now match first buffer character. 3. TECO now recognizes SOS page marks. 4. A warning message is given if a file contains line sequence numbers but no /GENLSN or /SUPLSN switch ~as specified. 5. TECO now uses the monitor commands TTY ALTMODE and TTY NO ALTMODE to determine if altmode conversion should take place. 6. ?NNQ and ?TTL error messages added . .7. ALTMODE terminating a macro now returns to the next macro level rather than reinitializing. 8. Numeric arguments are now preserved across carriage return and line feed. DIFFERENCES BETWEEN TOPS-1,0 TECO V23A and V23: The only change was that the DATE-75 revision was added in V23A. DIFFERENCES BETWEEN TEC0-11 V27 and V24: The following features were in TEC0-11 version 27 which were not in version 24: (consult TEC0-11 manual for description of what these commands do) 1. scope mode command string editing 2. secondary input and output streams (EP, ER$, EA,EW$) 3. wildcards (EN) and indirect input (EI) 4. filespecs can use string build constructs such as tEQq 5. bounded search (m,nStext$ , ~,nStext$ E. string build constructs: t , tEQ* , and tEQ_ 7. : ]q , 8. EGtext$ 9. m,nD : Gq , : G* , :G , m,Stext$) , and : Qq 1,0. n"V and n"W conditionals 11 .. EV and nEV 12. ET bits 6, 7, 8, and 15 (detach flag, abort on error, truncate to terminal width, and CTRL/C trap) 13.. ntQ TECO command Page 23 RELATIVE ADVANTAGES AND DISADVANTAGES OF KED AND TECO by Tom Mcintyre KED is a new video text editor for RT-11 which implements a proper subset of the proposed DEC Editor Standard. EDT is the only other DEC editor related to the standard. The readers of this newsletter need no introduction to TECO. The following table gives a brief view of what I consider the chief advantages and disadvantages of both KED and TECO. TECO APVANTAGES DISADVANTAGES Programmable Powerful editing commands Expression evaluation Generic search types Multiple variables Ob~cure mnemonics Limited error recovery Inconvenient file handling Limited human engineering KED ADVANTAGES DISADVANTAGES Easy to learn Good error recovery Convenient file handling Good human engineering No macro capability Limited variable facility No hard copy editing The primary difference I see between KED and TECO is phi 10.so ph i c a.l in i ts b as i s . KE D i s d es i g n e d f.r om the ground up as an interactive video text editor. The basic goal of the user interface is that one can guess from the function names what any effect will be. In those cases where the guess is incorrect, one can easily recoyer in context by .using the inverse function. TECO on the other hand is basically a text programming language and incidentally an interactive editor. One mighi~p~operly view TECO as text language interpreter which provides an "immediate" mode of operation. TECO has had a very long period of development and consequently has a very rich set of operations and functions. In my view this development has left TECO with the disadvantage of a very obscure set of keywords. Although there is no direct relatonship between the editing semantics and the file handling capabilities, KED also has a more natural file handling system. KED scrolls in the text file with no reference on the user's part to edit pages or extents. The user is free to move forward or backward to the limits of the file. In addition KED can maintain an auxiliary input file and an auxiliary output file. In order to rearrange a file with KED and put portions of it in an output file, one need only locate to th~ various elements in the order they are wanted and write th~m out. One never needs to close and reopen the input file. The most common compound edit operation, the global replace, is implemented in KED. It is called the substitute function and can Page 24 be used either for an automatic global replace or a verify interactively and replace. In the global flavor it is equivalent to the TECO command: <@FN/STRING/STRING/> Since TECO is a general t~xt processing language, one can implement almost all of KED in TECO. Indeed, the display management code in KED is based on Herb Jacob's TECO display manager. Some of KED's commands are messy to implement in TECO and the file handling would require changes to the interpreter. KED on the other hand is more efficient since it is a direct implementation. A KED Emulating TECO macro has been written for TEC0-11 by D. J. Duffy. It is hoped that this will shortly become available from the DECUS program library. KED has the additional "advantage" of lack of flexibility. KEO is a fully supported DEC product and will be maintained as a standard on any systems on which it is implemented. TECO standards on the other hand depend on the continued interest of a community of interested users. In summary, TECO is far and away the best text processing ·language available over the whole range of DEC computers (and many others as well). The only way a threat could develop for TECO in this area would be for DEC to develop a go6d SNOBOL for all the systems (an unlikely occurence). KED on the other hand is unsurpassed for ease of learning and effectiveness in standard text editing situations. Page 25 Keypad Layout for VT100 Lower Function is GOLD DELETE LINEFEED CTRL/U CTRL/W CTRL/Z CTRL/C <GOLD>nnn RUB CHAR RUB WORD RUB LINE SCREEN UPDATE CANCEL (PROMPTS) CANCEL (MOVEMENT) REPEAT ANY FUNCTION Page 26 [OPEN] INPUT file [OPEN] OUTPUT file Open Auxiliary Input file Open auxiliary output file CLOSE PURGE Close Auxiliary output file Purge Auxiliary output file INCLUDE options SKIP options WRITE options Read from input file Ignore from input file Write to output file options nnn PAGES nnn LINES REST Pages as defined Lines Remainder of file CLEAR PASTE Clear paste buffer EXIT QUIT Close files and restart editor Purge files and restart editor SET [ENTITY] PAGE defn SET [ENTITY] SECTION defn Define a page Define a section defn ' or " string of chars ' or " nnn LINES SET [SEARCH] GENERAL SET [SEARCH] EXACT Gen er a 1 s e arch e s Exact searches SET [SEARCH] BEGIN SET [SEARCH] END Cursor at beginning of target Cursor at end of target SET [SEARCH] BOUNDED SET [SEARCH] UNBOUNDED Bound search on PAGE definition Searches are not bounded SET [SCREEN] 80 SET [SCREEN] 132 Set screen width SET [SCREEN] LIGHT ·SET [SCREEN] DARK Screen to reverse background Screen to normal background SET QUIET SET NO QUIET Errors do not sound terminal Errors sound terminal bell b~ll Page 27 HARVARD TECO This article describes Harvard TECO version 22.5 which runs on a DECsystem-1~. Harvard TECO is based upon DEC's TECO for the -1~, version 22. (TOPS-1~ TECO version 21 was the 'traditional' TECO that OS/8 TECO and TEC0-11 are based on; whereas the current TOPS-1~ TECO by DEC is version 24.) Information for this article comes from a memo dated May 1972 and is probably considerably out-ofdate. Recent infor~ation about Harvard innovations to 'TECO would be appreciated. Comments in italics are the editor's personal opinions. 1. A new output file may not be opened until an existing output file is closed explicitly. (A good .6afie.ty p!te.c.au:t,,lon. TEC0-11 woJtk.o :th).-6 way :too. ) 2. Y and· commands have been replaced by EY and E_ conunands res.pecti vely. (AgCU.n, a good .oafiet.y fie.a:tu.Jte.. Howe.veA, 1 Uf~e. TEC0-11 '.6 and OS/ 8 '.6 Yank p!to:te.c..:tlon algo!U;thm be.:t:teJt. ) 3. Control.characters are permitted in searches and inserts just as they were in DEC's TECO version 21. (A w,,U.,e. fiJ..x... 1 6e.e1. VEC made. a mL6:ta~~e. whe.n :the.y p!toYU.bUe.d c.on:t!tol cha!Ulc.:tvu, fitc.om in-6 eJt.:t .o:t!ting.o. 1 :th,,(~nk. tha.t. the. only Jte-O:ttc.ic.te.d c.ha1tac.:tvu., .6 ho uld be. CTR LIE, CTR LIQ, CTR LI R, CTR L/ S , and CTR L/X and CTRL/N. Ft.du.Jte. e.nhan.c.e.me.nt.6 c.an all ,lnvolve. CTRL/E c.olii6:Utuc.:t.6 -00 M :to avoid inc.ompa:tlbll.J.Zle.o wUh e.x..i_,.otin.g mac.Jto-O . ) 4. Space is ignored as a TECO command. ( Ve.tc.y w,[J,:, e.. U6ing .6 pac.e. to me.an plM up.6 w Jte.adabll);ty and good. p1wgtc.amming p!tac;tlc.e.. ) ail my ide.a.o o 6 5. FB bounded search command has been implemented.. It takes an.argument that is the same as the argument allowed on line commands such as K, T, and X. In other words, nFBtext$ m,nFBtext$ searches the next n lines searches between pointer positions m and n. The original pointer position does not change if the bounded search fails. (1 Uke. thi.6 -0c.he.me. be.tie.ft than the. -Oc.he.me. Me.d by ve.Mion. 29 06 TEC0-11. It ,[}.:, e.a.oie.Jt to Jte.me.mbe.Jt and Me.. ) 6. The nFSstringl$string2$ command makes n replacements. (Thi.6 ,[}., inc.ompatible. w.Uh ail the- TEC0-0 a;t VEC. Iu 6unctfonaLUy c.an e.a.o.Lfy be. ac.hie.ve.d with the. n< FS-0,t.JLlng 1$.obll. ng2 $> c.ommand. ) 7. The FC (Find and Change) command is a combination of the FS and FB commands. Thus m,nFCa$b$ finds the first occurrence of "a" between buffer pointer positions m and n and replaces it with the string "b". (Ne.at!) Page 28 HARVARD TECO (cont.) 8. The ntE.comrnand can be used to set the form feed flag. 9. The :X command works like an X command but deletes the extracted text from the text buffer. In this case, the X is mnemonic for Xfer rather than extract. {Many pe.ople. be.lie.Ve. tha.t tti,U, 1-6 the mo!Le. u,o e.6ul option. Howe.ve.JL, 1 be.Ue.ve. U would be. too ·de.va1.>ta:tlng to make. f.luc..h a c..hcinge. in e.w:ting TECOf.l. Pe.JLhapf.l the. :th,[ng :to do .i-6 to ma/Ge. U .a Me.IL option by putUng tti,U, 6ac.J.lliy unde.JL the. c.onVr..ol on f.lome. EV b).;(;.. ) 1,0. Harvard TECO contains a form of .the EU command for upper/ lower case conversions. However, it has a very strange and incompatible syntax, so I won't describe it here. 11. Position Recording Arguments (VB, VI, and VS). VB is set to the buffer pointer position at the start of any search command. Thus, if the search failed, VBJ gets you back to where you were. {u,oe.fiul} . VI returns the value of the buffer pointer position immediately before the most recent insert command. Thus VI,. K kills an incorrect insert. · (The. TEC0-11 c..ommand FR$ doe.f.l the. f.lame. th,[ng. ) VS returns the value of the text buffer position directly in front of the string matched by the most recent successful search. 12. End-of-Line Counting Arguments (VL and VZ). VZ is the number of end-of-line characters in the text buffer. VL is the number of end-of-line characters preceding the current text buffer pointer position. 13; Line Formatting Aids (VC and VH). VC returns the number of ASCII characters between the beginning of the current line and the current pointer position. VH is similar to VC but gives special consideration to characters such as tab," carriage-return, and backspace. Thus VH approximates the horizontal po~ition of the current pointer on a printed page. 14. 15. 16. 17. (The. e.quivale.nt ofi VH would be ve.JLy c..onve.nlent nofL the vrEVIT mac.Jto. TEC0-11 might want to implement tft,U, via f.lometlung uke a O: tQ c..ommand.) ntO\ inserts the octal representation of n into the text buffer. f3 e.ne.!Lal oc..:tal Jtacllx mode. i-6 a beile.JL f.lofu:tion to. tw p~oble.m. ) n:; exits an iteration if n is negative. {Th,,U, -6 ee.m6 ve.JLy u-6 efiul to help w!LW.ng f.lbwc..tuJt.e.d c..ode.. ) : T command ·is similar to T command but non-printing characters have special echo. For example, carriage-return types out as <CR> . : modifier only affects the very next command and would not extend across conunands until it found a comrnand for which it were meaningful. Page 29 BB&N TECO This versiori of TECO was written by BB&N (Bolt Beranek and Newman, Inc.) and runs under the 'l ENEX operating s'ystem. Some of this information comes from Bill Plummer at BB&N. Also, I wish to extend my deepest thanks to James Neeland of the Hughes Researcih Laboratories who sent me a manual. This information reflects BB&N TENEX TECO as of Oct.ober 1973. 1 I am a bit reluctant to call this editor a TECO variant because it contains several radical departures from traditional TECO . . These changes are extremely inconsistent with all the TECOs at DEC. An experienced DEC TECO user would have a lot of trouble trying to use this 'TECO'. The main incompatibilities are: (a) The R command does a replace (i.t does what the FS command does in DEC's TECOs). (b} A single ALTMODE is the immediate action command that means start execution of this command string. rn order to enter a single ALTMODE into a command string without beginning execution, you must use the immediate action command CTRL/D which inserts an ALTMODE into the command string. (c} For no reason that I have been able to discern, the E commands have all been changed to ; commands. Thus, to open a file for input, you type ;Rfilespec$ EF became ;C , EW became ;W , etc. 'The original ; command is now ; followed by a space ( L.G HJ However, there are enough similarities between this TECO and DEC's TECOs, that some of their extensions are worth mentioning. The following lists some 6f its extensions to DEC's TOPS-1~ TECO version 24. My comments are in italics. Reader comments are solicited. 1. Negative arguments to a search command cause the search to proceed backwards. (A u,oe6ul 6ea-tWLe; abl..e,ady .ln. TEC0-11.) 2. A backward search initiated when the text buffer pointer is currently at the start of the buffer will automatically bring the pointer to the end of the buffer and then the search will commence. 3. A ~ repetition count to a search or replace corrunand is a no-op. 4. EAfilespec$ opens the file for append. 5. Backspace, if typed as the very first charact~r in a corrunand string is an inunediate action command that. performs an effe~tive -LT$$ command. Linefeed, if typed as the very first character in a conm1and string, is an immediate action command that performs an effective LT$$ command. (Th-Ll 6eatuJre ~ going -ln:to TEC0-11. ) Pa.ge 3~ BB&N TECO <cont.> 6. ntH tells TECO what kind of terminal you are running on. 7. A new Q-register, by the name of @ is defined. It has a special property.· If TECO is halted, and the resulting core-image is saved, the result is a runnable program. When that program is run, it starts up by executing the contents of Q-register @, i.e. an effective M@ conunand occurs. This feature is useful for creating run~able TECO programs. 8. The conunand m,nG gets a copy of the (n-m) characters beginning with the character after pointer position m and inserts it at the current pointer position. nG makes a copy of the next n lines leaving the buff er pointer between the copies. Gq works as it always did. (The..¢e c..ommand6 w~ec..Q havoe on TEC0'-6 algo!U.thm 60~ -6/ulpping c..ommand6. A po-6-6ible u..6e 60~ m,nGq might be to get the mth ~augh n.th c..hMaetvc6 6~om Q-~eg~,t~ q in.to the tex:t bufifi~.) 9. The ;P (Pick-up) conunand performs a ~A command combined with a C conunand, returning the value accessed. l~. m,nV types the m-1 lines before the current line, types the current line, then types the n-1 lines after the current line. nV is the same as n,nv . V means lV . (A n.iee eompa:Uble ex.tenJ.>ion to TEC0-11 '-6 V c..ommand. ) CCA TECO This version of TECO is a modification of BB&N TECO. It was implemented at the Computer Corporation of America in Cambridge by someone whose initials are MRC. The following information was obtained from Donald Eastlake III and appears to be current as of July 1977. The following is a partial list of ~ifferences between CCA TECO and BB&N TECO: 1. ALTMODE was restored to its original status. To quote from MRC: 11 The misfortune of using tD for a single al tmode and altmode for double altmode has been flushed. tD is now an ordinary character, and TECO behaves like every other TECO in the world. " 2. Space, if typed as the very first character.in a command string, is an immediate action command that performs an effective ~TT$$ command. 3. Carriage-return and line-feed throw away any numeric argument preceding them. 4. ntT types out the character whose ASCII code is n. (OS/8 TECO and TEC0-11 ~eady do th,,0~.) Documentation also indicates that phase-of-the-moon commands will shortly be implemented (I. gather to be compatible with MIT I s TECO. ) Page 31 WPI TECO WPI TECO (also known as WACCC TECO) was written at the Worcester Polytechnic Institute Computer Center and is based on DEC's TECO (version 23) for TOPS-1~. The following information (current as of April 1977) is based on WPI TECO version 23T. Comments in script typ·e are the editor's personal· comments • 1 .. EP (Page Control) command adde:d. I don't understand the lEP command. 2EP returns the current page number. 4EP sets 'truth-in-paging mode~'. In this mode,. Y and P commands must proceed to form feed characters, expanding core as necessary. If this mode is not set, Y and P commands may stop when the current·buffer is nearly full, setting the fbrm-feed flag (tE) to ~ to indicate that a partial page has been read in. 8EP causes the terminal bell to ring ( .t.o wak.e you.. up ) upon the completion of a seorch or P command. 16EP causes the EB command to create a .OLD backup file instead of a .BAK backup file. This allows for an extra level of backup. (ThL!, mode ,lJ., not nec.e.-6.6aJty on opeJt.a.tlng -0yotem-0 thCL:t u...6e fiile vvw-lon numbVt6.) 2. EQq types the text stored in Q-register q. (OS/ 8 TECO and TEC0-11 u...6 e the : Cq c.ommand to do t/U-0. ) 3. EXQ and EGQ are quick versions: of the EX and EG commands respectively. They are much faster than EX and EG because they don't mung over each character. Instead, they pad the current buffer with nulls, and then block for block copy the rest of the input file to the output file without looking at the characters. Nulls encountered later in the input file will not be purged. Presumably, these nulls will be purged the next time the file is edited. 4. n,mStext$ searches the text buffer between pointer positions n and m for the specified text. (Th,lf., .6 eemo a bli mohe log-le.al than .the TEC0-17 bounded M!..a!tc.h c.ommand.) 5. EDfilespec$ inserts into the text buffer (at the current pointer position) a directory listing of the specified directory. Wildcards are permitted. If only·a single filename is specified, then this command does not do any insertion into the text buffer, but instead returns a value of -1 or ~ specifying whether or not the file exists. 6. EKfilespec$ deletes the ~pecified file. {Tlii-6 e,apa.bilixy -l-6 1r~1~-lng {i!Lom TEC0-11. ) 7. EC core compression command. Causes TECO to relinquish any ~xtra core that may have been obtained by expansion of its low segment. (A moJr.e. genC'/l.al c.ommaJ~d wou1.d be. nEC wlue,~ .would :ten TE~O. :to. e~pand Page 32 WPI TECO (cont.) 8~ 9. l~. EAprogram$ causes TECO to abort and run the specified program. (T~ ~ no.t. a.6 geneJLal a.6 .t.he OS/ 8 TECO EGcommand$ whlc.h a,liow-6 an aJtb.i:tAa.Jiy monA.Xo!t c.omma.n.d .t.o be executed. Na.t.u.Jc..a.Lty, EGr program$ ~ a va.li.d TECO c.ommand. J EJ job information command. EJ returns the current job number. lEJ returns the user's project,progral11Iller number in the text buffer. n,mEJ does a GETTAB of n,m_and returns the result. nP-has been changed to look for a6tual form feed characters. In. DEC's TECO, the nP command is identical to n<PWY> which is not quite the same thing, since the Y command might stop on buffer full rather than form feed encountered. 11. The EZ and EO commands were removed. 12. TECO may be initialized by a TECO.IN! file. If a file named TECO.IN! exists in the user's area, it will be read and the data in it (which must be in a particular rigid format) is used to load up TECO Q-registers. If Q-register ~ is loaded by ·this scheme, TECO will perform an M~ command. {Bec.aMe ofi .t.he -tipeelal fio!tma;t 06 .t.he INI 6Ue, .t.w me.t.hod inLUalizati..on ~ no:t M genefta.£ M .t.he fie.heme Med by S.t.eveM TECO whlc.h e6fiec.,tfoely .t.Jtea.,to .t.he -text in .t.he • INI 6..[le M a mac.Jto .t.o be exec.u..ted. ThM me;t.hod ~ alfio Med by TEC0-11 and will f>oon be U-6 ed by OS/ 8 TECO. J on . TECA TECA is a display version of WPI TECO. The meager information I have on it was received in January of 1977. It was written by Andy Nourse at DEC and is probably not in use at very many places outside of DEC. Some of its features are: 1. It maintains a window into the text buffer and updates it after each command string execution. 2. nW command sets size of display window. 3. V command takes same arguments as T command but moves the window to the specified text area. 4. n++ sets the terminal type. terminal characteristics. 5. All ASCII characters are legal Q-register names. Each Q-register has two parts and can contain ·both a text st~ing.and a numeric value. (Hat1,Lng uppe!t c.Me and loweJL c.cue Q-Jteg~teJU> be d,t660en:t. ~ a !Leal lo-6 e. J It can also be used to set Page 33 STEVENS TECO This version of TECO runs on a DECsystem-1.0 and is based on DEC's TECO (version 23) for TOPS-1~~ It was writien at Stevens Institute of Technology by John Ptochnak, Gary Brown, and Robert McQucen. The following information describes the differences between ~tevens TECO version 123 and DEC's TECO version 23. It is accurate as of January 1976. · 1. The Y command has been replaced. by EY. within macros.) 2. Th.e ER and EW conunands d.efaul t unspecified fields from corresponding previous cqmmands. 3. A log-file capability has been added. ELfilespec$ closes any previous log file and opens a new one. A copy of all TECO type-in and typeout goes into the log file. EX automatically closes the log file.· Switches such as /NOIN and ·/NOOUT are permitted to specify that only typeout (or only type~in) is to be logged. /APPEND appends to the log ·file. TECO macros can dynamically change log modes via an nEL$ command. 4. ENfilespec$ renames the current input file to the name specified. EN$ deletes the current input file. 5. EDfilespec$ instructs TECO to run the specified program whenever TECO is exited. ED$ removes the pending run of such a program. 6. :m,ntT allows TTCALLs to be executed. 7. The EEfilespec$ (Edit Execute) command saves the state of TECO in the file specified. Subsequent running of that file, causes this image to start up again. It continues executing commands that followed the EE command. (Y still works (SeveJLal people ha.ve told me tha;t t!u~ ),).;, an e.x:tJtemefy uJ.>e6ul c..ommand. It ),).;, f)omewha:t mM.e c..onven.Le.n..t :to uJ.>e than the MONG c..ommand.) 8. Commands such as ER, C, R, J, etc. can be colon modified and return a value of -1 for success and .0 for failure. 9~ The EX command has been changed to act like the EXQ command of WPI TECO. 1,0. The second CTRL/A in a CTRL/A command now forces-out the text. (Under DEC's TECO, terminal characters were buffered up until a line feed was output or the program terminated.) 11. Negative searches are permitted and cause the search to proceed backwards. (MMt ne.w TEC0f) M.e al.lowing tJv[f). ) 12. m,nSstring$ searches for the specified string ~hich must begin between pointer positions m and n. If m>n, then the search proceeds backw.ards.. Bounded search also works for the FS command. STEVENS TECO (cont.) 13. EAfilespec$ (Edit Append) opens the specified file for update (appends at the end) . 14. Wq is similar to Mq but jumps to the Q-register. It stores nothing on TECO's internal ·push-down stack and does not expect you to ever return to the macro.level in which the Wq conunand is issued. It is useful for large TECO programs that are nested so deeply that they might otherwise get PDL overflows. 15. * is a valid Q-register name. 16. EPfilespec$ reads the specified file into Q-register *. 17. Eifilespec$ is the same is EPfilespec$M* executing the contents of the specified file. (Thl6 L6 1.>imi..la.JL but not -identical to TEC0-11 '!.:> EI command. The cUfit)eJtence. L6 tha:t. TEC0-11 th,[nk-6 the. cha.JtacteJtJ.> a.Jte com,ing 61tom .t.he .t.e.Jl..m.i..nal.., -00 ceJt:ta.£n cha.Jtacte.Jl,6 w~ have .t.hU!t immedia:t.e et) t)e.ct M .lmmeclla..t.e ac...t,lon command.6 Jta.theJt than M TECO command.6. Fo!t example, undeJt TEC0-11, a CTRL/ U in an -!-ncU!tect t)ile would eJtMe .t.he cU!t!ten:t .command .fine.. I do no.t. .t.Mnk .t.ha:t. L6 good and 1 Uk.e the S.t.eve.n1.:> TECO algo!tithm belie.A. TEC0-11 could be modit)ie.d by I.> eX.Ung a 1.>wilch on an EI command .t.o fuable checking ot) imme.dia:t.e. ac...t,lon command1' (e.xcep.t. $$) un:tll .input Jte.t.WLnJ.> .t.o. a phy1.>ica1.. .t.e.Jl..m.i..nal. ) 18. If a file by the name of TECO.IN! resides on the user's area, TECO will EI this file upon startup. 19. The FDstring$ conunand searches for the specified string and deletes everything from the original pointer position to the new pointer position if the string is found. Bounded Find and Delete is also legal. (1 have. been .t.old .t.ha:t. th-l6 command may change. .t.o FK and tha:t. FV would mean dele.t.e. .t.he -0.t.Jt,lng tha:t. WM t)ound. ) 2JL Search failures now preserve the text buffer pointer. (Th-l6 .may be veJty convenienx but will W-l ewUng TECO mac.JtoJ.>.) 21. The EC conunand will cause TECO to garbage collect and shrink to its original size. · 22·. ntP pages out to page n.. ntY yanks in text until page n has been read in. 23. n,m= is the same as m= but then types out the character whose ASCII code is n. (The. OS/8 and TEC0-11 ntT and n:= 1.:>eem moJte UJ.>et)ul.) 24. n,mtG performs a GETTAB UUO. 25. ntF r~turns the terminal number being used by job n. 26. Qq= types the text stored in Q-register q. (TIUA would not wo!tk on TECO ,f..mple.men:ta.:tlon!.> tha:t. have 1.>pUt QJteg-l6teJtJ.> • ) Page 35 STEVENS/TEXAS TECO .is version of TECci (for the DECsystem-1~) is based on Stevens version 123. It was written at Texas University by Clive Dawson. The differences between version 124 of this TECO ~nd the original vl23 Stevens version are described below: ~CO 1. The CTRL/G<space>immediate action corruuand was fixed so that it never types literally even if lET is set. 2. 3. ntG does a PEEK. .i, j tG does a GE'I'TAB .. 4. tG returns your job number. ntF returns the TTY number of job n, -ltF is your TTY no. s. 6. 7. 8. 9. tG. (bell-dot) immediate action command retypes the entire command _string. The EB command always writes into ~{our area and allows a /IN~LACE switch to ~ean don't create a backup file. ·n\\ and \\ are the same as n\ and \ but work in bctal radix. (Thl6 dou not a.ppe.att _to be. a-6 ge.ne/tal M TEC0-8'/.) and TEC0-11 '~ ge.ne!Lal odal Jta.dix. mode.. ) The lil;lefeed, backspace, and semicolor~ immediate action -commands· were implemented. If typ1ed as the very first keystroke after TECO's prompt, they simulate the action of the. Lrr, -LT, and ,0LT commands re spec ti vely. · · l~. The EK command cancels any.outstanding EW, EB, or EA commands. 11. CTRL/Gq inside a string substitutes the contents of Q-Register q into that string. (Thl6 pJtoUfi eJta:tlo n o 6 ne.w /.) pe.ua.l c.hattacXeJL/.) bt /.) e.Mc.h /.)tfUng/.) /.)e.em.o :to me. to be. .bad. 1.t. jMt lu-0e.M the. numbeJt ot) c.ho.Jtac..t.w :that c.an. be. e.MJJ..tJ type.d difte.c.ily. 1 woui,ld ptte.neJt to .oe.e. a.11- new c.oMtJtuc:t6 be.. imple..me..n:te.d Cl.6 CTRL/E c.on-6:t.Jtuc.:t6 and allow aU othe.Jt eon:tttol c.hMac..t.e.Jt/.) · to be. le.gal ).,M,lde.. ,ot;i/ln.g aJtgume.n..to. ) 12. The /APPEND switch is allowed on the filespec in an EW command and converts the EW command to an EA command. 13. The TECO monitor command can now have a /READONLY switch which causes TECO to perform an ER rather than an EB. 14. CRT support. This version knows over a dozen types of scope terminals and handles command line scope editing correctly (rubout, backspace, CTRL/U, etc.) ( U6 eJt/.) o6 TEC0-11 and TECO- 8 aiJte.ady luww whaX a gtte..aX boon tlU-6 ).,/.). Whe.n. you Jtubout a chaJtac..t.eJL, J...t tte..ally clLoappe.a.JW fiJwm lJOU!L .6c.tte.en.. T/i,Ll 1)e.a.t.utte.. Wottlu e.ve.n. whe.n Jtuibb,ln.g out ob.oc.utte c.ha.Jtac..t.e.!t.6 Uke.. tab and une.6e.e..d. ) This version of TECO is widely in use in the field. There pre probably between 5~ and l~~ installations using this version. It is available from CJ.ive Dawson, Computation Center, University of Texas, Austin, Texas, 78712 for a nominal postage and handling fee. Send Clive a MAGtape (he'll write 9-track 8~~ bpi). Page 36 QUESTIONS AND ANSWERS This column will attempt to answer questions submitted by readers on any TECO-related topics. Our first set'of questions were submitted by David Yost of Hollywood California . and apply specifical~y to RT-11 TECO. Ql. by David Yost. How do I reclaim the right brace, }, as a priniing character? TECO seems to be tra~slating it into· an ESCAPE. Al. by Roy A. Auerbach (Texas. Tech University, Lubbock, Texas) Both the right brace and tilde (octal 175 and 176) are interpreted by RT-11 TECO as an ESCape. The file TECO.SAV may be patched to eliminate this. Address 124 from the bottom of TECO.SAV must be patched. The value of 227,0,0 at this address must be changed to 2~7. Running version 28 TECO with RT-11 V-,03, my bottom a.ddress is 3756. A sample run to patch with my system would be: R PATCH TECO.SAV 3756; ,0R ~, 124/ 227~~ 2,07 E Q2. by David Yost Is there a way to get the text buffer pointer to stay where it is when a search on the current page fails? A2. by Stan Rabinowitz Yes. In TEC0-11, V28, the command ~,nStext$ is exactly the ·same as the command nStext$ except that it has the desired property that the pointer position remains unchanged after search string failure. This command can of course be colon modified so that you can detect the failure. Q3. by David Yost The manual I have refers to version 27 of TEC0-11, but I have version 28. What do I do? A3. by t~e editor Consult page 7 of issue number 1 of the Moby Munger for a complete list of differences between V27 and V28. The main enhancement was that Xq and tUq permit a colon modifier to mean append to a-register instead of load. Queries should be submitted to the editor, Stan Rabinowitz, 6 Countr~ Club Lane, Merrimack, NH 03054. Page 37 A NOTE ON THE EN COMMAND by Jim Burrows The EN comand, which allows wild-card file lookups is extremely ·useful, but at least on RSTS, has one drawback. on many disk structures the act of editting can change the order of the files in the directory such that the EN command will return some file names twice and others not at all. A simple coding technique can be used to · avoid this .. Basically, the public structure on a RSTS system can span multiple ·disks, thus editting a· file can cause it to migrate from one disk .to another changing the order.of the directory. Furthermore, unless the NFF bit is set on a disk, new files are added to the end of the directory. Thus if you edit the first file in a directory, it becomes the last file in the directory and EN probably will find it later. For those not familiar with the EN command, I will briefly review its use. It takes a filespec arguement like the EB or ER commands. Rather than open a file, the filespec is used to perform wildcard directory look-ups. Subsequent invocations of EN without a filespec cause the name of the next file matching the spec to be loaded into the '*' pseudo-Qreg. Thus, if we execute the command: • @EN"foobar.* 11 TECO will perform the necessary setup to allow it to find all files with the filename FOOBAR. Qreg * does not yet contain the name of a file at ·this point. To get the name of the first ffle, we must execute the command: @EN"" our say So far there is no problem. The name of the first··file matching wild-card spec will be in Qreg *· ~owever, if we edit the file, with the command: @EB""EQ*" we may change the order of the files in the directory. a subsequent call will return us the name of the second file which CURRENTLY matches the wild card spec. If we havi= indeed changed the order of the files, the file that used to be the second may now be first, and we may get the file that was originally third. This problem can be avoided if we first gather the filenames and then edit the files. The follwing macro is an example of this technique. In it we will change all occurances of "DNDA" to rrMP:DNDA in all files that match the wildca.rd spec "DND???.BAS". The list of filenames is kept on the stack. The :] command is used to detect the end of the stack, and thus the macro will only work on versions of TECO which have implemented this feature. 11 11 Page 38 A NOTE ON THE EN COMMAND (cont.) A note on the format of the macro. The author and several other programmers at DEC who do a lot of work in TECO, have adopted the use of a program to strip the comments and unnecessary whitespace from TECO macros to increase efficiency of the macro when executed. Thus the following conventions are used: 1) All comments start with"!*" and end with"*!" so that they may be distinguished from labels. 2) No literal strings contain CR or LF so that leading and whitespace can be deleted on a per-line basis. trai~ing !***************! !* set up code *! !***************! <:]l;> @EN"DND???.BAS" !* Clean off the stack *! !* Initialize the wildcard look-up *! !****************************! !* First get the file names *! !****************************! <@:EN II"; G* ""YXl ""YK [ 1 !* Get first file name into Qreg * *! !* Get it in memory, push it, delete it. *! !* And do it again, till the :EN fails *! > !************************! !* Now go do the edits. *! !************************! <:] 1; !* Pop the first name off the stack. *! !* Edit (indirect) the file *! @EB"""EQl" <@FN"DNDA"TMP:DNDA";V>!* Do the edit throughout the file *! EC @'"'A" Done with 13"T 10"T > $$ II l * Close the file *! :Gl ! * Tell 'em what you did *! ! * Return the carriage *! !* Go back and get the next file *! Page 39 TECO MACRO OF THE MONTH This macro creates a distinctive IN USE message on a user's display terminal. It prints a user message on the top of the screen_, it prints IN USE in block letters in the middle, and it displays a canned message at the bottom of the screen in ticker-tape fashion. "A Z"N"A HT ' ET/11 ET· "A$H$J Z"N"A "A III III IIIIII II II II II II II II II II II III III III III NN N-N NN NN NN NNNN NN NNNN NNNN NN NNNN NN NN NN NN NN NN NN NNNN NN NNNN NN NNNN NN .NN NNNN NN NN NN NN -----> <-----"A ' HK "A uu uu uu uu uu . uu uu uu uu uu uu uu uuuuuu uuuuuu uu uu uu uu uu uu uu uu uu uu uu uu ssssssss ssssssss SS SS SS SS ssssss ssssss ssssssss ssssssss SS SS SS SS EEEEEEEEEE EEEEEEEEEE EE EE EE EE EEEEEEEE EEEEEEEE EE EE EE EE EEEEEEEEEE EEEEEEEEEE Jn use by TECO fanatic John Doe "A !This terminal is presently in use. $ !Unfortunately, I am forced to leave my post for a short period of time. II will be back soon. $ !Woe unto him who steals my terminal during my absence. $ !The security of the whole free world depends upon my accomplishing my $ !duties at this terminal. $ !Under no circumstances is this terminal to be used by anyone $ !without my permission. $ OU1 0,80XA ZJ GA J <Q1,Q1+80T %1-Z+79"E1U1' "A'fl"A> "c." c $$ where 4) de:notes a CR (with no LF) This macro runs under all DEC operating systems. On some systems it is first necessary to set up the terminal with a SET TTY NO CRLF conunand or its equivalent. It is run from RSX, RSTS, IAS, OS/8, VAX, and R'r-11 via the command MUNG INUSE,message where "message" is any user message. It is run from rroPS-1,0 via t.he corrunands: R TECO *ERINUSE.TEC$YHXZHKimessage$MZ$$ $ Page 4,0 COMPATIBILITY CORNER by Stanley Rabinowitz The following TECO conunands are identical on TEC0-11 v29, OS/8 TECO v5, and TOPS-1,0 TECO v24, or have only slight incompatibili~±es: ER EW EB EF EX A y p R L nI$ tr n\ \ & # I (n) T tA = -- H s N 0 + tT FS "E x Q z ~A tF tH ttx <n> "N "s "T "U u tN EH EU % PW D * c I K B J FN @ "F "G "L G M tE In addition to the above, the are a large number of other features that are compatible, such as the inunediate action corru.nands, the-execution time conunands, and the match control constructs. Also, there are a large number of conunands on each operating system that are extensions to TECO, but are not incompatible with each other. In-the last issue of the Moby M., we listed a set of compatibility-issues that are yet to be resolved. No one sent in any comments. These issues and their results are described below. Note that many of these issues have already been resolved; and many cannot be resolved until the -1,0 group is ready to re-release TOPS-1,0 TECO. Notation: $ denotes an ALTMODE and ( "'X) repres_ents the single character CTRL/X. 1. Implementation Dependent Date Problem: The (AB) command returns an implementationdependent value. Discussion: It is unlikely that the user really wants the date in a strange encoded form. He will probable decode it first thing. Proposal (a) below incurs a possible race condition around midnight of New Year's Eve. Proposals: (a) Replace (AB) with n(AB) command. Arguments as follows: 1(AB) returns year (0-1999) 2(AB) returns month (1-12) 3(AB) returns day (1-31) (b) Have (AB) insert the date into the text buffer as a character string. (c) Leave (AB) as system deperident. Decision: issue still pending Page 41 2. Implementation dependent time Problem: The ("H) comm~nd returns an implementationdependent time of day. Discussion: _internal word size of -11 cannot store number of seconds in a day. Proposal (a) below incurs a race condition. If at 4:59:59 a program accesses the hour and finds it to be 4 and then the program accesses the minute and finds it to be 00 (since it is now 5:00), the program will incorrectly think the time is 4:00 when it is actually 5:00. Proposals: (a) Replace ("H) by n("H) command with arguments as follows: 1 ( "H) 2("H) 3("H) 4 ("H) Decision: 3. returns number of hours since midnight (0-23) returns number of minutes since last whole hour (0-59). returns number of seconds since last whole minute (0-59) returns implementation-dependent number of ticks since last whole second.· .(b) Have ("H) insert the time as a character string in the text buffer. (c) Le av e ( " H) to b e s y s t em .d.e pe n d en t . issued still pending Incompatible form feed command Problem: The ("L) command is- ignored on -8 but prints a form feed on -10 and -11. Discussion: -10 use of ("L) can be performed by the equivalent command ("A)("L)("A) Proposals: Decision: JC a) change -8 to conform with -10 and -11. (b) Change -10 and -11 to conform with -8. It was decided that the -8 should conform. OS/8 TECO was changed to conform as of v5. Page 42 4. Radix control problem Problem: -8 and -11 allow TECO to work in two modes (octal radix and decimal radix mode). The current mode of TECO affects many commands. The -10 does everything in decimal, except for a few commands, and treats ("0) as a modifier for numeric strings. Discussion: Octal mode seems.more important on small machines. Proposals: (a) change -10 to conform with -8 and -11. (b) Change -8 and -11 's ("0) and ("D) to ("0)$ and ("D)$ . (c) Change -8 and -11 's ("0) and ("D) to ("O)("'O) and ("D)("D). (d) Define a bit in the ED flag, such that if this bit is set, ("0) and ("D) will only apply to the next digit string. (e) Make the O("R) command mean that future occurrences of ("O) and ("D) only app~y to the next digit s~ring. Issue still pending. Decision: 5. 0 b so 1 et e us e o f ( " R) lo ·::·· •• Problem: On -8 and -11, ("R) is a redundant command, having the same meaning as FS. Discussion: ("R) was implemented before FS was implemented on -10. Then FS was put in for compatibility with -10. ("R) was kept for compatibility with old -8 versions of TECO. ("R) is easier to type than FS (?). Proposals: Decision: J (a) Remove ("R) command from -8 and -11 to free up character for future use. (b) Leave duplicate command in It was feit that ("R) was an unecessary command. ("R) is no longer in TEC0-11 or OS/8 TECO. Page 43 6. Incompatible (AV) command Problem: On the -10~ (AV) is used to go into 'translate to lower case' mode. On the -8 and -11, (AV) returns TECO's version number. Discussion: letters V and W are firmly locked in.to lower and upper_ case mnemonics on -10. (AV) on -8 and -11 is not a critical command, unlikely to change running of old macros. Proposals: J<a> (b) Decision: 7. Change (AV) command on -8 and -11 to EO command. For next release on -10, upgrade EO value to -10's TECO version number (e.g. 23). Change (AV) on -8 and -11 to EV . (AV) and (AW) are heavily used on the -10 and should not ch~nge. (AV) on the -8 and -11 is not a crucial command and EO would be j us t ·as use fu 1 . This change was made to OS/8 TECO as of V5. This change was made to TEC0-11 as of v29. · Incompatible (AW) command Problem: On the -10, (AW) is used to go into 't~anslate to upper case' mode. On the -8 and -11, (AW) is used to force a display update on scope displays. .. > """·· Discussion: Proposals: Decision: ·~ Both uses are very common on their respective machines. -11 will eventually want to support upper and lower case, however, they're not sure they like t~e -10's syntax. J<a> Change (AW) on -8 and -11 to W. "(AW). is needed by the -10. On the -8 and -11 it is only used by scope TECOs and could more easily change. PW would be considered a single 2-character command and therefore should not be confused with the two commands, P followed by W. (AW) was changed to W in OS/8 TECO v5 and· in TEC0-11 v29. Page 44 8. Incompatible ("Z) command Problem: On the -10, ( "Z) causes return to operating system after finishing I/O and closing output file. On -8 and -11, ("Z) returns total number of characters irt Q-register ~torage. . Discussion: -8 and -11 usage of ("Z) is not very critical . -10 changed ( "'G) command to ( "Z) for EO level 2~ -8 still·uses ("G). The ("Z), alias ("G) command is very dangerous and can be accomplished by the equivalent commands: EFEX. Use of ("Z) as an immediatemode command is a different issue. P·ro po sal s: Decision: 9. (,.. z) (a) change -8 and -11 usage of to some other command. ( b) switch -( c) Remove -10 use of (,.. z) from TECO and -8 use of ( "G) • (,.. z) back to ( "G) on -10. OS/8 TECO removed the ("Z) command as of v5. However, issue is still pending. Space problem Problem: On the - 1 0 , spa c es .a re norm a 11 y i g nor e d , however, between digits, space is treated as pl us. On the -8· and -11, spacfos are ignored everywhere. Discussion: -10 use of space is traditional (but ugly). Ignoring spaces everywhere is more consistent. Proposals: Decision: (a) change -10 to ignore spaces everywhere (b). change -8 and -11 to treat space as+ in certain constructs (c) change all systems to give error message if space appears within digit string. It was decided that proposal (a) seems best, however issue is still pending. Page 45 10. 11. Inc om pa ti ble "A command Problem: On - 1 0 and - 1 1 , " A i s an ' ex e c ut e i f a 1 pha bet i c ' command. On -8, n-m"A is an 'execute if n>=m' command. Discussion: --8 u s a g e wa s- imp l em en t e d be f o re - 1 0 u s a g e came along. Normal compare conditionals such as " N , n L , ie t c . do not a 1 wa ys work on the -8 because the -B's maximum number (unsigned) is 4095, yet the -8 allows almost 4000 characters (maximum) in buffer. When comparing buffer pointers, for example, anomalous results can occur with "L command since it requires a signed argument wherea~ the • command produces an unsigned value. This was gotten around by creating the after and before commands ("A and "B) which check the link instead of the sign bit. This is not a problem on the -10 and -11 because of their increased word sizes. Proposals: (a) Decision: OS/8 TECO removed "A and "B commands as of v5. The problem was gotten around by increasing OS/8 TECO's arithmetic precision to 13 bits. Definition of alphanumeric character Problem: Proposals: Decision: 12. Change "A and "B· commands on -8 to "< and "'> The "C command needs to know what an alphanumeric character is. This concept differs between implementations. Are the.character ., $, %, etc. a 1 p ha n um er i c ? J<a) Allow this command to be machine dependent. It was decided that this command ·needed to be machine dependent to allow users to search assembly sources for symbols. GeneralizAtion of % command Problem: The -8 and -11 generalized the 3 command so that the argument is added to the specified ·Q-register. On the -10, n%q always means 1%q Discussion: Code 'fell out' on ·-8 and ·-11 implementations~ Felt to be a very useful extension. Proposals: (a) Change -10 to conform with -8 and -11. Page 46 13. Unspecified repeat counts for iterations Problem: If no repeat count is specified for an iteration, each implementation uses a different default value. Discussion: Largest number in machine was a likely· default . Proposals: (a) J<b) Decision: 14. keep this default to be implementationdependent. · Change all implementations to make the default truly infinite. It is beleived that proposal (b) is easy to implement and will give users what they really want. All DEC TECOs now treat an unspecified iteration count as being a truly infinite count. = problem Problem: = and == do different things on various implementations. On -11, they reset the radix, on -8 they do not. On -8 they print unsigned values, on -10 and -11 = prints signed value. Discussion: There is no great need to be able to print a value in the current radix (as the -8 does) without knowing what the~~adix is. However, I can see cases where a macro may want to do something in a given radix, and then return to the user in the original radix. Pro po S?l s _: Decision: J<a) Have standard say that == prints the value in octal and does not change the current radix. =prints the value in decimal and does not change the current rad ix . It was felt that most of the time (except occasionally on the -8), the user wants to see signed numbers. Thus = should print a signed value. The fact that the -11 == reset the radix was considered a bug and has been fixed long ago. Page 47 15. Generalized nA command Problem: On -10, nA is always the same as OA on the -8 and -11. Discussion: -8 and -11 generalization is fairly obvious. -10 users may be locked into current use, especially since user's might use 1A instead of OA. .Proposals: (a) change -10 to conform to -8 and -11 during next EO level. (b) change -8 and -11 to conform to -10 • .Decision: 16 • Lo c at ion o f Problem is still pending. @ Problem: -10 manual claims @nS/text/ is legal but n@S/text/ is not. -8 and -11 manuais claim the reverse. Discussion: In poirit of fact, both are legal on all implementations. Furthermore, @ is merely .a modifier and need not be immediately adjacent to the ~earch command. It may appear anywhere and merely affects the outcome of the next search executed. Proposals: (a) modify all documentation to describe actual behavior properly. ( b) pick a syntax and modify all implementations to use it and give error messages for all other uses. ( c) Require @ to be first character of a 2 or 3 character command. Thus @ may not occur alone, and must immediately be followed by S, N, , FS, FN, or F . Furthermore, : may al~o not occur al~ne, it must immediately be followed by @ or one of the above forms. Ignore this issue. Decision: Problem seems too trivial to bother with. Page 48 Filespecs treated as text Problem: -11 treats filespecs as text and allows it to contain special characters (such as (ftE)Qq ) and allows it to be modified by @ modifier. -8 and -10 do not permit this. Discussion: -11 usage is a nice generalization and causes all text-like occurrences to be treated uniformly. Proposals: <a> Decision: OS/8 TECO now (v5) allows filespecs to be @-sign modified. Issue is still pending. EH v~lue is implementation dependent Problem: Proposal: Decision: '· ). Change -10 and -8 to conform to -11 The meaning of the value of the EH flag is implementation dependent. J<a>. Change. TEC0-11 's 3EH to 4EH to prevent conflicting with -10's 3EH. Reserve 3EH on -11 for future use. TEC0-11 (v27?) changed EH so that 1, 2, and 3 EH are compatible with the -10 (although 3EH is not implemented). The 4's bit in the EH flag is ·an extension to TECO on the -11. OS/8 TECO implemented the EH flag compatibly with both TEC0-11 and TOPS-10 TECO. . ET value is implementation dependent Problem: The value of the ET flag is implementation dependent. Decision: Issue is still pending. Closing of files with EW Problem: On the -10, EW closes the current output file. On the -8 and -11, EW creates a new output file and the old one is not replaced by the partially created temporary file. Discussion: Both algorithms seem pretty poor. Proposals: (a) Decision: TEC0-11 quite a while ago implemented proposal (a). OS/8 T~CO and TEC0-11 also implemented the EK command to 'kill' or take back the effect of an unwanted EW. Issue is still pending. Change all systems so that EW gives an error message if an output file is already open. Page 49 21. Required altmode on nI Problem: the -8 does not require the altmode at the end of the nI command. It is required on the -10 and -11. Discussion: $was optional on ~10 during EO level 1. The $ is necessary in order that this command can be correctly parsed and skipped over when encoutered in an unsatisfied conditional. Proposals: J (a) (b) Decision; 22. Make$ optional on -10 and -11. ProposaL (a) was picked, however, due to space and· time limitations, OS/8 TECO may not implement the necessary error checking in .the near f~ture. Users should always put ALTMODEs after an nI command. Passing values through Macros Pro b1em: the -8 and -11 allow arguments to be passed to macro calls. They allow macros to return values. Both are specifically prohibited on the -10. Discussion: Macro arguments and values are as useful in TECO as functions are in FORTRAN, BASIC, and ALGOL. Proposals: Decision: ~3. make $ required on -8 J (a) Change -10 to conform with -8 and -11. It was found that TOPS-10 TECO v24 already conforms to this decision (proposal a), however their documentation didn't make this fact clear. Negative arguments to searches Problem: The -11 allows the argument to certain search commands to be negative. This causes the search to· proceed backwards on the same page. Discussion: This is a most useful and consistent extension. Proposals: (a) Change -10 and -8 to conform to -11 (b) Leave status quo, call this a compatible extension and not an incompatibility. Change error message on -8 and -10 to read "feature not im pl ememented" . Decision: Issue ~till pending. Page 591 24. 25. Strange W.command Problem: The W command is illegal on the -10 and -11. It is ignored on the -8. Discussion: This is probably a bug in -8 implementation. Proposals: (a) Decision: Problem went away after issue 7 was resolved. Wis now a valid command on -11 and -8. Change -8 to.treat W command as an illegal command. Alpha and Numeric Q-registers Problem: -8 and -11 have two storage compartments in each Q-regis~er; one to hold strings and one to hold numeric values. Both can retain their values simultaneously. On the -10, :j.f a string is stored 'in a Q-register which previously contained a number, this number is lost. Proposals: Decision: 27. (a) Document around this problem. Have the 'standard' say that if a number is stored in a Q-register, and then the Q-register is read by a command requiring an alphabetic string, the result is unpredictable. (b) M~dify (c) Treat -10 as subset of 'standard' TECO. -10 to have 'split' Q-Registers. Issue is still pending. Concatenated commands which return values Problem: If two commands which return values are placed next to each other, the result is not the same on all implementations. Discussion: For example, if there are 5 characters in the buffer, then the command Z3= produces 3 on the -10 and 53 on the ~8. This is probably a bug in the -8 implementation. The -10 impementation ain't that swift either. Proposals: (a) Pick a scheme and have everyone conform. (b) Treat this as an error. (c) Declare action to be undefined. Decision: Issue is still pending. Page 51 28. Checking for erroneous number of arguments Problem: The -8 and -11 do not give errors for commands of the form 3,5,6D or 2,5L . Discussion: The -8 and -11 use the last values typed. Proposals: (a) Change -8 and -11 to give meaningful error messages in the following 2 cases: (a) more than 2 arguments are typed (b) two arguments are typed to a command which allows 1 but not 2 arguments (b) Declare action to be undefined. OS/8 TECO now gives an error (?ARG) if three numeric arguments are specified with any command. Issue is still pending. Decision: 29. End-of-line character Problem: ·The -10 treats any vertical paper motion character as an erid-of-line terminator. The -8 and -11 treat <LF> only as end-of-line. Discussion: -10 changed from -8 and -11 interpretation during EO level 2. Proposals: J (a) Decision: 30. Change -8 and -11 to conform to -10. Both OS/8 TECO and TEC0-11 now treat line-feed, verttcal tab, and form feed as ·end-of-line terminators, in accordance with the -10 implementation. Echoing of Bell Problem: Proposals: Decision: On the -10 and -11, the character ("G) echoes as "G(AG). On the- -8, it merely echoes as "G. J<a) ·Change -8 to conform with -10 and -11. OS/8 TECO now rings the bell as well as types "AG" as of v5. Page 52 FUTURE COMPATIBILITY ISSUES Readers are urged to send. .in .comments, er i tic isms, and suggestiorts concerning the preceding compatibility issues. In future issues of the Moby Munger, we will go 'into detail about other compatibility problems. In order to give readers a chance to corrun.cnt on· such issues in advance, we print below th~ titles of some future issues: 31. 32. 33. 34. 35. 36. 37. 38. 39. 4$L 41. 42. 43. 44. 45. 46. 47. *Z is CTRL/S on PDP-8 Vertical tab command Partial error reporting with ? Assumed : modifier for searches in iterations F modifier on PDP-8 Label tracing in conditionals Carriage return input to CTRL/T echoing of NULL Matching of begin of buffer on CTRL/S $$ command Jumps to left out of ·iterations == signed on PDP-1~ Memory expansion algorithm Forced exact mode searches CTRL/C command Passing arguments through [ and ] Case flagging on lower case terminals Readers discovering other compatibility problems amongst DEC TECOs are strongly urged to report them so that they may be discussed in future columns. TECO TECHNIQUES - How to Write Printable TECO Macros Many PDP-11 operating systems have the problem that their line printer drivers (and sometimes even their terminal dr.ivers) do not print visible symbols to represent the entire ASCII character set, or even a large percentage of the ASCII set. In particular, when making listings of TECO programs, it is necessary to see all the control characters and ESCAPEs in the source listing. To get around this problem, TEC0·-11 has generalized the TECO language so that all TECO programs can now be written using only printable characters. In the table below, we show how to write printable equivalents of typical commands: Traditional Command Printable Equivalent CTRL/X Sabe$ nI$ $ ERf ile$ <TAB>xyz$ @I/$/ Otag$ CTRL/X in a string tx @S/abc/ @nI// · t [ @ER/file/ @tI/xyz/ @27I// @O/tag/ tx in the string (with ~ED) Page 53 TECO-RELATED DECUS SUBMISSIONS The following items of interest to TECO users are from the DECUS program library: Number Description DECUS-8-863 TECO Overlay for VC8/E. availabl~ Submitted by M. Boudinot. This is an overlay to OS/8 TECO (version 3) to allow it to display a window into the text buffer on a VC8/E display. It is written in PALS and makes the VC8/E look like a VR12. The write-up of the algorithm .is quite detailed. DECUS-L-125 PATCH TO OS/8 TECO FOR LINC-8 DISPLAY. Submitted by Mark Lewis. This is an overlay to OS/8 TECO (version 2) to allow it to display a window into the text buffer on a LINC-8 display. It is written in PALS. DECUS-1,0-264 XTEC Submitted by Jack Krupansky and Mark Crispin of Stevens Institute of Technology. It w·as written from scratch in MACR0-1,0. XTEC is a TECO compiler for the DECsystem-1.0. It is much faster than DEC's TOPS-1~ TECO since it actually compiles command strings and macros into hard code. In general, it is.upward compatible with TOPS-1.0 TECO version 23. DECUS-1,0-22.0 TOP STEACH This was written by Jacob Palme and is an automated course which introduces you to the TOPS-1.0 operating system. It is of interest to TECO fans because there are several segments which are TECO tutorials and this course makes a fine introduction to TECO for a novice. Unfortunately, it will only run on a -1.0 since it is written in the GNOSIS language (a language designed for computer-aided-instruction) , however I have looked at the source and it would not seem to be too hard to write a GNOSIS compiler in TECO if anyone were interested. Page 54 TECOs AVAILABLE FROM DECUS· 0Eerating:. system DECUS ·Order Number TECO versiont R'I1-ll DECUS-11-288 TECO-ll'v28 RSX-11/M DECUS-11-333 TEC0-11 v28 .RSX-11/D, IAS DECUS-11-334 TEC0-11 v28 DOS-11 DECUS-11-265 TEC0-11 vl5 RSTS/E DECUS-RSTS-11-1,05 TOPS-1.0 DECUS-1,0-264 TEC0-11 v.24 XTEC %,0(427) t Th.ese su b missions . . are up d .a t e d f rom time . to t.ime. BUGS Ir~ TEC0-11 Only one bug in TEC0-11 has been reported since the last issue. Either TEC0-11 is extremely solid·, or no one is reporting the bugs. Bugs should be ~eported to the TECO SIG, care of DECUS. $ bug in v32 The $ (ESCAPE) command is supposed to discard any numeric arguments. However, the command in all versions of TEC0-11 up to v32, is forgetting to reset the comma flag, that indicates that a comma has been seen. Thus, a command such as H$T acts incorrectly. H$T should be exactly identical to T, however, it isn't. It does unpredictible things, like ,0,.T or something. This bug will be fixed in v34. In the meantime, avoid using two arguments to a command that doesn't expect two arguments. Eat it, EDT® VTEDIT MAcRo for TEco-11 Type any key to resume editing. All • commands take an optional argument as: 1£8C ozprH• aionhy(•) All t commands operate from Dot to Maik if Mark is sc:t BLUE Cut rum GREY TECO ~ Upm Tm:-t oa;mmond• test cob.mm• 1 Open I 9 Pa!se• 'tA.ark/ Une· 5 Delete ch.N'· 4 Up UM·* 0 CW'90C' rftlton pceo~ ol PIC't! of line • Cu.nor kft•* ... l:f.!f'l'U 0 E8C "'Z ESC- "'Z ~t·* 3 Rt.rt "'C [or] "'Z cohumt· 6 2 Bottom Downllne•* • Downin Dclete/ Top of 1 All ; commands arc continuous when entered as ESC IMy. (Type any key to stop.) quote• * 8Uf'Ch apia• !.Ulttb Return to TECO Exit from TECO Kill output, exit [ESC] "'A Append [No FF] text• (EtSC] '"'B Delete [next] word• "D Kill rest of line• (JtSC] "'Itq Execute [iterate] Q-reg q• "'P Forward over word•; "'Gq Get text from Q-reg q -X Kill line•t [ESC] "N Non-stop [destructive] search* "'ft Back over word** AIJl:)q Cut ten to Q-rcg q•t "U Kill start of line 'V Toggle display mode 6W Set line• /re-paint '")Q: ]q Save text in Q-reg q•t "Y Yan~ next page• "'\:·Insert ASCII •-ca BK SP Go to end of line• DELI:TE Delete previous character• XSC r"\2C Repeat RED-key command• i:tOC F Find front of file ESC H Display help frame JtSC M Set left margin• ESC N Get nert word• JtSC T Select word delimiters• DECUS DIGITAL EQUIPMENT COMPUTER USERS SOCIETY ONE IRON WAY, MR2-3/E55 MARLBORO, MASSACHUSETTS 01752 MOVING OR REPLACING A DELEGATE? Please notify us immediately to guarantee continuing ·receipt of DECUS literature. Allow up to six weeks for change t.o take effect. ( ) Change of Address ( ) Delegate Replacement DECUS Membership N o . : - - - - - - - - Company:-------------Address: - - - - - - - - - - - - - - - State/Country:------------Zip/Postal Code: - - - - - - - - - - Mail to: DECUS - ATT: Membership One Iron Way, MR2-3 Marlboro, Massachusetts 01752 USA
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies