                 _______________________________________________
                |                                               |
                |    WELCOME TO VEDIT PLUS QNX VERSION 5.16     |
                |_______________________________________________|

This file is primarily oriented towards previous VEDIT PLUS users. It gives
an overview of the changes made from versions 4.20 to 5.05 to 5.16.

Read the file ERRATA.DOC for corrections to the manual and recent
enhancements. The file NEW-CMDS.TXT lists all new macro language commands.

NOTE:   If you are updating from VEDIT PLUS 4.x to 5.1, be sure to read the
        section "Transferring from VEDIT PLUS 4.x to 5.x" below.


                CHANGES FROM 5.05 TO 5.16
                -------------------------

{FILE} menu     To standardize the {FILE} menu, the new {FILE, Open} replaces
                the previous {FILE, Open, New buffer}. The remaining {FILE,
                Open} sub-menu items are now in the {FILE, Open (More)}
                sub-menu.

                The <Ctrl-O>, <Alt-O> and <Alt-Y> hot-keys work the same way
                as before; however this requires changing their assignment in
                VEDIT.KEY. The installation automatically makes the necessary
                changes if you transfer the keyboard layout.

Toggle file     New {VIEW, Toggle binary/text mode} toggles the file type to
type            Binary-16 (i.e fixed-length records of 16 bytes), Binary-64
                and back to the original mode.

                The default hot-key is <Shft-F10>.

Toggle hex      New {VIEW, Toggle hex mode split} replaces {WINDOW, Hex-mode
mode split      split}. It is implemented with the macro HEXSPLIT.VDM. As
                supplied, it first switches to a split-screen hex and ASCII
                display. Selected again, it switches the file type to
                Binary-16 for easier hex editing. Selected again, it toggles
                back to the original mode.

                The default hot-key is <Shft-F11>.

                Note:   This revised function and internal improvements
                        greatly improve VEDIT's hex mode editing.

Toggle display  {VIEW, Toggle display mode} now temporarily displays the
mode            new mode on the left side of the status line.

                The default hot-key is still <Alt-D>.

{WINDOW} and    Items {VIEW, Cascade} and {VIEW, Tile} have been moved to
{VIEW} menus    the {WINDOWS} menu.

                The little used items {WINDOW, Horizontal split} and
                {WINDOW, Vertical split} have been eliminated. {WINDOW,
                Split} can perform these functions; simply pressing
                <Enter> in its dialog box performs a horizontal split.

                Note:   The selection letter for {WINDOW, Close} has been
                        changed from "C" to "O". Therefore, the default
                        hot-key <Ctrl-F4> has been changed in the VEDIT.KEY
                        file to: [MENU]WO.

Command mode    New {ESCAPE, Command mode window} creates a 5-line reserved
toggle          Command mode window at the bottom of the screen, and then
                switches to Command mode at the COMMAND: prompt.

                Note:   Pressing this function's hot-key (default: Ctrl-F12) at
                        the COMMAND: prompt deletes the Command mode window
                        and returns to Visual mode.

                Hint:   This hot-key is a convenient new way to toggle
                        between the Visual mode and the Command mode.

{ESCAPE} menu   New {ESCAPE, Command mode (Exit)} is equivalent to
                [VISUAL EXIT].

<Alt-N> layout  The default hot-key for {BLOCK, Set column marker} has been
change          changed from <Alt-N> to <Alt-I>. This change was made so that
                the compiler support can use <Alt-P> and <Alt-N> as the
                hot-keys for "Previous error" and "Next error".

Use block as    If a small block (up to 50 characters) is highlighted when
search string   {SEARCH, Search} is selected, the highlighted block becomes
                the default search string. This emulates most other Windows
                programs.

Highlight block When highlighting a multi-page block with the mouse, dragging
with mouse      the mouse below the bottom text line now causes the text to
                automatically scroll. Moving the mouse to the right causes the
                text to scroll faster.

Hex Search      The Search and Replace dialog boxes include a new "Hex"
Mode            search mode which takes hex values "00" thru "ff" separated
                by spaces. The pattern matching "|H" is not needed. It takes
                byte, word, double-word and quad-word values in hex. Press
                [Help] in the dialog box for details.

EBCDIC search   When the current window has been toggled into the EBCDIC
                display mode, you can now enter normal search/replace
                strings. (Previously they had to be entered in hex.) The
                strings are now automatically converted to EBCDIC.

                Pattern matching codes such as "|A", "|S" and "|U" also work
                correctly in EBCDIC mode. (However, regular expressions are
                not designed for EBCDIC files.)

                The case conversion functions also work in EBCDIC mode.

Pattern code    The very rarely used pattern matching code "|T" has been
"|T" changed    changed to "|I". "|T" now simply matches the tab character.
                This simplifies entering a tab character into search strings.

                "|I" matches spaces, all control characters, including Tabs,
                and those characters configured with Config_String(WORD_SEP).
                It is used internally by [NEXT WORD] and [PREVIOUS WORD].

                None of our supplied macros used "|T"; however, you should
                search for "|T" in your own macros and change it to "|I".

Word            The characters "()<>[]{}" now act as special word separators
Processing      even if they have not been added to Config(WORD_SEP).

                The characters "(<[{" are treated as the beginning of a word.
                Similarly, ")>]}" are treated as the end of a word.

                With the default Config_String(WORD_SEP,",;:()"), the "<[{"
                and ">]}" characters are treated as part of the word. However
                since "(" and ")" are word separators, they are not treated
                as part of the word.

Color Syntax    Definition files to support COBOL, Folio, MASM, Rexx and
Highlighting    SQL are now included.

Numeric XOR     The new numeric "^" operator performs a bitwise Exclusive-OR
Operator        operation of two numbers. It follows the C syntax.
                "10 ^ 6" has value 12. ("10 | 6" has value 14.)

