Edge 1.704


	Edge is a fully customizable and fully configurable text editor with
powerfull ARexx support.


	Name:		Inovatronics, Inc.
	Address:	Suite 209b
				8499 Greenville Avenue
				Tx 75231-2499

	Telephone:	++1 214 340 4991
	FAX:		++1 214 340 8514

	Name:		Inovatronics, Ltd.
	Address:	Unit 11, Enterprise Center,
				Cranborne Road,			
				Potters Bar,
				Hertfordshire 8N6 3DQ.
				United Kingdom

	Telephone:  +44 707 662861		
	FAX:		+44 707 660992		

	Name:		Inovatronics GmbH
	Address:	Lütticher Straße 12
				53842 Troisdorf-Spich

	Telephone:  +49-2241-40 68 56
	FAX:		+49-2241-40 67 73  

	E-mail:		inovatronics (BIX)
				75300,61 (Compuserve)
				inovatronics (Portal)


	Sorry, I do not have information about the list price handy. The going
price was DM 100.- at the Cologne World of Commodore.


	Edge requires at least 1 MB of memory, and OS 2.04 or above.

	It is assumed that ARexx is up and running on your system.

	Having a non-68000 Amiga is not necessary, but highly recommended.



	Edge can either be run off the original disk, or installed on a


	My test setup includes:

	o	Amiga 3000, ECS chipset, Kickstart 3.0, Workbench 3.0
	o   2 MB of Chip and 8 MB of 32 bit fast ram
	o	Picasso II graphics card with 2 MB installed
	o   Piccolo graphics card with 2 MB installed


	The supplied installer script will copy all necessary files to a
directory of your choice.  The full installation takes up about 800 kb of
harddisk space.


	[ First of all, I have to mention that these are my first impressions
of Edge.  I have just played around with it a few hours, and so my opinions
might yet change considerably.  I'm planning to release a full review in a
few weeks when I feel I have familiarized myself well enough with the
product.  In the meantime, please feel free to mail me your comments and
observations about Edge.  - Thomas ]


	Why first remark upon seeing Edge was, "Why yet another editor?"

	After all, there's CygnusEd, TurboText, GoldEd, DME, and dozens of
others - is there really room for one more?  The answer is plain and
simply, yes.  Edge features nothing radically new, but it manages to
incorporate all the good features of the other editors.  It can be totally
customized to your liking and your needs.  Like you'd expect from a OS2.x
application, you can select fonts and colors of your liking, and have it
run on the Workbench or a user selectable screen in any resolution.  You
have complete control over menu layout and functions, so you can easily
extend Edge to do whatever you want.  Configurability even goes as far as
to allow you to change keyboard and mouse button definitions.

	It's got "un"-limited Undo just like CygnusEd, and it's got folding
like TurboText.  If you wanted to, you could make it look and behave just
like any of the two.

	Edge is a very powerful tool in the hands of the experienced user.  To
use it to it's full extent, you should be familiar with ARexx or at least
with programming in general.  Customizing Edge takes some guts once it gets
beyond redefining preferences, requester texts and general menu layout.

	The average user will propably satisfied with the features the plain
Edge has to offer.


	Edge's general layout adheres basically to the Style Guide rules set up
by Commodore.  It's using GadTools gadgets, and if you ask for it, you'll
also get ASL requesters, which then can be redirected to the requester
library of your choice.  The text scrolling doesn't use hacks to obtain
extra speed, and consequently doesn't interrupt serial data transfers.  It
also works just fine on redirected Picasso and Piccolo screens.

	Still, Edge isn't as stable as it should be.  In the course of this
test, I have managed to crash the program once or twice.  However, I have
been reassured by Inovatronics that they intend to stamp out every bug they
can get a fix on.


	Speed is what most users expect from a powerful text editor.  It has to
be responsive to input to be usable.  Edge delivers in this department, at
least on the A3000.  The scrolling speed is configurable, and can easily
set to approximate that of your favourite editor.  However, with horizontal
scrolling there seems to be no provision to specify a scroll width:  If you
move against the right scroll border, the whole display just scrolls one
character to the left.  I could not get Edge to do jumps of several
characters width, which would mean that horizontal scrolling would occur
less often (See BUGS).

	Fast vertical scrolling using shift cursor up or down is a bit jerky.
I, like many CygnusEd users, love the way CED produces a still legible
display in this mode.


	Edge provides all of the usual copy, cut and paste functions, but
twice!  One set of the functions operates on a local buffer that is private
to each display, and the other uses the clipboard.

	Cutting and pasting of columnar blocks is also supported, and it's
