SemWare
   HOME

TheInfoList



OR:

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