Split window    Deleting a "child" (split) window now expands the size of the
deletion        parent window, in effect reversing the split. This is only
                new for the Windows version, the DOS version has always been
                this way.

                Splitting a window, e.g. {WINDOW, Split} or {FILE, Open,
                horizontal window} results in "parent" and "child" windows.

Save and run    These useful new functions in the default {USER} menu are
program 1       significant improvements over the very basic {MISC, Run
                program}. They first prompt for a program (e.g. compiler) to
Save and run    run. Enter the full command, including any parameters and
program 2       options. The command is saved as the default command for the
                next time.

                After all files are saved and closed, the full command is
                executed by shelling to QNX. If the special file "vout" was
                created, it is opened in a new window.

                These functions use the new RUNSHELL.VDM macro which can run
                and save up to five different commands. If desired, you can
                add a 3rd, 4th and 5th command to the USER.MNU file.

                See the on-line help topic "RUNSHELL".)

New Compiler    The compiler support is now implemented as a {TOOLS} menu.
Support         It can be loaded via {MISC, Load compiler support} or by
                making a simple change in the STARTUP.VDM file.

                The COMPILE.VDM macro loads the compiler support items
                (COMPILE.MNU) into the {TOOLS} menu. It also sets the
                hot-keys for the most common items.

                Refer to the on-line help topic "Compiler Support".
                (DOS: on-line help topic "COMPILER")

                Note: Any custom compiler .VCS files can still be used,
                      however, you must change the "Call(100,...)" commands
                      to "Call(103,...)".

Better Box      {MISC, Box drawing mode} uses a new BOX-DRAW.VDM macro which
Draw Macro      is much easier to use. It temporarily re-assigns the
                <Shift-Cursor> and <Ctrl-Cursor> keys to draw single-line and
                double-line boxes. The type of lines can still be selected
                with {CONFIG, Misc, Box drawing style}. Select "Box drawing
                mode" again to restore the keys. (Thanks to Maxim Glukhov for
                writing this improved macro.)

ASCII Table 2   The new {MISC, More macros, ASCII table 2} is similar to
                {MISC, ASCII table}, but provides a very compact display and
                easier way to insert characters into the file. It is
                implemented by the ASCII2.VDM macro. (Thanks again to Maxim
                Glukhov.)

E-mail Extract  New E-XTRACT.VDM, E-EMAIL.VDM and REM-LINE.VDM macros allow
Macros          extracting e-mail addresses, and removing all e-mail
                addresses in one file from another file.

                (Example: we use E-EMAIL.VDM to extract sales prospects from
                a Eudora (tm) mail folder. We use E-XTRACT.VDM to extract all
                e-mail addresses from our customer database. We then use
                REM-LINE.VDM to purge (recent) customers from the prospect
                list.)



Command Macro Changes
---------------------

Search("ss",HEX)     The new "HEX" option specifies the search string as
                     hexadecimal bytes, words, double-words or quad-words.

Search("ss",EBCDIC)  The new "EBCDIC" option specifies that the search string
                     will be (internally) converted from ASCII to EBCDIC.
                     This simplifies searching in EBCDIC files.

Num_Eval_Date() Evaluates a date mm/dd/yyyy or dd-mm-yyyy as the number of
                days since 01-01-0001 assuming the Julian calendar and
                leap years. Used to perform calculations based on dates
                within a file. (Win32 only.)

Num_Ins_Date(n) Inserts 'n' as a date, e.g. mm-dd-yyyy, where 'n' is the
                number of days since 01-01-0001 assuming the Julian calendar
                and leap years. (Win32 only.)

Time_Tick()             Has been changed to return the time in milliseconds
                        since VEDIT was started.



                CHANGES FROM 4.22 TO 5.05
                -------------------------


Transferring from VEDIT PLUS 4.x to 5.0
---------------------------------------


Notes:  Several Config() command parameters were changed or renamed from 4.x
        to 5.0. However, 5.0 still recognizes the old parameter names. The
        first time the configuration is saved, the new parameters will be
        saved into the vedit.cfg file.

        We suggest changing {CONFIG, Display options, Window name display
        style} to "0". (The default was "1" in 4.x.)

You could also transfer your keyboard layout from 4.x to 5.0, but we don't
recommend it for several reasons:

*  The menus have been rearranged. For example there is no longer a {PRINT}
   menu, the "Keyboard layout" sub-menu is now under {CONFIG}, etc. Many
   4.x hot-key assignments won't work under 5.0.

*  Several new functions such as {FILE, Previous buffer} and {SEARCH,
   Previous} should have hot-keys assigned to them.

*  Several "basic" edit functions that are also available in the menus have
   been deleted in VEDIT PLUS 5.0. They are [BLOCK COPY], [BLOCK MOVE],
   [INDENT], [REPLACE], [SEARCH], [SEARCH AGAIN] and [UNDENT]. 5.0 will still
   load a layout with these functions, but won't show their assignments in
   the menus. Therefore, you should make the following changes:

        "Normal" Key    Old             New
        -------------------------------------------
        <Ctrl-F9>       [BLOCK COPY]    [MENU]BC
        <Alt-F9>        [BLOCK MOVE]    [MENU]BM
        <F8>            [INDENT]        [MENU]EI
        <Alt-F2>        [REPLACE]       [MENU]SR
        <F2>            [SEARCH]        [MENU]SS
        <F3>            [SEARCH AGAIN]  [MENU]SN
        <F7>            [UNDENT]        [MENU]EN

*  The new "Normal" layout is much more compatible with Windows programs,
   particularly Microsoft products. You will find the new layout very easy to
   get used to.

Most macros written for VEDIT PLUS 4.x will function unmodified in 5.0. See
the sections "Incompatible Changes" below for exceptions.


Whats New in 5.0
----------------

