Get it here:
https://semware.com/files/tse-pro-install/tse-linux-4.50.20.zip
---------------------------------------------------------------------------------
28 Feb 2026 v4.50.20
---------------------------------------------------------------------------------
New commands: (see the help for more info on the new commands)
--------------------------------------------------------------
Clamp()
SetMouseCursor() (new command (not the name) suggested by Carlo Hogeveen)
Updates:
--------
Carlo Hogeveen - allow assignments in expressions in .s files,
as is already one in .si files.
Help Updates:
-------------
Need to update SqueezePath doc - should be _USE_HOME_PATH_, not _HOME_PATH_
many: need to update strfind() doc - example from:
if StrFind(haystack, "B0000.*\.msg", "x")
to:
if StrFind("B0000.*\.msg", haystack, "x")
Carlo Hogeveen:LoadDir() does not describe that it will return a
different value when
influenced by -i or TSELOADDIR.
Bug fixes:
----------
Carlo Hogeveen:Fix windows .ui re: ascii chart in prompts
Carlo Hogeveen:
If LoadHistory() has a non-existent file as a parameter or
tsehist.dat does not exist, then LoadHistory() sets
NumHistoryNames() to 0, but no histories are deleted from TSE's
history lists buffer.
That is inconsistent and corrupts TSE's history lists buffer.
***Code changed to clear history buffer in this case.
Also need a different message if the help file does not exist.
Files that have a mix of end-of-line types are not loaded correctly.
Fixed. Thanks to Carlo Hogeveen for the report.
Other:
------
Tom Collins found an issue with "for" and "downto".
The "help" has been updated with the following:
"When 'downto' is used, the 'by' value (explicit or implied) is subtracted
from the initial value at each iteration; therefore, the 'by' value should
generally be positive. Only use a negative 'by' value if you know what you
are doing."
Additionally, the macro compiler will note that it is a possibly
endless loop.