E! for Windows - Complementary documentation
********************************************

You'll find here the documentation for last minute changes and for
features that have been added since your manual was printed. Reading this
file and CHANGES.TXT will also give you a good overwiew of what's new in
E! for Windows.

Version 1.10

02/06/93 - Added Control Area in the Edit Windows
*************************************************

Lines of text are no more displayed close to the left Edit Window border.
Moreover, the small area between the first column of the displayed text
and the left internal window border is now called the Control Area.

Some interesting new functions can be triggered with the mouse from this
Control Area:

Clicking with the left mouse button in the Control Area will select the
corresponding line in the text area.

Clicking with the same button and dragging with the mouse will select
multiple lines of text exactly as this would happen with the Alt +
up/down arrow keystroke or by dragging the mouse with the Alt and Shift
keys depressed.

Double-clicking with the left mouse button in the Control Area will
duplicate the corresponding line of text.

If you have selected one or more lines of text in LINE or BLOCK mode, you
can shift the whole block of lines to the right by clicking with the
right mouse button anywhere in the Control Area. Maintain the mouse
button depressed to accelerate shifting. If you have made a BLOCK mode
selection, right shifting will begin at the block left margin. In that
case, left shifting will destroy data existing on the left of the shifted
block. The marked block will be destroyed if you shift left past the
first column. If necessary, use the Undo function to retrieve the lost
data.

Shifting text to the left is the same process as right shifting, except
that you have to depress the Ctrl button before clicking on the right
mouse button.

All these functions move the cursor to the beginning of the
processed line. Of course, the Undo function will restore any change
made using these functions.

02/14/93 - Added Jump on Home/End option
****************************************

The default behavior of E! is to jump to the next line when the user hits
the END key while the cursor is already located at the end of the line.
Likewise, the cursor is moved to the beginning of the previous line when
the HOME key is pressed while the cursor is already located at the
beginning of the line. This behavior can now be disabled by unchecking
the "Jump on Home/End" option in the Edit Options dialog box of the
Control Center.


02/14/93 - Font Selection dialog boxes changed
**********************************************

Internal processing of fonts has been enhanced. Consequently, there's a
small change in the Font Selection dialog boxes. You may now specify a
font size for all fonts (not only the True Type fonts).

Also, instead of displaying all fonts in the listbox and using one line
per available font size, each font appears only once in the listbox.
Predefined sizes now appear in the "Font Size" combo box.


02/19/93 - Caret thickness control
**********************************

On some hardware configurations, the caret (keyboard cursor) may appear
too thin and difficult to see. To increase the thickness of the caret,
just add a thickness=n entry to the [showopt] section of ew.ini, n being
the new thickness in pixels.


02/23/93 - Set Default Size command (Windows Menu)
**************************************************

The default size computed by E! for the Edit Windows may not be well
suited for your system configuration. You can now change this default
size by either editing EW.INI (see the EW.INI section in EW.WRI) or by
merely selecting the Set Default Size command from the Windows menu while
the window has the appropriate size. This default size will apply to any
new editor created by E! unless the file has been recently edited. In
that case, the recorded size for that file will prevail.

02/27/93 - Added CompKeywords entry in EW.INI
*********************************************

compkeywords=

When compiling, depending on the length of the project file list and on
the position of the files in error in that list, scanning the compiler
output may last more time than you may want to accept. The reason for
that is explained in the Compiler Support section. To shorten the time
needed to scan the compiler output file, you may specify that an output
line must contain a certain keyword to be considered as an error message
(typical keywords would be 'error' or 'warning'). Specify these keywords
here. Please read more detailed explanations in the Compiler Support
section.

************************************************************************

Version 1.20

There are numerous changes in this version but they are all
self-explanatory. The only function requiring some explanations is the
new Drag and Drop server capability of the Control Center.

04/24/93 - "Files" listbox in the Control Center is a Drag and Drop server
**************************************************************************

Until now EW was only able to accept filenames dropped from other
applications (mainly the File Manager or a replacement program).

Now, EW itself acts as a Drag and Drop server. That is, you can select a
filename from the "Files" listbox of the Control Center and drop it onto
another application's window or icon. Of course, the result of this
operation depends on the target application but it will be the same as if
you had dropped the files from the File Manager.

Since the "Files" listbox already accepts drag movements of the mouse to
select a file, you have to indicate to EW that you are beginning a Drag
and Drop process by depressing the Control key before beginning to drag
with the mouse.


************************************************************************
Version 1.20a

05/23/93 - Time stamp checking
******************************

