The SemWare Editor (TSE) is a
text editor computer program for
MS-DOS,
OS/2,
Windows and
Linux.
Starting in November 1985 as a
shareware
Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer ...
program called Qedit, it was later modified to run as a
terminate-and-stay-resident
A terminate-and-stay-resident program (commonly TSR) is a computer program running under DOS that uses a system call to return control to DOS as though it has finished, but remains in computer memory so it can be reactivated later. This technique ...
(TSR) program, and ported to
OS/2 and eventually evolved (via rewrite) to TSE. TSE was eventually ported to
Windows.
TSE supports a Pascal-based
macro language
In computer programming, a macro (short for "macro instruction"; ) is a rule or pattern that specifies how a certain input should be mapped to a replacement output. Applying a macro to an input is known as macro expansion. The input and output ...
(SemWare Application Language or SAL),
regular expression search and replace, keystroke recording and playback, full undo and redo,
shortcut key assignment (both as configuration and on the fly) that allow extensive modification of the functionality of the text editor, and other features. Like its predecessor QEdit, TSE is used by programmers and others.
QEdit
QEdit was a versatile MS-DOS text editor requiring 50 KB of memory.

QEdit stores all of the files being edited in RAM. Later versions of QEdit added support for the various systems of memory supported by MS-DOS:
expanded memory (EMS),
extended memory (XMS) and
virtual memory, up to a maximum of 16
MB.
QEdit was ported to
OS/2 initially as a 16-bit application for Microsoft's OS/2 1.x. This 16-bit OS/2 version of QEdit had version 1.x. Version 1.50 for 16-bit OS/2 is dated February 1990.
SemWare ported QEdit for 32-bit OS/2 with the release of QEdit Pro 3.0 for OS/2 on February, 1994 which sold for $99. Version 3.0 included multi-file operation, HPFS support and access to the OS/2 Clipboard. SemWare claimed "over 120,000 licensed users" on all platforms at that time.
The last version released for OS/2 was "TSE Junior/2" v4.00e released on February, 1997. It was functionally equivalent to TSE Junior v4.00e for DOS with the addition of access to OS/2's system-wide clipboard and HPFS (long filenames) support. It retailed at the time for $99 and was supplied with a copy of the DOS basic version.
The SemWare Editor (TSE)
QEdit was rewritten and significantly expanded, and eventually released as The SemWare Editor (TSE) 1.0. The initial release maintained the tradition of fast I/O and response, fast search, a simple text scripting language and the fundamental design of a native core with functionality split between native code and scripting.
[
]
New TSE features included a more powerful scripting language (SAL),
regular expressions, a native Win32 port, SAL access to Win32
DLL entry points, a 'graphical' port using the native Windows GDI (previous versions employed the console window), optional native dialogs (e.g. Open), and graphical features such as window transparency.
User interface
Earlier versions of TSE operated in the console window in text-only mode with limited character sets and colors. Version 2.6 added a
native
Native may refer to:
People
* Jus soli, citizenship by right of birth
* Indigenous peoples, peoples with a set of specific rights based on their historical ties to a particular territory
** Native Americans (disambiguation)
In arts and entert ...
Win32 port, but was still character-based (using the
Win32 Console APIs). Version 4.0 included the
Win32 application rewritten as a
pixel-based graphical application (g32.exe) using the
GDI. This is commonly misunderstood to be a
console application, as it still appears textual despite being a
native
Native may refer to:
People
* Jus soli, citizenship by right of birth
* Indigenous peoples, peoples with a set of specific rights based on their historical ties to a particular territory
** Native Americans (disambiguation)
In arts and entert ...
Win32 graphical application. Visually, g32 appears to work in lines and columns, though it is a graphical application (via
WinMain and
GDI APIs, not the Console API).
SemWare Application Language
The SemWare Application Language (SAL) uses a
Pascal
Pascal, Pascal's or PASCAL may refer to:
People and fictional characters
* Pascal (given name), including a list of people with the name
* Pascal (surname), including a list of people and fictional characters with the name
** Blaise Pascal, Fren ...
-like notation supporting
procedural functions and
procedures
Procedure may refer to:
* Medical procedure
* Instructions or recipes, a set of commands that show how to achieve some result, such as to prepare or make something
* Procedure (business), specifying parts of a business process
* Standard operati ...
,
local and
global variables,
constants
Constant or The Constant may refer to:
Mathematics
* Constant (mathematics), a non-varying value
* Mathematical constant, a special number that arises naturally in mathematics, such as or
Other concepts
* Control variable or scientific const ...
, a
preprocessor including common #include and #ifdef
keywords
Keyword may refer to:
Computing
* Keyword (Internet search), a word or phrase typically used by bloggers or online content creator to rank a web page on a particular topic
* Index term, a term used as a keyword to documents in an information syste ...
,
iterative and
recursive control structures, and many text-editing-specific functions.
For example:
proc Main()
integer I
for I = 1 TO 3
Warn( "hello world ", I )
endfor
end
Data types
SAL supports integer and string data types.
An
integer in SAL is a 32-bit base-2 signed integral numeric; a
string
String or strings may refer to:
*String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects
Arts, entertainment, and media Films
* ''Strings'' (1991 film), a Canadian anim ...
is a (declared) fixed-size array of characters, with a maximum definable length of 255 characters.
SAL
APIs support creation of arbitrary
buffers, including non-interactive buffers not visible to the user. Many functions are available to access and manipulate buffers and their contents, effectively acting as very large text containers.
Timeline
See also
*
Comparison of text editors
*
Tim Farley
Timothy Patrick Farley (born August 12, 1962) is a computer software engineer, writer and instructor who lives in Atlanta, Georgia. He is an expert in computer security and reverse engineering as well as a skeptic. He was a research fellow of t ...
References
External links
*
{{DEFAULTSORT:TSE
DOS text editors
OS/2 text editors
Windows text editors