
Welcome to the shareware version of QEdit Advanced 2.1!

This is the shareware version of QEdit.  Many hours of work have gone into
the development of QEdit - over 10 work years, as of this version - and
that does not include all the time spent on our new users guide/ reference
manual.  In addition, we provide full-time technical support, via phone
during normal business hours, or mail if you prefer. What is the point of
all this?  QEdit is a professionally developed, packaged, and supported
product.  Our product has received excellent reviews, and our new manual
and our product support are second to none. Just ask our users.  We send
out update notices to all registered users, and we regularly incorporate
suggested changes into the product as we are able.

The only way we can continue to provide products like QEdit and to offer
outstanding technical support, is to stay in business; and the only way we can
stay in business is for you to register your copy of QEdit.  We like the
shareware concept, and we would like to stay a part of it.  But we can do so
only through registrations of QEdit.  Please don't take this the wrong way -
try out QEdit for 30 days or so, under no obligation whatsoever.  But if you
continue to use it after that 30-day period, please pay for your copy. Thanks!


Late-breaking news:
------------------------------------------------------------------------------
QEdit TSR is now available!  For those of you who would like to have access to
your favorite editor at virtually anytime, in the middle of anything else, we
at SemWare are proud to offer you QEdit TSR v1.1.  And best of all, if you
have expanded memory (256k minimum), extended memory (384k minimum) or a fast
hard disk, QEdit TSR will only reserve 9k of DOS memory! Please call SemWare
for details.

------------------------------------------------------------------------------
QEdit is the winner of the Data Based Advisor Reader's Choice award, for best
text or program editor of 1989.  We thank our users for this vote of
confidence and their continued support!

------------------------------------------------------------------------------
QEdit for OS/2 is now available.  If you'd like to have THE FASTEST editor
available for OS/2, give SemWare a call!

------------------------------------------------------------------------------
There is now a special German version of QEdit available.  It is based on
version 2.1 of QEdit.  All text displayed by the program (including the status
line!) is in German;  plus the reference manual was painstakingly translated
by a native German.  For information on ordering the German version you can
give SemWare a call, or if you prefer, you can call our German distributor
directly at: 49-761-87419. Ask to speak to Manfred Luft.

------------------------------------------------------------------------------


Contents
--------

I   Contents of QEdit Shareware Disk
II  Technical Support
III Version 2.1  - Release Notes - February, 1990
IV  Version 2.08 - Release Notes - July, 1989

I   Contents of QEdit Shareware Disk
---------------------------------------

File            Description
------------    ----------------------------------------------------------

Q.EXE           The editor program.  This is the only file required to
                run QEdit.

QCONFIG.EXE     The configuration program.
QCONFIG.DAT     The default Keyboard Definition File.
QHELP.TXT       The default Help text.
QEDIT.DOC       The documentation for the shareware version of QEdit.
ORDERFRM.DOC    Handy order from.
READ.ME         The file you are currently reading.
QEDITTSR.DOC    Release notes about the new TSR version of QEdit.

There are additional files and utilities provided on the registered user disk.
These include:  An upgrade program, that will allow you to upgrade your
configuration options from QEdit v2.07, v2.07A, v2.08 to v2.1, PAINLESSLY; an
external mouse driver for QEdit; a macro "compiler" that will translate macros
from text to binary format; and additional keyboard configuration files.

Also, the REGISTERED version does not include the opening and closing
shareware registration screens.

The REGISTERED version also comes with a 125 page typeset, spiral-bound
reference manual.

If you find any other than the 8 files listed here, then you know this is not
the official shareware distribution diskette and/or archive distributed by
SemWare.

Notes
-----

Other product names are trademarks or registered trademarks of their
respective holders.

The ONLY file required to run QEdit is Q.EXE - the others are not required or
used by the program.

QEdit comes pre-configured to work on a large range of monitors. Because of
this, the default colors are set up for a monochrome system. If you have a
color system and would like to edit in color, then run the configuration
program (QCONFIG), select the C)olors/screen options, and change the default
colors.