blindingly fast!  I took a massive 511 kb text file of about 8500 lines,
and cut the first column, and it took Edge all of 10 seconds to copy it to
the clipboard.  With CED, such an operation takes several minutes!
Reinserting that block where it belonged is maybe as fast, but I wasn't
able to verify this with text cut to the clipboard, since Edge inserts that
text above the old text, and not where it belongs. Later on I found out
that this is a limitation of the supplied menu file, which doesn't give the
user a menu with the appropriate "PASTE CLIP GLOBALCOLUMNAR" entry.

	Search and Replace operations work on about the same scale.


	The ability to define macros on the fly is the hallmark of the truly
powerful editor.  With Edge, all you do is select the appropriate function,
choose a key to bind the macro to, and right then the recording starts.
Until you stop the macro recording, every action in the editor is tracked
and recorded as an ARexx program.  This means that you could use the macro
function to create a skeleton ARexx program that you could extend later on!

	However, in the current version of Edge, there are some caveats.  It is
completely possible to type in recursive macros, even without bad
intentions!  Just imagine you wanted to redefine the return key to insert
two returns instead of one:  the straightforward way would be to select
return as the key to bind the macro to, and then to hit return twice.
However, during execution, this leads to (at least theoretically) endless
recursion.  If you're quick on the uptake, you can hit ESC in time to bring
up a command requester to execute "hi", which forces all currently running
ARexx programs to halt immediately.  All you have to worry about then is
the batch of "ARexx execution interrupted" requesters that will pop up.

	I'm also still searching for a way to revert a macro key definition
without reloading the whole keyboard setup.


	Another power-feature is text folding: Edge lets the user define
special fold marks that encapsulate the text to be folded. However, those
marks must be placed in the first column of the text to be recognized. The
line the fold start marker is in is not folded away, but remains visible.
This provides an easy way to label a fold.

	Hiding and showing of folds can occur at three levels:  For example,
the normal "Hide" operation hides the fold the cursor is currently in.
"Hide nested" hides this fold as well as all folds that enclose this fold.
"Hide all" affects all folds in the current document.

	The fact that Edge uses certain sequences to delimit folds has it's
pros and cons: While they are a pain in the ass with plain text, they can 
be integrated without problem with any kind of programming language. Having
the fold markers in your source text also makes sure they are around next
time you're using Edge.

	With ANSI C, be sure to change the fold markers to something different
from /*FS*/ and /*FE*/ - otherwise you might get some really funny compiler
errors when you comment out folded parts of your code.


	Edge can edit multiple files at once, with multiple views on each file.
Basically, the number of files and views depends on how much your CPU and
memory can handle. Each view on a file gets it's own window, so it's
perfectly possible to have vertical and horizontal splits. All views are
linked, so that the changes in one view are copied to all other views of
that particular text passage.  This works admirably well, except for the
rendering of a marked block - this works only in the currently active view.


	Normally, each invocation of Edge opens a new file on the first Edge's
screen. However, you can also force Edge to be opened several times. Each
copy has an unique ARexx port, named EDGE1, EDGE2, etc. Individual files
and views have their own unique ports, whose names are created by extending
the executing Edge's portname.  The port of the only view of the first file
edited on the first edge is of course EDGE1.1.1, while EDGE2.1.3 would
address the third view of the first file edited on the second running copy
of Edge. This way, information is easily shared among different views and


	Reviewing every feature of Edge would surely go beyond the scope of a
mere Mini-Review, so I'll just summarize some of the other neat features of
Edge. For one thing, I liked they way Edge handles the local setup of
files: When a file is saved, an appropriated icons is created. It's
tooltypes contain the local setup at the time of the save operation, so you
can resume your work where you left off. Edge actually places the cursor
where it was when you saved, and things like tab settings or bookmarks are
preserved as well.

	Searching and eventually replacing text is no problem at all. Like
you'd expect there is a history of strings to search for, and you can
select the direction of the search as well as whether you'd like to search
circular - continuing at the start when you reach the end, and vice versa.
Pattern search is there, as well as a function to copy blocks directly to
the search and replace buffers.

	Freely configurable templates allow for speedy typing. All you have got
to do is set up a list of templates, and configure a completion key of your
liking. You then type in a few characters of the template - just enough to
provide unique identification - and then hit the completion key. Supplied
is a templates file for the C language that demonstrates how to set such a
beast up. With this file, you just type w , and it inserts a full
template for a while-construct.


	Since information about certain functions of Edge is hard to get, I