Keyboard        A revised "default" keyboard layout is as compatible as
Layout          possible with popular Windows programs. Several "basic" edit
                functions that are also in the menus have been eliminated.

                Function                4.2 key         5.0 key
                ------------------------------------------------
                [CANCEL]                Ctrl-C          Ctrl-\
                [DEL PREV WORD]         Alt-F5          Ctrl-Bksp
                [DEL NEXT WORD]         Alt-F6          Ctrl-Del
                [ENTER CTRL]            Ctrl-P          Ctrl-W or Ctrl-^
                [ERASE BOL]             Ctrl-Bksp       Ctrl-J
                [ERASE EOL]             Ctrl-Z          Ctrl-K
                [ERASE LINE]            Ctrl-Y          Ctrl-L
                [SCREEN BEGIN]          Ctrl-Home       Ctrl-PgUp
                [SCREEN END]            Ctrl-End        Ctrl-PgDn
                [VISUAL EXIT]           Ctrl-O          Ctrl-E

                New (empty) buffer      None            Ctrl-N
                Open another file       Alt-O           Ctrl-O
                Open next file          Alt-N           Alt-O
                Next buffer (toggle)    Alt-T           F6
                Previous buffer         (New func)      F5
                Print file or block     Alt-P           Ctrl-P
                Close window            Alt-F4          Ctrl-F4
                Window switch           Ctrl-F4         Alt-F5
                Next window (toggle)    Ctrl-T          Ctrl-F6
                Previous window         (New func)      Ctrl-F5
                Undo edit               Alt-Bksp        Ctrl-Z or Alt-Bksp
                Redo                    Alt-Enter       Ctrl-Y or Alt-Enter
                Cut to clipboard        None            Ctrl-X
                Copy to clipboard       None            Ctrl-C
                Paste clipboard         None            Ctrl-V
                Format paragraph        Ctrl-F          Ctrl-B
                Set columnar block      Ctrl-N          Alt-N
                Set line block          Ctrl-L          Alt-L
                Goto begin of file      Ctrl-PgUp       Ctrl-Home
                Goto end of file        Ctrl-PgDn       Ctrl-End
                Match parentheses       Alt-F3          Ctrl-]
                Load/execute macro      Alt-F8          Ctrl-F7
                Incremental search      None            Ctrl-I
                Search all buffers      None            Ctrl-F2

<Ctrl-C>        The new "Normal" keyboard layout assigns [CANCEL] to <Ctrl-\>
                (it was <Ctrl-C> in all previous versions of VEDIT). However,
                most [CANCEL] functions such as canceling menus and dialog
                boxes, and breaking out of executing macros, can also be
                performed by pressing <Ctrl-C>.

                If, out of habit, you press <Ctrl-C> to remove block markers,
                it will now copy the block to the scratchpad and remove the
                markers. (Except for changing the scratchpad, it is the same
                as before.)

[INDENT]        These "basic" functions have been moved to {EDIT, Indent} and
[UNDENT]        {EDIT, Undent}. They are no longer "basic" functions.

                Due to these changes, you must change "[INDENT]" to
                "[MENU]EI" and "[UNDENT]" to "[MENU]EN" in any custom 
                keyboard layout files:

                "Normal" Key    4.x             5.0
                -------------------------------------------
                <F8>            [INDENT]        [MENU]EI
                <F7>            [UNDENT]        [MENU]EN


Keyboard        Since {SEARCH, Incremental search} is assigned to <Ctrl-F>,
Layout          {EDIT, Format paragraph} is now assigned to <Ctrl-B> (the old
Notes           Wordstar assignment).

                The previous "Grey" keys are now called "Numpad" keys.

Display Unused  The new function {CONFIG, Keyboard layout, Display unused
Keys            keys} displays the names of all keys that are currently
                unassigned. This list can also be accessed from within the
                "Add keystroke macro" and "Record keystroke macro" functions.

{EDIT} menu     The new {EDIT, Delete} sub-menu contains all deletion
                functions. The rarely used "Insert mode" and "Overstrike
                mode" functions have also been moved from the {EDIT} menu
                to the new sub-menu. (Don't confuse these with the [INSERT
                TOGGLE] function assigned to the <Ins> key.)

Insert File as  {EDIT, Insert file} has a new option to insert the file as a
Column Block    columnar block. With this option, you can now cut and paste
                huge multi-megabyte columnar blocks. See ERRATA.DOC.

{VIEW} menu     The previous {WINDOW} menu has been split into {VIEW} and
                {WINDOW}.

                The previous "normal" keyboard layout assignment of <Alt-V>
                to {WINDOW, Vertical split} must be changed to [MENU] V.

{WINDOW, Prev   The new {WINDOW, Previous window} toggles to the previous
window}         window; it complements {WINDOW, Next window}.

                When each file is displayed in one window, these functions
                are equivalent to {FILE, Next/Previous} buffer. However, when
                one or more files are displayed in multiple windows, they are
                different.

{TOOL} menu     New {TOOL} menu is user configurable, similar to the {USER}
                menu. The name displayed on menu is also configurable. By
                default, it is {Tutor} and contains tutorial items. See the
                on-line help topic "USER" for more info.

Block           By default, <Tab> and <Shift-Tab> will indent/undent all
Indenting       lines in a highlighted block if the cursor is within the
                block; i.e. they are then equivalent to {EDIT, Indent} and
                {EDIT, Undent}.

Convert         New {BLOCK, Convert newlines} converts all newline characters
Newlines        in a block to the selected type for DOS, QNX/UNIX or
                Macintosh. Can also convert a (database) file with
                fixed-length records into a normal text file with newline
                characters. (Loads and executes the CONVERT.VDM macro.)

Smart Detab     {BLOCK, Edit/translate} "Detab" and "Retab" now convert an
and Retab       entire file, but not tabs/spaces within single or double
                quotes. If a block is marked, all characters in the block
                are converted.