We do NOT release patch files for QEdit, under any circumstances. We release
only fully-executable files.  If you encounter a "patch" or "modification"
file that modifies your Q.EXE file, be aware that it does not originate from
us, and we cannot be responsible for the behavior of a patched QEdit.  The
only program you should use to modify your copy of Q.EXE, is the QCONFIG
program that came with it. Keep this in mind also when calling for technical
support.

Please, make sure you read this entire file in order to take full advantage of
the new commands/features in QEdit.

II  Technical Support
---------------------

Due to the tremendous popularity of QEdit, we can give technical support ONLY
to registered QEdit users.  Please have your serial number handy when you
call.

Please!  Before you call us with a problem, make sure you have read this
entire READ.ME file to determine if it solves your problem.  If you should
have to contact us, please provide or have available the following
information:

 QEdit version number, date of Q.EXE from the original diskette, and
  serial number
 DOS version
 Computer model
 Amount of RAM
 Whether you are using a hard disk or floppy disk based PC
 The names of any memory-resident programs you have loaded


You may obtain technical support directly from SemWare as follows:

1. Call our remote electronic bulletin board service.  The board is
   operational 24 hours a day, 7 days a week.  Modem settings are <N81>, 9600
   HST, 2400 or 1200 baud.  The telephone number is: (404) 641-8968.

2. Write us at: (We've moved!)

   SemWare
   Technical Support
   4343 Shallowford Rd., Suite C-3
   Marietta, GA  30062-5003

3. Send Compuserve E-Mail to userid 71520,67

4. Call us directly at SemWare, (404) 641-9002. Support hours are 9 am to 5 pm
   (ET), Monday through Friday.

5. Send us a Fax at: (404) 640-6213

SemWare is committed to supporting registered users.  However, we request that
you reserve telephone support only for questions or problems requiring
immediate attention.

As always, if you have a suggestion that you think would improve our product,
don't hesitate to let us know.

By the way, SemWare has grown!  We now have eight full-time people on staff to
help serve you better, and we have also moved to larger facilities.

III Version 2.1 - Release Notes - February, 1990
------------------------------------------------

2.1 summary of changes:
-----------------------

QCONFIG:
--------

Deletions:

 "go to line number on command line option" has been removed. This has been
 replaced with a command line option.  To go to a specified line number on
 startup in QEdit 2.1, use -n999 where 999 is the line number to go to.

Additions:

 Under Advanced options:

  "Swap to Expanded memory or DISK on Dos and Shell commands?"
    QEdit can now optionally remove most of itself from memory when the Dos
    and/or Shell commands are invoked.

  "Drive to use for disk swapping [A..Z] *=default-drive ?"

  "Should the editor restore the starting drive/dir on program exit?"

  "Should the editor change the DOS PROMPT during a shell?"
    QEdit can optionally change the DOS PROMPT while in a DOS SHELL.

  "Should [TabRt]/[TabLt] be allowed to shift an entire block?"

  "Get number of rows on screen from BIOS data area(100% IBM PC ONLY)?"
    Use this option ONLY if you have a 100% IBM PC-AT or compatible. This
    option does NOT work on AT&T 6300's.

  "Number of rows on screen (NOT NEEDED with EGA/VGA) [25..100]
    If you select "N" to the "Get number of rows on screen from BIOS..."
    option, you must answer this question.  In almost all cases you should
    choose 25, unless you have a special card and monitor that allow you to
    display more than 25 rows - THIS DOES NOT INCLUDE EGA/VGA enhanced display
    modes - QEdit handles those automatically.

 Under general options:

  "Do you want the bell to sound on warning messages and missed searches?"

 Under printer options:

  "Default top margin for printing [0..100]?"
  "Default bottom margin for printing [0..100]?"

QEdit CHANGES:
--------------

New command line option:

 -n command line option.  For example:
  q filename -n36
  goes to line 36 in filename after initial load.

Operational changes:

 The [Dos] and [Shell] commands can now optionally swap QEdit out to disk or
 EMS leaving only a 2k kernel in memory, thus allowing much more memory for
 running memory-hungry programs from QEdit, especially compilers.  This option
 is configurable via QCONFIG as well as interactively using the [ToggleSwap]
 command, found on the "Other" pulldown menu.

 Once in the shell, QEdit will optionally append "[QE]" to the DOS prompt
 string, provided that:

 1) You have defined the prompt environment variable.
 2) There is enough space left in the environment.
 3) You have set the "Change DOS PROMPT during a Shell" option to [Y]es.  See
    QCONFIG, under Advanced options.

 If you have NOT defined the prompt environment variable, then we suggest you
 do so.  It is helpful with DOS command line operations in general. A
 suggested prompt is (this should go in your AUTOEXEC.BAT file):

 set prompt=$p $t $g

 If you do have a prompt string defined, but you do not get the "[QE]" prompt
 in the QEdit shell, add the following to your AUTOEXEC.BAT:

 set x=x

 ----------------------------------------------------------------------

 Column blocks can now be deleted [DeleteBlock] <Alt G>, printed [PrintBlock]
 <Esc><PB>, and written [WriteBlock] <Alt W> to disk.

 [TabRt]/[TabLt] when pressed while the cursor is inside a marked block and
 insert mode is on, can optionally shift the entire block by the current
 cursor tab width.  This is a configurable option, and is off by default

 The window resize command allows up and down movement, instead of only up or
 only down.

 .cpp, .hpp, .cxx, .hxx have been added to the list of valid C Mode file
 extensions.

 Prompt boxes show prompt strings in the block attribute while they will be
 overwritten when a character is typed; once a character or editing key has
 been typed, prompt strings revert back to their default color.

 [CurrentFilename] is now available outside of prompt boxes. In previous
 versions, the [CurrentFilename] command was active only during a QEdit prompt
 box.  This command now functions while editing, too.

