home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-09-26 | 163.3 KB | 5,408 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unity Programmer's Editor Version 3.3.1
-
-
- Copyright (c)1990,91
-
-
- Ross Neilson Wentworth
-
-
- All Rights Reserved
-
-
-
-
-
-
-
-
-
- Chapter One
-
- Registration and License Information
-
-
- Registration Information
-
-
- Unity is a copyrighted program protected by both U.S. and
- international copyright law. If you obtained Unity from a
- shareware disk vendor, an on-line computer service or bulletin
- board, a friend or colleague, or another similar source, you have
- an unregistered (trial) copy. You are authorized to use this
- copy without charge for a limited period of time under the terms
- of the Unity license agreement. After this time is up, you must
- register and pay for Unity to continue using it.
-
- This method of distribution is known as shareware. It allows you
- to determine whether Unity meets your needs before you pay for
- it.
-
- For price and ordering information please refer to the file
- ORDER.FRM.
-
- Registering entitles you to:
-
- o A disk with the latest version of Unity, registered to
- you.
-
- o One copy of the printed Unity manual (extra).
-
- o Technical support via electronic mail or (limited)
- telephone.
-
- Network, site, corporate, and bundling licenses are also
- available; contact Serendipity Software for more information.
-
- Voice telephone support is limited because I must also work a
- "regular" job. My hours vary wildly so I am often available in
- the middle of the day.
-
-
- License Agreement
-
-
- (1) Copyright: The Unity program and all other programs and
- documentation distributed or shipped with it are Copyright Ross
- Neilson Wentworth and Serendipity Software, 1990, 1991, and are
- protected by U.S. and international copyright law.
-
-
-
-
-
- Chapter 1. Registration and License Information Page 3
-
-
-
-
-
-
- (2) Definitions: Unity is distributed in two forms. A
- "registered" copy of Unity is a copy distributed on diskette,
- purchased from Serendipity or from a dealer, and which includes a
- serial number and the legend "registered" on the diskette label.
- A "shareware" copy of Unity is a copy distributed on diskette or
- via an electronic bulletin board, on-line service, or other
- electronic means, obtained from a shareware disk vendor, or
- obtained from another individual, and which displays the legend
- "shareware" program copyright notice, and in most cases on the
- diskette label as well (if applicable).
-
- (3) Shareware Copies: Shareware copies of Unity are distributed
- to allow you to try the program before you pay for it. They are
- Copyright 1990, 1991, Ross Neilson Wentworth and Serendipity
- Software, and do not constitute "free" or "public domain"
- software. You may use a shareware copy of Unity at no charge for
- a trial period of up to 30 days. If you wish to continue using
- Unity after that period, you must purchase a registered copy. If
- you choose not to purchase a registered copy, you must stop using
- Unity, though you may keep copies and pass them along to others.
-
- (4) Registered Copies: Your registered copy of Unity may only
- be used by one person at any time. It may be installed on
- multiple computers so long as there is no possibility of it being
- used at one location while it's being used at another.
-
- (5) Use of Unity on Networks or Multiple Systems: You may
- install your registered copy of Unity on a computer attached to a
- network, provided there is no possibility that your copy will be
- used by more users than it is licensed for. A "user" is defined
- as one keyboard which is connected to a computer on which Unity
- is installed, regardless of whether or not the user of the
- keyboard is aware of the installation or use of Unity in the
- system.
-
- (6) Making Copies: You may copy any version of Unity for normal
- backup purposes, and you may give copies of the shareware version
- to other individuals, which they may also use and copy subject to
- the terms of this agreement. If you copy the shareware version
- of Unity for others, you must include all of the files
- distributed with it, including this one. You may not give copies
- of the registered version or brand program to any other person
- for any purpose, and you may not make any copies of the printed
- and bound Unity manual without explicit written permission from
- Serendipity Software.
-
- (7) Distribution Restrictions: You may NOT distribute Unity
- other than through individual copies of the shareware version
- passed to friends and associates for their individual use.
- Specifically, you may not place Unity or any part of the Unity
- package in any user group or commercial library, or distribute it
- with any other product or as an incentive to purchase any other
- product, without express written permission from Serendipity
- Software, and you may not distribute for a fee, or in any way
-
-
-
- Page 4 Chapter 1. Registration and License Information
-
-
-
-
-
-
- sell copies of Unity or any part of the Unity package. If you
- are a shareware disk vendor approved by the Association of
- Shareware Professionals (ASP), you may place Unity in your
- library without prior written permission, provided you notify
- Serendipity Software within 15 days of doing so; and provided
- your application has been fully approved in writing by the ASP,
- and is not simply submitted or awaiting review.
-
- (8) Use of Unity: Unity is a powerful program. While we have
- attempted to build in reasonable safeguards, if you do not use
- Unity properly you may destroy files or cause other damage to
- your computer software and data. You assume full responsibility
- for the selection and use of Unity to achieve your intended
- results. As stated below, Serendipity Software limits its
- warranty to replacement of a defective program diskette or
- manual.
-
- (9) LIMITED WARRANTY: Serendipity Software warrants to owners of
- registered copies of Unity that the software will operate in
- accordance with the description given in the documentation, and
- that the diskette and manual will be free of physical defects
- which interfere with normal use. For a period of 90 days from the
- date of your purchase of Unity, Serendipity Software will, at its
- sole option and subject to the restrictions above and below,
- repair or replace any defective item(s), or refund the purchase
- price of any diskette and/or manual and/or any other parts or
- components of Unity found to be defective, if such defect is the
- fault of Serendipity Software and not the result of misuse or
- abuse. Such a refund, repair, or replacement shall be your sole
- remedy for any defects, program error(s), or documentation
- error(s). In no event shall Serendipity Software be responsible
- for any other costs or damages whatsoever due to errors in usage
- or your failure to read, understand, or follow instructions in
- the documentation. SERENDIPITY SOFTWARE MAKES NO OTHER
- WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE
- WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR A PARTICULAR
- PURPOSE. Serendipity Software's warranty is expressly limited to
- the cost of replacement of any defective diskette or other part.
-
- (10) Satisfaction Guarantee: If you are dissatisfied with a
- registered copy of Unity for any reason (whether or not you find
- a software error or defect), you may return the entire package at
- any time up to 90 days after purchase for a full refund of your
- original registration fee.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 1. Registration and License Information Page 5
-
-
-
-
-
-
- To register Unity print the file ORDER.FRM, fill it out and mail
- it to the following address. Be sure to include the proper
- amount as indicated on the order form.
-
- Ross Neilson Wentworth
- 1422 Elkgrove Circle, Suite 3
- Venice, CA 90291
- (213)399-1244
-
- That's a VOICE number listed above. I know that a few people out
- there are not verifying phone numbers before calling with their
- modem because I've been getting the occasional late night call
- with nobody on the other end. For BBS numbers please see page
- 77.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 6 Chapter 1. Registration and License Information
-
-
-
-
-
-
-
-
-
- Chapter Two
-
- Overview
-
-
- Unity Programmer's Editor is appropriately named. It easily
- unites all of your programming tools into an intuitive
- programmer's environment. Unity will automatically select the
- correct tool for the job, such as an assembler for an ASM file, a
- Pascal compiler for a PAS file, etc.
-
- Major features of Unity:
-
- o Shell to most any command-line compiler and programming
- tools; preconfigured for Turbo Pascal, Turbo Assembler,
- Turbo Debugger, Turbo Profiler, and many others.
- o You don't compile blind! You can watch what your compiler
- is doing, unlike Brief which redirects the output to a
- file but doesn't echo it to the screen.
- o Shell to DOS.
- o Execute "work" program.
- o Jump to line where errors occurred when compiling or
- assembling.
- o Display the compiler error message on the status line.
- o Multiple file editing (Unity supports up to six windows).
- o Edit the same file in multiple windows - changes are
- communicated across windows.
- o User extensible video adapter support.
- o Use as little memory as possible when shelling. Expanded
- memory, extended memory (with an XMS driver), and disk
- swapping are supported.
-
- If the computer is equipped with sufficient expanded memory or
- XMS extended memory, and enough is available, less than 10k of
- conventional memory will be consumed by the editor while running
- the compiler, debugger, or shelling to DOS. In other words, the
- amount of conventional memory wasted is so trivial that it can be
- ignored. The minimum EMS required is 128k. The required amount
- increases by the number and size of files being edited, 384k of
- available EMS is recommended for an average size source file.
-
- When any shell is made (compile, debug, DOS, etc.) Unity first
- attempts to swap itself into XMS (if enabled). If that fails it
- will try using EMS (if enabled). At as last resort swapping will
- be done to disk. If that fails then the program will not be
- swapped and less memory for the shell will be available or the
- shell will not be possible.
-
-
-
-
-
-
-
- Chapter 2. Registration and License Information Page 7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 8 Chapter 2. Overview
-
-
-
-
-
-
-
-
-
- Chapter Three
-
- Getting Started
-
-
- You can start Unity in one of three ways:
-
- 1. You can enter UNITY at the DOS command line, and Unity
- will create the file NONAME for you to edit. You can name
- it later on.
-
- 2. You can specify one to three file names at one time. For
- example, UNITY ONE.PAS TWO.PAS THREE.PAS, which tells
- Unity to open three text windows, one for each file. If a
- file doesn't exist, Unity will create it.
-
- 3. You can specify a file mask, e.g., UNITY *.PAS, which
- tells Unity to display a list of file names matching the
- mask '*.PAS'; you can then pick the file to edit from a
- sorted directory listing.
-
- You can optionally specify a macro to execute after opening each
- file with the /# command line options, where # is a digit from
- '1' to '9'. For example to execute macro number 9 you would
- specify UNITY /9 MYFILE.PAS.
-
- Automatic macro execution is useful when your default settings
- are different from a desired setting under special circumstances.
- Normally, programmers do not wish Word Wrap to be on, but if you
- are working with a document you may wish to force it on. If
- macro 9 includes the Word Wrap On command you could set up a
- batch file (or alias if you use PCED or 4DOS) that automatically
- includes the '/9' command line options.
-
- A special command line option is supported to handle unusual
- display behavior. If Unity is not correctly detecting the type
- of video system you have then you need to use the /Vn command
- line options, where n is one of the following:
-
- 0 - Monochrome/Hercules
- 1 - CGA
- 2 - MCGA
- 3 - EGA
- 4 - VGA
- 5 - PGC
-
- Using this option will force Unity to use the video mode
- specified, regardless of what it thinks is connected. CAUTION!
- Specifying an incorrect value may cause Unity to become confused,
- resulting in an illegible screen.
-
-
-
-
- Chapter 3. Getting Started Page 9
-
-
-
-
-
-
- Registered copies of Unity include several video device drivers.
- To use one rename it to UNITY.VID. The following video device
- drivers are current provided:
-
- MEGA.VID Monochrome EGA
- CEGA.VID Color EGA
- MVGA.VID Monochrome VGA
- CVGA.VID Color VGA
- MTRIDENT.VID Monochrome Trident VGA
- CTRIDENT.VID Color Trident VGA
-
- The assembler source code is included so you can modify an
- existing driver to add vendor specific video modes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 10 Chapter 3. Getting Started
-
-
-
-
-
-
-
-
-
- Chapter Four
-
- The Editing Screen
-
-
- The top line of the screen in Unity is always set aside as a
- prompt line. Messages and instructions are usually displayed
- here. When you press the first key of a command assigned to two
- keystrokes, the keystroke is echoed at the left edge of the
- prompt line.
-
- The top line of any editing window in Unity is always a status
- line, providing the following information:
-
- >Z< Indicates that the window has been zoomed to fill
- the screen.
- FILENAME The name and extension of the file being edited.
- Although Unity accepts complete path designations -
- for example "C:\DOCS\SAMPLE.DOC", the drive and
- path name will not be displayed on the status line.
- xx% Indicates the position of the cursor relative to
- the last character in the file.
- Line n Shows the number of the line containing the cursor,
- counting from the start of the file.
- Col n Shows the number of the column containing the
- cursor.
- Insert Indicates that Insert mode is in effect. If Insert
- is off, "Over" (for overwrite) will be displayed
- instead.
- Indent Indicates that Autoindent mode is in effect.
- Wrap Indicates that wordwrap is in effect.
- Justify Indicates that right-justification is in effect.
- Mar Rel Indicates that the margin release command has been
- used to temporarily override the left and right
- margin while wordwrap is on. This is displayed in
- the location usually reserved for "Wrap" and
- "Justify".
- >R< Indicates that macro recording is on.
- >M< Indicates that a macro is running.
-
- If the tab line has been turned on with the Toggle Tab Line
- command, the second line in the text window will display the
- locations of the current stops, as well as the left and right
- margins.
-
-
-
-
-
-
-
-
-
-
- Chapter 4. Getting Started Page 11
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 12 Chapter 4. The Editing Screen
-
-
-
-
-
-
-
-
-
- Chapter Five
-
- Quick Reference Guide
-
-
- ╔══════════════════════════╤══════════════╤══════════════╗
- ║Keyboard Quick Reference │Primary │Alternate ║
- ╟──────────────────────────┼──────────────┼──────────────╢
- ║Project │<F9> │ ║
- ║Execute │<AltE> │ ║
- ║Build all │ │ ║
- ║Symbols │ │ ║
- ║Tool 1 │<AltC> │ ║
- ║Tool 2 │<AltA> │ ║
- ║Tool 3 │<AltD> │ ║
- ║Tool 4 │<AltP> │ ║
- ║Tool 5 │<AltT> │ ║
- ║Tool 6 │<AltG> │ ║
- ║Tool 7 │ │ ║
- ║Tool 8 │ │ ║
- ║Tool 9 │ │ ║
- ║Tool 10 │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Set primary file name │<AltF> │ ║
- ║Make current file primary │<AltH> │ ║
- ║Set autosave timer │ │ ║
- ║Next error file │<CtrlF5> │ ║
- ║Next error │<F5> │ ║
- ║Previous error │<F4> │ ║
- ║Tool 1 options │ │ ║
- ║Tool 2 options │ │ ║
- ║Tool 3 options │ │ ║
- ║Tool 4 options │ │ ║
- ║Tool 5 options │ │ ║
- ║Tool 6 options │ │ ║
- ║Tool 7 options │ │ ║
- ║Tool 8 options │ │ ║
- ║Tool 9 options │ │ ║
- ║Tool 10 options │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 5. Quick Reference Guide Page 13
-
-
-
-
-
-
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Edit another file │<F3> │ ║
- ║Abandon all files │<AltQ> │ ║
- ║Read file into window │<CtrlK><CtrlR>│ ║
- ║Write block to file │<CtrlK><CtrlW>│ ║
- ║Save and continue edit │<CtrlK><CtrlS>│<F2> ║
- ║Save file and close window│<CtrlK><CtrlX>│ ║
- ║Close all but current file│<CtrlK><CtrlA>│ ║
- ║Save/switch files │<CtrlK><CtrlD>│ ║
- ║Save and exit to DOS │<AltX> │ ║
- ║Write to named file │<CtrlK><CtrlN>│ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Character left │<Lft> │<CtrlS> ║
- ║Character right │<Rgt> │<CtrlD> ║
- ║Word left │<CtrlLft> │<CtrlA> ║
- ║Word right │<CtrlRgt> │<CtrlF> ║
- ║Line up │<Up> │<CtrlE> ║
- ║Line down │<Dn> │<CtrlX> ║
- ║Scroll up │<CtrlW> │ ║
- ║Scroll down │<CtrlZ> │ ║
- ║Page down │<PgDn> │<CtrlC> ║
- ║Page up │<PgUp> │<CtrlR> ║
- ║Top of window │<CtrlPgUp> │<CtrlQ><CtrlR>║
- ║Bottom of window │<CtrlPgDn> │<CtrlQ><CtrlC>║
- ║Cursor to left side │<Home> │<CtrlQ><CtrlS>║
- ║Cursor to right side │<End> │<CtrlQ><CtrlD>║
- ║Top of screen │<CtrlHome> │<CtrlQ><CtrlE>║
- ║Bottom of screen │<CtrlEnd> │<CtrlQ><CtrlX>║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Go to line │<CtrlJ><CtrlL>│ ║
- ║Go to column │<CtrlJ><CtrlC>│ ║
- ║Go to window │<CtrlJ><CtrlW>│ ║
- ║Top of block │<CtrlQ><CtrlB>│ ║
- ║Bottom of block │<CtrlQ><CtrlK>│ ║
- ║Jump marker 0..9 │<CtrlQ>0 .. <CtrlQ>9 ║
- ║Set marker 0..9 │<CtrlK>0 .. <CtrlK>9 ║
- ║Previous cursor position │<CtrlQ><CtrlP>│ ║
- ║Up to equal indent │<CtrlJ><CtrlB>│ ║
- ║Down to equal indent │<CtrlJ><CtrlE>│ ║
- ║Next sentence │<CtrlQ><CtrlZ>│ ║
- ║Previous sentence │<CtrlQ><CtrlW>│ ║
- ║Set a marker via menu │ │ ║
- ║Jump to marker by menu │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
-
-
-
-
-
-
-
-
-
-
-
- Page 14 Chapter 5. Quick Reference Guide
-
-
-
-
-
-
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║New line │<CtrlM> │ ║
- ║Insert line │<CtrlN> │ ║
- ║Insert control char │<CtrlP> │ ║
- ║Delete current character │<Del> │<CtrlG> ║
- ║Delete left character │<CtrlH> │ ║
- ║Delete right word │<CtrlT> │ ║
- ║Delete left word │<CtrlBks> │ ║
- ║Delete line right │<CtrlQ><CtrlY>│ ║
- ║Delete line │<CtrlY> │ ║
- ║Delete Line (no undo) │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Find pattern │<CtrlQ><CtrlF>│ ║
- ║Find and replace │<CtrlQ><CtrlA>│ ║
- ║Search and apply macro │<CtrlQ><CtrlM>│ ║
- ║Find next │<CtrlL> │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Add window │<CtrlO><CtrlA>│<ShiftF3> ║
- ║Close window │<CtrlK><CtrlQ>│ ║
- ║Next window │<CtrlO><CtrlN>│<F6> ║
- ║Previous window │<CtrlO><CtrlP>│<ShiftF6> ║
- ║Resize current window │<CtrlO><CtrlS>│ ║
- ║Toggle zoom mode │<AltZ> │ ║
- ║Zoom the current window │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Begin block │<CtrlK><CtrlB>│<F7> ║
- ║End block │<CtrlK><CtrlK>│<F8> ║
- ║Copy block │<CtrlK><CtrlC>│ ║
- ║Move block │<CtrlK><CtrlV>│ ║
- ║Delete block │<CtrlK><CtrlY>│ ║
- ║Toggle block display │<CtrlK><CtrlH>│ ║
- ║Mark current line │<CtrlK><CtrlL>│ ║
- ║Mark current word │<CtrlK><CtrlT>│ ║
- ║Shift block left │<ShiftF7> │<AltLft> ║
- ║Shift block right │<ShiftF8> │<AltRgt> ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Toggle macro record │<CtrlJ><CtrlT>│ ║
- ║Playback scrap │<CtrlJ><CtrlI>│ ║
- ║Playback scrap 1..9 times │<CtrlJ>1 .. <CtrlJ>9 ║
- ║Playback macro 1..9 │<Alt1> .. <Alt9> ║
- ║Playback macro by menu │ │ ║
- ║Edit macro │ │ ║
- ║Load macros from disk │ │ ║
- ║Write macros to disk │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
-
-
-
-
-
-
-
-
- Chapter 5. Quick Reference Guide Page 15
-
-
-
-
-
-
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Repeat macro │<CtrlJ><CtrlM>│ ║
- ║Abort macro end of block │<CtrlJ><CtrlN>│ ║
- ║Abort macro end of file │<CtrlJ><CtrlQ>│ ║
- ║Abort macro blank line │<CtrlJ><CtrlO>│ ║
- ║Force screen update │<CtrlJ><CtrlU>│ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Toggle insert mode │<CtrlV> │<Ins> ║
- ║Force insert mode │ │ ║
- ║Force overtype mode │ │ ║
- ║Toggle autoindent mode │<CtrlQ><CtrlI>│ ║
- ║Force autoindent mode │ │ ║
- ║Toggle word wrap │<CtrlO><CtrlW>│ ║
- ║Force wordwrap on │<CtrlQ><CtrlO>│ ║
- ║Toggle right justify │<CtrlO><CtrlJ>│ ║
- ║Toggle compress at wrap │ │ ║
- ║Set left margin │<CtrlO><CtrlL>│ ║
- ║Set right margin │<CtrlO><CtrlR>│ ║
- ║Set temp margin │<CtrlO><CtrlG>│ ║
- ║Temp margin to cursor │<CtrlO><CtrlH>│ ║
- ║Margin release │<CtrlO><CtrlX>│ ║
- ║Center line │<CtrlO><CtrlC>│ ║
- ║Toggle case │<CtrlO><CtrlO>│ ║
- ║Lower case │<CtrlO><CtrlV>│ ║
- ║Upper case │<CtrlO><CtrlU>│ ║
- ║Reformat paragraph │<CtrlB> │ ║
- ║Reformat block │<CtrlK><CtrlF>│ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Toggle tab line │<CtrlO><CtrlT>│ ║
- ║Toggle marker display │<CtrlK><CtrlM>│ ║
- ║Toggle key help │<CtrlJ><CtrlK>│ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Invoke DOS shell │<CtrlF9> │ ║
- ║Log drive/path │<CtrlJ><CtrlD>│ ║
- ║Show system info │<CtrlJ><CtrlV>│ ║
- ║Show available memory │<CtrlJ><CtrlR>│ ║
- ║File directory │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 16 Chapter 5. Quick Reference Guide
-
-
-
-
-
-
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Set undo limit │ │ ║
- ║Set error buffer size │ │ ║
- ║Set support path │ │ ║
- ║Set default extension │ │ ║
- ║Set colors │ │ ║
- ║Toggle snow check │ │ ║
- ║Toggle block cursor │ │ ║
- ║Select video mode │ │ ║
- ║Select DESQview video mode│ │ ║
- ║Toggle enhanced keyboard │ │ ║
- ║Toggle dual display │ │ ║
- ║Toggle tab expansion │ │ ║
- ║Toggle tab writing │ │ ║
- ║Toggle hi-bit strip │ │ ║
- ║Toggle initial zoom │ │ ║
- ║Toggle EMS usage │ │ ║
- ║Toggle XMS usage │ │ ║
- ║Set swap drive │ │ ║
- ║Save defaults │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Tab │<CtrlI> │ ║
- ║Backward tab │<ShiftTab> │ ║
- ║Toggle fixed tabs │<CtrlO><CtrlF>│ ║
- ║Force fixed tabs │<CtrlJ><CtrlG>│ ║
- ║Set tab size │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Help menu │<F1> │ ║
- ║Show help summary │<CtrlJ><CtrlH>│ ║
- ║Status help │ │ ║
- ║Cursor help │ │ ║
- ║Quick movement help │ │ ║
- ║Delete help │ │ ║
- ║Find/Replace help │ │ ║
- ║File help │ │ ║
- ║Window help │ │ ║
- ║Block help │ │ ║
- ║Text help │ │ ║
- ║Tab help │ │ ║
- ║Utility help │ │ ║
- ║Setting help │ │ ║
- ║Program help │ │ ║
- ║Macro help │ │ ║
- ║Function keys │ │ ║
- ╙──────────────────────────┴──────────────┴──────────────╜
-
-
-
-
-
-
-
-
-
-
- Chapter 5. Quick Reference Guide Page 17
-
-
-
-
-
-
- ╓──────────────────────────┬──────────────┬──────────────╖
- ║Activate menus │<F10> │ ║
- ║Abort command (1 char) │<CtrlU> │ ║
- ║Undo last deletion │<CtrlQ><CtrlU>│ ║
- ║Restore line │<CtrlQ><CtrlL>│ ║
- ║Insert undo buffer │<CtrlQ><CtrlV>│ ║
- ║Flush undo buffer │<CtrlQ><CtrlJ>│ ║
- ╚══════════════════════════╧══════════════╧══════════════╝
-
- Commands that do not have a primary or secondary key sequence can
- only be accessed through the menu. There are a few without key
- sequences which do not have a corresponding menu option and must
- be installed to a key sequence before they can be used.
-
- The above quick reference guide can be created using the
- installation program (UINST.EXE). After making any keyboard
- changes you need you will be asked if you wish a quick-reference
- guide. Answering Yes will result in a new quick reference with
- any changes you've made being created in the current directory.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 18 Chapter 5. Quick Reference Guide
-
-
-
-
-
-
-
-
-
- Chapter Six
-
- Basic Movement Commands
-
-
- Character Left <Lft> or <CtrlS>
- Moves the cursor one character to the left. This command does
- not work across line breaks; when the cursor reaches column 1,
- it stops.
-
- Character Right <Rgt> or <CtrlD>
- Moves the cursor one character to the right. This command does
- not work across line breaks; when the cursor reaches the
- right-hand edge of the text window, the text starts scrolling
- horizontally until it reaches the extreme right edge of the
- line (column 999), where it stops.
-
- Word Left <CtrlLft> or <CtrlA>
- Moves the cursor to the beginning of the word to the left.
- This command works across line breaks.
-
- Word Right <CtrlRgt> or <CtrlF>
- Moves the cursor to the beginning of the word to the right.
- This command works across line breaks.
-
- Line Up <Up> or <CtrlE>
- Moves the cursor to the line above. If the cursor is on the
- top line of the window, the window scrolls down one line (if
- there's more text to scroll).
-
- Line Down <Dn> or <CtrlX>
- Moves the cursor to the line below. If the cursor is on the
- last line of the window, the window scrolls up one line (if
- there's more text to scroll).
-
- Scroll Up <CtrlW>
- Scrolls up toward the beginning of the file, one line at a
- time. The cursor remains on its line until it reaches the
- bottom of the window.
-
- Scroll Down <CtrlZ>
- Scrolls down toward the end of the file. The cursor remains on
- its line until it reaches the top of the window.
-
- Page Down <PgDn> or <CtrlC>
- Moves the cursor down one page with an overlap of one line.
-
- Page Up <PgUp> or <CtrlR>
- Moves the cursor on page up with an overlap of one line.
-
-
-
-
-
- Chapter 6. Quick Reference Guide Page 19
-
-
-
-
-
-
- Beginning of File <CtrlPgUp> or <CtrlQ><CtrlR>
- Moves the cursor to the first character in the file.
-
- End of File <CtrlPgDn> or <CtrlQ><CtrlC>
- Move the cursor to the last character in the file.
-
- Beginning of Line <Home> or <CtrlQ><CtrlS>
- Moves the cursor to column 1 of the current line.
-
- End of Line <End> or <CtrlQ><CtrlD>
- Moves the cursor to the end of the current line (the position
- following the last nonblank character on the line). Trailing
- blanks are always removed from all line to preserve space.
-
- Top of Screen <CtrlHome> or <CtrlQ><CtrlE>
- Moves the cursor to the first line displayed in the active
- window. The cursor remains in the same column.
-
- Bottom of Screen <CtrlEnd> or <CtrlQ><CtrlX>
- Moves the cursor to the last line displayed in the active
- window. The cursor remains in the same column.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 20 Chapter 6. Basic Movement Commands
-
-
-
-
-
-
-
-
-
- Chapter Seven
-
- Markers And Jumping
-
-
- Go to Line <CtrlJ><CtrlL>
- Prompts for a line number and moves the cursor to the specified
- line. Any positive integer in the range 1 to 32,767 is valid.
- If the value is preceded by a plus (+) or minus (-) sign, the
- target line number will be calculated relative to the current
- line. Line numbers are counted from the beginning of the file.
-
- Go to Column <CtrlJ><CtrlC>
- Prompts for a column number and moves the cursor to the
- specified column in the current line. Any positive integer in
- the range 1 to 999 is valid. If the value is preceded by a
- plus (+) or minus (-) sign, the target column number will be
- calculated relative to the current column.
-
- Go to Window <CtrlJ><CtrlW>
- If more than one window is open, a list of the open windows is
- displayed in a pop-up menu; after the selection is made, the
- cursor is moved to the indicated window. If only one window is
- open, an error message is displayed.
-
- Top of Block <CtrlQ><CtrlB>
- Moves the cursor to the position of the block-begin marker set
- with <CtrlK><CtrlB>. The command works even if the block is
- hidden or the block-end marker is not set.
-
- Bottom of Block <CtrlQ><CtrlK>
- Moves the cursor to the position of the block-end marker set
- with <CtrlK><CtrlK>. The command works even if the block is
- hidden or the block-begin marker is not set.
-
- Jump to Marker 0..9 <CtrlQ>0 .. <CtrlQ>9
- Moves the cursor to one of the ten text markers with the Set
- marker command. <CtrlQ>0 jumps to marker 0, <CtrlQ>1 jumps to
- marker 1, and so on. If the specified marker has not been set,
- the cursor is not moved.
-
- Set Marker 0..9 <CtrlK>0 .. <CtrlK>9
- Sets one of the ten text markers at the current position of the
- cursor. <CtrlK>0 sets marker 0, <CtrlK>1 sets marker 1, and so
- on.
-
- Previous Cursor Position <CtrlQ><CtrlP>
- Moves to the last cursor position. This command is
- particularly useful to move back to the previous position after
- a Find or Find-and-Replace operation.
-
-
-
-
- Chapter 7. Basic Movement Commands Page 21
-
-
-
-
-
-
- Up To Equal Indent <CtrlJ><CtrlB>
- Moves the cursor to the beginning of the previous line with the
- same indentation level as the current line. For example, if
- the first nonblank character in the current line is at column
- 20, the cursor is moved up to the next line that also begins at
- column 20.
-
- Down To Equal Indent <CtrlJ><CtrlE>
- Moves the cursor to the beginning of the next line with the
- same indentation level as the current line.
-
- Next Sentence <CtrlQ><CtrlZ>
- Moves the cursor to the beginning of the next sentence. A
- sentence is defined as a sequence of characters delimited by a
- period, semicolon, question mark, exclamation mark, or blank
- line.
-
- Previous Sentence <CtrlQ><CrtlW>
- If the cursor is in the middle of a sentence, the cursor is
- moved to the beginning of the current sentence. If the cursor
- is at the beginning of a sentence or between sentences (on a
- blank line, for example) the cursor is moved to the beginning
- of the previous sentence.
-
- Set Marker Via Menu
- Performs same function as the Set Marker command, but you are
- prompted for a marker number.
-
- Jump To Marker By Menu
- Performs the same function as the Jump to Marker command, but
- you are prompted for a marker number. A pop-up window is
- displayed, showing the marker number, the file it is in, and
- the number of the line containing the marker. If a marker has
- not been set, "Not Set" is displayed instead. You may select a
- marker either by pressing its number or by moving the selection
- bar to it and pressing <Enter>.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 22 Chapter 7. Markers And Jumping
-
-
-
-
-
-
-
-
-
- Chapter Eight
-
- Insert And Delete
-
-
- New Line <Enter> or <CtrlM>
- In Insert mode, this command inserts a line break at the
- cursor's position. If AutoIndent mode is in effect, the cursor
- moves to the next line and to the same column as the first
- nonblank character in the previous line; otherwise, it moves to
- column 1 of the new line.
-
- In Overwrite mode, this command moves the cursor to column 1 of
- the next line without inserting a new line, whether Autoindent
- mode is in effect or not. A new line will be inserted if
- you're in Overwrite mode and the cursor is on the last line of
- the file.
-
- Insert Line <CtrlN>
- Inserts a line break at the cursor's position. The cursor does
- not move.
-
- Insert Control Character <CtrlP>
- Allows control characters to be entered into the text. For
- example, pressing <CtrlP> and then <CtrlB> would insert <CtrlB>
- into the text. Control characters are always displayed as
- highlighted capital letters.
-
- Delete Current Character <Del> or <CtrlG>
- Deletes the character under the cursor and moves any characters
- to the right of the cursor one position to the left. This
- command does not work across line breaks.
-
- Delete Character Left <Backspace> or <CtrlH>
- Moves the cursor one character to the left and deletes the
- character positioned there. Any characters to the right of the
- cursor are moved one position to the left. If the cursor is at
- column 1 at the time the command is given, the invisible end-
- of-line marker for the previous line is deleted instead and the
- two lines joined.
-
- Delete Word Right <CtrlT>
- Deletes the word to the right of the cursor. This command
- works across line breaks and thus may be used to remove line
- breaks.
-
- Delete Word Left <CtrlBksp>
- Deletes the word to the left of the cursor. This command works
- across line breaks and thus may be used to remove line breaks.
-
-
-
-
-
- Chapter 8. Markers And Jumping Page 23
-
-
-
-
-
-
- Delete to End of Line <CtrlQ><CtrlY>
- Deletes all the text from the position of the cursor to the end
- of the line.
-
- Delete Line <CtrlY>
- Deletes the line containing the cursor and moves any lines
- below up one line. The cursor moves to column 1 of the next
- line.
-
- Delete Line (no undo) <CtrlQ><CtrlT>
- Delete the line containing the cursor and moves any lines below
- up one line. The cursor moves to column one. The deleted line
- is NOT placed in the undo buffer.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 24 Chapter 8. Insert And Delete
-
-
-
-
-
-
-
-
-
- Chapter Nine
-
- Find And Replace
-
-
- Find <CtrlQ><CtrlF>
- Lets you search for a string of up to 67 characters. When you
- enter this command, you will be asked for a search string. The
- last search string entered (if any) will be displayed. You can
- select it again by pressing <Enter>, edit it, or enter a new
- search string. <Esc> or <CtrlU> will cancel a search command,
- and <CtrlP> can be used to enter control characters. For
- example, to find a period at the end of a line you would search
- for ".<CtrlM>", where <CtrlM> was entered by pressing <CtrlP>
- and <CtrlM>.
-
- After the search string is entered, you must specify your
- search options. The options you used last are displayed. You
- can enter new options (canceling the old ones), edit the
- current options, or select them again by pressing <Enter>. The
- following options are available:
-
- B Searches backwards from the current cursor position
- toward the beginning of the file.
- G Searches globally. The entire file is scanned for the
- search string, regardless of the current position of
- the cursor. The search starts at the beginning of the
- file if searching forwards; at the end if searching
- backwards.
- L Limits searches to the currently marked block.
- n Finds the nth occurrence of the string (overridden by
- the L option).
- U Ignores case; treats all alphabetic characters as if
- they were upper-case.
- W Searches for whole words only; skips patterns embedded
- in other words.
-
- If the text contains a target matching the search string, the
- target is highlighted and the cursor is positioned just beyond
- it.
-
- Find-and-Replace <CtrlQ><CtrlA>
- This operation works the same as the Find command except that
- you can replace the found string with any other string of up to
- 67 characters. After the entering the search string, you are
- asked to enter the replacement string. The last replacement
- string entered, if any, will be displayed; you may accept it,
- edit it, or enter a new string.
-
-
-
-
-
-
- Chapter 9. Insert And Delete Page 25
-
-
-
-
-
-
- Finally, you are prompted for options. The options you used
- last are displayed first. You may enter new options (canceling
- the old ones), edit the current options, or select them by
- pressing <Enter>. The options available are the same as those
- for the Find command except the exception of the following:
-
- N Replaces without asking; does not prompt for
- confirmation at each occurrence of the search string.
-
- If the text contains a target matching the search string, the
- target is highlighted and the cursor is positioned just beyond
- it. You are then asked if you wish to replace it. Press Y to
- replace it, N to ignore it, or A to replace it and all
- subsequent matches without asking. You can abort the operation
- by pressing Q. If you select N (no prompt) option, this
- question will not be asked.
-
- Search And Apply Macro <CtrlQ><CtrlM>
- Searches for any string up to 67 characters and then applies a
- macro to it; that is, it moves the cursor to your target, and
- executes the commands stored in the macro. You can enter
- search strings in the same way as the Find command. After the
- search string is entered, a menu is displayed containing all
- the macros you've defined. Move the selection bar with the
- <Up> and <Down> arrow keys and select your macro by pressing
- <Enter>. You can abort the operation by pressing <Esc>.
- Finally, you are prompted for options.
-
- The options you used last are displayed at first. You may
- enter new options (canceling the old ones), edit the current
- options, or select them by pressing <Enter>. The options
- available for the Find-and-Replace command are available here
- as well.
-
- The screen is not updated while a Search-and-Apply Macro
- operation is being performed (see Update Screen). You can use
- the Abort command (<CtrlU>) to stop the operation.
-
- Find Next <CtrlL>
- Repeats the last search operation. If the last search command
- called for a Find operation, the same search string and options
- will be repeated; for a Find-and-Replace operation, the
- replacement string will be reused as well.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 26 Chapter 9. Find And Replace
-
-
-
-
-
-
-
-
-
- Chapter Ten
-
- File Commands
-
-
- Edit Another File <F3>
- If the file in the current window has not been modified, the
- window is cleared and you are prompted for a new file to edit
- in the same window. If the files does need saving, you will be
- asked if the file should be abandoned.
-
- Abandon All Files AltQ
- Closes all files and exits to DOS. You will be asked if you
- want to save any files that have been modified. You can abort
- this command by pressing <CtrlU> (Abort).
-
- Read File Into Window <CtrlK><CtrlR>
- Read a file into the text at the cursor's current position
- exactly as if it were copied from another part of the text.
- The file read in is marked as a block.
-
- Write Block to File <CtrlK><CtrlW>
- Writes the currently marked block to a file. You are first
- prompted for a file name. If the file already exists, you are
- asked if you want to overwrite it. If the file does not exist,
- a new file is created. The block is left unchanged, and the
- block markers remain in place. If no block is marked, this
- command is ignored.
-
- Save and Continue Edit <CtrlK><CtrlS> or <F2>
- Simply saves the file in the active window.
-
- Save File and Close Window <CtrlK><CtrlX>
- Saves the file in the active window. If the active window is
- the only window open, this command will quit to the menu,
- otherwise, the window is closed and you may continue editing in
- another window.
-
- Close All But Current Window <CtrlK><CtrlA>
- Closes all but the current window. Changes, if any, are saved.
- If any files are unnamed (NONAME) you will be prompted for the
- file name.
-
- Save/switch files <CtrlK><CtrlD>
- Save the file in the current window. The window then cleared
- and you are prompted for a new file to edit in the same window.
-
- Save All and Exit to DOS <AltX>
- Saves all files that have been modified and exits to DOS.
-
-
-
-
-
- Chapter 10. Find And Replace Page 27
-
-
-
-
-
-
- Write to Named File <CtrlK><CtrlN>
- Prompts you for a file name, then saves the file in the current
- window in the specified file. This becomes the new name for
- the file in the window (and in any other windows that display
- the file). This command is particularly useful when editing
- NONAME files.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 28 Chapter 10. File Commands
-
-
-
-
-
-
-
-
-
- Chapter Eleven
-
- Window Commands
-
-
- Add Window <CtrlO><CtrlA> or <ShiftF3>
- Opens another window. You will be prompted for a file to edit;
- if you do not specify one, a NONAME file is created. You can
- later save it as a named file with the Save-to-File command.
-
- If too many windows are opened (limit of six) or if the active
- window is too small to be divided in half (fewer than seven
- screen lines including the status line), you will get an error
- message.
-
- Close Window <CtrlK><CtrlQ>
- If the file in the active window has not been modified, this
- command closes the window. Otherwise, you are asked to verify
- that the file would be abandoned before the window is closed.
- If the active window is the only window open you are placed in
- the menu system.
-
- Next Window <CtrlO><CtrlN> or <F6>
- Makes the next window the active window.
-
- Previous Window <CtrlO><CtrlP> or <ShiftF6>
- Makes the previous window the active window.
-
- Resize Active Window <CtrlO><CtrlS>
- Changes the size of the active window. You can adjust the size
- by pressing the <Up> and <Dn> arrow keys. When you are
- finished, pressing <Enter> or <Esc> returns you to the editor.
-
- Toggle Zoom Mode <AltZ>
- If the current screen is in split window mode the current file
- is zoomed to fill the screen. If the screen is already zoomed
- it is switched back to split window mode.
-
- Zoom The Current Window
- If the screen is in split window mode the current file is
- zoomed to file the screen. If the screen is already in zoom
- mode this command does nothing. This command is intended for
- use in macros when you wish to place the screen in a known
- state. If you need it to be in split screen mode you should
- first force zoom mode then toggle the zoom mode.
-
-
-
-
-
-
-
-
-
- Chapter 11. File Commands Page 29
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 30 Chapter 11. Window Commands
-
-
-
-
-
-
-
-
-
- Chapter Twelve
-
- Block Commands
-
-
- Begin Block <F7> or <CtrlK><CtrlB>
- Marks the beginning of a block. The marker itself is not
- visible on the screen, and the block becomes invisible only
- when the end-block marker is set. You can also use the
- begin-block as an extra text marker and jump directly to it
- with <CtrlQ>CtrlB>.
-
- End Block <F8> or <CtrlK><CtrlK>
- Marks the end of a block. Like the begin-block marker, the
- end-block marker is invisible, and the block itself will not be
- displayed unless both markers are set. You can also use the
- end-block marker as an extra text marker and jump directly to
- it with <CtrlQ><CtrlK>.
-
- Copy Block <CtrlK><CtrlC>
- Creates a copy of a marked and displayed block at the current
- cursor position. The original block is left unchanged, and the
- markers are placed around the new copy of the block.
-
- Move Block <CtrlK><CtrlV>
- Moves a marked and displayed block from its current position to
- the cursor's position. The markers remain around the block at
- its new position.
-
- Delete Block <CtrlK><CtrlY>
- Deletes a marked and displayed block. Although the Undo last
- deletion can usually restore portions of an accidentally
- deleted block, there is no command to restore a deleted block
- in its entirety, so use this command with care.
-
- Toggle Block Display <CtrlK><CtrlH>
- Toggles off and on the visual marking of a block.
-
- Mark Current Line <CtrlK><CtrlL>
- Marks the current line as a block, combining the functions of
- the begin-block and end-block commands.
-
- Mark Current Word <CtrlK><CtrlT>
- Marks a single word as a block, combining the functions of the
- begin-block and end-block commands. If the cursor is
- positioned within a word, that word will be marked. If it is
- not within a word, then the word to the right of the cursor
- will be marked, and if there is no word to the right of the
- cursor, then the word to the left will be marked.
-
-
-
-
-
- Chapter 12. Block Commands Page 31
-
-
-
-
-
-
- Shift Block Left <ShiftF7> or <AltLft>
- Shifts the marked block one character to the left. If a block
- is not marked (or if the block is hidden) only the current line
- will be shifted. A single space at the beginning of each line
- in the block is deleted. If the first character in a line is
- not a space the line is left unaltered.
-
- Shift Block Right <ShiftF8> or <AltRgt>
- Shifts the marked block one character to the right. If a block
- is not marked (or if the block is hidden) only the current line
- will be shifted. A single space is inserted at the beginning
- of each line in the block.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 32 Chapter 12. Block Commands
-
-
-
-
-
-
-
-
-
- Chapter Thirteen
-
- Macro Commands
-
-
- Toggle Macro Record <CtrlJ><CtrlT>
- Turns macro recording on or off. When macro recording is on,
- all subsequent keystrokes (up to the 255 keystroke limit) are
- saved until macro recording is turned off again. Once the
- macro is recorded, you are asked to select a macro slot to
- store it in.
-
- Playback Scrap <CtrlJ><CtrlI>
- Plays back the scrap macro (macro 0) a prompted number of
- times. The "scrap macro" is always the same as the last macro
- that was recorded, even if it was saved as a normal macro
- (1-9).
-
- Playback scrap 1..9 times <CtrlJ>1 ... <CtrlJ>9
- Plays back the scrap macro 1 to 9 times. <CtrlJ> 1 plays it
- back once, <CtrlJ> 2 twice, and so on.
-
- Playback Macro 1..9 <Alt1> ... <Alt9>
- Plays back the specified macro one time. <Alt1> plays back
- macro 1, <Alt2> macro 2, and so on.
-
- Playback
- Prompts you for a choice, then plays back the macro you
- selected.
-
- Edit Macro
- Allows you to edit previously saved macros. Unity has a
- special editing module designed specifically for working with
- macros. Special keys (function keys, cursor keys, and so on)
- are represented by abbreviated forms of their names - for
- example, <Esc>, <CtrlN>, <Enter> - so that you won't have to
- run to your reference books to see what characters represent
- what keystrokes, and these symbols are highlighted. Regular
- keystrokes are shown as normal characters without highlighting.
-
- When you enter this command, you are asked to select a macro to
- edit (and optionally a name for the macro). Then you enter the
- macro editor itself. Several keys serve special purposes here:
- The cursor keys behave as usual, moving the cursor so you can
- select a particular keystroke to change; Backspace deletes a
- single keystroke, just as it does in the regular editor;
- <CtrlBksp> deletes an entire macro; <Esc> restores the macro to
- its previous state; and the <Enter> key takes you out of the
- macro editor. The <ScrollLock> key acts as a toggle, turning
- literal interpretations of keystrokes on and off. If you
- wanted to assign a macro with the <Enter> key or the
-
-
-
- Chapter 13. Block Commands Page 33
-
-
-
-
-
-
- <Backspace> key, which normally serve a special function, you
- would first press <ScrollLock>. Pressing it again would
- restore all special keys to their previous state.
-
- Load Macros
- Allows you to load a file of previously saved macros. If the
- file you specify does not exist, an error message is displayed.
-
- Store Macros
- Save the current macros to the file you specify.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 34 Chapter 13. Macro Commands
-
-
-
-
-
-
-
-
-
- Chapter Fourteen
-
- Macro Looping Commands
-
-
- Repeat Macro <CtrlJ><CtrlM>
- Repeats the currently running macro. Care must be taken to
- insure that one of the macro abort commands is used to avoid an
- infinitely repeating loop. If this should occur, pressing the
- abort key (normally <CtrlU>) will halt the macro.
-
- Each time the Repeat Macro command is executed an internal
- counter is incremented and the new counter value is displayed
- in the upper right corner of the the screen.
-
- While a macro is running the screen is not updated to improve
- performance. If you wish a to have visual feedback of your
- repeating macro you should insert the Update Screen command
- somewhere in your macro sequence.
-
- Abort Macro if Out of Block <CtrlJ><CtrlN>
- If the current line is not within the specified block the macro
- is aborted.
-
- A macro to shift all lines in the specified block two
- characters to the right is:
-
- <CtrlJ>n ; abort macro if out of block
- " " ; two spaces (the " are not entered)
- <Home> ; move to beginning of line
- <CtrlX> ; move down one line
- <CtrlJ>m ; repeat the macro
-
- Abort Macro If End Of File <CtrlJ><CtrlQ>
- If the cursor is on the FIRST or LAST line of the file the
- macro is aborted.
-
- Abort Macro if Blank Line <CtrlJ><CtrlO>
- If the current line is blank the macro is aborted.
-
- Update Screen <CtrlJ><CtrlU>
- Forces a complete update of the screen. This command is
- intended for use inside a macro. Normally, while a macro is
- executing the screen is not updated until completion so as to
- improve performance. If you wish visual feedback while running
- a long, repeating macro, place this command somewhere in your
- macro. Using this command will greatly slow execution of a
- macro, however.
-
-
-
-
-
-
- Chapter 14. Macro Commands Page 35
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 36 Chapter 14. Macro Looping Commands
-
-
-
-
-
-
-
-
-
- Chapter Fifteen
-
- Format Commands
-
-
- Toggle Insert Mode <Ins> or <CtrlV>
- Selects the Insert or Overwrite mode. In insert mode, text to
- the right of the cursor is moved to the right as new text is
- entered. In Overwrite mode, any text beneath the cursor is
- overwritten when new text is entered. Notice that the cursor's
- size is an indication of the mode you are in: A thin cursor
- indicates Overwrite, while a slightly fatter cursor indicates
- Insert.
-
- Force Insert Mode
- This command forces insert mode. It is primarily intended to
- be used in macros when you need to force insert mode on.
-
- Force Overtype Mode
- This command forces overtype mode. It is primarily intended to
- be used in macros.
-
- Toggle Autoindent <CtrlQ><CtrlI>
- When Autoindent mode is in effect, the New line command
- (<Enter> or <CtrlM>) will move the cursor to the next row and
- to the same column as the first nonblank character on the
- previous line.
-
- Force Autoindent Mode
- Forces autoindent mode on. This command is primarily intended
- to be used in macros.
-
- Toggle Word Wrap CtrlO W
- Turns on or off the word wrap mode. When word wrap is on a new
- line will automatically be started when the right margin is
- reached. When word wrap is off a new line must be specifically
- entered.
-
- Force Word Wrap On
- Force word wrap mode on. This command is primarily intended to
- be used in macros.
-
- Toggle Right Justify <CtrlO><CtrlJ>
- If wordwrap is on, all wordwrap and reformatting operations
- fill out each line such that the last character in each line
- touches the right margin. Note: Turning right-justification
- on automatically turns on wordwrap.
-
-
-
-
-
-
-
- Chapter 15. Format Commands Page 37
-
-
-
-
-
-
- Toggle Compress At Wrap
- When Unity wraps or reformats text that falls beyond the right
- margin, its usual first step is to compress excess blanks from
- the current line. This step is needed so that previously
- right-justified text can be reformatted with the padding spaces
- automatically removed. In some cases, however, the compression
- will remove desired spaces, such as those used for aligning
- columns of figures in a table. The compress wrap toggle is
- designed to control this behavior. When Compress Wrap is off,
- Unity will not remove spaces in a line when it starts to wrap
- it.
-
- Set Left Margin <CtrlO><CtrlL>
- Sets the left margin for text displayed on the screen.
-
- Set Right Margin <CtrlO><CtrlR>
- Sets the right margin for text displayed on the screen.
-
- Set Temporary Margin <CtrlO><CtrlG>
- Temporarily moves the left margin one tab stop to the right.
- The temporary margin remains in force until you leave the
- current paragraph. This command works only if wordwrap and
- fixed tabs are on; if they are off, an error message is
- displayed. When the tab line is on, the temporary margin is
- indicated by an arrow pointing to the right.
-
- Set Temporary Margin To Cursor <F4> or <CtrlO><CtrlH>
- Same as the Set Temporary Margin command except that the left
- margin is set to the current position of the cursor instead of
- the next tab stop.
-
- Margin Release <CtrlO><CtrlX>
- Allows you to type beyond the left or right margin when
- wordwrap is on. The margin release remains in effect until the
- cursor is moved to a new line.
-
- Center Line <CtrlO><CtrlC>
- Centers the current line within the left and right margins.
- This command works whether wordwrap is on or off.
-
- Toggle Case <CtrlO><CtrlO>
- Toggles the case case of the character above the cursor
- (upper-case letters are changed to their lower-case
- equivalents, and vice versa). If the cursor is within a marked
- (and displayed) block, the command affects all characters in
- the block.
-
- Lower Case <CtrlO><CtrlV>
- Same as Toggle case command except that it changes the
- character(s) to its lower-case equivalent.
-
- Upper Case <CtrlO><CtrlU>
- Same as toggle case command except that it changes the
- character(s) to its upper-case equivalent.
-
-
-
- Page 38 Chapter 15. Format Commands
-
-
-
-
-
-
- Reformat Paragraph <CtrlB>
- Rearranges words from the current line to the end of the
- paragraph so that the lines are as full as possible, given the
- constraints imposed by the left and right margins. if right-
- justification is on, the lines will also be evenly padded with
- spaces until the last character on the line touches the right
- margin. The end of a paragraph is signaled by a blank line.
-
- Reformat Block <CtrlK><CtrlF>
- Reformats all paragraphs within the currently marked block.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 15. Format Commands Page 39
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 40 Chapter 15. Format Commands
-
-
-
-
-
-
-
-
-
- Chapter Sixteen
-
- Miscellaneous Toggles
-
-
- Toggle Tab Line <CtrlO><CtrlT>
- Turns on and off displaying tab line for the current window.
- The tab line shows you the position of all tab stops, as well
- as the current left and right margins. Note: Turning on the
- tab line automatically turns on fixed tabs.
-
- Toggle Marker Display <CtrlK><CtrlM>
- Hides or makes all text markers visible. Setting a new text
- marker automatically turns on Marker display if it was
- previously turned off.
-
- Toggle Key Help <CtrlJ><CtrlK>
- By default, symbols for the primary command associated with
- particular menu choices are displayed on the prompt line as you
- scroll through the lists of choices. This feature is intended
- to help you learn the shortcut commands for menu items.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 16. Miscellaneous Toggles Page 41
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 42 Chapter 16. Miscellaneous Toggles
-
-
-
-
-
-
-
-
-
- Chapter Seventeen
-
- System Commands
-
-
- Invoke DOS Shell <CtrlF9>
- Gives you access to DOS services or to other program from
- inside Unity. At the prompt box, enter a DOS command just as
- you would at the DOS prompt; for example, typing "DEL *.BAK"
- would delete all files in the current directory with the
- extension "BAK". If you need to run several program you can
- invoke a DOS shell simply by pressing <Enter>. To return to
- Unity, type "EXIT" at the DOS command line - you will be right
- back where you started.
-
- Log Drive/Path <CtrlJ><CtrlD>
- Changes the active drive and directory.
-
- Show System Info <CtrlJ><CtrlV>
- Shows a variety of statistics about the file being edited in
- the current window, as well as certain system information: the
- full name of the file; whether it has been modified or not; the
- number of lines, bytes, and words in the file; the current time
- and date; the amount of memory remaining; the version of DOS
- being used; the amount of space remaining on the currently
- logged drive; and the current drive and directory.
-
- Because some of the file statistics (notably word count) can
- take a long time to computer, you may want to skip them by
- pressing any key while they are being updated. This tells
- Unity to stop what it is doing and jump ahead to the system
- information section.
-
- Show Available Memory <CtrlJ><CtrlR>
- Shows you the amount of random access memory (RAM) available.
-
- File Directory
- Shows you a directory listing. At the prompt box enter a file
- mask; for example:
-
- C:\DOCS\*.DOC
-
- shows you all the files in subdirectory DOCS on drive C that
- have the extension .DOC. If a drive or path is not specified,
- the default directory is assumed. Once a mask has been
- entered, all files matching the search criteria will be
- displayed in sorted order in a pop-up window. If the window is
- too small for all the file names, you can scroll the list using
- the cursor keys: <PgUp> and <PgDn> scroll the display one
- screenful, <Home> scrolls to the first file in the list, and
- <End> scrolls to the last file.
-
-
-
- Chapter 17. System Commands Page 43
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 44 Chapter 17. System Commands
-
-
-
-
-
-
-
-
-
- Chapter Eighteen
-
- Default Options
-
-
- Set Undo Limit <CtrlJ><CtrlU>
- Sets the size of the "undo buffer" which stores deleted lines.
- The default value is 20 lines. This setting will be saved if
- you use the Save Options command.
-
- Set Error Buffer Size
- Sets the number of error messages that Unity can retain at
- once. The default setting is 20. The valid range is 10 to
- 100. Changes to this setting will not take affect until you
- save your operations, exit, and restart the editor.
-
- Set Support Path
- Tells Unity where its optional support files are located (macro
- and help files).
-
- Set Default Extension
- Sets the default extension for file names. This extension is
- automatically added to file names lacking extensions. For
- example, if you have set the default extension to .PAS and are
- about to load SAMPLE.PAS, you can simply enter SAMPLE when
- prompted for a file name.
-
- Set Colors
- Changes the colors used for text windows, status lines, pull-
- down menus, and so on. You will first be shown a list of the
- current color settings. Select the one you want to change by
- moving the selection bar with the arrow keys, then press
- <Enter>. The choices available to you are displayed, and the
- current setting is marked with a snowflake character. You can
- change the setting by moving the snowflake with the arrow keys;
- as it moves, the item to be changed will reflect the change in
- colors. When you find the color you want, press <Enter> to
- select it. To restore the original setting, press <Esc>
- instead.
-
- Toggle Snow Check
- Unity is designed to avoid the annoying screen interference
- known as snow on color graphics adapters. Enhanced Graphics
- Adapters (EGAs) and many of the newer color adapters do not
- have this problem. If you don't experience this problem
- either, then turn snow prevention off. This improves Unity's
- performance quite noticeably. This command is ignored if you
- are using a monochrome adapter.
-
-
-
-
-
-
- Chapter 18. Default Options Page 45
-
-
-
-
-
-
- Toggle Block Cursor
- Hides the blinking cursor you normally see on the screen and
- replaces it with a nonblinking "block cursor." You can change
- the appearance of the block cursor with the Set Colors command.
- The blinking cursor is restored when you leave Unity.
-
- Select Video Mode
- Cycles through video modes as supported by the active video
- device driver. This command is ignored unless UNITY.VID was
- located and loaded by Unity. The video mode can be overridden
- at the command line with the /M options, for example:
-
- UNITY /m25x80 myfile.pas
-
-
- If the indicated video mode is not defined in the video device
- driver it will be ignored.
-
- Select DESQview Video Mode
- This command is identical to the Select Video Mode command
- except the chosen video mode is only used when Unity is running
- under DESQview. Since DESQview does not support most video
- modes this command is included so you may select a mode to be
- used when DESQview is detected.
-
- Toggle Enhanced Keyboard
- Enables or disables the use of enhanced keyboard function
- calls. Certain keystrokes, such as F11 and F12 are only
- available if this mode is turned on and an enhanced keyboard is
- present. Certain TSR programs, such as Turbo Lightning, will
- not work with this mode enabled. This setting has no affect if
- an enhanced keyboard is not installed.
-
- Toggle Dual Display
- Enables or disables the use of a secondary monitor for the
- output of the compiler displays instead of the use of a window
- on the primary screen. This function will have no effect if a
- secondary monitor is not detected. Warning! Do not enable
- this option if you have QEMM or a similar memory manager
- installed and don't have a second monitor. Memory which is
- mapped into the video segments will confuse Unity, resulting in
- a locked system.
-
- Toggle Tab Expansion
- When enabled, expands tab characters to spaces when reading in
- files created with other editors. The assumed size of the tabs
- is specified with the Set Tab Size command. Spaces may be
- converted back to tabs when the file is written (see Toggle Tab
- Writing in the next section).
-
-
-
-
-
-
-
-
- Page 46 Chapter 18. Default Options
-
-
-
-
-
-
- Toggle Tab Writing
- When enabled, Unity converts strings of blanks to tabs when a
- file is written to disk. This will save disk space, especially
- for indented programming languages such as Pascal, C, and
- assembler. Unity uses the current default tab spacing when it
- converts the blanks into tabs.
-
- Toggle Hi-bit Strip
- Strips "high-order bits" when reading in files created with
- certain editors, notably WordStar, which use the eighth
- (highest) bit in a byte to store information. To see whether
- you need to use this option, display the file using the DOS
- TYPE command. If the last letter in each word is garbled, you
- should select this option before reading the file for editing.
-
- Toggle Initial Zoom
- If set, new windows are automatically zoomed to fill the screen
- when they are opened. This setting does not affect the
- behavior of the current Zoom status.
-
- Toggle EMS usage
- When enabled, EMS will be used (if available) to reduce the
- memory overhead of Unity to less than 10k whenever an external
- program, such as a compiler or a DOS shell, is executed.
- Sufficient Expanded Memory must be available to Unity for it to
- reduce its memory.
-
- Toggle XMS Usage
- Similar to Toggle EMS Usage except it is for XMS, the eXtended
- Memory System standard. An XMS device driver and sufficient
- extended memory must be available for Unity to take advantage.
- If both EMS and XMS are enabled, Unity will first attempt to
- use XMS, if device driver is not installed or there is
- insufficient memory EMS will be used. If neither is available
- it may not be possible to reduce memory overhead enough to
- execute external programs.
-
- Set Swap Drive
- If you wish to enable swapping to disk you must specify the
- drive to use for swapping. Swapping to a physical disk is not
- recommended. If at all possible limit swapping to a RAM disk.
- Disk swapping is used as a last resort only if EMS or XMS is
- not available. Leaving the swap drive blank disables this
- option which is the default setting.
-
- Save Defaults
- Saves the current configuration settings as the defaults. All
- values that could be changed in the Options and Program/Options
- pull down menus will be saved. It is particularly important
- that you specify the drive and directory where Unity's support
- files are located unless you define the subdirectory where the
- support files are located with the environmental variable
- UNITY=.
-
-
-
-
- Chapter 18. Default Options Page 47
-
-
-
-
-
-
- You will have the option of of the EXE file being modified with
- the new defaults or of saving them to a configuration file
- (UNITY.CFG). If you are running under a network you should
- always save to a configuration file. You might also wish to
- use a configuration file if you desire different settings for
- different subdirectories. If you wish to compress UNITY.EXE
- with one of the popular run-time compression programs such as
- LHEXE your only option is to save to a configuration file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 48 Chapter 18. Default Options
-
-
-
-
-
-
-
-
-
- Chapter Nineteen
-
- Tab Commands
-
-
- Tab Tab or <CtrlI>
- Moves the cursor to the next tab. In Insert Mode, any text to
- the right of the cursor is moved along with it; in Overwrite
- mode, only the cursor is moved.
-
- Backward Tab <Shift-Tab>
- If fixed tabs are in effect, this command moves the cursor to
- the previous tab stop. Unlike the Tab command, this command
- moves only the cursor. It never moves text, whether in Insert
- or Overwrite mode. If smart tabs are in effect, this command
- does nothing.
-
- Toggle Fixed Tabs <CtrlTab>
- When fixed tabs are in effect, the tab stops (normally) start
- at column 9 and occur every 8 columns thereafter. By default,
- smart tabs are on and fixed tabs are off. When smart tabs are
- in use, the tab stops are determined by the locations of the
- words on the previous line; the first character in each word
- represents a tab stop. To change the locations of the stops
- when using fixed tabs, use the Set Tab Size, Edit Tab Line, or
- Set Tab Line commands.
-
- Set Tab Size
- Sets the default tab size to be used when fixed tabs are on.
- This value is also used when expanding tab characters if the
- tab expansion option is on. See the discussion of the Toggle
- Tab Expansion command.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 19. Default Options Page 49
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 50 Chapter 19. Tab Commands
-
-
-
-
-
-
-
-
-
- Chapter Twenty
-
- Help Commands
-
-
- Help Menu <F1>
- General help is available both when you are in the menu system
- and when you are editing. By selecting U for Utility and H for
- help at the main menu, or by pressing <F1>, you can invoke a
- menu of topics on which help is available. Move the selection
- bar to the desired topic and press <Enter> to get information
- on it.
-
- Show Help Summary <CtrlJ><CtrlH>
- Displays a brief description of the help system and how it
- works.
-
- Status Help
- Provides help on the Help system itself and on the status
- commands (Show System Info and Show Available Memory).
-
- Cursor Help
- Provides help on the basic cursor commands.
-
- Quick Movement Help
- Provides help on the Quick cursor movement commands.
-
- Delete Help
- Provides help on the text insertion and deletion commands.
-
- Find/Replace Help
- Provides help on the Find, Find-and-Replace, and Search-and-
- Apply-Macro commands.
-
- File Help
- Provides help on the file commands.
-
- Window Help
- Provides help on the window commands.
-
- Block Help
- Proves help on the block commands.
-
- Text Help
- Provides help on the text formatting commands.
-
- Tab Help
- Provides help on tab commands.
-
-
-
-
-
-
- Chapter 20. Help Commands Page 51
-
-
-
-
-
-
- Utility Help
- Provides help on the commands that give access to system-level
- functions.
-
- Settings Help
- Provides help on commands that change default settings or that
- toggle particular options on and off.
-
- Program Help
- Provides help on the compiler support commands.
-
- Macro Help
- Provides help on using the macro commands.
-
- Function Key Help
- Provides a quick reference list, showing all the commands
- assigned to function keys.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 52 Chapter 20. Help Commands
-
-
-
-
-
-
-
-
-
- Chapter Twenty-One
-
- Programming Commands
-
-
- Project <F9>
- If the primary file has the extension .PJU it will process the
- project files and execute compiler commands as necessary. See
- the PROJECT chapter for additional details.
-
- If the primary file does not have the extension .PJU then this
- command command will simply process the primary file, selecting
- the necessary tool by checking the file extension.
-
- If the default extension of a file has not been bound to a
- compiler or assembler (using the installation program) the
- first compiler (TPC.EXE by default) will be used.
-
- Run Tool
- Unity supports up to ten compilers, assemblers or programming
- tools. Several have been preinstalled. You may change or
- modify these settings with the installation program. When a
- tool is installed an entry for it is automatically added to the
- drop down menu. For convenience you may wish to configure a
- key to invoke an often used tool.
-
- Some of the programs that have been installed are:
-
- Tool 1 <AltC>:
-
- Menu name: Compile
- Program name: TPC.EXE
- Primary extension: PAS
- Alternate extension:
- Options: /Q/M/V %1
- Compiler: Yes
- Run project: No
- Pause? No
- Prompt? No
- Run filter: On error
- Filter: FERROR.EXE
- Filter options: %1
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 21. Help Commands Page 53
-
-
-
-
-
-
- Tool #2 <AltA>:
-
- Menu name: Assemble
- Program name: TASM.EXE
- Primary extension: ASM
- Alternate extension:
- Options: /T/M5 %1
- Compiler? Yes
- Run project? No
- Pause? No
- Prompt? No
- Run filter? Always
- Filter: FERROR.EXE
- Filter options: %1
-
- Tool #3 <AltD>:
-
- Menu name: Debugger
- Program name: TD.EXE
- Primary extension:
- Alternate extension:
- Options: %B%N
- Compiler? No
- Run project? Ask
- Pause? No
- Prompt? Yes
- Run filter? Never
- Filter:
- Filter options:
-
- Since Turbo Debugger is not a compiler, several of the fields
- are unused. These are: Run Filter, Filter, and Filter
- Options. The installation program will not allow you to set
- any of these values when "Compiler?" is NO and will force
- default values into these fields.
-
- Tool #4 <AltP>:
-
- Menu name: pRofiler
- Program name: TPROF.EXE
- Primary extension:
- Alternate extension:
- Options: %B%N
- Compiler? No
- Run project? Ask
- Pause? No
- Prompt? Yes
- Run filter? Never
- Filter:
- Filter options:
-
- The first capital letter is used for the menu hotkey, in this
- case 'R'. This is to avoid conflict with the Project command.
-
-
-
-
- Page 54 Chapter 21. Programming Commands
-
-
-
-
-
-
- If you have MASM 5.x instead of TASM you should change the Tool
- 2 settings to:
-
- Menu name: Assemble
- Program name: MASM.EXE
- Primary extension: ASM
- Alternate extension:
- Options: /T %1;
- Compiler? Yes
- Run project? No
- Pause? No
- Prompt? No
- Run filter? Always
- Filter: FERROR.EXE
- Filter options: %1
-
- Note the %1 under OPTIONS. This is to indicate to Unity where
- to place the name of the file. You could also place multiple
- %1 codes in the options line such as '/T %1 %1 ;'. The
- pseudo-variables that are supported are:
-
- %1 The full path, filename, and extension of the file,
- e.g. "C:\SOURCE\MYPROG.PAS*". When used in
- "Filters Options" it is replaced by the filename of
- the file containing the error messages (ERR.$$$ by
- default).
- %2 Only used for "Filter Options". It is replaced by
- the filename of the source code file that was
- compiled/assembled. When a compile is executed
- from a project file command line options are also
- passed along, to separate the filename from the
- command line options it is assumed that the
- filename is the last item on the command line
- (separated by spaces). This may not be correct in
- all cases. I am currently researching alternatives
- to this system.
- %B The pathname of the current file with a backslash
- if required, e.g. "C:\STUFF\"
- %D The filename (no path or extension) of the primary
- file. If a primary file has not been specified the
- filename of the current file will be used.
- %E Just the extension of the current filename without
- the preceding period, e.g. "PAS"
- %F The name and extension of the file, without the
- path, e.g. "MYPROG.PAS"
- %N Only the name of the current file, e.g. "MYPROG"
- %P The path of the current file, e.g. "C:\SOURCE"
- %% Indicates to place a single % character in that
- position.
-
- When a program is compiled or assembled all files loaded into
- the editor that have been modified will be saved. When the
- compiler or assembler is run the standard output is redirected
- into a file.
-
-
-
- Chapter 21. Programming Commands Page 55
-
-
-
-
-
-
- After completion of the compile/assemble, the filter program is
- execute (if required) to convert the output of the
- compiler/assembler to the format Unity understands.
-
- If any errors were detected the first error message is
- displayed in a window and the cursor is moved to the the
- offending line. The offending file will "ZOOMED" to fill the
- screen.
-
- A program installed as a tool doesn't necessarily need to be a
- compiler type tool to be treated as one. Included in the
- auto-installation database is a GREP. While this is certainly
- not a compiler it is configured as one to provide a useful
- function to the environment. When GREP is executed (you are
- prompted for a command line) the redirected output is filtered
- by GFILT.EXE so that you can use the error-detection and line-
- jumping feature of Unity to move to files and lines containing
- the desired text. This provides a text search facility that
- can do regular expression searches across multiple files. Thus
- if you are making a change that can affect many different files
- in your program the search for the text to change is
- simplified.
-
- Execute Alt-E
- Forces the extension EXE or COM onto the primary file name or
- the current file name (if no primary file) and executes it. If
- the file has been modified since the last save or compile or if
- the last compile was unsuccessful, you will be asked if you
- wish to recompile (Project) before running the program.
-
- You are given a chance to change the command line options
- passed to this program.
-
- Build all
- Causes all files listed in a project file to be treated as out
- of date. This results in all commands listed to be executed,
- except for commands skipped due to conditional project commands
- (see #IFDEF and #IFNDEF).
-
- Symbols
- Allows you to define symbols and string macros to be used in
- the processing of a project file without having to modify the
- project file. Multiple symbols may be defined by separating
- them by spaces. See the project file chapter for additional
- information and examples. See also #VAR on page 63.
-
-
-
-
-
-
-
-
-
-
-
-
- Page 56 Chapter 21. Programming Commands
-
-
-
-
-
-
-
-
-
- Chapter Twenty-Two
-
- Programming Options
-
-
- Set Tool Options
- Sets the command line options for the programming tool. The
- changes remain in effect until you quit the editor. If you
- wish to make permanent changes to the tool options you may do
- so with installation program or by using the Save Options
- command.
-
- Set Autosave Timer
- You can have the editor automatically save your work at
- intervals by setting this timer to the number of minutes
- between saves you you wish. If the timer is set to zero (0) it
- is disabled. The timer does not start until a change has been
- made in one of the files loaded into the editor. Once the
- timer has come due, the files will not be saved until there is
- at least 30 seconds of keyboard inactivity to avoid
- interferring with your editing.
-
- Set Primary File <AltF>
- Sets the name of the primary file to use when compiling,
- assembling, or running a tool.
-
- Make Current File Primary <AltH>
- Makes the active file the primary file. Using this command, a
- simple macro can be created to automatically update a program
- from the command line, returning to the command line upon
- successful completion or positioning properly in the editor if
- an error is encountered:
-
- <AltH><F9><AltQ>
-
- This short macro is simple: make the current file the primary
- file, run the project utility, and exit. Since macros are
- always canceled if an error occurs, the <AltQ> command will be
- skipped if a compiler error occurs. To invoke this macro from
- the command line indicate the project file name (or main source
- file name) and use the /# command, where # is the macro number,
- e.g.:
-
- UNITY /7 DATABASE.PJU
-
- Next Error File <CtrlF5>
- Moves to the next file containing errors from the last compile
- or assemble.
-
-
-
-
-
-
- Chapter 22. Programming Commands Page 57
-
-
-
-
-
-
- Next Error <F5>
- Move to the next line containing an error. If no more errors
- are found in the current file a check will be made for errors
- in other files already in memory. Files with errors that are
- not already active in Unity will NOT be checked. See also Next
- Error File.
-
- Previous Error <F4>
- Move to the previous line containing an error. If no more
- errors are found in the current file a check will be made for
- errors in other files already in memory. Files with errors
- that are not already active in Unity will NOT be checked. See
- also Next Error File.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 58 Chapter 22. Programming Options
-
-
-
-
-
-
-
-
-
- Chapter Twenty-Three
-
- Miscellaneous Commands
-
-
- Activate Menus <F10>
- Activates Unity's menu system.
-
- Abort <CtrlU>
- Halts an operation in progress. The keyboard buffer is checked
- regularly to see if the Abort command has been issued; if it
- has, the buffer is emptied, macro execution or recording is
- turned off, and the operation is stopped. This command must
- not be assigned to a multiple byte key sequence for it to work
- properly.
-
- Undo Last Deletion <CtrlQ><CtrlU>
- Restores whole lines deleted with the delete-line command
- (CtrlY) or the delete-block command (<CtrlK> Y). It does not
- restore single characters or words. To undo your most recent
- changes to the current line, use the restore-line command
- (CtrlQ L). The size of the "undo buffer" is specified with the
- set-undo-limit command.
-
- Restore Line <CtrlQ><CtrlL>
- Will undo any changes made to a line of text as long as you
- have not left the line. The line is restored to its previous
- contents regardless of the changes made.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 23. Programming Options Page 59
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 60 Chapter 23. Miscellaneous Commands
-
-
-
-
-
-
-
-
-
- Chapter Twenty-Four
-
- Project
-
-
- Probably the most powerful feature of this editor is its built in
- project (known as MAKE in some circles) capability.
-
- To use the project feature you must create a dependency file with
- the extension PJU. This is a text file (you can create it with
- Unity) with a very simple format:
-
- Target1 [target2 : ] dependency list ...
- command1
- [command2]
- .
- .
- .
-
- The first filename listed on a line is the file you wish to see
- if it is up to date. If you wish to list two target files you
- must place a color ':' after the second file name (the color must
- have a space character on both sides). The colon is optional if
- there is only one target file.
-
- Unity allows two target file names to support compilers that
- produce two target files with a single compiler execution. For
- example, Oberon-M produces an OBJ and REF file for each module.
- Ada and Modula 2 are additional examples of compilers that
- usually produce two target files.
-
- Any file names that follow the target file name(s) (all filenames
- are separated by spaces, commas, tabs, or the '+' character) are
- files that the target file(s) depend upon. For example, if you
- have a unit (or module) called TEST.TPU from the source file
- TEST.PAS that uses SCREEN.TPU and STUFF.INC you would list it as:
-
- TEST.TPU TEST.PAS SCREEN.TPU STUFF.INC
- OTHER.TPU,EXAMPLE.PAS
-
- The dates of the first file is compared to all the files that
- follow. If it is older than at least one of the listed files or
- if it does not exist it is out of date and must be processed.
-
- If your dependency list is large you can break it across multiple
- lines by placing the "+" character at the end of a list you wish
- continued on the next line:
-
- TEST.TPU : TEST.PAS SCREEN.TPU +
- STUFF.INC
-
-
-
-
- Chapter 24. Project Page 61
-
-
-
-
-
-
- This is functionally equivelent to the previous example. The "+"
- character MUST be preceded by at least one space or it will be
- confused as a filename separator. Comment lines may NOT be
- placed between dependency list lines. The following is illegal:
-
- TEST.TPU TEST.PAS SCREEN.TPU +
- # More stuff
- STUFF.INC
-
- The command(s) used to process must be on the lines IMMEDIATELY
- following the dependency line (you can place the comment
- character '#' between them if you wish more white-space). You
- specify the command to execute with its MENU name followed by the
- command line you wish to pass to the program, which should
- normally include the source code file name or a response
- filename, e.g.:
-
- COMPILE /M TEST.PAS
-
- You may specify as many command lines as you wish, delimiting the
- end of the list with a blank line:
-
- ASSEMBLE TEST.ASM
- COMPILE /M TEST.PAS
-
- Comment lines (lines beginning with "# " will not terminate the
- command list so you can properly document your project files with
- comments in the proper locations.
-
- A complete dependency list and command might look like this:
-
- TEST.TPU TEST.PAS
- COMPILE /V TEST.PAS
-
- The syntax for a two target file dependency is almost identical:
-
- TEST.OBJ TEST.REF : TEST.MOD
- OBERON TEST.MOD DEF
-
- The options that you installed for the compiler (with UINST) will
- be ignored. You must specify any command line options that are
- needed to properly compile or assembler the file.
-
- If the file is up to date, the processing of all lines will be
- skipped up to the first blank line. All leading and trailing
- spaces are stripped from lines before processing.
-
- If the menu name you have chosen for one of your tools contains
- any imbedded spaces you must use an underscore character instead,
- e.g. Turbo_Pascal.
-
- For an example of project files see SIMPLE.PJU and COMPLEX.PJU.
-
-
-
-
-
- Page 62 Chapter 24. Project
-
-
-
-
-
-
- 24.1 Project File Commands
-
-
- There are several special commands that are allowed in the
- project file all of these begin with the '#' character (which
- must be the first nonspace character on the line):
-
- # This character followed by at least one space denotes
- a comment. The line will be ignored.
-
- #EXECUTE Executes the compiler command without checking for
- dependencies. This is useful if you always want a
- command executed. Follow the directive with the menu
- name and options you wish:
-
- #EXECUTE COMPILE /V MAIN.PAS
-
- #SHELL Executes a program that is not installed as a tool in
- Unity. If the #SHELL command is not part of a
- dependency command list it will be executed
- automatically each time you process the project file.
- If an error occurs there will be no line number
- detection, although processing of the project file
- will halt:
-
- #WINDOW Same as the #SHELL command, except the execution will
- occur within the a window (or on the secondary
- screen). The executed program must send its output
- to the Standard Output Device or the Standard Error
- Device or use standard BIOS functions for the display
- to be properly contained within the execution window.
- If the program writes directly to screen memory it
- may bleed into the editor screen, though Unity will
- update the screen upon completion of the execution.
- Programs that write directly to the screen can be run
- safely if a second monitor is installed and the Dual
- Display mode is enabled.
-
- #VAR Defines a variable for use in string expansion. This
- allows you to define a string at the start of a
- project file and have it automatically inserted in
- the proper locations. The variable name is limited
- to 8 characters and the string used for expansion is
- limited to 67 characters. A string is limited to 255
- characters after macro expansion. If a dependency
- list line might exceed this limit you should break up
- the list using the "+" character (see example on page
- 61).
-
- Often used macros can be defined in the DOS
- environment. For example, at the DOS prompt enter:
-
- SET $(asm)=assembler /m %%B%%N
-
-
-
-
- Chapter 24. Project Page 63
-
-
-
-
-
-
- Note that two '%' characters must be entered where
- you wish a single '%'. This is to prevent the
- character from being stripped out by the DOS command
- interpreter. The environment is checked after the
- internal macro table so they can be overridden by the
- project file or from the Program/Options menu.
-
- You can also define a string macro from the
- Program/Symbols menu choice. Simply enter the
- definition without the #VAR statement, e.g.
- BASE=MYFILE. You should never use an equal character
- (=) in a symbol as that is how macro definitions are
- detected.
-
- Examples of #VAR statements.
-
- To define the path for assembler files:
-
- #VAR lib=c:\lib\
-
- Then to use the string macro:
-
- $(lib)VIDEO.OBJ $(lib)video.asm
- assemble /m $(lib)video $(lib)video
-
- The previous two lines would be expanded to:
-
- C:\LIB\VIDEO.OBJ c:\lib\video.asm
- assemble /m c:\lib\video c:\lib\video
-
- This feature makes it easy to pass a project file to
- someone else and be able to use it with only a minor
- modification should their system configuration be
- different from yours.
-
- If you forget to assign a value to a $(name) variable
- it will not be expanded, and the project file
- processing will halt with an error. If you wish to
- assign an empty string to a variable simply leave off
- the portion after the '=' character:
-
- #VAR lib=
-
- String expansion occurs before any other processing
- of the stirng, so you can even use it with internal
- project file commands or to change the way commands
- work:
-
- #VAR asm=assemble /m/dshareware
-
- $(asm) video
-
- This would be expanded to:
-
-
-
-
- Page 64 Chapter 24. Project
-
-
-
-
-
-
- assemble /m/dshareware video
-
- Avoid creating macros that cause an infinite loop
- which will lock up the system, requiring a reboot:
-
- #VAR obj=$(lib)
- #VAR lib=$(obj)
-
- The command line variable options used when defining
- the command line with UINST may also be used. These
- are indentical in definition as described on page 55,
- with one addition (see below), except %1 refers to
- the first target file name and %2 refers to the
- second (if defined). All subsets, such as %N, refer
- to the first target filename.
-
- This dependency will produce the following variables:
-
- C:\PASCAL\MODULE.OBJ c:\pascal\module.asm
-
- %N = MODULE
- %1 = C:\PASCAL\MODULE.OBJ
- %B = C:\PASCAL\
-
- You can nest variable definitions:
-
- #VAR asm=assemble %B%N %1
- #VAR lib=c:\obj\
-
- $(lib)STUFF.OBJ %B%N.asm
- $(asm)
-
- This is fully expanded to:
-
- C:\OBJ\STUFF.OBJ c:\obj\stuff.asm
- assemble c:\obj\stuff c:\obj\stuff.obj
-
- There is an additional variable available only in
- project dependency files:
-
- %L This is replaced by the entire dependency list
- (target file(s) not included.
-
- This variable is particularly useful when linking
- programs:
-
- STUFF.EXE : stuff.obj parse.obj file.obj
- link %L, %1;
-
- The link command is expanded to:
-
- link stuff.obj parse.obj file.obj, stuff.exe;
-
-
-
-
-
- Chapter 24. Project Page 65
-
-
-
-
-
-
- One note of caution. Internally, the dependency list
- can not exceed 127 characters. While parsing the
- project file each group of dependencies will be
- stored as a single string even if they are broken up
- with the '+' directive. If the line exceeds 127
- characters part of the list will be lost, possibly
- resulting in an incomplete link or some other error.
- Note that DOS is also limited to 127 characters for
- the command line and other data on a final command
- line could bring the string length past this limit.
-
- #DEFINE Defines a symbol that is used with the conditional
- project commands #IFDEF and #IFNDEF. If no symbols
- are specified then all symbols will be undefined.
- There is a limit of 10 symbols of up to 10 characters
- each. Case is ignored.
-
- #UNDEFINE Undefines the symbol(s) specified.
-
- #IFDEF If the symbol(s) is defined the commands up to the
- #ELSE or #ENDIF are executed. If the symbol(s) is
- not defined it will skip to the #ELSE or #ENDIF
- statement before continuing to process commands.
- Nested #IF commands are not allowed.
-
- #IFNDEF If the symbol is not defined the commands up to the
- #ELSE or #ENDIF are executed. If the symbol is
- defined it will skip to the #ELSE or #ENDIF statement
- before continuing to process commands. Nested #IF
- commands are not allowed.
-
- #ELSE Used in conjunction with the #IFDEF and #IFNDEF
- commands. This command is optional.
-
- #ELSEIF Ends a set of commands grouped by the #IFDEF or
- #IFNDEF command and begins a new #IFDEF command. You
- must follow this command by at least one symbol name.
- See also #IFDEF.
-
- #ENDIF Signifies the end of a conditional project block.
-
- #NOWARN A search for error messages will only be made if an
- explicit nonzero return code was detected. This
- enables you to pass files that may have acceptable
- warning messages even though the compiler/assembler
- is configured to always scan for error messages. Use
- special care with this command to avoid undetected
- error messages.
-
- #WARN Cancels the #NOWARN directive. Normal error
- processing will be done.
-
- #BUILDON Causes all subsequent files to be treated as if they
- were out of date.
-
-
-
- Page 66 Chapter 24. Project
-
-
-
-
-
-
- #BUILDOFF Returns to the default mode of testing file dates to
- decide if a recompile is in order.
-
- # Turn off warning messages
-
- #NOWARN
-
- LOWSTUFF.OBJ lowstuff.asm
- assemble lowstuff.asm
-
- # Turn warning messages back on. Note the blank line after
- # the assemble command. This is to prevent skipping of the
- # #WARN directive if the file is up to date.
-
- #WARN
-
- #IFDEF demo
- DEMO.TPU demo.pas
- compile demo.pas
- #ENDIF
-
- # The following file is dependent upon the previous modules
- # created in this project file as well as a new source file.
-
- MYPROG.EXE myprog.pas demo.tpu lowstuff.obj
- #IFDEF demo
- compile /ddemo myprog.pas
- #ELSE
- compile myprog.pas
- #ENDIF
-
-
- 24.2 Inference Rules
-
-
- Also supported are inference rules. Inference rules automate a
- list of commands for a given pair of extensions in the project
- file if a command list is not found immediately after the
- dependency list.
-
- The syntax is :
-
- .targetextension.sourceextension
- command1
- [command2]
- .
- .
- .
-
- For example:
-
- .OBJ.ASM
- assemble /m %B%N, %1
-
-
-
-
- Chapter 24. Project Page 67
-
-
-
-
-
-
- test1.obj : test1.asm stuff.inc
-
- test2.obj : test2.asm stuff.inc
- assemble /zd test2
-
- This example will execute the single command "compile /m
- test1.asm, test1.obj" (after macro expansion) if test1.obj is
- found to be out of date. The pseudo-variable %B%N and %1 were
- used in the inference rule so that the filename of the active
- file would be used. For the second dependency, test2.obj, the
- inference rule will not be used since it includes an explicite
- command.
-
- The command list for an inference rule must be terminated with a
- blank line. Multiple commands are allowed in an inference rule.
- There is a limit of 10 inference rules in a project file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 68 Chapter 24. Project
-
-
-
-
-
-
-
-
-
- Appendix A
-
- Creating Custom Error Filters
-
-
- To make Unity as versatile as possible an external program is
- required to parse the screen output (which is redirected to a
- file) of each compiler. FERROR.EXE is included with Unity which
- scans for errors in the output of Turbo Pascal, Turbo Assembler,
- Turbo C++, Microsoft MASM 5.1, and QuickByte Pascal (the type is
- automatically detected) as well as most other Microsoft
- compilers. A86ERROR.EXE is also supplied which filters the error
- messages for the A86 assembler. Alternately, you can use an AWK
- program and corresponding AWK script to scan for errors.
-
- Unity was tested with AWK 3.00, written by Rob Duff. This
- program is readily available from a your local computer BBS.
- Besides being a full implementation of AWK, it is a completely
- free program! Commercial AWK programs should work with the
- included AWK program files but none have been tested.
-
- The error filter can be a compiled program or an AWK script. The
- advantage of a compiled program over an AWK script processor is
- simple . . . speed. AWK script processing tends to be a bit on
- the sluggish side. Because, however, AWK is such a versatile
- programming "language" it is fully supported in Unity.
-
- Four awk files are supplied, TPC.AWK which is used to find errors
- in Turbo Pascal programs; TASM.AWK which locates errors in Turbo
- Assembler programs; MASM.AWK which is designed for Microsoft's
- Macro Assembler version 5.x; and REALCOB.AWK for use with Realia
- Cobol. You can customize Unity for a different compiler or
- assembler by creating your own filter program or AWK script .
- Unity expects the output of the program to be sent to the
- Standard Output Device (the screen) and to be in the following
- format:
-
- FileName, LineNumber, ColumnNumber, ErrorMessage
-
- FileName is the name of the file the error occurred in. If it is
- unknown leave it blank but don't forget the comma.
-
- LineNumber is the line that the error occurred on. If it is
- unknown output a 0 or 1.
-
- ColumnNumber is the column where the error occurred. Again, if it
- is unknown use 0 or 1.
-
- ErrorMessage is the error message that the compiler or assembler
- output. If it is unknown pass something like "Unknown error".
-
-
-
-
- Appendix A. Creating Custom Error Filters Page 69
-
-
-
-
-
-
- Examples:
-
- THISPROG.PAS, 23, 45, Error 36: BEGIN expected.
-
- MYSTUFF.ASM, 5, 0, **Error** Undefined symbol: Du
- MYSTUFF.ASM, 11, 0, *Warning* Extra characters on line.
- MYSTUFF.ASM, 28, 0, **Fatal** Unexpected end of file encountered.
-
- Since Turbo Assembler does not detect the column number the last
- three examples return 0.
-
- Unity will jump to the the line and column in the file indicated
- by the first error record it finds. If line number is unknown
- the cursor will be placed on the first line. If the column is
- unknown the cursor will be placed at the start of the line.
-
- The source code for FERROR.EXE is provided. It is written in
- Turbo Pascal 5.5 and requires no additional units other than the
- DOS unit which is provided with TP. If you find you must create
- your own error filter you may wish to use FERROR as an example or
- to modify it if your compiler is similar to one already
- supported. The programs currently supported by FERROR are:
-
- Turbo Pascal 5.x
- Turbo Assembler
- Turbo C++ (may not be complete)
- Turbo Linker
- QuikByte Pascal & Linker
- Microsoft Masm 5.x
-
- There is nothing requiring you to use a single program for all
- your error filtering. The installation program (UINST) allows
- you to specify a different error filter for each separate
- compiler/assembler.
-
- Also included is GFILT.EXE. This is a filter program for use
- with the GREP program included with many Borland languages.
- Although GREP is not a compiler it is being treated as one by
- Unity. When GREP is executed from within the editor you are
- prompted to complete the command line. You must enter the text
- to search for and the filename (or wildcard) to search. After
- the search GFILT converts the output of GREP into the error
- message format. Since Unity will treat the results the same as
- error messages you will be conveniently switched to the first
- file containing the found text and positioned at the beginning of
- the proper line. You can then use the Find Next Error (F5) or
- Find Previous Error (F4) keys to jump from location to location.
-
- If you use a different GREP program you may need to modify the
- installation of GREP (specifically, the command line options) and
- possibly create your own filter program.
-
-
-
-
-
-
- Page 70 Appendix A. Creating Custom Error Filters
-
-
-
-
-
-
- Currently being written, but not yet complete, are error filters
- for Zortec C++, Clipper, and Oberon-M. The Turbo C++ error
- filtering is also being improved.
-
- If you wish to create your own tool for use with Unity you should
- have it output error messages and information in the same format
- the filters convert to. Select NEVER for the "Run Error Filter"
- option as well. This will greatly improve performance since the
- filtering step can be skipped entirely.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Appendix A. Creating Custom Error Filters Page 71
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 72 Appendix A. Creating Custom Error Filters
-
-
-
-
-
-
-
-
-
- Appendix B
-
- Customizing The Help File
-
-
- Once you have decided which tools you will install into the
- editor you will probably want to customize the help text for each
- tool. The file UNITY.TXT is the raw text file you must modify.
- When you make any changes with UINST the text file is
- automatically "compiled" to UNITY.HLP.
-
- There are a number of special commands available for use in the
- help file. These are:
-
- ^A Start highlight text.
- ^B Start alternate highlighting.
- ^C End highlighting.
- ^Fnn^F Insert menu name for tool number nn.
- ^Pnn Insert primary key string for command nn.
- ^S Insert secondary key string for command nn.
- @nn Start help for topic nn - must be in first
- column.
- & Center the text - must be in first column.
- The text that follows will be highlighted
- and centered.
- ) Force new line - must be in first column.
- ] Force page break - must be in first column.
-
- To insert any of the control characters with Unity press ^P
- followed by the control character.
-
- Examples:
-
- Here is some text with ^Ahighlighting^C
- )This line will not be merged with the previous line.
- But his line will be merged with the previous line.
- ]
- This line will be on a new page.
- This line contains the name of tool #1: ^F1^F
- Here's the primary keystring for command 1: ^P1
- The secondary keystring for command 1: ^S1
- &^AThis is highlighted and centered^C
-
- Studying UNITY.TXT will help you understand how the formatting
- characters work.
-
-
-
-
-
-
-
-
-
- Appendix B. Customizing The Help File Page 73
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 74 Appendix B. Customizing The Help File
-
-
-
-
-
-
-
-
-
- Appendix C
-
- Running Under DESQview
-
-
- Unity was designed to be well behaved under DESQview. Although
- direct screen writing is used for fast screen updates, a request
- is made to DESQview for an alternate video buffer. Unity also
- makes it a point not to hog system resources. Thus programs
- running in the background will be given control between every
- keystroke. Since the computer runs much faster than anyone can
- type you will never notice this interruption.
-
- When you install Unity into DESQview it's best to give it as much
- convetional memory as possible and at least 384k of EMS or XMS.
- If you suffer an "Insufficient Memory" error when executing an
- external program such as a compiler you will need to increase the
- EMS/XMS allocation or enable disk swapping.
-
- DESQview does not handle nonstandard video modes very well.
- Therefore it is recommended that you limit yourself to the 25x80
- video mode. If you use one of the other modes and activate
- DESQview, Unity's screen will be blanked. When you return to
- Unity you can recover the screen by pressing any key such as one
- of the arrow keys. This will cause Unity to completely update
- the screen unless the menu was active when you activated
- DESQview, in which case the screen will not be redrawn completely
- until you exit the menu (keep pressing ESC).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Appendix C. Running Under DESQview Page 75
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 76 Appendix C. Running Under DESQview
-
-
-
-
-
-
-
-
-
- Appendix D
-
- Acknowledgments
-
-
- I wish to thank Ken Doebler for allowing me to use his board, The
- Software Resource at Fido node 1:102/330, as a beta test center.
- The latest version of this program can always be found on his
- board at (213)214-2018, 2400 baud. You can also find Unity on
- W.L.A. B.B.S at (213)838-9229 at HST speeds, though access to
- this board may be limited.
-
- Much appreciation to the beta testers who provided assistance to
- in the creation of this program:
-
- Basil Groman
- Michelangelo Jones
- Cliff Klinert
- Ken Leon
- David McClure
- Alex Pistyur II
- Todd Savoie
- William Chris Serrano
-
-
- Legal Stuff
-
- Portions Copyright Borland International, Inc.
- Portions Copyright TurboPower Software
-
-
- Products mentioned are copyright, trademarks or registered
- trademarks of their respective companies.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Appendix D. Acknowledgments Page 77
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 78 Appendix D. Acknowledgments
-
-
-
-
-
-
-
-
-
- Index
-
-
- # 63 Bottom of Block 21
- + 61 Bottom of Screen 20
- %% 55 Build all 56
- %1 55, 65
- %2 55 C
- $() 63 Center Line 38
- %B 55, 65 Character Left 19
- #BUILDOFF 66, 67 Character Right 19
- #BUILDON 66 Close All But Current Window
- %D 55 27
- #DEFINE 66 Close Window 29
- %E 55 Control Character 23
- #ELSE 66 Copy Block 31
- #ELSEIF 66 Cursor Help 51
- #ENDIF 66
- #EXECUTE 63 D
- %F 55 Default Options 44
- #IFDEF 66 Delete Block 31
- #IFNDEF 66 Delete Character Left 23
- %L 65 Delete Current Character 23
- %N 55, 65 Delete Help 51
- #NOWARN 66 Delete Line 24
- %P 55 Delete Line (no undo) 24
- #SHELL 63 Delete to End of Line 24
- #UNDEFINE 66 Delete Word Left 23
- #VAR 63 Delete Word Right 23
- #WARN 66 Down To Equal Indent 22
- #WINDOW 63
- E
- A Edit Another File 27
- Abandon All Files 27 Edit file 29
- Abort 59 Edit Macro 33
- Abort Macro if Blank Line 35 End Block 31
- Abort Macro If End Of File 35 End of File 20
- Abort Macro if Out of Block 35 End of Line 20
- Activate Menus 59 Execute 56
- Add Window 29 Expanded memory 7, 47
- Autoindent 37 Extended memory 7, 47
- Automatic macro execution 9 Extension 45
-
- B F
- Backward Tab 49 FERROR.EXE 69
- Basic Movement Commands 19 File Commands 27
- Begin Block 31 File Directory 43
- Beginning of File 20 File Help 51
- Beginning of Line 20 Find 25
- Block Commands 30 Find And Replace 25
- Block Help 51 Find-and-Replace 25
-
-
-
- Index Page 79
-
-
-
-
-
-
- Find Next 26 Next Error 58
- Find/Replace Help 51 Next Error File 57
- Force Autoindent Mode 37 Next Sentence 22
- Force Insert Mode 37 Next Window 29
- Force Overtype Mode 37
- Force Word Wrap On 37 O
- Format Commands 36 Overview 7
- Function Key Help 52 Overwrite 37
-
- G P
- Getting Started 8 Page Down 19
- Go to Column 21 Page Up 19
- Go to Line 21 Playback 33
- Go to Window 21 Playback Macro 1..9 33
- Playback Scrap 33
- H Playback scrap 1..9 times 33
- Help Commands 50 Previous Cursor Position 21
- Help Menu 51 Previous Error 58
- Previous Sentence 22
- I Previous Window 29
- inference rules 67 Primary File 57
- Insert 37 Program Help 52
- Insert And Delete 23 Programming Commands 53
- Insert Control Character 23 Programming Options 57
- Insert Line 23 Project 53, 60
- Invoke DOS Shell 43
- Q
- J Quick Movement Help 51
- Jump to Marker 0..9 21 Quick Reference Guide 12
- Jump To Marker By Menu 22 Quit 29
-
- L R
- License Agreement 3 Read File Into Window 27
- Line Down 19 Reformat Block 39
- Line Up 19 Reformat Paragraph 39
- Load Macros 34 Registration and License
- Log Drive/Path 43 Information 2
- Lower Case 38 Registration Information 3
- Repeat Macro 35
- M Resize Active Window 29
- Macro Commands 33 Restore Line 59
- Macro Help 52 Run Tool 53
- Macro Looping Commands 35
- Make Current File Primary 57 S
- Margin Release 38 Save All and Exit to DOS 27
- Mark Current Line 31 Save and Continue Edit 27
- Mark Current Word 31 Save Defaults 47
- Markers And Jumping 21 Save File and Close Window 27
- Miscellaneous Commands 59 Save/switch files 27
- Miscellaneous Toggles 40 Scroll Down 19
- Move Block 31 Scroll Up 19
- Search And Apply Macro 26
- N Select DESQview Video Mode 46
- New Line 23 Select Video Mode 46
-
-
-
- Page 80 Index
-
-
-
-
-
-
- Set Autosave Timer 57 Toggle Enhanced Keyboard 46
- Set Colors 45 Toggle Fixed Tabs 49
- Set Default Extension 45 Toggle Hi-bit Strip 47
- Set Error Buffer Size 45 Toggle Initial Zoom 47
- Set Left Margin 38 Toggle Insert Mode 37
- Set Marker 0..9 21 Toggle Key Help 41
- Set Marker Via Menu 22 Toggle Macro Record 33
- Set Primary File 57 Toggle Marker Display 41
- Set Right Margin 38 Toggle Right Justify 37
- Set Support Path 45 Toggle Snow Check 45
- Set Swap Drive 47 Toggle Tab Expansion 46
- Set Tab Size 49 Toggle Tab Line 41
- Set Temporary Margin 38 Toggle Tab Writing 47
- Set Temporary Margin To Cursor Toggle Word Wrap 37
- 38 Toggle XMS Usage 47
- Set Tool Options 57 Toggle Zoom Mode 29
- Set Undo Limit 45 Top of Block 21
- Settings Help 52 Top of Screen 20
- Shift Block Left 32
- Shift Block Right 32 U
- Show Available Memory 43 Undelete 59
- Show Help Summary 51 Undo Last Deletion 59
- Show System Info 43 Up To Equal Indent 22
- Status Help 51 Update Screen 35
- Store Macros 34 Upper Case 38
- Swap drive 47 Utility Help 52
- Symbols 56
- System Commands 42 V
- video device drivers 10
- T Video mode 9
- Tab 49
- Tab Commands 49 W
- Tab Help 51 Window Commands 29
- Text Help 51 Window Help 51
- The Editing Screen 11 Word Left 19
- Toggle Autoindent 37 Word Right 19
- Toggle Block Cursor 46 Write Block to File 27
- Toggle Block Display 31 Write to Named File 28
- Toggle Case 38
- Toggle Compress At Wrap 38 Z
- Toggle Dual Display 46 Zoom The Current Window 29
- Toggle EMS usage 47
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index Page 81
-
-
-
-
-
-
-
-
-
- Contents
-
-
-
- Chapter 1 Registration and License Information 3
- Registration Information . . . . . . . . . . . . . 3
- License Agreement . . . . . . . . . . . . . . . . 3
-
- Chapter 2 Overview 7
-
- Chapter 3 Getting Started 9
-
- Chapter 4 The Editing Screen 11
-
- Chapter 5 Quick Reference Guide 13
-
- Chapter 6 Basic Movement Commands 19
- Character Left . . . . . . . . . . . . . . . . . 19
- Character Right . . . . . . . . . . . . . . . . 19
- Word Left . . . . . . . . . . . . . . . . . . . 19
- Word Right . . . . . . . . . . . . . . . . . . . 19
- Line Up . . . . . . . . . . . . . . . . . . . . 19
- Line Down . . . . . . . . . . . . . . . . . . . 19
- Scroll Up . . . . . . . . . . . . . . . . . . . 19
- Scroll Down . . . . . . . . . . . . . . . . . . 19
- Page Down . . . . . . . . . . . . . . . . . . . 19
- Page Up . . . . . . . . . . . . . . . . . . . . 19
- Beginning of File . . . . . . . . . . . . . . . 20
- End of File . . . . . . . . . . . . . . . . . . 20
- Beginning of Line . . . . . . . . . . . . . . . 20
- End of Line . . . . . . . . . . . . . . . . . . 20
- Top of Screen . . . . . . . . . . . . . . . . . 20
- Bottom of Screen . . . . . . . . . . . . . . . . 20
-
- Chapter 7 Markers And Jumping 21
- Go to Line . . . . . . . . . . . . . . . . . . . 21
- Go to Column . . . . . . . . . . . . . . . . . . 21
- Go to Window . . . . . . . . . . . . . . . . . . 21
- Top of Block . . . . . . . . . . . . . . . . . . 21
- Bottom of Block . . . . . . . . . . . . . . . . 21
- Jump to Marker 0..9 . . . . . . . . . . . . . . 21
- Set Marker 0..9 . . . . . . . . . . . . . . . . 21
- Previous Cursor Position . . . . . . . . . . . . 21
- Up To Equal Indent . . . . . . . . . . . . . . . 22
- Down To Equal Indent . . . . . . . . . . . . . . 22
- Next Sentence . . . . . . . . . . . . . . . . . 22
- Previous Sentence . . . . . . . . . . . . . . . 22
- Set Marker Via Menu . . . . . . . . . . . . . . 22
- Jump To Marker By Menu . . . . . . . . . . . . . 22
-
-
-
-
-
- i
-
-
-
-
-
-
- Chapter 8 Insert And Delete 23
- New Line . . . . . . . . . . . . . . . . . . . . 23
- Insert Line . . . . . . . . . . . . . . . . . . 23
- Insert Control Character . . . . . . . . . . . . 23
- Delete Current Character . . . . . . . . . . . . 23
- Delete Character Left . . . . . . . . . . . . . 23
- Delete Word Right . . . . . . . . . . . . . . . 23
- Delete Word Left . . . . . . . . . . . . . . . . 23
- Delete to End of Line . . . . . . . . . . . . . 24
- Delete Line . . . . . . . . . . . . . . . . . . 24
- Delete Line (no undo) . . . . . . . . . . . . . 24
-
- Chapter 9 Find And Replace 25
- Find . . . . . . . . . . . . . . . . . . . . . . 25
- Find-and-Replace . . . . . . . . . . . . . . . . 25
- Search And Apply Macro . . . . . . . . . . . . . 26
- Find Next . . . . . . . . . . . . . . . . . . . 26
-
- Chapter 10 File Commands 27
- Edit Another File . . . . . . . . . . . . . . . 27
- Abandon All Files . . . . . . . . . . . . . . . 27
- Read File Into Window . . . . . . . . . . . . . 27
- Write Block to File . . . . . . . . . . . . . . 27
- Save and Continue Edit . . . . . . . . . . . . . 27
- Save File and Close Window . . . . . . . . . . . 27
- Close All But Current Window . . . . . . . . . . 27
- Save/switch files . . . . . . . . . . . . . . . 27
- Save All and Exit to DOS . . . . . . . . . . . . 27
- Write to Named File . . . . . . . . . . . . . . 28
-
- Chapter 11 Window Commands 29
- Add Window . . . . . . . . . . . . . . . . . . . 29
- Close Window . . . . . . . . . . . . . . . . . . 29
- Next Window . . . . . . . . . . . . . . . . . . 29
- Previous Window . . . . . . . . . . . . . . . . 29
- Resize Active Window . . . . . . . . . . . . . . 29
- Toggle Zoom Mode . . . . . . . . . . . . . . . . 29
- Zoom The Current Window . . . . . . . . . . . . 29
-
- Chapter 12 Block Commands 31
- Begin Block . . . . . . . . . . . . . . . . . . 31
- End Block . . . . . . . . . . . . . . . . . . . 31
- Copy Block . . . . . . . . . . . . . . . . . . . 31
- Move Block . . . . . . . . . . . . . . . . . . . 31
- Delete Block . . . . . . . . . . . . . . . . . . 31
- Toggle Block Display . . . . . . . . . . . . . . 31
- Mark Current Line . . . . . . . . . . . . . . . 31
- Mark Current Word . . . . . . . . . . . . . . . 31
- Shift Block Left . . . . . . . . . . . . . . . . 32
- Shift Block Right . . . . . . . . . . . . . . . 32
-
- Chapter 13 Macro Commands 33
- Toggle Macro Record . . . . . . . . . . . . . . 33
- Playback Scrap . . . . . . . . . . . . . . . . . 33
-
-
-
- ii
-
-
-
-
-
-
- Playback scrap 1..9 times . . . . . . . . . . . 33
- Playback Macro 1..9 . . . . . . . . . . . . . . 33
- Playback . . . . . . . . . . . . . . . . . . . . 33
- Edit Macro . . . . . . . . . . . . . . . . . . . 33
- Load Macros . . . . . . . . . . . . . . . . . . 34
- Store Macros . . . . . . . . . . . . . . . . . . 34
-
- Chapter 14 Macro Looping Commands 35
- Repeat Macro . . . . . . . . . . . . . . . . . . 35
- Abort Macro if Out of Block . . . . . . . . . . 35
- Abort Macro If End Of File . . . . . . . . . . . 35
- Abort Macro if Blank Line . . . . . . . . . . . 35
- Update Screen . . . . . . . . . . . . . . . . . 35
-
- Chapter 15 Format Commands 37
- Toggle Insert Mode . . . . . . . . . . . . . . . 37
- Force Insert Mode . . . . . . . . . . . . . . . 37
- Force Overtype Mode . . . . . . . . . . . . . . 37
- Toggle Autoindent . . . . . . . . . . . . . . . 37
- Force Autoindent Mode . . . . . . . . . . . . . 37
- Toggle Word Wrap . . . . . . . . . . . . . . . . 37
- Force Word Wrap On . . . . . . . . . . . . . . . 37
- Toggle Right Justify . . . . . . . . . . . . . . 37
- Toggle Compress At Wrap . . . . . . . . . . . . 38
- Set Left Margin . . . . . . . . . . . . . . . . 38
- Set Right Margin . . . . . . . . . . . . . . . . 38
- Set Temporary Margin . . . . . . . . . . . . . . 38
- Set Temporary Margin To Cursor . . . . . . . . . 38
- Margin Release . . . . . . . . . . . . . . . . . 38
- Center Line . . . . . . . . . . . . . . . . . . 38
- Toggle Case . . . . . . . . . . . . . . . . . . 38
- Lower Case . . . . . . . . . . . . . . . . . . . 38
- Upper Case . . . . . . . . . . . . . . . . . . . 38
- Reformat Paragraph . . . . . . . . . . . . . . . 39
- Reformat Block . . . . . . . . . . . . . . . . . 39
-
- Chapter 16 Miscellaneous Toggles 41
- Toggle Tab Line . . . . . . . . . . . . . . . . 41
- Toggle Marker Display . . . . . . . . . . . . . 41
- Toggle Key Help . . . . . . . . . . . . . . . . 41
-
- Chapter 17 System Commands 43
- Invoke DOS Shell . . . . . . . . . . . . . . . . 43
- Log Drive/Path . . . . . . . . . . . . . . . . . 43
- Show System Info . . . . . . . . . . . . . . . . 43
- Show Available Memory . . . . . . . . . . . . . 43
- File Directory . . . . . . . . . . . . . . . . . 43
-
- Chapter 18 Default Options 45
- Set Undo Limit . . . . . . . . . . . . . . . . . 45
- Set Error Buffer Size . . . . . . . . . . . . . 45
- Set Support Path . . . . . . . . . . . . . . . . 45
- Set Default Extension . . . . . . . . . . . . . 45
- Set Colors . . . . . . . . . . . . . . . . . . . 45
-
-
-
- iii
-
-
-
-
-
-
- Toggle Snow Check . . . . . . . . . . . . . . . 45
- Toggle Block Cursor . . . . . . . . . . . . . . 46
- Select Video Mode . . . . . . . . . . . . . . . 46
- Select DESQview Video Mode . . . . . . . . . . . 46
- Toggle Enhanced Keyboard . . . . . . . . . . . . 46
- Toggle Dual Display . . . . . . . . . . . . . . 46
- Toggle Tab Expansion . . . . . . . . . . . . . . 46
- Toggle Tab Writing . . . . . . . . . . . . . . . 47
- Toggle Hi-bit Strip . . . . . . . . . . . . . . 47
- Toggle Initial Zoom . . . . . . . . . . . . . . 47
- Toggle EMS usage . . . . . . . . . . . . . . . . 47
- Toggle XMS Usage . . . . . . . . . . . . . . . . 47
- Set Swap Drive . . . . . . . . . . . . . . . . . 47
- Save Defaults . . . . . . . . . . . . . . . . . 47
-
- Chapter 19 Tab Commands 49
- Tab . . . . . . . . . . . . . . . . . . . . . . 49
- Backward Tab . . . . . . . . . . . . . . . . . . 49
- Toggle Fixed Tabs . . . . . . . . . . . . . . . 49
- Set Tab Size . . . . . . . . . . . . . . . . . . 49
-
- Chapter 20 Help Commands 51
- Help Menu . . . . . . . . . . . . . . . . . . . 51
- Show Help Summary . . . . . . . . . . . . . . . 51
- Status Help . . . . . . . . . . . . . . . . . . 51
- Cursor Help . . . . . . . . . . . . . . . . . . 51
- Quick Movement Help . . . . . . . . . . . . . . 51
- Delete Help . . . . . . . . . . . . . . . . . . 51
- Find/Replace Help . . . . . . . . . . . . . . . 51
- File Help . . . . . . . . . . . . . . . . . . . 51
- Window Help . . . . . . . . . . . . . . . . . . 51
- Block Help . . . . . . . . . . . . . . . . . . . 51
- Text Help . . . . . . . . . . . . . . . . . . . 51
- Tab Help . . . . . . . . . . . . . . . . . . . . 51
- Utility Help . . . . . . . . . . . . . . . . . . 52
- Settings Help . . . . . . . . . . . . . . . . . 52
- Program Help . . . . . . . . . . . . . . . . . . 52
- Macro Help . . . . . . . . . . . . . . . . . . . 52
- Function Key Help . . . . . . . . . . . . . . . 52
-
- Chapter 21 Programming Commands 53
- Project . . . . . . . . . . . . . . . . . . . . 53
- Run Tool . . . . . . . . . . . . . . . . . . . . 53
- Execute . . . . . . . . . . . . . . . . . . . . 56
- Build all . . . . . . . . . . . . . . . . . . . 56
- Symbols . . . . . . . . . . . . . . . . . . . . 56
-
- Chapter 22 Programming Options 57
- Set Tool Options . . . . . . . . . . . . . . . . 57
- Set Autosave Timer . . . . . . . . . . . . . . . 57
- Set Primary File . . . . . . . . . . . . . . . . 57
- Make Current File Primary . . . . . . . . . . . 57
- Next Error File . . . . . . . . . . . . . . . . 57
- Next Error . . . . . . . . . . . . . . . . . . . 58
-
-
-
- iv
-
-
-
-
-
-
- Previous Error . . . . . . . . . . . . . . . . . 58
-
- Chapter 23 Miscellaneous Commands 59
- Activate Menus . . . . . . . . . . . . . . . . . 59
- Abort . . . . . . . . . . . . . . . . . . . . . 59
- Undo Last Deletion . . . . . . . . . . . . . . . 59
- Restore Line . . . . . . . . . . . . . . . . . . 59
-
- Chapter 24 Project 61
- 24.1 Project File Commands . . . . . . . . . . 63
- # . . . . . . . . . . . . . . . . . . . . . . . 63
- #EXECUTE . . . . . . . . . . . . . . . . . . . . 63
- #SHELL . . . . . . . . . . . . . . . . . . . . . 63
- #WINDOW . . . . . . . . . . . . . . . . . . . . 63
- #VAR . . . . . . . . . . . . . . . . . . . . . . 63
- #DEFINE . . . . . . . . . . . . . . . . . . . . 66
- #UNDEFINE . . . . . . . . . . . . . . . . . . . 66
- #IFDEF . . . . . . . . . . . . . . . . . . . . . 66
- #IFNDEF . . . . . . . . . . . . . . . . . . . . 66
- #ELSE . . . . . . . . . . . . . . . . . . . . . 66
- #ELSEIF . . . . . . . . . . . . . . . . . . . . 66
- #ENDIF . . . . . . . . . . . . . . . . . . . . . 66
- #NOWARN . . . . . . . . . . . . . . . . . . . . 66
- #WARN . . . . . . . . . . . . . . . . . . . . . 66
- #BUILDON . . . . . . . . . . . . . . . . . . . . 66
- #BUILDOFF . . . . . . . . . . . . . . . . . . . 67
- 24.2 Inference Rules . . . . . . . . . . . . . 67
-
- Appendix A Creating Custom Error Filters 69
-
- Appendix B Customizing The Help File 73
-
- Appendix C Running Under DESQview 75
-
- Appendix D Acknowledgments 77
- Legal Stuff . . . . . . . . . . . . . . . 77
-
- Index 79
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- v
-