
                    The FAR File and Archive Manager
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             What's new in the latest version (Plugin API)
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[!] Important
[+] New
[-] Fixed error
[*] Changes

---------------------------------------------------------------------------
FAR 1.70 beta 5 (build 1634) (09.04.2003)
---------------------------------------------------------------------------
General
~~~~~~~
[!] The second parameter of the exported function SetFindList is now
    declared as const.

[!] Changed the specification of the OpenPluginInfo structure - some
    members have been made const.

[!] While the ExitFAR exported function is being processed, the following
    service functions are not available to plugins:
    InputBox, Menu, Dialog[Ex], GetMsg, Message, Control, SaveScreen,
    RestoreScreen, GetDirList, Viewer, Editor, CharTable, Text, EditorControl,
    GetPluginDirList, ShowHelp, AdvControl (partially).
    Only the following AdvControl commands are available:
    ACTL_GETFARVERSION, ACTL_GETSYSWORDDIV, ACTL_GETCOLOR, ACTL_GETARRAYCOLOR,
    ACTL_GETFARHWND, ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS,
    ACTL_GETINTERFACESETTINGS, ACTL_GETCONFIRMATIONS, ACTL_GETDESCSETTINGS.

[!] It is now allowed to create a non-modal editor or viewer from a modal one.

[!] It is not allowed to switch from a modal window to another one.

[!] Increased the size of the FAR Manager color palette. New colors for
    DI_LISTBOX and DI_COMBOBOX items have been added.

[!] Renamed the constants CONSOLE_* to FAR_CONSOLE_*, because of a
    conflict with constants in WinCon.h

[+] Two new flags VF_IMMEDIATERETURN and EF_IMMEDIATERETURN allowing a plugin
    to get control immediately after an editor or viewer has been opened.
    The editor or viewer will actually start working after the plugin returns
    control to FAR. Can be used to open multiple editors or viewers at once.

[+] VF_DELETEFILEONCLOSE and EF_DELETEFILEONCLOSE - similar to
    VF_DELETEONCLOSE and EF_DELETEONCLOSE, but only the file is deleted,
    and the folder containing it is not deleted even if it's empty.

[*] Revision in GCCReadme.txt

[-] Character table names returned to plugins through the CharTable()
    function did not match the names shown in the Shift-F8 menu.

[-] FAR modified the data passed by the plugin for the Information
    pane (Ctrl-L).

[*] Added strict checks for the size of the editor and viewer windows
    (parameters X1, Y1, X2, Y2 of the Editor and Viewer functions).


Editor
~~~~~~
[+] ESPT_LOCKMODE - plugins can now set or clear the locked
    (read-only) mode of the internal editor.

[+] ECTL_TURNOFFMARKINGBLOCK - resets the editor flag that is set while
    the user is selecting a block in the editor.

[+] New command ECTL_DELETEBLOCK - delete the selected block in the editor.

[-] Crash in the ECTL_SETSTRING handler if EditorSetString.StringLength
    contained a negative value.


Dialogs
~~~~~~~
[!] Changed the constants COL_DIALOGMENU* to COL_DIALOGLIST*.

[!] Changed the DN_CTLCOLORDLGLIST message. Now Param1 specifies the
    index of the dialog item (DI_LISTBOX, DI_COMBOBOX or an edit control
    with the input history). Param2 points to a FarListColors structure
    describing the color palette of the list.

[+] New flag LIF_DELETEUSERDATA instructing FAR to delete the
    associated data when a list item is updated with a DM_LISTUPDATE
    command. By default, the user data is not deleted when an item is
    updated.

[+] New flag DIF_CENTERTEXT for static elements DI_TEXT and DI_VTEXT.

[+] Two new flags for the DialogEx function:
    FDLG_NODRAWSHADOW - do not draw the dialog shadow
    FDLG_NODRAWPANEL - do not draw the dialog background