Find/Replace command changes:

 "L" option added to [Find], [FindReplace].  Limits the Find/FindReplace to
 the currently marked block.  If the cursor is outside the marked block, or
 the "G" option is also selected, the search starts at the beginning of the
 block.  Otherwise, the search starts at the current cursor position inside
 the block.

 "G" option in [Find], [FindReplace] now works as it does in WordStar and the
 Borland editors; i.e., it starts the search at the beginning of the file.

 In [FindReplace] you can now enter a number to limit the number of replaces.

 The find string is now highlighted after a successful find.

 You can press <^Break> to halt a repeated command and/or macro, and to halt a
 long [FindReplace].

New commands:
-------------

Summary list:

CenterLine            <^OT>
FillBlock             <^KL>
JFalse
JTrue
Jump
RepeatCmd             <^QQ>
SetPrintBotMargin     <ESC><P><O>
SetPrintTopMargin     <ESC><P><T>
ToggleSwap            <ESC><O><S>

Detailed list:

 [CenterLine]         <^OT>

 If the cursor is inside a column block, the lines encompassed by the block
 are centered using the left and right columns of the block as the margins.

 If the cursor is inside a line block, the lines encompassed by the block are
 centered using column 1 and the right margin as the margins. Note that a line
 block is created by using the [MarkLine] command.

 Otherwise (this includes blocks created with other than the [MarkColumn] and
 [MarkLine] commands), the line the cursor is on is centered, using column 1
 and the right margin as the margins.

 [FillBlock]          <^KL>

 The user is prompted for a character with which to fill the block. With this
 command, you can now use the following macro to move a block, and blank fill
 the space used by the block, instead of the text closing in around the block.
 The macro assumes a block is already marked.  The block will be [Cut] to the
 clipboard or system scrap buffer.  You can then insert the block where you
 like by pressing the [Paste] key <Grey *>:

 f10 MacroBegin GotoBlockBeg Cut Paste FillBlock ' ' Return UnmarkBlock

 Choose a key (<f10> in the above example), and assign this macro to it in the
 QCONFIG.DAT file. Run QCONFIG, configure the keyboard, and you now have a
 "copy with wipe" command!

 [JTrue], [JFalse] and [Jump] commands.

 JTrue and JFalse are short for JumpTrue and JumpFalse, respectively.

 These commands are intended for macro use. All QEdit commands set an internal
 QEdit result code of "True" if they executed successfully, or "False" if they
 did not.  The [JTrue] and [JFalse] commands can be used to take advantage of
 that fact. [Jump] is just an unconditional jump. You can also define labels
 for branching, in the format "label:". The maximum label length is 15
 characters.  For Example:

 A command to delete from the cursor position to the beginning of the line,
 assigned to the f10 key:

 f10 MacroBegin
     begin:
       CursorLeft
       JFalse done:
       DelCh
       Jump begin:
     done:

 This MUST all occur on ONE LINE in your QCONFIG.DAT file.

 [RepeatCmd]          <^QQ>

 Repeats the last executed command and/or macro "n" times.  You are prompted
 for "n".  You can stop the repeating at any time by pressing the <^Break>
 key.  If the result code from the command is FALSE, or if a result code from
 any of the commands in the macro is FALSE, repetition halts.

 [SetPrintTopMargin]  <ESC><P><T>
 [SetPrintBotMargin]  <ESC><P><O>

 Set the top and bottom margins used when printing.  If QEdit's print page
 size is set to 0, these commands have no effect.

 [ToggleSwap]         <ESC><O><S>

 Toggles Expanded memory/Disk swapping for the [Dos] and [Shell] commands.
 This option can also be set via QCONFIG.


