Post by George on Jan 3, 2014 14:04:51 GMT -5
Version 7.1.4001 has posted on the web site. It contains a collection of new features, and bug fixes.
As always, let us know of any problems etc. Somehow new oddities always creep in.
Pasted in below are the contents of the Announcement letter.
George / Robert
---------------------------------------------------------------
Hello to all SPFLite users,
We are pleased to announce SPFLite V7.1. This version introduces a number of new features to boost your productivity.
A note about documentation changes: Starting in version 7.1, we are marking the topic index so you can quickly find areas of the Help document that are new or changed with this release. Look for icons that have a * red asterisk to the left of the topic description in the index. You will find this indicator in the compiled help (.chm) and HTML versions of the documentation.
And yes, this is a lengthy letter, but we have been busy, and you wouldn't want us to not tell you all this stuff.
For a concise list of what’s new, you can read the SPFLite Version 7.1 Change Log at:
spflite.com/ChangeLog.html
a more complete description follows below.
SPFLite Version 7.1 can be downloaded here:
spflite.com/Files/SPFLite.V7.1.4001.zip
The new version will automatically migrate your V7.0 customizations to V7.1. Your V7.0 version will remain fully useable after V7.1 is installed. If you choose to do this, simply rename SPFLite.EXE in the install folder to an alternate name before running the installer.
There are a few backward compatibility issues you may run into with this release. Of course, if you are going back to 7.0 after you install 7.1 because you believe something is not working properly with 7.1, the best advice is to notify us at once, so we can try to fix it.
- Up to version 7.0, the keyboard function to produce a character mapping display was called (ANSI). Because of the expanded support for alternative code pages with the SOURCE primary command, this function has been renamed to (CHARSET) to better describe its purpose. The (ANSI) function is no longer available in 7.1 and (CHARSET) is not available in 7.0. This should be kept in mind if you plan on retaining any SPFLite versions of 7.0 or earlier, since different versions share the same key mapping definitions. If you frequently need the character map display and also use prior versions, you could map both functions on to different keys. Note that a key map definition can have a function that is not defined for that version without a problem (you’re not prevented from defining it), as long as you don’t try to use it. Attempting to use an illegal function is an error, but the error only produces an ‘error beep’ without halting the editor.
- Version 7.1 provides additional syntax for describing the RGB color codes in Automatic Colorization files (.AUTO files) as described above. The older syntax of 7.0 and earlier is still available, but if you use the newer syntax in any .AUTO file, and then attempt to use version 7.0 or earlier, the syntax will not be recognized, and the screen may become difficult to read. If you have to go back to 7.0 or earlier, and you run into this problem, you can edit the .AUTO file (using SPFLite if it’s usable under these conditions, or with any text editor) and change the RGB color codes back to the old syntax. You can also disable colorization by issuing a HILITE OFF primary command until you resolve the issue. To avoid this problem, it may be best to leave any existing .AUTO files unmodified until you have validated version 7.1 for your operating environment, and then not go back to 7.0.
- Version 7.1 has moved the location of AUTO and FILELIST files to the new AUTO and FILELIST folders under the SPFLite directory. When you install version 7.1, these files will be automatically migrated to their new folder locations. If you then go back and use 7.0, your personal FILELIST files will not be where version 7.0 expects them to be, and they won’t be found. However, ‘common’ FILELIST files such as Found Files, Recent Files, etc. would end up being created again, so you’d have two copies of them: one directly under \SPFLite, and one under \SPFLite\FILELIST. If you need your personal named favorites lists, you could temporarily copy them from the new \SPFLite\FILELIST folder to \SPFLite, during the time you worked with version 7.0, and then copy them back. Or, simply avoid taking actions that require your file lists to be referenced or updated. Once you have finished using 7.0, you could either copy back the updated FILELIST data, or delete it to avoid having two inconsistent copies. For most users, it will be simplest not to go back to version 7.0 once you have installed 7.1.
These new features are extensively covered in the online Help. If there are any points you aren't clear on, please let us know.
The distribution has been checked by the Virus Total web site to ensure that no false virus reports are triggered. The distribution passed through all 47 AV checks on the Virus Total web site without incident.
Because software is written by mere mortals, and this is a major release, some bugs will undoubtedly turn up, despite our best efforts. Don't worry – just provide us with as much detail as possible so we can stomp them out.
Thanks for using SPFLite. Download a copy of SPFLite Version 7.1, and try it yourself.
George Deluca
Robert Hodge
SPFLite@gmail.com
Detailed Change Summary
Primary-command changes
New ULINE, REVERT, NULINE and NREVERT commands: With version 7.1 a new editing concept is introduced: User Lines. Conceptually, all data lines exist in one of two states: either they are “U lines” or they are “V lines”, where U lines (“user lines”) are simply a set of one or more lines of special interest to the user at a given time, and V lines are everything else. (While the U stands for User line, the V in “V lines” doesn’t have any particular meaning, other than simply not being a U line. The letter “V” was chosen because the line command V was not being used for anything else.)
A file will ordinarily consist entirely of V lines, which is the default state of a file. Other that having one or the other of these U/V states, there is no difference between U and V lines and the data lines you have always worked with.
When a data line becomes a U line, a vertical bar character appears in the “gap column” just after the line number; the vertical bar marks the line as being a U line. The ULINE, REVERT, NULINE and NREVERT commands allow the “U state” of a line to be enabled or disabled, based on the presence or absence of a search string. Reverting a line means to revert its U/V state back to the default of V.
In addition, commands like FIND and CHANGE can be restricted to operating on lines that either are, or are not, U lines, using the keywords U or NU. This concept is very similar to operating on lines that either are, or are not, excluded, using the keywords X or NX. User lines can be combined with line exclusion, line labels and line tags, if desired.
The U/V state of a file is persistent if STATE ON is in effect. Use of U lines can make it convenient to perform extended editing tasks that repeatedly target the same given area of interest within a file, in a way that is easier than using labels, tags or line exclusion. See the Help article, Working with User Lines, for more information. See also the U/UU and V/VV line commands, described below.
Extended Find/Change color operands: Previously, if the name of a color, like RED, appeared on a FIND or CHANGE command, any string that was found would have its color changed, even if the underlying string data itself was not changed. Now, by using + and – prefixes on color names, you can precisely control the exact effect of using a color. Using RED as an example:
RED means to look for a string that is entirely Red. Whether the string is found or not, or is entirely Red or not, its color is not changed. This is different from version 7.0, which would have changed the color when using a simple RED keyword.
+RED means to make the find string Red on FIND, and to make the change string Red on CHANGE. A string’s color is only changed if a color name with a + plus sign is used.
-RED means to look for a string that is not (entirely) Red. This includes strings that might have a mixture of colors. Whether the string is found or not, its color is not changed.
SOLID and –SOLID refer to strings that are (or are not) entirely one color (as opposed to being of mixed colors) without limiting the search to any particular solid color. Whether a solid-color string is found or not, its color is not changed.
Color operands can be combined. RED BLUE means to find string that are either entirely Red or entirely Blue. –RED –BLUE means to find string that are neither entirely Red nor entirely Blue. RED +BLUE means to find strings that are Red, and when found, change them to Blue.
New COLLATE command: When EBCDIC files are being edited, SPFLite internally translates the data to ANSI, then translates it back to EBCDIC on disk, and SPFLite makes it appear as though the file were really EBCDIC even though it is processed internally as ANSI. That technique works well for files really stored on disk as EBCDIC.
However, if you were looking at a SYSOUT file from a mainframe (let’s say, an EBCDIC-based MVS job stream file containing JCL, compiler listings and user program output), which had been translated back to ANSI when sent to the PC, it is difficult to treat this as EBCDIC data, since it no longer is encoded that way.
It can be useful to “pretend” that this data is EBCDIC, so that when the HEX primary command is given, the screen looks as if it really were EBCDIC, and so that a SORT command will sort data in EBCDIC-like order even though the underlying data is really ANSI. COLLATE allows this to be done. The COLLATE command allows you to have the look-and-feel of treating a file as though it were in EBCDIC, even when it really isn’t. COLLATE can be used with any user-defined SOURCE code page.
New SUBCMD and XSUBMIT commands: The SUBCMD primary command can be used to define a substitute command for SUBMIT, to be used instead when SUBMIT is issued.
For example, suppose you wanted to treat the SUBMIT of a Windows Batch file the same as a RUN command, even though .BAT files are supposed to executed by a RUN command, and not submitted. In the profile for .BAT files, you can say SUBCMD RUN. Then, if SUBMIT is inadvertently issued for a .BAT file, it will actually be RUN instead of being submitted. This feature will prevent erroneous SUBMIT streams from being created, which can be helpful if mainframe users get into the habit of frequently issuing SUBMIT. Note that in version 7.0, a temporary measure allowed SUBARG to be set to RUN to accomplish this. SUBARG can no longer be used that way; use SUBCMD instead.
Another use of SUBCMD is to launch a user-written “submit macro”. To allow such a macro to perform certain processing and then issue its own “submit” process, the command XSUBMIT may be used. XSUBMIT is similar to SUBMIT, except that an explicit file name is used, rather than taking the submitted file from the current edit session. It is expected that the main reason for a user-written “submit macro” will be to expand user-defined “include” directives.
Repeatable DELETE: When the DELETE primary command is used with a search string, and PREV or NEXT is specified, the DELETE action can be “single-stepped” using the RFIND or RLOCFIND, and RCHANGE commands, usually mapped to F5 and F6 respectively. When used this way, RFIND or RLOCFIND is used find the lines to be deleted (but does not delete them), and RCHANGE will perform the actual line deletion.
New { and } Picture codes: Previously, Picture codes of [ and ] could be used to “align” a Picture search on the left or right side of a line. For example, P'[ABC' finds ABC if it is exactly on the left side of a line, and P'ABC]' finds ABC if it is exactly on the right side of a line.
The new { left brace and } right brace Picture codes operate in a similar way, except that any blanks on the ‘edge’ of a line are ignored. So, P'{ABC' finds ABC if it is on the left side of a line (optionally preceded by blanks), and P'ABC}' finds ABC if it is on the right side of a line (optionally followed by blanks).
The { and } Picture codes may appear in change strings as well, and when used that way, they represent the same number of optional spaces that may have been found by the corresponding search string’s { and } Picture codes, regardless of length. On a CHANGE command, if the search string contains a { or } Picture code, use of { or } in a corresponding change string picture is optional. This gives you the ability to either retain or discard the additional blank characters, depending on how the change string is written.
New TOP option for scrollable commands: Any primary command which can cause scrolling of the edit file display can include a new keyword of TOP. What TOP does is to force SPFLite to reposition the screen every time, so that the found line is positioned at the top of the display. This can be useful when searching and scrolling through large files of repetitive data, so that blocks of data with similar formatting or characteristics appear in the same relative positions on the screen as it scrolls by. That helps prevent the screen from “jumping around” and it makes the task of reviewing such large files easier. The TOP option is supported on these commands: APPEND, CHANGE, COMPRESS, DELETE, EXCLUDE, FIND, FLIP, JOIN, LINE, LOCATE, NDELETE, NEXCLUDE, NFIND, NFLIP, NREVERT, NSHOW, NULINE, PREPEND, REVERT, SHOW, SPLIT, TAG and ULINE.
FIND command alias FF uses CC blocks. Starting in version 6.0, the U/UU and T/TT line commands used to define line ranges were replaced with C/CC and M/MM blocks for greater ISPF compatibility. However, it was found that a common use case in ISPF was to first define a block of lines using C/CC, and then use the FIND command to locate a destination for those lines to be copied into, a task usually involving repetitive FIND commands (via RFIND) and/or manual scrolling. By SPFLite making the general assumption that a CC or MM block always defined a line range, that assumption prevented this commonly-practiced ISPF use case from being performed. So, the FIND command was recently exempted from the general line-range-defining role of C/CC and M/MM, in the name of ISPF compatibility, to make it possible to FIND with an active/pending C/CC block present.
However, that exemption for FIND removed the convenience of SPFlite’s ability to use C/CC and M/MM to define FIND command line-ranges, which is also an important and valuable use case. To restore that capability, a FIND command alias of FF has been defined.
What FF does is to treat any pending C/CC or M/MM line commands as defining the find operation’s line range to search for, rather than keeping those lines as “pending” while scrolling through the data. Other than the different name, and the different way that C/CC and M/MM blocks are handled, FF and FIND are the same command and accept exactly the same parameters.
The new FF alias for the edit FIND command should not be confused with the File Manager Find in Files command FF, which is completely different, and has nothing to do with the Edit FIND and FF commands.
Enhanced SOURCE command and user-defined translation tables: Prior to version 7.1, the SOURCE character set of a (non-Unicode) file could be either ANSI or EBCDIC (where ASCII means the same as ANSI). It was possible, with some difficulty, for a user to create their own EBCDIC table, but there was only one table; if you changed the table, it would replace the default one. Now, users can define and name multiple translation tables, so that, for example, multiple variations on EBCDIC are possible. Translation tables now have a file extension of .SOURCE instead of .TXT. You may choose any suitable name for a table, except that “ANSI” and “ASCII” (and the various Unicode types) are reserved. It is possible to overwrite the default EBCDIC table, but it is not recommended unless there is a compelling reason to.
Additionally, translation tables now have a new format, which allows for embedded comments and attributes, and is much easier to read. For users who may have tailored their EBCDIC.TXT file, a command-line utility called TxtToSource.exe can be used to convert your table to the new format.
It is also possible to define SOURCE translation tables that are ASCII based. This might be done to view or edit files encoded in alternative ASCII code pages (such as 437 or 850, for example).
RegEx on JOIN: Previously, the find string on a JOIN command had to be a Picture string, containing either a [ left bracket or ] right bracket to align the Picture on the left or right side of a line. Now, you can also use a Regular Expression instead of a Picture string, using standard RegEx notation for data alignment. In a RegEx, the ^ symbol is used instead of a [ Picture code, and the $ symbol is used instead of a ] Picture code. This feature allows you to join lines based on search criteria that is more complex than a find Picture can describe. As always, a RegEx is only used to find strings, not to change them.
New Z labels: There are new special-purpose “Z” labels that can be used on primary commands. As with other “Z” labels like .ZFIRST and .ZLAST, they represent special situations, and cannot actually be typed into the sequence area of data lines:
.ZCSR represents the line where the cursor is located when a primary command is issued. This features adds compatibility with ISPF, which supports .ZCSR
.ZFIND represents the last (most recent) line where a string was found by a FIND or CHANGE command
.ZLOC represents the last (most recent) line found by a LOCATE command
New ADD command. This can be used to add a new line into a file, and insert a string value into it, in a single command. The main use for this is expected to be within macros, where previously, creating a new line and then placing data into it took two separate steps. The ADD command will help simplify macros that add new lines to a file.
New WDIR command. Similar to the DIR primary command, WDIR will open the “containing directory” of the current edit file, but instead of displaying an SPFLite File Manager screen, a Windows Explorer dialog showing the containing directory will appear. This gives you access to any Windows-specific file handling tasks that are frequently done using a right mouse click to access a file’s “context menus”. The WDIR primary command works both in edit sessions and in the File Manager.
New FOLD command: FOLD allows an edit or browse session to display data only in upper case, even if the data itself contains lower case letters. This can be useful in viewing mainframe SYSOUT files, where lower case is used less frequently, and having lower case data displayed can be a distraction at times.
Enhanced CLIP command: The CLIP command can now accept a clipboard name. For example, if you create text in a clipboard named ABC with a command of CUT ABC, you can then edit that named clipboard by using the command CLIP ABC.
IMPORTTABS renamed to XTABS: The IMPORTTABS profile command has been renamed to XTABS, meaning “expand tabs”, for the sake of brevity, ease of spelling, and to better describe its purpose.
Extended SORT fields: The SORT command will now support 5 sort keys (like ISPF) and the limit of 64 characters on the size of each key has been removed.
New SCROLL operand for PAGE: The PAGE command will now accept SCROLL in addition to the current ON | OFF choice. SCROLL will cause very long 'pages' to be handled by PgDown and PgUp as if not in PAGE ON mode so that all lines are displayed. In normal PAGE ON mode, only the number of lines that will fit on a screen are ever displayed during DOWN PAGE and UP PAGE processing.
Line-command changes
New U/UU and V/VV commands: These line commands are used in conjunction with the ULINE, REVERT, NULINE and NREVERT primary commands (discussed above) and U/NU keyword options on other commands, to manage the U/V state of data lines and to selectively process lines based on their U/V state. See the Help article, Working with User Lines, for more information.
Note: The new U/UU command has nothing to do with a prior usage of U/UU, which meant, "Use Lines". The old U/UU line command (along with the old T/TT) was removed as of the 6.0 version of SPFLite. The old usage for U/UU has been superseded by more conventional C/CC blocks.
Support for the Data Shift line commands < and > was rewritten to be IBM ISPF compatible. See the Help manual under the < and > command and the article “Shifting Data” in Working with SPFLite for more information.
New TX/TXX and TU/TUU commands. These line commands will ‘toggle’ the excluded state (TX/TXX) or the User Line state (TU/TUU) of lines within their range. As with other line commands, TX/TXX and TU/TUU can be used with the LINE primary command, and/or mapped to keys.
New xNOTE commands: Similar to NOTE commands, xNOTE commands provide a way to enter “extended” types of NOTE lines into a file. An “xNOTE” is entered with a line command, where “x” is anything from “A” to “Y”. The primary commands LOCATE and DELETE can be used to find xNOTE lines. The form “ZNOTE” is used as an option on the command line for LOCATE and DELETE to generically reference any type of xNOTE type, from “ANOTE” to “YNOTE”. ZNOTE cannot literally be used as a line command.
It is expected that the primary use of xNOTE lines will be in concert with user-written programmable macros, to insert diagnostic lines into an edit file. For example, various xNOTE types could be used for varying levels of error severity. See the Help article, Working with NOTE Lines, for more information.
K modifier is now the & modifier: Previously, the letter K could be used on certain line commands to indicate a “Keep” modifier. K was used to “keep” or “retain” a line command, instead of dismissing it once all outstanding commands had been processed. While useful, there were certain problems with this that conflicted with IBM ISPF compatibility:
In ISPF, the “K” is not a “modifier”, but is an integral part of certain line command names, such as AK and BK. So, the SPFLite syntax of commands containing “K” was not the same as ISPF.
In ISPF, a command like AK does not really mean that the AK command itself is retained, but that a primary command (such as COPY or PASTE) is being retained. So, regardless of syntax differences, the SPFLite “K” commands didn’t work the same way as ISPF did either.
For these reasons, having a K modifier was felt to be misleading and confusing. To avoid this confusion, the SPFLite K modifier has been changed to the & ampersand modifier. This is appropriate, because there is already an & modifier on primary commands, and that usage means to “retain” the primary command. So, using an & on a line command means the same thing, and should make more sense.
For example, to enter the line command in SPFLite that used to be AK, you now will use A&. Aside from the change in notation, all of the features and commands that were available using the K modifier are still there, only you now use & instead of K.
Macro changes
New Request_Label$ and Release_Label$ functions: In a macro, certain operations are easier if applied to a line-label range than if done with line pointers, because line pointers can become invalidated if editing actions change the locations of any lines. However, it can be burdensome for a macro to attempt to create unique label names, and there is a risk that a macro might overwrite an existing label that the user did not want deleted. Overcoming these issues is possible but takes a significant coding effort.
Using these new functions, suitable unique labels can be generated with Request_Label$ if needed, but if a line already has a user-defined label, the existing label will be used instead. Release_Label$ will remove temporary labels from lines but will retain permanent user labels.
Implicit Block-Mode line macros: Previously, if a macro was to be used in “block mode”, it was necessary to specify the name of the macro using a “repetitive spelling” of the name. That is, if you defined a macro called AX, to use this macro for a block of lines, you have to use it as AXX (repeating the last letter) or as AXAX (repeating the entire command). This is the standard way ISPF allows line commands to run in “block mode”.
Now, as an alternative to this, you can establish a SET symbol to notify SPFLite that a certain line macro is to only operate in block mode.
Suppose you wrote a macro called AX to operate only on blocks of two or more lines, and you always wish to issue two AX macros to define the ends of the block. Instead of using AXX or AXAX for this purpose, you can put a simple AX on each end of the block. To inform SPFLite that this is how you want to use the macro, you would issue a command of SET MACROMODE.AX = BLOCK.
SET symbol substitution in SPF_CMD. Previously, SET names were not recognized if used inside a string passed to the built-in function SPF_CMD. This capability is now available. To use a SET name in an SPF_CMD string, the name is preceded by an = equal sign, just as is done on the primary command line.
File Manager changes
New WDIR line command: Like the WDIR (“Windows Directory”) primary command, the WDIR line command opens the containing folder for the given file and displays a Windows Explorer dialog.
Search string for Find in Files: When the Find in Files command FF is issued, a copy of the FF command, including the string being searched for, will appear on the Found Files FILELIST display. This will help in keeping track of and remembering what was being searched for, especially in cases where the FF command might have been done previously, and the Found Files FILELIST is being redisplayed (perhaps long) after the time it was created.
As noted elsewhere the Find in Files command FF should not be confused with the new FF alias for the edit primary command FIND.
Key Mapping and Function changes
Enumerate functions now work on highlighted text: Previously, to use the “enumerate” functions (Enum), (EnumHexLC) and (EnumHexUC), it was necessary to establish a Power Typing session first. Now, with “fast enumerate” support, all that is necessary to use an enumerate function is to have a column of highlighted text, with the first line formatted to provide the “model” and starting numeric value for the rest of the lines. Enumeration via Power Typing mode remains available and is unchanged from prior versions.
Implicit highlighting of single characters: Previously, if you wanted to modify a single character using a key-mapped function (such as upper or lower case, changing a color, etc.) it was necessary to first highlight the single character. The effort required to carefully position the cursor or mouse and hold down the right combination of keyboard keys or mouse buttons could be burdensome in exchange for acting on just one character. In addition, attempting to highlight a single character by double-clicking on it requires great precision in positioning the mouse, and often does not succeed on the first attempt.
Now, if character-modification functions are used when the cursor is in the data area, but no data is actively being highlighted, the single character at the cursor position is modified as if that character were highlighted. Making such small changes is now easier, faster and more reliable.
Enhanced (Swap) function: The (Swap) function is now enabled in Power Typing mode. Additionally, a “swap” operation can be performed when only one area is highlighted. When this is done, the “swap” is actually performed like a “text move”. This will act very similar to a “drag and drop” of a piece of text in a word processor, or similar to using a Ctrl-X to delete text followed by a Ctrl‑V to insert text when Insert Mode is enabled.
Parameterized cursor movement functions: Existing functions (Left), (Right), (Up) and (Down), and a new function (Column) now take a numeric ‘n’ parameter, in the form of (Left/n), (Right/n), (Up/n), (Down/n), and (Column/n). These ‘n’ parameters operate similar to the previously available repetition factor, but are much faster. For example, (40:Right) and (Right/40) will accomplish the same thing, but (40:Right) operates somewhat slowly, while (Right/40) will appear to occur instantly. The new (Column/n) function moves the cursor to column ‘n’ of the current data line. (Column) with no ‘n’ parameter moves the cursor to column 1.
Lenient (Edit) and (Browse) processing. Previously, if an (Edit) or (Browse) function was launched, it was necessary for the user to be very precise about how the text that was highlighted; otherwise, the file in question would not be opened. This could pose problems if a file name were surrounded by delimiters on a line, such as in the form of an “include statement”, like "myfile.c" or <myfile.h>. If the user accidentally highlights any of the delimiters, it would form an invalid file name and then the file would not be opened.
Now, SPFLite trims off any leading or trailing spaces and delimiters from its copy of the highlighted name, before attempting to open the file. This makes the process easier and less error-prone, and it’s no longer necessary to be as precise about how carefully you highlight the file name. As long as you’re “close enough” it will work.
New (CopyLcmd) function: This function will provide a way to copy an existing (that is, an as-yet unprocessed) line command into a clipboard. Used along with a carefully-designed key mapping string, it provides the means to propagate a line command multiple times. This technique may be most useful in the File Manager, but could also be used in an edit session. See the Help section for the (CopyLcmd) function for an example of how to do this. The main reason for this capability is to simulate the effect of having block-mode File Manager commands, which currently are not supported.
New (CopyAdd) and (CopyPasteAdd) functions: These functions will append text to the end of a clipboard, rather than replacing the clipboard. The appended text will not have an added CR/LF at the end of it, and thus they operate in a manner similar to (CopyRaw) and (CopyPasteRaw), respectively. Along with this change, SPFLite will no longer issue an Error Beep if an attempt is made to paste an empty clipboard. Instead, this condition will now be quietly ignored.
New (DataDeleteMark) and (DataBackSpace) functions: These functions operate similar to (DeleteMark) and (BackSpace), except that the deleted text does not “pull” to the left any data that was to the right of it, similar to the way the existing (DataDelete) function and the CHANGE DS mode operate.
New (FMCompact) function: This function will toggle the appearance of the “special” lines that appear at the top of a File Manager display, such as New Empty File, Open Files, Recent Files, etc. When you are more interested in browsing lists of existing files than the other features of the File Manager, this will free up some screen space.
New (CharSet) function: The (Ansi) function has been renamed and is now called (CharSet). The display shown in a (CharSet) display may be in another collating sequence such as EBCDIC, and will report characters placed into the Clipboard based on their collating sequence, and not necessarily the actual ANSI value stored. So, if you use this to place an EBCDIC zero into an EBCDIC text file, the (CharSet) dialog will claim that hex F0 was put into the clipboard, when actually hex 30 was used.
Other changes
Relocation of .AUTO and .FILELIST files: These are now located in new folders AUTO and FILELIST under the main SPFLite directory. If you have many file types and many colorization files, this change will make those files easy to find, and means that the main SPFLite directory will be less cluttered.
Adjustable sequence area size: Previously, the edit screen sequence number area had a fixed size of 6 digits, as is done in ISPF. Now, the size of this area can be adjusted from 5 to 8 digits, using a new size parameter on the Screen Dialog of SPFLite Global Options. Users working on very large files may need larger sequence numbers, while users dealing with screen size constraints who need every possible column available for data may benefit from a shorter sequence area.
Vertical Insert Cursor: Previously, to distinguish between Insert Mode and Overtype Mode, the cursor size could be varied from an underline shape to a square block. Now, an Insert Mode cursor can appear as a vertical line that appears between characters, while the Overtype Mode cursor remains as an underscore shape. For users familiar with word processing editors, this type of cursor will appear more natural when inserting text. This new cursor shape is optional, and is enabled by a Vertical Cursor checkbox in Screen Options. The prior method of showing Insert vs. Overtype cursors is still available.
Normal characters for P'.' Picture Literals: Previously, this string setting in the General Options dialog was set during installation, or could be modified by a user, but SPFLite offered no further assistance in setting it. Thus, it was possible to set this value improperly and not be aware of it, perhaps inadvertently deleting important characters in the process. Now, if this string is cleared out and the General Options dialog closed, SPFLite will repopulate this string with all valid displayable characters. When SPFLite restores this string, the repopulated string either will, or will not, contain international letters, based on whether the Include International Characters checkbox is enabled on the same dialog.
Use of ADS discontinued: Prior versions of SPFLite used the Alternate Data Stream feature of the Windows NTFS file system to store STATE information, such as persistent labels, tags, and the set of lines currently excluded. All of these features remain available, but the STATE information is now being stored as ordinary, discrete files in the SPFLite directory under the STATE folder. The future direction in the industry and within Microsoft is to get away from the use of ADS data. Having state data as ordinary files will make it easier for SPFLite, and you, to manage this data. See the Help article, Saving the Edit STATE, for more information.
SET AUTOFAV: When working on a project that involves many files, it can be convenient to have these files stored in a Favorites File List. However, if files are created frequently, it can be easy to forget to consistently issue a FAVORITE primary command every time. If that command is forgotten, your favorites list can be incomplete. It is now possible to issue a SET command, so that whenever a file matching a particular file pattern (mask) is created or saved, a corresponding entry will be automatically created in a Favorites File List. Because SET names are a global resource, the AUTOFAV feature applies to every file that matches the file pattern(s), regardless of what profile they are associated with.
For example, to place every new or saved file having a name like ABC*.TXT into the ABC_PROJECT File List, you would issue the command SET AUTOFAV.ABC*.TXT = ABC_PROJECT.
Remembering the screen sizing: SPFLite will now remember the screen-sizing state it was in when closed and restore that state the next time it is started. For example, if SPFLite is operating in “maximized mode” filling up the entire screen, and then is shut down, it will be in maximized mode when restarted.
Enhanced AUTO file color codes: Previously, when defining a custom color in an .AUTO colorization file, only the format &Hbbggrr was supported, where bb, gg, and rr were hex values for Blue, Green and Red, respectively. This format is not convenient when users may acquire color number information from sources that describe colors with decimal numbers instead of hex, or in RGB order rather than BGR order (such as on the Window color selection dialog).
Now, in addition to the original &H BGR notation, the following formats are allowed (the old format is still supported). Note that decimal numbers may be one to three digits, from 0 to 255.
Rxrrggbb uses a 6-digit hex number in RGB (Red, Green, Blue) order.
R=rrr,ggg,bbb is a set of three decimal numbers, in RGB (Red, Green, Blue) order.
Bxbbggrr uses a 6-digit hex number in BGR (Blue, Green, Red) order.
B=bbb,ggg,rrr is a set of three decimal numbers, in BGR (Blue, Green, Red) order.
Highlighting of non-default BOUNDS: When the BOUNDS setting is anything other than MAX, the status line display will show the BOUNDS setting in white letters on a red background, so that it can’t be ignored. This will help users to avoid the unexpected and nonstandard handling of data that occurs when non-default bounds are in effect, if that was not their intent. When BOUNDS is set to MAX, the status display for BOUNDS will be displayed normally.
A number of enhancements and bug fixes were made:
EOL AUTO/AUTONL processing was enhanced to handle certain unusual line endings in SYSOUT files created by Hercules
Corrected setting of Profile name for files with no extension when the Option "Use DIR name as Profile when no extension" is selected
Corrected handling of the RESET command when issued within a macro
Improved line range operand validation and make messages consistent
Corrected the keyboard primitive (Paste) in File Manager when used with a private clipboard name (the name was being ignored)
Clarified the File Manager Help data for the Open Files display
Keyboard recording can now be started/stopped from the File Manager display
Under some conditions the PL line command was not being recognized
A restriction of MINLEN to a maximum of 32 characters has been removed
Corrected an error in the default for RESET, in which RED was inadvertently being reset when this was not requested
Corrected an error in keyboard primitive (Swap) which prevented canceling an incomplete swap operation
Corrected an error in handling alternating background colors when AUTO colorization is active
Corrected certain errors in handling RECFM F and RECFM V files
Revised the “End of List” message for the File Manager Open Files list to include the count of files
Corrected an error in the SPLIT command when multiple split characters occur on the same line
Corrected an error in line command parsing which caused the entry of specific 0 (zero) numeric operands to be ignored, such as on the ine command TS0
Corrected the setting of Profile name when doing a SAVEAS from a newly created file from an (Empty) new file tab
When HILITE AUTO OFF was in effect, some aspects of colorization specified by an AUTO file were still being applied. This was corrected to properly ignore the entire AUTO file if OFF is in effect.
Enhancement made to macro function SPF_CMD, so that the supplied command line will have SET symbol substitution performed when =set-name values are present.
Colorization parsing was corrected, so that escaped characters within a quoted string are properly handled
A number of keyboard primitives were enhanced to work in non-Power-Type mode
The DIR command will now accept a file-pattern operand to filter the contents of the selected directory.
Corrected a long-standing random bug in FIND search routine
Corrected the setting of screen sizes and default File Manager sort criteria during the initial startup run
Correct screen resizing when the cursor is on a line which no longer exists following the resize. (Screen has shrunk)
Corrected an error in validation of the Scroll field. The error was causing performance issues by repeatedly updating the INI file status.
Corrected the handling of RECFM FB EBCDIC files with EOL=NONE. The LRECL value was being incorrectly handled.