have skimped on the following subjects:

	- Dictionaries. Edge does have some kind of dictionary support. From
what I can tell right now, it looks neat for programming, but unusable for
ordinary typing.

	- Error lists. Obviously some functions to work with compiler generated
error lists. I haven't found out about these yet.


	This is currently one of my major gripes with Edge:  The box only
contains a small booklet of 22 pages, of which 4 pages are a feature
list, and another four pages are dedicated to an ASCII chart. The rest is a
basic installation description and a guided tour through some of the
functions of Edge.

	The main bulk of the documentation is provided as AmigaGuide file.
Sure, it's all in there, but there's no starting point!  I really wish Edge
had at least some printed programming documentation which explains how the
individual parts of the program tie together.  Looking for certain
information in an Amigaguide file surely gives the word RTFM (Read The Fine
Manual) a new meaning.


	As mentioned above, the printed documentation should be improved. I
love having an Amigaguide file around for reference, but it's just no
substitute for at least a small tutorial.

	Currently, there is no synchronized edit feature. I'm thinking of
something along the lines of the CygnusEd "ed -sticky" feature, where the
ed command invokes the editor, and waits until the last view on the edited
file is closed. This is crucial if you want to use Edge in a newsreader
or something like that.

	I have tried to simulate this behaviour via ARexx:  The invoking
program creates a well-known ARexx port and waits for a quit message from
Edge.  Inside Edge, a quit & save function first saves the file, and then
notifies the caller before closing the window.  This function is
implemented as a short ARexx macro, which leads to an interesting problem:
The window expects to receive the outstanding ARexx completion message
before it closes, but ARexx only sends it after having closed the window.
Using the FORCEREXX option to ignore this doesn't strike me as the Right
Thing.  Ideas, anybody?

	The way ARexx is used to make Edge tick fascinates me. It means that
you can use Edge as just about anything! I have already made wild plans to
use it as the cornerstone of a truly flexible LaTeX system,...


	I'm fairly competent with CygnusEd, as you'd expect from somebody who's
been registered user since back when CEDpro I came out.  If I were to sum
up my comparisons in one sentence, I'd say that Edge has all the power and
flexibility you'd expect of a real winner, but that CED has the advantage
due to maturity and reliability.


	The current binding of the folding keys doesn't not work for my german
keyboard definition. I suspect the "NumericPad" qualifier is broken.

	Entering the wrong scroll values can produce nasty results. I tried to
emulate CED's jumping horizontal scroll by entering a n-scroll value of 40.
That itself wasn't fatal. Trying to scroll was.

	Insertion of columnar blocks cut to the clipboard doesn't work with the
default menu:  The text is inserted as if it was a "normal" block.  This
could be circumvented by offering the appropriate "paste columnar" submenu

	Edge doesn't prevent the user from entering recursive macros:  If I
bind something to key x, hitting x should not result in a call to the macro
of x later on, but should instead insert the native meaning of x.  This
way, failed macro definitions could be cancelled quite easy.

	Macro recording also has it's troubles when recording a menu selection
that is not an atomic command. I tried to record a macro that would spilt
the current window vertical, and then panel all windows horizontally. The
menu binding "window splitvertical" was inserted in the macro file
correctly, while the binding of the "panel horizontally" menu entry, a call
to an ARexx macro program, got lost somehow.


	Inovatronics have support converences on Compuserve, Bix and Portal, as
well as free technical support via fax and telephone for registered users.

	I have currently no informations about their product update policies
regarding Edge.


	Standard warranty as applicable by local law.


	This mini-review has left me with mixed feeling about edge: It is
surely a very powerful and flexible product, but at the present it is still
flawed. Some documentation of the current weak points would surely help the
user to avoid them. With continous support and upgrades, Edge could very
soon become the new state of the art editor. Inovatronics is just the right 
company to do this, as we have seen from their other products, like CanDo
and DirOpus.

	With regard to the rather lengthy bug list and the sparse
documentation, I'd rate Edge 1.704 three stars out of five, with the option
to increase this rating to four or even five if new versions with proper
documentation and fewer bugs become available.


	Copyright 1993 Thomas Bätzler.  All rights reserved.

Auswege: Impressum, Haftungsausschluß, Datenschutz, zurück zur Amiga-Seite, Meine Homepage.
Links: Imprint, back to the Amiga page, My Homepage.

Thomas Bätzler,
$Id: edge.html 1.4 1995/11/17 09:12:41 thb Rel thb $