IV  Version 2.08 - Release Notes - July, 1989
---------------------------------------------

Contents of this addendum:

1.  SUMMARY OF CHANGES
    A.  New Features
2.  NEW COMMANDS
3.  NEW MACROS
4.  DETAILED DESCRIPTION/USE OF CHANGES

-------------------------------------------------------------------------------
1.  SUMMARY OF CHANGES
-------------------------------------------------------------------------------
    A.  New Features

More consistent user interface.

Read-Only files can now be edited; however, they can not be written back to
disk.

The bell now rings on warning messages and on "missed" finds.

Sticky AutoIndent mode/option added.

SmartTabs will now scan upward more than one line looking for a non-blank line
upon which to base the next tab position.

If you pass an invalid filename on the command line, QEdit will now prompt you
for another filename to edit.

Macro filenames can be passed on the commandline for loading or executing.

A "SaveAs" feature, along with a facility to append a Block or file to a disk
file, have been added.

The Paste command is now available within QEdit prompt boxes.

QEdit now saves everything that is deleted by DelRtWord, including characters
between words.

-------------------------------------------------------------------------------
2.      NEW COMMANDS
-------------------------------------------------------------------------------

COMMAND                 DEFAULT KEY ASSIGNMENT

AltWordSet
----------
Instructs QEdit to recognize an alternate set of characters as "word"
characters.

By default, QEdit considers the following characters to be "word" characters:
'0' thru '9', 'A' thru 'Z', 'a' thru 'z', and '_'.  All other characters are
considered word delimiters.

QEdit also has an alternate word set that can be installed, using this
command. AltWordSet adds the following characters to the default word set:  \
! # $ % & ' ( ) , - . / @ { } ~.  (Currently, AltWordSet is used in the "edit
filename at cursor" macro.)

The default word set can be re-installed by executing the DefaultWordSet
command.

DefaultWordSet
--------------
Re-installs the default editor word set.  See the AltWordSet command for a
description of editor "word" characters.

EndPara
-------
Positions the cursor just past the last character of the current paragraph.

