--------------------------------------------------------------------------------
06 Oct 2026 4.50.31
--------------------------------------------------------------------------------
For Windows:
https://semware.com/files/tse-pro-install/tse-setup-4.50.31.zip
For Linux:
https://semware.com/files/tse-pro-install/tse-linux-4.50.31.tgz
https://semware.com/files/tse-pro-install/tse-linux-4.50.31.zip
bindcmds.si:
fixed bug in SetWindowWidth(n)
It was returning:
return (Query(WindowRows) <> orig_cols)
but should return:
return (Query(WindowCols) <> orig_cols)
Thanks to Stein Oiestad for the fix.
bind.si
if (i in 1..5)
if i == 6
AddLine("", about_buf)
endif
Can never be 6!
Thanks to Stein Oiestad for the report.
In internal file manager processing,
This horrible code:
string proc remove_last_dir(string dir0)
integer p
string dir[_MAX_PATH_] = dir0
if isDirSeparator(dir[Length(dir)])
dir = DelStr(dir, Length(dir), 1)
endif
p = Length(dir)
while p > 0 and (not isDirSeparator(dir[p])) and dir[p] <> ':'
p = p - 1
endwhile
if p
dir = dir[1..p]
endif
return (dir)
end
proc previous_dir()
Set(PickFilePath,
AddTrailingSlash(
remove_last_dir(
SplitPath(Query(PickFilePath), _DRIVE_|_PATH_))) +
GetNameExt(Query(PickFilePath)))
EndProcess(-1)
end
Was replaced with this:
proc previous_dir()
string s[PATHLEN]
s = GetDrivePath(Query(PickFilePath))
s = RemoveTrailingSlash(s)
s = GetDrivePath(s)
Set(PickFilePath, s + GetNameExt(Query(PickFilePath)))
EndProcess(-1)
end
Clang found a couple of possible problems in buffer handling,
changed out a couple of memcpy's to memmove.
Changed sketchy code for EndFile() handling that did not work
correctly under Clang/GCC/MSVC.
Fixed speed search bug in gcc/clang versions - cause was
bitfields, as their storage representation is implementation
defined.
Tightened up function declarations, added const for passed
strings in several places.
Reworked ExpandPath (again). Thankfully sanity covers this
pretty heavily, and it still passes.
Reworked FindFirstFile() and FindNextFile() - work hard to _not_
return the so-called short name if at all possible.
Did the same GetOpenFilename().
You can now load:
\Windows\System32\drivers\etc\hosts
again. Thanks to Sean Sliwinski for the report.
Added History to the read() in compile.MergeDataFile read().
Thanks to Knud van Eeden for the suggestion.
Sum now catches overflow. thanks to Guy Rouillier for the
report.
--------------------------------------------------------------------------------