[+] The color of the title of a DI_LISTBOX item is now specified as
    COL_DIALOGLISTTITLE.

[*] Changed the behaviour when updating a list (DM_LISTUPDATE):
    user data attached to a list item (DM_LISTSETDATA) is not deleted
    automatically.

[*] DM_SETTEXT (DM_SETTEXTPTR) now work for DI_LISTBOX. The current list
    element is updated. Its user data (DM_LISTSETDATA) is not changed.

[*] For a DI_SINGLEBOX (DI_DOUBLEBOX) with equal X or Y coordinates
    (X1 = X2 or Y1 = Y2), a vertical or horizontal line is drawn
    instead of the box.

[*] If a DIF_SETCOLOR flag is specified for a DI_SINGLEBOX (DI_DOUBLEBOX),
    the lower byte allows to specify the color of the frame.

[*] When the FDLG_SMALLDIALOG flag is specified, the dialog background is
    now drawn.

[*] The default color for the COL_DIALOGLISTDISABLED index is now dark
    gray on white gray.

[-] List boxes with the DIF_LISTNOBOX flag were not displayed correctly.

[-] Hotkeys in DI_LISTBOX lists were not handled.

[-] When a DI_LISTBOX list was active, dialog hotkeys were not handled.

[-] DI_EDIT elements with the DIF_SELECTONENTRY flag set were not drawn
    correctly when they got the input focus.

[-] Long dialog captions were processed incorrectly.

[-] Programmatic toggling (DM_SETCHECK) for a group of radio buttons
    (DI_RADIOBUTTON) was not performed correctly.

[-] The color of separator lines in the dialogs did not match the
    color of border frames.

[-] DM_LISTADDSTR returned an incorrect value of the new list element
    position.

[-] When a DM_LISTSETCURPOS message with FarListPos.TopPos equal to -1
    was sent, the list top position was calculated incorrectly.

[-] Pressing Ctrl-Ins in an input line marked it as changed.

[-] A list box with the height of 1 and the DIF_LISTNOBOX flag was not
    drawn correctly.


Miscellaneous
~~~~~~~~~~~~~
[+] A new flag FIB_NOAMPERSAND for the InputBox() function. If this
    flag is set, ampersands are not shown in the input box prompt but
    are used to define hotkeys instead.

[+] The exported function PutFiles can return the value 2 (success,
    but the cursor should not be positioned to a file).

[+] FCTL_GETPANELSHORTINFO - Similar to FCTL_GETPANELINFO, but the fields
    PanelItems and SelectedItems of the PanelInfo structure are not filled
    and are equal to NULL. This command is used to get general information
    on a panel without retrieving the exact file content.

[+] FCTL_GETANOTHERPANELSHORTINFO - Similar to FCTL_GETPANELSHORTINFO,
    but returns information on the passive panel.

[+] New command FCTL_CHECKPANELSEXIST. Allows to check if the file
    panels are available. When FAR is started with the command line
    parameters /e or /v (as an external editor or viewer), the panels
    are not created.

[+] The function FSF.MkLink updates the panels itself unless the
    flag FLINK_DONOTUPDATEPANEL is specified.

[-] The function FSF.MkLink did not create the symbolic link correctly
    if the full path to a directory was specified as the source.

[+] New command ACTL_SETARRAYCOLOR allowing to change the color palette
    of FAR Manager.

[*] Now, if the panel has an Owner column, the data in this column is
    passed to the plugins when an array of PluginPanelItem structures
    is passed to them. If the Owner column is not shown, the Owner field
    is equal to NULL, like in earlier versions.

[-] The current item in the menus was not drawn correctly if the first
    item in the passed array of items was a separator and the current
    item was not specified (or the separator itself was marked as the
    current item).

[-] Trying to call Message (FMSG_ALLINONE, "\nFoobar") caused a crash of
    FAR (the first character "\n" was used to show a message box without
    a caption)