Flip                            <Alt 3>
----                            -------
Changes the case of a character or Block of characters.  If the cursor is in a
marked Block, all characters in the Block are "reversed":  lower case
characters are changed to upper case, and upper case characters are changed to
lower case.  If the cursor is not in a marked Block, only the character at the
current cursor location is reversed.

Lower                           <Alt 2>
-----                           -------
Converts a character or Block of characters to lower case.  If the cursor is
in a marked Block, the entire Block is converted to lower case; otherwise,
only the character at the current cursor location is converted.

MarkWord                        <Ctrl KT>
--------                        ---------
Marks, as a Block, the word at the current cursor location.  If the cursor is
not located within a word, no Block is marked.

NextPara
--------
Positions the cursor at the beginning of the next paragraph.

NewFile
-------
Issues the Exit and EditFile commands for the current file.

Pause
-----
Temporarily halts macro execution, until either Return or Escape is pressed.
If Return is pressed, the macro resumes where it left off.  If Escape is
pressed, the macro is terminated.  This command is provided to allow for input
to macros.  In previous versions of QEdit, there was not a way to allow a
macro to stop and wait for input from the user.  This command now makes user
input possible.

The new Pause command makes certain types of macros now possible.

For example, suppose you wanted to create a "find" command that always
searched forward, ignored case, and didn't prompt you for options.  In the
QCONFIG.DAT file, assign to whatever key you like (<f7> in this example):

 f7 MacroBegin Find Pause Return 'i' Return

If you wanted to get really fancy, you could let <f7> be your find-forward,
and <shift f7> be your find-backward:

 #f7 MacroBegin Find Pause Return 'ib' Return

Note that the Pause command "eats" the Return or Escape that terminates the
pause mode.

PrevPara
--------
Positions the cursor at the beginning of the previous paragraph.

Sort                            <Shift F3>
----                            ----------
Sorts a group of lines using the currently marked column Block as the key and
the range of lines to be sorted.  This command is operational only when there
is just one window on the screen, and that window is not zoomed.

ToggleBoxType                   <Alt F1>
-------------                   --------
Allows changing of the box characters used in box drawing.

Upper                           <Alt 1>
-----                           -------
Converts a character or Block of characters to upper case.  If the cursor is
in a marked Block, the entire Block is converted to upper case; otherwise,
only the character at the current cursor location is converted.

GotoColumn
----------
Prompts for a column number, and positions the cursor at that column on the
current line.

-------------------------------------------------------------------------------
3.      NEW MACROS
-------------------------------------------------------------------------------

The Paste command is now functional inside of dialog boxes.  You can copy a
line or word to the scrap buffer, and insert it as the requested response to a
dialog box.  This makes a certain class of macros now possible with QEdit:

 <Ctrl ]>  Executes the EditFile command on the filename at the cursor
           position.

 Macro definition in QCONFIG.DAT:

^] MacroBegin AltWordSet MarkWord Copy EditFile Paste Return DefaultWordSet

  Detailed explanation:

  AltWordSet      --set the proper wordset for filenames
  MarkWord        --mark the "word" (filename) at the cursor
  Copy            --copy it into the system scrap
  EditFile        --call editfile
  Paste           --insert the copied filename as the response to the prompt
  Return          --edit that file
  DefaultWordSet  --restore the normal wordset

 <Alt =>   Does a "find" on the word at the cursor.

  Macro definition in QCONFIG.DAT:

@= MacroBegin MarkWord Copy Find Paste Return Return

  Detailed explanation:

  MarkWord        --mark the word at the cursor
  Copy            --copy it into the system scrap
  Find            --call find
  Paste           --insert the copied word as the response to the prompt
  Return          --accept the search string
  Return          --use the default find options


-------------------------------------------------------------------------------
4.      DETAILED DESCRIPTION/USE OF CHANGES
-------------------------------------------------------------------------------

