<<< Back Home >>>

FSED 4R3A -- Full Screen Text Editor


Go to Table of Contents

FSED is a general purpose text editor executing in full-screen demand mode on the Unisys 2200. It allows the user to create or change a symbolic file or element conversationally. Insertion, deletion, and replacement of text are allowed. Both ASCII and Fieldata text can be edited.

A test is made for UTS20 and UTS40, but it is expected that the majority of FSED users will be working on a terminal emulator such as Attachmate, which emulates a UTS60 and is able to support screens larger than the standard 24 X 80.

Although FSED is derived from a long-standing utility, certain options and defaults differ from earlier versions. Check this DOC, @FSED,H, and FSED's own internal HELP, especially HELP RLS.


1. Processor Call

@FSED[,options] SPEC1[,SPEC2,line#,recvid]


1.1. Options
[Top][Contents]

A - Auto-recover. This option will attempt to recover to the file or element in either the currently assigned page file, if any; the most recent page file that did not exit normally, if any; or else the most recent page file. In any case, the entire text must have been read into the file during the session, indicated by an "*" in column 77 of the top line.

B - Bypass the initial transfer of the entire text to the paging file. Only the necessary amount of text will be read in, as needed, similar to what is done in read-only mode. This option will decrease the initial wait time at the beginning of an editing session. However, auto-recovery cannot occur until all of the text has been transferred to the page file. (The LAST command may be used to force reading the remaining text.)

C - Replace any nondisplayable characters in the input (0-033, 036, 0200-0237, 0400-0777) with a box (0177: ). This can be used to view a file that might otherwise be undisplayable. To avoid updating such a file by mistake, the R option is assumed unless U is used. UP may also be entered later.

See also the PCC command for a one-time display of control characters.

D - Delete one or more cycles of the paging file for this runid. This may be needed if the system crashes or a demand session terminates abnormally.

Format: @FSED,D n1,n2,n3,...

Or: @FSED,D ALL

H - Help: Display FSED call options and exit. For more information, use the HELP command while editing.

I - Open the editor in "insert mode", create an initial text of 10 blank lines, and then switch to update mode.

M - Use a memory file as the paging file. This will result in faster reading and writing of the file. Assumed if R option used.

By default, the memory file will be assigned as temporary with the I option, meaning that it will be @FREEd when FSED exits and no recovery will be possible.

If the R option was not used, the memory file will be catalogued if either a recovery ID was supplied or the Q option was used.

N - Bypass the list of recoverable page files, if any, and immediately open the source input given in SPEC1. If there was no SPEC1, FSED will exit.

P - If the file being edited is a symbiont file, print control images will be translated to text that may be viewed, edited, and saved.

Q - Quiet mode. Read the input into the specified paging file and exit without saving and without any screen display. Any options other than C, M, P, R, S, or X are ignored. A line number may be included. This type of call can be used to build up several paging files that will be listed on the next @FSED call, providing a menu to select from. A Q-option call may be made in batch, breakpoint, or @ADDed mode.

R - Open the editor in "read-only mode". There is no limitation on the text size of the input file or element. A temporary memory paging file will be assigned with the I option (@FREEd when FSED exits).

S - The input file in SPEC1 is in the SHARED directory.

U - Set "update mode". This is the default mode if neither the I- nor R-option is specified. If the source input named in the SPEC1 field is not available for update, a diagnostic message will be displayed. If the U-option was specified, the edit session will be terminated; otherwise, the source will be opened in read-only mode.

X - Reverse the default action regarding assigning the source file exclusively. Type "@FSED,H" to display which action the X option will take at your site, based on the configuration tag DEFASGX.


1.2. Parameters
[Top][Contents]

1.2.1. Input, Output
[Top][Contents]

SPEC1 - Filename. or Filename.Eltname of the source input in standard 2200 Series notation.

SPEC2 - Filename. or Filename.Eltname of the source output in standard 2200 Series notation. If omitted, output will be written to SPEC1.

line# - An optionally supplied line number to be used as the number of the first line of the input text to be displayed.


1.2.2. Paging/Recovery Files
[Top][Contents]

recvid - Recovery ID. This is the cycle number of the paging file to recover to, if not the default. This is provided in case the user has more than one FSED session active.

If this cycle does not exist, FSED will create it and use it for this input.

The Recovery ID is displayed on the top line when the user first invokes FSED against a file or element. It is also displayed whenever the user enters the INFO command.

FSED paging files are catalogued under the user's default qualifier and are named $PAGE$orunid, where orunid is the program's original runid. They are assigned with the D option so that they will be deleted at normal run termination. During the session they are used to contain information about the file, as well as the current status of the text.

FSED will support paging cycle numbers as high as 71. Ideally, such files should not accumulate beyond cycle 32. Since they are assigned with the D option, most will be deleted as a matter of course when the session terminates. To prevent too many from accumulating, the user might periodically enter

"@CYCLE $PAGE$orunid.,0"

If more than one page file cycle exists, FSED will list them and ask whether to recover to any of them. A page file is considered "recoverable" if the entire file or element text had been read in via the Q option or prior to a system crash. This would normally happen automatically when FSED is invoked, unless the B option was used or FSED was interrupted before the text was all read in. If a cycle is unrecoverable, that will be indicated in the list.

Each cycle listed will show the full filename/eltname saved in that file, as well as the runid and terminal id the file was last accessed from. Example:

   @FSED FILE.ELT
   Cycle|Runid/Termid |Filename     [ Page file summary (* = Last Used):
     1.<|MYRUN/TM0001 |TEST*FILE(1).ELT1/VER1
   * 2. |MYRUN/TM0001 |TEST*FILE(1).ELT2
     3.x|MYRUNA/TM0002|PROD*FILE(2).MAIN
       < = Did not exit normally.
       x = Unrecoverable: text not fully read in, or incompatible level.
   Recover?  Enter cycle #, + for new cycle, N for No, or 0 to quit.   >

Respond to the query with one of the listed cycle numbers, '+' to catalogue a new recovery cycle for SPEC1, 'N' to use the first available cycle for SPEC1, or 0 to quit. The '+' reply will not be available if there was no file/elt supplied in SPEC1. A cycle number that is unrecoverable or higher than 71 will not be accepted.

This list and query may be overridden by using the A or N option.

If the user will be working with two or more files, the Q option may be used to initially set up multiple paging files with those inputs so that a menu will be displayed every time @FSED is called. Example:

@FSED,Q File1.Elt1,,,1

@FSED,QM File1.BigElt2,,,2

@FSED,QRPC File2.,,1000,3

@FSED,Q File3.Elt3,,,4


1.3. Preferences
[Top][Contents]

FSED has several parameters that can be altered by the user to suit individual preferences. See the section on the SET command for a list of these, or type INFO while in FSED to display them. The current settings of these preferences are always updated to the temporary file FSED$PREFS. If desired, you can save this preference file by copying it to either a catalogued file, or to an omnibus element by using @COPY,IO. On subsequent sessions, you can either attach the @USE name FSED$PREFS to the catalogued file, or assign FSED$PREFS yourself and @COPY,IO your saved omnibus element into it. When you call @FSED, it will initialize with your preferences.

Beginning with level 4R3, FSED will always first search for the file SYS$*FSED$PREF$. If found and compatible, it will read in the preferences from that file and copy them to the user's set. After that, it will still also check the user's own FSED$PREFS file. Note that the former ends with "$" and the latter ends with "S". Thus, the SYS$*FSED$PREF$ file can be used to set global preferences for a site, while still allowing individual users to override them with their own. An administrator can call @FSED, set the preferences, check them with the INFO command, and then copy his own FSED$PREFS file to SYS$*FSED$PREF$.


2. Operation
[Top][Contents]

The editor displays one full page of text on the screen at a time. To update the displayed text, use the terminal cursor control and insert/delete character keys. Type changes over the existing text. When a screen of text has been completely edited, move the cursor beyond the last item edited and press XMIT. If the cursor is positioned within the last updated line, all text to the right of the cursor will be either preserved or lost, depending on whether the MIDLINE parameter is set to ON or OFF. Any text on the bottom screen line or beyond the EOF is ignored.

A request for update will not be accepted if the editor is in read-only or HELP mode, if "<Needs Refresh>" is displayed on the Command Line, or if the SOE placed in row 1, column 78 by the editor has been removed. In each of these cases, the R (Refresh) command must first be executed before an update request will be accepted.

A variety of commands provide for: the selection of the page to be displayed; addition or deletion of text lines; location of character strings in the text; move or copy lines from one section of text to another; modification of output text type and/or subtype; etc.


2.1. Screen Format
[Top][Contents]

The editor divides the screen into three areas: the top line, also referred to as the "Command Line"; the bottom line; and the text region, which lies between them.

The Command Line (row 1 on the screen) is where the user enters most commands. This line is also used to display information about the current state of the editor. Among the data shown are: the current position in the file; the character set being used; the symbolic element subtype; whether the input file is being updated or merely read; and which columns of the text are being displayed.

The bottom line on the screen is used by the editor to display diagnostic messages and other information. For example, execution of the SCA command will cause a scale line to be displayed there.

The text region consists of all the lines between the top and bottom lines. The data being edited is displayed in this area.


2.2. Long Line Feature
[Top][Contents]

When the editor is in update mode, the existence of any non-blank text to the right of the current right margin displayed on the screen will be indicated by a special character in the right-most screen position on that line. This single "Long Line" character represents all of the remainder of the line text that is not (currently) visible. A line containing a Long Line character may be edited as follows:

Edit other text on that line without disturbing the character.

Delete characters on the screen with the "Delete In Line" key. Initially, this will cause the Long Line character to be shifted to the left, with blanks appearing to the right. When XMIT is pressed, the previously non-visible text will be shifted left a corresponding amount, and displayed in its new position in the line. Any text inserted after the Long Line character will be appended to the non-visible text on that line.

Insert text in the line via the IC command. Execution of this command causes the line to be refreshed, with the requested number of blank (space) characters inserted in the appropriate position.

Delete the Long Line character. This will cause all of the non-visible text portion of the line to be deleted.

Use the LM (Left Margin) command to shift the screen window in order to do more extensive editing of long lines. The Long Lines flagging feature can be dynamically turned OFF and ON by use of the SET LLDISP command. The Long Line character itself may be changed, via the SET LLCHAR command. Note that if LLDISP is turned OFF, any updates made to long lines will only apply to the portion displayed on screen.


2.3. Function Key Usage
[Top][Contents]

Terminal Function Keys may be used to execute frequently used commands. The default command values for these keys may be displayed with the FKEYS command and changed from the FKEYS display screen or with the SET command.


2.4. Premature Command Termination
[Top][Contents]

All commands may be terminated prior to their completion by entering @@X C on the Command Line. If the command was completed prior to receipt of this request, a diagnostic will be displayed on the bottom line.


2.5. Range Indicators
[Top][Contents]

Several commands accept line and column range indicators. These commands are: CAP, CHANGE, DELETE, FIND, LOCATE, and LOW. The range indicators are appended to the command name itself. For example:

L[range-indicator] locate-string

The format of a range indicator is:

[startline:endline\startcol:endcol]

where:

startline - Line number of the first line to be processed by the command.

endline   - Line number of the last line to be processed. If omitted, endline - startline.

startcol  - Number of the first column to be processed on each line affected.

endcol    - Number of the last column to be processed. If omitted, endcol defaults to 200.

Examples:  

LOW[10\14:70] - Change all characters in columns 14 through 70 of line 10 to lower case.

LOW[12:15]    - Change all characters in lines 12, 13, 14, and 15 to lower case.


2.6. Case Insensitive Search
[Top][Contents]

In addition to the range indicators, the CHANGE, LOCATE, and FIND commands may have a ",U" appended to the range indicator list. The ",U" requests a case insensitive search (i.e., the matching is done as if all characters were in Upper case). The ",U" case insensitive request indicator can also be appended to a command name if there is no range indicator list given.

Examples:

L[20:50],U mail      -  Locate the first occurrence of any of "mail", "MAIL", "Mail", "mAil", etc... in lines 20 through 50.

c,u /john/John/ A G  -  Change all occurrences of "john", "John", "JOHN", etc... to "John".


3. Command Line
[Top][Contents]

While in edit mode (as opposed to HELP or INFO), row 1 of the screen contains the "Command Line", which has the following format:

INPUT COMMAND        xxxxxxxxxxxx|Line   #####|xxx|yyy|m|aaa-zzz*

(NOTE: The command must begin in column 1, with no SOE.)

Where:

INPUT COMMAND   is described in Section 4.

#####           is the number of the line currently displayed at the top of the text region of the screen (row 2).

xxx             is either: FLD - text is in Fieldata. Output will be the same. ASC - text is in ASCII. Output will be the same.

yyy             is the mnemonic for either the subtype of the element being edited, the type if it is a PROC element, or "SDF" if it is an SDF file. These mnemonics are defined in the SYSLIB element SSTYP$, and in the SYSLIB PRM.

m               is either: "R" when in read-only mode, or "U" when in update mode.

aaa-zzz         is the range of the column numbers currently being displayed from the text. This has an upper limit of 200 characters.

*               indicates that the entire text has been transferred to the paging file and that recovery of the text during a subsequent editor session is possible (via use of the A-option).

xxxxxxxxxxxx    This field, usually blank, may occasionally contain additional text to indicate certain conditions:

<Needs Refresh> will appear when the current display is not valid. An invalid display occurs when the line number in the Command Line does not accurately reflect the contents of the screen. It may also occur when the display contains other than a normal screen of text, such as the results of an LC or LN command. To refresh, enter the R command.

*AT EOF*        is displayed when the last page of the file is on display. No further forward movement is possible.

[Help Screen]   is displayed while the HELP command is being used to call up one or more screens of online help.

Defining Blk n  is displayed after the SB has been entered and while the user is defining a block. It will remain until the block is either completed or canceled. See Block Commands.


4. Input Commands
[Top][Contents]

The following commands may be entered starting in column 1 of the Command Line (row 1 of the screen).


4.1. Positioning
[Top][Contents]

COMMAND          DESCRIPTION

_______________    _____________________________________________________

TOP, T           Displays the first page of text. (T may mean Terminate, based on the setting of the TTERM preference.)

LAST, B          Displays the last page of text in the source file or element. Synonyms: LAS, BOT.

blank or +       Moves the screen window to the next (forward) page of the text (i.e., the next 22 lines on a 24 line display).

-  or  \         Moves the screen window to the previous page.

.                Moves the screen window forward half a page.

/                Moves the screen window backward half a page.

+[nnn]           Displays the page starting with the current line number + nnn. If nnn is omitted, then the next (forward) page will be displayed.

-[nnn]           Displays the page starting with the current line number - nnn. If nnn is omitted, then the last (previous) page will be displayed.

nnn              Displays the page starting with line number nnn.


4.2. A - D  
[Top][Contents]

APP [nn]         This command appends nn blank lines following the last line of the currently displayed page. If nn is omitted, then three less than the number of lines per page (usually 22-3=19) will be appended to the current page. The screen displayed after this command is executed will contain at least the last three lines of the current page. This command is equivalent to entering I19 on the last line of the current page, followed by entering +19 on the Command Line (assuming a 24x80 display terminal).

ASC              Changes the character set and output element type to ASCII.

C[range][,U] /x/y/ [n] [G] ",U" => Case Insensitive
This command will change a string of characters as defined by the line editor (ED). The slash character can be replaced by any valid character. The first occurrence of string x will be replaced in each line by the string y. If the G is present, then all occurrences of the string in the line will be replaced.

The n determines how many lines should be inspected and changed. If n is a number, then that many lines will be inspected and changed starting with the first text line on the screen. If n is a P, then only the current page will be inspected and changed. If n is an A, then all remaining lines in the file or element, starting with the first text line on the screen, will be inspected and changed.

A range indicator may be used with the Change command; e.g., C[ 10:20] /A/B/ A G will change all "A"s to "B"s in columns 10-20 on all lines. When a range is used, n and G apply to that range only, not the entire file.

If there is no n or range, the C command will act as a Find-and-Replace command in Word or Notepad; it will find the next occurrence of string x, change it to y, and stop.

The last correct C command will be remembered and can be reexecuted by entering C without any parameters.

Note: See sections on Range Indicators and Case Insensitive Search.

C?               Displays the last correct C command.

CAP[range]       This command changes all lower case letters not surrounded by apostrophes to upper case for the entire text or the given range.

DEL[range]       Deletes the lines and columns indicated by the range.

EXI              Writes the updated text to the output file/element, and terminates the editor.


4.3. F - I  
[Top][Contents]

F[range] xxxxx   Searches the text (in a forward direction) for character string xxxxx starting in column 1. If found, the line containing the string will be displayed on line LOCLINE of the screen. If xxxxx is omitted, the string from the last F command is used.

F[range],U xxxxx => Case Insensitive

F-[range] xxxxx  Same as above in a backward direction. Also F\.

Note: See sections on Range Indicators and Case Insensitive Search.

F[range] 'xxxxx' Same as the above command, but uses the "quote" character to delimit the string xxxxx. If the desired string contains a quote character, replace it in the command string with two quote characters, or alternately, change the quote character via the SET QUOTE command.

F[range]- xxxxx  Searches the text for character string xxxxx starting in column 1. The search proceeds toward the "top" of the file/element (backward), instead of toward the end of file (forward).

FC[range] xxxxx  Searches for the string xxxxx, starting in column 1, and displays the first screenful of the lines that contain that string. A subsequent FC command will continue where the previous FC command ended. FC- or FC\ for reverse direction.

FC[range],U xxxxx => Case Insensitive

Note: See sections on Range Indicators and Case Insensitive Search.

F?               Displays the string used in the last F command.

FIL[E]           Displays the name of the file/element being edited.

FIL[E] xxx       Changes the name of the file/element to be output by the edit session. xxx must be in standard [DIR#]QUAL*FN.EN/VER (2200 Series) format. If this command is executed during a read-only (R-option) session, the session will cease to behave as read-only.

FK[EYS]  [R]     Displays the list of editor commands currently assigned to each of the keyboard Function Keys. These commands may be changed by overtyping the assigned command with a new one -- up to 52 characters -- and then pressing XMIT. Individual Function Keys may also be redefined using the SET command. Function Keys are are retained across calls.

Command Line, column 1, and in-text commands may be used, but the cursor must be located at the appropriate position of the screen when the Function Key is pressed.

Three tab set commands are initially defined: MASM (F14), FORTRAN (F15), and COBOL (F16).

F19 is defined as an overlapping page-up, with the bottom 3 lines of one page becoming the top 3 of the next.

FK R resets Function Keys to their initial default.

FLD              Changes the character set and output element type to Fieldata.

GO               Position to the line number previously marked with the MARK command. Synonym: SWITCH. Note that this differs from the in-text GO command.

HELP [topic]     Initiates on-line help mode; either generally or for the specified topic. Also HLP, H, ?.

INFO             Displays a page containing the date and time, the user's terminal size, information about the current file, the current EXCH parameters, and any user tabs.


4.4. L - R  
[Top][Contents]

L[range] xxxxx   Searches the text (in a forward direction) for character string xxxxx. If found, the line containing this string will be displayed on line LOCLINE of the screen. If xxxxx is omitted, the string from the last L command execution is used.

L[range],U xxxxx => Case Insensitive

L-[range] xxxxx  Same as above in a backward direction. Also L\.

Note: See sections on Range Indicators and Case Insensitive Search.

L[range] 'xxxxx' Same as the above command, but uses the "quote" character to delimit the string xxxxx. The character used as "quote" may changed via the SET QUOTE command. This command is useful for strings which start and/or end with space characters.

L[range]- xxxxx  Searches text for character string xxxxx. The search proceeds toward the "top" of the file (backward), instead of toward the end of file (forward).

LC[range] xxxxx  Searches for the string xxxxx and displays the first screenful of lines that contain that string. A subsequent LC command will start at the text position where the previous LC command ended. LC- or LC\ for reverse direction.

LC[range],U xxxxx => Case Insensitive

Note: See sections on Range Indicators and Case Insensitive Search.

L?               Displays the string used in the last L command.

All FIND and LOCATE commands will proceed from the most recently found or located line if the last command that changed the line pointer was a FIND or LOCATE command. Otherwise, the scan will start from the top of the current page.

LM [cc]          Sets the text column number of the left margin of the display window. The maximum number is 121, since the largest line permitted is 200 characters in length. If cc is omitted, the range of columns displayed and updated will default to 1-ww, where ww is your terminal's screen width or 132, whichever is smaller.

LN [nn]          This is a one-time command that will redisplay the current page, or the one starting at line nn, showing line numbers. On subsequent displays the line numbers will be gone, but see the [ and ] commands following.

See also the PCC command. If either LN or PCC is followed by the other, both line numbers and control character replacement will be retained. A Refresh will cancel both.

[                Continue paging forward, retaining the line number display from the LN command or the control character display from the PCC command.

]                Same as [, but page backward.

LNSITE [n1 [n2]] [siteid] [m]
Same as the SITE command except that the lines printed will be prefixed with associated line (sequence) numbers.

LOW[range]       This command changes all upper case alphabetic characters not enclosed in apostrophes to lower case for the entire text or the given range. If the file/element type was Fieldata, it is changed to ASCII.

MARK             Bookmark the line currently at the top of the page so you can return to it later with the GO or SWITCH command.

OLD [xxx]        Changes the file/element being edited. The current one will be discarded, so SAVE first. xxx must be in standard [DIR#]QUAL*FN.EN/VER (2200 Series) format.

If xxx is omitted, the current file will be re-read from its original state, discarding any updates.

PCC [nn]         This is a one-time command that will redisplay the current page, or the one starting at line nn, replacing any control characters with 0177, which will show up as a solid box. On subsequent displays this replacement will not take place.

See also the LN command as well as the [ and ] commands. In addition, there is the initial processor call C option, which will preserve this control character replacement throughout the session.

R                Refresh the screen with the current page.


4.5. SET
[Top][Contents]

SET <parameter> <value>

SET t1 t2 t3 ... 
This command allows the user to change some of the parameters which affect the behavior of the editor.

It may also be used to set hardware tab stops for all blank lines on the display screen. To clear all tab stops, enter SET with no arguments. (Also see Current Restrictions, #6.) Tabs are only set on blank lines, and only during normal display, not in LM, LN, or LC/FC results.

<parameter> is the name of the parameter to be changed.

<value> is the new value for that parameter.

ADDEOF   This parameter controls the generation of an @EOF following the ADDstream defined by the UA command. The default value is OFF.

BANNER   Defines the banner to be used on all following SITE or LNSITE commands. If omitted, BANNER will be disabled.

COLORS   Sets UTS60 colors to use for text, command line, message, and error message. Default: GYCR. Available colors are: Green, Yellow, Cyan, Red, White, Magenta, Blue. An invalid letter will result in the default for that field.

A SET COLORS command will force a color-capable terminal to be treated as a UTS60 in the event it is not recognized as such by the EXEC. The arguments may be omitted, and the defaults will be used.

EXCH     Defines a character that will be replaced by a special non-keyboard character whenever it occurs in a CHANGE or LOCATE command.

Syntax: SET EXCH k=nnnn

where k is a nonblank, nonalphanumeric keyboard character and nnnn is the octal value of one of the characters below (may appear different in browser or on paper than on screen):

           0034|¨ 0250|³ 0263|¾ 0276|É 0311|Ô 0324|ß 0337|ê 0352|õ 0365
           0035|© 0251|´ 0264|¿ 0277|Ê 0312|Õ 0325|à 0340|ë 0353|ö 0366
           0177|ª 0252|µ 0265|À 0300|Ë 0313|Ö 0326|á 0341|ì 0354|÷ 0367
            0240|« 0253|¶ 0266|Á 0301|Ì 0314|× 0327|â 0342|í 0355|ø 0370
          ¡ 0241|¬ 0254|· 0267|Â 0302|Í 0315|Ø 0330|ã 0343|î 0356|ù 0371
          ¢ 0242|­ 0255|¸ 0270|Ã 0303|Î 0316|Ù 0331|ä 0344|ï 0357|ú 0372
          £ 0243|® 0256|¹ 0271|Ä 0304|Ï 0317|Ú 0332|å 0345|ð 0360|û 0373
          ¤ 0244|¯ 0257|º 0272|Å 0305|Ð 0320|Û 0333|æ 0346|ñ 0361|ü 0374
          ¥ 0245|° 0260|» 0273|Æ 0306|Ñ 0321|Ü 0334|ç 0347|ò 0362|ý 0375
          ¦ 0246|± 0261|¼ 0274|Ç 0307|Ò 0322|Ý 0335|è 0350|ó 0363|þ 0376
          § 0247|² 0262|½ 0275|È 0310|Ó 0323|Þ 0336|é 0351|ô 0364|ÿ 0377

HILIGHT  Selects HIgh or LOw intensity reverse video for highlighted text. For a UTS60, HI means black text against the selected color background; LO means color text against a black background. Default: HI.

LLCHAR   This parameter determines the character used by the editor to flag Long Lines. Any printable nonblank character, a right or left blink, or a cursor box may be used as a flag. To obtain a left blink enter \L as the value, \R for a right blink, or \B for a cursor box character. The default value is \R (right blink).

LLDISP   This parameter controls the Long Line display feature. When LLDISP is ON, any text line which is too long to fit on the screen will have a marker present in the last column of the display. When LLDISP is OFF, 1) Long Lines will not be marked in any way; and 2) any updates to long lines will only apply to the portion displayed on screen. LLDISP may also be set to OPT, so that Long Lines will be marked in update mode but not in read-only mode. Default: ON.

LOCLINE  Defines where the Locate/Find hilight line is positioned. The range is 2 to n-1, where n is the number of screen rows. (Exception: A located line will not be repositioned if it occurs between the top line and LOCLINE.) Default: 2.

MCCHAR   Defines a character to be used as a command separator on the command line. If a character is not specified, this feature is turned off.

MIDLINE  Determines whether text to the right of the cursor will be preserved after a midline update transmit. Default: ON, depending on the configuration tag DEFMIDLIN.

QUOTE    Defines the quotation character for the commands that use such a character (e.g., F, L, CAP, LOW). The default is an apostrophe.

REDISP   Some commands will be automatically redisplayed (after execution) on the Command Line (e.g., Locate). This parameter can be used to turn ON or OFF this feature. The default value is ON.

SITELEN  This parameter determines the line length at which the SITEWRAP parameter applies. Values of 40 thru 200 are allowed. The default is 132.

SITEWRAP The value of this parameter determines whether or not long lines will be wrapped around (ON) or truncated (OFF) when using the SITE or LNSITE commands. The default value is ON.

TCCHAR   Defines a transparent character to use with the LOCATE and CHANGE commands. When this character occurs in a LOCATE or CHANGE FROM string it will match any character in the corresponding position in the text being scanned.

TTERM    If ON (the default), denotes that a lone 'T' is to be interpreted as TERMINATE, not TOP.

F1-F22   Sets function keys F1 thru F22.


4.6. S - W  
[Top][Contents]

SAV              Causes the current contents of the workspace to be written to the destination specified on the last FIL command, if any, or to the file/element specified in the SPEC1 field of the processor call, without exiting from the edit session. The SAV command performs all of the output functions of the EXI command, without leaving the editor.

SCA              Creates a column scale on the bottom line of the display.

SITE [n1 [n2]] [siteid] [m]
Sends m copies of a printout of lines n1 thru n2 to the printer specified by siteid. If n1 and n2 are omitted, the entire text is sent. If siteid is omitted, the default printer is used. If m is omitted, one copy is sent. If n1 is specified, but n2 is omitted, the next n1 lines (starting with the first line in the text region of the screen) are sent.

LNSITE behaves the same as SITE except that lines are prefixed with line numbers.

TYP[E] xxx       Changes the element subtype to xxx as defined in the SYSLIB Reference Manual. This command also supports Procedure type elements, using the following subtype abbreviations: ASP = Assembler, CBP = COBOL, and FRP = FORTRAN.

UA               Displays 4 lines -- carried in the element as deleted text -- which can be @ADDed by the T or O commands. Initially these lines will be blank and can be edited and updated as normal images of up to 48 characters. Execution of this command will cause these lines to be displayed on rows 2 thru 5 of the screen. After updating these lines, the screen will be refreshed with the normal text.

NOTE: Because SDF files do not carry deleted line cycle information the way elements do, UA lines cannot be retained in a file and will not be there the next time FSED invokes it. They may be entered during execution and @ADDed on exit, but they will not be saved in the file.

UP               Changes the mode of the editor from read-only to update. The file must be write-enabled.

WR [n1 [n2]] x   Writes out all lines, n1 lines, or lines n1 through n2 of the current file to file or element x.


4.7. Exiting FSED (T-,O-,@ECL,^ECL,#ECL)
[Top][Contents]

TERM,TM,EXIT,T   Write the updated text to the output file/element and terminate the editor. (Note that T by itself can mean either Terminate or TOP, based on the setting of the TTERM preference.)

Txy..            Same as TERM, except that xy.. are the numbers 1, 2, 3, or 4, which may appear in any order and which represent lines in the optional @ADD stream, as defined by the UA command. These are @ADDed after the editor is terminated and are followed by an @EOF statement (c.f., SET ADDEOF). These images are written into a file named 2; so do not use this feature if there already exists a file whose name is 2.

T$               Write changes to the output file/element, terminate the editor and @ADD the updated text.

OMIT, O          Omit updating the file/element and terminate the editor.

Oxy..            Omit updating the file/element, terminate FSED, and @ADD one or more lines. See the Txy.. command for the meaning of xy..

O$               Omit updating the file/element and @ADD the original source text.

@command         Write the updated text to the output file/element, terminate FSED, and @ADD the given ECL command.

^command         Write the updated text to the output file/element, terminate FSED, and execute the given ECL command using ER QECL$.

#command         Exit FSED, @ADD the given ECL command, and return to FSED at the same position. Note that in this case the updated text is not saved first.

FSED schedules a reload of itself with ER QECL$. To ensure a successful reload, an "@SSG,M" call follows the ECL command in case it was a FURPUR command.

When reloading after executing the ECL, FSED will first pause and wait for the user to transmit, thus allowing time to view the result of the @ADDed ECL.


5. In-Text Commands (not on Top Line)
[Top][Contents]

The following commands are entered in any column of the first line the command is intended to affect, preceded by an SOE character.

D[nn]            Delete nn lines, starting with the line on which the command is entered. If nn is omitted, then delete just this line.

I[nn]            Insert nn blank lines after this line. This command does not corrupt the line that has been typed over. The original line will be redisplayed, followed by the new lines. If nn is omitted, then nn defaults to one.

IB[nn]           Same as the I command except that the blank lines are inserted before the line on which the command is entered.

CAUTION: Do not use an Insert/Delete line command, or any other in-text command for that matter, right after altering text on the screen. When you Transmit, the lines will be inserted/deleted, but the changed text may be lost. Instead, if you have changed text, Transmit first to update it, then use the Insert/Delete command by itself.

LS{-|integer}    Inserts a special character sequence in the text that will be recognized by the SITE and LNSITE commands. This character sequence controls the printer line spacing for the line that follows. An LS command with a minus sign will produce a form feed. If an integer between 0 and 777 is given, then that many lines will be skipped on the printer. This character sequence will also be recognized if the P-option is used to edit a file having print control sequences in its text (i.e., a symbiont PRINT$ file).

HD paramtext.    Inserts a special character sequence in the text that will cause SITE and LNSITE commands to insert APRTCA$ control images into the print files they generate. The parameter text must contain the precise sequence of data to be passed to the EXEC via ER APRTCA$ (Executive Requests PRM). The parameter should be terminated by a period. Example:

HD H,,,heading text.
will cause "heading text" to be displayed on the top of each page of the listing produced by the SITE command.

The following commands can be entered anywhere in the text region of the screen. The command must be preceded by an SOE. The text character following the SOE will be the first character affected by the command.

>SP[L]          The line on which the cursor is positioned will be split, with the first character following the SOE becoming the first character on the (new) next line.

>J[OIN]         The line on which the cursor is positioned will be joined (concatenated) with the next line on the screen. All characters following the SOE on the first line will be discarded. JOIN is the opposite of SPL.

>G[O]           Position the screen window such that the line on which the GO appears is placed at the top of the page.

>R[nn]          Starting with the line on which this command appears, refresh nn number of lines. If nn is omitted, a value of 1 is assumed. This command is useful if, while editing a screen of text, some number of consecutive lines have been accidentally destroyed. Place this command on the first bad line, and only the erroneous line(s) will be refreshed, without affecting any changes made to other lines on the screen.

>IC[nn]         Insert nn number of blank characters after the SOE. This is useful to move a "Long Line" character past the right margin. The default value for nn is 1.


6. Block Commands
[Top][Contents]

The editor can build and manipulate up to 99 blocks. Blocks can be defined either by the ADD command or by the start and end block commands as defined below. The contents of these blocks can be displayed by executing the DIS command, which is also defined below.


6.1. COMMANDS ENTERED ON THE COMMAND LINE
[Top][Contents]

ADD x [n1 [n2]]  Create a block with the text from file or element x, starting with line n1 and ending with line n2. If n1 and n2 are omitted, then the entire file (or element) defines the block.

CB               Cancel the block definition that is currently in progress.

DIS [bb][,nn]    Display block number bb starting with line number nn within the block. If nn is omitted, then start with line one. If bb is omitted, then display the last block defined.

REM              Delete the most recently defined block.

SHOW [bb]        Show defined block statistics, starting with block bb. If bb is omitted, start with block 1.

WB[n] file.[elt] Write block n to a file or element. If n is omitted, the latest block is assumed.


6.2. COMMANDS ENTERED ON THE LINE INTENDED
[Top][Contents]

The next set of commands are entered in any column of the line the command is intended to affect, preceded by an SOE.

>SB             Defines the start of a block. Using blocks in read-only mode requires that the entire input text have been read in, so entering this command in read-only mode may trigger a read of all remaining text.

>EB             Defines the end of a block.

>EBD            Defines the end of a block and also deletes this block from the text.

>EBP            Defines the end of a block and also inserts a copy of the block AFTER this line. This can be used to ditto a set of lines.

>EBB            Defines the end of a block and also inserts a copy of the block BEFORE the top (first) line of the current block.

>DB             Deletes the text between the indicated start of the block (SB) and this line. The block indicator will not be incremented.

>PB[bb]         Put a copy of block bb AFTER this line. If bb is omitted, then the last block defined will be used.

>PBB[bb]        Put a copy of block bb BEFORE this line. If bb is omitted, then the last block defined will be used.

The following single-entry block definition commands are useful when the size of the block is relatively small (e.g., 1-10 lines), because the user must count, or know, the exact number of lines the block is to define. In each of these commands, the default value for an omitted parameter [nn] is 1.

>B[nn]          Defines a block nn lines in length, starting with the line on which the command was executed. This is equivalent to a SB ... EB command sequence.

>BD[nn]         Defines a block nn lines in length, starting with the line on which the command was executed. The lines defined by this block are then deleted from the text. This is equivalent to a SB ... EBD command sequence.

>BP[nn]         Defines a block nn lines in length, starting with the line on which the command was executed. The lines defined by this block are then dittoed AFTER the last line of the block. This is equivalent to a SB ... EBP command sequence.

>BB[nn]         Defines a block nn lines in length, starting with the line on which the command was executed. The lines defined by this block are then dittoed BEFORE the first line of the block. This is equivalent to a SB ... EBB command sequence.


7. Current Restrictions And Limitations
[Top][Contents]

1. The editor does not accept element cycle specification; it will always use the latest cycle. All element cycle information is dropped and the output is always set to cycle 0 for program file elements. Note, however, that the deleted element is still around for backup until the program file is packed.

2. A file or element may be updated as long as it contains no more than about 217,000 lines (see INFO in update mode for exact amount). However, read-only mode (R option) can scan any size text.

When entering update mode, FSED will first read in the entire text of the input. If the input is larger than 20,000 lines, you will not be able to enter a command while the text is being read; the bottom line will show an updating count of lines as they are read in. To override this, use the B option; FSED will only read in text as needed. However, auto-recovery will not be possible if the system crashes before all text is read in. (The LAST command may be used to force reading the remaining text.)

When updating, there may be an upper limit to how many characters may sent in a single transmit, especially if the display size has been set larger than the standard 24 X 80. The exact amount may be based on terminal size, emulator, and 2200 system software such as EXEC, CPCOMM, and SILAS. When FSED detects that the whole screen was not transmitted successfully, it will display a warning that includes the maximum character count before overflow occurred, typically around 6,000.

3. If the editor errors or is E'ed off, the user must enter @@END to get out of full screen mode.

4. The output from this editor will always be in SDF format. All print files will lose their print controls and printer header block. All CTS and IPF line numbers will be discarded. Fieldata and ASCII inputs will retain their mode unless changed by the ASC or FLD command, or a Fieldata input contains an 042 SDF control imgage that switches to ASCII. (See the P-option and the LS and UP commands for additional considerations.)

5. FSED uses the bottom line of the screen for the output of the SCA command and for informational and diagnostic messages. The user should not attempt to use this line for updating or entering text.

6. Tab settings are currently limited by the output screen handler. Tabs may not be set in column 1 or beyond column 129 or w-n-3, where w is the terminal's column width and n is the number of tabs per line. The tabs are placed on the screen with an "ESC HT" sequence. Since the screen handler counts characters, it counts the sequence as two characters instead of one against the number of valid characters per line. This deficiency results in distorted text if the last tab stop is too close to the end of the line. The examples in the following table assume an 80-column screen.

                     T A B   S T O P S
                 Number     Maximum Column
                 ______     ______________
                   1              76
                   2              75
                   3              74
                   4              73
                   5              72

7. The editor performs no syntax analysis of the HD command text area. If the print control image is invalid, the editor will error terminate when either a SITE or LNSITE command is executed.

8. The UA command only processes the first 48 columns of input for each of the possible images. Any characters beyond will be ignored.

9. An @FSED call (other than Q option) may occur as the last image in an @ADD stream as long as it does not receive an end-of-file (@ADD,E), since FSED must be able to read screen size data. An @FSED,Q call may occur anywhere.


Table of Contents

(Go to Top)

1. Processor Call
1.1. Options
1.2. Parameters
1.2.1. Input, Output
1.2.2. Paging/Recovery Files
1.3. Preferences
2. Operation
2.1. Screen Format
2.2. Long Line Feature
2.3. Function Key Usage
2.4. Premature Command Termination
2.5. Range Indicators
2.6. Case Insensitive Search
3. Command Line
4. Input Commands
4.1. Positioning
4.2. A - D  
4.3. F - I  
4.4. L - R  
4.5. SET
4.6. S - W  
4.7. Exiting FSED (T-,O-,@ECL,^ECL,#ECL)
5. In-Text Commands (not on Top Line)
6. Block Commands
6.1. COMMANDS ENTERED ON THE COMMAND LINE
6.2. COMMANDS ENTERED ON THE LINE INTENDED
7. Current Restrictions And Limitations