EDWIN is a programmer's editor based on the Borland Editor
Toolbox. It offers multiple editing windows and buffers, block
moves between windows, undeletion, online help, Pascal structure
editing, macro record and playback, DOS invocation from the
editor, and file size limited only by available RAM.
For IBM PC and true compatibles. Keystrokes are WordStar
compatible by default, but are fully configurable. Works with
monochrome or color cards. Requires 256K.
A. New Features
Relative to version 1.3, this version of EDWIN has the following
Whenever you are prompted for a file name, you can enter the
name of a drive, directory, or wildcarded file specification.
EDWIN will pop up a window showing the matching files, and you
can select one via the Up and Down arrows and the key.
In adding the popup directory picker, we irrevocably exceeded
Turbo's 64K code segment. As a result, EDWIN now has a single
overlay file, EDWIN.000. This file must be kept in the same
drive and directory as the other EDWIN support files. The
specific location can be specified using the installation
Scrolling performance has been improved on CGA adapters. The
screen is not updated continuously, but just once for each
6 windows are enabled. A zoom mode allows the current window
to grow to fill the full screen, hiding any other files until
zoom is toggled again.
The window status line has been redesigned. New information
includes the bytes used up to the cursor location, and a
"save flag" indicating when the file has been changed, as well
as a zoom indicator.
The text cursor now can be installed in either of two modes. A
non-blinking solid cursor of any color can be chosen.
Alternatively, the blinking hardware cursor changes size to
indicate whether the editor is in insert mode (fat cursor) or
overwrite mode (thin cursor). The BIOS is kept fully informed
of all cursor positions and modes in order to work better with
memory resident writer's assistants.
A default macro file, EDWIN.MAC, is automatically loaded into
memory when the editor is started. The EDWIN.MAC we supply
includes macros for indenting and unindenting text and
inserting standard Pascal constructs (procedure, function,
program, register set) into a program. A full blown macro
editor is incorporated into the installation program EDWINST.
This macro editor can be used at any time to generate new
macro files. The macro record mode within EDWIN is still
The keyboard remains fully reconfigurable. The installation
program now automatically generates a help file matching the
current keyboard installation. The installation program now
has an option for "fast install." This sequentially prompts
for each entry, and is the desirable method if you are
reconfiguring many keys from the WordStar version.
To save code space and add generality, the help facility now
treats the help file just like any other file or window.
Pressing the help command sequence opens a new window, reads
the help file from the installed directory, and lets you do
any EDWIN commands within that file. Note that you can modify
the file if you see fit. To exit help, press the Quit file
command (by default, ^K^Q).
The EDWIN search algorithm now allows searching for the end of
line, which is found with the key combination ^M^J
(carriage return/line feed). This makes design of certain
macros feasible, including the autoindent marked block macro
which is supplied.
A "Delete no recourse" command was added. This deletes the
current line without putting it on the undo stack. It is bound
to the Ctrl-Del key combination by default, so watch out!
If you have previously reconfigured KEY files or macro files from
earlier versions of EDWIN, these will need to be rebuilt. The
addition of new commands, and a change in the format of macro
files, make this necessary.
Other smaller improvements will become apparent when you use
A number of small bugs, and a couple of not so small ones have
been fixed. These include:
Wasteful memory allocation when many newlines are inserted
at the end of a line.
Occasional crashes or a weird flashing of the current line
after a marked or global replace.
Odd placement of the cursor on the top command line, or
mangled text messages there.
Paragraph reformat wrong for the last paragraph of a file.
Invalid parsing of filenames using the ..\ or .\ prefixes.
Block markers set incorrectly after blockreading a file
into a file.
^QL (Restore line) not setting the "modified" flag.
Multiple windows onto a single file causing a crash when
significant deletion was done in one window.
This program was written by Kim Kokkonen of TurboPower
Software and is supported on a hobby basis. We will
appreciate your suggestions and comments, but cannot promise
This program has been released to the public domain for
personal, non-commercial use only. You may use it yourself,
give it to your friends or co-workers, or distribute it for
a cost-based fee as part of a user's group or bulletin board
service. If you wish to distribute this program as part of a
commercial package, please contact us for a license
If you ask for support or updates of this program, please
expect to make enough of a donation to cover our costs. We
will ask $10 to send you the latest version of the program.
Our business number is 408-438-8608, and is answered
Monday-Friday 9AM to 5PM Pacific time. We can also be
reached via CompuServe [72457,2131].
Our real business is the development of tools for Turbo
Pascal programmers. Our products include:
TurboPower Utilities - 9 programs: Pascal Structure
Analyzer, Pretty Printer, Execution Profiler, Execution
Timer, File Compare, Regular Expression Find and Replace,
Super Directory, File Finder, Command Repeater.
Turbo EXTENDER - offers 640K code model (with overlay
support as well) for Turbo. Also large data arrays, up to
30 megabytes. Plus a disk cache toolbox, a program to
analyze overlayed Turbo programs, a Pascal source code
encryptor, and more.
T-DebugPLUS - a source level debugger for Turbo Pascal.
For sub-64K programs, the debugger integrates into the
Turbo development environment and provides the ability to
breakpoint on source statements or procedures, as well as
the ability to examine and change variables using normal
Pascal syntax. For Turbo EXTENDER programs, or for those
requiring the services of a machine level debugger, the
debugger creates a DOS-standard symbol file for the
program, allowing use of other symbolic debuggers such as
Symdeb, Atron and Periscope.
Many thanks to the following people for their aid in the
development of EDWIN: Bela Lubkin (DOS EXEC function,
Command editor, DOS Critical error handler, mucho beta
testing), Randy Forgaard (fast text search), and Brian Foley
(fast CGA screen writer). And of course to Borland for the
Editor Toolbox in the first place.
D. Table of Contents
This document is organized as follows:
3. EDWIN Overview
4. Cursor Movements
5. Quick Movements
6. Inserting and Deleting
7. Find and Replace
8. Files and DOS
10. Blocks and Markers
13. Text Processing
14. Final Notes and Cautions
EDWIN is supplied with several files which are accessed when the
editor is started up. The name and purpose of each file follows:
EDWIN.COM - the main executable file (** required)
EDWIN.000 - overlay file (** required)
EDWIN.KEY - the keyboard definition (** required)
EDWIN.MSG - text messages used during editing (** required)
EDWIN.HLP - online command summary (optional)
EDWIN.ERR - error messages (optional)
EDWIN.MAC - default macros (optional)
Those files labeled as "required" must be accessible to the
editor when it is loaded. The "optional" files will be ignored
if they are not found at load time.
The drive and directory where the support files are to be found
is configurable via the installation program, the use of which
we will now describe. All of the support files must be kept in a
EDWINST.COM is the EDWIN installation program. Before running
it, you should be sure that all of the files listed above are in
the same directory as is EDWINST.COM, and that the default drive
and directory are set to that directory as well.
EDWINST is a menu driven program and should be straightforward
to use. It offers several main categories of installation:
Screen - includes "snow control", editor colors, and cursor
Commands - includes ability to edit or fully reconfigure the
keystrokes used to activate all EDWIN commands. Also
generates the EDWIN.HLP file which will serve as an
online command summary.
Options - includes the pathname to the support files, default
settings when the editor is started, size of the
undelete stack, the terminator written at the end of
file, and the handling of tab characters on read-in
Macros - A general purpose macro editor that reads and writes
macro files in the format required by EDWIN. Use this
to maintain the default macro file, or any number of
other macro files.
There are a few interactions between these categories of which
you should be aware.
You should choose the Screen installation area first. Your
choices here may affect the speed of display of the rest of the
If you plan to reconfigure the keyboard, you should visit the
Command installation area next. The results of the
reconfiguration will affect the keys you use to install macros.
The keyboard installation will operate in either of two modes.
If you plan to change many or most of the keys, choose the "fast
full reconfiguration" mode. This one prompts sequentially for
all commands, and will save keystrokes in doing the definition.
After going through the sequential entry, you will have an
opportunity to edit any of the entries in a full-screen random
access mode. The random access mode is preferable if you are
tweaking a few commands, or adding your favorite function keys,
Each command supports a primary and secondary key sequence. You
can choose any unique set of keystrokes for all commands. Each
command is limited to 4 characters (note that extended ASCII
characters count as 2 each). EDWINST will not accept normal
alphabetic characters for commands. Note the requirements of
uniqueness - if one command is activated by , another
cannot be activated by . Otherwise EDWIN would not
know when to stop looking for command keystrokes.
One of the commands reconfigurable during keyboard installation
is the help key. If any keys are chosen for this command,
EDWINST will write a fairly large help file (EDWIN.HLP) which is
loaded into memory when EDWIN runs. The full help file uses
about 15K of RAM space while EDWIN runs. If you don't want help,
or if you need to regain the 15K of space, delete the keystroke
definitions for the help command. In this case, EDWINST will
write a minimal help file using less than 1K of RAM space.
EDWINST also writes the names of each of the default macros to
the help file, if a help key is installed. If you change the
macro definitions, you will need to return to the Command
installation area to rewrite a help file with updated
The Options and Macros areas can be visited last. The Options
area is most important because here you choose where the EDWIN
support files will be kept. By default, the support files must
be in the current drive and directory when EDWIN is started. If
you use EDWIN frequently, we recommend that you keep it and its
support files on a RAMdisk. This makes program loading almost
The Macro area can be used as a general purpose macro editor for
EDWIN even after installation work is done. The macro editor
first prompts for a macro file name, with a default of
EDWIN.MAC. Enter a non-existent file name if you wish to create
a new file of macros. You can also edit an existing file and
write the results to a different file.
After loading the macro file, you can scroll through the 10
available macros to choose which to edit. Choose one by pressing
its number or selecting it and pressing . You can leave
the macro editor at this point by pressing .
After choosing a macro, you will be prompted to enter or edit
the name of the macro. The name is simply a mnemonic string
which will appear in the online help and during later editing to
remind you of the function of the macro. It is not connected to
the keystrokes used to invoke the macro. The keystrokes used to
invoke a particular macro are chosen in the Command installation
After you enter the macro name, you can edit its contents. The
macro editor operates in two modes. The "command" mode reserves
several keys to aid in the function of the editor. The following
macro editing keys are supported:
, , and
move the editor cursor around the macro.
deletes the keystroke pointed to by the cursor.
deletes the keystroke to the left of the cursor.
clears the current macro.
copies another of the loaded macros into the current macro.
terminates editing the current macro. You will be prompted
whether to save any changes produced by editing.