# What's new in Far Manager Encyclopedia 1.75 SR2555?

### 7 October 2009

- Macro: checkhotkey function refined.

### 8 June 2009

- Process of going out of limits of "just API description" has begun...
  New file names FarEncyclopedia.en.chm and FarEncyclopedia.ru.chm.

### 1 April 2009

- Added flags LIF_HIDDEN, LIF_GRAYED, MIF_HIDDEN, MIF_GRAYED.
- Color palette now contains 10 more colors.

### 4 March 2009

- Macro: Eval function now has a second parameter, allowing just to check macro sequence for correctness. Also, function return codes are described.

### 3 March 2009

- Macro: Menu.Select function returns -1, if not called from the menu.

### 2 March 2009

- Macro: macros can be assigned to mouse buttons. These constants can be used in macro sequences: MsX, MsY, MsButton, MsCtrlState.

### 24 February 2009

- Macro: new function atoi - converts number from string representation into numeric.

### 23 January 2009

- Macro: additions and adjustments in editor.sel function - it now works in the editor, dialog edit lines, and command line.
- Fixed errors in ECTL_SELECT:
  - block highlight was always cleared, even if parameters were incorrect
  - block highlight was always cleared, even if specified string (BlockStartLine) was absent (BlockStartLine was greater than number of strings in editor)
  - if BlockHeight was greater than number of strings in editor (i.e. try to highlight a block by specifying the last line, with BlockHeight equal to 10), EditorControl returned FALSE, though the block was highlighted.
  - when BlockWidth was equal to -1, the block highlight transaction for BTYPE_COLUMN was incoplete - that could cause various problems with blocks.

### 16 January 2009

- Macro: waitkey function has a second optional parameter - type of returned value
- Macro: new function editor.sel handles blocks in text.
- Macro: new function key converts the value V into string equivalent of the key name.
- Macro: Named keys (i.e. CtrlK) can be present in any expressions; in this case they are treated as numbers.

### 26 November 2008

- A new color was added to the palette - COL_EDITORSCROLLBAR.

### 6 November 2008

- Dialogs with FDLG_SMALLDIALOG flag are drawn with shadow now. To disable shadow drawing, set FDLG_NODRAWSHADOW flag.

### 24 September 2008

- New flags for MkLink function: FLINK_SYMLINKFILE, FLINK_SYMLINKDIR allow Windows Vista/2008 symbolic links creation. FLINK_SYMLINK flag renamed into FLINK_JUNCTION.

### 11 August 2008

- User screen color is added to color palette.

### 06 August 2008

- Macro: CtrlBreak combination breaks macro execution.
- Macro: Added function S=trim(S[,Mode]) - removes all whitespace symbols.
- Viewer API: VCTL_GETINFO command returned WindowSizeY value that was less by 1 than the real value.

### 19 June 2008

- Macro: Now Dlg.ItemType returns the same value as Dlg.GetValue(XXX,1).

### 17 June 2008

- Viewer API: added two events VE_GOTFOCUS and VE_KILLFOCUS.

### 15 May 2008

- New constants in FarDialogSettings enum: FDIS_DELREMOVESBLOCKS ("Del removes blocks in edit controls") and FDIS_MOUSECLICKOUTSIDECLOSESDIALOG ("Mouse click outside a dialog closes it").

### 3 April 2008

- Macro: added functions to handle stack bookmarks BM.XXX().

### 30 March 2008

- 6 new EditorControl commands for navigation positions ("stack bookmarks") control in editor:
  ECTL_ADDSTACKBOOKMARK, ECTL_CLEARSTACKBOOKMARKS and ECTL_DELETESTACKBOOKMARK - creating and deleting navigation positions,
  ECTL_GETSTACKBOOKMARKS - receiving navigation positions information,
  ECTL_NEXTSTACKBOOKMARK and ECTL_PREVSTACKBOOKMARK - navigation in editor

### 29 March 2008

- new panel flag: PFLAGS_PANELLEFT.

### 27 March 2008

- Macro: added "Consts" macro area to store named constants.

### 25 March 2008

- Colors for long string markers in menus, lists and combo lists were added to color palette.
- Macro: Added "Editor.RealPos" constant - current cursor position in the string in editor (tab size independent).
- Macro: Some functions can have optional parameters.
- Macro: New prompt function - allows to input one text string.

### 11 March 2008

- Macro: New V=akey(N) function - returns name or code of the key that initiated the macro.

### 31 December 2007

- API: New command ACTL_REDRAWALL - redraw all FAR windows.

### 23 December 2007

- Plugins menu can be opened from a dialog.
- Plugin can export ProcessDialogEvent function to process dialog events.

### 14 December 2007

- Macro: Added function Result=replace(Str,Find,Replace,Cnt).
- API: New MCMD_GETSTATE command for ACTL_KEYMACRO, returns macro engine work status.
- Macro: Menu.Select function now has two parameters.

### 6 December 2007

- 2 new events for panel plugins: FE_GOTFOCUS and FE_KILLFOCUS.
- 2 new events for editor plugins: EE_GOTFOCUS and EE_KILLFOCUS.
- In dialogs, immediately after DN_INITDIALOG, DN_GOTFOCUS is fired for the element with Focus=1.

### 4 December 2007

- Macro: Added function n=mod(n1,n2).
- Macro: Added function N=Menu.Select(S). Selects the first item that contains S.
- New flag DIF_NOAUTOCOMPLETE for edit strings - disables autocomplete.

