Tritus SPF is a PC Version of IBM Mainframe ISPF Text Editor.
Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).
Following ones are the download links for manual installation:
Tritus SPF v. 1.2.8 (demo, 23/12/2017) | Readme/What's new |
*******************************************************************
FILE: README.DOC
PRODUCT: Tritus SPF DEMO
VERSION: 1.2.8 10-31-94
BY: Tritus, Inc.
CONTENTS: Demo information or additions, revisions, and information
not in the Tritus SPF User's Guide or Tritus SPF Edit and
Edit Macro Reference.
*******************************************************************
╔══════════════════════╗
║ DEMO INFORMATION ║
╚══════════════════════╝
* The Right Ctrl key is set to ENTER for an Enhanced keyboard as well
as Numpad Enter, Ctrl_Return or Ctrl_Z.
* The Quick Reference Guide documents 5 executables. TSPF.EXE is no
longer available and TSPF2.EXE is not included in the Demo version of
the product. Icons are included as follows:
TSPF.ICO - Tritus SPF icon for Windows.
TSPF32.ICO - Tritus SPF icon for OS/2 32-bit.
* OS/2 clipboard programs
TOCSRV12.EXE - Tritus SPF clipboard server. This program will be
automatically started by Tritus SPF.
TOCUTL12.EXE - Tritus SPF clipboard utility. Help for this program
can be obtained by using a command line option of
'?', for example, TOCUTL12 ?.
The clipboard server can be shutdown manually by
issuing the command 'TOCUTL12 /P'.
* Utility programs and related files for Tritus SPF
TPANEL12.PDS - A partitioned data set which contains Tritus SPF
initialization files, panels, messages, and panel
REXX programs.
THELP12.PDS - A partitioned data set which contains Tritus SPF help
panels and panel REXX programs.
TFONTS12.PDS - A partitioned data set which contains Tritus SPF
RAM fonts (production only).
TPDS.EXE - A family-mode API program to fetch members from and
store members to a PDS (with optional compression).
Help for this program can be obtained by using a
command line option of '?', for example, TPDS ?.
* Since TFONTS12.PDS is not included with the DEMO, the request to
change DOS or OS/2 fullscreen rows or use ROM fonts is ignored. The
OS/2 window rows is not affected. You may still switch into 50 line
mode in the Demo by issuing an operating system command in any
Command or Option field as follows:
tso mode 80 50
To switch back to 25 rows, enter the following:
tso mode 80 25
In the production version, Tritus SPF will do the mode and font
switching since TFONTS12.PDS is available.
* If you use the Protected Mode version of Tritus SPF (TSPFP), and
are noticing sluggish response, the likely answer is that the PharLap
extender is not being given any memory. TSPFP requires at least
1MB of free XMS. If you have a 2MB machine and use up some of the
free XMS by increasing the size, for example, of the SMARTDRV disk
cache, then you may have less than 1MB of free XMS available.
Another possible culprit is the NOEMS flag in the DOS 5.0 EMM386.EXE
device driver. If you see the line:
DEVICE=C:\DOS\EMM386.EXE NOEMS
in your CONFIG.SYS, remove it or change 'NOEMS' to either:
'FRAME=NONE' or 'RAM'
The NOEMS switch gives TSPFP no memory, so it will act sluggishly,
if at all. The FRAME=NONE is an undocumented feature of EMM386, but
it should cause you no problems.
╔══════════════════════════╗
║ GENERAL INFORMATION ║
╚══════════════════════════╝
* See TSPFDM.DOC for an overview of the parts of the Dialog Manager
that are currently implemented.
* Sample REXX programs
GETFQNM.REX - Sample Tritus SPF REXX program that converts a
filename into a fully qualified filename.
TPRNT.RPD - Sample Tritus SPF logical printer REXX program.
This program is called to execute the PRINT command
when the active logical printer has a REXX program
name of TPRNT.
TPRINT.RPD - Sample Tritus SPF logical printer REXX program that
supports most 0.2 panel fields.
* Sample REXX Edit Macros
COUNTSTR.SPF - Sample Tritus SPF REXX Edit Macro that counts the
number of occurrences of a search string.
I.SPF - Sample Tritus SPF REXX Edit Macro that inserts one
line into a file. This program shows how to use
'ISREDIT PROCESS DEST' with the line command A or B
to specify the insert point.
MFBRK.SPF - Sample Tritus SPF REXX Edit Macro that inserts
breakpoint lines into a file from a Micro Focus
debug file. This command is equivalent to the
BREAKFILE edit primary command.
MFERR.SPF - Sample Tritus SPF REXX Edit Macro that inserts
diagnostic lines into a file from a Micro Focus
error file. This command is equivalent to the
ERRORFILE edit primary command.
REV.SPF - Sample Tritus SPF REXX Edit Macro that displays data
lines with the highest revision levels(s). The REV
command requires NUMBER ON STD and STATS ON.
REVERSE.SPF - Sample Tritus SPF REXX Edit Macro that reverses a
range of lines. This program shows how to use
'ISREDIT PROCESS RANGE C' with the line command
Cn or CC/CC to define the set of lines.
RFINDC.SPF - Sample Tritus SPF REXX Edit Macro that executes a
repeat find (RFIND) and centers the cursor on the
video display.
TOEND.SPF - Sample Tritus SPF REXX Edit Macro that places the
cursor at the end of current line. If the cursor
is already at the end of the line, then the cursor
is moved to the end of the following line.
* Edit profile alias file
TEPRAL12.VP - A file that may be used to reduce the number of edit
profiles created during the editing process.
* Logical printer definitions
*.LPD - The TLPRT12.BIN file is no longer used to store
logical printer definitions. Each LPD is stored as
a sequential TSPF control file named "_LpdName.LPD".
This is similar to the way that edit profiles are
stored on disk. The file list now shows the TSPF
path number for each LPD. An LPD in path #2 cannot
be deleted.
* Tritus SPF uses the ISPF/PDF defaults for keys PF1-12. If you
want to stay with the SPF/PC style mappings for PF1-12, then
edit TDPFKS12.TXT and change the order of the file to reflect
the following:
HELP
SPLIT
END
SWAP
RFIND
RCHANGE
UP
DOWN
LEFT
RIGHT
RETURN
CRETRIEV
The changes will be in effect the next time you start Tritus SPF.
* New key mappings
CTRL_INS = PRIMITIVE INS_PHYSICAL
CTRL_A = PRIMITIVE BEGIN_FIELD
CTRL_B = PRIMITIVE LEFT_WORD
CTRL_C = CUT
CTRL_E = PRIMITIVE END_FIELD
CTRL_F = PRIMITIVE RIGHT_WORD
CTRL_J = LTJUMP
CTRL_N = PRIMITIVE NEWLINE
CTRL_P = PASTE
CTRL_R = REDO
CTRL_T = PRIMITIVE TEST
CTRL_U = UNDO
CTRL_Z = PRIMITIVE ENTER
* Change to the meaning of Numpad Keys (panel 0.3)
Numpad keys (0.3.4) has been changed to mean the 11 keys that are
the real Numpad keys, 0-9 and period. These keys default to the
same mappings as before but are separated out to allow a different
meaning if the Num Lock key is off.
For example, Numpad PgDn could have a different mapping than the
Grey key PgDn. Both are set to DOWN by default.
The original Numpad key mappings are now renamed Grey Keys (0.3.7).
These are the grey keys that surround the Numpad keys.
╔═══════════════════╗
║ NEW FEATURES ║
╚═══════════════════╝
* Logical printer definition enhancements
- 'Device or filename' field now supports environment variable
substitution.
- 'Active device:' field on panel 0.2 is the active device or
filename field after environment variable substitution.
- 'Fgnd user appl name' field is the Foreground User Application
Name. Default is 'NONE'. When value is not 'NONE', the
indicated foreground user application is fired after the print
operation completes. Normally this feature would be used to
print to a temporary filename and then launch a print utility
to format and submit the formatted output to a system printer.
The temporary filename is not deleted by Tritus SPF.
- Logical printer definition includes APPEND option. Default
is N. For a file, Y or N can be used. For a device, N is
strongly recommended.
- Setup string and reset string fields now allow escape sequence
of '\x##' for hex 00 to 1F and hex 7F to FF. For example, ESC
is '\x1B'. Existing characters will be automatically
translated into this format if the characters fall in the above
range. Use '\\' for a literal backslash.
* LPRINTER general command enhancement
LPRINTER [printername] [APPEND | NOAPPEND]
LPRINT
LPRT
If one of the APPEND keywords is supplied, the state of the APPEND
flag is set. This change of state is not saved across sessions.
APPEND and NOAPPEND may be abbreviated as AP and NOAP, respectively.
The following illustrates how to print multiple screens with all of
the printing being appended to a single file:
- Set the APPEND option in the logical printer definition to 'N'.
- Set the 'Device or filename' field to a temporary filename.
- Issue the following commands:
PRINT (screen 1)
LPRT AP
PRINT (screen 2)
PRINT (screen 3)
...
- If Tritus SPF is terminated and restarted, the APPEND option
will still be set to 'N'.
* /C command line option
/C Initial Commands
Anything that can be entered in the COMMAND ===> or OPTION ===>
fields is valid. The /C operand can be enclosed within quotes. Use
the command delimiter (default is semicolon) for multiple commands.
Note that any command which causes the TSPF task to return to the
task manager causes all remaining commands to be ignored. These
commands include task switching (SPLIT, SWAP, LTJUMP) or control
program command execution.
Examples:
tspf32 /c panelid;keys
tspf32 /c "edit foo.dat;x all;f '/' all"
tspf32 /c lol cats;sall;=x /i imac
* LOL general command
LOL [listname]
listname Name of list, 1 to 7 characters
If listname is omitted, List of Lists entry panel is entered.
If listname is provided, List File List is entered.
* HELP general command enhancement
HELP [cmdname [cmdgroup]]
cmdname Name of a primary command or a line command
cmdgroup Name of a command group
If a HELP command operand is invalid, then it is ignored.
Examples:
HELP print displays help for general command print
HELP abc displays main help panel since invalid general cmd.
NOTE: Due to the nature of the HELP command, in particular the
fact that it is used to display short and long help messages while
preserving the command/option field, the HELP command and its
operand cannot be split between a key definition and the
COMMAND/OPTION field.
For example, entering the command 'SORT' and pressing F1 will not
work. Use 'HELP SORT'.
See the Advanced Topics section for more details on command groups.
* MAKELIST file list primary command
MAKELIST listname [description]
ML
listname Name of list, 1 to 7 characters, alphanumeric
and underscore, first character not numeric
description Must be enclosed within quotes
Example:
MAKELIST cats 'List of files that have the string "cat"'
The list "cats" is stored as _CATS.LOL and can be edited like
any other file.
Example:
MAKELIST dogs
A panel is presented so the description field may be entered
for the list "dogs".
To change the description for "cats" after creating the list,
enter the general command LOL and then select the list "cats".
The list for "cats" will be displayed with the description field
on the top line.
Remake the list by entering 'MAKELIST cats'. A panel is presented
with the description field filled out with the existing description.
Make the desired changes and press Enter. Press F3 to return to the
List of Lists panel. You will see the new description for the list
"cats".
See the Advanced Topics section for more information about how
to modify the *.LOL files.
* INCLUDE file list primary command
INCLUDE {basefilename}...
INC
I
This command is only valid for file lists that consist of
filenames.
For each file list entry, the base filename is compared to all
"basefilename" operanads. If any of the operands match, then
the file list entry is selected.
A new file list, consisting of the set of selected file list
entries, is constructed and pushed as a new file list.
Example:
INCLUDE *.cat *.dog
* EXCLUDE file list primary command
EXCLUDE {basefilename}...
EXC
EX
X
This command is only valid for file lists that consist of
filenames.
For each file list entry, the base filename is compared to all
"basefilename" operanads. If none of the operands match, then
the file list entry is selected.
A new file list, consisting of the set of selected file list
entries, is constructed and pushed as a new file list.
Example:
EXCLUDE *.cat *.dog
* RESET file list primary command
RESET
RES
All file list entries marked '** DELETED **' and '** RENAMED **'
and '** MOVED **' are removed.
For all other '**' messages, such as '** COPIED **' or
'** PRINTED **', the messages are removed, which causes the
file length and date information to be redisplayed.
All pending file list line commands are purged.
* RECALL general command
RECALL
RC
RECALL is the same as Utility Panel 3.R - display most recently
edited files. The maximum number of RECALL entries is controlled
by 'RECALL entries' on panel 0.4B. The range is 0 to 1000, default
is 20.
A filename on a removable volume is not added to the recall list.
Typical removable volumes are floppy drives and CD-Rom drives.
The initial sort order of the Recall File List entries is unsorted,
i.e. most recently edited files are first. The 'File List sort
sequence' on panel 0.4B is ignored. The SORT command may be used to
reorder the list.
* New 3.4 file list line commands
- C (copy)
- M (move)
- G (execute)
- X (eXclude) is valid also in Browse, Edit, and View.
- O (expOrt) was renamed from X.
* File list line commands and Ctrl-break
Ctrl-break is monitored during execution of line commands. When
Ctrl-break is detected, all pending line commands are purged and an
error message is displayed.
* The 'File List block cmds' field on panel 0.4B allows block commands
on all file lists. Default is 'Y'.
* The 'Extended line cmds' field on panel 0.4B allows 3.4 line commands
on most file lists. Default is 'N'.
* The 'Max file list entries' field on panel 0.4B allows a range of 100
to 999,999 file list entries. Default is 50,000.
* The 'Time in OIA' field on panel 0.8 allows the display of the time
field instead of the five character task item '.1..1' in the Operator
Information Area on the bottom line of the panel.
* LOCATE file list primary command enhancement
If a file list consists of subdirectories and files and, for example,
is sorted in 'name' sequence, then LOCATE finds a specific file in
the file list and ignores the sorted subdirectories at the top of the
list. LOCATE searches subdirectories only if the entire file list
consists of subdirectories.
You can exclude all files from a file list by using the X line
command or its block equivalent XX. The remaining file list will
consist only of subdirectories and LOCATE will operate on the sorted
list of subdirectory names.
* Edit profile highlight enhancement
If the highlight column is non-zero and highlight string is '^'
(the circumflex character), then the highlight is selected if the
byte at the corresponding column in the edit record is non-blank.
If the circumflex key has been remapped to another key, use Alt 94
where the 94 is from the Numpad numerics to enter the circumflex
character.
Note that of the four highlight strings, the highlight string that
matches the leftmost column is the one that is used. When multiple
highlight strings match at the same column, the lower numbered
highlight string has precedence.
* The 'Startup cursor size' field on panel 0.1 allows the normal cursor
size to be set at startup. Default is 'N'.
Normally the startup cursor size is not changed upon startup. The
first use of the INSERT key causes the 'Insert cursor size' field
specification to be used. When the INSERT key is toggled off, then
the 'Normal cursor size' field specification is used. If the cursor
is still visible, then it is safe to set the 'Startup cursor size'
field to 'Y' so that Tritus SPF will set the cursor size upon
startup.
The defaults for Tritus SPF is not to override the starting cursor
size since there is a risk that the cursor would not be visible
upon startup.
* REXX Program Search Paths
Panel 0.4C was extended to allow for a new field, 'REXX program
search paths', in which to specify a set of directory names
(including environment variables) that is searched before the TSPF
Path #1 and #2 directories. This search path applies to all *.SPF
and *.REX programs except for TSPFINIT.REX and TSPFTERM.REX.
Directory names are separated by blanks or semicolons. Any directory
name in the list can be enclosed within quotes.
* LINES Edit Macro Query Statement
ISREDIT (stemname.) = LINES lptr-range
LINES allows the macro writer to obtain a group of edit records
with one call rather than repetitive LINE statements.
Example:
'ISREDIT (MyName.) = LINES .ZFIRST 2'
SAY MyName.1
/* this is the first line, perhaps */
SAY MyName.2
/* this is the second line, perhaps */
* Keyboard test facility
The new keyboard test facility, PRIMITIVE TEST, has been assigned
to Ctrl_T. It allows one to press keys and see the results.
Each line of output consists of three elements:
- The hardware scan code generated by the key press.
- The name of the key.
- The command assigned to the key.
* Regular expressions (TSPF32.EXE only)
Regular expressions can be traced back to the Unix operating
system as the means of performing pattern match operations on
files and records within a file. This method of pattern matching
is powerful and has gained wide acceptance, even beyond Unix.
Regular expressions are implemented as R strings and can be used
in FIND, CHANGE, and EXCLUDE primary commands, including within
edit macros. They are also valid as a search string on panel 3.S.
The following FIND example finds the next blank line in a file:
FIND R'^$'
For more information, see REGX_TUT.DOC for a tutorial on regular
expressions. REGX_QR.DOC is a quick reference for regular
expressions.
* The SORT edit primary command now supports a pop-up box similar to
the file load pop-up box. See 'Pop-up display' and 'Pop-up pause'
fields on panel 0.6. The first SORT pop-up display is shown when
1000 records have been processed during pass 1. Future pop-up
displays occur every 100 records. Memory manager page out and page
in counts are shown to determine when thrashing is occurring.
* An operand of X or NX is allowed for CUT, CREATE, REPLACE, or PRINT
edit primary and edit macro commands.
* General commands BROWSE, EDIT, FLIST, or VIEW improvement
While in Browse, Edit , or View for a file (not a file list),
then any file operands for the above mentioned general commands
that do not contain slashes are considered to be in the same
directory as the current file.
* Startup - shutdown exits
The 'Startup/Shutdown pgms' field on panel 0.4D supports the running
of TSPFINIT.REX and TSPFTERM.REX programs.
TSPFINIT.REX - This REXX program is fired during Tritus SPF startup
before the screen is formatted and before the first task is started.
TSPFTERM.REX - This REXX program is fired during Tritus SPF shutdown
after the last task has ended and after the screen has been cleared.
See the Advanced Topics section for more details.
* Case-insensitive SORT
The sort field operand (A or D) can now be eight different
possibilities:
A D C T AC AT DC DT
A still means ascending and D still means descending. C and T have
been added. C indicates case-sensitive (default) and T indicates
case-insensitive.
The following sample file will be used in several examples.
Sample file abc 1
ABC 2
abc 3
ddd 4
DDD 5
ABC 6
Example 1: SORT 1 3 T abc 1
ABC 2
abc 3
ABC 6
ddd 4
DDD 5
Example 2: SORT 1 3 C ABC 2
SORT 1 3 T ABC 6
abc 1
abc 3
DDD 5
ddd 4
This sorts the uppercase ABC before the lowercase abc.
Example 3: SORT 1 3 DC abc 1
SORT 1 3 T abc 3
ABC 2
ABC 6
ddd 4
DDD 5
This sorts the lowercase abc before the uppercase ABC.
* SEARCH file list primary command
SEARCH search-strings
SRCH
SEA
Up to 15 search strings are allowed. The case sensitivity switch
on panel 3.T is used if necessary. Ctrl-Break will abort file list
construction.
Any file list that consists of files may be searched.
Example:
sea c'dog'
sea cat
Starting with a file list, you will end up with a sublist of
files that contain both c'dog' and t'cat' assuming T is still
the default on panel 3.T.
The file list output is stacked, so use F3 to return to the
original list.
* SEARCHC file list primary command
SEARCHC search-strings
SC
SEARCHC is the same as SEARCH except when the new file list is
displayed, it will contain an additional column which shows the
number of times that each string was found.
* Search file lists
- A new file list sort type has been defined for search file
lists. "FULL" (alias F) is the same as NAME except for search
file lists. FULL is the fully-qualified name shown in the
search file list. NAME is the member name for a PDS member;
otherwise it is the base filename, e.g. "FOO.DAT" of
"C:\FOO.DAT".
- If the search file list is unsorted, then the LOCATE file
list primary command assumes the name to locate is the
fully-qualified name shown in the search file list. Sort
the search file list in NAME sequence if you want to locate
a base filename or PDS member name.
* File search
- Panel 3.F has been added to allow you to search for directory
files and/or regular files across multiple drives and
directories.
* OS FILENAMES is the list of fully-qualified filenames and
paths to search. To specifiy multiple paths, separate
with a space. Up to 15 filenames may be specified.
If left blank, the current directory is used.
* BASE FILENAMES TO BE EXCLUDED identifies base filenames
to exclude from the search. Up to 15 base filenames
are allowed.
* SUBDIRECTORIES specifies whether or not to search
subdirectories below each initial search directory
defined in the OS FILENAMES field.
* DIRECTORY FILES specifies whether to include directory
files in the search.
* REGULAR FILES specifies whether to include regular files
in the search.
* PDS MEMBERS specifies whether to include PDS members
in the search. The default is to treat a PDS as a
single file.
- A general command FSEARCH (alias FS) will display the File
Search Entry Panel (option 3.F).
- Row 3 will show the number of files selected so far.
- Ctrl-Break will stop file list construction.
- The following examples show various ways to use BASE FILENAMES
TO BE EXCLUDED to fine tune the file search. Assume that the
current directory is '\tspf12' which contains the three PDS's
that are installed with the product.
* OS FILENAMES: '*.*' or 'blank'
BASE FILENAMES TO BE EXCLUDED: *.pds
Display all files in the current directory except the
three PDS's.
* OS FILENAMES: *.pds
BASE FILENAMES TO BE EXCLUDED: tfonts12.pds
Display all PDS's in the current directory excluding
TFONTS12.PDS.
* OS FILENAMES: thelp12.pds
BASE FILENAMES TO BE EXCLUDED: *.prx
Display all members in THELP12.PDS excluding *.prx
members.
In the first two examples, whether a PDS which remains after
EXCLUSION is treated as a single file or treated as a
collection of members depends upon the setting of the PDS
MEMBERS field.
In the last example, a PDS is explicitly entered in the OS
FILENAMES field. In this case, the PDS is considered to be a
collection of members before EXCLUSION. The setting of the PDS
MEMBERS field is ignored. The BASE FILENAMES TO BE EXCLUDED
field must be coded as member exclusion.
- PDS syntax is not allowed in the BASE FILENAMES TO BE EXCLUDED
field. For example:
*.pan valid name
*.pds valid name
foo.pds valid name
foo(*.pan) invalid name
foo.pds(*.pan) invalid name
- PDS syntax is valid in the OS FILENAMES field. For example:
*.pan valid name
*.pds valid name
foo.pds valid name
foo(*.*) valid name, same as previous name
foo.pds(*.*) valid name, same as previous name
* Text search
- Panel 3.T has been added to allow you to search for filenames
or a search string inside files across multiple drives and
directories.
* OS FILENAMES is the list of fully-qualified filenames and
paths to search. To specifiy multiple paths, separate
with a space. Up to 15 filenames may be specified.
If left blank, the current directory is used.
* BASE FILENAMES TO BE EXCLUDED identifies base filenames
to exclude from the search. Up to 15 base filenames
are allowed.
* SEARCH STRINGS identifies the search string(s) to look
for inside the files. Any search string allowed on a
FIND command is supported. Up to 15 strings are allowed.
If there is no search string, no file is opened. All
files are selected.
Note that the file search is performed as though the file
was a single record. Using X'0D' could match a file but
then not match when the file is read by EDIT if all X'0D'
bytes are record delimiters.
Also, patterns are handled differently by the file list
and EDIT. In a file list, case sensitivity is controlled
by the panel field. In EDIT, both the case sensitivity
(from the edit profile) and the CAPS option (from the
edit profile) affect a pattern search.
* SUBDIRECTORIES specifies whether or not to search
subdirectories below each initial search directory
defined in the OS FILENAMES field.
* SEARCH COUNTS specifies whether a total count of all
string matches for each file is to be displayed.
* PDS MEMBERS specifies whether to include PDS members
in the search. The default is to treat a PDS as a
single file.
* CASE SENSITIVE specifies whether the search is case
sensitive (C) or case insensitive (T).
- A general command TSEARCH (alias TS) will display the Text
Search Entry Panel (option 3.T).
- Row 3 will show the number of files selected so far.
- Ctrl-Break will stop file list construction.
- Text search with no search string is the same as file search
with directory files deselected and regular files selected.
- The following examples show various ways to use BASE FILENAMES
TO BE EXCLUDED to fine tune the file search. Assume that the
current directory is '\tspf12' which contains the three PDS's
that are installed with the product.
* OS FILENAMES: '*.*' or 'blank'
BASE FILENAMES TO BE EXCLUDED: *.pds
SEARCH STRINGS: cats
Search all files in the current directory except the
three PDS's for the string 'cats'.
* OS FILENAMES: *.pds
BASE FILENAMES TO BE EXCLUDED: tfonts12.pds
SEARCH STRINGS: cats
Search all PDS's in the current directory excluding
TFONTS12.PDS for the string 'cats'.
* OS FILENAMES: thelp12.pds
BASE FILENAMES TO BE EXCLUDED: *.prx
SEARCH STRINGS: cats
Search all members in THELP12.PDS excluding *.prx members
for the string 'cats'.
In the first two examples, whether a PDS which remains after
EXCLUSION is treated as a single file or treated as a
collection of members depends upon the setting of the PDS
MEMBERS field.
In the last example, a PDS is explicitly entered in the OS
FILENAMES field. In this case, the PDS is considered to be a
collection of members before EXCLUSION. The setting of the PDS
MEMBERS field is ignored. The BASE FILENAMES TO BE EXCLUDED
field must be coded as member exclusion.
- PDS syntax is not allowed in the BASE FILENAMES TO BE EXCLUDED
field. For example:
*.pan valid name
*.pds valid name
foo.pds valid name
foo(*.pan) invalid name
foo.pds(*.pan) invalid name
- PDS syntax is valid in the OS FILENAMES field. For example:
*.pan valid name
*.pds valid name
foo.pds valid name
foo(*.*) valid name, same as previous name
foo.pds(*.*) valid name, same as previous name
* Copy/Move
- Panel 3.3 has been added to allow you to copy or move files
from a Source directory (optionally including files in all
subdirectories) to a Target directory.
* OS FILENAMES is the list of fully-qualified filenames and
paths to copy/move. To specifiy multiple paths, separate
with a space. Up to 15 filenames may be specified.
If left blank, the current directory is used.
* BASE FILENAMES TO BE EXCLUDED identifies base filenames
to exclude from the copy/move. Up to 15 base filenames
are allowed.
* FILE LIST specifies whether or not to display a file list
to select files.
* SUBDIRECTORIES specifies whether or not to include files
in subdirectories below each initial copy/move directory
defined in the OS FILENAMES field.
* OS DIRECTORY PATH is the target directory that is being
copied/moved to.
If left blank, the current directory is used.
* REPLACE OPTION specifies whether or not to overlay target
files.
* TARGET SUBDIRECTORIES specifies whether or not to create
a target subdirectory tree.
The following example searches a directory for all .REX and
.SPF files including subdirectories and copies them to another
directory which does not exist. The target directory and
subdirectories are built as necessary. Note that since the
target directory does not exist, a trailing backslash is needed
so Tritus SPF knows it is a directory and not a file name. If
the trailing backslash is omitted, an error message will be
issued unless the directory exists.
OS FILENAMES: \util\*.spf \util\*.rex
BASE FILENAMES TO BE EXCLUDED: *.exe *.pds
FILE LIST: n
SUBDIRECTORIES: y
TARGET DIRECTORY: \debug\
REPLACE OPTION: n
TARGET SUBDIRECTORIES: y
- Rows 3 and 4 will show the number of files copied/moved so far.
- Ctrl-Break will stop the copy/move operation.
- A copy/move is not permitted when subdirectories are selected
and the target directory is a subdirectory of the source
directory.
* Directory delete
- The delete (D) file list line command is now valid on
subdirectories as well as files. When a D is entered for
a subdirectory, a Directory Delete Confirmation panel is
displayed.
This panel differs from the File Delete Confirmation panel
in that merely pressing Enter will not delete the directory.
Also there is not a CONFIRM file list primary command which
will eliminate the confirmation panel.
The input fields on the confirmation panel are as follows:
* ARE YOU SURE? confirms the delete request. If this
field is set to 'N', it acts the same as entering the
END command which cancels the delete request.
* DELETE FILES IN ALL SUBDIRECTORIES specifies whether
or not to delete all files and subdirectories under the
directory to be deleted except for files with special
attributes.
* DELETE READ-ONLY,HIDDEN,SYSTEM FILES specifies whether
or not to delete even files having special attributes
which are not normally deleted.
- Row 3 will show the number of files deleted so far.
- Ctrl-Break will stop the delete operation.
* PDS compression
TPDS.EXE is a family-mode API program to fetch members from and store
members to a PDS (with optional compression). Help for this program
can be obtained by using a command line option of '?', for example,
TPDS ?.
The two PDS's that are installed with the DEMO are uncompressed.
They are TPANEL12.PDS and THELP12.PDS. However they may be
compressed or consist of some members uncompressed and some
compressed.
Some examples of various PDS utility functions follow:
tpds source /n (allocate a new PDS called SOURCE.PDS)
tpds source /k *.c (import and compress files into new PDS)
tpds source /u (uncompress in place the entire PDS)
tpds source /c (compress in place the entire PDS)
Members that are compressed have lowercase names. Members that are
uncompressed have uppercase names. The file length is always the
uncompressed length.
Normally a compressed PDS takes up less than half the disk space
of the same uncompressed PDS. Compressed members require more CPU
cycles and less disk I/O so in general you will not experience any
significant difference in performance unless you are doing a text
search against all the members of a compressed PDS.
PDS's do not require any maintenance to free up unused space. They
dynamically grow or shrink as needed.
The maximum number of PDS directory entries is 2000.
* Environment variable substitution (%EnvName%)
Environment variable substitution is performed in the following
areas in Tritus SPF:
- Browse, Edit, View, and Flist general primary commands
- Browse, Edit, and View entry panels
- Copy, Move, Create, and Replace panels
- Copy/move, File list, and Text search utility panels
- Logical Printer Definition panels in field 'Device or
filename'.
- Foreground User Application Definition panels in fields
'Program name', 'Program arguments' and 'Working directory'.
Profile and Shared pool variable substitution is also performed
in the above three fields.
- REXX program search paths on panel 0.4C
- Directory path for disk page file #n on panels 0.7.1,
0.7.2, and 0.7.3
- Control program commands, e.g. TSO CD %EnvName%
Normally the environment variable would be used in the OS FILENAMES
field in entry panels but it is valid in FILE DEFINITION fields such
as path or filename if it is properly constructed.
For example, if environment variable DB2 is set to 'd:\util' then it
will work in the OS FILENAMES field but not in the FILE DEFINITION
PATH1 field since it contains a drive letter. If DB2 is set to
'\util' then it will work in either place.
* Cursor scrolling enhancement
Scrolling is performed if cursor is at boundary OR cursor is closer
to the edge of the window. The NOTE in the Tritus SPF User's Guide
that pertains to Cursor Scrolling-Vert and Cursor Scrolling-Horz
behavior is no longer valid.
* Edit profile alias support
The file TEPRAL12.VP allows alternate selection of the edit profile
name. The purpose of this feature is to reduce the number of edit
profiles created and group together common profiles that share the
same color comment highlighting.
Set the 'Edit profile aliases' field on panel 0.4A to 'Y' to enable
edit profile alias support.
See the Advanced Topics section for more details.
* The 'Curr/Prev directories' field on panel 0.4B displays the
filenames '.' and '..' in file lists.
* The 'Confirm file delete' field on panel 0.4B provides another way to
control confirmation of file deletes besides the CONFIRM file list
primary command or the 'Confirm Delete Request' field on panel 3.4.
* The 'Confirm other delete' field on panel 0.4B provides for delete
confirmation of the following non-file types:
- Logical Printers
- Edit Profiles
- Lists
- Foreground User Applications
- Profile Pool variables
- Shared Pool variables
* NFIND, NEXCLUDE, NSEEK
NF NX
NFIND and NEXCLUDE are edit primary and edit macro commands and
NSEEK is only an edit macro command. They have the same syntax
as FIND, EXCLUDE, and SEEK except that string-1 is always
required for NEXCLUDE.
They find lines that do not contain the specified string. The
cursor is positioned at the left data column.
* The Text Flow (TF) Edit Line command inserts two blanks after a
colon instead of the previous single blank.
* The startup parameter /E acts like the Quick Exit option on panel
0.4D set to 'Y' but is only a temporary override.
* Help
Option T was added to the Primary Option Menu. Help for the
Tutorial system is available at the Table of Contents panel of
the Tutorial system.
* Edit entry panel pathname change
If path1 starts with '\ ' then the root directory is selected.
Previously, this was performed based solely on the first character
of '\'.
* TSPF32 supports a file record length of 64,000 bytes. TSPFP and
TSPF2 support a file record length of 48,000 bytes.
* The 'File List sort seq' field on panel 0.4B supports the F=FULL
option. The SORT file list primary command supports all the one
character abbreviations used on panel 0.4B.
* LTEXIT general command
LTEXIT [CANCEL] [ALL]
The current Tritus SPF task is ended.
Without CANCEL, this is the same as entering END on each panel until
either END fails or the task ends.
With CANCEL, this is the same as entering CANCEL on each panel until
the task ends.
When ALL is used, all Tritus SPF tasks are ended. ALL is only
recognized if the current task successfully ends. The operation is
aborted if a task fails to end.
CANCEL may be abbreviated as CAN.
* ALL as an operand of END and CANCEL commands
END ALL and CANCEL ALL causes an ENDALL signal to be presented to the
previous panel. Normally, this signal is ignored, but a file list
will respond to this signal by removing all pending line commands in
the file list.
This is very useful in aborting the SALL file list primary command
when large file lists are involved.
- END General Primary command
END [ALL]
- END and CANCEL Edit Primary/Macro commands
END [ALL] [SAVE]
CANCEL [ALL]
╔══════════════════════╗
║ ADVANCED TOPICS ║
╚══════════════════════╝
* HELP command groups
HELP [cmdname [cmdgroup]]
cmdname Name of a primary command or a line command
cmdgroup Name of a command group
Command groups are as follows:
GP = General primary commands
FP = File list primary commands
FL = File list line commands
EP = Edit primary commands
EL = Edit line commands
BP = Browse primary commands
When command group is omitted, one or more command groups are
automatically selected, based on the type of pnael being displayed.
The first hit found is selected.
- In a file list - FP and EL and GP are used.
- In BROWSE - BP and GP are used.
- In EDIT or VIEW - BP and EL and GP are used.
- For any other panel - only GP is used.
Examples:
From the Primary Option Menu, enter the following commands:
HELP reset ep displays help for edit primary command
HELP reset fp displays help for file list primary cmd.
HELP reset displays main help panel since not GP cmd.
* Scope of command line options /I, /P, /R
Command line options /I, /P, and /R are only used by Tritus SPF
Task #1 and remain in effect until TSPF Task #1 ends. This is
what makes the /C example given below work since the "/i imac"
is applied to all files selected by SALL.
tspf32 /c lol cats;sall;=x /i imac
This example brings up a list of files, selects all files in the
list applying the IMACRO imac to each file, and when all done jumps
back to the command line via =x. The IMACRO imac had the
following statement which terminated each edit:
'ISREDIT end'
The /C command line option allows automated updating of groups
of files maintained as lists created either by MAKELIST or by
editing a file in the *.LOL format.
* Modifying the *.LOL files
- Directory expansion
Assume that \tspf is a directory. The following three
filenames are equivalent in Tritus SPF:
\tspf
\tspf\
\tspf\*.*
There is a different interpretation when these appear in the
*.LOL file:
* The first two will result in a single <DIR> entry in the
file list.
* The last one will result in all files in the \tspf
directory being selected.
For any other usage in Tritus SPF, the above three names are
equivalent; all files in the \tspf directory are selected.
- PDS expansion
Assume that \tspf is a directory. The following three
filenames are equivalent in Tritus SPF:
\tspf\tpanel12.pds
\tspf\tpanel12.pds(*.*)
\tspf\tpanel12(*.*)
There is a different interpretation when these appear in the
*.LOL file:
* The first one will result in a single file entry in the
file list.
* The last two will result in all members in the PDS being
selected.
For any other usage in Tritus SPF, the above three names are
equivalent; all members in the PDS are selected.
* Startup - shutdown exits
Characteristics common to both TSPFINIT.REX and TSPFTERM.REX.
- Default subcommand environment name is ISPEXEC.
- The program must be located in Tritus SPF Path #1 or #2,
either in TPANEL12.PDS or as a sequential file.
- Profile pool is available.
- Shared pool and Function pool are not available; these are
pools owned by a Tritus SPF task and there is no Tritus SPF
task active when the REXX program is fired.
- Subcommand environment CMD can be freely used to execute a
control program command, e.g. ADDRESS CMD 'MODE 132,80'.
- There is no message 'PRESS ANY KEY TO CONTINUE', even if
the program writes messages using SAY.
* Edit profile alias support
If the Tritus SPF control file TEPRAL12.VP is present, it can
establish the edit profile name. Each record consists of two
tokens. The first token is a filename specification, which can
include the wildcard characters '*' and '?'. The second token is an
edit profile name. Information after the second token is ignored.
If a record does not contain two valid tokens, then it is ignored.
The base filename is extracted from the fully qualified filename.
The contents of the fully qualified filename after the last '\'
is the base filename. In the following example the base filename
is 'Test.Dat'.
C:\TSPF12\Test.Dat
If the base filename matches the first token, then the second
token is used as the edit profile name. If the end of the
TEPRAL12.VP file is reached without finding a match, then the edit
profile name is the contents of the base filename after the last
'.'. If the base filename does not contain a '.' then the edit
profile name is 'NULL'.
In the following sample file, the filename 'Test.Dat' would
establish the edit profile name as 'DAT3'. Note that the first
match found in the file is used.
*.Dat DAT3
*.D* DMULT
The match of the first token to the filename is case insensitive.
The second token is always translated to upper case, since all edit
profile names are in upper case.
TEPRAL12.VP can be stored in Tritus SPF Path #1 or #2 as either a
sequential file or contained in the TPANEL12.PDS file.
When running under dialog test, TEPRAL12.VP is always read when an
edit profile name is required. The contents of TEPRAL12.VP is not
saved for future use.
When not running under dialog test, TEPRAL12.VP is only read the
first time that an edit profile name is required and the contents
is saved for future use, including the possibility that the file
does not exist.
* Micro Focus Workbench
- EDIT.LBR calls TSPF32 in OS/2 as a default instead of TSPF2.
- Workbench will not be able to find Tritus SPF unless it is
in the DOS or OS/2 path.
- Workbench in DOS is started by 'XM WB'. By default, XM will
take all of the XMS memory. TSPFL will load but TSPFP will
fail due to lack of XMS memory. Run XMS.COM to determine
'Total free XMS memory'. Then use the /Z command line switch
to tell XM to use 'Total free XMS memory' less 1024K so TSPFP
will load.
TSPFL will run much faster if XMS is available, so the use of
/Z is highly recommended. It is unfortunate that there is not
a switch to say 'take all xms minus 1024K' to eliminate the
calculation step.
For example, if the XMS.COM number is 3072K, then invoke XM as
follows using the /Z command line switch:
XM /Z2048 WB
- Workbench in Windows is started by 'WBW'. Workbench 3.0 has a
bug that is said to be fixed in 3.1. Tritus SPF should be
called as a synchronous event but ends up being called as a
detached process that gets switched to the background.
* Windows
- Windows 3.1 comes with _default.pif and dosprmpt.pif that
govern the amount of XMS and EMS given to DOS programs that
do not have their own PIF. The PIF memory defaults are 1024K
XMS and 1024K EMS. Since TSPFL can use XMS and EMS, the
program effectively has 2048K of RAM to use which for most
circumstances is fine. TSPFP under Windows is a DPMI client
that ignores PIF's and gets its memory directly from Windows.
- To install Tritus SPF on the desktop, create a new Program
Item. Fill out Program Item Properties as follows if you
want TSPFL to be invoked:
Description: TSPFL
Command Line: C:\TSPF12\TSPFL.EXE
Working Directory: C:\TSPF12
Click on Change Icon. Fill out Change Icon as follows:
File Name: C:\TSPF12\TSPF.ICO
To put TSPFP on the desktop, repeat this procedure using
TSPFP.EXE and TSPF.ICO. Whether Tritus SPF comes up in a full
screen or window depends on what is specified in _default.pif.
You may switch at any time using ALT+ENTER. Use the PIF Editor
to make a permanent change to the default behavior.
- Windows does not pass to Tritus the "Alt_Numpad *" key which
is assigned to REDO. Use the "Ctrl_Numpad *" key instead.
- Windows 3.0 has a bug that causes TSPFP startup to produce an
error on the desktop. A batch file, TSPFPW30.BAT, is provided
as a workaround to this problem.
* WorkFrame/2
- To configure WorkFrame/2 so Tritus SPF is the current editor,
click on Configure and then select Editor. Fill out Configure
Editor as follows:
Current editor: C:\TSPF12\TSPF32.EXE
Editor invocation string: %a %z
Note: The substitution variable %a %z will be replaced by
all the file names selected in the corresponding
listbox. Tritus SPF will display a file list if
more than one file is selected. The generated
string cannot exceed 512 bytes.
- To configure WorkFrame/2 so only one instance of Tritus SPF
is loaded, click on Configure and then select Preferences.
Clicking on Capture Tools indicates that only one instance
is to be brought up.
* 132 column support
- In OS/2 the mode command will switch to 132 columns if your
video adaptor supports it. For example:
MODE 132,50
To switch back to VGA mode, issue:
MODE 80,25
Tritus SPF will automatically detect the mode switch upon
startup or if the TSO command is used to invoke the MODE
command while Tritus SPF is up.
- In DOS the mode command does not know about 132 columns.
To do the switch you will need to find the mode switch
program provided by the video board manufacturer. For
example, Dell Computer Corporation provides a program
called VGAMODE to do the switch if your system has the
capability. To switch to 132 mode while Tritus SPF is up,
issue:
TSO VGAMODE 13225
or TSO VGAMODE 13243
To switch back to VGA mode, issue:
TSO VGAMODE VGA
These commands could be put in a batch file as follows:
VGAMODE 13225
TSPFL
VGAMODE VGA
This batch file will work for TSPFL but not for TSPFP since
Phar Lap resets any video mode it does not understand at
startup.
To get around the Phar Lap limitation, set the 'Startup/
Shutdown pgms' field on panel 0.4D to 'Y' to support the
running of TSPFINIT.REX and TSPFTERM.REX programs as follows:
/* REXX - TSPFINIT.REX */
ADDRESS CMD 'VGAMODE 13225'
/* REXX - TSPFTERM.REX */
ADDRESS CMD 'VGAMODE VGA'
- To reduce the amount of keystrokes, define mode switching
as a Foreground User Application.
* Key Tronic KB3270 Plus Keyboard
Command line option /Z will configure Tritus SPF to use this
keyboard. This option need only be specified once as follows:
TSPFL /Z
The default keyboard mode switches set the keyboard to native
emulation scan codes which are not entirely compatible with an
enhanced 101 keyboard. The /Z option makes the keyboard more
compatible with Tritus SPF in the following ways:
- The Numpad Plus key is set to "PRIMITIVE ENTER" from "PASTE".
This key is marked as an "ENTER +" on the Key Tronic.
The separate Numpad ENTER key found on an Enhanced 101 keyboard
is missing on the KB3270 keyboard.
- There is another ENTER key which is where the Right Ctrl
key is on an Enhanced 101 keyboard. It also functions
as an ENTER key much like the Right Ctrl key but ONLY IN DOS.
This key is inoperable in OS/2.
- Other keys are missing in the native setting such as F11, F12,
Numpad / and Numpad *.
* We suggest remapping the keys for 10 Function keys as
described above in the General Information section.
RETURN (F11) does not need to be mapped to a key.
CRETRIEV (F12) can be mapped to "Numpad -" replacing CUT
since PASTE was already replaced by PRIMITIVE ENTER.
* Use the following predefined Ctrl keys to replace missing
Numpad keys.
CTRL_C = "CUT"
CTRL_P = "PASTE"
CTRL_J = "LTJUMP"
CTRL_U = "UNDO"
CTRL_R = "REDO"
* Calling REXX subroutines and nested Edit Macros
- TEST.SPF is an edit macro that will invoke two subroutines,
one as a called REXX subroutine and the other as a nested
edit macro. Both routines are passed the identical input
parameter and perform the same functions.
/* REXX - TEST.SPF */
ADDRESS ISREDIT
'ISREDIT MACRO ( String )'
CALL 'SUB1.SPF' String /* Call REXX subroutine */
'ISREDIT SUB2' String /* Invoke a nested edit macro */
EXIT 0
/* REXX - SUB1.SPF */
ADDRESS ISREDIT
PARSE ARG String
'ISREDIT ( Myvar ) = LINE 1'
SAY 'Line 1 = "' || Myvar || '"'
SAY 'SUB1.SPF parm = "' || String || '"'
EXIT 0
/* REXX - SUB2.SPF */
ADDRESS ISREDIT
'ISREDIT MACRO ( String )'
'ISREDIT ( Myvar ) = LINE 1'
SAY 'Line 1 = "' || Myvar || '"'
SAY 'SUB2.SPF parm = "' || String || '"'
EXIT 0
While editing TEST.SPF, if the following command is entered
in the command field:
test Hi
Then the output will be:
Line 1 = "/* REXX - TEST.SPF */"
SUB1.SPF parm = "Hi"
Line 1 = "/* REXX - TEST.SPF */"
SUB2.SPF parm = "Hi"
- How subroutines are found depends on the method of invocation.
CALL
If unqualified name (e.g. SUB1.SPF), look in the current
directory. If not found, look in PATH (OS/2 only).
If qualified name (e.g. C:\TSPF12\SUB1.SPF), look in that
subdirectory only.
NESTED EDIT MACRO
After appending .SPF to the name (e.g. SUB2.SPF), look in
'REXX program search paths', then in Tritus SPF Path #1
and Tritus SPF Path #2.
- Restrictions
CALL
In DOS, it is possible to receive an 'out of memory'
message using TSPFP which itself only takes up 80K of
conventional memory.
NESTED EDIT MACRO
OS/2 and Protected mode DOS (TSPFP) support five levels.
* Operating system commands in REXX programs and screen output.
Tritus SPF cannot know ahead of time if a DOS or OS/2 command
intends to write to the screen. If your program displays no
output to the screen, then a REXX SAY statement is not needed.
When the first SAY statement in any REXX program is executed,
Tritus SPF erases the screen and displays the name of the REXX
program. Any output from REXX SAY statements and DOS or OS/2
commands will be viewable. When the REXX program ends,
Tritus SPF will display a message to press any key to continue,
then the normal Tritus SPF full screen display will reappear.
For example, from a REXX program issue a DIR command:
SAY
ADDRESS CMD dir
* Edit macro command USER_STATE does not save/restore labels.
The LABEL macro command can specify level 1 labels which will
automatically be removed when the edit macro ends.
* Message lines are issued when total memory capacity is greater than
total page space capacity. This can lead to diminished performance
due to excessive paging. This usually means your hard disk is
nearly full. Providing more free space for paging will eliminate
the message.
* Inverted ENCODE setting
Inverted ENCODE setting is when ENCODE does not match input format;
either input record format is ASCII and ENCODE is EBCDIC, or input
record format is EBCDIC and ENCODE is ASCII.
This mode is only provided as a convenience when a file contains both
ASCII and EBCDIC data. For ordinary editing requirements, this mode
should be avoided because there are a few limitations:
- FIND and CHANGE string-1 and string-2 values as 'str' and
C'str' and T'str' and X'str' operate correctly and match what
is corrently being displayed. HEX ON is helpful in this mode.
- Pattern strings (P'str') will not produce expected results.
Pattern characters match corresponding record characters as if
ENCODE CHARSET is in effect.
- WORD and PREFIX and SUFFIX do not operate as expected.
- Video PRIMITIVE actions related to blank or word recognition do
not work on edit fields when this mode is in effect.
╔════════════════════╗
║ ABBREVIATIONS ║
╚════════════════════╝
* Parameter Abbreviations
AFTER AFT
BEFORE BEF
Keyword/Operand Abbreviations
APPEND AP
ASCII A
CANCEL CAN
CHANGE CHA CHG C
CHARS CHAR
CHARSET C
COBOL COB
COMMAND COM CMD
DATE D
DISPLAY DIS DISP DISPL
EBCDIC E
ERROR ERR
EXCLUDED EXCLUDE EXC EX X
EXT E
FULL F
LABEL LABELS LAB
MONITOR MON
NAME N
NOAPPEND NOAP
PREFIX PRE
RECOVERY REC
SIZE S
SPECIAL SPE
STANDARD STD
STORAGE STO STG STOR STORE
SUFFIX SUF
Scroll Amount Abbreviations
CSR CUR
DATA D
HALF H
MAX M
PAGE P
|
hobbes.nmsu.edu/download/pub/os2/apps/editors/Tritus_SPF_DEMO_1-2-8.zip |
This work is licensed under a Creative Commons Attribution 4.0 International License.
Add new comment