Path: menudo.uh.edu!usenet From: s_walter@irav1.ira.uka.de (Thomas Baetzler) Newsgroups: comp.sys.amiga.reviews Subject: MINI-REVIEW: Edge text editor version 1.704 Followup-To: comp.sys.amiga.applications Date: 12 Nov 1993 05:44:23 GMT Organization: The Amiga Online Review Column - ed. Daniel Barrett Lines: 429 Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator) Distribution: world Message-ID: <2bv7rn$3ad@menudo.uh.edu> Reply-To: s_walter@irav1.ira.uka.de (Thomas Baetzler) NNTP-Posting-Host: karazm.math.uh.edu Keywords: text editor, ARexx, commercial 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 , 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: s_walter@irav1.ira.uka.de (fast, will be forwarded to me) Thomas_Baetzler@mil.ka.sub.org (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: amiga-reviews-submissions@math.uh.edu Request information: amiga-reviews-requests@math.uh.edu Moderator mail: amiga-reviews@math.uh.edu Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews