Google
 

Trailing-Edge - PDP-10 Archives - tops20tools_v6_9-jan-86_dumper - tools/sed-for-vms/chris.let
There are 5 other files named chris.let in the archive. Click here to see a list.
                                                  Paul Malquist
                                                  Brigham Young University
                                                  403 CB
                                                  Provo, Utah 84602

Chris Hall
Digital Equipment Corporation
MRO 1-2L10
200 Forest Street
Marlborough, MA 01752

Dear Chris:

   This  tape  includes  the source and documentation to the VAX version of
SED. It also includes my COMPIL program, which does the same as the  COMPIL
programs  on  the  DEC-10 and 20s. I included them because I have coded the
<ENTER><EXIT> command to run COMPIL, just like it does on the 10. There are
four save sets on the tape: The first is SED.SAV, which  includes  all  the
files  for  SED.  The second save set is COMPIL.SAV, which contains all the
sources and help files for COMPIL. The third is SED2.SAV, which is  a  copy
of the first save set, and the fourth is COMPIL2.SAV, which is another copy
of  COMPIL.  COMPIL  is  still under development: there may be bugs, and it
doesn't have all the capabilities I hope to have in it eventually; still, I
have found it to be quite useful.

   I  am  aware  of  the  following  problems  with SED, but I have not yet
addressed them:

1.  The  routine  that converts a file from internal format to RMS variable
    format has a problem with a form feed followed by a CRLF. Each time the
    file is editted, an additional CRLF is appended after  the  form  feed.
    This  hasn't affected me too much, since I always put form-feeds at the
    beginning of a line of text.

2.  When windowing is in effect, entering insert-mode does  not  cause  the
    insert-mode  message  to  be  displayed on the bottom line (but it does
    cause the bottom line to be cleared).

3.  SED can not yet get its input file  or  write  its  output  file  to  a
    record-oriented  device  (such  as  a  mailbox).  I  plan eventually to
    support this type of operation.


   Here  are  a  few  random  notes  about SED that I think you should know
about.

1.  There  are  three  ways to tell SED what the terminal type is. The most
    common way is to let VMS tell SED what type of terminal is being  used.
    This is the default if no other way is used. This works fine if you are
    on  a  DEC  terminal  or  on one defined as one of the foreign terminal
    types, but it isn't general enough for all terminals. We  have  defined
    foreign  terminal  1  (FT1)  to  be  the  Televideo 910 terminal, but I
    haven't used up any other terminal types.  For  those  users  on  other
    terminals,  they  can  define  a  logical name "SED_TERMINAL" to be the
    terminal type, and SED will set up its tables accordingly. For example,
    to set the terminal type to Infoton 200 (INF200), you would  issue  the
    command "DEFINE SED_TERMINAL INF200". This method takes precedence over
    the  normal  VMS  terminal  type. The third way to specify the terminal
    type is with the /TERM switch (I thought that conveyed the  meaning  of
    the switch more than /Z did). This method takes precedence over all the
    others. In my version of SED, the system terminal type of VT52 actually
    defaults  to  Visual-200;  the only way to select a real VT52 is to use
    either option 2 or option 3 above. I have done  this  because  we  have
    Visual  200  terminals  connected  to our system, but we don't have any
    VT52 terminals connected to the system. Terminals in our  public  areas
    are all VT100-type terminals.

2.  In  contrast to the way it is done on the DEC-10 and -20, the temporary
    files created when the pick and close  buffers  overflow  to  disk  are
    truly  invisible  to the user on the VAX. They are created as temporary
    files which are automatically deleted when they are  closed.  They  are
    never entered into any directory.

3.  The journal file is written in "STREAM" format, which is similar to the
    normal  DEC-10  and  -20 file format. Anytime SED edits a stream format
    file, it writes it out as a variable format file. The journal  recovery
    code  expects  the  journal  file  to  be  in stream format, so journal
    recovery won't work if the file has been editted. There is, however,  a
    way  around  this problem. I do the incremental saves in stream format,
    so I don't have to be constantly converting to and from RMS format.  If
    the  journal  file  is  editted,  it  must  then  be  output  using  an
    incremental  save,  and  then  the  edit  should  be aborted instead of
    exited normally, so the journal file will remain in stream  format.  We
    can't  just  leave  all  files  in stream format, because the compilers
    don't seem to be able to handle them that way.  They  seem  to  require
    variable format files.

4.  There  are  several types of file formats on the VAX, and SED will read
    all of them as long as the file organization is sequential.  Be  aware,
    though,  that  any  formats  other  than variable (that includes fixed,
    variable with fixed control, and various stream formats) will be output
    by SED only in variable format.

5.  I have made some  changes  to  the  <SUBSTITUTE>  command  to  properly
    display  the results of the substitute when either the search string or
    the substitute string or both has imbedded CRLFs in it.  This  involves
    count  the  number of lines in each string and doing the right thing to
    the display to account for variations in the number of lines before and
    after ths substitute. You may want to  make  corresponding  changes  to
    your version of SED.

   That's  about  all  I  can  think  of to tell you right now. If you have
questions, don't hesitate to call me.


                                        Sincerely,




                                        Paul Malquist, Systems Programmer