1. Introduction ================================================================ 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 new features: 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 program EDWINST. Scrolling performance has been improved on CGA adapters. The screen is not updated continuously, but just once for each required change. 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 supported. 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 the editor. 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. B. Support ---------- 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 support. 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 agreement. 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. C. Acknowledgments ------------------ 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: 1. Introduction 2. Installation 3. EDWIN Overview 4. Cursor Movements 5. Quick Movements 6. Inserting and Deleting 7. Find and Replace 8. Files and DOS 9. Windows 10. Blocks and Markers 11. Macros 12. Toggles 13. Text Processing 14. Final Notes and Cautions 2. Installation ================================================================ 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 single directory. 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 type. 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 of files. 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 installation. 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, or whatever. 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 information. 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 instantaneous. 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 area. 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. toggles between insert and overwrite modes. All other keys are inserted literally into the macro. The key toggles between this command mode and a "literal" mode. Once in literal mode, all keystrokes entered are inserted literally into the macro until the key is pressed again. Note that if you have SuperKey or another memory-resident macro processor installed, pressing any key combinations defined as macros for that processor will insert that macro into the EDWIN macro. Neither EDWIN nor EDWINST take over the keyboard at such a low level as to inhibit other macro processors. Each EDWIN macro is limited to 255 keystrokes. IBM extended ASCII keystrokes count as two each. The current macro length is reported in the editor status display. After you traverse each applicable installation area, you should choose the EDWINST option to Write the installed version out to disk. Taking this step customizes the copy of EDWIN.COM to operate as you have selected. If for some reason, you don't want to save the changes, use the Quit option on the menu. Note that the EDWIN.KEY, EDWIN.HLP, and EDWIN.MAC files may have been previously rewritten by your choices in each installation subsection. 3. EDWIN Overview ================================================================ EDWIN started as a WordStar clone (more accurately, as a Turbo Pascal Editor clone), and the structure of the commands and the screen were designed accordingly. As new features have been added, the general flavor of this environment has been maintained. EDWIN is strictly a text editor, flavored for programmers. The minimal word processing features in EDWIN were added to satisfy the needs of simple documentation like this text file or comments embedded in programs. When EDWIN is started, you will see a simple main menu. It allows you to change default drive or directory, invoke a DOS shell, or edit a file. You will return to this menu whenever all files are closed and you have not chosen to return to DOS. EDWIN can also be started by naming the files to edit on the DOS command line. Up to three files may be specified on the command line -- EDWIN [file1] [file2] [file3] Each file name may include optional drive and pathname. One major benefit of EDWIN over its predecessors is the ability to open windows on multiple files. This version of EDWIN can open up to 6 windows at once. Windows can be added, sized and closed at any time during an edit session. If two windows refer to the same file, changes made in one of the windows will automatically appear in the other. A "window zoom" command causes the current window to fill the entire screen, while leaving any other open windows hidden in the background. The EDWIN editing screen is formatted as follows. The top line of the screen is always reserved for command prompts, editor status information and error messages. You will also note that a '+' sign appears at the left edge of this command line whenever a multi-key command has been partially entered. EDWIN reserves one line at the top of each window for status information about that window. This line holds the following: current filename. current line number. current column number. number of characters from the cursor to the beginning of the file. if word wrap mode is selected, the right margin value is displayed. flag for insert or overwrite mode. flag for autoindent mode. flag for macro-recording active. flag indicating file must be saved. If the current filename is longer than will fit in the area reserved for it, the leading portion of the name will be truncated. The number of characters from the cursor to beginning of file is the file size which would be created if that portion of the file were saved. It includes two bytes per line for a sequence. It does not include any of the memory overhead of the EDWIN internal text representation. The "save" flag indicates that the file has been changed since it was last stored to disk. A save is never required until you exit the editor, but intermediate saves will protect your work from hardware or software crashes. The remainder of the editing screen is reserved for text. The total file size which EDWIN can edit at any one time is limited by available system RAM. The following overhead factors may be of use in computing how much can be edited: For every text line read in, EDWIN uses 24 bytes of memory. The length of any text line can grow to 7 characters before this usage is increased. For longer lines, EDWIN allocates memory space in 8 byte chunks. As a rough example, if EDWIN is run on a system with 256K free memory (before running EDWIN), you will have about 165K free memory after entering EDWIN. This free memory will allow files of between 80K and 160K bytes to be edited, depending on the average line length of the file. The maximum line length of files in EDWIN is 999 characters. Lines exceeding this length will be broken when the file is read into the editor. The maximum number of lines in any file is 32767. Memory requirements will see to it that you never reach this limit. By default, EDWIN is configured for online help. Pressing function key opens a window onto a summary of commands and macros. The help window is just like any other EDWIN window. You can scroll around in it, search for keywords, even change it if you wish. Use the quit file (^K^Q) command to close the help window. If you know WordStar commands, you will be able to start using EDWIN immediately. Dive in, use the help window and go for it! The following sections describe each editing command in more detail. Each command will be followed by its default keystroke combinations. 4. Cursor Movements Primary Keys Secondary Keys ================================================================ Abort command Character left Character right Word left Word right Line up Line down Scroll up Scroll down Page down Page up The Abort command has nothing to do with cursor movements, but we felt it should be covered first. Pressing the Abort command sequence at any time in the editor will cause the current operation to be stopped. This will be especially useful during find/replace operations, command prompts, file reads or writes, or other lengthy editor operations that you wish to halt prematurely. The character left command moves the cursor left one character at a time until it reaches column 1, then it stops. The character right command moves the cursor right, even beyond the end of the text. It does not stop until it reaches the maximum line length at 999 characters. Horizontal scrolling of the screen occurs whenever the cursor passes the left or right borders of the screen. Word left and right move one word with each command. Words are delimited by spaces, common punctuation, and the beginning and end of lines. A few non-intuitive word delimiters are used for compatibility with the Turbo editor. Line scrolling works in the expected manner. The and keystrokes for scrolling are activated only when SuperKey is installed. Page up and Page down scroll by one line less than the full screen. For windows covering less than the full screen, scrolling is based on the window size, not the full screen size. 5. Quick Movements Primary Keys Secondary Keys ================================================================ Top of file Bottom of file Cursor to left side Cursor to right side Top of screen Bottom of screen Up to equal indent Down to equal indent Go to line Go to column Go to window Previous cursor position Whenever possible, the quick movements will avoid scrolling the screen, and will simply reposition the cursor. The first six of these commands should be obvious. Up to equal indent and Down to equal indent are particularly useful for structured programming. When these commands are invoked, the leading indent of the current line is measured. The cursor is then moved up or down until it reaches another line having the same indent as the starting line, or it reaches the beginning or end of the file. This is useful for finding matched BEGINs and ENDs. The Go to Commands allow direct movement to another point in a file. EDWIN will prompt for a value after you enter the command sequence. It accepts either absolute or relative numbers. For example, Go to Line 100 moves directly to line number 100. Go to Line +20 moves 20 lines toward the end of the file. Go to Line -40 moves 40 lines toward the beginning of the file. Regarding the Go to window command: Windows are numbered starting with 1 for the first (topmost) window on the screen. Previous cursor position will recall wherever the cursor was prior to the last command. Using this command twice in succession will return the cursor to its starting position. 6. Inserting and Deleting Primary Keys Secondary Keys ================================================================ Undo last deletion Restore line Smart tab Insert control char New line Insert line Delete current character Delete left character Delete right word Delete line right Delete line Delete line (no undo) EDWIN accepts all ASCII text not otherwise defined as a command. As a result, you can enter high-bit extended characters for drawing boxes, or using foreign language characters. These characters are entered by using the Alt numeric keypad sequences as normal in DOS (note that if SuperKey is installed, you must press left shift and Alt simultaneously). To insert keystrokes into your text which are otherwise reserved for commands, use the "Insert control char" command. Any keystroke following this command will be inserted literally into the text. EDWIN provides two undo mechanisms. "Undo last deletion" will recall the most recent line deleted and insert it into the text at the current cursor position. Note that this undo operation applies only to full line deletions. It also applies to the text involved in block deletes. The undo stack is limited in size. By default, the last 20 lines of deleted text are saved on the undo stack. This limit can be adjusted via the installation program. The fundamental size of the undo stack is limited only be available memory. The second undo operation is "Restore Line." This command restores the current line of text to what it was when the cursor first reached the line. EDWIN does not support fixed tabs. Tab characters remaining in the text will appear as small circles ( ). By default, tab characters in the text are converted to spaces on standard 8 column boundaries when a file is read into EDWIN. Tabs can be passed through without change by changing an installation option. When the tab command is executed within the editor, EDWIN performs a "Smart Tab" like that of the Turbo editor. It will match the corresponding indent of the immediately preceding line if any exists. Otherwise, it will match the indent of any line following. The insert line command breaks the current line and leaves the cursor position unchanged. The delete operations are straightforward. Note the "Delete no recourse" command, which does not store the deleted text on the undo stack. 7. Find and Replace Primary Keys Secondary Keys ================================================================ Find pattern Find and replace Search and apply macro Find next All of these commands share a common text searcher. When you run any of the first three search commands, you will be prompted to enter the search pattern. EDWIN does not support wildcard searches, but you can enter any ASCII or extended ASCII text as the search pattern. For the purposes of searching each line is taken to end with the characters . A search pattern consisting of just these two characters will find the end of every line. The search algorithm looks at only one line at a time; thus a search like "Anything" will never produce a match. While you are responding to the prompt for a pattern, you have a simple line editor to use. The line editor accepts the following commands: or - recall the previous entry. or - move the cursor one position left. or - move the cursor one position right. or - erase the current response. or - move the cursor one word left. or - move the cursor one word right. or - delete the current character. or - delete the next character left. or - toggle insert/overwrite mode. - following character entered will be taken literally. or - accept the entry. Like the Turbo editor, the "cursor movements" of the line editor cause text to the right of the cursor to disappear. If your EDWIN installation uses the blinking hardware cursor, the cursor size will change to indicate insert or overwrite modes. A slightly fatter cursor indicates insert mode, while the normal skinny cursor indicates the overwrite mode. When entering the "end of line" search string, you must precede the character by in order to avoid premature termination of the entry. Note that all command prompts in EDWIN use the same command editor, and accept the same syntax. The various find and replace commands in EDWIN accept modifiers to the searching behavior, as follows: U - search in uppercase (matching is not case sensitive). B - search backward (toward the top of file). W - match whole words only. G - search throughout entire file (globally). M - search in marked block only. N - no prompts before replacement. Note that the standard WordStar option of replace for "n" times is not incorporated here. In its place is the marked block option, which is easier to use and more reliable. EDWIN supports three basic search modes. The first simply searches and places the cursor on the start of whatever was found. The second searches for the match string and then replaces that string with another one of your choice. The final one is new to EDWIN. It searches for the match string and then applies a previously defined macro key sequence at the current cursor position. The Find Next command repeats the last search operation, performing a replace or a macro invocation if that was the most recent command type. When a find and replace operation is run with the G option, EDWIN will stop after each find and prompt for a response. The following actions are acceptable: Y - perform the replace for this instance. N - do not perform the replace here, but continue searching. A - perform this replace and all other that match without further prompting. Q - do not perform this replace, and quit searching. You can break out of a find/replace operation at any time by pressing the abort command key, by default . 8. Files and DOS Primary Keys Secondary Keys ================================================================ Save and exit to DOS Save and exit to menu Save and continue edit Abandon file Read file into window Write block to file Append block to file Invoke DOS shell EDWIN editing operations occur completely in the memory of your computer. Until a file is saved to disk, there is no permanent record of your edits. Whenever EDWIN prompts you for a file name, you can ask it for a directory of available files. To look at all files in the current directory, simply press . Alternatively, you can enter any combination of drive, pathname and DOS wildcards. After you do this, EDWIN will pop up a window showing all the matching files. You can use the Cursor up and down arrows to scroll through this list. When you find a file you want, press . If none of the files is what you want, press . There are three flavors of save command in EDWIN. You can save and leave the editor, returning to DOS. You can save and return to the EDWIN main menu. Or you can save and stay at the same place in the file. Note that the final variant operates more conveniently than the WordStar editor - your cursor is kept in place following the save operation. EDWIN creates a backup file (with extension .BAK) for every save that you perform. EDWIN offers the option of abandoning any edits you have done. A "SAVE" indicator will appear in the window status line to indicate that you have unsaved edits. If you attempt to abandon a file with unsaved edits, EDWIN will prompt for confirmation. You can merge another file into the current one via the "Read File into Window" command. The new file is read in at the current cursor position. After this command finishes, EDWIN leaves the block markers surrounding the newly read file. Similarly, you can write a portion of the current file to another file with the write block commands. The append block command adds to an existing file, while the write block command will always start the file from scratch. If you ask to write block to an existing file, EDWIN will require confirmation before it overwrites it. During append block operation, EDWIN uses logic to avoid embedded characters in the resulting file. Note that you can use the write block command to print a file from within the editor - simply mark a block (the entire file if you desire) and write it to a file named PRN, LPT1, or LPT2. Finally, EDWIN allows you to invoke a DOS shell from within the editor. After executing this command, you will find yourself at the standard DOS prompt. Note that for this command to be successful, two factors are required: first, a copy of COMMAND.COM must be available in the drive and directory specified by the COMSPEC parameter in your DOS environment; second, sufficient free memory must be available. If you edit large files, or if you switch among a number of files, it is possible that not enough memory will be available for the DOS shell and EDWIN will inform you of this. Your only recourse is to save all open files and exit to the main EDWIN menu. You can invoke DOS from the main menu, or reopen your files and still most likely be able to run DOS. From the DOS prompt, you can run any command or program you normally would, with a few exceptions. First, you should never install a memory resident program from within a shell. Doing so will most likely cause a system crash. Second, if you change directories in the shell, you normally should return to the directory in which the shell was invoked. Otherwise, when you return to the editor, further saves of open files will probably be written to the wrong directory. An exception to this rule occurs when you have opened files using their complete pathnames rather than using DOS shorthand to refer to the current directory. 9. Windows Primary Keys Secondary Keys ================================================================ Add window Grow current window Shrink current window Switch windows Zoom current window Show help window EDWIN's window operations will significantly improve your productivity if you have not previously been using a windowing editor. The ability to refer to and copy text from multiple files makes programming much easier. This version of EDWIN allows up to 6 windows on screen at any one time. All block operations operate across windows as well as within a single window. EDWIN windows divide the screen into horizontal strips. Each window can control a variable number of rows, from a minimum of two text lines to a maximum of 23. Each window starts with a status row as described in the overview section. Windows can be created, sized and deleted dynamically. Commands to create and size windows are described in this section. To remove windows, use the file save/abandon commands described in the previous section. When a window is added, the current window is split in half to make space for the new window. The current window must be at least 7 lines tall for this operation to be successful. When the window is split, EDWIN will prompt for a new file name. See section 7 for a description of the commands available during entry of the file name. See section 8 for a description of the popup directory window available at file prompts. Note that the file name can contain a complete DOS drive and path name. If you specify a file name that matches that of an existing window, the new window will be "linked" to the existing one. In this way, you can have two or more views onto a single file. Edits made in one window will simultaneously appear in the other. The Grow and Shrink window commands make the current window one line taller or shorter for each invocation of the command. The Switch windows command moves the cursor to the next window down the screen. Note that EDWIN stores the current cursor position for each window even if the cursor is not currently in that window. The Zoom window command is provided for the case when you have a number of windows on screen, but wish to focus on a single window for some time. Using the Zoom command causes the current window to fill the entire screen. Any other windows are hidden, but their text remains in memory. While the Zoom state is active, an indicator will be made visible on the window status line. To go back to the original multi-window screen, simply execute the Zoom command again. Alternatively, saving or abandoning the file in the Zoom window will restore the other windows to the screen. Note that you cannot open additional windows when the Zoom command has filled the screen with a single window. EDWIN uses its standard windows to provide an online help facility. Press the help request key and EDWIN will create a new window onto the command summary file created by the installation program. You can then use any EDWIN command to browse, search, or even change the help information. Use the Abandon File or Switch Windows commands to leave the help window. 10. Blocks and Markers Primary Keys Secondary Keys ================================================================ Begin block End block Top of block Bottom of block Copy block Move block Delete block Toggle block display Mark current word Set marker 0 0 ... Set marker 9 9 Jump marker 0 0 ... Jump marker 9 9 Toggle marker display EDWIN block commands operate just like those in WordStar and the Turbo editor. A block can be marked at any column and line position using the Begin block and End block commands. Once a block is completely defined, the marked text will be displayed with the special color or attribute that you have chosen at installation. In EDWIN, marked blocks can also be of use in Find/Replace/Macro operations, as well as some text processing commands. The Top of block and Bottom of block commands position the cursor to the beginning or end of a marked block. Copy and Move block commands will operate across windows. Delete block will delete a marked block, even if the block is not in the currently active window. Toggle block display removes the special display attribute of a marked block. It does not remove the block markers themselves. Pressing the Toggle command again will redisplay the block. Most block commands will not operate when the marked block is not displayed. Only the Top of block and Bottom of block commands are active in this case. Mark current word is a shorthand command for marking a single word of text. EDWIN also supports visible text markers. It supports up to 10 markers, which will generally be installed with sequential keystrokes as shown in the defaults above. When you set a text marker, a numbered block will appear to overwrite the character at the current cursor position. This block temporarily obscures your view of that character, but does not affect the actual text which will be stored with the file. Use the Toggle marker display command to make all markers temporarily disappear. The Jump marker commands will immediately jump to a previously marked position in any window. If no such marker has been set, EDWIN will display an error message. You can clear a marker by jumping to it and then setting it again. 11. Macros Primary Keys Secondary Keys ================================================================ Read macros from disk Write macros to disk Toggle macro record Insert Macro 1 ... Insert Macro 9 Insert scrap macro Insert scrap macro 1 time 1 ... Insert scrap macro 9 times 9 EDWIN supports a small but useful keyboard macro facility which can augment the use of full-blown macro processors like SuperKey. EDWIN can store up to 10 macros each of up to 255 characters. These macros can be stored and loaded from files, so an effectively unlimited number of macros is available. EDWIN's macros can store anything you type within the editor, including text, commands, and responses to command prompts. You can develop EDWIN macros in two ways. First, within the editor you can turn on a "recording" mode. This simply keeps a record of all of your keystrokes until recording is turned off again. When recording is complete, EDWIN will prompt for a macro number in which the keystrokes will be stored. Second, within the EDWIN installation program is a macro editor. You can use this editor to tweak previously recorded macros or to develop new macros from scratch. The macros developed in this way are stored in files that can then be loaded into EDWIN for use there. When EDWIN is started, it automatically looks for and loads a file of macros called EDWIN.MAC. We supply a default set of these macros useful to Pascal programmers. Bring up the EDWIN help facility to see what these macros will do. Use the Read macros from disk command to load a different macro file. After you have generated new macros within the editor, use the Write macros command to store them to a file. If you exit EDWIN without storing the macros, they will be lost. EDWIN classifies macros into two categories. First type is the "scrap" macro. Whenever you record a new macro within EDWIN, the recorded keystrokes overwrite the scrap macro. When the recording is complete, EDWIN prompts to store the macro into one of the other nine macro locations or to leave the macro in the scrap. The other nine locations will remain undisturbed until you explicitly overwrite them by reading a macro file or storing another scrap macro. EDWIN supplies special operations with the scrap macro. If you execute the Insert scrap macro command, EDWIN will prompt for a number of times to insert the macro, limited only by EDWIN's internal keyboard buffer size. Or you can use the Insert scrap "n" times command to immediately play back the macro that number of times. The other nine macros can be inserted one time per command using the appropriate Insert macro "m" command. Note that macros can invoke other macros. The only restriction is that the scrap macro not be invoked while macro recording is in progress. EDWIN also offers a powerful facility to "find and macro." After a standard text search, EDWIN will apply the macro of your choice. See section 7 for further information. 12. Toggles Primary Keys Secondary Keys ================================================================ Show version number Show available memory Toggle insert mode Toggle autoindent mode EDWIN will display its current version number when you press the version number command sequence. You can display the bytes of memory available for text processing with the Show memory command. Note that not all of these bytes may be available to the DOS shell command due to fragmentation of the internal memory used by EDWIN. Text entry in EDWIN operates in either of two modes. In insert mode, new text pushes old text out of the way but does not overwrite it. In overwrite mode, old text is superceded by the new. When the EDWIN hardware cursor is active, Insert mode is indicated by a somewhat fatter cursor. In overwrite mode, the cursor is of minimum thickness. Each window can have an independent mode for insert/overwrite, and the window status line indicates the current state. The EDWIN autoindent mode mimics that of the Turbo editor. Whenever a new line is inserted by pressing the cursor, and any text to the right of the cursor, are indented to the same level as that of the previous line. Autoindent mode is signaled by the letters AI in the window status line. 13. Text Processing Primary Keys Secondary Keys ================================================================ Toggle case Lower case Upper case Set right margin Reformat paragraph Toggle word wrap EDWIN provides a few commands for text processing functions. We often find it useful to be able to change the case of text while beautifying programs or documentation. Thus there are three commands for case changing in EDWIN. These commands operate over the complete region of a marked block of text, if any block is marked and visible, and if the cursor is currently within the block. If no block is so indicated, the case changing commands operate on the single character at the current cursor position. Note that the Toggle case command is the safest to use, since its actions can be undone by simply repeating the command. EDWIN supports three related commands for text formatting. When the Word Wrap mode is active, EDWIN will automatically reformat text so that it fits neatly within a right margin. The right margin value can be set to any value from 10 columns up to 999 columns. When text is being entered, and the current character exceeds the right margin, EDWIN will wrap any text exceeding the right margin onto the next line. If autoindent mode is active, the new line will be indented identically to its predecessor. The Reformat paragraph command applies the same operation to a complete paragraph. For EDWIN's purposes, a paragraph is any sequence of text terminated with a blank line. EDWIN will fill and wrap text to fill the current right margin starting from the current line and continuing until it encounters a blank line. 14. Final Notes and Cautions ================================================================ As mentioned previously, EDWIN operates with all available system memory. If you attempt to read a file that exceeds memory capacity, EDWIN will read in as much as fits and present an error message stating that the entire file won't make it. Continuing from this point is very dangerous. If you save the file, you will overwrite the complete file with a partial version, and lose the remainder. If EDWIN's "Expand tabs on read" installation option is active, you should note that any tabs in the file will be lost when the file is rewritten to disk. EDWIN incorporates a DOS critical error handler. This serves to keep DOS' annoying "Abort, Retry, Ignore" from overwriting the editor screen. Instead EDWIN's own error message will appear whenever you attempt to write to a drive that isn't ready, or to print to an unselected printer. In the case of the unselected printer, there may be a substantial delay before the error message appears. Have no fear, this is the printer timeout period normally allowed for long printer operations like form feeds. If the EDWIN.ERR file is not available when EDWIN starts up, error messages will appear as numbers rather than text. Refer to the EDWIN.ERR file for the correspondence between the numbers and text. If you don't like the text for a particular message, edit the EDWIN.ERR file to change it to something more desirable. Be sure to follow the format of the existing file if you do so. Similarly, you can edit the EDWIN.MSG file to change various command prompts of the editor. Unlike the ERR file, the MSG file must be found at startup, or the editor will not continue.