Search          New {SEARCH, Block/word} searches for the next occurrence of
Block/word      the highlighted block, starting at the cursor position. If no
                block is highlighted, it searches for the word at the cursor.
                The default hot-key is <Shft-F2>.

                Note:   The selection letter for {SEARCH, Search all buffers}
                        has been changed from "B" to "A". Therefore, the
                        default hot-key <Ctrl-F2> has been changed in the
                        vedit.key file to:  [MENU]SA

Search Previous The new function {SEARCH, Previous} repeats the last search
                or replace in the reverse direction, towards the beginning
                of the file. It complements {SEARCH, Next}.

Simple Search   In addition to searching with pattern matching or regular
                expressions, the Search dialog box lets you select a simple
                search which uses neither. (It was primarily added for
                novice users; it is not faster than pattern matching).

Block Search    The new "[ ] Block" option in the Search dialog box is
                automatically selected if the cursor is within a highlighted
                block. Otherwise, it can be selected if a block is marked.

                If a block search is selected and the cursor is outside the
                block or at the very end, the search automatically starts
                at the beginning of the block.

Search/Replace  Following a search and replace, the status line displays how
Counter         many occurrences were replaced.

More Search     The new default {USER} menu has "Open searched files" which
Functions       opens all files, e.g. "*.txt" that contain a specified search
                string. (Runs the new SRCHFILE.VDM macro.)

                New default {USER} menu has "Search all - show/select" which
                shows all lines containing a specified search string in a
                pop-up window. You can then select any occurrence with the
                cursor keys. (Runs the new SRCHSHOW.VDM macro.)

                If a word is highlighted before WILDFILE macro is run, the
                default search string will be the highlighted word.

|L, |N          The new "|N" is similar to "|L". It is identical to
                "|013|010", "|010" or "|013", depending upon the current file
                type (DOS, QNX/UNIX or Mac).

                "|N" can be used in replacement strings - it is a convenient
                way to enter multiple-line replacement strings.

           See: Search and Replace (Chapter 4) in the VEDIT Users Manual.
                QNX: On-line help topic "PATTERN".

|K, |X          New "|K" matches any non-standard control character other
                than Tab, Carriage-Return and Line-Feed. (Useful for finding
                stray control characters in a file.)

                New "|X" matches extended white space - one or more Spaces,
                Tabs, Carriage-Returns and/or Line-Feeds.

{SEARCH,        The {SEARCH, Config} sub-menu has been moved to
Config}         {CONFIG, Search Options} to keep all configuration together.

{CONFIG,        The previous "Typewriter emulation mode" has been replaced
Emulation}      by the new parameters "[TAB CHARACTER] emulation mode" and
                "<Enter> key emulation mode".

File Selection  By default, the starting directory for {FILE, Open}, {FILE,
Directory       Save as}, {EDIT, Insert file} and {BLOCK, Write to disk} is
                now the directory of the file in the current buffer. If no
                file is open, it is the "default" directory.

                If "Change directory" is enabled, the last selected directory
                becomes the new default directory, and these file selection
                dialog boxes start in the default directory.

Previous Buffer The new function {FILE, Previous buffer} complements {FILE
(Toggle)        Next buffer}. The "Normal" layout assigns these to <F5> and
                <F6>.

{MISC, More     This new sub-menu allows easy access to many of the
macros}         additional macros supplied with VEDIT. See the on-line help
                for a short description; many are fully described in Chapter
                5 of the VEDIT User's Manual.

C Programming   New default {USER} menu has "C function show/select",
Features        "Create Ctags file" and "Lookup in Ctags" which make it
                easier to run the CFUNC.VDM, CTAGS.VDM and UTAGS.VDM macros.

                The CTAGS.VDM and CFUNC.VDM macros have been improved.

Quick Notes     By default, the vprc startup file sets up <Shift-F12> to open
Pop-up          the file "mynotes".txt" in a pop-up window. This is a useful
                way to keep track of a to-do list, reminders and other
                personal notes. Press <Shift-F12> again to close the file.
                See ERRATA.DOC for details.

Auto-Replace    As is now typical in many programs, highlighting a block and
block text      typing new text automatically deletes the block. This can be
                disabled with {CONFIG, Emulation, Auto-replace block with new
                text}.

                {CONFIG, Emulation, Auto-replace block with new text} can now
                also delete the highlighted block at the cursor when a text
                register or scratchpad is inserted. This is the default.

                NOTES:  As a safety feature, the largest block that can be
                        auto-deleted is 1000 bytes. For larger blocks, simply
                        press <Del> first.

                        We suggest turning this feature off if you edit files
                        with critical data.

Color Syntax    The syntax highlighting has been enhanced with new "|&", "|?"
Highlighting    and "|[...]" matching codes. The new "|&" allows a much
                better HTML.SYN file.

        NOTE:   The old code "|-" has been replaced with "|[-]"; you must
                make this change to any custom .SYN file you have created.

                The QNX on-line help topic "SYNHI") describes the new
                matching codes in detail.

Copy to T-Reg   {BLOCK, Copy/Move to register} now copy/move the current line
Move to T-Reg   to the selected register if no block is marked. This is an
                easy way to duplicate the current line or move it to another
                position.

                Since the line is copied as a "line" block, it is inserted
                at the beginning of the current line.

Box drawing     New {MISC, Box drawing mode} uses an improved BOX-DRAW.VDM
mode            macro for drawing (decorative) boxes within a file. It
                supports fancy intersecting boxes.

                New {CONFIG, Misc, Box drawing style} sets the style used for
                drawing the vertical and horizontal lines. The default "4"
                draws boxes similar to VEDIT's menus. "0" prompts for the
                desired style each time.