[-] Incorrect clipping of long titles (the Title parameter) in the
    Message function.

[-] The function FSF.ConvertNameToReal worked incorrectly for the
    current directory.


---------------------------------------------------------------------------
FAR 1.70 beta 4 (build 1282) (13.03.2002)
---------------------------------------------------------------------------

General
~~~~~~~

[!] You should not use the constant FARMANAGERVERSION when
    implementing GetMinFarVersion(). Use the new macro MAKEFARVERSION
    instead.
[!] The definition of the FarDialogItem structure has been changed, in
    order to make it possible to use plugin.hpp with pure C compilers.
[!] The definition of the FarFindData structure has been changed, in
    order to make it possible to achieve correct structure alignment
    with all compilers.
[!] All the fields of the CharTableSet structure, except for TableName,
    now have the type unsigned char.
[!] Removed the limit of 13 elements for the Message function.
[!] The format of HelpTopic for menus, dialogs and message boxes can be:
     1. ":Topic"
        call a FAR help topic
     2. "Topic"
        call a local help topic
     3. "<FullModuleName>Topic"
        call a help topic from the directory where the plugin module
        "FullModuleName" resides.
     4. "<FullPath>Topic"
        call a help topic from the directory "FullPath".
        In this case, "FullPath" MUST be terminated with a backslash
        ('\').
     If the topic is not specified in the cases 3 and 4, the topic
     "Contents" will be substituted.
[+] It is possible to specify tabulation size in .HLF files by inserting a
    line ".Options TabSize=<Size>" in the beginning of a .HLF file. Size
    must belong to the range from 1 to 16. The default tabulation size is
    8.
[+] Two new "keys" for the mouse wheel - KEY_MSWHEEL_UP/KEY_MSWHEEL_DOWN.
[+] New color COL_MENUDISABLEDTEXT - disabled menu item.
[+] FMENU_USEEXT, MIF_*, FarMenuItemEx - "extended" menus.

Panels
~~~~~~
[!] New field Flags in the PanelInfo structure. Also added the flags
    PANELINFOFLAGS.
[+] New field in the PluginPanelItem structure - CRC32.
[+] FCTL_GETCMDLINESELECTION, FCTL_SETCMDLINESELECTION,
    FCTL_GETCMDLINESELECTEDTEXT
[*] GetPluginDirList(): if the parameter hPlugin is equal to
    INVALID_HANDLE_VALUE, the value of the parameter PluginNumber is
    ignored (the number of the active panel plugin is used instead).
[-] The flag OPM_TOPLEVEL was not passed to ProcessHostFile when it
    was required (pressing Shift-F3 on an archive in a file panel).
[-] The filename passed to a plugin in the GetFiles() function was
    truncated to the first dot. This caused the error when MultiArc
    offered to unpack the archive "some.foo.rar" to the directory
    "some\".

Editor
~~~~~~
[!] EditorGetString.StringText and EditorGetString.EditorGetString.StringEOL
    are declared as const.
[+] New flags VF_ENABLE_F6 (for the Viewer function) and EF_ENABLE_F6 (for
    the Editor function) allowing to switch from the viewer or editor
    opened by the respective functions by pressing F6.
[+] ECTL_GETBOOKMARKS, struct EditorBookMarks - information about
    bookmarks in the editor (EditorInfo.BookMarkCount - number of
    bookmarks supported by the editor).
[+] Plugins can use EditorControl/ECTL_SETPARAM to change the current code
    page in the editor.
[+] EditorInfo.CurState - current state of the editor (new flags - ECSTATE_*)
[+] New flag EF_DELETEONCLOSE. Analog of VF_DELETEONCLOSE.
[+] Flag EF_DISABLE_HISTORY in the Editor function - disable adding
    of the filename to the view/edit history (Alt-F11). By default,
    the filename is added to the history.
[*] The event EE_READ is also sent to plugins when a new file is created.
[*] ECTL_READINPUT: while a macro is being executed, a correctly filled
    INPUT_RECORD structure is returned to the plugin.
[!] Now the Viewer() function returns FALSE in case of file open failure
    also when the VF_NONMODAL flag is set.
[-] The command ECTL_QUIT was not handled correctly.

Dialogs
~~~~~~~
[!] Changed the logic of the DN_BTNCLICK message return value for
    DI_BUTTON items. Now the logic is:
    For DI_BUTTON:
      TRUE - the message has been handled, do not continue processing
      by the dialog kernel
      FALSE - continue processing by the dialog kernel
    For other items:
      TRUE - perform the change (and display the user input)
      FALSE - disallow the change
[!] The flag LIF_PTRDATA has been deleted, as it's no longer needed.
    Respectively, the structure FarListItem has been changed.
[!] Text size of FarListItem - 128 bytes + DWORD Reserved [3]
[!] The flag DIF_CENTERGROUP applies only to the following elements:
    DI_BUTTON, DI_CHECKBOX, DI_RADIOBUTTON and DI_TEXT.
[!] DM_GETTEXTLENGTH returns the size of the string not including the
    trailing '\0'.
[+] Dialog messages for working with lists (DI_LISTBOX and DI_COMBOBOX) -
    DM_LISTSORT, DM_LISTGET, DM_LISTGETCURPOS, DM_LISTSETCURPOS, DM_LISTDELETE,
    DM_LISTADD, DM_LISTUPDATE, DM_LISTINFO, DM_LISTFINDSTRING, DM_LISTINSERT
    DM_LISTSETTITLES, DM_LISTGETTITLES
    and corresponding structures.
[+] DM_RESIZEDIALOG - changes the dialog size.
[+] DM_GETCHECK/DM_SETCHECK/DM_SET3STATE/BSTATE_* - operations with
    the state of DI_RADIOBUTTON/DI_CHECKBOX elements.
[+] DM_EDITUNCHANGEDFLAG - allows to control the "unchanged state"
    flag for edit lines.
[+] Now mouse event notifications (DN_MOUSEEVENT) can be optionally sent
    to the dialog callback function. By default, mouse event notifications
    are disabled. (DN_MOUSEEVENT/DM_SETMOUSEEVENTNOTIFY).
[+] DM_GETITEMPOSITION, DM_SETITEMPOSITION - returns and sets the position
    and size of a dialog item.
[+] DM_SETCURSORSIZE, DM_GETCURSORSIZE - allows to control the cursor size
    for an edit line in the dialog
[+] DM_GETDROPDOWNOPENED, DM_SETDROPDOWNOPENED - allow to open and close
    combo boxes and history lists programmatically.
[+] DM_SETHISTORY - allows to change the identifier of the history list
    associated with an edit field.
[+] DN_DRAGGED - notifications about dialog movement
[+] DN_RESIZECONSOLE - notification sent when the size of the FAR console
    window changes.
[+] DIF_SEPARATOR2 - double separator line.
[+] If the flag DIF_LISTWRAPMODE is specified, trying to move the
    cursor up from the first item of the list or down from the last
    item will move the cursor to the last or the first item,
    respectively.
[+] Flags for the DialogEx function:
    FDLG_WARNING - Changes the color scheme of the dialog to the "Warning"
    color scheme.
    FDLG_SMALLDIALOG - Allows to create dialogs with reduced border size.
    For such dialogs, the kernel doesn't draw the dialog background and
    the shadow, and when drawing separators (DIF_SEPARATOR), it is
    assumed that there is no space between the dialog border and the
    double box framing the dialog.
[*] DIF_SHOWAMPERSAND also has effect for DI_BUTTON, DI_CHECKBOX,
    DI_RADIOBUTTON.
[*] Changed the handling of DN_MOUSECLICK outside the dialog borders
    by the standard dialog callback function. Now, if the dialog
    callback function doesn't handle DN_MOUSECLICK with Param1=-1,
    the dialog will be closed.
[*] Now DI_LISTBOX items having the flag DIF_LISTNOBOX and menus having
    the flag VMENU_SHOWNOBOX are drawn without extra whitespace padding
    around the list, allowing to use DI_LISTBOX in dialogs and not worry
    about list box padding erasing the dialog border.
[-] The message DN_EDITCHANGE was not sent to the dialog callback
    function after an item was chosen from the edit history list.
[-] The message DM_SETTEXTLENGTH did not work correctly.
[-] The dialog item DI_USERCONTROL did not work correctly with the cursor.
[-] Fixed crash of FAR Manager that happened if a DM_SETFOCUS message was
    sent in response to a DN_GOTFOCUS event.
[-] The DIF_READONLY flag was not handled correctly.
[-] Coordinates of elements DI_TEXT and DI_VTEXT were calculated
    incorrectly.
[-] Elements with the DIF_NOFOCUS flag were handled incorrectly.

Miscellaneous
~~~~~~~~~~~~~
[!] Changes in FSF.MkTemp:
      - the function, unlike FAR 1.70 beta 3, does not create the file
        on the disk, but only generates the name;
      - the first four characters of the prefix are now used.
[!] The function FSF.ExpandEnvironmentStr works with strings in the
    OEM codepage.
[+] New flag EJECT_LOAD_MEDIA for ACTL_EJECTMEDIA.
[+] ACTL_GETWINDOWCOUNT,ACTL_GETWINDOWINFO,ACTL_SETCURRENTWINDOW and
    ACTL_COMMIT, struct WindowInfo - functions to manipulate the "windows"
    of FAR Manager.
[+] ACTL_POSTKEYSEQUENCE - post a sequence of keys to be executed
    later (when FAR Manager gets the control).
[+] ACTL_GETFARHWND - returns the handle (HWND) of the current FAR window.
[+] ACTL_GET*SETTINGS - commands allowing plugins to retrieve
    information about some FAR Manager settings.
[+] New function in FSF: MkLink. Supports creating hard links,
    symbolic links and mounting drives to the file system.
[+] The function FSF.ConvertNameToReal() converts a relative name of a
    file object to a full name and expands symbolic links (Windows 2000
    reparse points).
[+] New function FSF.GetReparsePointInfo()
    The function allows to obtain the information about the source of the
    specified symbolic link (the path to the source drive and directory).
    The function works only under Windows 2000 or later.
    Unlike ConvertNameToReal, this function can only be used for symbolic
    links.
[*] The Unquote() function removes all quotation marks from a string.
[*] FarRecursiveSearch has been improved:
    1. Added checks for invalid parameters.
    2. Now handling of directories does not depend on the file mask.
    3. All standard features of FAR file masks (brackets, enumerations)
       are supported. You may specify several file masks separated with
       commas or semicolons, you may also specify exclude file masks,
       masks can be enclosed in quotes.
[*] FSF.FarInputRecordToKey: The parameter now has a "const" modifier.
[-] The function GetMinFarVersion() was not called for plugins with
    the PF_PRELOAD flag and for the plugins that had been cached.
[-] When executing a macro in the menu, the values of the BreakKeys
    array passed to the Menu function were ignored.

---------------------------------------------------------------------------
FAR 1.70 beta 3 (build 591) (19.04.2001)
---------------------------------------------------------------------------
[+] DIF_VAREDIT - "breaking of the 512-byte barrier" - works for DI_EDIT
    and DI_COMBOBOX controls.

[!] [!] In plugin.hpp, the "const" modifier has been added for the
    unchangeable parameters of some exported and service functions. This
    gives the following advantages:
    1) additional compiler checking, preventing modification of
       parameters that must not be modified;
    2) facilitating code optimization (both for the compiler and for
       the programmer) by removing the need to track possible changes of
       the data passed into a function through a pointer.
    When recompiling plugins, please make sure that exported functions
    are declared correctly.