While running an EW session, the user can switch to any other Windows
application at any time and modify text files currently edited by EW.
Obviously, this may lead to problems if the user forgets to refresh the
files when returning to EW. Now, EW will automatically warn you if the
time stamp of any file that is currently edited has been changed since
the file has been loaded or saved. You'll be prompted whether you want:

 1. to retain the file version currently in memory (which is older than the
    version now present on your disk).

 2. to replace the version in memory with the disk version.

This will prevent from having consistency problems when regularly
switching to and from an integrated development environment having its
own text editor.


************************************************************************
Version 1.20b

06/08/93 - Added EWGetEditorLocalFlag and EWSetEditorLocalFlag functions to the API
***********************************************************************************

The existing functions (EWGetLocalFlag and EWSetLocalFlag) were acting on
the local options stored in the Control Center. These new functions have
exactly the same syntax. The only difference is that they modify or read
the current Editor's Local Options only. They leave the Control Center
Local Defaults settings unchanged.

More on the EWEditFile function
*******************************

The documentation fails to mention that trying to load a file that is
already edited will cause this function to return a null value. The
Editor containing this file will be put in the foreground.

06/19/93 - Passing Column and Row information on the EW command line
********************************************************************

Some integrated environments have a "Tools" menu for external programs
and special macros allowing to pass customized parameters to the called
program.

To make the integration of EW in those environments easier, you can now
specify the initial cursor position for any file loaded from the command
line. Here is the syntax to use:

       ew myfile.txt (col,row)

The "(col, row)" sequence should not contain any space and must
immediately follow the filename to which it applies. There must be at
least one space between the filename and the first brace. Here is a
sample command line:

       ew myprog.c (12,40) myprog.h (15,23)

will load both files at the requested position. Any position stored in
EW.INI for that file by the "Log Session" mechanism will be ignored.

Please see Technical Note #007 to see how to implement this feature when
using the Microsoft (tm) Visual C++ Workbench.


06/25/93 - Added EWSaveAll function to the API.
***********************************************

function  EWSaveAll : integer;
int FAR PASCAL EWSaveAll();

Save all modified files.


Return Value:

This function always returns 0.

************************************************************************
Version 1.20c

Some users have requested a placeholder for the project name in the
the "Commands" dialog box (Compile|Commands...).

## anywhere in a command will be replaced with the project name as entered
in the "Project File:" field of this dialog box.

************************************************************************
Version 1.20d

Until now you may have had problems when trying to compile single file
projects from E! with compilers issuing non-standard error messages.
Particularly if those compilers don't insert the source filename into the
error message string.

E! now supports these compilers, assuming the following requirements:

1. You *must* have declared a Message Descriptor for this compiler. See the
main documentation about Message Descriptors.

2. The should be *no* project file declared in the "Project File" field of
the "Commands" dialog box opened from the "Compile" menu.

Provided these conditions are met, E! will now be able to point to compiling
errors in the source file.

************************************************************************
Version 1.20g

Generating backup files
***********************

.BAK files no longer have the .BAK extension. This could lead to tricky
situations when saving files having the same filename and a different
extension. Now, if the filename extension is 3 characters long, the last
character is replaced with an '@' when backing up the file. If the
filename extension is less than 3 characters long, the '@' character is
appended to the existing extension.

Grep Dialog box
***************

The Grep dialog box now has a new button allowing to retrieve the last
Search string used in the Search/Replace dialog box. If you click on this
button, you can switch back to the previous "Grep string" by clivking on
the button again.

Modifying an existing selection
*******************************

Modifying an existing selection was not possible with previous versions
of EW. Releasing one the control keys (Alt, Ctrl or Shift) was terminating
the selection process.

Now, you can extend an existing selection by pressing the adequate key or
combination of keys again and using the direction keys, provided you are
using keys defining the same type of selection (Lines, Block or Stream)
as the active selection.

As usual, hitting a direction key will clear the current selection. But
you can move the cursor to another location using the right mouse button
and then extend the existing selection.

Let's make things clear with a small example:

Previous versions of EW:

You maintain the SHIFT key depressed while using the direction key. You
have generated a Stream Mode selection. Releasing teh SHIFT key terminates
the selection process. Depressing the SHIFT key again clears the current
selection and begins a new one.

This version:

Same thing but depressing SHIFT again will allow you to extend the current
selection. For example you could select a word at the beginning of a line,
release the SHIFT key, move the cursor to the end of the line using the
right mouse button, depress the SHIFT key again and use the direction keys
to extend the selection.