Word Wrap and   New {CONFIG, Word processing, Enable word wrap} now enables
Right Margin    word wrap and {EDIT, Format paragraph}. The "Right margin" is
                now always set -- setting {CONFIG, Word processing, Right
                margin} to "0" sets the right margin to the current window
                width. Setting it to the special value of "1", sets it to
                {CONFIG, Display options, Horiz. scroll margin}.

                If word wrap is not enabled when you select {EDIT, Format
                paragraph}, it now prompts whether you want to enable it.

        NOTE:   Be sure you have {CONFIG, Word processing, Enable word wrap}
                set to "No" when editing programs.

Continuation    The first column is no longer reserved for continuation
Lines           characters when {CONFIG, Emulation, Horiz. scroll margin} is
                set. The first line is now displayed normally; continuation
                lines begin with the continuation character.

Print Dialog    The old {PRINT} menu has been replaced with a new Print
Box             dialog box which is easier to use.

                The entire file or marked block can be printed. "Raw" mode
                can be selected to print without adding margins. This is
                useful for files already formatted for printing.

                The printing has been changed to use two Print dialog boxes
                depending upon whether the print-job is still open. This
                (detail) is only applicable when printing blocks.

                The previous {PRINT, Config} sub-menu has been moved to
                {CONFIG, Printer} and has new options.

Simpler Block   When printing a highlighted block, the default is now to
Printing        immediately finish (close) the print job; the block will then
                print on its own page. A new option in the Print dialog box
                allows printing multiple blocks per page.

PRINT.VDM       The PRINT.VDM macro can also be selected from the Print
Macro           dialog box to print the entire file (or just the highlighted
                block) with the filename, date and page number printed at the
                top of each page.

                PRINT.VDM can now optionally print line numbers and/or file
                positions on the left side of the page. The trivial edit
                changes are documented in PRINT.VDM.

Printer Right   New {CONFIG, Printer, Right margin} sets an optional margin;
Margin          Lines longer than this margin are wrapped onto multiple
                printed lines. This is useful when printing long lines
                because most printers otherwise truncate long lines. The
                special value "1" sets the printer right margin to the
                current window width; "2" sets it to horizontal scroll
                margin; "3" sets it identical to the word processing right
                margin.

Print Display   New {CONFIG, Printer, Display mode} determines how control
Mode            characters are printed, i.e. whether they are expanded or
                printed as-is. It also permits printing in hexadecimal or
                printing an EBCDIC file on an ASCII printer.

                The default print display mode prints in the same mode as the
                current window's display mode.

Printer "Start" Optional printer "start" and "finish" strings can be sent at
and "Finish"    the beginning and end of each print job. The start string can
strings         select a font, size, pitch and weight. The finish string can
                reset the printer to its default setting.

-p Invocation   The "-p" invocation option prints the specified file and
                immediately exits.

WILDFILE.VDM    The WILDFILE macro can perform a search, search and replace,
processes       or run another macro on any group of files, such as all
subdirectories  files in a directory. It can now optionally process files in
                subdirectories too. For example, the file specification "c:
                \*.* -s" can search all files on drive C for any desired
                text. (We think you will find this very useful!)

{ESCAPE} menu   The {ESCAPE} menu has the additional item "Main menu" which
                accesses the main menu. (It really was requested.) The menu
                also displays the hot-keys for "Command Mode" (same as
                [VISUAL ESCAPE]) and "Main menu" (same as [MENU]).

Mark Columnar   Columnar blocks can now be highlighted with the mouse by
Blocks          holding down the <Alt> key while dragging the mouse over
                the desired text.

Dialog Box      Default strings in dialog boxes that will auto-erase when
Strings         you enter a new string, are now displayed highlighted, as
                is customary in all Windows and many DOS programs.

Highlight       {CONFIG, Colors, Help-line highlighting} sets a color used
Color           for displaying highlighted messages and key names on the
                status line or a help line. Examples are DISPLAY.VDM and
                KEYEDIT.VDM used by {CONFIG, Keyboard layout, Edit/view
                layout}. In QNX, the default is Bright white on grey. The
                value is accessed by Color_Highlight.

PFUNC.VDM       This macro is similar to CFUNC.VDM, but is for Pascal and
                Delphi programs. It generates an outline of all routines in
                the program with "point and shoot". See CFUNC in Chapter 5
                of the VEDIT User's manual for more info.

HTML Editing    New HTML-TXT.VDM and TXT-HTML.VDM convert between HTML and
Macros          text files.




Command Macro Changes (Includes all changes since 4.20)
---------------------

String Values   The addition of "string values" (similar to the numeric
                "internal values") makes it much easier to access common
                string variables including the VEDIT Home Directory, current
                directory, the current file's full pathname, filename and
                file extension, and any of the Config_String parameters.

                Example: the following command saves the configuration into
                "vedit.cfg" in the VEDIT Home Directory:

                        Config_Save("|(HOME)\vedit.cfg")

           See: QNX: On-line help topic "STRING".
                This topic is not in the printed manuals.

File Open/Close Two new file open/close event macros have been added to
event macros    complement the existing macros. A file "pre-open" event
enhanced        macro is executed just before the file is opened. It can
                be used with a Version Control System to check-out a file.
                A file "post-close" event macro is executed immediately
                after a file is closed. It can be used to check a file
                back in.

           See: "Event Macros" in Chapter 3 of the Macro Language Reference
                Manual.

BOL_Pos         Returns the file position at the beginning of the current
                line.

Break_Out()     New command option "DELETE" empties the currently executing
                text register. This is a convenient way to exit and delete
                a macro at the same time.

Buf_Switch()    New command option "EVENT" causes the Buffer-Switch event
                macro to be executed. See the on-line help.

Color_Highlight Return an appropriate color for highlighting selection
                letters and key names. QNX: set by Config(C_HIGHLIGHT).