### 12 October 2007

- Macro: Added constant "MacroArea" - returns the name of current Macro area.
- Macro: Bof/Eof/Empty/Selected in panels like QView/Info/Tree return values for these types of panels. For regular panels, values are returned for command line.

### 13 September 2007

- Now when DI_COMBOBOX is open, DN_KEY or DN_MOUSEEVENT events are sent to the dialog procedure. This behavior can be controlled using events DM_SETCOMBOBOXEVENT and DM_GETCOMBOBOXEVENT.

### 30 August 2007

- Bug: Macro: If menu item does not contain hot key, GetHotkey() returns "0" instead of "".
- Macro: Added command $SelWord - selects a word.
- Bug: Macro: Some variables did not work in QuickView and Infopanel: ItemCount, CurPos, Selected, Bof, Eof were always equal to 0; Empty was always equal to 1.

### 7 August 2007

- Bug: If a plug-in disabled the mouse cursor tracking reaction (LMRT_NEVER) for a list, the dialog procedure did not get DN_MOUSECLICK event for mouse double click (Mantis#0000309).
- In the PluginPanelItem structure, FAR_FIND_DATA structure was used instead of WIN32_FIND_DATA. _FAR_USE_WIN32_FIND_DATA macro should be used instead of _FAR_USE_FARFINDDATA.

### 23 July 2007

- Added commands DM_GETEDITPOSITION and DM_SETEDITPOSITION - line position control within edit strings and dialogs.

### 5 July 2007

- Macro: Added function gethotkey.
- Macro: Variables beginning with a number (such as %3DO) were not processed.
- Bug: DM_LISTGETCURPOS retrned wrong value after opening a ComboBox, moving through the list and cancelling (pressing Esc).

### 31 May 2007

- Macro: Added function Panel.SetPosIdx - File panel positioning using index.

### 10 May 2007

- Macro: new functions asc() and chr.

### 23 March 2007

- Macros in the Registry can have REG_MULTI_SZ type.
- Added flag KSFLAGS_REG_MULTI_SZ.

### 14 March 2007

- After calling EditorControl(ECTL_SELECT) with BlockStartLine = -1, next call to ECTL_GETINFO also returned -1 in BlockStartLine.

### 13 March 2007

- Macro: new functions waitkey() and eval.

### 20 February 2007

- Added flag DIF_NOTCVTUSERCONTROL for DI_USERCONTROL.

### 7 February 2007

- Macro: new words APanel.ColumnCount and PPanel.ColumnCount.

### 30 January 2007

- New command: FCTL_GETUSERSCREEN.

### 25 January 2007

- For DI_VTEXT element, added handling of flags: DIF_CENTERGROUP, DIF_SEPARATOR, DIF_SEPARATOR2, DIF_SHOWAMPERSAND.
- In DefDlgProc handler, DIF_BTNNOCLOSE flag was not handled for DN_BTNCLICK event.
- Incorrect DI_TEXT element drawing for conditions: DIF_CENTERTEXT + DIF_SEPARATOR + X1 not equal to "-1"

### 24 January 2007

- Rules regarding X2 and Y2 coordinates in the dialog elements are hardened. Y2 should be always set, do not use 0.

### 18 January 2007

- EE_CLOSE event was not fired for "?New File?".
- Incorrect color drawing for information dialog when FMSG_WARNING flag was used in a Message function without buttons.

### 27 December 2006

- Macro: New states Help.FileName, Help.Topic and Help.SelTopic.
- The command ACTL_GETWINDOWINFO now fills the Name field for help windows - contains the full path to the HLF file.

### 01 December 2006

- Viewer API: Structure member ViewerMode.TypeWrap renamed to ViewerMode.WordWrap
- Viewer API: Added command VCTL_SETMODE.

### 23 November 2006

- Macro: $AKey.

### 21 November 2006

- Bringing the API to 64bit compatibility:
  - DlgProc: long Param2 -> LONG_PTR Param2 and returns LONG_PTR instead of long
  - SendDlgMessage: long Param2 -> LONG_PTR Param2 and returns LONG_PTR instead of long
  - DefDlgProc: long Param2 -> LONG_PTR Param2 and returns LONG_PTR instead of long
  - DialogEx: long Param -> LONG_PTR Param
  - FarMenuItemEx: DWORD UserData -> DWORD_PTR UserData
  - PluginPanelItem: DWORD UserData -> DWORD_PTR UserData
  - AdvControl: returns INT_PTR instead of int
  - OpenPlugin: int Item -> INT_PTR Item

### 20 September 2006

- Macro: fexist() understands file mask symbols '*' and '?'.
- Macro: If the name contains '*' or '?', then fattr() will return the attributes of the first found file.
- Macro: fexist() and fattr() do not longer work with the panels, new functions were added to work with the panels: panel.fexist() and panel.fattr().

### 25 August 2006

- Corrected the description of the DN_BTNCLICK event for DI_RADIOBUTTON.

### 29 July 2006

- New function: FSF.snprintf.

### 20 June 2006

- Macro function "N=sleep(N)".
- Macro constant "Far.Height".
- Macro constant "Far.Title".
- Macro constant "Title".
- Macro constant "Drv.ShowPos".
- Macro constant "Drv.ShowMode".

Long history, API history