Note: The changes here are for release 3.1.24198 and newer. If you wish to review the full update history for SPFLite there is a file in the main install folder ( \SPFLite3\Changes for Original SPFLite.txt )
Between 3.3.25224 and 3.3.25226 (Aug 14/2025)
- Correct the setting of the Submit folder location to ensure it points correctly to \Users\UserName\Documents\SPFLite\JOBS.
- Correct spelling of the Get_EnvVar$ and Save_SrchArgs macro function.
- Add missing Doc for Save_SrchArgs and Restore_SrchArgs macro functions.
- Correct some long standing errors in the CHM and HTML versions of the Documentation. Some items were flagged as Transparent and simply appeared as blanks in the final document.
Between 3.3.25202 and 3.3.25224 (Aug 12/2025)
- A File RENAME will trigger an initial BACKUP of a file if AutoBKUP is ON.
- Add the new FC/FCHANGE FM command to support performing a CHANGE command on all displayed FM files. See the Help for more info.
- Add the following new macro functions:
Get_EXEFullName$ Fully qualified EXE filename, including the path.
Get_LNum_Width Width of line number field
Get_Panl_Height No. of lines in the current panel/screen
Get_Panl_Width No. of columns in the current panel/screen
Get_Panl_Mode$ Current panel mode NONE, VERT or HORZ
Get_Scrn_Height Total screen height in characters
Get_Scrn_Width Total screen width in characters
Get_SPF_Version$ SPFLite program version
Get_Text_Columns No. of usable text columns on panel/screen
Get_Text_Lines No. of usable text data lines on panel/screen
Get_Working_Dir$ The current working directory
Get_Csr_LNum The LNum of the cursor line
Get_TopScrn_LNum The LNum of the line at top-of-screen
Get_BottomScrn_LNum The LNum of the line at bottom-of-screen
Get_Find_First_LNum The LNum of the first found line
Get_Find_Last_LNum The LNum of the last found line
Get_First_LNum The LNum of the 1st line (0 if no file)
Get_First_Real_LNum The LNum of the 1st real data line (0 if no file)
Get_Last_Real_LNum The LNum of the last real data line (0 if no file)
Get_LOC_LNum The LNUM of the last LOCATE found line
Get_Select_First_LNum The LNum of the 1st line of a selected block
Get_Select_Last_LNum The LNum of the last line of a selected block
Between 3.1.25200 and 3.3.25202 (Jul 21/2025
- This is a re-packaging release to correct errors in the packaging of 25200 related to the upgrade of thinBasic to the 1.14 release.
Between 3.1.25053 and 3.3.25200 (Jul 19/2025
- Alter File Manager display so that when the cursor is located in the Line Command area of any file entry, the full file path & name will appear in the Mask area at the top of the screen. This will provide more assistance when the name is abbreviated by a narrow column width.
- Alter the background of the scrollbar to a medium gray to provide more contrast with the slider.
- Correct SORT (it was not honoring X/NX/U/NU filter operands.
- Relax naming standards for SET variable names. Only restriction now is that they can not start with a period (.) or a numeric digit.
- Correct the (ClipPath) KB Primitive to work properly when used in the FM Paths display.
- Upgrade the included thinBasic version to 1.14
- Add new support to allow an Edit tab display to be split into two 'panels' which can be independently positioned to allow viewing of different portions of the same file at the same time. The support allows you to split the screen either horizontally (top and bottom panels) or vertically (left and right panels). Full details are in the Help under "Working with Panels".
Between 3.1.24338 and 3.2.25053 (Feb 22/2025
- Correct parse table for the RESET command, the X and U action requests were renamed to XL and UL to avoid 'collisions' with the X and U line-control-range operands. This release will automatically add 4 SET ALIAS statements to provide compatible operation with the former syntax.
- Correct error in DELETE using a specified line-control-range.
- Add support for a new SET option. A SET variable of RETRIEVE.cmdname = N will prevent the command from being added to the Command retrieve stack.
- Correct handing of a HELP HELP or HELP ? command to properly display the Help data for HELP itself.
- Correct the (DataDelete) KB primitive. It was incorrectly deleting more attribute characters than was required from some lines.
- Replace the macro function Get_FullPath$ (which was not even working properly) with Get_FileFull$ which will return the full pathname to the current edit file.
- Alter the VBeep code to add a blinking circle around the current cursor location as well as blinking the Command > prompt in the upper left corner of the screen.
- Correct parse substitution of the command line @ and # substitution.
- Correct the handling of doing a mouse-click on the active Instance in the file manager Config display. It was not properly invoking the OPTION command to allow modification.
- Add Spell Check support. This consists of a KB Primitive (SpellChk) and a Primary command SPELL. See the HELP file for full details.
- Add macro functions Save_SrchArgs and Restore_SrchArgs which will allow a macro to save the current FIND search state, perform some other independent search functions, and restore the previous FIND search state and continue with the original FIND operation(s).
- Correct the support added in the last full release which supports Substitutions and Conditional KB assignments, it was interfering with the RegEx search criteria being passed from a FIND to an RFIND command.
- A new conditional KB type has been added. It is an <IF.SPELL> request. It will be True if the cursor is located on a string marked as a spelling error by the SPELL ALL command. As an example, this allows the RMB (Right Mouse Button) to be defined as - <IF.SPELL>(SpellChk)||(copyPaste)<> - which basically says: If the cursor is on a word marked as a spelling error, issue the (SpellChk) KB action to display the pop-up correction selection menu. If not on a spelling error, invoke the (CopyPaste) KB action.
- Re-write of popup menu handling. You may now click outside the popup box to indicate the choice of the default (1st) item. Scroll bars have been added to handle lists larger than the popup window.
- Alter MACLIB verification to more fully check the MACLIB.name SET entry. Warnings will be issued for any errors, but the MACLIB setting will still proceed. If the associated SET is not created, the default MACROS folder will be substituted.
- Add support for a new IEDIT command which will scan a main program or Edit/MEDIT session and add all detected INCLUDE files into a single MEDIT session. See the HELP file for full details.
- On a FM FLIST display, the M (MEDIT) line command may now be used to Open all the files in a MEDIT session.
- The MAKELIST/ML command will now also operate in a MEDIT tab to create an FLIST from the current list of loaded files.
- Correct FM mask handling when both Primary masks and individual masks in an FLIST are used together.
- Correct creation of STATE data for MEDIT sessions.
- Correct execution of IMACRO for MEDT sessions, it was basically being ignored.
- Add a new command - BUILTIN - which can be used to prefix any normal command and prevent the following command from being interpreted as a Macro, even if a Macro does exist with the same name.
Between 3.1.24250 and 3.1.24338 (Dec 03/2024
- Correct erroneous Help in the Options => Submit panel.
- Ensure the main screen is locked when a file change notification popup is active.
- Reactivate the Right-Click context menu in File Manager. It had gone AWOL.
- Correct the handling of changes using the Case Conformant rules (i.e. when the CHANGE string is a T'abc' type literal). It was a) broken and b) discovered during the correction that it had never accurately performed according to it's description.
- Correct the RLOC (Repeat Locate) command to properly 'wrap' from Top/Bottom when a search is unsuccessful. This has been non-functional for quite some time.
- Revise the macro Debug display to provide a scrolling window (both vertical and horizontal) rather then the previous fixed window where valuable info could easily be 'lost' by scrolling off the top.
- Add a new macro function SPF_DebugLog(ON|OFF [,filename] ) to support directing macro debug information to a disk file rather than a desktop window. For details, see the Help file.
- Correction to the handling of SPF_Post_DO strings to prevent truncation.
- Correct the interaction of "Warn on Edit of non-text files" and the EFT option of NONTEXT OPENWITH.
- Correct SAVEAS so that the Profile for the newly saved file is used to resume editing.
- Correct the (ResetCmd) KB primitive to properly clear Line Commands.
- Correct the (Delete) KB Primitive to properly adjust the line's attributes.
- Correct macros Get_Src_Op and Get_Dest_Op.
- Enhance the CrashSave logic to save any open SetEdit or EFTEdit sessions. The files will be created in the normal HomeData folder.
- Revise the popup message which warns of a View session being ENDed with modifications made to it, to better describe the options available.
- Tweak the UNDO/REDO code to correct some inconsistencies.
- Revise macro functions for fetching line commands to be more consistent.
- Cleaup old code in CFGMaint related to a proposed new function which did not proceed.
- Addition of new KB Primitives to support substitution of strings stored as SET variables. The new Primitives are (Set0) thru (Set9).
- Add support for conditional KB substitution. This provides an IF/ELSE form of assignment which can allow a single key to have multiple possible assignments depending on the context. See Help for more details.
Between 3.1.24198 AND 3.1.24250 (Sep 6/2024)
- Correct handling of a Profile override on the Windows command line, it was being ignored.
- Improve BACKUP handling of the special edit sessions (EFT, CLIP, and SET) so that the backup files are named properly to invoke the proper Profile when being viewed.
- Correct error in handling messages from an IMACRO.
- Correct handling of the Post_Do command queue.
- Extend AUTOBKUP support to the CLIP, SET and EFT tabs.
- Additional changes to BACKUP/AUTOBKUP. SET and EFT backups will now properly save the correct 'before' data. CLIP will use the proper timestamps for named CLIP file backups. AUTOBKUP will not back up named temporary CLIP files (those with a leading _ character).
- Backup of named CLIP sessions will now include the NAME of the CLIP file in the Backup name.
- Add a new macro function Get_TabNum which will return the active tab number.
- Correct handling of RETRIEVE/CRETRIEV/RETF commands.
- Enhancements to the macro file attribute functions: Get_Filexxxx$ to work with CLIP, SetEdit and EFTEdit session more reasonably.
- Corrected handling of command retrieval in File Manager, it was not properly adding all commands to the Retrieve stack.
- Consolidate multiple internal tables for CFG variables into a single table to ease maintenance.
- Remove the ASSERT option from the TAG command. This was an option which challenged most users to understand, alternative options of TAG provide the same function so ASSERT has been removed.
- Correct handling of Read-Only files when selected from File Manager. An erroneous error message was being issued.
- Improve the command parsing. It can now handle 'ignorable' keywords.
- Add new macro functions related to Get_Find variables. This will now allow fetching the location of both the first and last lines localted by a FIND ALL command.
- Correct handling of special lines (Tabs, Mark, Mask etc.) so that if they are deleted after making a change to the line, the change is properly 'thrown away'.
- Add a new Macro function 'Is_Available' to test if a filenae actually exists and is also not locked by some other process.
- Allow Drag/Drop of a folder onto SPFLite to cause the folder to be opened in File Manager.
Between 3.0.24069 AND 3.1.24198 (Jul 16/2024)
Items That MAY Impact You.
- Some old commands of very limited usefulness have been removed:
AUTONUM Renumber lines automatically
FOLD Always Uppercase text data when displayed
NONUMBER Turn Number mode off
NUMBER Validate and generate line numbers
NUMTYPE Define the numbering 'style' to use
ORDER Re-Order file line numbers
UNNUMBER Remove existing line numbers
- Support for 'Command Chaining' has been removed. This is NOT the support for separating multiple commands on the command line. Command Chaining provided a powerful method to pass located data lines between commands. Unfortunately there was a steep learning curve to master the technique, and it was never really utilized.
- Numeric literals, such as +123, -2 etc. which previously were treated as simple literal strings must now be enclosed in quotes. e.g. '+123' "-2" etc.
- Remove the FIND and CHANGE operands which alter the working options (FIND WORD|CHAR and CHANGE CS|DS) and move those operands to the MODE command. This means the MODE command now looks like:
MODE [ EDIT | BROWSE | VIEW ]
[ WORD | CHAR ]
[ CS | DS ]
- Add new support for dynamically specifying the MACLIB name as a prefix to the macro name on the command line. e.g. maclibname:macname
- Add a new primary command LABEL which provides a variety of options to assist in manipulating Line Labels. See Help for full details.
Minor New Features That May Be Of Interest
- Upgrade the INCLUDE support in the SUBMIT command to handle UTF8 files with embedded BOM markers.
- Correct error message display so that messages issued by a macro are not removed until all macro issued Post_Do commands are complete. Additional corrections to resolve problems in KB macros with multiple commands.
- When deleting a FILE section in MEdit, if that File section was modified you will now receive a warning pop-up with a Continue or Exit option.
- Add a new option to trigger display of a used macro name on the Message line following an interaction. This can assist in confusing situations where there is a macro with the same name as a real SPFLite command.
- Add a new Options => Screen item to allow specifying the format of the =FILE> line used in MEdit sessions.
- Extend the SET ALIAS support to handle up to 3 operands in the ALIAS name. This will allow actions like having CMD1 AAA and CMD1 BBB return different alias strings. See Help for more details.
And As Always, Miscellaneous Bug Fixes and Minor Command Enhancements
- Correct support for creating a new INSTANCE. It was not properly copying the correct previous INSTANCE, it was always copying DEFAULT.
- Correct IMACRO support. FileWatch ReLoad and MEdit were not honoring an IMACRO xxxx OFF setting.
- Correct the generalized internal search routine: The support for negative color searches was simply not working.
- Correct the Get_FileBase$ macro function to return the proper filename from a MEdit session.
- Correct a delete of a FILE section in MEdit. It was incorrectly setting the modified flag on the next FILE section.
- Correct an error in the Environment variable substitution routine which was causing a character to be dropped.
- Correct an error in handling empty SET tables.
- Completely separate the setting of Profile options SOURCE and COLLATE to avoid confusion. Previously setting SOURCE could also result in COLLATE being changed.
- Correct a bug which prevented the File Manager FF (Find in Files) command from processing files which required usage of the XFORM macro support to read the file. Also FF was not always switching back to FM Mode after the search.
- Correct the opening of Font and Color Choice dialogs to properly block the previous dialog (e.g. OPTIONS) from being closed before the Font/Color dialog is complete.
- Correct an error in the Macro function SPF_EXEC, it was not setting the Return Code properly.
- As part of this release, errors were detected in several commands which were not handling all their optional features as documented. They were corrected.
- Performance improvements to the search routines for large tables. Serial searches were replaced with Binary Search routines.
- Some tweaks to the primitives WordLeft, WordRight and MASK insertion on Inserted lines to improve cursor positioning. Also allow WordLeft and WordRight to be used on the command line.
- Increase stack space to allow MEdit to handle a larger number of files being loaded when FileWatch is also active. The limit is now ~~ 500 files.
- Alter (slightly) the syntax for the SET command to better support the need for SET variables.
- Add a warning whenever an SPFLite macro located in the Primary MACLIB folder is created / written / renamed etc. IF the macro name would effectively replace a standard Primary or Line command. This is just a reminder to help avoid future confusion when a normal function seems to be mis-behaving.
- Alter the display of =FILE> lines so they do NOT scroll sideways during LEFT / RIGHT operations.
- Upgrade the SQL library support to the latest version of SQLite (3.46.0) to pick up any SQL fixes and maintenance.
|