Color_Prompt    Return an appropriate color for highlighting simple prompt
                lines. QNX: set by Config(C_PROMPT).

Cur_Char(m)     Returns the value of the m'th next/previous char. Cur_Char(0)
                returns the value of the char at the beginning-of-line.

Date()          Date(BEGIN) display the date as dd-mm-yyyy instead of as
                mm-dd-yyyy.

Directory()     The command form Directory("fspec -s") includes files in all
                subdirectories that match 'fspec'.

                The command option Directory("fspec",SHORT) displays the
                short 8.3 filenames.

EOL_Pos         Returns the file position at the end of the current line.

File_Open()     File_Open("file",CHGDIR) changes the default directory to
                the directory containing 'file'.

File_Attrib()   Get/set the attributes for a file.

File_Copy()     Copy a file.

File_Mkdir()    Make (create) a new directory.

File_Rename()   Rename or move a file.

File_Rmdir()    Remove (delete) a directory.

Goto_Col()      The command Goto_Col(n) has a new option "EXTRA" to force the
                Visual Mode cursor to column 'n'. See the on-line help.

Ins_File()      Ins_File(file,1,ALL,COLUMN) inserts 'file' as a columnar
                block.

Is_Altered_File Returns TRUE if the current file has been altered since it
                was opened. This flag is not reset by {FILE, Save and
                continue} as is the flag Is_Altered.

Is_Long_Filename Returns TRUE if long filenames are being used, e.g. Win95.
                 Long filename support can be turned off with the "-d"
                 invocation option.

Mark_Word()     Marks the word at the edit positions as a highlighted block.

Message()       New command option "TAB8" causes any tab characters in the
                message to be expanded assuming tab stops at every 8 columns.

                New syntax "\<xx>" displays the name of the key assigned to
                edit function 'xx'. New option "EXTRA" highlights the key
                name.

Print()         New command options "RAW" and "NOEVENT" suppress printing
                with margins and suppress the "Printer Init String".
                See the on-line help.

Print_Finish()  New command options "RAW" and "NOEVENT" suppress the final
                page-eject and suppress the "Printer Finish String".
                See the on-line help.

Printer_Line    Returns the line number on the printed page that the
                next Print() command will print to, e.g. 1 - 66.

Printer_LPP     Returns the printer's "Lines per page".

Reg_Print()     New command options can set the desired print mode, suppress
                printing with margins and suppress the "Printer Init String".
                See the on-line help.

Screen_Init()   New command option "ALL" initializes the screen and deletes
                all windows, including Window #1.

Search()        New command option "SIMPLE" selects a simple search without
                pattern matching or regular expressions.

Statline_Message()   Display a message on the status line; it will remain
                     until the next keystroke.

System()        New command option "OK" suppresses all screen handling. This
                is useful for shell commands that don't display anything.

Translate_Char()  Return the resulting character after translation, e.g.
                  from EBCDIC to ASCII.

Visual_Macro()  New values for this (technical) command give better control
                over how VEDIT reenters Visual Mode after a macro executes.

Win_Level()     Returns the display (overlapping) level for any window. A
                level of "0" indicates the window is fully visible.

Win_Previous    Returns the window ID number of previous window attached to
                any buffer. Used by {WINDOW, Previous window}.

Win_Reserved_Bottom_ID  Return the window ID number of the reserved window
Win_Reserved_Top_ID     at the bottom/top of the screen; return 0 if none.


Incompatible Changes
--------------------

File_Open()     The previous option "SUPPRESS" to suppress the file
File_Close()    open/close event macro has been changed to the new option
                "NOEVENT". You must make this change to all of your own
                macros. (It is unlikely that you ever used this option.)

Window #1       VEDIT no longer has a "main" window #1 that always exists;
                instead, window #1 is now auto-created when entering Visual
                Mode. It is possible for only the Command Mode window "$" to
                exist, or, immediately following Screen_Init(ALL), for no
                windows to exist. This does not affect normal operation, but
                macros can no longer assume that Window #1 always exists.
                Starting a macro with "Screen_Init()" will create Window #1.

Win_Create()    Windows created with Win_Create() or Win_Reserved() now have
Color           the currently configured text color. Windows created with
                Win_Split() have the parent window's color, as before.

|L, |>          (Very minor) The commands Match("|L") and Match("|>") no
                longer match a Line-Feed which is part of a CR+LF pair in
                DOS text files.

                Therefore, the command Replace("|>"," ",ALL) will append a
                space to the end of each line. (This did not work before.)

The following Config() command parameters have been changed, renamed or
deleted. Note that the new VEDIT will read the old names without error.

        Config(E_CANCEL_BM)     - Replaced by Config(E_BM_MODE)
        Config(F_E_DISK_EDIT)   - Replaced by Config(U_DISK_EDIT)
        Config(F_E_BACKUP)      - Replaced by Config(F_BACKUP_MODE)
        Config(S_WIN_BRD,1)     - Change to Config(WIN_BRD,3)  Start with "3".
        Config(S_E_SB)          - Replaced by Config(WIN_BRD)
        Config(SR_RE_OPT)       - Replaced by Config(SR_MODE_OPT)
        Config(SR_RE_MAX)       - Replaced by Config(SR_MODE_OPT)
        Config(CM_E_UNDO)       - Renamed to Config(U_E_UNDO)
        Config(CM_H_CNT)        - Renamed to Config(U_CM_H_CNT)
        Config(CM_USER_P)       - Renamed to Config(U_USER_P)
        Config(CM_START)        - Obsolete; use "-v" invocation option


=============================================================================


                CHANGES FROM 4.16 TO 4.22
                -------------------------

Resizable,      VEDIT's windows are now resizable and can overlap each other.
Overlapping     Windows can be resized/moved with the cursor keys or the
Windows         mouse. Windows can be cascaded or tiled from the expanded
                {WINDOW} menu.