QEdit now has a much more consistent, easier-to-use user interface.  The
"(Y/N)" messages have been replaced by pop-down menus.  You can still select
the appropriate response by pressing Return, "y" or "n".

-------------------------------------------------------------------------------

Read-Only files can now be edited; however, they cannot be written back to
disk.  The only time you will know you are editing a Read-Only file is if you
try to save it.  QEdit will not allow you to save a Read-Only file; if such is
attempted, QEdit will remind you that the file is Read-Only.

-------------------------------------------------------------------------------

The bell now optionally rings on warning messages and on "missed" finds.

-------------------------------------------------------------------------------

AutoIndent can now be configured to be "sticky".  If you choose this option
(see General options in QCONFIG), when in AutoIndent mode, QEdit will search
all the way to the beginning of the file looking for a non-blank line upon
which to base the AutoIndent column.

-------------------------------------------------------------------------------

Laptop Users:  QEdit can now be configured to use a large, blinking, block
cursor.  See Advanced options in QCONFIG.

-------------------------------------------------------------------------------

SmartTabs will now scan upward more than one line looking for a non-blank line
upon which to base the next tab position.

-------------------------------------------------------------------------------

If you pass an invalid filename on the command line, QEdit will now prompt you
for another filename to edit.

-------------------------------------------------------------------------------

QEdit can now load and execute macros from the command line.  You can use
either the "-" or "/" as the switch character.  To load a macro file, use -l;
to execute the first macro of a macro file, use -e.

In this version, when using the command line switches, a file MUST ALWAYS be
passed to QEdit.

For example, to load a macro file saved with MacroWrite or created by QMAC,
type:

 q filename -lmacroname

QEdit can also execute a single macro from the command line upon start-up.
This macro must have been created either with the MacroWrite command or by the
QMAC program.  Note that only the first macro found in the macro file is
executed, and the macro is only executed after the first file on the command
line has been loaded.

 q filename -emacroname

You can both load one macro and execute another macro at the same time:

 q filename -emacroname1 -lmacroname2

Please note that all of these macros MUST be in binary format (i.e., the
output of the QEdit MacroWrite command or one translated from text to binary
by QMAC).

A final example:  You have a macro called "init.mac" that you want to execute
when QEdit is loaded.  You have a file of macros, called "qedit.mac" that you
would like to have available after QEdit is loaded. Type:

 q filename -einit.mac -lqedit.mac

-------------------------------------------------------------------------------

A "SaveAs" filename feature, along with a facility to append a Block or file
to a disk file, have been added.

To do a SaveAs, execute the WriteBlock command from a file when there is not a
Block marked.  If there is a Block marked, then the WriteBlock command will
behave as it did in prior versions.

Also, if the file to be written already exists, the WriteBlock command gives
you the option of appending to that file.

-------------------------------------------------------------------------------

Additional notes (these relate to 2.07A):
_________________________________________

QEdit fixes:
------------

In early 1988 we had literally scores of requests for QEdit to support the
enhanced keyboard.  So, one of the things that we made sure of was that QEdit
v2.07 could use the extra keys found on an enhanced keyboard. We followed the
readily attainable and recommended documented methods on how to use the
enhanced keyboard, and everything worked just fine, or so we thought.

Unfortunately, it appears that many other software vendors are still ignoring
the enhanced keyboard.  Worse yet, many of these vendors produce TSR programs
that will not "popup" when a nice well-behaved program (like QEdit) tries to
get input from the enhanced keyboard.

So, if you have an enhanced keyboard, and have a TSR or mouse driver that will
not work with QEdit 2.07 (and it previously worked with QEdit 2.06 or below),
version 2.07A includes a configuration option that allows you to turn off
enhanced keyboard processing.  See the section on QCONFIG changes for using
this option.

Other Changes
-------------

- When marking Blocks, character Block marking and line Block marking
  types may be mixed.

- "U" is a synonym for "I" (ignore case) in the Find/Replace options.

- AutoIndent mode can be used when Insert mode is Off.
