The SemWare Editor (TSE) is a text editor product line. Initially named QEdit and released November 1985 as shareware, it was later modified to run as a terminate-and-stay-resident (TSR) program, and ported to OS/2 and eventually evolved (via rewrite) to TSEPro (professional edition).

TSEPro supports many productivity features including an automation macro language, regular expression search and replace, keystroke record and playback, undo and redo, and user-assignable shortcut keys. Like its predecessor QEdit, TSEPro is often used as a code editor.

Older versions (QEdit) supported MS-DOS and OS/2, and newer versions (TSEPro) support Windows and Linux.

QEdit

Manual, box and disk (circa 1990)

Initially, QEdit ran only on MS-DOS. As memory of contemporary computers was limited, less memory use was desirable. QEdit used only 50 KB whereas some contemporary editors used 10 times as much. Early versions maintained file content in conventional memory, but to support larger files, later versions supported various DOS memory management features including expanded memory (EMS), extended memory (XMS) and virtual memory, up to a maximum of 16 MB.

QEdit was ported to OS/2 as a 16-bit application for OS/2 1.x. Version 1.50 is dated February 1990.

SemWare ported QEdit for 32-bit OS/2 with the release of QEdit Pro 3.0 for OS/2 in February 1994 which sold for $99. Version 3.0 includes 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 versions were released as The SemWare Editor Junior edition. The last version was released in February 1997 for OS/2 with the name "TSE Junior/2". It is functionally equivalent to TSE Junior v4.00e with support for OS/2's system-wide clipboard and long filenames. It retailed at the time for $99 and was supplied with a copy of the MS-DOS basic version.

TSEPro

QEdit was rewritten and significantly expanded, and eventually released as The SemWare Editor Professional (TSEPro) edition which includes a macro programming language, syntax highlighting, and large file support. 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 features included regular expression search and replace and a more powerful scripting language (with access to DLL entry points).

Earlier versions operated in the console window in text-only mode with limited character sets and colors. Version 2.6 was a native 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 Graphics Device Interface (GDI). This is commonly misunderstood to be a console application, as it still appears textual despite being a Win32 graphical application. Visually, g32 appears to work in lines and columns, though it is a graphical application (via WinMain and GDI, not the Console API).

SemWare Application Language

The macro programming language, SemWare Application Language (SAL), uses a Pascal-like notation supporting procedural functions and procedures, local and global variables, constants, a preprocessor including common #include and #ifdef keywords, iterative and recursive control structures, and many text-editing-specific functions. SAL supports two data types: an integer is a 32-bit, base-2, signed, integral number, and a string is a fixed-size array of characters, with a maximum definable length of 255 characters. SAL supports the creation and use of text buffers, including non-interactive buffers, which are not visible to the user.

For example:

Timeline

MonthYearNameVersionDescription
May1985QEditFirst beta version
NovQEdit1.0First official release – Written in Turbo Pascal
Feb1986QEdit1.2Multiple windows
MarQEdit1.25
MayQEdit1.25A
JulQEdit1.30
Apr1987QEdit1.35
JunQEdit1.36
JulQEdit1.37
OctQEdit1.38Size decreased to 29 KB
Feb1988QEdit1.39
FebQEdit2.00Pulldown menus added
MarQEdit2.03Converted to Turbo Pascal 4.0
AprQEdit2.05
DecQEdit2.07Added Column blocks
Feb1989QEdit2.07A
JulQEdit2.08
Feb1990QEdit2.1Converted to C / First release of TSR version / First release of QEdit for OS/2 / First German translation
Mar1991First TSEPro beta / Includes first version of SAL, Virtual memory support, multifile, block support.
AugQEdit2.15
1992Product line split into TSE Jr. (formerly QEdit) and TSE Pro
Mar1993TSEPro1.0First release, Virtual memory, macro language
Feb1994QEdit3.0Last product named QEdit / HPFS support in OS/2 version
SepTSEPro2.0Help system, history
Mar1995TSEJr4.0QEdit renamed to TSEJr
SepTSEPro2.5Multifile find, save state, last DOS version
Oct1996TSEPro2.6First Win32 version – Console only
Feb1997TSE JR/24.0first OS/2 version of TSEJr; console only
MarFirst experimental Windows GUI version
JunTSEPro2.8Color syntax highlighting
Dec1998Experimental Windows GUI version killed
Apr2001TSEPro3.0Undo/redo
May2002TSEPro4.0First GUI version
Feb2004TSEPro4.2
OctFirst beta for Linux
May2005TSEPro4.4
Jan2022TSEPro4.42For Windows and Linux

See also

External links