Windows and     By default, VEDIT now automatically creates a new window for
Buffers         each buffer (file) being edited in visual mode. The window
                is initially full-screen and overlaps any other windows.
                Toggling between buffers (files) simply brings its
                corresponding window to the top.

                This behavior is controlled with {CONFIG, Screen display,
                Auto-create windows for buffers}.

                See the on-line help topic "WINDOWS" for more information.

Window Name     By default, the window name displayed in the upper left
                corner, e.g. "[2]", is now the buffer number and not the
                window's ID number as before. Multiple windows per buffer
                are displayed as e.g. "[1:1]" and "[1:2]".

                Windows without an attached buffer and command mode windows
                display their ID number in parentheses, e.g. "($)".

                This behavior is controlled with {CONFIG, Screen display,
                Display buffer number as window name}.

Dialog Boxes    New dialog boxes provide ease-of-use and more options. Either
                "full" or "terse" dialog boxes can be used. Several user-
                interface options can be individually selected for terse and
                full dialog boxes.

                See ERRATA.DOC and the on-line help topic "DIALOG" for more
                information.

Display menu    By default, the main menu bar is now always displayed on the
bar             top screen line with the status line on the bottom. This
                can be changed with {CONFIG, Screen display, Status line
                display}.

Color Syntax    Primarily intended for C program (and HTML) editing,
Highlighting    different logical portions of a program can be displayed in
                different colors. To enable syntax highlighting, a ".syn"
                file must be loaded with the Syntax_Load("file") command,
                typically included in the "vprc" startup file, and {CONFIG
                Programming, Enable syntax highlighting} must also be set.

                Syntax highlighting files for C, HTML, Pascal, Perl, Basic
                and the VEDIT PLUS macro language are supplied. Others are
                easily created.

                See the on-line help topic "SYNHI".

HTML (Web)      HTML files (Web pages) can easily be edited using template
editing         editing for shorthand expansion of most tags. Color syntax
                highlighting for HTML files is available. These features
                can be automatically enabled whenever editing a file with
                an ".html" or ".htm" extension.
                
                See the on-line help topic "HTML".

Capture         New {MISC, Capture program} is similar to {MISC, Run program},
Program output  but it also captures the (stdout) output of the program and
                inserts it into the current buffer (file) at the cursor
                position.

Incremental     New {SEARCH, Incremental search} performs a search with each
Search          character you type. By default is assigned to <Ctrl-F2>. It
                runs the SRCHINCR.VDM macro to perform this operation.


Print           New {PRINT, Config, Right margin} sets an optional margin;
Configuration   VEDIT wraps lines longer than this margin onto multiple
                printed lines. This is useful when printing long lines 
                because most printers otherwise truncate long lines.

                New {PRINT, Config, Print mode} determines if control and
                graphic characters are send directly (verbatim) to the
                printer, or are first expanded. Also permits printing in
                hexadecimal or printing an EBCDIC file on an ASCII printer.

CTAGS.VDM       Emulates the UNIX "ctags" facility - CTAGS.VDM creates a
UTAGS.VDM       database of function declarations for all source code
                modules in a program. Then, while editing any module, you
                can place the cursor on a function name and press a hot-key
                to view/edit the function's declaration.

PRINT.VDM       New {PRINT, Print macro} loads a revised PRINT.VDM macro
Macro           which prints the entire file (or just the highlighted block)
                with the filename, date and page number printed at the top of
                each page.

TXT-WORD.VDM    Converts VEDIT text paragraphs, in which each line ends in a 
                "newline", into one long line for importing into Word
                processors such as Microsoft Word. Macro is accessed via
                the {USER} menu.

-R invocation   The "-R" invocation option restricts VEDIT to only edit those
Option          files opened on the command line. Useful when shelling to
                VEDIT from another program where you don't want the user to
                be able to edit any files other than the specified ones.

Regular         The new code "\N" (capital N) matches a "newline" and allows
Expressions     searching for multiple line patterns. Note that the "newline"
                depends upon the current file type and can be <CR>, <LF> or
                <CR><LF>. The code "\N" can be included in a regular
                expression group {...\N...} for replacement purposes.

                Note that the operators "*" and "+" only match up to the next
                "newline". Therefore, the expressions "\N+" and "\N*" cannot
                be used.

[BACKTAB]       This new basic editing function moves the cursor to the
                character at the previous tab stop. Its primary purpose is in
                dialog boxes for moving to the previous item. It is normally
                assigned to <Shift-Tab>.

[DELETE]        {EDIT, Delete} and [DELETE] now delete a block of text even
                if only the first block marker is set. This is more similar
                to other editors. This can be disabled by setting Mask-128 in
                {CONFIG, Emulation, Special emulation modes}.

                If Mask-64 is set, [DELETE] never deletes blocks. Blocks can
                then only be deleted with {BLOCK, Edit/translate, Delete}.

{FILE} menu     "Browse mode" is no longer used to open files in browse-only
                mode; this is selected in the "File-open" dialog box.

                "Directory (change)" has been deleted and replaced with an
                option in the "File-open" dialog box.

{WINDOW} menu   The new items "Cascade", "Tile" and "Resize/move" have been
                added.

                "Remove all" has been changed to "Reset" and works a little
                differently because of VEDIT's new auto-created windows.

{CONFIG} menu   {CONFIG, Programming} contains the new item "Enable syntax
                highlighting".

                {CONFIG, Colors} now has several sub-menus for "Windows and
                editing", "Menu and dialog boxes" and "Syntax highlighting".
                A color chart is displayed when you enter these sub-menus.

                The previous {CONFIG, Screen display, Enable scroll bars} has
                been deleted; scroll bars are now controlled with {CONFIG,
                Screen display, Window borders}.

                The previous {CONFIG, Screen display, Enable sub-menu
                preview} has been moved to the {CONFIG, Misc} sub-menu.

                {CONFIG, Misc} contains new items controlling how the dialog
                boxes operate and various options.