[!] Changed the FarListItem structure (possibility of working with "long
    data").

[+] Added flag LIF_PTRDATA - for working with "long data". The flag
    applies only to items in a DI_COMBOBOX list.

[!] Changed the values of LISTITEMFLAGS (LIF_*) - the values for
    LIF_SELECTED, LIF_CHECKED and LIF_SEPARATOR have been shifted to the
    lower byte of the upper word, and LIF_DISABLE has been shifted "down".

[!] Changed field names in the FarDialogItemData structure.

[+] It is now possible to handle a double click event through the
    DN_MOUSECLICK message (MouseEvent.dwEventFlags==DOUBLE_CLICK).

[!] Significant revamping of the internal key codes (farkeys.hpp).

[+] ACTL_EJECTMEDIA - ejects a disk from a removable drive.

[+] DM_GETTEXTPTR is similar to DM_GETTEXT, but Param2 contains
    a pointer to the receiver string.

[+] DM_SETTEXTPTR is similar to DM_SETTEXT, but Param2 contains
    a pointer to the source string.

[!] Ctrl-Break can now be controlled. Earlier the dialog was closed
    unconditionally, regardless of what the callback function
    returned on the DM_CLOSE message.

[+] The DIF_SHOWAMPERSAND flag can be used for DI_SINGLEBOX and
    DI_DOUBLEBOX items.

[-] Calling the ECTL_SETKEYBAR command from the EE_READ editor event
    handler crashed the FAR manager.

[+] ACTL_KEYMACRO:
    struct ActlKeyMacro - the interface part for ACTL_KEYMACRO
    MCMD_LOADALL     - load all macros from the registry into the FAR
                       memory
    MCMD_SAVEALL     - save all macros from the registry into the FAR
                       memory

[-] The input focus was not set correctly when using DM_SETDLGITEM.

[+] DIF_HIDDEN - makes a control invisible

[+] DM_SHOWITEM - show or hide a control

[!] Extended the syntax of the Message function (see Plugins.hlp for
    details).

[-] The message EE_REDRAW was not sent after pressing Ctrl-P and Ctrl-M in
    the editor.

[*] If the dialog callback function returned FALSE in response to a
    DN_DRAWDIALOG message, the entire dialog will not be drawn.

[*] If the dialog callback function returned FALSE in response to a
    DN_DRAWDLGITEM message, the dialog item will not be drawn.

[+] FSF.qsortex - unlike FSF.qsort, passes a third parameter to the compare
    function:
    void qsortex(void *base, size_t nelem, size_t width,
           int (__cdecl *fcmp)(void *, void *,void *userparam),
           void *userparam);

[+] New flag EF_CREATENEW for the Editor function - analog of Shift+F4

[!] FSF.FarRecursiveSearch - added parameter void *param

[+] FAR knows about 4 predefined help topics in HLF files:
    Contents - the standard main topic;
    Config   - the topic invoked by pressing Shift-F1 in the plugins
               configuration menu;
    Editor   - the topic invoked by pressing Shift-F1 in the plugins menu
               of the editor;
    Viewer   - the topic invoked by pressing Shift-F1 in the plugins menu
               of the viewer.

[+] New flag FHELP_USECONTENTS for the ShowHelp function - if the given
    topic is not found, shows the topic "Contents".

[*] ACTL_GETFARVERSION returns the version number, and not TRUE/FALSE. NULL
    can be passed in the Param parameter.

[*] ACTL_WAITKEY waits for any key if NULL or -1 is passed in the parameter
    Param.

[+] ECTL_SETPARAM - allows to set editor parameters:
     - Tab size (ESPT_TABSIZE)
     - Expand tabs to spaces (ESPT_EXPANDTABS)
     - Auto indent (ESPT_AUTOINDENT)
     - Cursor beyond end of line (ESPT_CURSORBEYOUNDEOL)
     - The format of the current character code (ESPT_CHARCODEBASE)

[-] If the user tried to edit a read-only file and cancelled the editor when
    a warning dialog appeared, plugins that processed editor events received
    an unneeded event EE_CLOSE.
    Fixed.

[+] New message DM_ADDHISTORY - adds an item to an edit line history.

[+] New flag DIF_MANUALADDHISTORY - disables automatic adding of
    items to an edit line history.


---------------------------------------------------------------------------
FAR 1.70 beta 2 (build 321) (16.12.2000)
---------------------------------------------------------------------------
[!] Plugins.hlp - contains clarifications in some articles.
[!] Changes in Param2 for messages DM_SETTEXT and DM_GETTEXT.
    Now they use pointers to FarDialogItemData structure.
[-] It was not possible to read the help file in operating systems with
    a locale different from 419 (Russian).
[-] The operation logic of disabled controls in extended dialogs has been
    corrected.
[+] 6 new colors are added for DISABLED items (in dialogs and warning
    messages). See Headers.c\farcolor.hpp (or Headers.pas\farcolor.pas).
[+] DIF_3STATE - 3-state checkbox (on=1/off=0/undefined=2)
[!] The DIF_EDITEXPAND flag is no longer processed by DI_PSWEDIT and
    DI_FIXEDIT controls.
[+] ACTL_GETCOLOR, ACTL_GETARRAYCOLOR - return current color settings.
[-] The logic of Enter key is corrected in extended dialogs.
[!] The AddEndSlash function works with both types of slashes and replaces
    the existing trailing slash with the type of slashes that was used
    more often.
[*] The function memmove() is now used to convert FarDialogItem.Data to
    the internal representation (this prevents the loss of user data).
[!] The version format changed - the constant in plugin.hpp::FARMANAGERVERSION
    has the following format:
       HIWORD:         = NNN - # build
       LOWORD:  HIBYTE =   1 - version Hi
                LOBYTE =  70 - version Lo

---------------------------------------------------------------------------
FAR 1.70 beta 1 (272) (21.11.2000)
---------------------------------------------------------------------------
[!] New/changed header files:
       farcolor.hpp  - Color attributes indexes.
       farkeys.hpp   - FAR manager internal key codes.
       fmt.hpp       - is moved from MultiArc.
[!] Alignment = 2.
[+] "Standard functions" - for reducing plugins size -
     the FarStandardFunctions structure.
[+] New export function - GetMinFarVersion().
[+] URL-activators and color attributes in HLF-files.
[+] New standard functions:
    AdvControl, ShowHelp, InputBox
[!] A plugin can have several command line prefixes, separated with ":"
    and use full command line processing (with prefix) - PF_FULLCMDLINE.
[+] processing of FCTL_*SORTMODE, FCTL_*SORTORDER.
[!] Changes in PluginStartupInfo structure.
[*] Changed the behavior of EE_REDRAW.
[+] Additional fields in the KeyBarTitles structure:
    CtrlShiftTitles, AltShiftTitles,  CtrlAltTitles.
[+] Non-modal editor - flag EF_NONMODAL.
[+] Setting the key bar in the editor - ECTL_SETKEYBAR.
[+] Dialog API 1.0 - a full-featured solution for creating dialogs:
    DialogEx, SendDlgMessage, DefDlgProc.
[+] New dialog items DI_COMBOBOX, DI_LISTBOX, DI_USERCONTROL.
[+] DIF_EDITEXPAND, DIF_DROPDOWNLIST, DIF_USELASTHISTORY, DIF_BTNNOCLOSE,
    DIF_MASKEDIT, DIF_DISABLE.
[+] Input fields with fixed length can have an input mask.
[+] Additional field in PluginInfo structure.
[+] Structures: FarListItem, FarList.
[+] Header files for Pascal/Delphi


                                     [ FAR manager development group ]
