  
  
  
  
  
  
  
  
  
  
  
  
          -----------------------------------------
               EE Text Editor Reference Manual
          -----------------------------------------
  
  
                        EE Version 3.1
  
  
  
  
  
  
  
  
  
                         Prepared for
  
        National Aeronautics and Space Administration
                Lyndon B. Johnson Space Center
  
  
  
  
  
  
                         Prepared by
  
                       Scott B. Sibley
  
         Ford Aerospace & Communications Corporation
             Space Information Systems Operation
                      1002 Gemini Avenue
                      Houston, TX  77258
  
  
  
  
  
  
                          18 OCT 83
  
  
  
  
  
  
  
  
  
  
  
  
  
  
                                                              18 OCT 83
  
 Editor_Capabilities___________________
  
         The  EE  Text  Editor allows the user to modify program source
    files and data files interactively from a VAX terminal, or to run a
    set of predefined editing instructions stored in an Editor  command
    file at  any time without requiring a human to be present.  Several
    different files may be edited in a single  interactive  session  or
    edited non-interactively with Editor command files. 
  
    Modifications  may  be controlled by line number, column number, or
    text-string value.  Several modifications may be repeatly reversed,
    restoring text to its former appearance, for comparing versions  or
    correcting accidental changes. 
  
    Editing  steps are remembered, so they can be quickly repeated at a
    later time without re-typing.  Also, instruction command names  can
    be  renamed;  and  user-defined  commands can be created to perform
    multiple  editing  steps;  thus,  typing  problems  are   virtually
    eliminated. 
  
    The  EE  Text  Editor  also  allows  the user to access the VAX/VMS
    environment; DCL  commands  can  be  run  during  edit  to  compile
    programs, format  text, delete files, send mail, etc.  Commands can
    be performed concurrently, so that interactive editing  may  resume
    immediately. 
  
  
 Starting_the_Editor___________________
  
         The Text Editor can be started by typing the command:  EE from
    VAX command mode.  The full form of the command is: 
  
      EE [file-spec [-NEW]][-I:file][-C:cmds] | -F | -H {'SaveFile'}
  
         This  command  edits  the file(s) specified by "file-spec" and
    remembers the last file name edited (excluding version  no.).    If
    "file-spec" is omitted, the remembered file will be edited.  If the
    file type is omitted, it will be guessed in this order: 
  
        .FLE  .FOR  .COM  .RNO  .TEX  .MAC  .DAT  .  .LIS  .DEF  .I
  
    The  parameter  "-NEW"  (or "-N") must be specified to create a new
    file.  Multiple files can be edited by specifying a list  of  names
    separated by  commas  or using wildcard characters (*).  Editing is
    performed on each file in succession by typing "RET" ("return"). 
  
    A start-up command  file  may  be  assigned  to  the  logical  name
    "EESTARTUP" to set options before the first file is edited. 
  
    Other editing options are: 
  
     -INPUT   - (or "-I:file") Read editor input from "file"; the null
                device may be used for non-interactive editing (-I:NL:).
     -COMMAND - (or "-C:cmds") Perform "cmds" on each file edited.
  
         The  parameter  "-F" returns the format of the EE command, and
    "-H" displays help for the command (Note that the  brackets  denote
    an optional parameter, braces ({}) designate a default value for an
    omitted parameter, and the vertical-bar symbol (|) means "or".). 
  
  
  
 EE Text Editor                                          Starting EE  4
  
                                                              18 OCT 83
  
         When  the Editor starts, it displays the name of the edit file
    and prompts for commands with ">".  Typing "Q" will quit  the  edit
    and return to VAX command mode. 
  
  
 Running_the_Editor__________________
  
         The  Text  Editor  is  operated  through a set of English-like
    commands.  The  format  of  these  commands  is  described  in  the
    following paragraphs. 
  
    Command Line
  
       An  Editor  command  consists  of  a main verb or "command name"
       followed by various options called "parameters",  which  may  be
       separated  by  spaces  and/or  the Separator character (refer to
       "Metacharacters").  Multiple commands can be entered on one line
       if the command Delimiter character  (usually,  a  semicolon)  is
       used between them. 
  
       The command name may be up to 8 characters in length and contain
       any  character  except  the  Numeric characters & Metacharacters
       (digits 0-9, +, -,  .,  the  parameter  Separator,  the  command
       Delimiter, and the Null-number character).  Also, a command name
       may  begin  with a slash ("/") but not contain an embedded slash
       since slashes designate command options. 
  
    Command Parameters
  
       Command parameters are of the following general types: 
  
        Numeric - consists of +, -, ., 0-9, or the Null-number character
        Word    - any characters except blank, Numeric & Metacharacters
        File    - a VAX file specification (no blanks or Metacharacters)
        String  - contains any character except the command Delimiter
        Quoted  - offset with "quote" characters; may contain Metacharacters
  
       Because of the unique composition of  Numeric,  Word,  and  File
       parameters,  they  may  be  intermixed  on a command line in any
       order without confusion. 
  
    MetaCharacters
  
       The following characters are  Metacharacters  (characters  which
       have  special  meaning  beyond  other  text  characters) for the
       Editor command language: 
  
          SEPAR - parameter separator character
          DELIM - command delimiter character (separates commands)
          NULL  - null-number character (gives a null value for a number)
  
       These characters can be altered by the "Alter" command. 
  
  
         The Editor commands can be divided into two major  catagories:
    Text-Editing  Commands and Meta-Language Editing Commands (commands
    which deal with the command language itself).  These  commands  are
    explained in the following sections. 
  
  
  
  
 EE Text Editor                                           Running EE  5
  
                                                              18 OCT 83
  
 Text_Editing_Commands_____________________
  
         The following commands are used to modify the edit file. 
  
  
                       **  Text Editing Commands  **
     
    File Editing                           Information
      GET - Get Edit File from Library       INF - Information
      PUT - Put Edit File into Library       H   - Help
      MER - Merge File from Library
                                           Line Editing
    Line Selection                           I   - Insert Line
      P   - Print Line                       D   - Delete Lines
      T   - Move to Line# or Top             R   - Replace Line
      N   - Move to Next Line                COP - Copy Lines
      U   - Move Up to Line                  MOV - Move Lines
      BOT - Move to Bottom Line              RES - Restore Line
      L   - Locate String                    J   - Join from Next Line
      F   - Find String
                                           Character Editing
    Edit Control                             A   - Add String to Line
      SET - Set Option                       C   - Change String
      SHOW- Show Status                      O   - Overlay String
      Q   - Quit Edit                        TR  - Translate Characters
  
 ----------------------------------------------------------------------
 Add String to Line:  A [within-col# {end-of-line}] [string {previous}]
 ----------------------------------------------------------------------
    Adds  the  specified  character  string  after  the  last non-blank
    character of the current line. 
  
    If "string" is omitted, the string entered on the last "Add-String"
    command is used again. 
  
    The parameter "within-col#" may be specified (no leading space)  to
    add  the  string  to  the  end  of the text within the given column
    number. 
  
 ----------------------------------------------------------------------
 Move to Bottom Line:  BOT
 ----------------------------------------------------------------------
    Sets the current line pointer  to  the  bottom  line  in  the  text
    buffer. 
  
 ----------------------------------------------------------------------
 Change String:  C
   [col#[end#]] /str1/str2 [/[GLOBAL][VER][#lines|R range[#subs]]]
   (MATCH patterns -  :L=locate  :C=change  ::=ellipsis  :#=auto#)
 ----------------------------------------------------------------------
    changes  the  first  occurrence  of  the character string "str1" to
    "str2" for "#lines" lines (beginning with the current line) or  for
    a range  of line numbers.  The strings must be delimited by slashes
    or some other character not occurring in  the  strings  themselves.
    If  the  second slash is omitted, "str2" is assumed to be null, and
    if the third slash is omitted, "str2" is assumed to extend  to  the
    last non-blank character in the command line.  The third slash must
    be given if options are specified. 
    If  both  strings are omitted, the previous change strings are used
    again. 
  
  
 EE Text Editor                                Text Editing Commands  6
  
                                                              18 OCT 83
  
    The search for "str1" begins in column 1 of the line  and  ends  at
    the  line  length,  unless  the  range  of column numbers "col#" to
    "end#" is specified (no space preceding  "col#").    If  "end#"  is
    omitted, the  remainder of the line is searched.  Each line changed
    is printed unless the VERIFY switch is  set  to  "NO"  or  the  "V"
    option is used. 
  
    The  "Change-String" command has the following options which may be
    entered in any order: 
  
    GLOBAL - (or "G") (meaning global within each line)   applies   the
         change  to  all  occurrences  of  "str1"  in  as many lines as
         specified by "#lines". 
    DELETE - (or "D") deletes the remainder of a line  after  the  last
         change on the line. 
    VERIFY - (or "V") alters the setting of the VERIFY switch (refer to
         the "Alter" command) for the duration of the command. 
    #lines [#subs] - requests "#subs" substitutions in each of the next
         "#lines" lines;  defaults  to  1 for 1 line only.  An asterisk
         (*) signifies all remaining lines. 
    RANGE beginline#[end#[#subs]] - (or "R") requests substitutions  as
         above for a specific range of line numbers. 
  
    MATCH Patterns
  
    The     "Change-String"    command    recognizes    some    special
    character-matching patterns in "str1" and "str2".   These  patterns
    each  consist  of two characters - the MATCH character, initially a
    colon (:), and a pattern name character.  Pattern  name  characters
    may be given in either upper or lower case: 
  
    L - (pattern ":L")  is  replaced by the "locate" string -- the last
         string given on a "Locate-String" or "Find-String" command. 
    C - (pattern ":C") is replaced in "str1" by  the  value  of  "str1"
         given in  the  last "Change-String" command.  In "str2", it is
         replaced by the current value of "str1". 
    MATCH - (pattern "::")  The   MATCH   character   appearing   twice
         indicates ellipsis.    This will match zero or more characters
         between other characters given in "str1".    Ellipsis  is  not
         recognized in "str2". 
    # - (pattern ":#")  is  replaced  by  the current value of the AUTO
         number (refer to the  "Set-Option"  command),  which  is  then
         incremented for each occurrence of the pattern. 
  
    Patterns are  matched  in a line of text from left to right.  For a
    GLOBAL change, patterns in "str1" are substituted only once (except
    for ellipsis), whereas patterns in "str2" are substituted for  each
    occurrence of "str1" found. 
    MATCH-pattern  substitution  can  be  modified or disabled with the
    "Set-Option" command. 
  
 ----------------------------------------------------------------------
 Copy Line(s):  COP [begin-line# [end#] {current-line}]
 ----------------------------------------------------------------------
    Copies the range of lines specified by "begin-line#" through "end#"
    after the current line.  If "end#"  is  omitted,  only  1  line  is
    copied.   If  both  line  numbers  are omitted, the current line is
    copied. 
  
    The "begin-line#" may be signed + or -,  relative  to  the  current
    line, and "end#", relative to "begin-line#". 
  
 EE Text Editor                                Text Editing Commands  7
  
                                                              18 OCT 83
  
 ----------------------------------------------------------------------
 Delete Line(s):  D [#lines {1} | begin-line#[end#] RANGE]
 ----------------------------------------------------------------------
    This command  has  two  forms.    The first form deletes a total of
    "#lines" lines, beginning with the current line. 
  
    The second form (using the parameter "RANGE" or  "R")  deletes  the
    range  of  lines specified by "begin-line#" through "end#" from the
    file.  If  "end#"  is  omitted,  only  1  line  is  deleted.    The
    "begin-line#"  may  be signed + or -, relative to the current line,
    and "end#", relative to "begin-line#". 
  
    The first line after the deleted line(s) becomes  the  new  current
    line.   If  all  lines  to  the bottom of the file are deleted, the
    message "BOTTOM" is printed, and the current line  is  set  to  the
    bottom line. 
  
 ----------------------------------------------------------------------
 Find String:  F [col# {find-col}] [string {previous}]
 ----------------------------------------------------------------------
    finds  the  next line with "string" in the specified column "col#",
    beginning with the next line after the current line. 
  
    If  "string"  is  omitted,  the  string   entered   on   the   last
    "Find-String" or "Locate-String" command is used again. 
  
    If  "col#"  is  omitted,  the  "find-col"  column  of  each line is
    searched.  The value of "find-col" can be set by  the  "Set-Option"
    command.  "Col#" may be entered as + or -, relative to the value of
    "find-col".  "Col#" must be entered with no leading space. 
  
    The message "BOTTOM" is printed if the string is not found, and the
    current line is set to the bottom line of the file. 
  
 ----------------------------------------------------------------------
 Get File to Edit:  GET [file-spec | filnum #] {edit-file}
 ----------------------------------------------------------------------
    If  no parameters are specified, this command gets the last version
    of the edited file, replacing the current edit  file  in  the  text
    buffer. 
  
    The  parameter  "file-spec"  may be used to get a different file to
    edit.  The "file-spec" then becomes the default edit file. 
  
    A different edit file can also be selected by the  number  "filnum"
    which  refers to the position number of a file specification stored
    in the list of remembered  files  displayed  by  the  "Show-Status"
    command.   The  "filnum"  may  be  signed  +  or -, relative to the
    position of the current edit file specification in the list. 
  
    If the current edit file has been modified, but  it  has  not  been
    saved in its entirety with a "Put-Edited-File" command, the user is
    warned before the current file is erased. 
  
 ----------------------------------------------------------------------
 Help:  H
   [cmd-name | macro-name | begin-macro#[end#] [/EDIT][/META]]
   [[/NONUMBER] /MACRO]
 ----------------------------------------------------------------------
    If  a  command  name  is  specified,  the help command displays the
    function and parameter format for the given command.  To  show  the
  
 EE Text Editor                                Text Editing Commands  8
  
                                                              18 OCT 83
  
    contents  of  command  macros,  specify either the macro names or a
    range of  macro   numbers.      For   specifying   macro   numbers,
    "begin-macro#"  may  be  given as a negative number relative to the
    number of the last macro defined.  The "end#" may be given relative
    (+/-) to the "begin-macro#". 
  
    Other options: 
  
    /EDIT     - List table of Text-Editing command names and functions
    /META     - List table of Meta-Language command names and functions
    /MACRO    - List table of Macro names currently defined
    /NONUMBER - Used preceding "/MACRO" to suppress macro numbers
  
    Up to eight names are allowed on one help command. 
  
 ----------------------------------------------------------------------
 Information:  INF [topic-prefix-list] [#levels {2} [pagelen {22}]]
 ----------------------------------------------------------------------
    This command lists information for the topics  that  match  "topic-
    prefix-list",  which may specify any type of topic grouping such as
    "COMMAND", "STRING", "COM ERR", or  "META  COM  DESCRIP".    If  no
    prefix is given, all topics will be listed. 
  
         Information is displayed a page at a time.  At the end of each
    page typed, the user is prompted with ":".  Valid responses are: 
  
         / - Skip past next page        = - Show current line number
         Q - Quit     ? - Show topic names requested      H - Give help
         Any other response will continue with the next page.
  
    The following list explains the command options: 
  
       #levels  - print "#levels" sub-levels of information; default is 2
       pagelen  - set page length to "pagelen" lines; default is 22
  
 ----------------------------------------------------------------------
 Insert Line:  I [at-col# {insert-col}] string
 ----------------------------------------------------------------------
    inserts a new line with "string" beginning in the specified column. 
  
    If  "at-col#"  is  omitted, the line will begin in the "insert-col"
    column.  The value of "insert-col" can be set by  the  "Set-Option"
    command.  "At-col#" may be entered as + or -, relative to the value
    of "insert-col".  "At-col#" must be entered with no leading space. 
  
 ----------------------------------------------------------------------
 Join from Next Line:  J [to-column#]
 ----------------------------------------------------------------------
    Joins the text from the next line to one space after the end of the
    current line.    The  parameter  "to-column#"  may be specified (no
    leading space) to join the text  in  a  particular  column  of  the
    current line. 
  
    The text is copied onto the current line, so the line following the
    current line is not affected. 
  
  
  
  
  
  
  
 EE Text Editor                                Text Editing Commands  9
  
                                                              18 OCT 83
  
 ----------------------------------------------------------------------
 Locate String:  L [col# {1}] [string {previous}]
 ----------------------------------------------------------------------
    locates the next line containing "string" in or after the specified
    column "col#", beginning with the next line after the current line. 
  
    If   "string"   is   omitted,   the  string  entered  on  the  last
    "Locate-String" or "Find-String" command is used again. 
  
    If "col#" is omitted, the search for "string" begins in column 1 of
    each line.  The "col#" must be entered with no leading space. 
  
    The message "BOTTOM" is printed if the string is not  located,  and
    the current line is set to the bottom line of the file. 
  
 ----------------------------------------------------------------------
 Merge File:  MER [file-spec | filnum #] [begin# [end#]]
 ----------------------------------------------------------------------
    merges  the  contents of the file indicated by "file-spec" into the
    edit file after the current line.  If "file-spec" is  omitted,  the
    last file merged is used again. 
  
    A  merge  file  can  also be selected by giving the number "filnum"
    followed by the symbol "#", where "filnum" refers to  the  position
    number  of  a  file  specification stored in the list of remembered
    files displayed by the "Show-Status" command.  The "filnum" may  be
    signed  +  or -, relative to the position of the current merge file
    specification in the list. 
  
    A portion of a file can be merged by specifying the range of  lines
    "begin#" to "end#".  If "end#" is omitted, only one line is merged.
    The  remainder  of  a  file can be merged by specifying "end#" as a
    large number (such as 9999). 
  
    The "end#" may be signed +, relative to the "begin#". 
  
 ----------------------------------------------------------------------
 Move Line(s):  MOV [begin-line# [end#] {previous-line}]
 ----------------------------------------------------------------------
    Moves the range of lines specified by "begin-line#" through  "end#"
    to after  the  current  line.  If "end#" is omitted, only 1 line is
    moved.  If both line numbers are  omitted,  the  previous  line  is
    moved after the current line. 
  
    The  "begin-line#"  may  be  signed + or -, relative to the current
    line, and "end#", relative to "begin-line#". 
  
 ----------------------------------------------------------------------
 Move to Next Line:  N [#lines {1}]
 ----------------------------------------------------------------------
    Sets the current line pointer to the next line, or next by "#lines"
    if given. 
  
    If "#lines" points beyond the  bottom  of  the  file,  the  message
    "BOTTOM"  is  printed,  and  the  current line is set to the bottom
    line. 
  
  
  
  
  
  
 EE Text Editor                               Text Editing Commands  10
  
                                                              18 OCT 83
  
 ----------------------------------------------------------------------
 Overlay String:  O [at-col# {1}] [string {previous}]
 ----------------------------------------------------------------------
    overlays "string" onto the current line at the specified column (no
    leading space).  The column number "at-col#" defaults to 1. 
  
    If  "string"  is  omitted,  the  string   entered   on   the   last
    "Overlay-String" command is used again. 
  
 ----------------------------------------------------------------------
 Print Line(s):  P [#lines [/COLUMN] [#col]|[begin-col# end#]]
                [/NUMBER] [/LEFT | /RIGHT | /BOTH]
 ----------------------------------------------------------------------
    Prints  a total of "#lines" lines, beginning with the current line.
    The message "BOTTOM" is printed if "#lines" exceeds the  bottom  of
    the file, and the current line is set to the bottom line. 
  
    Printed  lines  can  be  truncated or extended to length "#col"; or
    displayed within the  range  of  columns  "begin-col#"  to  "end#";
    otherwise, they are printed to the current "WIDTH" column (refer to
    the "Set-Option" Command). 
  
    The other options are: 
  
    /COLUMN - show column indicator line above first line printed
    /NUMBER - reverse "NUMPRT" switch (refer to "Set Option" command)
    /LEFT   - Display the line number on the left side of each line
    /RIGHT  - Display the line number on the right side of each line
    /BOTH   - Display the line number on both the left & right sides
  
 ----------------------------------------------------------------------
 Put Edited File:  PUT
   [file-spec | filnum #][/COLUMN end-col | begin-col,end]
   [begin-line [end-line] {begin-line}]
 ----------------------------------------------------------------------
    If  no  parameters are specified, this command puts the edited file
    back under a new version number. 
  
    The parameter "file-spec" may be used to give the file a  different
    name, or  to  put  the  file  into  a  different  directory.    The
    "file-spec" then becomes the default name of the edit file. 
  
    A different file can also be selected by giving the number "filnum"
    followed by the symbol "#", where "filnum" refers to  the  position
    number  of  a  file  specification stored in the list of remembered
    files displayed by the "Show-Status" command.  The "filnum" may  be
    signed  +  or  -, relative to the position of the current edit file
    specification in the list. 
  
    A portion of the edit file may be specified by giving column and/or
    line ranges.  For selecting columns, specify "/COLUMN"  and  either
    the  ending  column position (relative to line WIDTH; refer to "Set
    Option") or both "begin-col" and "end" ("end" may be signed + or  -
    relative to "begin-col"). 
  
    For selecting lines, give the range "begin-line" to "end-line".  If
    "end-line" is omitted, only one line is selected. 
  
    The  "begin-line"  may  be  signed  + or -, relative to the current
    line, and "end-line", relative to "begin-line". 
  
  
 EE Text Editor                               Text Editing Commands  11
  
                                                              18 OCT 83
  
 ----------------------------------------------------------------------
 Quit Edit:  Q [OK]
 ----------------------------------------------------------------------
    terminates the Text Editor and returns to VAX command mode. 
  
    If the current edit file has been modified, but  it  has  not  been
    saved in its entirety with a "Put-Edited-File" command, the user is
    warned before the Editor terminates with: 
  
                    Current File not Saved, OK to Quit?
  
    A response  of  "NO"  (or  "N")  will  return  to  edit.  Any other
    response will quit.  Using  the  parameter  "OK"  will  bypass  the
    warning. 
  
 ----------------------------------------------------------------------
 Replace Line:  R [at-col# {insert-col}] string
 ----------------------------------------------------------------------
    replaces  the  current  line beginning at the specified column with
    "string". 
  
    If  "at-col#"  is  omitted,  the  line  will  be  replaced  at  the
    "insert-col" column.    The value of "insert-col" can be set by the
    "Set-Option" command.  "At-col#" may be entered as + or -, relative
    to the value of "insert-col".  "At-col#" must be  entered  with  no
    leading space. 
  
 ----------------------------------------------------------------------
 Restore Line:  RES [save-buffer# {1}]
 ----------------------------------------------------------------------
    restores  the  last  changed or deleted line over the current line.
    Up  to  7  modifications  may  be  reversed   by   specifying   the
    "save-buffer#"   as   1  to  7  ("1"  refers  to  the  most  recent
    modification).  The current line will be swapped with the  contents
    of the specified buffer. 
  
    If  multiple  lines were changed, only the last 7 changed lines are
    saved.  If multiple lines were deleted, only the first deleted line
    is saved. 
  
 ----------------------------------------------------------------------
 Set Option:  SET [item-name [value]] {prints all}
 ----------------------------------------------------------------------
    If no parameters are specified, the current settings of the  Editor
    switch items  are displayed.  Specifying "item-name" sets the value
    of one of the following items.  Item names can  be  abbreviated  to
    one letter. 
  
    Mode Switches
  
    The  print-verify  switch  "VERIFY" controls the printing of a line
    after a command is processed.   The  number-print  switch  "NUMPRT"
    determines  whether  text  lines will be printed with line numbers.
    The translation-print switch "TRANS" determines whether lines  will
    be printed  with  non-printable  characters translated to "^".  The
    substitute-matches switch "SUBMAT" enables  MATCH  patterns  to  be
    substituted in the "Change-String" command. 
  
    Switches may  be  set  with  a  YES/NO  or PREV value (Y/N/P).  The
    "PREV" setting changes the switch to its previous value.    If  the
    YES/NO/PREV  parameter  is  omitted,  the switch setting is toggled
  
 EE Text Editor                               Text Editing Commands  12
  
                                                              18 OCT 83
  
    (reversed). 
  
    Column Settings
  
    The  "FIND"  column  is  the  default  column   setting   for   the
    "Find-String" and "Locate-String" commands.  The "INSERT" column is
    the default column setting for the "Insert-Line" and "Replace-Line"
    commands;  it  may be set to the value "DUPLICATE" to duplicate the
    existing indentation level.  The "WIDTH" column defines  the  width
    of  lines  edited;  any  data  outside this column is unaffected by
    editing.  The "CRTLIN" column defines the size of  lines  displayed
    on the  terminal.  The column setting "value" may be signed + or -,
    relative to the current column setting.  If "value" is omitted, "1"
    is assumed. 
  
    Change-Command Information
  
    The "MATCH" character is used in  the  "Change-String"  command  to
    designate special  character-matching  patterns.   If the character
    "value" is omitted from the command, the "MATCH" character  is  set
    to null and is disabled. 
  
    The  auto-number  values with "AUTO#" set the initial and increment
    values   for   the   auto-number   pattern   recognized   by    the
    "Change-String" command.    Both  values  may  be  set  as  + or -,
    relative to the current auto-number settings.  If both  values  are
    omitted, auto numbering will be "1" by "1". 
  
 ----------------------------------------------------------------------
 Show Status:  SHOW
   [COLUMNS [#columns {72} [pos [beg-col]]] | FILES [beg#[end#]]]
   [DIRECTORY [file-spec][#cols]]
 ----------------------------------------------------------------------
    shows line columns, files used, or directory listings. 
  
    The  "COLUMNS"  (or  "C")  option  shows a column-indicator line of
    length "#columns" (default of 72).  The column indicator will align
    with printed lines unless the  "pos"  line  position  is  specified
    ("pos" may be signed + or - relative to the printed-line position).
    Columns will be numbered from "beg-col" (default is 1). 
  
    The  "FILES"  (or "F") option shows a list of files used during the
    current edit session.  Each file specification is listed  with  the
    number  of lines read from or written to the file and the number of
    the last input or output reference that was made to the file.   The
    usage  column indicates the remembered Edit file with "Edit->", the
    remembered Merge file with "Merge>",  and  the  remembered  Command
    file with "Cmds->".  For Example: 
  
                # INP  OUT  Lines  Usage  File Name
                1   1   10    87   Edit-> MYPROG.FOR
                2   2    0    19   Merge> XXX.FOR
  
    A  portion of the file list may be specified by giving the range of
    files "beg#" to "end#".  If "end#" is omitted,  only  one  file  is
    selected. 
  
    The  "beg#"  may  be signed + or -, relative to the position of the
    current edit file specification in the list, and  "end#",  relative
    to "beg#". 
  
  
 EE Text Editor                               Text Editing Commands  13
  
                                                              18 OCT 83
  
    The  "DIRECTORY"  (or  "D")  option allows directory listings to be
    displayed.  Only entire  directories  can  be  diplayed,  and  only
    highest-version files  are  listed.    However,  logical  names are
    allowed:  SHOW DIR SYS$LOGIN:  Also, a directory name may be  given
    relative to a  logical  name:   SHOW DIR SYS$LOGIN:[.TEST].  Unless
    otherwise  specified,  "#col"  will  default  so  as  to  pack  the
    requested file names within the current line length. 
  
 ----------------------------------------------------------------------
 Move To Line#:  T [line# {0}] | [[previous# {1}] PREV]
 ----------------------------------------------------------------------
    Sets  the  current-line pointer to the given line# or to the top if
    the line number is omitted.  The parameter "PREV" (or "P")  may  be
    specified  to  set  the current-line pointer to a previous position
    ("previous#" may be 1 to 5). 
  
    If "line#" points beyond the top of the file, the message "TOP"  is
    printed, and the current line is set to the top line. 
  
    If  "line#"  points  beyond  the  bottom  of  the file, the message
    "BOTTOM" is printed, and the current line  is  set  to  the  bottom
    line. 
  
 ----------------------------------------------------------------------
 Translate Characters:  TR UP | LOW [beg-col# {1} [end#]]
 ----------------------------------------------------------------------
    translates letters on the current line to upper or lower case. 
  
    The case  parameter may be "UP" ("U") or "LOW" ("L").  A portion of
    the current line may be  translated  by  specifying  the  range  of
    column numbers  "beg-col#"  to  "end#".   If "end#" is omitted, the
    remainder of the line is translated. 
  
 ----------------------------------------------------------------------
 Move Up to Line:  U [#lines {1}]
 ----------------------------------------------------------------------
    Sets the current line pointer up to the previous  line,  or  up  by
    "#lines" if given. 
  
    If "#lines" points beyond the top of the file, the message "TOP" is
    printed, and the current line is set to the top line. 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 EE Text Editor                               Text Editing Commands  14
  
                                                              18 OCT 83
  
 Meta-Language_Editing_Cmds__________________________
  
         The  following  commands  provide  capabilities  not  directly
    associated with text editing. 
  
  
                   **  Meta-Language Commands  **
  
 Command Editing                        Information
   ALT - Alter Mode or Metacharacter      H   - Help
   REN - Rename a Command                 VAR - Set/Show User Variables
   DEF - Define a Command Macro
   #   - Comment                        User Communication
   USEX- Perform User Exit                ECHO- Write to User
                                          ASK - Ask User Permission
 Command Flow Control                     ?   - End of Ask Sequence
   *   - Repeat a Command Line
   READ- Read a Command Input File      External Communication
   RET - Return from a Macro or File      OS  - Run Operating System Cmd
  
 ----------------------------------------------------------------------
 Alter:  ALT [meta-char-name [char]]|[mode-name [YES|NO|PREV]]
 ----------------------------------------------------------------------
    Alters the command-language meta-characters and mode switches. 
  
    The meta-characters are  the  delimiter  "DELIM"  (which  separates
    multiple  commands), the separator "SEPAR" (which separates command
    parameters), and the null-number character "NULL"  (which  gives  a
    null value  to  a  numeric  parameter).  If the parameter "char" is
    omitted, the meta-character becomes disabled. 
  
    The mode switches include the print-verify switch  "VERIFY"  (which
    controls  the printing of a line after a command is processed), the
    "OK-error" switch "OKERR" (which continues command processing  when
    an  error  occurs),  and  the  stop-mode switch "STOP" (which stops
    command-line, but not command-file, processing at "BOTTOM"). 
  
    Mode switches may be set with a YES/NO or PREV (Y/N/P) value.   The
    "PREV" setting  changes  the  switch to its previous value.  If the
    YES/NO/PREV parameter is omitted from the command, the  mode-switch
    setting is toggled (reversed). 
  
    When  no  parameters  are specified, the "Alter" command prints the
    current values of the meta-characters and mode switches. 
  
 ----------------------------------------------------------------------
 Ask User Permission:  ASK [prompt-message {Y or N}]
 ----------------------------------------------------------------------
    This command is used in conjunction with the  "End-of-Ask"  command
    to  allow  conditional processing of multiple commands on a command
    line. 
  
    When encountered on a  command  line,  this  command  displays  the
    "prompt-message" (default of "Y-or-N") followed by a question mark,
    and pauses command execution.  Valid responses are: 
  
        Yn  -  "yes", execute following commands and continue "n" times
             without asking ("n" defaults to 1)
        Nn - "no", skip following commands to "End-of-Ask" command, and
             continue "n" times without asking
        G - "go", execute following commands without further prompting
  
 EE Text Editor                                  Meta-Language Cmds  15
  
                                                              18 OCT 83
  
        S - "stop", stop command-line processing and return to user
  
    "Ask-User" command sequences can be nested to 11 active levels. 
  
 ----------------------------------------------------------------------
 End of Ask Sequence:  ?  [any-comment]
 ----------------------------------------------------------------------
    Marks the end of an "Ask-User" command sequence, and it is  treated
    as a comment. 
  
 ----------------------------------------------------------------------
 Read Command File:  READ [file-spec | filnum #]
 ----------------------------------------------------------------------
    reads commands  from  the  command file "file-spec".  Command files
    may be nested to 6 levels. 
  
    A command file can also be selected by giving the  number  "filnum"
    followed  by  the symbol "#", where "filnum" refers to the position
    number of a file specification stored in  the  list  of  remembered
    files displayed  by the "Show-Status" command.  The "filnum" may be
    signed + or -, relative to the position of the current command file
    specification in the list. 
  
 ----------------------------------------------------------------------
 Comment:  # [any-comment]
 ----------------------------------------------------------------------
    allows commenting of command files and macros. 
  
 ----------------------------------------------------------------------
 Define Command Macro:  DEF [macro-name [/string/] or num-macros OK
 ----------------------------------------------------------------------
    This command has two forms. 
  
    The first form defines a command macro named "macro-name"  to  have
    the contents  "string".   The macro can be executed by entering the
    macro name as a new command.  A macro may contain multiple commands
    since the "string"  is  offset  by  slashes  (or  any  other  alpha
    character).   If  "string"  is  omitted  or all blank, the macro is
    deleted. 
  
    The macro name may be up to 8 characters in length and contain  any
    character  except  the  digits  0-9,  +,  -,  .,  /,  the parameter
    Separator, the command Delimiter, and  the  Null-Number  character.
    If  "macro-name"  refers to an existing macro, the current macro is
    replaced. 
  
    Command macros may contain any command and may define other command
    macros.  There is no limit to macro nesting.  Recursive macros  are
    terminated when encountered. 
  
    The second form of the command sets the number of defined macros to
    "num-macros", deleting  the  rest.    If  "num-macros" is zero, all
    macros are deleted. 
  
 ----------------------------------------------------------------------
 Help:  H
   [cmd-name | macro-name | begin-macro#[end#] [/EDIT][/META]]
   [[/NONUMBER] /MACRO]
 ----------------------------------------------------------------------
    If a command name is  specified,  the  help  command  displays  the
    function and  parameter  format for the given command.  To show the
  
 EE Text Editor                                  Meta-Language Cmds  16
  
                                                              18 OCT 83
  
    contents of command macros, specify either the  macro  names  or  a
    range of   macro   numbers.      For   specifying   macro  numbers,
    "begin-macro#" may be given as a negative number  relative  to  the
    number of the last macro defined.  The "end#" may be given relative
    (+/-) to the "begin-macro#". 
  
    Other options: 
  
    /EDIT     - List table of Text-Editing command names and functions
    /META     - List table of Meta-Language command names and functions
    /MACRO    - List table of Macro names currently defined
    /NONUMBER - Used preceding "/MACRO" to suppress macro numbers
  
    Up to eight names are allowed on one help command. 
  
 ----------------------------------------------------------------------
 Rename Command:  REN (user-cmd | internal-cmd | macro-name) new-name
 ----------------------------------------------------------------------
    renames a command or command macro to "new-name". 
  
 ----------------------------------------------------------------------
 Repeat Cmd Line:  * repeat# [cmd#-from-left {1}| -#cmds-from-right]
 ----------------------------------------------------------------------
    repeats a command line "repeat#" number of times.  A portion of the
    command  line  can  be repeated by giving either the command number
    from the left of the command line, or a  negative  number  for  the
    number  of  commands  back  from the right ("-1" would refer to the
    command immediately before the "Repeat-Cmd-Line" command). 
  
    Command repeat groups can be nested to 8 levels.  The "repeat#"  is
    limited to 100. 
  
 ----------------------------------------------------------------------
 Return from Macro or Command File:  RET [#levels {1}]
 ----------------------------------------------------------------------
    Returns  control  from  a command macro and/or command file through
    "#levels" levels of nesting. 
  
 ----------------------------------------------------------------------
 Set/Show Variables:  VAR [ADD MUL DIV EXP TRUN][var1 var2 ... var8]
 ----------------------------------------------------------------------
    If no parameters are specified, this command displays the values of
    up to 8 user variables. 
  
    The user variables may be set to absolute unsigned  values  or  set
    relatively by  +  and  -.    The  list of values will expand to the
    largest number of values set; the "TRUN" option will  truncate,  or
    shorten, the list. 
  
    Arithmetic operations  may  be  specified  by:   "ADD" (the default
    operation), "MUL" (multiply times variables),  "DIV"  (divide  into
    variables), and "EXP" (raise variables to exponents).  Examples: 
  
        VAR 47.61 47.61     <--- calculate 47.61*7 and 47.61*9
        VAR 7 9 M; VAR
  
        VAR 769 770 770     <--- calculate 769**2,770**2,770**3
        VAR 2 2 3 EX; VAR
  
  
  
  
 EE Text Editor                                  Meta-Language Cmds  17
  
                                                              18 OCT 83
  
 ----------------------------------------------------------------------
 Run Operating System Cmd:  OS WAIT os-cmd | CONTINUE os-cmd | NEST
 ----------------------------------------------------------------------
    allows execution of VAX/VMS DCL by three different options: 
  
     WAIT os-cmd  - Initiates "os-cmd" as a command & waits until done.
     CONT os-cmd  - Initiates "os-cmd" & continues reading commands.
     NEST         - Enters a VAX-like sub-process, and typing "LO"
                    logs off back to edit.
  
    SINGLE-COMMAND LINES -    Both the "WAIT" & "CONTINUE" options very
    quickly define the [UTIL]Symbols.COM  symbols  before  the  command
    line is  performed.  The command line may be up to 63 characters in
    length.  Programs which send output  to  "TT:"  (not  "SYS$OUTPUT")
    will not be able to access "TT:". 
  
    MULTIPLE-COMMAND LINES -    The  "NEST"  option  enters  a VAX-like
    subprocess and does allow entry of standard VAX DCL commands.    It
    is also the most efficient method, as it seems to put the Editor to
    sleep.  However, no symbols are defined for "NEST".  They will need
    to be invoked by running command files.  To return to edit, log off
    ("LO")   from   the   VAX-like   sub-process  (subprocess  name  is
    "VAXVMSCLI").  WARNING - entering control-C (^C) will kill both the
    subprocess and the Editor. 
  
 ----------------------------------------------------------------------
 Perform User Exit:  USEX [user-defined-parameters]
 ----------------------------------------------------------------------
    This command invokes a user-exit routine  in  the  Editor  program.
    The routine must be compiled and linked with the Editor object code
    libraries. 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 EE Text Editor                                  Meta-Language Cmds  18
  
                                                              18 OCT 83
  
 Editor_Command_Macros_____________________
  
         The following commands are macros defined when the Text Editor
    program is started. 
  
  
  
 File Print/Display Macros  ( ] : :P :] :: PP @ )
     
          - a blank line is a "Next"
      ]   - moves up to previous line
      :   - prints next page at the current line (P22)
      :P  - prints current page to the current line
      :]  - prints previous page
      PP  - prints a page from 9 lines up; current line unchanged
      ::  - prints a page as in "PP"; shows columns above line
      @   - prints a page from the top of the file
      [@  - prints a page from the bottom of the file
         Pages are defined by macro ":".
     
  
  
 Show/Information Macros    (CC FF DESC DIR NEWS WHERE)
     
      CC [#lines]       - Shows columns & then prints "#lines"
      FF [beg# [end#]]  - Shows the list of remembered files (or a range)
      DESC [cmd-title]  - returns the full description of the specified
                          command by using the "Information" command
      DIR [dir-name]  - Shows highest-version files in a directory
      NEWS            - Shows list of News items about Editor changes
      WHERE           - Shows the Editor version title
     
  
  
 Text-Editing Macros        (AT SP BR VE REQ MOD LOC)
     
      AT [col#]     - Mark current line for split with "%" at col#
      SP [prefix]   - Splits the current line at "%" and puts the optional
                      text "prefix" at the beginning of the 2nd line
     
      BR            - "Brief":  ALT VERIFY NO
      VE            - "Verify":  ALT VERIFY
     
      INP           - Enter multi-line input mode, terminate with ^Z
     
      REQ           - Initiates an Ask sequence with "MOD" & "LOC" macros
      MOD           - macro executed by "REQ" on YES to "OK to Modify?"
      LOC           - macro executed by "REQ" to locate next line to modify
     
  
  
 Editing Environments:  ENV shows environment, CMDS shows macros
  
  
 FLEENV  - FLECS Language Editing Environment
     
      The "FLEENV" macro invokes the "FORENV" macro,
      and defines the following macros:
     
      ISE           - insert "SELECT ("
      ICO           - insert CONDITIONAL stmt
  
 EE Text Editor                               Editor Command Macros  19
  
                                                              18 OCT 83
  
      IOT           - insert (OTHERWISE) stmt
      IFI           - insert FIN
      IEL           - insert ELSE
      SPF           - split 1-line FLECS control structure as 2 lines
      SPL           - split line at "%" into col 7
      RECOVER       - recover .FLE source by changing .LIS file
      FLEDEL        - delete FLECS-Editing macros, and set CMDS & ENV
                      macros to "(No Environment Selected)".
  
  
 FORENV  - FORTRAN Language Editing Environment
     
      The "FORENV" macro sets the "FIND" & "INSERT" columns to 7,
      and defines the following macros:
     
      ISU [name]    - insert SUBROUTINE stmt with "name"
      INC [file]    - insert "INCLUDE '"
      IIN [list]    - insert INTEGER stmt with "list"
      ICH [list]    - insert CHARACTER*1 stmt with "list"
      ICA [etc]     - insert CALL stmt with "etc"
      IF [etc]      - insert "IF (" with "etc"
      IS [comment]  - insert "C-----" comment to col 50
      ICF [format]  - insert FORMAT stmt continuation
      IC [text]     - insert continuation stmt (with "-" in col 6)
      IRE           - insert RETURN
      IEN           - insert END
      RN [stmt#/]   - replace stmt number field (cols 1-6) with "stmt#"
      >             - shift current line right 6 spaces
      <             - shift current line left 6 spaces
      >>[col#]      - shift current line right 3 spaces at col#
      <<[col#]      - shift current line left 3 spaces at col#
      STUB [name]   - insert entire subroutine stub with "name"
      FORDEL        - delete FORTRAN-Editing macros, and set CMDS & ENV
                      macros to "(No Environment Selected)".
  
  
 ADAENV  - Ada Language Editing Environment
     
      The "ADAENV" macro sets the "FIND" column to 1, the "INSERT" column
      to "DUP" (duplicate indentation) & defines the following macros:
     
      IPR [x.../]  - insert "PROCEDURE x..."
      IFU [x.../]  - insert "FUNCTION x..."
      IS [cmt]     - insert "------ cmt" comment to column 50
     
      IDE - insert "DECLARE"          IRE - insert "RETURN"
      IBE - insert "BEGIN"            IPA - insert "PACKAGE"
      IEX - insert "EXCEPTION"        IFO - insert FOR-structure
      IEN - insert "END"              ICA - insert CASE-structure
      IIF - insert IF-structure       ILO - insert LOOP-structure
      ARC - Add RECORD-structure      AZ  - Add ending ";" to line
      ACH - Add " CHARACTER"          AIN - Add " INTEGER"
     
      ADADEL - delete Ada-Editing macros, and set CMDS & ENV macros
               to "(No Environment Selected)".
  
  
  
  
  
  
  
 EE Text Editor                               Editor Command Macros  20
  
                                                              18 OCT 83
  
 TEXENV  - Text Editing Environment
     
      The "TEXENV" macro sets the "FIND" & "INSERT" columns to 1,
      and defines the following macros:
     
      TABLE         - insert FMT commands for an indented table
      HEAD [title]  - insert section heading named "title"
      DEPARA        - insert FMT cmds to define .para paragraph macro
      TEXDEL        - delete Text-Editing macros, and set CMDS & ENV
                      macros to "(No Environment Selected)".
  
  
 DCLENV  - VAX Digital Command Language Editing Environment
     
      The "DCLENV" macro sets the "FIND" & "INSERT" columns to 8,
      and defines the following macros:
     
      II            - insert $ command
      IONE          - insert ON-ERROR command
      IONC          - insert ON-Control_Y command
      IGO           - insert GOTO
      IF            - insert IF
      IEX           - insert EXIT
      IOU           - insert Error Message:  Out "       X - X"
      DCLDEL        - delete Command-Editing macros, and set CMDS & ENV
                      macros to "(No Environment Selected)".
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 EE Text Editor                               Editor Command Macros  21
  
                                                              18 OCT 83
  
                             TABLE OF CONTENTS
  
  
    SECTION TITLE_____________                                               PAGE____
  
    Editor Capabilities . . . . . . . . . . . . . . . . . . . .    4
  
    Starting the Editor . . . . . . . . . . . . . . . . . . . .    4
  
    Running the Editor  . . . . . . . . . . . . . . . . . . . .    5
    |  Command Line . . . . . . . . . . . . . . . . . . . . . .    5
    |  Command Parameters . . . . . . . . . . . . . . . . . . .    5
    |  MetaCharacters . . . . . . . . . . . . . . . . . . . . .    5
  
    Text Editing Commands . . . . . . . . . . . . . . . . . . .    6
    |  Add String to Line:  A . . . . . . . . . . . . . . . . .    6
    |  Move to Bottom Line:  BOT  . . . . . . . . . . . . . . .    6
    |  Change String:  C  . . . . . . . . . . . . . . . . . . .    6
    |  Copy Line(s):  COP . . . . . . . . . . . . . . . . . . .    7
    |  Delete Line(s):  D . . . . . . . . . . . . . . . . . . .    8
    |  Find String:  F  . . . . . . . . . . . . . . . . . . . .    8
    |  Get File to Edit:  GET . . . . . . . . . . . . . . . . .    8
    |  Help:  H . . . . . . . . . . . . . . . . . . . . . . . .    8
    |  Information:  INF  . . . . . . . . . . . . . . . . . . .    9
    |  Insert Line:  I  . . . . . . . . . . . . . . . . . . . .    9
    |  Join from Next Line:  J  . . . . . . . . . . . . . . . .    9
    |  Locate String:  L  . . . . . . . . . . . . . . . . . . .   10
    |  Merge File:  MER . . . . . . . . . . . . . . . . . . . .   10
    |  Move Line(s):  MOV . . . . . . . . . . . . . . . . . . .   10
    |  Move to Next Line:  N  . . . . . . . . . . . . . . . . .   10
    |  Overlay String:  O . . . . . . . . . . . . . . . . . . .   11
    |  Print Line(s):  P  . . . . . . . . . . . . . . . . . . .   11
    |  Put Edited File:  PUT  . . . . . . . . . . . . . . . . .   11
    |  Quit Edit:  Q  . . . . . . . . . . . . . . . . . . . . .   12
    |  Replace Line:  R . . . . . . . . . . . . . . . . . . . .   12
    |  Restore Line:  RES . . . . . . . . . . . . . . . . . . .   12
    |  Set Option:  SET . . . . . . . . . . . . . . . . . . . .   12
    |  Show Status:  SHOW . . . . . . . . . . . . . . . . . . .   13
    |  Move To Line#:  T  . . . . . . . . . . . . . . . . . . .   14
    |  Translate Characters:  TR  . . . . . . . . . . . . . . .   14
    |  Move Up to Line:  U  . . . . . . . . . . . . . . . . . .   14
  
    Meta-Language Editing Commands  . . . . . . . . . . . . . .   15
    |  Alter:  ALT  . . . . . . . . . . . . . . . . . . . . . .   15
    |  Ask User Permission:  ASK  . . . . . . . . . . . . . . .   15
    |  End of Ask Sequence:  ?  . . . . . . . . . . . . . . . .   16
    |  Read Command File:  READ . . . . . . . . . . . . . . . .   16
    |  Comment:  #  . . . . . . . . . . . . . . . . . . . . . .   16
    |  Define Command Macro:  DEF . . . . . . . . . . . . . . .   16
    |  Help:  H . . . . . . . . . . . . . . . . . . . . . . . .   16
    |  Rename Command:  REN . . . . . . . . . . . . . . . . . .   17
    |  Repeat Cmd Line:  *  . . . . . . . . . . . . . . . . . .   17
    |  Return from Macro or Command File:  RET  . . . . . . . .   17
    |  Set/Show Variables:  VAR . . . . . . . . . . . . . . . .   17
    |  Run Operating System Cmd:  OS  . . . . . . . . . . . . .   18
    |  Perform User Exit:  USEX . . . . . . . . . . . . . . . .   18
  
  
  
  
  
  
 EE Text Editor                                Editor Command Macros  2
  
                                                              18 OCT 83
  
                                (continued)
  
  
                             TABLE OF CONTENTS
  
  
    SECTION TITLE_____________
  
    Editor Command Macros . . . . . . . . . . . . . . . . . . .   19
    |  File Print/Display Macros  ( ] : :P :] :: PP @ ) . . . .   19
    |  Show/Information Macros  (CC FF DESC DIR NEWS WHERE) . .   19
    |  Text-Editing Macros  (AT SP BR VE REQ MOD LOC) . . . . .   19
    |  Editing Environments:  . . . . . . . . . . . . . . . . .   19
    |  |  FLEENV  - FLECS Language Editing Environment  . . . .   19
    |  |  FORENV  - FORTRAN Language Editing Environment  . . .   20
    |  |  ADAENV  - Ada Language Editing Environment  . . . . .   20
    |  |  TEXENV  - Text Editing Environment  . . . . . . . . .   21
    |  |  DCLENV  - VAX DCL Editing Environment . . . . . . . .   21
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 EE Text Editor                                Editor Command Macros  3
  
                                                              18 OCT 83
  
                              <<< end >>>
