Subject: MINI-REVIEW: Edge text editor version 1.704
From: [email-masked] (Thomas Baetzler)
Date: 12 Nov 1993 05:44:23 GMT
Newsgroups: comp.sys.amiga.reviews

PRODUCT NAME

	Edge 1.704

BRIEF DESCRIPTION

	Edge is a very customizable and very configurable text editor with
powerful ARexx support.

AUTHOR/COMPANY INFORMATION

  * USA

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

	Telephone:	(214) 340-4991
	FAX:		(214) 340-8514

  * UK

	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		

  * Germany

	Name:		Inovatronics GmbH
	Address:	L|tticher Stra_e 12
			53842 Troisdorf-Spich
			Germany

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

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

LIST PRICE

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

SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS

	HARDWARE

		1 MB RAM is required.

		An accelerated Amiga (higher than 68000 CPU) is highly
		recommended but not required.

	SOFTWARE

		AmigaDOS 2.04 or higher is required.

		It is assumed that ARexx is running on your system.

COPY PROTECTION

	None.

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

MACHINE USED FOR TESTING

	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 RAM installed.
	o   Piccolo graphics card with 2 MB RAM installed.

INSTALLATION

	The supplied Installer script will copy all necessary files to a
directory of your choice.  The full installation takes up about 800 KB of
hard disk space.

ABOUT THIS REVIEW

	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 after I have familiarized myself well enough with the product.  In
the meantime, please feel free to mail me your comments and observations
about Edge.

GENERAL INFORMATION

	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 has no radically new features, 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 "unlimited" Undo just like CygnusEd, and it's got folding
like TurboText.  If you wanted to, you could make it look and behave just
like either of the two.

	Edge is a very powerful tool in the hands of the experienced user.
To use it to its 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 probably satisfied with the features the plain Edge has to
offer.

SYSTEM CONFORMANCE

	Edge's general layout adheres basically to the Style Guide rules set
up by Commodore.  It uses GadTools gadgets and (if you desire) 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.

SCROLLING

	Speed is something 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 the BUGS section, below).

	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.

EDITING FEATURES

	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 system 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.

MACRO RECORDING

	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.

FOLDING

	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 its
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.

WINDOWING

	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.

AREXX AND WINDOWS

	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 port name.  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
files.

MISCELLANEOUS

	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 icon is created. Its 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 <complete>, and it inserts a full
template for a while-construct.

UNREVIEWED FEATURES

	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.

DOCUMENTATION

	This is currently one of my major gripes with Edge:  the box
contains only a small booklet of 22 pages, of which 4 pages are a feature
list, and another 4 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 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 phrase "RTFM" ("Read The
Fine Manual") a new meaning.

LIKES AND DISLIKES

	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 work 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,...

COMPARISON TO OTHER SIMILAR PRODUCTS

	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.

BUGS

	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 were a "normal" block.  This
could be circumvented by offering the appropriate "paste columnar" submenu
item.

	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 its troubles when recording a menu selection
that is not an atomic command. I tried to record a macro that would split
the current window vertically, 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.

VENDOR SUPPORT

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

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

WARRANTY

	Standard warranty as applicable by local law.

CONCLUSIONS

	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 continuous 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 as 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 NOTICE

	Copyright 1993 Thomas Baetzler.  All rights reserved.

You can contact me at:
	
	[email-masked]       (fast, will be forwarded to me)
	[email-masked]	(slow, but stable and reliable)
	Medic BSS, 2:2476/454.2@fidonet (fido, neither fast nor reliable)
 
	Thomas Baetzler, Herrenstr. 62, 76133 Karlsruhe, FRG
	Voice: ++49 (0)721 29872  Medic BBS: ++49 (0)721 496821

---

   Daniel Barrett, Moderator, comp.sys.amiga.reviews
   Send reviews to:	[email-masked]
   Request information:	[email-masked]
   Moderator mail:	[email-masked]
   Anonymous ftp site:  math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews