Eric B. Levy Computer Graphics Lab - 264/116 Jet Propulsion Laboratory 4800 Oak Grove Dr. Pasadena, Calif. 91103 This is a modified version of the Conroy unix editor. This version has some improvements and fixes the problem with no automatic backup that this editor had. The editor has some limitations: 1. it will not edit very large files - about 32k bytes and 2000 Lines maximum. However, a module (just finished) is supplied called bedi03.mac will allow for 1.8 million byte temp file and about 19,000 lines. Read the comments about efficiency in the source. To build this version just make a copy of the build files (ued.bld or ged.bld) and replace the edi03.obj reference with bedi03.obj. 2. The various SRD programs floating around all seem to give this editor the same hard time. That is, ued stores lines internally as asciz (null terminated) and therefore has problems handling text files that contain imbedded nulls. Srd does this on the heading line (the one with the ** DDn:[uic] ... ) but only because the format buffer it uses is not blanked initially. This can be fixed by changing a .blkb n to the same amount of blanks. Notice that this editor attempts to read all kinds of ascii files (even pip listing files) and make sense out of them. I have doubts about whether it handles Fortran Carriage control in all cases. 3. The line size may be adjusted in edi00.mac (its 140. bytes) and in edi05.mac the label tsize is 132. (input/output tty buffer). These can be adjusted if necessary. Note that gedio5 has 80. imbedded as the tty size; this is not too important as the line size in edi00.mac is the one which determines max chars STORED whereas (g)edi05.mac's tty size is just how much it will print with the type-out/in qios. I parameterized edi05 but have not yet put that into gedio5. Other notes: 1. This author has been using a home-brew spawn facility. Since DEC now supports its own in v3.2 of m and 3.0 of IAS, only a dummy routine is supplied to NOP the Temporary Escape feature of this editor. The following is (functionally) what UED does when it receives a line: !mcr-command a. Dettach the terminal b. Construct a fortran calling sequence that looks like: Call Ihang('mcr-command') c. Ihang waits till completion of the command d. Re-attach the terminal. The fortran call is the standard r5-> parmlist etc. The string is null terminated. 2. Module Edi05 is the one that reads the command line via a QIOW$. A version is supplied (gedi05) which uses get-command- line instead. Very useful for editing scripts etc. 3. The task tests for its invoked name (xxx part of ...xxx) to see if the first two letters are "ee". If they are then the editor swaps the "c" and "s" commands in its jump table. This makes "c" the substitute command and "s" the change command. Old EDI users find this a nice bridge (since and work the same as EDI as well). An undocumented option (see the "o" command) is "oe" which performs the same result. Note there is no reverse option. 4. This editor has a very nice tutorial written by the same author as "Software tools" which is probably only available to Unix users. However, the version described in "software tools" is a good start even though it has all the wrong meta-characters. 5. The Task must be installed using the /inc=n switch (we use n=2000) This value of n is the maximum number of lines which can be handled at one time. The get partition and .limit commands are used to determine where this increment exists. This is not implemented on ias v2.0 but does seem to work on 3.0. Rsx11m users of 3.0 and later should have no problem. Earlier users will need to modify edi05.mac to make the buffer a fixed allocation (the rest of the code never references the buffer directly). 6. A last minute feature is to print all non-printing characters as ? so they may be seen. Tabs, form-feeds etc are not affected. 7. To build the editor, use @ued. This will build three versions. 8. An example ged command file which takes advantage of a quirk in the editor but is very useful, is given in example.cmd. List the command file before you try it as you must first execute a pip command. 9. Some documentation has been found but is only in text form (i.e. not a runoff file). Two versions exist with different lines per page.