{HELP} menu     {HELP, Edit buffers} has been deleted because {FILE, Buffer
                switch} now has point & shoot selection.

{USER} menu     The displayed name of the {USER} menu can be changed with
                the Config_String(USER_MENU,"User") command.

Keyboard        The "Keyboard layout" sub-menu has been moved from the {MISC}
Layout Menu     menu to the {CONFIG} menu.

On-line help    The on-line has been greatly enhanced and includes complete
                on-line documentation for using and configuring VEDIT.
                Particularly, please note the on-line help topics "QNX" and
                "QNXCFG".

ASCII table     {MISC, ASCII table} now also displays hex values.

LC/UC Key       {CONFIG, Programming, Lower/Upper case key conversion} has
Conversion      additional options to unconditionally or conditionally force
                upper case letters to lower case.

Config()        Several configuration parameters have been added; they are not
                in the {CONFIG} menu, but can be changed via the vedit.cfg
                file or from the Command Mode "COMMAND:" prompt.

                Config_String(MATCH_PAREN,"[][()({}{<><")

                    Selects the characters matched by {GOTO, Matching ()}.

                Config_String(USER_MENU,"User")

                    Sets the name of the {USER} menu; maximum length is
                    8 characters.



Transferring Your Configuration from 4.1 to 4.2
-----------------------------------------------

Any "vedit.key" and "vedit.cfg" files used with VEDIT PLUS 4.16 should 
work with 4.22; only two changes should be made to the keyboard layout file:

1.      If you are transferring a VEDIT.KEY file to 4.2, change the following
        assignments so that <Shift-Tab> works in dialog boxes:

                Shift-Tab       [BACKTAB]
                Ctrl-Tab        [NEXT TAB STOP]

2.      A few "hot-keys" for menu items changed from 4.1 to 4.2. An
        incompatible change was made to {WINDOW, Toggle display mode}. The
        previous "T" now selects {WINDOW, Tile}. Therefore, when transferring
        a VEDIT.KEY file to 4.2, you should search for "[MENU]WT" and change
        it to "[MENU]WM".

        For example, change:    Alt-D           [MENU]WT
                         to:    Alt-D           [MENU]WM


Command Macro Changes
---------------------

NOTES:  Two incompatible changes have been made to the 4.2 macro language.
        You must make these changes to all of your own macros.

        The former "Win_Create()" command has been renamed to "Win_Split()".
        Or you may want to use "Win_Reserved()" to create "reserved" windows
        at the top or bottom of the screen that cannot be overlapped by other
        windows. For example, change "Win_Create('h',5,BOTTOM)" to
        "Win_Split('h',5,BOTTOM)" or "Win_Reserved('h',5,BOTTOM)".

        The "REGEXP" option in the Search() and Replace() commands now
        selects regular expressions that are *not* maximized. Use
        "REGEXP+MAX" for maximized regular expressions.

Win_Split()     Replaces the former Win_Create() command.

Win_Create()    The command Win_Create(w,l,c,nl,nc) now creates an
                overlapping text window 'w' with origin line 'l' and column
                'c', and having size of 'nl' text lines and 'nc' columns (not
                including the border).

Win_Reserved()  The command Win_Reserved(w,n,BOTTOM) creates reserved window
                'w' of 'n' lines at the bottom of the screen. Use "TOP" to
                create the window at the top. Reserved windows cannot be
                overlapped by other windows. They are useful for "help" and
                other windows that must always be visible.

Win_Reserved_Top        Returns the number of screen lines at the top being
                        used by a "reserved" window.

Win_Reserved_Bottom     Returns the number of screen lines at the bottom
                        being used by a "reserved" window.

Win_Cascade()   Identical to selecting {WINDOW, Cascade}.

Win_Tile()      Identical to selecting {WINDOW, Tile}.

Win_Overlap     Returns TRUE if any windows are overlapping.

Buf_Switch      The new option "ATTACH" in Buf_Switch(r,ATTACH) creates an
                overlapping full screen window for buffer 'r' (if it doesn't
                already have one) if {CONFIG, Auto-create windows for
                buffers} is enabled.

Screen_Init     The new option "ATTACH" in Screen_Init(ATTACH) deletes all
                windows and then creates an overlapping full screen window
                for each open buffer if {CONFIG, Auto-create windows for
                buffers} is enabled.

                Screen_Init(ATTACH) is identical to {WINDOW, Reset}.

Search()        The new search option "MAX" when used with "REGEXP+MAX"
Replace()       specifies that maximized regular expressions are selected.
                The setting for Config(SR_RE_OPT), equivalent to {SEARCH,
                Config, Default Re-Exp option} no longer affects command
                macros.

                The option to not restore the edit position after an
                unsuccessful search has been changed from "SUPPRESS" to
                "NORESTORE".

Syntax_Load()   The command Syntax_Load("file") loads the syntax highlighting
                definition file 'file' into VEDIT. It must be able to access
                the file LOADSYN.VDM which is automatically executed to
                process the syntax file.

                The command Config(PG_E_SYNTAX,1) enables syntax
                highlighting. It is equivalent to enabling {CONFIG,
                Programming, Enable syntax highlighting}.

System()        The command option System("cmd",INSERT) captures the (stdout)
                output of the shell command and inserts it into the current
                buffer at the edit position. See the on-line help.

Goto_Col()      The command Goto_Col(n) has a new option "EXTRA" to force the
                Visual Mode cursor to column 'n'. See the on-line help.

Is_Altered_File Returns TRUE if the current file has been altered since it
                was opened. This flag is not reset by {FILE, Save and
                continue} as is the flag Is_Altered.
