home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HomeWare 14
/
HOMEWARE14.bin
/
bbsutils
/
ezquote3.arj
/
EZQUOTE.DOC
< prev
next >
Wrap
Text File
|
1994-04-15
|
28KB
|
727 lines
EZQuote 3.0
Copyright 1993,1994 George Hug
Contents
--------
Summary Description....................... 1
Running EZQuote........................... 2
Modes..................................... 2
Common Mode Functions..................... 2
Quote Mode................................ 4
Edit Mode................................. 4
WonderWrap ............................... 5
Macros.................................... 6
Mouse Support............................. 7
Configuration ............................ 8
Technical................................. 10
Suggestions............................... 10
Registration and Warranty Disclaimer...... 11
EZQuote is a small but powerful text editor specifically
designed for use when replying to email messages offline. It
functions as the external text editor invoked by your offline
reader, point software, or other message reader software.
Its most significant features are:
* EZQuote keeps the original quoted message and your
reply in separate windows. You select the text you
want to quote, rather than having to delete what you
don't want to quote. (However, beginning with v3.0,
EZQuote may now be configured for single-window
operation.)
* EZQuote's unique "WonderWrap" completely restructures a
quoted passage with a single keystroke, automatically
distinguishing between quote marks and text. WonderWrap
repairs those obnoxious short lines left from previous
wrapping, and produces well-formatted output instantly.
* EZQuote has other features to facilitate offline
message entry, including "intelligent" quoting, normal
as-you-type word wrap, and single-keystroke signatures.
It also provides configurable key assignments, mouse
support, access to spell checkers, and unlimited macros
nestable to 10 levels deep, including an optional
startup macro.
page 1
Running EZQuote
To run EZQuote, just enter "EZQUOTE [filename]" on the
command line. There are no command line options or switches,
nor any environment settings.
EZQuote's operating parameters, including key assignments,
macros, and your signature, are configurable via a separate
configuration program and text file, which are described in a
later section. These docs assume you are using the default
key assignments. Function names used here, such as "Wrap",
are the names used in the default bottom-line prompts.
Modes
EZQuote has two Modes of operation which operate as if they
were completely separate editors. In the default
configuration, the Quote Mode window contains the original
quoted message, if any, plus any files you may import, while
the Edit Mode window is used to compose your reply. The
Escape key toggles between the two Modes.
Basic text editing functions are available in both Modes. A
prompt line at the bottom of the screen shows what functions
are available. The prompt line automatically changes when a
Shift, Control, or Alt key is held down. Most functions are
available in both Modes:
Common Mode Functions ("@" = Alt)
Esc Toggle to the other Mode.
F1 Abort Exit EZQuote without saving anything to disk.
F3 Wrap WonderWrap the marked block.
F4 Mark Toggle "Mark" anchor on and off. To mark a
block, cursor to the beginning of the block
and hit F4. Then as you move the cursor, the
marked text is highlighted.
F5 Cut Cut the marked block out of the text and store
it in the paste buffer.
F6 Paste Restore the paste buffer contents at cursor.
F7 Exit Exit after saving the current Mode's text to
disk. The other Mode's text is not saved.
A Save from Edit Mode follows the Savemode
configuration setting for soft CR conversion.
page 2
F8 Del-EOL Delete from the cursor to the end of the line.
F9 Del-L Delete the current line.
F10 Undel Insert the most recent Del-EOL or Del-L delete
string at the cursor.
@F1 Save Save/append the marked block to a disk file.
A Save from Edit Mode follows the Savemode
configuration setting for soft CR conversion.
@F2 Quote Insert " > " at the beginning of each line in
the marked block. This is used primarily for
quoting from a disk file brought in with the
Load or Dir command. Normally the original
message will already have quote marks.
@F3 UnWrp Undo the most recent Wrap or Quote operation.
This must be done right after the Wrap or
Quote, before any other changes to the text.
@F4 Dcmd Shell to DOS and execute a command. The
command can be a DOS command, another program,
or a batch file.
@F5 DelB Delete the marked block. No undelete.
@F6 Dir Show the contents of a specified directory.
The filenames and parent/sub directories will
be shown. Cursor and hit Enter to load a file
(see Load) or to change to another directory.
@F7 Load Load a specified file at the end of the
current Mode text. In Quote Mode, oversized
files will be loaded in gobs of about 15k
each, with existing text being discarded as
needed. In Edit Mode, existing text will not
be discarded, so you must manually delete text
to make room for the next gob. This prevents
your reply text from being discarded.
@F8 Reload Load the original command line file again.
@F9 Search Search for a string from cursor to text end.
@F10 Help Displays a help screen for the current Mode.
Ctrl-pageup and Ctrl-pagedown take you to the top-of-text and
end-of-text. Ctrl-[ and Ctrl-] shift the screen from side to
side so long lines can be viewed. Other cursor movements are
standard. All of these key assignments are configurable.
page 3
Quote Mode
Upon entry to EZQuote you will normally be in Quote Mode. The
contents of the command line filename will be loaded into the
Quote Mode editor and displayed on the screen. For EZQuote's
intended use, this file will usually contain a quoted copy of
the entire original message to which you are replying.
To include a section of this message in your reply as a
quote, first mark that section using F4 (Mark) and the
cursor. The marked section may begin and/or end in the
middle of a line. Then hit F3 (Wrap) to WonderWrap the
marked block. WonderWrap will restructure the marked block,
separately formatting the quote marks and the true text.
Since WonderWrap leaves the block marked, you need only hit
F2 (Xfer) to transfer a copy of the wrapped block to the Edit
Mode window. The Xfer function will make sure there is at
least one blank line before and after the transferred text.
Having transferred the quoted block to Edit Mode, the Xfer
function ends by toggling you into Edit Mode, with the cursor
located at the end of the newly transferred block. You can
then begin typing in your reply to that quote. To quote
another section of the original message, hit Escape to get
back into Quote Mode, and repeat the process.
As described above under Common Mode Function Keys, there are
ancillary functions which allow you to bring files from disk
into Quote Mode and quote from them, or save marked portions
of the Quote Mode text to disk. Also see further comments
below about WonderWrap.
If the Bootmode configuration setting is changed to <E>dit,
the command-line file will be brought up in the Edit Mode
window, and you may then use EZQuote as a single-window
editor with WonderWrap. In that configuration, Quote Mode
would be used only for file imports.
The following function is available only in Quote Mode:
F2 Xfer Transfer marked block to Edit Mode, then go to
Edit Mode.
Edit Mode
Edit Mode is essentially a normal text editor used for typing
in your replies or original messages. If no command line
file is specified, or if it doesn't exist or is "empty" (less
than three bytes long), then EZQuote will come up in Edit
Mode, and Quote Mode will be largely irrelevant except for
file imports. This is the case when you enter an original
message which is not a reply. EZQuote will also boot in Edit
Mode if Bootmode is set to <E>dit.
page 4
While WonderWrap operates in both modes, normal word wrap is
in effect *ONLY* in Edit Mode. As you type or edit new text,
it is automatically wrapped at the current right margin using
soft CRs. Of course you may also hit the Enter key at any
time to produce a hard CRLF. (Your work can be saved in soft
or hard format - see Configuration below.)
As needed you can Escape into Quote Mode to fetch another
quote from the original message or import a file to quote
from. Ctrl-F6 (Sign) will insert a preconfigured signature
block into your reply at the cursor. When you have finished
entering your message, hit F7 (Exit) while in Edit Mode to
save your work and return to the calling program.
The following functions are available only in Edit Mode
("^" = Ctrl):
F2 Refmt Reformat the soft-wrapped text from the cursor
to the first hard CR. While EZQuote's word
wrap uses full "reflow", a text change may
affect what could have gone on the previous
line. Cursor up and hit F2 to manually reflow.
^F2 Soft Convert all hard CRLFs in the current
paragraph, or the marked block if any, to soft
CRs, then Refmt. This re-enables word wrap on
a previously-entered message or on a hard-
formatted paragraph from an imported file.
^F3 Rmarg Change (for this session only) the right
margin for Edit Mode word wrap.
^F6 Sign Insert signature block at cursor. (See
Configuration section.)
WonderWrap
The WonderWrap algorithm aggressively rewraps the marked
block, paragraph by paragraph. Its biggest challenge is to
distinguish between quote marks and text. It generally
assumes that if all lines in a paragraph begin with the same
characters, then those characters are quote marks.
Exceptional treatment, however, is given to "short" lines
which may have resulted from previous simpler wrapping
methods. These short lines may have all, none, or just some
of the quote marks found on the longer lines.
This pattern matching process requires that WonderWrap
correctly determine what constitutes a paragraph (text which
is supposed to have the same quote marks). The algorithm
assumes that paragraphs are separated by blank lines, or by
lines which contain only quote marks or spaces. In addition,
page 5
if the Fidonet standard "XX>" quote mark format was used,
WonderWrap assumes that a change in the quote mark pattern on
long lines also identifies a paragraph boundary even if there
is no blank line.
If WonderWrap ever fails to wrap correctly, it is usually
because two sections with different quote marks have not been
successfully separated into paragraphs by the algorithm. If
this occurs, use Alt-F3 (UnWrp) to restore the original
block, and then Wrap the two sections separately. Or, after
UnWrp, just cursor up and insert a blank line between the
sections before Wrapping again.
The algorithm may also not work properly if the quote marks
in a paragraph are not vertically aligned. Again, the UnWrp
function and a little editing will usually fix that problem.
WonderWrap should not be used on columnar text because the
reformatting will destroy its columnar organization. And
there will be the occasional block of text which is already
irreparably butchered. In such cases, remember that you can
always just Mark and Xfer the block, without Wrapping.
It may be helpful to load a large file of message text and
try Wrapping various sections to see how the algorithm works.
Macros
A macro is a sequence of operations which is performed
automatically when invoked by a single keystroke. You may
define a macro's sequence, and the key that invokes it, in
the CONFIG.EZQ text file.
You may define any number of macro sequences of any size.
The sequences may be specified in terms of literals, key
names, function names, or other macro names. You may imbed
macros within other macros up to 10 levels deep.
If you define a macro which is invoked by the phantom keyname
"startkey", it will be executed automatically after the
command-line file has been loaded and auto-Xfers, if any,
have been executed.
Detailed instructions on defining macros are contained in the
CONFIG.EZQ configuration text file. You should also review
the file UPGRADE.DOC for further information on certain
functions.
There are six macros in the default configuration which you
may use, modify, reassign to other keys, or delete, as you
like:
page 6
^F1 Spell Shell to spell checker "SS".
^F4 Dos Shell to DOS. Type "EXIT" to return.
^F5 DelE Delete from cursor to end of text. No undo.
^F8 ExpTabs Expand tabs to spaces.
^F9 Srch> Find next occurrence of search string.
^F10 PrtB Save the marked block to the file "PRN", which
on many systems causes the block to be printed
Mouse Support
If a Microsoft-compatible mouse driver is installed and
active, you can use a mouse in EZQuote to move the cursor,
mark blocks of text, and perform certain other functions.
However, there is no mouse pointer independent of the text
cursor, so pull-down menus and scroll bars are not used.
To mark a block of text, move to the beginning of the block,
press the left button, and hold it down while moving the
mouse to the end of the block. Then release the left button.
At this point the block is marked and the mouse will be
disengaged so that inadvertent mouse movement will not affect
the marked block.
To adjust the end-point of a marked block after it has been
defined, press and hold down the left button again to re-
engage the mouse. To turn block marking off, hold the left
button down and click the right button once.
In Quote Mode, the first click of the right button will
WonderWrap a marked block, and the second click will Xfer it
to Edit Mode.
In Edit Mode, a click of the right button will Cut a marked
block to the paste buffer if Bootmode is set to <Q>uote, or
WonderWrap it if Bootmode is set to <E>dit.
In both Modes, if there is no marked block, clicking the
right button will switch you to the other Mode in the same
fashion as hitting the escape key.
The mickey-to-cursor translation algorithm used in EZQuote
provides for a bias toward continued movement along the
current horizontal or vertical axis. Such a bias makes the
mouse less "touchy" while still retaining speed. It is
accomplished in part by requiring fewer mickeys to continue
along the current axis than was required to change to that
axis in the first place. The extent of that bias, as well as
overall mouse sensitivity, can be adjusted through the
First and Next configuration settings.
page 7
Configuration
To change EZQuote's default configuration, you must run the
program EZQCFG.COM. It extracts information from the text
file CONFIG.EZQ, and installs it in EZQUOTE.COM. All three
files should be in the same directory, and EZQCFG should be
run from that directory.
The items listed below are configurable. The CONFIG.EZQ
text file itself contains additional detailed instructions.
Bootmode
Specifies into which window EZQuote will load the command-
line file.
Colors
Select character and screen colors for CGA, EGA and VGA.
These selections do not affect monochrome displays.
Snow removal
Snow removal for old CGA adapters can be turned on or off.
WonderWrap right margin
Select the right margin used by WonderWrap.
Edit Mode default right margin
Select the default right margin for normal word wrap used
in Edit Mode. This value can also be changed temporarily
in EZQuote itself using the Ctrl-F3 (Rmarg) function.
Tab stop
Change tab stop spacing (normally 8) to another value.
Auto Xfer
EZQuote can be configured to automatically transfer the
contents of certain lines from Quote Mode to Edit Mode
immediately after the command line file is loaded. This
permits you to automatically transfer those "On March 1,
1994, Jim Smith said to Bob Brown:" lines to your reply.
page 8
Intelligent quoting
When a passage has been requoted several times, the quote
marks tend to build up. "Intelligent" quoting uses only
the oldest quote initials for such a passage. So the quote
string "GH> MB> RP>" becomes just "RP>" when it is Wonder-
Wrapped. Intelligent quoting can be turned on or off.
Savemode soft CR conversion
The normal as-you-type word wrap function in Edit Mode is
performed with soft CRs. EZQuote can be configured to
save soft-wrapped text to disk in <S>oft format (soft CRs
converted to spaces) or in <H>ard format (soft CRs
converted to hard CRLFs). Hard format is the default.
Mouse sensitivity
Horizontal and vertical sensitivity can be adjusted.
See Mouse Support section above.
Tempfile
When you shell to DOS, EZQuote swaps itself out to a disk
file. You can specify that filename, with an optional
drive and directory. The extension must be ".000".
Signature
The Sign function inserts this block of text into your
message verbatim.
Function/Keyname Assignments
The keystrokes which invoke EZQuote's functions are all
configurable. These may include WordStar commands.
Macros
Macros are defined as part of the configuration process,
including an optional startup macro. See "Macros" section
above.
Bottom Line Prompts and Help Screens
If you change the default key assignments, or define
macros, you may also wish to reconfigure the prompt lines
and help screens to match your selections.
page 9
Technical
EZQUOTE.COM requires 128k of conventional memory to run. It
is written entirely in assembly language. It swaps to disk
before shelling to DOS, leaving only about 6k resident in
RAM. The various buffer sizes are:
Main buffer - each Mode 30k
Paste buffer - each Mode 8k
Wrap buffer - one serves both Modes 10k
UnWrp buffer - one serves both Modes 10k
The Insert key toggles you between Insert and Overstrike
modes. The current setting is shown at the end of the prompt
line. In Overstrike mode, hitting the enter key or the tab
key will not change the text in any way, but will just move
the cursor to the next line or next tab stop.
If you enter a tab from the keyboard in Insert mode, EZQuote
will insert the number of spaces needed to go to the next tab
stop, as defined in the configuration file. A tab contained
in a loaded file will be displayed and wrapped as a single
character. However, there is a default macro which will
expand such tabs to spaces.
When you call a function, such as Load or Search, which calls
for entry of a text string, the most recently entered string
for that function is presented to you again. You may hit
enter to accept it, hit backspace(s) to edit it, hit home to
erase it and start over, or hit escape to abort the function.
If you specify a macro sequence which shells to DOS, any
remaining items in the sequence will be executed only when
you return from DOS. EZQuote does not insert keystrokes
into the keyboard buffer when shelling to DOS.
Suggestions
If you save your messages in the default hard format (see
Configuration above), leave plenty of room along the right
margin so your text won't need to be wrapped when it is
quoted. If your Edit Mode margin is set at column 78, it
will produce those obnoxious short lines when it is quoted by
others, at least until everybody starts using EZQuote. The
default margin value (68) seems to work well.
If you need to revise a message you've entered earlier, it
will probably come up in hard-CRLF format. If you are in
Quote Mode, you can Escape into Edit Mode and Reload (Alt-F8)
the file. With the file in Edit Mode, you can use Soft
(Ctrl-F2) on any paragraph to restore its soft CRs and re-
enable full reflow word wrap.
page 10
File imports should generally be done in Quote Mode and
selections transferred over to Edit Mode, even if you are
operating in the single-window configuration.
Use the default two-window configuration. It may feel
unfamiliar at first, but after you've adjusted to it, it will
be faster and easier, and produce better quoting.
Registration and Warranty Disclaimer
EZQUOTE.COM, EZQCFG.COM, CONFIG.EZQ, UPGRADE.DOC and these
EZQUOTE.DOC instructions (collectively "EZQuote") are
copyrighted. They are neither freeware nor in the public
domain. Personal use of EZQuote by individual hobbyists is
permitted after registration with the author and payment of a
license fee of US$15. Send your name and address and the
license fee to:
George Hug
6921 S. New Haven Ave.
Tulsa, OK 74136
You will receive by return mail your personal registration
number, which can be installed through an EZQCFG menu
selection. Your registration is valid for any future version
of EZQuote which may be released.
Any other use of EZQuote, including any use within a
commercial, governmental, or other institutional environment,
requires a special license from the author. Without the
express written consent of its author, neither EZQuote nor
any portion of it may be incorporated into, or packaged or
bundled with, any other software or other product or service.
EZQUOTE.COM performs tests at various points in the program
in an effort to detect whether it has been infected by a
virus or tampered with. You should not make changes to the
EZQUOTE.COM file other than those made by EZQCFG. EZQuote
will not function properly if such changes are made.
EZQuote is distributed "as is". There are no warranties,
express or implied. The author will not be liable for any
damages, including any lost profits or other incidental or
consequential damages, arising out of the use of EZQuote.
Tulsa, Oklahoma 1:170/110.8
April 15, 1994 FidoNet
page 11